@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@1&display=swap');
:root{--deep:#001426;--navy:#002442;--blue:#004689;--teal:#00B4A9;--mint:#B9F199;--white:#f7fbff;--ink:#dff7ff;--muted:#a9bfca;--line:rgba(185,241,153,.2);--card:rgba(3,37,66,.76);--max:1160px;font-family:"Open Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,var(--navy),var(--deep) 42%,#00111f);color:var(--white)}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 80% 4%,rgba(185,241,153,.16),transparent 34rem),radial-gradient(circle at 10% 10%,rgba(0,180,169,.17),transparent 28rem)}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 42px));margin:auto}.display{font-family:Outfit,Inter,system-ui,sans-serif;letter-spacing:-.045em;line-height:1.02;font-weight:600}.eyebrow{display:inline-flex;gap:.55rem;align-items:center;color:var(--mint);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:850}.eyebrow:before{content:"";width:26px;height:2px;background:var(--teal);box-shadow:0 0 18px var(--teal)}header{position:sticky;top:0;z-index:20;background:rgba(0,24,45,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{height:32px}.navlinks{display:flex;gap:22px;color:#d9eef6;font-size:.86rem;font-weight:750}.navlinks a:hover{color:var(--mint)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:850;border:1px solid rgba(255,255,255,.14);white-space:nowrap}.primary{background:linear-gradient(135deg,var(--teal),#4bd6bf);color:#001d2f;box-shadow:none}.secondary{background:rgba(255,255,255,.07);color:var(--white)}.hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);isolation:isolate;background:linear-gradient(90deg,rgba(0,20,38,.98) 0%,rgba(0,26,48,.93) 34%,rgba(0,34,61,.62) 58%,rgba(0,20,38,.22) 100%)}.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,20,38,.96) 0%,rgba(0,20,38,.92) 42%,rgba(0,20,38,.28) 64%,rgba(0,20,38,.02) 100%),url('assets/geosphere-hero-bg-brand-v4.svg') center right/cover no-repeat;opacity:.96}.hero:after{content:"";position:absolute;right:7vw;top:18%;width:44vw;height:44vw;max-width:620px;max-height:620px;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(185,241,153,.28),rgba(0,180,169,.13) 38%,transparent 69%);filter:blur(2px);animation:heroSignal 12s ease-in-out infinite alternate}.hero-grid{position:relative;z-index:1;min-height:620px;display:grid;grid-template-columns:1fr .82fr;gap:50px;align-items:center;padding:54px 0}.hero-copy{max-width:720px}h1{font-size:clamp(2.05rem,3.45vw,4.05rem);margin:16px 0 18px;text-wrap:balance}.lead{font-size:clamp(1rem,1.15vw,1.15rem);line-height:1.65;color:#d8edf5;max-width:670px}.sub{font-size:.98rem;line-height:1.65;color:var(--muted);max-width:620px}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:26px}.proof-card{padding:26px;border-radius:8px;background:linear-gradient(160deg,rgba(3,37,66,.78),rgba(0,24,45,.54));border:1px solid var(--line);box-shadow:0 12px 36px rgba(14,22,34,.12);}.proof-card h2{font-size:1.78rem;margin:12px 0;letter-spacing:-.04em}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.stat{border-radius:8px;padding:15px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.stat b{display:block;color:var(--mint);font-size:1.4rem;letter-spacing:-.05em}.stat span{font-size:.74rem;color:#c8dae2;text-transform:uppercase;letter-spacing:.08em}section{padding:72px 0}.section-head{display:grid;grid-template-columns:.86fr 1.14fr;gap:40px;align-items:end;margin-bottom:34px}h2{font-size:clamp(1.55rem,2.45vw,2.75rem);margin:10px 0 0}.section-head p,.body-copy{color:#c2d6de;line-height:1.68;font-size:1.03rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{border-radius:8px;padding:25px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.1);min-height:250px}.card h3{font-size:1.24rem;margin:10px 0 12px;letter-spacing:-.03em}.card p,.card li{color:#c7dbe3;line-height:1.62}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sector-card{border-radius:8px;min-height:320px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;border:1px solid rgba(185,241,153,.16);background:#041f38}.sector-card:before{content:"";position:absolute;inset:0;background:var(--img) center/cover no-repeat;opacity:.44;transition:.5s}.sector-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,20,38,.12),rgba(0,20,38,.92) 72%)}.sector-card>*{position:relative;z-index:1}.sector-card:hover:before{transform:scale(1.06);opacity:.56}.sector-card h3{font-size:1.35rem;line-height:1.15;margin:12px 0}.sector-card p{color:#d2e6ec;line-height:1.52;font-size:.94rem}.pill{display:inline-flex;width:max-content;border-radius:999px;padding:8px 11px;background:rgba(0,24,45,.76);border:1px solid rgba(185,241,153,.24);color:var(--mint);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.band{background:linear-gradient(180deg,rgba(0,70,137,.24),rgba(0,20,38,.18));border-block:1px solid rgba(255,255,255,.07)}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.visual{min-height:360px;border-radius:8px;background:linear-gradient(135deg,rgba(0,180,169,.18),rgba(185,241,153,.08)),url('assets/geosphere-higgsfield-hero.webp') center/cover;border:1px solid rgba(255,255,255,.1);box-shadow:0 32px 90px rgba(0,0,0,.28)}.index-visual{background:linear-gradient(135deg,rgba(0,180,169,.18),rgba(185,241,153,.08)),url('assets/geosphere-higgsfield-hero.webp') center/cover}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.step{padding:20px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.step b{display:block;color:var(--mint);font-size:.84rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:12px}.faq details{border-bottom:1px solid rgba(255,255,255,.12);padding:18px 0}.faq summary{cursor:pointer;font-weight:850;font-size:1.08rem}.faq p{color:#bfd4dd;line-height:1.65}.cta{border-radius:8px;padding:40px;background:linear-gradient(135deg,rgba(0,180,169,.2),rgba(185,241,153,.1));border:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:center}footer{padding:44px 0;background:#00101d;border-top:1px solid rgba(255,255,255,.1);color:#b6cad3}.foot{display:flex;justify-content:space-between;gap:28px}.foot img{height:34px}.nav-note{font-size:.82rem;color:#91a9b6;margin-top:8px}@media(max-width:980px){.navlinks{display:none}.hero-grid,.section-head,.sysmap-intro,.split{grid-template-columns:1fr}.cards,.sector-grid,.steps{grid-template-columns:1fr 1fr}.hero-grid{min-height:auto;padding:52px 0}.proof-card{max-width:620px}.cta{display:block}.cta .actions{margin-top:20px}}@media(max-width:620px){.cards,.sector-grid,.steps,.stat-grid{grid-template-columns:1fr}h1{font-size:2.45rem}section{padding:54px 0}.container{width:min(100% - 30px,var(--max))}.foot{display:block}.hero:after{display:none}}


/* Dynamic sector mega menu */
.site-nav{position:relative}.brand-link{display:flex;align-items:center}.nav-item{position:relative}.nav-trigger{appearance:none;border:0;background:transparent;color:#d9eef6;font:inherit;font-size:.86rem;font-weight:750;cursor:pointer;padding:8px 0;display:inline-flex;gap:6px;align-items:center}.nav-trigger:hover,.has-mega.open .nav-trigger,.has-mega:focus-within .nav-trigger{color:var(--mint)}.mega-menu{position:absolute;left:50%;top:calc(100% + 18px);transform:translateX(-50%) translateY(10px);width:min(1010px,calc(100vw - 42px));padding:18px;border-radius:30px;background:linear-gradient(145deg,rgba(0,24,45,.98),rgba(3,37,66,.96));border:1px solid rgba(185,241,153,.22);box-shadow:0 34px 110px rgba(0,0,0,.48);backdrop-filter:blur(20px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.mega-menu:before{content:"";position:absolute;top:-8px;left:50%;width:16px;height:16px;transform:translateX(-50%) rotate(45deg);background:rgba(0,24,45,.98);border-left:1px solid rgba(185,241,153,.18);border-top:1px solid rgba(185,241,153,.18)}.has-mega:hover .mega-menu,.has-mega:focus-within .mega-menu,.has-mega.open .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.mega-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;margin-bottom:16px}.mega-intro,.mega-visual{border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);padding:20px}.mega-intro h3{font-size:1.28rem;line-height:1.1;letter-spacing:-.04em;margin:10px 0;color:var(--white)}.mega-intro p{margin:0;color:#bed4de;line-height:1.55;font-size:.9rem}.mega-overview{display:inline-flex;margin-top:14px;color:var(--mint);font-size:.84rem;font-weight:850}.mega-visual{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:end;min-height:156px;background:radial-gradient(circle at 75% 20%,rgba(185,241,153,.32),transparent 9rem),linear-gradient(135deg,rgba(0,180,169,.2),rgba(0,70,137,.22))}.mega-visual:before{content:"";position:absolute;inset:18px;border-radius:50%;background:radial-gradient(circle at 42% 38%,rgba(185,241,153,.72),rgba(0,180,169,.42) 45%,transparent 71%);opacity:.42}.mega-visual span{position:relative;z-index:1;border-radius:999px;padding:9px 11px;background:rgba(0,20,38,.72);border:1px solid rgba(185,241,153,.2);color:#e8f9ff;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mega-sector{min-width:0;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s ease,background .18s ease}.mega-sector:hover{transform:translateY(-3px);border-color:rgba(185,241,153,.38);background:rgba(255,255,255,.08)}.mega-thumb{height:86px;background:linear-gradient(180deg,transparent,rgba(0,20,38,.55)),var(--thumb) center/cover no-repeat;display:block}.mega-sector-copy{display:flex;flex-direction:column;gap:7px;padding:14px}.mega-sector strong{color:var(--mint);font-size:.77rem;text-transform:uppercase;letter-spacing:.1em}.mega-sector em{font-style:normal;color:var(--white);font-size:.96rem;line-height:1.18;font-weight:850;letter-spacing:-.025em}.mega-sector small{color:#bbd0da;line-height:1.45;font-size:.78rem}.mega-sector b{color:#e6f9ff;font-size:.74rem;font-weight:850;margin-top:2px}.navlinks{align-items:center}.navlinks>a{padding:8px 0}.site-nav .navlinks{position:absolute;left:50%;transform:translateX(-50%)}.site-nav .navlinks>.nav-item:first-child{position:static}@media(max-width:1024px){.navlinks{display:none}.mega-menu{display:none}.nav-trigger{pointer-events:none}.site-nav .navlinks{position:static;transform:none}}


@keyframes heroSignal{from{transform:translate3d(0,0,0) scale(.98);opacity:.42}to{transform:translate3d(-18px,12px,0) scale(1.04);opacity:.72}}
.proof-card{margin-left:auto;max-width:430px}
@media(max-width:980px){.hero:before{background:linear-gradient(180deg,rgba(0,20,38,.96) 0%,rgba(0,20,38,.78) 44%,rgba(0,20,38,.5) 100%),url('assets/geosphere-hero-bg-brand-v4.svg') 72% 50%/cover no-repeat}.proof-card{margin-left:0}}
@media(max-width:620px){.hero:before{background:linear-gradient(180deg,rgba(0,20,38,.97) 0%,rgba(0,20,38,.88) 54%,rgba(0,20,38,.76) 100%),url('assets/geosphere-hero-bg-brand-v4.svg') 72% 50%/auto 100% no-repeat}.hero:after{display:block;right:-18vw;top:38%;width:78vw;height:78vw}}


/* Expanded working navigation: sectors, use-cases, products and resources */
.mega-menu--compact{width:min(760px,calc(100vw - 42px))}
.mega-panel--single{grid-template-columns:1fr;margin-bottom:14px}
.mega-grid--3{grid-template-columns:repeat(3,1fr)}
.mega-link-card{border-radius:20px;padding:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px;min-height:128px;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.mega-link-card:hover{transform:translateY(-3px);border-color:rgba(185,241,153,.36);background:rgba(255,255,255,.085)}
.mega-link-card strong{color:var(--mint);font-size:.84rem;text-transform:uppercase;letter-spacing:.09em}
.mega-link-card small{color:#d4e8ef;line-height:1.48;font-size:.82rem}
.card[href]{display:block}
@media(max-width:1120px){.navlinks{gap:14px}.nav-trigger,.navlinks>a{font-size:.8rem}.btn{padding:12px 16px}}
@media(max-width:980px){.mega-grid--3{grid-template-columns:1fr}}


/* Round-2 refinements: safer typography, usable menus, animated hero, video proof, full footer */
:root{--hero-shift:0px}
.hero:before{transform:translate3d(0,var(--hero-shift),0) scale(1.035);transform-origin:center right;animation:heroBackdropIn 1.15s cubic-bezier(.2,.8,.2,1) both,heroBackdropDrift 16s ease-in-out 1.15s infinite alternate;will-change:transform,opacity,filter}
.hero:after{animation:heroSignal 12s ease-in-out infinite alternate,heroOrbIn 1.1s cubic-bezier(.2,.8,.2,1) both}
.hero-copy{animation:heroCopyIn .8s cubic-bezier(.2,.8,.2,1) .08s both}.proof-card{animation:heroCardIn .9s cubic-bezier(.2,.8,.2,1) .18s both}
@keyframes heroBackdropIn{from{opacity:.35;filter:blur(10px) saturate(.75);transform:translate3d(18px,22px,0) scale(1.08)}to{opacity:.96;filter:blur(0) saturate(1);transform:translate3d(0,var(--hero-shift),0) scale(1.035)}}
@keyframes heroBackdropDrift{from{background-position:center right;filter:saturate(1)}to{background-position:52% 50%;filter:saturate(1.16)}}
@keyframes heroOrbIn{from{opacity:0;transform:translate3d(18px,10px,0) scale(.86)}to{opacity:.62;transform:translate3d(0,0,0) scale(1)}}
@keyframes heroCopyIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroCardIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.has-mega:after{content:"";position:absolute;left:-22px;right:-22px;top:100%;height:22px;display:block}.mega-menu{top:calc(100% + 8px);z-index:50}.mega-menu--right{left:auto;right:0;transform:translateY(10px)}.mega-menu--right:before{left:auto;right:44px;transform:rotate(45deg)}.has-mega:hover .mega-menu--right,.has-mega:focus-within .mega-menu--right,.has-mega.open .mega-menu--right{transform:translateY(0)}
.video-grid{display:grid;grid-template-columns:minmax(0,760px);justify-content:center;gap:18px}.video-card{border-radius:28px;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.1)}.video-frame{aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#00101d;border:1px solid rgba(185,241,153,.14);box-shadow:0 24px 70px rgba(0,0,0,.24)}.video-frame iframe{width:100%;height:100%;border:0;display:block}.video-card h3{font-size:1.12rem;margin:16px 0 8px}.video-card p{color:#c7dbe3;line-height:1.58;margin:0 0 4px}.site-footer{padding:0;background:#001426;border-top:1px solid rgba(255,255,255,.1);color:#fff}.footer-main{display:grid;grid-template-columns:1.05fr .8fr 1fr;gap:76px;min-height:390px;padding-top:72px;padding-bottom:54px}.footer-brand img{height:44px;margin-bottom:26px}.footer-brand p{max-width:420px;color:#e0eef3;line-height:1.72;font-size:1rem}.footer-brand .foot-lockup{display:flex;flex-direction:column;gap:7px;margin:-4px 0 30px}.footer-brand .foot-lockup span{text-transform:uppercase;font-weight:800;font-size:1.32rem;line-height:1.16;letter-spacing:.045em;color:#fff;font-family:Signal,Outfit,"Open Sans",sans-serif}.footer-brand .foot-lockup i{font-family:"Instrument Serif",Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;text-transform:lowercase;letter-spacing:.01em;color:#bcd1da;font-size:1.16em;margin-right:.16em}.footer-brand .foot-lockup b{color:var(--sw);font-weight:800}.footer-brand .foot-pitch{max-width:432px;margin:0}.footer-brand .foot-pitch p{color:#bcd2db;line-height:1.6;font-size:1rem;margin:0 0 15px;max-width:432px}.footer-brand .foot-lead{color:#fff;font-weight:700;font-size:1.16rem;line-height:1.42}.footer-brand .foot-accent{color:#B9F199;font-weight:700;font-size:1.06rem}.social-link{margin-top:34px;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.72);display:inline-flex;align-items:center;justify-content:center;font-weight:850;font-size:1rem}.footer-main h3{font-size:1.24rem;margin:6px 0 28px;color:#fff}.footer-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.footer-link-grid a,.footer-contact a,.footer-bottom a{color:#fff}.footer-link-grid a{display:block;margin:0 0 18px;font-weight:650}.footer-contact p{color:#e0eef3;line-height:1.6;margin:0 0 20px}.footer-contact strong{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#d2e2e8;font-size:.88rem}.footer-bottom nav{display:flex;gap:22px;flex-wrap:wrap}.footer-bottom a{color:#d2e2e8}.footer-bottom a:hover,.footer-link-grid a:hover,.footer-contact a:hover{color:var(--mint)}@media(max-width:1120px){.footer-main{gap:38px}.mega-menu--compact{width:min(690px,calc(100vw - 42px))}}@media(max-width:980px){.video-grid,.footer-main{grid-template-columns:1fr}.footer-main{min-height:auto;padding-top:54px}.footer-bottom{display:block;padding:22px 0}.footer-bottom nav{margin-top:12px}.hero:before{animation:heroBackdropIn .9s cubic-bezier(.2,.8,.2,1) both}}@media(max-width:620px){h1{font-size:2.25rem}.video-grid{grid-template-columns:1fr}.footer-link-grid{grid-template-columns:1fr}.footer-brand img{height:34px}}@media(prefers-reduced-motion:reduce){.hero:before,.hero:after,.hero-copy,.proof-card{animation:none!important;transform:none!important}}


/* Upgraded focused homepage hero — responsive Next/React-ready composition */
.hero--next{min-height:unset;background:linear-gradient(112deg,rgba(0,20,38,.99) 0%,rgba(0,26,48,.96) 44%,rgba(0,45,68,.72) 100%)}
.hero--next:before{background:linear-gradient(90deg,rgba(0,20,38,.98) 0%,rgba(0,20,38,.93) 45%,rgba(0,20,38,.42) 72%,rgba(0,20,38,.22) 100%),radial-gradient(circle at 78% 24%,rgba(185,241,153,.22),transparent 24rem),url('assets/geosphere-hero-bg-brand-v4.svg') 72% 50%/cover no-repeat;opacity:.84;filter:saturate(.9) contrast(.96)}
.hero--next:after{right:4vw;top:12%;width:36vw;height:36vw;opacity:.38;filter:blur(6px)}
.hero-grid--focused{grid-template-columns:minmax(0,1.02fr) minmax(390px,.74fr);gap:46px;min-height:608px;padding:58px 0 64px}.hero-copy--focused{max-width:690px}.hero-copy--focused h1{font-size:clamp(2.15rem,4.15vw,4.65rem);line-height:1.04;letter-spacing:-.052em;margin:18px 0 20px}.hero-copy--focused .lead{font-size:clamp(1rem,1.05vw,1.12rem);font-weight:760;color:#effcff;max-width:630px}.hero-copy--focused .sub{font-size:.98rem;max-width:620px}.estate-console{position:relative;min-height:438px;display:flex;flex-direction:column;justify-content:center;gap:16px}.console-orbit{position:absolute;inset:4% -8% auto auto;width:min(430px,82vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 42% 38%,rgba(185,241,153,.42),rgba(0,180,169,.18) 42%,rgba(0,70,137,.08) 65%,transparent 72%);border:1px solid rgba(185,241,153,.12);box-shadow:0 0 80px rgba(0,180,169,.16);animation:heroSignal 14s ease-in-out infinite alternate}.proof-card--hero{position:relative;z-index:2;margin-left:0;max-width:none;border-radius:22px;padding:26px 26px 24px;background:linear-gradient(155deg,rgba(6,48,82,.84),rgba(0,24,45,.68));border:1px solid rgba(185,241,153,.24);box-shadow:0 28px 86px rgba(0,0,0,.34);backdrop-filter:blur(14px)}.proof-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.status-dot{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;background:rgba(185,241,153,.1);border:1px solid rgba(185,241,153,.22);color:var(--mint);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px var(--mint)}.proof-card--hero h2{font-size:clamp(1.55rem,2vw,2.15rem);line-height:1.08;margin:16px 0 12px}.proof-card--hero .body-copy{font-size:.96rem;line-height:1.62}.stat-grid--hero{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat-grid--hero .stat{border-radius:16px;padding:14px 12px;background:rgba(255,255,255,.07)}.stat-grid--hero .stat b{font-size:clamp(1.08rem,1.45vw,1.46rem)}.signal-row{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.signal-chip{border-radius:16px;padding:13px 14px;background:rgba(2,34,61,.62);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px)}.signal-chip span{display:block;color:#a9bfca;font-size:.69rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.signal-chip b{display:block;margin-top:6px;color:#f7fbff;font-size:.9rem;letter-spacing:-.02em}@media(max-width:980px){.hero-grid--focused{grid-template-columns:1fr;gap:32px;min-height:auto;padding:54px 0}.estate-console{min-height:0;max-width:680px}.console-orbit{right:-10%;top:-12%;width:min(380px,72vw)}.hero--next:before{background:linear-gradient(180deg,rgba(0,20,38,.98) 0%,rgba(0,20,38,.89) 58%,rgba(0,20,38,.7) 100%),url('assets/geosphere-hero-bg-brand-v4.svg') 70% 50%/cover no-repeat}}@media(max-width:620px){.hero-copy--focused h1{font-size:clamp(2rem,10vw,3.15rem);line-height:1.06}.signal-row,.stat-grid--hero{grid-template-columns:1fr}.proof-topline{align-items:flex-start;flex-direction:column}.proof-card--hero{padding:22px}.hero-copy--focused .sub{font-size:.94rem}.hero--next:after{display:none}}@media(prefers-reduced-motion:reduce){.console-orbit{animation:none!important}}


/* Final anti-busy tuning: proof first, dashboard texture second */
.hero--next:before{opacity:.58!important;filter:saturate(.72) contrast(.9) blur(.2px)!important;background:linear-gradient(90deg,rgba(0,20,38,.99) 0%,rgba(0,20,38,.96) 48%,rgba(0,20,38,.66) 76%,rgba(0,20,38,.5) 100%),radial-gradient(circle at 80% 20%,rgba(185,241,153,.18),transparent 23rem),url('assets/geosphere-hero-bg-brand-v4.svg') 74% 50%/cover no-repeat!important}.hero--next:after{opacity:.24!important}.proof-card--hero{box-shadow:0 24px 70px rgba(0,0,0,.3);background:linear-gradient(155deg,rgba(6,48,82,.9),rgba(0,24,45,.78))}.signal-row{opacity:.78}.signal-chip{background:rgba(2,34,61,.46);border-color:rgba(255,255,255,.08)}.signal-chip b{font-size:.84rem;color:#d9eef6}.console-orbit{opacity:.72;filter:blur(2px)}@media(max-width:980px){.hero--next:before{opacity:.46!important;background:linear-gradient(180deg,rgba(0,20,38,.99) 0%,rgba(0,20,38,.94) 62%,rgba(0,20,38,.86) 100%),url('assets/geosphere-hero-bg-brand-v4.svg') 72% 50%/cover no-repeat!important}.signal-row{display:none}.proof-card--hero{max-width:620px}}@media(max-width:620px){.hero--next:before{background:linear-gradient(180deg,rgba(0,20,38,.99) 0%,rgba(0,20,38,.96) 100%)!important}.console-orbit{display:none}}


/* Mobile hero proof fallback: one compact proof cue instead of a crowded console */
.mobile-proof{display:none;margin-top:22px;border-radius:18px;padding:15px 16px;background:rgba(6,48,82,.72);border:1px solid rgba(185,241,153,.2);color:#dff7ff}.mobile-proof strong{display:block;color:var(--mint);font-size:1rem;letter-spacing:-.02em}.mobile-proof span{display:block;margin-top:5px;color:#c2d6de;font-size:.88rem;line-height:1.45}@media(max-width:620px){.estate-console{display:none}.mobile-proof{display:block}.site-nav>.btn{padding:10px 12px;font-size:.78rem}.logo{height:27px}}


/* Mobile readability polish */
@media(max-width:620px){.hero-copy--focused .sub{color:#d4e6ee}.hero-copy--focused .lead{color:#f2fbff}.mobile-proof{background:rgba(6,48,82,.86);border-color:rgba(185,241,153,.3)}.mobile-proof span{color:#e0eef3}.secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}}


/* Product landing pages: GeoEnergy / GeoSpaces / GeoWorks */
.product-hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(112deg,rgba(0,20,38,.99) 0%,rgba(0,26,48,.97) 46%,rgba(0,38,60,.86) 100%)}
.product-hero:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 82% 18%,var(--product-glow,rgba(0,180,169,.16)),transparent 26rem)}
.product-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(380px,.84fr);min-height:560px;padding:56px 0 60px}
.product-wordmark{height:40px;width:auto;display:block;margin-bottom:18px}
.product-hero h1{font-size:clamp(2.1rem,3.7vw,4.1rem);line-height:1.05;letter-spacing:-.05em}
.hero-media{position:relative;z-index:1;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 32px 90px rgba(0,0,0,.34);aspect-ratio:16/10;background:#021a2e}
.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media .media-chip{position:absolute;left:14px;bottom:14px;z-index:2;border-radius:999px;padding:9px 13px;background:rgba(0,20,38,.78);border:1px solid rgba(185,241,153,.26);color:var(--mint);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;backdrop-filter:blur(8px)}
.trust-strip{border-block:1px solid rgba(255,255,255,.07);background:rgba(0,24,45,.4);padding:22px 0}
.trust-strip .container{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between}
.trust-strip p{margin:0;color:#b2c3d0;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}
.trust-logos{display:flex;flex-wrap:wrap;gap:9px}
.trust-logos span{border-radius:999px;padding:8px 14px;border:1px solid rgba(255,255,255,.13);color:#d9eef6;font-size:.8rem;font-weight:750;background:rgba(255,255,255,.04)}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.module{border-radius:8px;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.1);min-height:172px}
.module h3{font-size:1.06rem;margin:0 0 9px;letter-spacing:-.02em}
.module p{margin:0;color:#c7dbe3;line-height:1.58;font-size:.92rem}
.module b{display:block;color:var(--mint);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.loop-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:loop}
.loop-steps .step{min-height:188px}
.loop-steps .step small{color:#bdd2dc;line-height:1.5;font-size:.84rem;display:block}
.loop-steps .step strong{display:block;margin:0 0 8px;font-size:1.05rem;letter-spacing:-.02em}
.product-moment{border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1);position:relative;min-height:430px;display:flex;align-items:flex-end;background:#021a2e}
.product-moment:before{content:"";position:absolute;inset:0;background:var(--moment) center/cover no-repeat;opacity:.62}
.product-moment:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,20,38,.06),rgba(0,16,29,.94) 78%)}
.moment-copy{position:relative;z-index:1;padding:30px;display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:end;width:100%}
.moment-copy h2,.moment-copy h3{font-size:clamp(1.3rem,1.9vw,1.9rem);margin:8px 0 10px;letter-spacing:-.035em}
.moment-copy p{color:#d2e6ec;line-height:1.6;margin:0}
.quote-block{max-width:820px}
.quote-block blockquote{margin:0;font-size:clamp(1.25rem,2vw,1.85rem);line-height:1.34;letter-spacing:-.025em;font-weight:650;color:#effcff}
.quote-block cite{display:block;font-style:normal;margin-top:16px;color:var(--muted);font-size:.92rem}
.quote-block cite strong{color:var(--mint)}
.suite-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.suite-card{border-radius:8px;padding:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);display:flex;flex-direction:column;gap:10px;transition:transform .18s ease,border-color .18s ease}
.suite-card:hover{transform:translateY(-3px);border-color:rgba(185,241,153,.36)}
.suite-card img{height:26px;width:max-content}
.suite-card p{margin:0;color:#c7dbe3;line-height:1.58;font-size:.92rem}
.suite-card span{color:var(--mint);font-weight:850;font-size:.84rem}
.deploy-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.deploy-strip .stat span{text-transform:none;letter-spacing:0;font-size:.84rem;color:#c2d6de;line-height:1.5;display:block;margin-top:6px}
@media(max-width:980px){.product-hero .hero-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr 1fr}.loop-steps{grid-template-columns:1fr 1fr 1fr}.moment-copy{grid-template-columns:1fr}.suite-cards{grid-template-columns:1fr}.deploy-strip{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.module-grid,.loop-steps,.deploy-strip{grid-template-columns:1fr}.product-hero .hero-grid{padding:46px 0}.hero-media{aspect-ratio:16/11}.trust-strip .container{justify-content:flex-start}}

/* Parallax product hero + imagery system (GeoEnergy pilot) */
.plx-hero{position:relative;overflow:clip;min-height:min(92vh,840px);display:flex;align-items:center;padding:64px 0;border-bottom:1px solid rgba(255,255,255,.08);isolation:isolate}
.plx-hero .plx-photo,.plx-band .plx-photo{position:absolute;inset:-12% 0;z-index:-3;background:var(--plx-img) center 32%/cover no-repeat;filter:saturate(.94) brightness(.9);will-change:transform;pointer-events:none}
.plx-veil{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 80% 22%,rgba(0,180,169,.15),transparent 26rem),linear-gradient(100deg,rgba(0,20,38,.97) 0%,rgba(0,20,38,.9) 36%,rgba(0,26,48,.58) 62%,rgba(0,20,38,.28) 100%),linear-gradient(180deg,rgba(0,20,38,.5),transparent 28%,transparent 58%,rgba(0,17,32,.94) 100%)}
.plx-trace{position:absolute;inset:0;z-index:-1;pointer-events:none;mix-blend-mode:screen;will-change:transform}
.plx-trace svg{position:absolute;right:-5%;top:16%;width:min(920px,70vw);height:auto;opacity:.85}
.plx-chips{position:absolute;inset:0;pointer-events:none;z-index:2}
.plx-chip{position:absolute;border-radius:14px;padding:13px 15px;min-width:200px;background:rgba(2,30,53,.66);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);box-shadow:0 18px 50px rgba(0,0,0,.32);will-change:transform}
.plx-chip span{display:block;color:#a9bfca;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}
.plx-chip b{display:block;margin-top:5px;color:#f7fbff;font-size:.92rem;letter-spacing:-.02em}
.plx-chip i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint);margin-right:7px;font-style:normal}
.plx-chips .c1{right:5%;top:21%}
.plx-chips .c2{right:23%;top:46%}
.plx-chips .c3{right:8%;top:66%}
.plx-hero .hero-copy{position:relative;z-index:3;max-width:680px}
.plx-band{position:relative;overflow:clip;padding:0;min-height:clamp(320px,52vh,560px);display:flex;align-items:flex-end;border-block:1px solid rgba(255,255,255,.07);isolation:isolate}
.plx-band .plx-photo{inset:-26% 0;z-index:-2}
.plx-band:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,20,38,.62),rgba(0,20,38,.16) 42%,rgba(0,17,32,.9) 100%)}
.band-caption{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:26px 0 30px}
.band-caption p{margin:0;color:#e2f1f7;font-weight:650;max-width:560px;text-shadow:0 1px 18px rgba(0,13,24,.8)}
.media-chip{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:9px 13px;background:rgba(0,20,38,.78);border:1px solid rgba(185,241,153,.26);color:var(--mint);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;backdrop-filter:blur(8px)}
figure.figure-tall,figure.figure-wide{margin:0}
.figure-tall,.figure-wide{position:relative;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 32px 90px rgba(0,0,0,.34);background:#021a2e}
.figure-tall img,.figure-wide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.figure-tall{min-height:480px;height:100%}
.figure-wide{aspect-ratio:16/10}
.figure-tall .media-chip,.figure-wide .media-chip,.console-strip .media-chip{position:absolute;left:14px;bottom:14px;z-index:2}
.pressure-grid{display:grid;grid-template-columns:minmax(300px,.74fr) 1.26fr;gap:28px;align-items:stretch}
.pressure-grid .cards{grid-template-columns:1fr;gap:16px}
.pressure-grid .card{min-height:0}
.console-strip{position:relative;margin-top:24px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 32px 90px rgba(0,0,0,.34);aspect-ratio:21/8;background:#021a2e}
.console-strip video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.deploy-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:28px;align-items:center}
.deploy-grid .deploy-strip{grid-template-columns:1fr 1fr}
@media(max-width:1180px){.plx-chips .c2{right:16%}.plx-chip{min-width:170px}}
@media(max-width:980px){.plx-hero{min-height:0;padding:56px 0 64px}.plx-chips{display:none}.plx-trace svg{right:-14%;top:auto;bottom:-3%;width:118vw;opacity:.45}.pressure-grid,.deploy-grid{grid-template-columns:1fr}.figure-tall{min-height:300px;height:auto}.console-strip{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){[data-plx]{transform:none!important}}
.btn:focus-visible,.nav-trigger:focus-visible,.suite-card:focus-visible,.mega-link-card:focus-visible,.mega-sector:focus-visible,.faq summary:focus-visible,.product-wordmark:focus-visible{outline:2px solid #00DCD7;outline-offset:3px;border-radius:6px}

/* ── Offline-sync feature band: enriches a bare plx-band with an animated GeoWorks Mobile story ── */
.plx-band--feature{align-items:center;min-height:clamp(480px,70vh,660px);padding:68px 0}
.plx-band--feature .plx-photo{filter:saturate(.92) brightness(.72)}
.plx-band--feature:after{background:linear-gradient(108deg,rgba(0,18,34,.95) 0%,rgba(0,20,38,.8) 44%,rgba(0,22,42,.42) 78%,rgba(0,20,38,.6) 100%)}
.sync-grid{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}
.sync-copy{max-width:560px}
.sync-copy h2{margin:14px 0 16px;font-size:clamp(1.6rem,2.5vw,2.5rem)}
.sync-copy p{color:#dceaf1;line-height:1.62;font-size:1.05rem;margin:0 0 24px;text-shadow:0 1px 18px rgba(0,13,24,.7)}
.sync-tiles{display:grid;grid-template-columns:1fr 1fr;gap:11px;max-width:440px}
.sync-tile{display:flex;align-items:center;gap:12px;border-radius:13px;padding:13px 15px;background:rgba(2,30,53,.62);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(9px)}
.sync-tile svg{width:21px;height:21px;color:var(--mint);flex:none}
.sync-tile b{display:block;font-size:.9rem;color:#eef9ff;font-weight:750;letter-spacing:-.01em}
.sync-tile span{display:block;font-size:.68rem;color:#9fb8c4;text-transform:uppercase;letter-spacing:.07em;font-weight:800;margin-top:1px}
/* device stage */
.sync-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:440px}
.sync-stage:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(0,180,169,.22),rgba(0,220,215,.08) 45%,transparent 70%);filter:blur(4px)}
.sync-phone{position:relative;z-index:2;width:296px;border-radius:30px;padding:14px;background:linear-gradient(165deg,rgba(8,46,78,.92),rgba(0,22,42,.94));border:1px solid rgba(185,241,153,.2);box-shadow:0 40px 110px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);animation:phoneFloat 7s ease-in-out infinite}
.sync-screen{border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#04223c,#021726);border:1px solid rgba(255,255,255,.08)}
.sync-appbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.08)}
.sync-appbar .sa-brand{display:flex;align-items:center;gap:8px;color:#dff7ff;font-size:.74rem;font-weight:850;letter-spacing:.02em}
.sync-appbar .sa-brand i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px var(--teal);font-style:normal}
.sync-status{position:relative;height:24px;min-width:96px}
.sync-status span{position:absolute;right:0;top:0;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;opacity:0}
.sync-status span:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ss-off{color:#FFBC7D;background:rgba(255,188,125,.13);border:1px solid rgba(255,188,125,.3);animation:ssOff 7s ease-in-out infinite}
.ss-sync{color:#00DCD7;background:rgba(0,220,215,.13);border:1px solid rgba(0,220,215,.32);animation:ssSync 7s ease-in-out infinite}
.ss-done{color:var(--mint);background:rgba(185,241,153,.14);border:1px solid rgba(185,241,153,.34);animation:ssDone 7s ease-in-out infinite}
.sync-job{padding:14px 15px 4px}
.sync-job b{display:block;color:#f3fbff;font-size:.92rem;letter-spacing:-.02em}
.sync-job small{display:block;color:#9fb8c4;font-size:.74rem;margin-top:3px}
.sync-rows{padding:10px 15px 4px;display:grid;gap:9px}
.sync-row{display:flex;align-items:center;gap:11px;opacity:.32}
.sync-row svg{width:18px;height:18px;color:#cfe7f0;flex:none}
.sync-row p{margin:0;color:#dff2f9;font-size:.8rem;font-weight:650}
.sync-row p span{color:#9fb8c4;font-weight:700}
.sync-row .rc{margin-left:auto;width:17px;height:17px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);position:relative;flex:none}
.sync-row .rc:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);transform:scale(0)}
.sync-row.r1{animation:rowIn 7s ease-in-out infinite}
.sync-row.r2{animation:rowIn 7s ease-in-out infinite .35s}
.sync-row.r3{animation:rowIn 7s ease-in-out infinite .7s}
.sync-row.r1 .rc:after{animation:rcOn 7s ease-in-out infinite}
.sync-row.r2 .rc:after{animation:rcOn 7s ease-in-out infinite .35s}
.sync-row.r3 .rc:after{animation:rcOn 7s ease-in-out infinite .7s}
.sync-foot{margin:8px 13px 14px;padding:11px 13px;border-radius:13px;background:rgba(0,12,24,.55);border:1px solid rgba(255,255,255,.08)}
.sync-foot .sf-label{position:relative;height:15px;font-size:.72rem;font-weight:800}
.sync-foot .sf-label span{position:absolute;left:0;top:0;white-space:nowrap;opacity:0}
.sf-q{color:#FFBC7D;animation:ssOff 7s ease-in-out infinite}
.sf-d{color:var(--mint);animation:ssDone 7s ease-in-out infinite}
.sync-bar{margin-top:8px;height:6px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}
.sync-bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--teal),#00DCD7);box-shadow:0 0 14px rgba(0,220,215,.6);animation:barFill 7s ease-in-out infinite}
/* upload pulse to cloud */
.sync-uplink{position:absolute;z-index:1;left:50%;transform:translateX(-50%);top:0;width:170px;height:150px;pointer-events:none}
.sync-uplink .cloud{color:rgba(185,241,153,.9)}
.sync-uplink .updash{stroke:rgba(0,220,215,.35);stroke-width:2;stroke-dasharray:5 7;fill:none}
.sync-uplink .uppulse{stroke:#00DCD7;stroke-width:2.5;stroke-dasharray:14 200;fill:none;filter:drop-shadow(0 0 5px rgba(0,220,215,.9));animation:upTravel 7s ease-in-out infinite}
@keyframes phoneFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes ssOff{0%,28%{opacity:1}33%,100%{opacity:0}}
@keyframes ssSync{0%,29%{opacity:0}34%,45%{opacity:1}50%,100%{opacity:0}}
@keyframes ssDone{0%,45%{opacity:0}50%,93%{opacity:1}99%,100%{opacity:0}}
@keyframes rowIn{0%,4%{opacity:.32;transform:translateX(-6px)}12%,100%{opacity:1;transform:translateX(0)}}
@keyframes rcOn{0%,8%{transform:scale(0)}16%,100%{transform:scale(1)}}
@keyframes barFill{0%,30%{width:0}46%,100%{width:100%}}
@keyframes upTravel{0%,30%{stroke-dashoffset:214;opacity:0}31%{opacity:1}46%{stroke-dashoffset:0;opacity:1}52%,100%{opacity:0;stroke-dashoffset:0}}
@media(max-width:980px){.sync-grid{grid-template-columns:1fr;gap:30px}.sync-stage{min-height:0;order:-1}.plx-band--feature{min-height:0}}
@media(max-width:620px){.sync-tiles{grid-template-columns:1fr}.sync-phone{width:260px}}
@media(prefers-reduced-motion:reduce){.sync-phone,.sync-bar i,.sync-status span,.sync-row,.sync-row .rc:after,.sf-label span,.sync-uplink .uppulse{animation:none!important}.ss-done,.sf-d{opacity:1!important}.ss-off,.ss-sync,.sf-q{opacity:0!important}.sync-bar i{width:100%!important}.sync-row{opacity:1!important;transform:none!important}.sync-row .rc:after{transform:scale(1)!important}}

/* ── GeoSpaces: sensor-types grid + sensor-agnostic ── */
.sensor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:8px}
.sensor-cell{display:flex;flex-direction:column;gap:9px;border-radius:13px;padding:18px 16px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.1)}
.sensor-cell svg{width:25px;height:25px;color:var(--mint);flex:none}
.sensor-cell b{color:#eef9ff;font-size:.97rem;font-weight:800;letter-spacing:-.02em}
.sensor-cell span{color:#bcd2db;font-size:.81rem;line-height:1.42}
.agnostic{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:24px;border-radius:14px;padding:18px 22px;background:rgba(0,70,137,.16);border:1px solid rgba(185,241,153,.18)}
.agnostic b{color:var(--mint);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;white-space:nowrap}
.agnostic p{margin:0;color:#d6e8ee;font-size:.97rem;line-height:1.55;flex:1;min-width:280px}

/* ── GeoSpaces: live-sensing console centerpiece ── */
.sens-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:440px}
.sens-stage:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(0,180,169,.22),rgba(0,220,215,.07) 46%,transparent 70%);filter:blur(4px)}
.sens-panel{position:relative;z-index:2;width:332px;border-radius:26px;padding:14px;background:linear-gradient(165deg,rgba(8,46,78,.92),rgba(0,22,42,.94));border:1px solid rgba(185,241,153,.2);box-shadow:0 40px 110px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);animation:phoneFloat 8s ease-in-out infinite}
.sens-screen{border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#04223c,#021726);border:1px solid rgba(255,255,255,.08)}
.sens-appbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.08)}
.sens-appbar .sa-brand{display:flex;align-items:center;gap:8px;color:#dff7ff;font-size:.74rem;font-weight:850;letter-spacing:.02em}
.sens-appbar .sa-brand i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px var(--teal);font-style:normal}
.sens-estate{position:relative;height:22px;min-width:82px}
.sens-estate span{position:absolute;right:0;top:0;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;font-size:.6rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;opacity:0}
.sens-estate span:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.se-ok{color:var(--mint);background:rgba(185,241,153,.14);border:1px solid rgba(185,241,153,.32);animation:seOk 8s ease-in-out infinite}
.se-breach{color:#FF8266;background:rgba(232,101,78,.16);border:1px solid rgba(232,101,78,.4);animation:seBreach 8s ease-in-out infinite}
.sens-cells{padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sens-cell{border-radius:13px;padding:11px 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.sens-cell .sc-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.sens-cell .sc-top span{font-size:.6rem;color:#9fb8c4;text-transform:uppercase;letter-spacing:.07em;font-weight:850}
.sens-cell .rag{width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 9px var(--mint);flex:none}
.sens-cell b{display:block;margin-top:7px;color:#f3fbff;font-size:1rem;font-weight:800;letter-spacing:-.02em}
.sens-cell.co2 .rag{animation:co2dot 8s ease-in-out infinite}
.sens-co2val{position:relative;height:20px;margin-top:7px}
.sens-co2val span{position:absolute;left:0;top:0;color:#f3fbff;font-size:1rem;font-weight:800;letter-spacing:-.02em;opacity:0;white-space:nowrap}
.sens-co2val .v1{animation:co2v1 8s ease-in-out infinite}
.sens-co2val .v2{animation:co2v2 8s ease-in-out infinite}
.sens-co2val .v3{animation:co2v3 8s ease-in-out infinite}
.sens-alert{margin:0 13px 13px;display:flex;align-items:center;gap:9px;border-radius:13px;padding:10px 12px;background:rgba(232,101,78,.14);border:1px solid rgba(232,101,78,.34);opacity:0;transform:translateY(6px);animation:sensAlert 8s ease-in-out infinite}
.sens-alert svg{width:18px;height:18px;color:#FF8266;flex:none}
.sens-alert p{margin:0;color:#ffd9cf;font-size:.73rem;font-weight:700;line-height:1.32}
.sens-alert p b{color:#fff;font-weight:850}
.sens-uplink{position:absolute;z-index:1;left:50%;transform:translateX(-50%);top:0;width:170px;height:150px;pointer-events:none}
.sens-uplink .cloud{color:rgba(185,241,153,.9)}
.sens-uplink .updash{stroke:rgba(0,220,215,.35);stroke-width:2;stroke-dasharray:5 7;fill:none}
.sens-uplink .uppulse{stroke:#00DCD7;stroke-width:2.5;stroke-dasharray:14 200;fill:none;filter:drop-shadow(0 0 5px rgba(0,220,215,.9));animation:sensUp 8s ease-in-out infinite}

/* ── GeoSpaces: cross-sector strip ── */
.xsector{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:8px}
.xsector .xs{border-radius:13px;padding:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.xsector .xs b{display:block;color:var(--mint);font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850;margin-bottom:9px}
.xsector .xs p{margin:0;color:#c7dbe3;font-size:.89rem;line-height:1.5}

@keyframes seOk{0%,52%{opacity:1}57%,100%{opacity:0}}
@keyframes seBreach{0%,54%{opacity:0}59%,96%{opacity:1}100%{opacity:0}}
@keyframes co2dot{0%,30%{background:#B9F199;box-shadow:0 0 9px #B9F199}45%{background:#FFBC7D;box-shadow:0 0 9px #FFBC7D}58%,96%{background:#E8654E;box-shadow:0 0 10px #E8654E}100%{background:#B9F199}}
@keyframes co2v1{0%,26%{opacity:1}32%,100%{opacity:0}}
@keyframes co2v2{0%,30%{opacity:0}36%,50%{opacity:1}56%,100%{opacity:0}}
@keyframes co2v3{0%,52%{opacity:0}58%,96%{opacity:1}100%{opacity:0}}
@keyframes sensAlert{0%,54%{opacity:0;transform:translateY(6px)}60%,94%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(6px)}}
@keyframes sensUp{0%,56%{stroke-dashoffset:214;opacity:0}57%{opacity:1}70%{stroke-dashoffset:0;opacity:1}76%,100%{opacity:0;stroke-dashoffset:0}}

@media(max-width:980px){.sensor-grid,.xsector{grid-template-columns:1fr 1fr}.sens-stage{min-height:0;order:-1}}
@media(max-width:620px){.sensor-grid,.xsector{grid-template-columns:1fr}.sens-panel{width:290px}}
@media(prefers-reduced-motion:reduce){.sens-panel,.sens-estate span,.sens-cell.co2 .rag,.sens-co2val span,.sens-alert,.sens-uplink .uppulse{animation:none!important}.se-breach,.sens-co2val .v3,.sens-alert{opacity:1!important}.sens-alert{transform:none!important}.se-ok,.sens-co2val .v1,.sens-co2val .v2{opacity:0!important}.sens-cell.co2 .rag{background:#E8654E!important;box-shadow:0 0 10px #E8654E!important}}

/* ===== Sector switcher (consolidates cross-sector + proof) ===== */
.secstage{position:relative;display:grid;grid-template-rows:1fr auto;min-height:clamp(440px,58vh,600px);border:1px solid var(--geo-web-border,#16334D);border-radius:var(--radius-lg,12px);overflow:hidden;background:var(--geo-navy,#002442);margin-top:var(--space-8,32px)}
.secframe{position:relative;overflow:hidden}
.secimg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity .7s ease,transform 9s ease}
.secimg.is-active{opacity:1;transform:scale(1)}
.secscrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,13,24,.97) 0%,rgba(0,13,24,.92) 38%,rgba(0,13,24,.6) 66%,rgba(0,13,24,.2) 100%),linear-gradient(0deg,rgba(0,13,24,.88) 0%,rgba(0,13,24,.3) 45%,rgba(0,13,24,0) 70%)}
.secpanel{position:absolute;left:clamp(20px,4vw,48px);right:clamp(20px,4vw,48px);bottom:clamp(20px,4vw,46px);max-width:560px;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease,visibility .5s}
.secpanel.is-active{opacity:1;visibility:visible;transform:none}
.seckicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--geo-green-light,#B9F199);margin-bottom:10px}
.secline{font-size:clamp(20px,2.4vw,28px);line-height:1.28;font-weight:600;color:#fff;margin:0 0 16px;text-wrap:balance}
.secchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.secchips span{font-size:12.5px;letter-spacing:.01em;color:#EAF6FF;background:rgba(0,220,215,.12);border:1px solid rgba(0,220,215,.35);border-radius:999px;padding:5px 12px}
.secmeta{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.78);margin:0}
.sectabs{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(0,13,24,.62);backdrop-filter:blur(10px);border-top:1px solid var(--geo-web-border,#16334D)}
.sectab{appearance:none;font:inherit;text-align:left;cursor:pointer;background:none;border:0;border-top:2px solid transparent;border-left:1px solid rgba(255,255,255,.07);padding:15px clamp(12px,1.6vw,20px);color:rgba(255,255,255,.62);min-width:0;transition:background .18s ease,color .18s ease,border-color .18s ease}
.sectab:first-child{border-left:0}
.sectab b{display:block;font-size:15px;font-weight:600;color:rgba(255,255,255,.82);margin-bottom:2px;overflow-wrap:break-word;transition:color .18s ease}
.sectab small{display:block;font-size:11.5px;letter-spacing:.02em;color:rgba(255,255,255,.5);overflow-wrap:break-word}
.sectab:hover{background:rgba(255,255,255,.04)}
.sectab.is-active{background:rgba(255,255,255,.06);border-top-color:var(--geo-cyan,#00DCD7)}
.sectab.is-active b{color:#fff}
.sectab.is-active small{color:var(--geo-cyan,#00DCD7)}
.sectab:focus-visible{outline:2px solid var(--geo-cyan,#00DCD7);outline-offset:-2px}
.secproof{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,40px);margin-top:var(--space-8,32px);padding-top:var(--space-6,24px);border-top:1px solid var(--geo-web-border,#16334D)}
.secproof .stat b{display:block;font-size:clamp(34px,4.4vw,46px);font-weight:800;line-height:1;color:#fff;letter-spacing:-.02em}
.secproof .stat span{display:block;margin-top:8px;font-size:14px;color:rgba(255,255,255,.7)}
@media(max-width:760px){.secstage{grid-template-rows:auto auto}.secframe{min-height:clamp(360px,62vw,440px)}.sectabs{grid-template-columns:repeat(2,1fr)}.sectab:nth-child(3){border-left:0}.sectab b{font-size:14px}}
@media(max-width:460px){.secproof{grid-template-columns:1fr;gap:14px;text-align:left}}
@media(prefers-reduced-motion:reduce){.secimg,.secpanel{transition:opacity .2s ease}.secimg{transform:none!important}}
/* ===== HOW IT WORKS — interactive graphical stepper (Figma: building data to decisions) ===== */
.how-stepper{display:grid;grid-template-columns:1.24fr .76fr;gap:clamp(18px,2.6vw,32px);align-items:stretch}
.how-stage{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:radial-gradient(120% 90% at 80% 0%,rgba(0,180,169,.12),transparent 60%),linear-gradient(165deg,#05263f,#020f1b);box-shadow:0 36px 100px rgba(0,0,0,.46);min-height:clamp(390px,45vw,470px)}
.how-card{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:clamp(22px,3vw,40px);opacity:0;visibility:hidden;transform:translateY(12px) scale(.99);transition:opacity .55s ease,transform .55s ease,visibility .55s}
.how-card.is-active{opacity:1;visibility:visible;transform:none}
.how-cap{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;border-radius:999px;padding:7px 13px;background:rgba(0,24,45,.7);border:1px solid rgba(185,241,153,.26);color:var(--mint);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;backdrop-filter:blur(8px)}
.how-cap i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint);font-style:normal;animation:howBlink 2.4s ease-in-out infinite}
@keyframes howBlink{0%,100%{opacity:.4}50%{opacity:1}}
.how-tabs{display:flex;flex-direction:column;gap:10px}
.how-tab{position:relative;text-align:left;display:block;width:100%;padding:15px 17px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);cursor:pointer;color:inherit;font:inherit;transition:background .18s ease,border-color .18s ease,transform .18s ease;flex:1;display:flex;flex-direction:column;justify-content:center}
.how-tab:hover{background:rgba(255,255,255,.07)}
.how-tab.is-active{background:linear-gradient(120deg,rgba(0,180,169,.14),rgba(255,255,255,.05));border-color:rgba(0,220,215,.5)}
.how-tab .hn{display:flex;align-items:center;gap:9px;font-size:.7rem;font-weight:850;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.how-tab .hn em{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font-style:normal;color:#cfe6ee}
.how-tab.is-active .hn{color:var(--geo-cyan,#00DCD7)}
.how-tab.is-active .hn em{background:rgba(0,220,215,.16);border-color:rgba(0,220,215,.5);color:#bff6f3}
.how-tab b{display:block;font-size:1.1rem;letter-spacing:-.02em;margin:8px 0 4px}
.how-tab small{display:block;color:#b8cfd9;font-size:.85rem;line-height:1.46}
.how-tab:focus-visible{outline:2px solid var(--geo-cyan,#00DCD7);outline-offset:2px}
/* --- 1 Digitise: live floorplan --- */
.fp{width:100%;max-width:520px;margin:auto;display:block;filter:drop-shadow(0 14px 40px rgba(0,0,0,.4))}
.fp .room{fill:rgba(255,255,255,.022);stroke:rgba(0,180,169,.5);stroke-width:1.6}
.fp .grid{stroke:rgba(255,255,255,.05);stroke-width:1}
.fp .scan{fill:rgba(0,220,215,.07)}
.is-active .fp .scan{animation:fpScan 3.6s linear infinite}
@keyframes fpScan{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.fp .sensor .core{fill:var(--mint);opacity:0}
.fp .sensor .halo{fill:none;stroke:var(--mint);stroke-width:1.4;opacity:0}
.is-active .fp .sensor .core{animation:fpCore .5s ease forwards}
.is-active .fp .sensor .halo{animation:fpHalo 2.6s ease-out infinite}
.fp .sensor:nth-child(2) .core,.fp .sensor:nth-child(2) .halo{animation-delay:.15s}
.fp .sensor:nth-child(3) .core,.fp .sensor:nth-child(3) .halo{animation-delay:.4s}
.fp .sensor:nth-child(4) .core,.fp .sensor:nth-child(4) .halo{animation-delay:.65s}
.fp .sensor:nth-child(5) .core,.fp .sensor:nth-child(5) .halo{animation-delay:.9s}
.fp .sensor:nth-child(6) .core,.fp .sensor:nth-child(6) .halo{animation-delay:1.15s}
@keyframes fpCore{to{opacity:1}}
@keyframes fpHalo{0%{opacity:.7;transform:scale(.4);transform-box:fill-box;transform-origin:center}70%,100%{opacity:0;transform:scale(2.6);transform-box:fill-box;transform-origin:center}}
/* --- 2 Monitor: devices panel --- */
.dev{width:100%;max-width:430px;margin:auto;border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.13);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.dev-h{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:850;font-size:.86rem}
.dev-h .on{color:var(--mint);display:inline-flex;gap:7px;align-items:center;font-size:.72rem;font-weight:850}
.dev-h .on i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);font-style:normal}
.dev-row{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.85rem}
.dev-row .ico{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(0,180,169,.14);border:1px solid rgba(0,180,169,.3);color:var(--mint);flex:none}
.dev-row .ico svg{width:15px;height:15px}
.dev-row .nm{flex:1;font-weight:750}
.dev-row .ct{color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}
.dev-row .chev{color:var(--muted);width:14px;height:14px;flex:none}
.dev-row.head{background:rgba(0,180,169,.12)}
.dev-sub{display:flex;align-items:center;gap:10px;padding:9px 16px 9px 53px;font-size:.79rem;border-bottom:1px solid rgba(255,255,255,.05)}
.dev-sub .sd{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 9px rgba(185,241,153,.7);flex:none}
.dev-sub .nm{flex:1;color:#dbeef5}
.dev-sub .ppm{color:#fff;font-variant-numeric:tabular-nums;font-weight:750}
.bars{display:inline-flex;gap:2px;align-items:flex-end;height:14px;margin-left:9px}
.bars i{width:3px;background:var(--teal);border-radius:1px;height:35%}
.bars i:nth-child(2){height:60%}.bars i:nth-child(3){height:85%}.bars i:nth-child(4){height:100%}
.is-active .bars i{animation:barP 1.8s ease-in-out infinite}
.is-active .bars i:nth-child(2){animation-delay:.2s}.is-active .bars i:nth-child(3){animation-delay:.4s}.is-active .bars i:nth-child(4){animation-delay:.6s}
@keyframes barP{0%,100%{opacity:.45}50%{opacity:1}}
/* --- 3 Analyse: chart + tiles --- */
.an{display:flex;flex-direction:column;gap:13px;width:100%;max-width:480px;margin:auto}
.an-card{border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.13);padding:16px 18px;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.an-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.an-h b{font-size:.92rem}.an-h .sub{color:var(--muted);font-size:.72rem;display:block;margin-top:2px;font-weight:600}
.an-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 11px;background:rgba(31,143,90,.2);border:1px solid rgba(31,143,90,.5);color:#9be8bc;font-size:.72rem;font-weight:850}
.an-badge i{width:6px;height:6px;border-radius:50%;background:#3fd592;box-shadow:0 0 9px #3fd592;font-style:normal}
.an-chart{width:100%;height:118px;display:block;margin-top:8px}
.an-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.an-line{fill:none;stroke:var(--mint);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.is-active .an-line{stroke-dasharray:640;stroke-dashoffset:640;animation:anDraw 1.9s ease forwards}
@keyframes anDraw{to{stroke-dashoffset:0}}
.an-area{fill:url(#anGrad);opacity:0}
.is-active .an-area{animation:anFade 1.4s ease .9s forwards}
@keyframes anFade{to{opacity:1}}
.an-end{fill:var(--mint);opacity:0}
.is-active .an-end{animation:anFade .4s ease 1.8s forwards}
.an-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.an-tile{border-radius:11px;padding:11px 13px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.an-tile b{display:block;color:#fff;font-size:1.12rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.an-tile b.ok{color:var(--mint)}
.an-tile span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;margin-top:3px}
/* --- 4 Improve: comfort heatmap --- */
.hm{width:100%;max-width:500px;margin:auto;display:flex;flex-direction:column;gap:12px}
.hm-svg{width:100%;display:block;border-radius:13px;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.4)}
.hm-blob{mix-blend-mode:screen}
.is-active .hm-cool{animation:hmCool 5s ease-in-out infinite alternate}
@keyframes hmCool{0%{opacity:.85}100%{opacity:.25}}
.is-active .hm-warm{animation:hmWarm 5s ease-in-out infinite alternate}
@keyframes hmWarm{0%{opacity:.2}100%{opacity:.7}}
.hm-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.hm-actions{display:flex;gap:7px;flex-wrap:wrap}
.hm-act{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:.76rem;font-weight:700;color:#d6eaf1}
.hm-act svg{width:14px;height:14px;color:var(--mint)}
.hm-legend{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.hm-legend .bar{width:74px;height:8px;border-radius:999px;background:linear-gradient(90deg,#1f8f5a,#B9F199,#E8A24E)}
@media(max-width:900px){.how-stepper{grid-template-columns:1fr}.how-stage{min-height:clamp(340px,72vw,420px);order:-1}.how-tabs{flex-direction:row;overflow-x:auto;gap:8px;-webkit-overflow-scrolling:touch}.how-tab{min-width:200px;flex:0 0 auto}}
@media(max-width:620px){.how-tab{min-width:170px}.how-tab b{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.how-card{transition:opacity .2s ease}.fp .scan,.fp .sensor .halo,.bars i,.hm-cool,.hm-warm{animation:none!important}.fp .sensor .core{opacity:1!important}.an-line{stroke-dashoffset:0!important;animation:none!important}.an-area,.an-end{opacity:1!important;animation:none!important}}

/* ===== GeoWorks "How it works" stepper graphics ===== */
/* Triage — request enriches into a triaged job */
.gw-ticket{width:100%;max-width:430px;margin:auto;border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.13);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.gw-th{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:850;font-size:.86rem}
.gw-th .req{color:var(--mint);display:inline-flex;gap:7px;align-items:center;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.gw-th .req i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);font-style:normal;animation:howBlink 2.4s ease-in-out infinite}
.gw-th .id{color:#cfe6ee;font-variant-numeric:tabular-nums}
.gw-fld{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.85rem;opacity:0;transform:translateX(-7px)}
.is-active .gw-fld{animation:gwFldIn .55s ease forwards}
.is-active .gw-fld.f2{animation-delay:.22s}.is-active .gw-fld.f3{animation-delay:.46s}
.gw-fld .ico{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(0,180,169,.14);border:1px solid rgba(0,180,169,.3);color:var(--mint);flex:none}
.gw-fld .ico svg{width:15px;height:15px}
.gw-fld .k{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;width:52px;flex:none;font-weight:800}
.gw-fld .v{flex:1;font-weight:750;color:#eef9ff}
.gw-fld .pr{border-radius:999px;padding:3px 10px;font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;background:var(--status-warning-soft,#FCEFD6);color:#8A5607}
.gw-accept{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px}
.gw-accept .lbl{position:relative;height:18px;flex:1;font-size:.8rem;font-weight:800}
.gw-accept .lbl span{position:absolute;left:0;top:0;white-space:nowrap;opacity:0}
.gw-accept .lbl .pend{color:var(--mint)}
.is-active .gw-accept .lbl .pwait{animation:gwFade 4.6s ease-in-out infinite}
.is-active .gw-accept .lbl .pend{animation:gwFade2 4.6s ease-in-out infinite}
.gw-chk{width:22px;height:22px;border-radius:50%;border:1.6px solid rgba(0,220,215,.5);position:relative;flex:none}
.gw-chk:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px var(--teal);transform:scale(0)}
.is-active .gw-chk:after{animation:gwPop 4.6s ease-in-out infinite}
@keyframes gwFldIn{to{opacity:1;transform:none}}
@keyframes gwFade{0%,42%{opacity:1}52%,100%{opacity:0}}
@keyframes gwFade2{0%,42%{opacity:0}55%,100%{opacity:1}}
@keyframes gwPop{0%,42%{transform:scale(0)}58%,100%{transform:scale(1)}}

/* Schedule — visual resource planner */
.gw-plan{width:100%;max-width:470px;margin:auto;border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.13);padding:16px;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.gw-plan-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:850;font-size:.84rem}
.gw-plan-h .wk{color:var(--muted);font-size:.72rem;font-weight:800}
.gw-grid{display:grid;grid-template-columns:74px repeat(5,1fr);gap:6px;align-items:center}
.gw-grid .col{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:center;font-weight:800}
.gw-grid .op{font-size:.74rem;font-weight:750;color:#dbeef5;display:flex;align-items:center;gap:7px}
.gw-grid .op i{width:18px;height:18px;border-radius:50%;background:rgba(0,180,169,.2);border:1px solid rgba(0,180,169,.4);font-style:normal;font-size:.56rem;font-weight:850;color:#cdeee9;display:flex;align-items:center;justify-content:center;flex:none}
.gw-cell{height:26px;border-radius:6px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
.gw-job{height:26px;border-radius:6px;display:flex;align-items:center;padding:0 8px;font-size:.62rem;font-weight:800;letter-spacing:.01em;color:#04263c;background:linear-gradient(135deg,var(--teal),#4bd6bf);overflow:hidden;white-space:nowrap}
.gw-job.b{background:linear-gradient(135deg,#B9F199,#71DE98);color:#0c3320}
.gw-job.incoming{opacity:0;transform:translateY(-9px) scale(.9);outline:0 solid rgba(0,220,215,.6)}
.is-active .gw-job.incoming{animation:gwDrop 4.8s ease-in-out infinite}
@keyframes gwDrop{0%,18%{opacity:0;transform:translateY(-9px) scale(.9)}32%,72%{opacity:1;transform:none;outline:2px solid rgba(0,220,215,.55);outline-offset:1px}86%,100%{opacity:1;transform:none;outline:0 solid transparent}}

/* Close — compliance ring + proven/paid rows */
.gw-close{width:100%;max-width:440px;margin:auto;display:flex;flex-direction:column;gap:13px}
.gw-close-top{display:flex;gap:18px;align-items:center;border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.13);padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.gw-ring{width:96px;height:96px;flex:none;position:relative}
.gw-ring svg{transform:rotate(-90deg);width:96px;height:96px}
.gw-ring .track{stroke:rgba(255,255,255,.1);stroke-width:9;fill:none}
.gw-ring .val{stroke:var(--teal);stroke-width:9;fill:none;stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;filter:drop-shadow(0 0 6px rgba(0,180,169,.6))}
.is-active .gw-ring .val{animation:gwRing 1.5s cubic-bezier(.4,0,.2,1) forwards .25s}
@keyframes gwRing{to{stroke-dashoffset:13}}
.gw-ring .num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:850;font-size:1.34rem;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.gw-close-meta b{display:block;font-size:1rem;color:#eef9ff;letter-spacing:-.01em}
.gw-close-meta span{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}
.gw-crow{display:flex;align-items:center;gap:11px;border-radius:12px;background:rgba(2,30,53,.5);border:1px solid rgba(255,255,255,.1);padding:11px 14px;font-size:.83rem;font-weight:700;color:#dff2f9;opacity:0;transform:translateY(8px)}
.is-active .gw-crow{animation:gwFldIn .5s ease forwards}
.is-active .gw-crow.c2{animation-delay:.55s}.is-active .gw-crow.c3{animation-delay:1.05s}
.gw-crow .rc{width:18px;height:18px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);display:flex;align-items:center;justify-content:center;flex:none}
.gw-crow .rc svg{width:11px;height:11px;color:#04263c}
.gw-crow .amt{margin-left:auto;color:#fff;font-variant-numeric:tabular-nums;font-weight:800}

/* Deliver — reuse offline phone inside the stepper */
.gw-deliver{display:flex;justify-content:center;align-items:center;width:100%}
.gw-deliver .sync-phone{transform:scale(.86)}
@media(prefers-reduced-motion:reduce){.gw-fld,.gw-crow{opacity:1!important;transform:none!important;animation:none!important}.gw-job.incoming{opacity:1!important;transform:none!important;animation:none!important}.gw-ring .val{animation:none!important;stroke-dashoffset:13!important}.gw-accept .lbl .pwait{opacity:0!important}.gw-accept .lbl .pend{opacity:1!important}.gw-chk:after{transform:scale(1)!important}}

/* GeoWorks stepper: on mobile let the stage grow to each graphic instead of clipping in a fixed box */
@media(max-width:900px){
.how-stepper--gw .how-stage{min-height:0;height:auto;overflow:hidden}
.how-stepper--gw .how-card{position:relative;inset:auto;display:none;opacity:1;visibility:visible;transform:none;height:auto;padding:clamp(18px,5vw,28px)}
.how-stepper--gw .how-card.is-active{display:flex}
.how-stepper--gw .gw-ticket,.how-stepper--gw .gw-plan,.how-stepper--gw .gw-close{max-width:100%}
.how-stepper--gw .gw-deliver .sync-phone{transform:scale(.92)}
}

/* Pressure stage — unified framed panel matching the sector switcher (.secstage) */
.prs-stage{position:relative;display:grid;grid-template-columns:minmax(300px,.92fr) 1.08fr;min-height:clamp(420px,52vh,520px);border:1px solid var(--geo-web-border,#16334D);border-radius:var(--radius-lg,12px);overflow:hidden;background:var(--geo-navy,#002442);margin-top:var(--space-8,32px)}
.prs-media{position:relative;overflow:hidden;min-height:260px}
.prs-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prs-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,13,24,.18) 0%,rgba(0,13,24,.34) 62%,rgba(0,13,24,.78) 100%),linear-gradient(0deg,rgba(0,13,24,.9) 0%,rgba(0,13,24,.18) 46%,rgba(0,13,24,0) 72%)}
.prs-media .seckicker{position:absolute;left:20px;top:18px;z-index:2;margin:0}
.prs-media .media-chip{position:absolute;left:20px;bottom:18px;z-index:2}
.prs-list{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(20px,3vw,40px);background:linear-gradient(180deg,rgba(0,13,24,.2),rgba(0,13,24,.42))}
.prs-item{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px 0;border-top:1px solid rgba(255,255,255,.1)}
.prs-item:first-child{border-top:0;padding-top:4px}
.prs-item:last-child{padding-bottom:4px}
.prs-idx{font-family:Outfit,Inter,system-ui,sans-serif;font-size:1rem;font-weight:700;line-height:1.6;color:var(--mint);letter-spacing:.04em;opacity:.9}
.prs-item h3{font-size:1.22rem;margin:0 0 6px;letter-spacing:-.03em;line-height:1.2}
.prs-item p{margin:0;color:#c2d6de;line-height:1.6;font-size:.98rem}
@media(max-width:860px){.prs-stage{grid-template-columns:1fr;min-height:0}.prs-media{min-height:300px}}

/* Watch-case-study tile (replaces a proof stat) + case-study video target */
.watch-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:11px;border-radius:8px;padding:16px 14px;background:linear-gradient(150deg,rgba(0,180,169,.18),rgba(185,241,153,.07));border:1px solid rgba(185,241,153,.3);transition:transform .18s ease-out,background .18s ease-out,box-shadow .18s ease-out}
.watch-cta:hover{transform:translateY(-2px);background:linear-gradient(150deg,rgba(0,180,169,.28),rgba(185,241,153,.12));box-shadow:0 14px 40px rgba(0,0,0,.3)}
.watch-cta:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.watch-play{position:relative;flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#001d2f;background:linear-gradient(135deg,var(--teal),#4bd6bf);box-shadow:0 0 24px rgba(0,180,169,.45)}
.watch-play:before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--teal);animation:watchPulse 2.4s ease-out infinite}
.watch-play svg{margin-left:3px}
.watch-cta .wt-title{display:block;color:#f7fbff;font-weight:850;font-size:.98rem;letter-spacing:-.01em}
.watch-cta .wt-sub{display:block;color:var(--mint);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
@keyframes watchPulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}
#case-study{scroll-margin-top:90px}
.stat-grid--hero .watch-cta{border-radius:16px;padding:14px 12px;gap:9px}.stat-grid--hero .watch-play{width:42px;height:42px}
.video-frame video{width:100%;height:100%;object-fit:cover;display:block}
.proof-quote{margin:22px 0 12px;padding-left:16px;border-left:2px solid var(--teal);font-size:1.14rem;line-height:1.5;color:#eaf6fb;font-weight:600;letter-spacing:-.01em}
.proof-attr{margin:0;color:var(--mint);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850}
.proof-video{align-self:center;margin:0}
@media(prefers-reduced-motion:reduce){.watch-cta,.watch-play:before{animation:none!important;transition:none!important}}

/* Hero case-study sector switcher (index) */
.cs-switch{position:relative;z-index:2;display:flex;flex-direction:column;gap:13px}
.cs-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cs-tab{appearance:none;-webkit-appearance:none;cursor:pointer;font-family:inherit;border-radius:999px;padding:9px 8px;font-weight:850;font-size:.72rem;letter-spacing:.02em;line-height:1.12;text-align:center;color:#cfe6ee;background:rgba(2,34,61,.55);border:1px solid rgba(255,255,255,.1);transition:color .18s,background .18s,border-color .18s,box-shadow .18s}
.cs-tab:hover{color:#fff;border-color:rgba(185,241,153,.32)}
.cs-tab[aria-selected="true"]{color:#001d2f;background:linear-gradient(135deg,var(--teal),#4bd6bf);border-color:transparent;box-shadow:0 10px 28px rgba(0,180,169,.32)}
.cs-tab:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.stat--pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border:1px dashed rgba(185,241,153,.3)!important;background:rgba(255,255,255,.04)!important}
.stat--pending .csp-ic{font-size:1.05rem;color:var(--mint);line-height:1}
.stat--pending b{color:#dff1f7;font-size:.9rem;letter-spacing:-.01em}
@keyframes csFade{from{opacity:.4}to{opacity:1}}
.cs-fade{animation:csFade .35s ease}
@media(max-width:980px){.cs-switch{max-width:620px}}
@media(prefers-reduced-motion:reduce){.cs-tab{transition:none}.cs-fade{animation:none}}

/* ── Operational-gain cards: visual-first ───────────────── */
.card--gain{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;min-height:0}
.gain-art{position:relative;height:150px;display:block;background:linear-gradient(165deg,rgba(0,180,169,.16),rgba(0,24,45,.30));border-bottom:1px solid rgba(255,255,255,.08)}
.gain-art svg{position:absolute;inset:0;width:100%;height:100%}
.card--gain .gain-body{padding:22px 24px 26px}
.card--gain h3{font-size:1.24rem;margin:0 0 7px;letter-spacing:-.03em}
.card--gain p{color:#bcd2db;line-height:1.55;font-size:.95rem;margin:0}
.gain-art .ln{fill:none;stroke-linecap:round;stroke-linejoin:round}
.gain-art .dash{stroke-dasharray:4 5;opacity:.5}
/* save curve */
.gain-art .gsave{stroke-dasharray:240;stroke-dashoffset:240;animation:gDraw 2.2s ease forwards}
.gain-art .gwedge{opacity:0;animation:gFill .8s ease 1.2s forwards}
/* radar catch */
.gain-art .gpulse{transform-box:fill-box;transform-origin:center;animation:gPing 2.6s ease-out infinite}
.gain-art .gdot{opacity:0;animation:gBlip 2.6s ease-in-out infinite}
/* compliance shield ticks */
.gain-art .gtick{stroke-dasharray:30;stroke-dashoffset:30;animation:gDraw 1s ease .5s forwards}
.gain-art .grow{opacity:0}
.gain-art .grow.r1{animation:gRise .5s ease .8s forwards}
.gain-art .grow.r2{animation:gRise .5s ease 1.1s forwards}
.gain-art .grow.r3{animation:gRise .5s ease 1.4s forwards}
@keyframes gDraw{to{stroke-dashoffset:0}}
@keyframes gFill{to{opacity:1}}
@keyframes gPing{0%{transform:scale(.35);opacity:.85}70%{opacity:0}100%{transform:scale(1.5);opacity:0}}
@keyframes gBlip{0%,40%{opacity:0}55%,80%{opacity:1}100%{opacity:0}}
@keyframes gRise{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.gain-art .gsave,.gain-art .gwedge,.gain-art .gpulse,.gain-art .gdot,.gain-art .gtick,.gain-art .grow{animation:none;stroke-dashoffset:0;opacity:1;transform:none}}

/* Light sector switcher (homepage) — bright, airy variant of .secstage */
.sectors-light{background:linear-gradient(180deg,#FFFFFF 0%,#F7F8FA 100%)}
.sectors-light .section-head .eyebrow{color:var(--geo-teal-dark,#009289)}
.sectors-light .section-head .display{color:var(--geo-navy,#002442)}
.sectors-light .section-head p{color:var(--geo-slate,#454C59)}
.secstage.is-light{background:var(--surface,#fff);border:1px solid var(--border,#E2E6EC);box-shadow:var(--shadow-lg,0 12px 36px rgba(14,22,34,.12))}
.secstage.is-light .secframe{min-height:clamp(440px,56vh,580px)}
.secstage.is-light .secscrim{background:linear-gradient(0deg,rgba(0,36,66,.30) 0%,rgba(0,36,66,.06) 42%,transparent 62%)}
.secstage.is-light .secpanel{left:clamp(18px,3.5vw,40px);right:auto;bottom:clamp(18px,3.5vw,40px);max-width:min(440px,84%);background:rgba(255,255,255,.88);backdrop-filter:blur(14px) saturate(1.12);-webkit-backdrop-filter:blur(14px) saturate(1.12);border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 34px rgba(14,22,34,.20);border-radius:var(--radius-lg,12px);padding:clamp(18px,2.3vw,26px)}
.secstage.is-light .seckicker{color:var(--geo-teal-dark,#009289)}
.secstage.is-light .secline{color:var(--geo-navy,#002442)}
.secstage.is-light .secmeta{color:var(--geo-slate,#454C59)}
.secstage.is-light .secchips span{color:var(--geo-navy,#002442);background:rgba(0,180,169,.12);border-color:rgba(0,146,137,.38)}
.secstage.is-light .seclink{display:inline-flex;align-items:center;gap:6px;margin-top:15px;font-size:14px;font-weight:600;color:var(--geo-blue,#004689);text-decoration:none}
.secstage.is-light .seclink:hover{text-decoration:underline}
.secstage.is-light .seclink:focus-visible{outline:2px solid var(--geo-teal-dark,#009289);outline-offset:3px;border-radius:3px}
.secstage.is-light .sectabs{background:var(--surface,#fff);border-top:1px solid var(--border,#E2E6EC)}
.secstage.is-light .sectab{border-left-color:var(--border,#E2E6EC);color:var(--geo-slate,#454C59)}
.secstage.is-light .sectab b{color:var(--geo-navy,#002442)}
.secstage.is-light .sectab small{color:var(--fg-subtle,#8892A0)}
.secstage.is-light .sectab:hover{background:#F2F6F8}
.secstage.is-light .sectab.is-active{background:#F0FAF9;border-top-color:var(--geo-teal,#00B4A9)}
.secstage.is-light .sectab.is-active b{color:var(--geo-navy,#002442)}
.secstage.is-light .sectab.is-active small{color:var(--geo-teal-dark,#009289)}
.secstage.is-light .sectab:focus-visible{outline:2px solid var(--geo-teal-dark,#009289);outline-offset:-2px}
.secproof.is-light{border-top-color:var(--border,#E2E6EC)}
.secproof.is-light .stat b{color:var(--geo-navy,#002442)}
.secproof.is-light .stat span{color:var(--geo-slate,#454C59)}

/* Visual filmstrip tabs (homepage light switcher) — turns the plain tab strip into image previews */
.secstage.is-light{box-shadow:0 18px 50px rgba(14,22,34,.16)}
.secstage.is-light .secframe{min-height:clamp(460px,60vh,640px)}
.sectabs--film{gap:0}
.secstage.is-light .sectabs--film .sectab{display:flex;align-items:center;gap:13px;padding:14px clamp(12px,1.5vw,18px)}
.sectab-thumb{flex:none;width:54px;height:42px;border-radius:8px;background-size:cover;background-position:center;border:1px solid var(--border,#E2E6EC);box-shadow:var(--shadow-sm,0 1px 2px rgba(14,22,34,.06));position:relative;overflow:hidden;filter:saturate(.92) brightness(.97);transition:filter .2s ease,box-shadow .2s ease,transform .2s ease}
.sectab-thumb::after{content:"";position:absolute;inset:0;background:rgba(0,36,66,.28);transition:background .2s ease}
.sectab-txt{display:flex;flex-direction:column;min-width:0}
.secstage.is-light .sectabs--film .sectab:hover .sectab-thumb{filter:saturate(1) brightness(1);transform:translateY(-1px)}
.secstage.is-light .sectabs--film .sectab.is-active .sectab-thumb{filter:saturate(1.04) brightness(1.02);box-shadow:0 0 0 2px var(--geo-teal,#00B4A9),0 4px 12px rgba(0,180,169,.25);transform:translateY(-1px)}
.secstage.is-light .sectabs--film .sectab.is-active .sectab-thumb::after{background:rgba(0,180,169,.06)}
/* play-style affordance: tiny progress dot on the active tab */
.secstage.is-light .sectabs--film .sectab.is-active b{color:var(--geo-navy,#002442)}
@media(max-width:760px){.sectab-thumb{width:44px;height:36px}.secstage.is-light .sectabs--film .sectab{gap:10px;padding:12px}}
@media(max-width:460px){.sectab-thumb{display:none}}
@media(prefers-reduced-motion:reduce){.sectab-thumb{transition:none}}

/* Dark filmstrip sector switcher (homepage) — dark-mode variant of the light .secstage,
   images graded navy/teal to match the rest of the site without going too moody */
.sectors-dark{background:linear-gradient(180deg,#0C2941 0%,#07203A 100%)}
.sectors-dark .section-head .eyebrow{color:var(--geo-cyan,#00DCD7)}
.sectors-dark .section-head .display{color:#fff}
.sectors-dark .section-head p{color:#C7D3E0}
.secstage.is-darkfilm{background:#0A2236;border:1px solid var(--geo-web-border,#16334D);box-shadow:0 20px 54px rgba(0,8,18,.5)}
.secstage.is-darkfilm .secframe{min-height:clamp(460px,60vh,640px)}
.secstage.is-darkfilm .secimg{filter:saturate(1.06) contrast(1.03) brightness(.99)}
.secstage.is-darkfilm .secscrim{background:
  linear-gradient(90deg,rgba(3,17,30,.9) 0%,rgba(3,17,30,.64) 32%,rgba(3,17,30,.24) 60%,rgba(3,17,30,.04) 100%),
  linear-gradient(0deg,rgba(3,17,30,.52) 0%,rgba(3,17,30,.1) 44%,transparent 68%),
  linear-gradient(120deg,rgba(0,180,169,.13) 0%,rgba(0,70,137,.15) 100%)}
.secstage.is-darkfilm .secpanel{left:clamp(18px,3.5vw,40px);right:auto;bottom:clamp(18px,3.5vw,40px);max-width:min(440px,84%);background:rgba(6,22,38,.52);backdrop-filter:blur(15px) saturate(1.1);-webkit-backdrop-filter:blur(15px) saturate(1.1);border:1px solid rgba(0,220,215,.2);box-shadow:0 14px 36px rgba(0,8,18,.42);border-radius:var(--radius-lg,12px);padding:clamp(18px,2.3vw,26px)}
.secstage.is-darkfilm .seckicker{color:var(--geo-cyan,#00DCD7)}
.secstage.is-darkfilm .secline{color:#fff}
.secstage.is-darkfilm .secmeta{color:rgba(255,255,255,.8)}
.secstage.is-darkfilm .secchips span{color:#EAF6FF;background:rgba(0,220,215,.14);border-color:rgba(0,220,215,.4)}
.secstage.is-darkfilm .seclink{display:inline-flex;align-items:center;gap:6px;margin-top:15px;font-size:14px;font-weight:600;color:var(--geo-cyan,#00DCD7);text-decoration:none}
.secstage.is-darkfilm .seclink:hover{text-decoration:underline}
.secstage.is-darkfilm .seclink:focus-visible{outline:2px solid var(--geo-cyan,#00DCD7);outline-offset:3px;border-radius:3px}
.secstage.is-darkfilm .sectabs--film{gap:0}
.secstage.is-darkfilm .sectabs--film .sectab{display:flex;align-items:center;gap:13px;padding:14px clamp(12px,1.5vw,18px)}
.secstage.is-darkfilm .sectab-thumb{border:1px solid rgba(255,255,255,.14);box-shadow:0 1px 3px rgba(0,0,0,.4);filter:saturate(1.02) brightness(.96)}
.secstage.is-darkfilm .sectab-thumb::after{background:rgba(3,17,30,.32)}
.secstage.is-darkfilm .sectabs--film .sectab:hover .sectab-thumb{filter:saturate(1.05) brightness(1.05);transform:translateY(-1px)}
.secstage.is-darkfilm .sectabs--film .sectab.is-active .sectab-thumb{filter:saturate(1.08) brightness(1.06);box-shadow:0 0 0 2px var(--geo-cyan,#00DCD7),0 4px 14px rgba(0,220,215,.3);transform:translateY(-1px)}
.secstage.is-darkfilm .sectabs--film .sectab.is-active .sectab-thumb::after{background:rgba(0,220,215,.08)}
@media(max-width:760px){.secstage.is-darkfilm .sectabs--film .sectab{gap:10px;padding:12px}}

/* Trusted-by logo marquee (under hero) */
.trustbar{padding:22px 0;background:#070C14;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.trustbar-inner{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.trustbar-label{flex:none;color:#7e93a3;font-size:.72rem;text-transform:uppercase;letter-spacing:.24em;font-weight:800;white-space:nowrap}
.trust-marquee{position:relative;width:100%;min-width:0;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
.trust-track{display:flex;width:max-content;animation:trustScroll 50s linear infinite}
.trust-marquee:hover .trust-track,.trust-track:focus-within{animation-play-state:paused}
.trust-group{display:flex;align-items:center;gap:92px;padding-right:92px}
.trust-logo{height:38px;width:auto;flex:none;object-fit:contain;opacity:.78;filter:saturate(0);transition:opacity .2s ease}
.trust-logo:hover{opacity:1}
/* optical size normalisation per logo */
.trust-logo[src*="west-lothian"]{height:36px}
.trust-logo[src*="whg"]{height:31px}
.trust-logo[src*="bcp"]{height:46px}
.trust-logo[src*="strathclyde"]{height:41px}
.trust-logo[src*="gtr"]{height:36px}
.trust-logo[src*="mitchells"]{height:43px}
.trust-logo[src*="eon"]{height:33px}
@keyframes trustScroll{to{transform:translateX(-50%)}}
@media(max-width:760px){.trustbar{padding:20px 0}.trust-group{gap:60px;padding-right:60px}.trust-logo{height:38px}.trust-logo[src*="bcp"]{height:46px}.trust-logo[src*="mitchells"]{height:42px}.trust-logo[src*="strathclyde"]{height:40px}.trust-logo[src*="whg"]{height:32px}.trust-logo[src*="eon"]{height:34px}.trust-logo[src*="west-lothian"]{height:36px}.trust-logo[src*="gtr"]{height:36px}}
@media(prefers-reduced-motion:reduce){.trust-track{animation:none}}
/* === system map: how the products interact === */
.sysmap-panel{position:relative;border-radius:16px;padding:clamp(22px,3vw,40px);margin:0 0 8px;background:linear-gradient(180deg,rgba(3,37,66,.58),rgba(0,20,38,.34));border:1px solid rgba(255,255,255,.09);overflow:hidden}
.sysmap-panel:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,180,169,.55) 30%,rgba(185,241,153,.5) 70%,transparent)}
.sysmap{margin:14px 0 0;border:0;background:none;padding:0;border-radius:0}
.sysmap-svg{display:block;width:100%;height:auto;max-height:540px;overflow:visible}
.sysmap text{font-family:"Open Sans",Inter,system-ui,sans-serif}
.sm-node{fill:#eaf6ff;font-size:14px;font-weight:800;letter-spacing:.11em}
.sm-chip{fill:#dde9f0;font-size:12.5px;font-weight:700}
.sm-job{fill:#eafdfb;font-size:14px;font-weight:800}
.sm-out{fill:#d2eef0;font-size:12.5px;font-weight:700}
.sm-intext{fill:#9fc6c2;font-size:11px;font-weight:800;letter-spacing:.05em}
.sm-halo{filter:blur(13px);opacity:.5}
.sm-rev{opacity:1}
.sm-dot{opacity:0}
.sysmap-cap{margin:6px 4px 2px;text-align:center;color:#9fc0cb;font-size:.84rem;letter-spacing:.01em}
.card-logo-h{margin:0 0 14px}.card-logo{height:34px;width:auto;max-width:100%;display:block}
@media(max-width:620px){.sysmap{padding:10px 4px 4px}.sysmap-cap{font-size:.78rem}}
@media(prefers-reduced-motion:no-preference){
.sm-ring{animation:smRing 9s linear infinite;transform-origin:460px 278px}
.sm-halo-a{animation:smHaloA 9s linear infinite}
.sm-halo-b{animation:smHaloB 9s linear infinite}
.sm-rev-a{animation:smRevA 9s linear infinite}
.sm-rev-b{animation:smRevB 9s linear infinite}
.dS1{animation:smDS1 9s linear infinite}
.dM1{animation:smDM1 9s linear infinite}
.dC1{animation:smDC1 9s linear infinite}
.dC2{animation:smDC2 9s linear infinite}
.dJ{animation:smDJ 9s linear infinite}
.dO1{animation:smDO1 2.6s linear infinite}
.dO2{animation:smDO2 2.6s linear infinite 1.3s}
}
@keyframes smRing{0%,100%{opacity:.4}50%{opacity:.66}}
@keyframes smHaloA{0%,12%{opacity:.16}20%{opacity:.85}90%{opacity:.66}100%{opacity:.16}}
@keyframes smHaloB{0%,54%{opacity:.16}62%{opacity:.85}92%{opacity:.66}100%{opacity:.16}}
@keyframes smRevA{0%,18%{opacity:0}26%,96%{opacity:1}100%{opacity:0}}
@keyframes smRevB{0%,40%{opacity:0}50%,96%{opacity:1}100%{opacity:0}}
@keyframes smRevC{0%,60%{opacity:0}66%,97%{opacity:1}100%{opacity:0}}
@keyframes smRevC2{0%,62%{opacity:0}68%,97%{opacity:1}100%{opacity:0}}
@keyframes smDS1{0%,6%{opacity:0;transform:translate(0,0)}10%{opacity:1}16%{opacity:1}18%,100%{opacity:0;transform:translate(96px,-12px)}}
@keyframes smDM1{0%,6%{opacity:0;transform:translate(0,0)}10%{opacity:1}16%{opacity:1}18%,100%{opacity:0;transform:translate(-96px,-12px)}}
@keyframes smDC1{0%,30%{opacity:0;transform:translate(0,0)}34%{opacity:1}42%{opacity:1}44%,100%{opacity:0;transform:translate(86px,-60px)}}
@keyframes smDC2{0%,30%{opacity:0;transform:translate(0,0)}34%{opacity:1}42%{opacity:1}44%,100%{opacity:0;transform:translate(-86px,-60px)}}
@keyframes smDJ{0%,52%{opacity:0;transform:translate(0,0)}56%{opacity:1}64%{opacity:1}66%,100%{opacity:0;transform:translate(0,-106px)}}
@keyframes smDO1{0%{opacity:0;transform:translate(238px,38px)}10%{opacity:1}86%{opacity:1}100%{opacity:0;transform:translate(0,0)}}
@keyframes smDO2{0%{opacity:0;transform:translate(238px,84px)}10%{opacity:1}86%{opacity:1}100%{opacity:0;transform:translate(0,0)}}
/* Premium product cards (#products) */
.prod-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:46px}
.prodcard{position:relative;display:flex;flex-direction:column;padding:27px 25px 24px;border-radius:13px;background:linear-gradient(180deg,rgba(255,255,255,.062),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);overflow:hidden;isolation:isolate;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .4s}
.prodcard:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .45s;background:radial-gradient(135% 92% at 50% -14%,var(--pc),transparent 62%)}
.prodcard:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--pcs);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.prodcard:hover,.prodcard:focus-visible{transform:translateY(-6px);border-color:var(--pcb);box-shadow:0 26px 56px rgba(0,0,0,.38)}
.prodcard:hover:before,.prodcard:focus-visible:before{opacity:.6}
.prodcard:hover:after,.prodcard:focus-visible:after{transform:scaleX(1)}
.prodcard:focus-visible{outline:2px solid var(--pcs);outline-offset:3px}
.pc-logo{height:33px;width:auto;max-width:100%;display:block;margin-bottom:17px}
.pc-tag{color:#eaf5f9;font-size:1.05rem;line-height:1.4;font-weight:700;margin:0 0 17px;letter-spacing:-.01em}
.pc-caps{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0 0 24px}
.pc-cap{font-size:.72rem;letter-spacing:.03em;color:#d2e6ed;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.pc-go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:800;font-size:.88rem}
.pc-arrow{color:var(--pcs);font-size:1.08rem;line-height:1;transition:transform .3s}
.prodcard:hover .pc-arrow,.prodcard:focus-visible .pc-arrow{transform:translateX(5px)}
.sysmap-intro{display:block;margin:0;max-width:760px}
.sysmap-intro .sysmap-title{font-size:clamp(1.45rem,2.05vw,2.1rem);margin-top:12px}
.sysmap-intro p{margin:14px 0 0;color:#c2d6de;line-height:1.68;font-size:1.03rem;max-width:680px}
.sysflow{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sysflow-step{padding:18px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.sysflow-top{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.sysflow-dot{width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 14px var(--c);flex:none}
.sysflow-n{font-size:.72rem;letter-spacing:.14em;color:var(--c);font-weight:850;text-transform:uppercase}
.sysflow-step b{display:block;font-size:1.04rem;margin:0 0 6px;letter-spacing:-.01em}
.sysflow-step p{margin:0;color:#bcd2db;font-size:.9rem;line-height:1.55;max-width:none}
.sysmap-togglewrap{display:flex;justify-content:center;margin-top:22px}
.sysmap-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;border-radius:999px;padding:12px 22px;font:inherit;font-weight:850;font-size:.86rem;color:var(--ink);background:rgba(0,180,169,.12);border:1px solid rgba(0,180,169,.42);transition:background .18s,border-color .18s}
.sysmap-toggle:hover{background:rgba(0,180,169,.2);border-color:rgba(0,180,169,.62)}
.sysmap-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.sysmap-toggle .smt-icon{font-size:1rem;line-height:1;transition:transform .35s ease}
.sysmap-panel.is-open .sysmap-toggle .smt-icon{transform:rotate(180deg)}
.sysmap-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.4,0,.2,1),opacity .4s ease,margin-top .4s ease;margin-top:0}
.sysmap-reveal>figure{overflow:hidden;min-height:0}
.sysmap-panel.is-open .sysmap-reveal{grid-template-rows:1fr;opacity:1;margin-top:18px}
@media(prefers-reduced-motion:reduce){.sysmap-reveal{transition:opacity .2s ease}.sysmap-toggle .smt-icon{transition:none}}
@media(max-width:760px){.sysflow{grid-template-columns:1fr;gap:10px}}
.section-head--solo{grid-template-columns:1fr}
@media(max-width:980px){.prod-cards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.prod-cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.prodcard,.prodcard:after,.pc-arrow{transition:none}.prodcard:hover,.prodcard:focus-visible{transform:none}}

/* ---- Product accordion (replaces flat prod-cards) ---- */
.prod-acc{display:flex;gap:14px;margin-bottom:32px;height:470px}
.pa-panel{position:relative;flex:1 1 0;min-width:0;border-radius:15px;overflow:hidden;isolation:isolate;text-decoration:none;border:1px solid rgba(255,255,255,.1);transition:flex-grow .6s cubic-bezier(.2,.7,.2,1),border-color .45s,box-shadow .45s}
.pa-bg{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center;transform:scale(1.05);transform-origin:center;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s;filter:saturate(1) brightness(.84)}
.pa-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(2,11,20,.03) 0%,rgba(2,11,20,.12) 50%,rgba(2,11,20,.4) 100%)}
.pa-panel:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 44%,color-mix(in srgb,var(--pcs) 24%,transparent) 150%);opacity:0;transition:opacity .6s}
.pa-logo{position:absolute;top:26px;left:28px;z-index:2;height:auto;max-height:46px;max-width:calc(100% - 50px);width:auto;display:block;object-fit:contain;object-position:left center;transition:max-height .5s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 3px 14px rgba(0,0,0,.55))}
.pa-detail{position:absolute;left:0;right:0;bottom:0;padding:74px 30px 30px;opacity:0;transform:translateY(18px);transition:opacity .45s .06s,transform .55s cubic-bezier(.2,.7,.2,1);pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(2,11,20,.5) 34%,rgba(2,11,20,.88) 100%)}
.pa-tag{color:#fff;font-size:1.14rem;line-height:1.34;font-weight:700;margin:0 0 18px;letter-spacing:-.015em;max-width:320px}
.pa-caps{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;max-width:320px}
.pa-caps li{display:flex;align-items:center;gap:11px;color:#e8f2f6;font-size:.95rem;letter-spacing:-.005em;white-space:nowrap}
.pa-caps li:before{content:"";width:13px;height:13px;border-radius:50%;flex:none;border:1.5px solid var(--pcs);background:radial-gradient(circle at 50% 50%,var(--pcs) 0 2.6px,transparent 3.4px)}
.pa-go{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:800;font-size:.92rem}
.pa-arrow{color:var(--pcs);font-size:1.15rem;line-height:1;transition:transform .3s}
/* expanded state: hover, keyboard focus, or (by default) the first panel when row is idle */
.prod-acc:hover .pa-panel,.prod-acc:focus-within .pa-panel{flex-grow:1}
.pa-panel:hover,.pa-panel:focus-visible{flex-grow:2.3!important;border-color:var(--pcb);box-shadow:0 30px 60px rgba(0,0,0,.42)}
.pa-panel:focus-visible{outline:2px solid var(--pcs);outline-offset:3px}
.prod-acc:not(:hover):not(:focus-within) .pa-panel:first-child{flex-grow:2.3}
.pa-panel:hover .pa-bg,.pa-panel:focus-visible .pa-bg,.prod-acc:not(:hover):not(:focus-within) .pa-panel:first-child .pa-bg{filter:saturate(1.04) brightness(1);transform:scale(1)}
.pa-panel:hover:after,.pa-panel:focus-visible:after,.prod-acc:not(:hover):not(:focus-within) .pa-panel:first-child:after{opacity:1}
.pa-panel:hover .pa-detail,.pa-panel:focus-visible .pa-detail,.prod-acc:not(:hover):not(:focus-within) .pa-panel:first-child .pa-detail{opacity:1;transform:none;pointer-events:auto}
.pa-panel:hover .pa-arrow,.pa-panel:focus-visible .pa-arrow{transform:translateX(5px)}
.pa-panel:hover .pa-logo,.pa-panel:focus-visible .pa-logo,.prod-acc:not(:hover):not(:focus-within) .pa-panel:first-child .pa-logo{max-height:58px}
.pa-video{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease;filter:saturate(1.04) brightness(1)}
.pa-panel:hover .pa-video,.pa-panel:focus-visible .pa-video,.prod-acc:not(:hover):not(:focus-within) .pa-panel:first-child .pa-video{opacity:1}
@media(max-width:820px){
  .prod-acc{flex-direction:column;height:auto;gap:16px}
  /* stacked panel becomes a clean flex column: logo top, image middle, copy bottom — no overlap */
  .pa-panel{flex:none!important;min-height:360px;display:flex;flex-direction:column;justify-content:space-between}
  .pa-bg{filter:saturate(1.02) brightness(.92)!important;transform:none!important}
  .pa-video{display:none}
  .pa-panel:after{opacity:1}
  /* logo in normal flow at the top, modest fixed size, sitting over a darkened top band */
  .pa-logo{position:static;height:30px;max-height:30px;width:auto;max-width:calc(100% - 56px);margin:24px 28px 0;flex:none}
  .pa-panel:hover .pa-logo,.pa-panel:focus-visible .pa-logo,.prod-acc:not(:hover):not(:focus-within) .pa-panel:first-child .pa-logo{max-height:30px}
  /* copy pinned to the bottom over a strong legibility gradient */
  .pa-detail{position:relative;opacity:1;transform:none;pointer-events:auto;padding:64px 28px 26px;background:linear-gradient(180deg,transparent 0%,rgba(2,11,20,.62) 42%,rgba(2,11,20,.93) 100%)}
  /* top scrim so the white wordmark holds contrast over bright imagery */
  .pa-scrim{background:linear-gradient(180deg,rgba(2,11,20,.62) 0%,rgba(2,11,20,.22) 24%,transparent 46%,transparent 60%,rgba(2,11,20,.3) 100%)!important}
}
@media(prefers-reduced-motion:reduce){
  .pa-panel,.pa-bg,.pa-detail,.pa-arrow,.pa-panel:after,.pa-video{transition:none}
  .pa-video{display:none}
}
/* ===== GeoSpaces accordion: fixed sensor, changing environment (pub/home/school/depot) ===== */
.pa-scene{position:absolute;inset:0;z-index:-3;overflow:hidden;background:#06223a}
.pa-frame{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;filter:saturate(1.03) brightness(.94)}
.pa-frame.is-on{opacity:1}
@media(prefers-reduced-motion:no-preference){
  .pa-panel:hover .pa-frame.is-on,.pa-panel:focus-visible .pa-frame.is-on,.prod-acc:not(:hover):not(:focus-within) .pa-panel--scene:first-child .pa-frame.is-on{animation:paDrift 10s ease-in-out infinite alternate}
}
@keyframes paDrift{from{transform:scale(1.02)}to{transform:scale(1.09)}}
/* the rig stays pinned while the room changes behind it */
.pa-rig{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .55s}
.pa-panel:hover .pa-rig,.pa-panel:focus-visible .pa-rig,.prod-acc:not(:hover):not(:focus-within) .pa-panel--scene:first-child .pa-rig{opacity:1}
.pa-sensor{position:absolute;top:44%;left:53%;width:206px;aspect-ratio:378/409;transform:translate(-50%,-50%);background:url(assets/scene-sensor.png) center/contain no-repeat}
.pa-sensor:after{content:"";position:absolute;left:50%;top:49%;width:56%;height:58%;border-radius:18px;transform:translate(-50%,-50%) scale(1);border:1px solid rgba(0,220,215,.5);opacity:0}
@media(prefers-reduced-motion:no-preference){.pa-sensor:after{animation:paPing 2.8s ease-out infinite}}
@keyframes paPing{0%{opacity:.6;transform:translate(-50%,-50%) scale(.84)}70%{opacity:0;transform:translate(-50%,-50%) scale(1.42)}100%{opacity:0}}
.pa-waves{position:absolute;top:41%;left:55%;width:clamp(130px,32%,196px);height:118px;transform:translateY(-50%);overflow:visible;filter:drop-shadow(0 0 5px rgba(0,220,215,.7))}
.pa-waves path{fill:none;stroke:#3df0ea;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:6 10}
@media(prefers-reduced-motion:no-preference){.pa-waves path{animation:paFlow 1.7s linear infinite}}
@keyframes paFlow{to{stroke-dashoffset:-32}}
.pa-hud{position:absolute;top:30%;right:5%;left:auto;width:min(232px,46%);transform:translateY(-50%);background:linear-gradient(155deg,rgba(0,30,55,.82),rgba(0,15,28,.74));border:1px solid rgba(0,220,215,.32);border-radius:11px;padding:13px 14px 14px;box-shadow:0 16px 40px rgba(0,0,0,.44);backdrop-filter:blur(7px)}
.pa-hud:before{content:"";position:absolute;top:8px;left:8px;width:13px;height:13px;border-top:2px solid var(--mint);border-left:2px solid var(--mint);opacity:.85}
.pa-hud .h-live{display:flex;align-items:center;gap:6px;color:#9fe9e4;font-size:.6rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase;margin:0 0 9px}
.pa-hud .h-live:before{content:"";width:6px;height:6px;border-radius:50%;background:#00DCD7;box-shadow:0 0 9px #00DCD7}
.pa-hud .h-title{display:block;color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;margin:0 0 9px;line-height:1.25}
.pa-hud .h-metric{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 9px}
.pa-hud .h-metric span{color:#acc4cf;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;font-weight:750}
.pa-hud .h-metric b{color:#fff;font-size:1.02rem;font-weight:850;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.pa-hud .h-bar{display:block;height:5px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden;margin:0 0 11px}
.pa-hud .h-bar i{display:block;height:100%;border-radius:999px;width:50%;background:linear-gradient(90deg,#00DCD7,#B9F199);transition:width .8s ease}
.pa-hud.s-warn .h-bar i{background:linear-gradient(90deg,#ffb15e,#ffd9a8)}
.pa-hud.s-alert .h-bar i{background:linear-gradient(90deg,#ff7a63,#ffb4a6)}
.pa-hud .h-status{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;font-size:.6rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.pa-hud .h-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pa-hud.s-ok .h-status{color:#7fe0a0;background:rgba(40,180,120,.16);border:1px solid rgba(80,210,150,.32)}
.pa-hud.s-ok .h-metric b{color:#bdeccb}
.pa-hud.s-warn .h-status{color:#ffc785;background:rgba(255,170,80,.14);border:1px solid rgba(255,180,90,.34)}
.pa-hud.s-warn .h-metric b{color:#ffd9a8}
.pa-hud.s-alert .h-status{color:#ff9a86;background:rgba(232,101,78,.16);border:1px solid rgba(232,101,78,.42)}
.pa-hud.s-alert .h-metric b{color:#ffc2b4}
.pa-hud .h-action{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin:11px 0 0;padding:8px 14px;border-radius:999px;background:var(--pcs,#62b2ef);color:#04263f;font-size:.66rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 6px 16px rgba(0,0,0,.32)}
.pa-hud .h-action:after{content:"\2192";font-weight:800}
@media(max-width:820px){
  .pa-panel--scene{min-height:600px}
  .pa-panel--scene .pa-frame{filter:saturate(1.02) brightness(.9)!important;animation:none!important;transform:none!important}
  .pa-rig{opacity:1}
  .pa-hud{top:52px;left:50%;right:auto;transform:translateX(-50%);width:min(296px,86%)}
}
@media(prefers-reduced-motion:reduce){
  .pa-frame{transition:opacity .3s ease;animation:none!important;transform:none!important}
  .pa-sensor:after,.pa-waves path{animation:none!important}
  .pa-rig{opacity:1}
}

/* Survey-form styles now live inline in index.html (#home-survey-css) so the
   home form is self-contained and never depends on a cached site.css. */

/* ===== Hero sector ticker (rotating lockup, mirrors footer) ===== */
/* Hero sector ticker — single-line, one sector at a time: wipes in, holds, wipes away. No list, no glow, true sector hex. */
.hero-ticker{position:relative;--ht-size:clamp(1.55rem,2.6vw,2.6rem);--ht-lh:1.25;height:calc(var(--ht-size)*var(--ht-lh));margin:6px 0 10px}
.ht-line{position:absolute;left:0;top:0;display:inline-flex;align-items:baseline;gap:.3em;white-space:nowrap;font-size:var(--ht-size);line-height:var(--ht-lh);opacity:0;clip-path:inset(0 100% 0 0);animation:htReveal 13s cubic-bezier(.66,0,.2,1) infinite;animation-delay:calc(var(--i)*3.25s)}
.ht-line i{font-family:"Instrument Serif",Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;text-transform:lowercase;letter-spacing:0;color:#cdd9e1;font-size:1.05em}
.ht-line b{font-family:Signal,Outfit,"Open Sans",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--sw)}
@keyframes htReveal{
 0%{opacity:1;clip-path:inset(0 100% 0 0)}
 4%{opacity:1;clip-path:inset(0 0 0 0)}
 21%{opacity:1;clip-path:inset(0 0 0 0)}
 25%{opacity:1;clip-path:inset(0 0 0 100%)}
 25.01%,100%{opacity:0;clip-path:inset(0 0 0 100%)}
}
@media(max-width:620px){.hero-ticker{--ht-size:clamp(1.5rem,8.5vw,2.1rem)}}
@media(prefers-reduced-motion:reduce){.ht-line{animation:none;opacity:0;clip-path:inset(0 0 0 0)}.ht-line:first-child{opacity:1}}

/* Mobile hamburger menu */
.nav-burger{display:none;position:relative;width:44px;height:44px;margin-right:-8px;padding:0;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.nav-burger span{display:block;width:24px;height:2px;border-radius:2px;background:#e6f6ff;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .18s ease}
.nav-burger:hover span{background:var(--mint)}
.nav-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.is-open span:nth-child(2){opacity:0}
.nav-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-drawer{position:fixed;inset:0;z-index:60;background:rgba(0,9,18,.62);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.mobile-drawer.open{opacity:1;visibility:visible}
.mobile-drawer-inner{position:fixed;top:0;right:0;bottom:0;height:100%;width:min(384px,87vw);display:flex;flex-direction:column;gap:6px;padding:18px 26px 32px;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#03203b,#001426 64%,#00101d);border-left:1px solid rgba(185,241,153,.18);box-shadow:-30px 0 90px rgba(0,0,0,.5);transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.85,.25,1)}
.mobile-drawer.open .mobile-drawer-inner{transform:translateX(0)}
.md-bar{display:flex;justify-content:flex-end;align-items:center;height:54px;margin:0 -2px 6px}
.md-close{position:relative;width:42px;height:42px;border:0;background:transparent;cursor:pointer}
.md-close span{position:absolute;left:9px;top:20px;width:24px;height:2px;border-radius:2px;background:#e6f6ff}
.md-close span:nth-child(1){transform:rotate(45deg)}
.md-close span:nth-child(2){transform:rotate(-45deg)}
.md-close:hover span{background:var(--mint)}
.md-group{display:flex;flex-direction:column;padding:14px 0 4px;border-top:1px solid rgba(255,255,255,.08)}
.md-group:first-of-type{border-top:0}
.md-group-title{margin:0 0 4px;color:var(--mint);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.16em}
.md-link{padding:9px 0;color:#cfe6ee;font-size:1rem;font-weight:700;letter-spacing:-.01em;transition:color .15s ease}
.md-link:hover,.md-link:focus-visible{color:var(--mint)}
.md-link--solo{font-size:1rem;font-weight:700;color:#cfe6ee;letter-spacing:-.01em;padding:9px 0}
.md-cta{margin-top:22px;width:100%;padding:16px 20px;font-size:.96rem}
.mobile-drawer .md-link:focus-visible,.mobile-drawer .md-cta:focus-visible,.md-close:focus-visible,.nav-burger:focus-visible{outline:2px solid #00DCD7;outline-offset:3px;border-radius:6px}
body.drawer-open{overflow:hidden}
@media(max-width:1024px){.nav-burger{display:inline-flex}.site-nav>.btn{display:none}}
@media(min-width:1025px){.mobile-drawer{display:none}}
@media(prefers-reduced-motion:reduce){.mobile-drawer,.mobile-drawer-inner,.nav-burger span{transition:none}}

/* ── Pure-CSS hamburger (checkbox hack). No JS dependency: the burger and
   drawer are static markup, toggled by #navToggle:checked, so they survive
   script-stripped/snapshot previews. ── */
.nav-toggle{position:absolute;top:0;left:0;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none;z-index:-1}
.nav-burger{cursor:pointer}
.md-scrim{position:absolute;inset:0;display:block;cursor:pointer;border:0;background:transparent}
.nav-toggle:checked ~ .mobile-drawer{opacity:1;visibility:visible}
.nav-toggle:checked ~ .mobile-drawer .mobile-drawer-inner{transform:translateX(0)}
.nav-toggle:checked ~ header .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle:checked ~ header .nav-burger span:nth-child(2){opacity:0}
.nav-toggle:checked ~ header .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-toggle:focus-visible ~ header .nav-burger{outline:2px solid #00DCD7;outline-offset:3px;border-radius:6px}
@media(max-width:1024px){body:has(.nav-toggle:checked){overflow:hidden}}
@media(prefers-reduced-motion:reduce){.nav-toggle:checked ~ .mobile-drawer .mobile-drawer-inner{transition:none}}

/* ── Legal / policy pages (Terms, Privacy, Cookie) ── */
.lg-hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(112deg,rgba(0,20,38,.99),rgba(0,26,48,.96) 50%,rgba(0,38,60,.82));padding:54px 0 42px}
.lg-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 12%,rgba(0,180,169,.16),transparent 24rem),radial-gradient(circle at 4% 94%,rgba(185,241,153,.08),transparent 22rem)}
.lg-hero .container{position:relative;z-index:1}
.lg-eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:850;color:var(--mint)}
.lg-eyebrow:before{content:"";width:22px;height:1px;background:var(--mint)}
.lg-hero h1{font-family:Outfit,Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.04em;font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.06;margin:16px 0 14px;text-wrap:balance}
.lg-meta{display:flex;flex-wrap:wrap;gap:8px 26px;color:#bcd2db;font-size:.9rem}
.lg-meta b{color:#fff;font-weight:700}
.lg-intro{margin:18px 0 0;max-width:700px;color:#dbe9ef;font-size:1.05rem;line-height:1.66}
.lg-body{padding:54px 0 80px}
.lg-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:54px;align-items:start}
.lg-toc{position:sticky;top:94px;align-self:start}
.lg-toc p{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:850;color:#7f99a8;margin:0 0 13px}
.lg-toc a{display:block;color:#bcd2db;font-size:.875rem;line-height:1.35;padding:7px 0 7px 14px;border-left:2px solid rgba(255,255,255,.1);text-decoration:none}
.lg-toc a:hover{color:var(--mint);border-left-color:var(--mint)}
.lg-doc{max-width:780px;min-width:0}
.lg-doc h2{font-family:Outfit,Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.02em;font-size:1.46rem;line-height:1.22;margin:0 0 16px;color:#fff;scroll-margin-top:90px}
.lg-doc h3{font-size:1.06rem;font-weight:700;color:#eaf6fb;margin:26px 0 10px}
.lg-doc p,.lg-doc li{color:#c4d7df;line-height:1.72;font-size:1rem}
.lg-doc p{margin:0 0 16px;max-width:74ch}
.lg-doc ul{margin:0 0 18px;padding-left:20px}
.lg-doc li{margin:0 0 8px}
.lg-doc li::marker{color:var(--mint)}
.lg-doc strong{color:#fff;font-weight:700}
.lg-doc a{color:var(--mint)}
.lg-sec{padding:34px 0;border-top:1px solid rgba(255,255,255,.08)}
.lg-sec:first-child{padding-top:0;border-top:0}
.lg-num{color:var(--mint);font-variant-numeric:tabular-nums;margin-right:.45em;font-weight:700}
.lg-card{margin:28px 0 4px;padding:24px 26px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.1)}
.lg-card h3{margin-top:0}
.lg-card p{margin:0 0 6px}
.lg-table-wrap{overflow-x:auto;margin:6px 0 22px}
.lg-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:540px}
.lg-table th,.lg-table td{text-align:left;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);vertical-align:top}
.lg-table th{color:#fff;font-weight:700;background:rgba(255,255,255,.04);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}
.lg-table td{color:#c4d7df;line-height:1.5}
.lg-table code{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;color:var(--mint);font-size:.88em}
@media(max-width:980px){.lg-layout{grid-template-columns:1fr;gap:0}.lg-toc{display:none}}
