/* TLSM Orbital Universe v1.1.68 — layers are pointer-events:none, fixed/absolute only (no layout shift) */
.orb-field{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2;opacity:0;mix-blend-mode:screen;transition:opacity .4s}
.orb-route{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:2;overflow:visible;mix-blend-mode:screen}
.orb-route-line{fill:none;stroke:#3DBFAE;stroke-width:1.4;stroke-linecap:round;opacity:.55}
.orb-route-glow{fill:none;stroke:#4A9FD4;stroke-width:6;opacity:.14;filter:blur(4px)}
.orb-star{fill:#0E3247;stroke:#3DBFAE;stroke-width:1.2;opacity:.4;transition:opacity .5s,fill .5s}
.orb-star.lit{fill:#3DBFAE;opacity:1;filter:drop-shadow(0 0 6px #3DBFAE)}
/* scan-line heading lock-in */
.orb-scan{position:relative}
.orb-on:not(.orb-rm) .orb-scan:not(.orb-locked){clip-path:inset(0 0 100% 0)}
.orb-on:not(.orb-rm) .orb-scan.orb-locked{animation:orbLock .7s cubic-bezier(.2,.8,.2,1) both}
.orb-on:not(.orb-rm) .orb-scan.orb-locked::after{content:"";position:absolute;left:-2%;right:-2%;height:2px;top:0;background:linear-gradient(90deg,transparent,#3DBFAE,#EDE4D3,#3DBFAE,transparent);box-shadow:0 0 14px #3DBFAE;animation:orbScan .7s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}
@keyframes orbLock{0%{clip-path:inset(0 0 100% 0);letter-spacing:.06em;filter:blur(1px)}70%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0);filter:none}}
@keyframes orbScan{0%{top:0;opacity:1}85%{top:100%;opacity:1}100%{top:100%;opacity:0}}
/* gravity cards */
.orb-card{position:relative;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;will-change:transform}
.orb-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(237,228,211,.10),transparent 60%);
  border:1px solid transparent;-webkit-mask:linear-gradient(#000,#000);z-index:1}
.orb-card:hover::after{opacity:1}
.orb-card:hover{box-shadow:0 18px 50px -18px rgba(61,191,174,.45),0 0 0 1px rgba(61,191,174,.35)}
.orb-float{animation:orbFloat 6.5s ease-in-out infinite}
@keyframes orbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
/* orbit cursor */
.orb-cursor,.orb-cursor-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:99999;border-radius:50%}
.orb-cursor{width:30px;height:30px;border:1.5px solid rgba(61,191,174,.85);box-shadow:0 0 12px rgba(61,191,174,.35),inset 0 0 8px rgba(61,191,174,.2);opacity:0;transition:opacity .25s,border-color .25s,background .25s,width .25s,height .25s}
.orb-cursor.in{opacity:1}.orb-cursor.off{opacity:0}
.orb-cursor.hot{background:rgba(61,191,174,.08)}
.orb-cursor.pull{border-color:#EDE4D3;background:rgba(61,191,174,.12);box-shadow:0 0 26px rgba(61,191,174,.6),inset 0 0 14px rgba(61,191,174,.35)}
.orb-cursor.press{border-width:3px}
.orb-cursor-dot{width:4px;height:4px;background:#3DBFAE}
.orb-pulled{transition:transform .25s cubic-bezier(.2,.8,.2,1)!important}
/* local universe hero */
.orb-uhost{position:relative}
.orb-universe{position:absolute;left:50%;top:-214px;width:min(116%,660px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;z-index:0}
.orb-uhost>*:not(.orb-universe){position:relative;z-index:1}
.orb-universe svg{width:100%;height:100%;overflow:visible}
.ou-ring{fill:none;stroke:rgba(61,191,174,.18);stroke-width:1;stroke-dasharray:2 6;transform:scaleY(.5)}
.ou-ring2{stroke:rgba(74,159,212,.2)}.ou-ring3{stroke:rgba(61,191,174,.08);stroke-dasharray:none}
.ou-halo{opacity:.5;animation:ouBreath 4s ease-in-out infinite}
.ou-core{fill:#3DBFAE;filter:drop-shadow(0 0 10px #3DBFAE)}
.ou-core-t{fill:#EDE4D3;font:600 11px Inter,sans-serif;letter-spacing:.18em}
.ou-link{stroke:rgba(61,191,174,.28);stroke-width:1}
.ou-pulse{fill:#EDE4D3;filter:drop-shadow(0 0 5px #3DBFAE)}
.ou-n{fill:#0E3247;stroke:#3DBFAE;stroke-width:2}.ou-nh{fill:none;stroke:rgba(74,159,212,.35);stroke-width:1}
.ou-node text{fill:#EDE4D3;font:600 12px Inter,sans-serif;letter-spacing:.06em;paint-order:stroke;stroke:#06090F;stroke-width:3px}
@keyframes ouBreath{50%{opacity:.85}}
@media(max-width:1100px){.orb-universe{width:min(108%,560px)}}
@media(max-width:899px){.orb-universe{display:none}}
@media(prefers-reduced-motion:reduce){.orb-field,.orb-route,.orb-cursor,.orb-cursor-dot{display:none!important}.orb-card,.orb-float,.ou-halo{animation:none!important;transform:none!important}}
/* v1.1.68 lines behind text: readable content paints above the particle field + constellation route */
.orb-field,.orb-route{z-index:1}
.orb-on :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,label,figcaption,dt,dd,.btn,button,input,select,textarea,form,table,.s-title,.sec-title){position:relative;z-index:3}
.orb-on .orb-universe .ou-node text{position:static}

/* v1.1.70 custom cursor replaces the native arrow on desktop */
html.orb-nocursor, html.orb-nocursor *{cursor:none!important}
html.orb-nocursor input, html.orb-nocursor textarea, html.orb-nocursor select, html.orb-nocursor [contenteditable], html.orb-nocursor iframe{cursor:auto!important}
html.orb-nocursor input[type=submit], html.orb-nocursor input[type=checkbox], html.orb-nocursor input[type=radio]{cursor:none!important}
html.orb-nocursor .orb-cursor-dot{width:7px;height:7px;background:#EDE4D3;box-shadow:0 0 0 2px rgba(61,191,174,.9),0 0 10px rgba(61,191,174,.8)}
@media (pointer:coarse){html.orb-nocursor, html.orb-nocursor *{cursor:auto!important}}

/* ==== v1.1.71 LUXE SYSTEM — one restrained layer: calmer motion, contrast guarantees, face-safe crops ==== */
:root{--lx-ease:cubic-bezier(.22,1,.36,1);--lx-slow:1.1s;--lx-mid:.5s;--lx-space:clamp(4.5rem,9vw,8rem);--lx-measure:62ch;--lx-cream:#EDE4D3;--lx-teal-on-cream:#17665C;--lx-ink:#06090F}
/* Headings are never hidden waiting on JS: scan becomes a soft hairline sweep only */
.orb-on:not(.orb-rm) .orb-scan:not(.orb-locked),.orb-on:not(.orb-rm) .orb-scan.orb-locked{clip-path:none!important;animation:none!important}
.orb-on:not(.orb-rm) .orb-scan.orb-locked::after{height:1px!important;box-shadow:none!important;opacity:.0;animation:orbScan 1.4s var(--lx-ease) both!important;background:linear-gradient(90deg,transparent,rgba(61,191,174,.6),transparent)!important}
/* Slower, shorter-travel reveals */
.rv{transform:translateY(14px);transition:opacity var(--lx-slow) var(--lx-ease),transform var(--lx-slow) var(--lx-ease)}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4,.rv-d5,.rv-d6{transition-delay:.3s}
/* Quiet hovers: lift 1-2px, no bounce */
.btn-teal,.btn-line,.btn-ink,.btn-ghost-navy,.btn-ghost-cream,.gbadge{transition:background-color var(--lx-mid) var(--lx-ease),color var(--lx-mid) var(--lx-ease),border-color var(--lx-mid) var(--lx-ease),box-shadow var(--lx-mid) var(--lx-ease),transform var(--lx-mid) var(--lx-ease)!important}
.btn-teal:hover,.btn-line:hover,.btn-ink:hover{transform:translateY(-1px)!important}
.magnetic{transform:none!important}
.orb-card{transition:transform .8s var(--lx-ease),box-shadow .8s var(--lx-ease);will-change:auto}
.orb-card:hover{box-shadow:0 22px 60px -28px rgba(61,191,174,.35),0 0 0 1px rgba(61,191,174,.22)}
.orb-route-line{stroke-width:1;opacity:.35}.orb-route-glow{opacity:.06}
/* Reading rhythm */
.deck,.flare-stats-deck,.s p:not([class*="btn"]){max-width:var(--lx-measure)}
.deck,.flare-stats-deck{line-height:1.75}
h1,h2,.cta-h2,.ilm-h,.pm-h{text-wrap:balance}
p{text-wrap:pretty}
/* Contrast guarantees (WCAG AA) */
:where(.nav,header) a[href^="tel:"]{color:var(--lx-cream)}
:is(.flare-stats,.why-s,.proof-s,.audit-s,.cta-s,.cta-inner,.ilm-right,.pop-modal) a[href^="tel:"]:not([class*="btn"]){color:var(--lx-teal-on-cream)!important}
.proof-s .gbadge,.proof-s .gbadge .arrow{color:var(--lx-teal-on-cream)!important;border-color:rgba(23,102,92,.45)!important}
.ilm-micro{color:#5E5648!important}
.cta-s .btn-ink,.cta-s .btn-ink .arrow{color:var(--lx-ink)!important}
/* Face-safe crops: bias cover-crops toward the upper third where faces live */
:where(.home-face-card,.flare-stat-card,.proof-s,.problem-s,.audit-s,.tlsm-lp-hero,.tlsm-wwh-card) img{object-position:50% 25%}
/* Sitewide orbit halo */
.orb-halo{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden;opacity:.55;mix-blend-mode:screen}
.orb-halo svg{position:absolute;left:50%;top:50%;width:min(140%,1700px);height:auto;transform:translate(-50%,-50%) rotate(-8deg)}
.oh-r{fill:none;stroke:rgba(61,191,174,.22);stroke-width:.8}.oh-r2{stroke:rgba(237,228,211,.12)}
.oh-b{fill:#EDE4D3;filter:drop-shadow(0 0 4px #3DBFAE)}.oh-b2{fill:#3DBFAE}
.oh-spin{transform-origin:0 0;transform:scaleY(.32);animation:ohSpin 140s linear infinite}.oh-spin2{animation-duration:200s;animation-direction:reverse}
@keyframes ohSpin{from{transform:scaleY(.32) rotate(0)}to{transform:scaleY(.32) rotate(360deg)}}
.orb-hhost{isolation:isolate}
@media(max-width:820px){.orb-halo{opacity:.35}}
@media(prefers-reduced-motion:reduce){.oh-spin{animation:none}.rv{transition:none;transform:none}.orb-scan::after{display:none}}
/* v1.1.71 deep field: dim layers + depth fog/vignette (horizon glow low, like approaching a planet) */
.orb-field{transition:opacity 1.2s}
.orb-fog{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity 1.2s;
background:radial-gradient(120% 70% at 50% 118%,rgba(61,191,174,.07) 0%,rgba(14,50,71,.10) 35%,transparent 62%),radial-gradient(150% 110% at 50% 45%,transparent 72%,rgba(6,9,15,.22) 100%)}
@media(prefers-reduced-motion:reduce){.orb-fog{display:none!important}}
.fb-logo-img{width:auto!important;max-width:min(238px,100%)!important;height:auto!important}
