/* Montserrat — shared by both themes now, so nav/body type renders at consistent sizes regardless of theme */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat/Montserrat-Regular.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat/Montserrat-Medium.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat/Montserrat-SemiBold.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat/Montserrat-Bold.woff2) format('woff2')}

:root{--font:'Montserrat','Helvetica Neue',Helvetica,Arial,sans-serif;--bg:#151C32;--fg:#ffffff;--hero-bg:#151C32;--soft:#1a2444;--muted:#8b96b8;--line:rgba(255,255,255,0.1);--accentblue:#2F5BEA;--blue:#2196f3;--cyan:#27e0cf;--grad:linear-gradient(100deg,#2ee0c9 0%,#29bfe3 45%,#2196f3 100%);--nav-h:68px;--max:1200px;--edge:max(24px,calc((100vw - 1200px)/2))}
:root[data-theme="light"]{--bg:#ffffff;--fg:#081231;--hero-bg:#0B1A44;--soft:#f3f6fb;--muted:#5c6780;--line:#dfe6f1}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{font-family:var(--font);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:hover{color:var(--muted)}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.ey{font-size:11px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;color:var(--muted)}
.ey-light{color:rgba(255,255,255,0.4)}
nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);background:var(--bg);border-bottom:1px solid var(--line)}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-actions{display:flex;align-items:center;gap:14px}
.logo{display:flex;align-items:center;gap:12px}
.logo:hover{color:var(--fg)}
.logo-svg{height:16px;width:auto;display:block}
.logo-svg-f{height:11px;width:auto;display:block;opacity:0.85;color:var(--fg)}
.logo-mark{width:32px;height:32px;background:var(--blue);border-radius:7px;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700;letter-spacing:0.06em}
.logo-name{font-size:14px;font-weight:700;letter-spacing:0.06em}
.logo-div{width:1px;height:18px;background:var(--line)}
.logo-sub{font-size:12px;font-weight:500;color:var(--muted)}
.nav-links{display:flex;gap:30px}
.nav-links a{font-size:13px;font-weight:600;color:var(--muted);transition:color 0.15s;position:relative}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:var(--grad);border-radius:1px;transform:scaleX(0);transform-origin:left;transition:transform 0.25s}
.nav-links a:hover{color:var(--fg)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-cta{display:inline-block;line-height:normal;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:11px 24px;background-image:var(--grad);background-size:170% 100%;background-position:0% 0;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-position 0.4s,transform 0.15s,box-shadow 0.25s}
.nav-cta:hover{background-position:95% 0;transform:translateY(-1px);box-shadow:0 6px 16px rgba(33,150,243,0.3)}
.btn{font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;height:48px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;border:1.5px solid rgba(255,255,255,0.35);display:inline-flex;align-items:center;gap:8px;border-radius:4px;transition:background-position 0.4s,background 0.2s,color 0.2s,transform 0.15s,box-shadow 0.25s}
.btn-primary{background-image:var(--grad);background-size:170% 100%;background-position:0% 0;border:none;color:#fff}
.btn-primary:hover{background-position:95% 0;color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(33,150,243,0.28)}
.btn-ghost{background:transparent;color:var(--fg)}
.btn-ghost:hover{background:var(--fg);color:var(--bg);transform:translateY(-1px)}
.btn-ghost-light{border-color:rgba(255,255,255,0.25);color:rgba(255,255,255,0.85);background:transparent}
.btn-ghost-light:hover{background:rgba(255,255,255,0.08);color:#fff;transform:translateY(-1px)}
/* HERO — stays dark navy in both themes; only the exact shade shifts via --hero-bg */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--nav-h) + 60px) 0 60px;text-align:center;position:relative;overflow:hidden;background:var(--hero-bg);color:#fff}
.hero::before{content:'';position:absolute;left:-10%;right:-10%;top:36%;height:36%;background:radial-gradient(60% 100% at 42% 50%,rgba(33,150,243,0.4) 0%,rgba(36,187,225,0.25) 38%,rgba(39,224,207,0.14) 58%,rgba(39,224,207,0.05) 68%,transparent 80%);filter:blur(34px);pointer-events:none;transform:translateZ(0)}
.hero-aurora{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:block}
.hero-blob{position:absolute;width:56vw;height:56vw;max-width:900px;max-height:900px;border-radius:50%;filter:blur(70px);pointer-events:none;will-change:transform;opacity:0.55;transform:translateZ(0)}
.hero-blob.b1{background:radial-gradient(circle at 35% 40%,rgba(47,91,234,0.6) 0%,rgba(47,91,234,0.32) 34%,rgba(47,91,234,0.12) 52%,transparent 70%);top:6%;left:-14%;animation:blobDrift 16s ease-in-out infinite alternate}
.hero-blob.b2{background:radial-gradient(circle at 60% 55%,rgba(39,224,207,0.4) 0%,rgba(39,224,207,0.22) 34%,rgba(39,224,207,0.09) 52%,transparent 70%);bottom:-8%;right:-12%;animation:blobDrift 19s ease-in-out infinite alternate-reverse}
@keyframes blobDrift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(9vw,-6vh,0) scale(1.18)}}
@media (prefers-reduced-motion:reduce){.hero-blob{animation:none}}
.hero-content{position:relative;z-index:1}
.hero h1{font-size:clamp(58px,9.45vw,144px);line-height:0.92;letter-spacing:-0.05em;font-weight:600;max-width:1100px;margin:0 auto 32px;text-wrap:balance}
.hero-sub{font-size:clamp(17px,1.8vw,21px);color:rgba(255,255,255,0.55);max-width:620px;margin:0 auto 48px;line-height:1.65;font-weight:400}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* PARTNERS */
.partners{padding:44px 0 48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg)}
.partners-label{text-align:center;display:block;margin-bottom:34px}
.marquee-mask{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee{display:flex;width:max-content;animation:marquee 32s linear infinite}
.marquee-set{display:flex;align-items:center}
@keyframes marquee{to{transform:translateX(-50%)}}
/* STATS */
.stats-section{background:var(--bg);color:var(--fg);border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:60px 28px 56px;border-right:1px solid var(--line);text-align:center}
.stat-item:last-child{border-right:none}
.stat-num{font-size:clamp(46px,6vw,84px);font-weight:600;line-height:0.9;letter-spacing:-0.04em;margin-bottom:18px;display:block}
.stat-label{font-size:11px;font-weight:600;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;line-height:1.55}
/* PROBLEM */
.problem-wrapper{position:relative;height:320vh}
.problem-sticky{position:sticky;top:0;height:100vh;overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg);will-change:background-color}
.problem-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 32px;opacity:0;transform:translateY(16px);transition:opacity 0.55s ease,transform 0.55s ease}
.problem-slide.active{opacity:1;transform:none}
.prob-num{font-size:11px;font-weight:700;letter-spacing:0.26em;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-bottom:36px}
.problem-slide h2{font-size:clamp(44px,7vw,112px);line-height:0.96;letter-spacing:-0.04em;font-weight:600;max-width:940px;margin:0 auto 36px;text-wrap:balance;background-image:linear-gradient(120deg,#ffffff 0%,#ffffff 42%,#7d97ff 50%,#ffffff 58%,#ffffff 100%);background-size:200% auto;background-position:150% center;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.problem-slide.active h2{animation:shineSweep 3.4s linear 0.35s infinite}
@keyframes shineSweep{0%{background-position:150% center}60%{background-position:-50% center}100%{background-position:-50% center}}
.problem-slide p{font-size:clamp(16px,1.7vw,21px);color:rgba(255,255,255,0.75);max-width:640px;margin:0 auto;line-height:1.65}
.problem-pager{position:fixed;right:36px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:50;transition:opacity 0.3s}
.pager-dot{width:6px;height:6px;border-radius:50%;border:1.5px solid #fff;background:transparent;transition:background 0.3s}
.pager-dot.on{background:#fff}
.prob-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:700;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.prob-scroll-arrow{width:1px;height:28px;background:var(--muted);position:relative;overflow:hidden}
.prob-scroll-arrow::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:#fff;animation:scrollDrop 1.6s ease infinite}
@keyframes scrollDrop{to{top:200%}}
/* PROPOSITION */
.proposition{background:var(--bg);color:var(--fg);min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 0;position:relative;overflow:hidden}
.proposition::before{content:'';position:absolute;left:-15%;right:-15%;top:25%;height:50%;background:radial-gradient(50% 100% at 50% 50%,rgba(47,91,234,0.35),transparent 75%);filter:blur(50px);pointer-events:none}
.proposition>.container{position:relative;z-index:1}
.prop-inner .ey{display:block;margin-bottom:52px}
.prop-text{font-size:clamp(36px,5.6vw,86px);line-height:1.1;letter-spacing:-0.035em;font-weight:600;max-width:1060px;margin:0 auto;text-wrap:balance}
.hl{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.prop-rule{width:min(560px,80%);height:1px;background:rgba(255,255,255,0.12);margin:64px auto 0}
/* HOW IT WORKS — SIGNAL FLOW */
.section-head{text-align:center}
.section-head .ey{display:block;margin-bottom:20px}
.section-head h2{font-size:clamp(40px,6vw,92px);line-height:0.98;letter-spacing:-0.04em;font-weight:600;max-width:760px;margin:0 auto}
.hiw-section{padding:110px 0;border-bottom:1px solid var(--line)}
.flow{position:relative;margin-top:76px}
.flow-line{position:absolute;top:48px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,#2ee0c9,#29bfe3,#2196f3);opacity:0.3;transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(0.2,0.65,0.25,1) 0.2s}
.flow.vis .flow-line{transform:scaleX(1)}
.flow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;position:relative}
.flow-col{display:flex;flex-direction:column;align-items:center;text-align:center}
.fglyph{width:96px;height:96px;border-radius:50%;background:#0a1a3e;border:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -14px rgba(8,18,49,0.5);position:relative;z-index:2;transition:transform 0.35s cubic-bezier(0.2,0.65,0.25,1)}
.flow-col:hover .fglyph{transform:translateY(-8px) scale(1.06)}
.fglyph svg{width:52px;height:52px;display:block}
.fbody{display:flex;flex-direction:column;align-items:center}
.fnum{margin:18px 0 10px;font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted)}
.flow-col h3{font-size:20px;font-weight:600;letter-spacing:-0.02em;line-height:1.15;margin-bottom:8px}
.flow-col p{font-size:14px;line-height:1.6;color:var(--muted);max-width:230px}
.fg-node{transform-box:fill-box;transform-origin:center;animation:fgp 2.4s ease-in-out infinite}
.fg-knob{animation:fgk 3.2s ease-in-out infinite}
@keyframes fgk{0%,100%{transform:translateX(0)}50%{transform:translateX(-9px)}}
@keyframes fgp{0%,100%{transform:scale(1);opacity:0.8}50%{transform:scale(1.4);opacity:1}}
.fg-fine{animation:fgf 3s ease-in-out infinite}
.fg-ray{animation:fgf 2.2s ease-in-out infinite}
@keyframes fgf{0%,100%{opacity:0.15}50%{opacity:1}}
.fg-rip{transform-box:fill-box;transform-origin:center;animation:fgr 3s linear infinite}
@keyframes fgr{0%{transform:scale(0.35);opacity:0.9}100%{transform:scale(1.2);opacity:0}}
.fg-bar{transform-box:fill-box;transform-origin:50% 100%;animation:fgb 2.4s ease-in-out infinite}
@keyframes fgb{0%,100%{transform:scaleY(0.5)}50%{transform:scaleY(1)}}
.fi-d4{transition-delay:0.4s}
@media (prefers-reduced-motion:reduce){.fg-node,.fg-fine,.fg-ray,.fg-rip,.fg-bar,.fg-knob{animation:none}.flow-line{transform:scaleX(1)}}
/* PROOF */
.proof-section{border-bottom:1px solid var(--line);padding:100px 0 0}
.proof-head{text-align:center;margin-bottom:64px}
.proof-head .ey{display:block;margin-bottom:20px}
.proof-head h2{font-size:clamp(40px,6vw,92px);line-height:0.98;letter-spacing:-0.04em;font-weight:600;max-width:760px;margin:0 auto 20px}
.proof-head p{font-size:18px;color:var(--muted);max-width:520px;margin:0 auto;line-height:1.65}
.proof-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:100%}
.proof-col{padding:80px 56px 88px;color:#fff;position:relative;overflow:hidden;min-height:56vh;display:flex;flex-direction:column;justify-content:flex-end}
.proof-col:nth-child(1){background:#081231}
.proof-col:nth-child(2){background:#2F5BEA}
.proof-col:nth-child(3){background:#0b3a44}
.proof-col:nth-child(1) .proof-tag{color:var(--cyan)}
.pico{height:36px;display:flex;align-items:center;margin-bottom:auto}
.pico-bars{display:flex;gap:4px;align-items:center}
.pico-bars i{width:3px;border-radius:2px;background:currentColor;animation:dvBar 1.2s ease-in-out infinite}
.pico-ring{position:relative;width:30px;height:30px}
.pico-ring i{position:absolute;inset:0;margin:auto;border-radius:50%}
.pico-ring i.c{width:8px;height:8px;background:currentColor}
.pico-ring i.r{width:30px;height:30px;border:3px solid currentColor;animation:dvRip 2.4s ease-out infinite}
.pico-grid{display:grid;grid-template-columns:repeat(3,8px);gap:4px}
.pico-grid i{width:8px;height:8px;border-radius:1px;background:currentColor;opacity:0.25;animation:picoCell 2.4s ease-in-out infinite}
@keyframes picoCell{0%,100%{opacity:0.25}45%,60%{opacity:1}}
.proof-body{transition:transform 0.35s ease}
.proof-col:hover .proof-body{transform:translateY(-8px)}
.proof-col:hover .pico i{animation-duration:0.55s}
.proof-tag{font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.65);margin-bottom:32px;display:block}
.proof-col h3{font-size:clamp(22px,2.4vw,34px);line-height:1.06;letter-spacing:-0.03em;font-weight:600;margin-bottom:18px}
.proof-col p{font-size:16px;color:rgba(255,255,255,0.68);line-height:1.65}
/* DATAVAULT CONNECTION */
.dv-section{background:#151C32;color:#fff;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:110px 0;text-align:center;border-bottom:1px solid rgba(255,255,255,0.08);position:relative;overflow:hidden}
.dv-bg{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.dv-bg.on{opacity:1}
.dv-fade canvas.dv-bg{display:none !important}
.dv-fade::before{content:'';position:absolute;left:-15%;right:-15%;top:28%;height:44%;background:radial-gradient(55% 100% at 50% 50%,rgba(33,150,243,0.26),rgba(39,224,207,0.09) 60%,transparent 80%);filter:blur(44px);pointer-events:none}
.dv-fade .dv-label{transition:opacity 1s ease,transform 1s ease}
.dv-fallback .dv-label-stack::before,.dv-fallback .dv-label-stack::after{content:'';position:absolute;left:50%;top:50%;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;border:1.5px solid rgba(39,224,207,0.4);animation:dvfR 4.5s linear infinite;pointer-events:none}
.dv-fallback .dv-label-stack::after{animation-delay:-2.2s;border-color:rgba(47,91,234,0.45)}
@keyframes dvfR{0%{transform:scale(0.22);opacity:0.9}100%{transform:scale(1.65);opacity:0}}
.dv-fallback::before{content:'';position:absolute;left:-10%;right:-10%;top:30%;height:40%;background:radial-gradient(55% 100% at 50% 50%,rgba(33,150,243,0.35),rgba(39,224,207,0.12) 60%,transparent 80%);filter:blur(40px);pointer-events:none}
.dv-content{position:relative;z-index:1}
.dv-content .ey{display:block;margin-bottom:64px}
.dv-morph{width:min(900px,calc(100% - 48px));margin:0 auto}
.dv-label-stack{position:relative;height:min(300px,36vh)}
.dv-label{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(22px);transition:opacity 0.7s ease,transform 0.7s ease}
.dv-label.on{opacity:1;transform:none}
.dv-label h3{font-size:clamp(52px,7.5vw,112px);font-weight:600;letter-spacing:-0.045em;line-height:0.95;margin-bottom:22px;text-shadow:0 4px 44px rgba(5,10,30,0.85)}
.dv-label p{font-size:clamp(15px,1.5vw,18px);color:rgba(255,255,255,0.58);line-height:1.6;max-width:470px;margin:0 auto;text-shadow:0 2px 20px rgba(5,10,30,0.9)}
.dv-steps{display:flex;justify-content:center;gap:14px;margin-top:48px;font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.3)}
.dv-steps span{transition:color 0.4s}
.dv-steps span.on{color:var(--cyan)}
@keyframes dvBar{0%,100%{transform:scaleY(0.25)}50%{transform:scaleY(1)}}
@keyframes dvRip{0%{transform:scale(0.08);opacity:1}100%{transform:scale(1);opacity:0}}
.dv-caption{font-size:16px;color:rgba(255,255,255,0.45);margin:64px auto 0;line-height:1.65;max-width:560px}
/* QUOTE */
.quote-section{padding:120px 0;border-bottom:1px solid var(--line);text-align:center}
.quote-section .ey{display:block;margin-bottom:44px}
blockquote{font-size:clamp(38px,6vw,100px);line-height:1.08;letter-spacing:-0.035em;font-weight:600;max-width:960px;margin:0 auto 32px;text-wrap:balance}
.quote-meta{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted)}
.quote-name{font-size:15px;font-weight:700;letter-spacing:0.02em;text-transform:none;color:#fff;display:block;margin-bottom:6px}
/* INVESTOR */
.investor-section{padding:100px 0;background:var(--soft);border-bottom:1px solid var(--line)}
.investor-head{text-align:center;margin-bottom:64px}
.investor-head .ey{display:block;margin-bottom:20px}
.investor-head h2{font-size:clamp(40px,6vw,92px);line-height:0.98;letter-spacing:-0.04em;font-weight:600;max-width:760px;margin:0 auto}
.investor-list{max-width:860px;margin:0 auto}
.investor-row{display:grid;grid-template-columns:72px 1fr;border-top:1px solid var(--line);padding:40px 0;gap:36px;align-items:start}
.investor-row:last-child{border-bottom:1px solid var(--line)}
.inv-num{font-size:12px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);padding-top:7px}
.inv-body h3{font-size:clamp(22px,2.6vw,36px);line-height:1.04;letter-spacing:-0.03em;font-weight:600;margin-bottom:12px}
.inv-body p{font-size:17px;color:var(--muted);line-height:1.65}
/* CTA */
.cta-section{min-height:100vh;background:var(--bg);color:var(--fg);display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 0}
.cta-section .ey{display:block;margin-bottom:32px}
.cta-section h2{font-size:clamp(52px,8.5vw,132px);line-height:0.94;letter-spacing:-0.045em;font-weight:600;max-width:880px;margin:0 auto 28px;text-wrap:balance}
.cta-section p{font-size:19px;color:rgba(255,255,255,0.45);max-width:520px;margin:0 auto 52px;line-height:1.65}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
footer{background:var(--bg);border-top:1px solid rgba(255,255,255,0.06);padding:32px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;letter-spacing:0.1em;line-height:2;text-transform:uppercase;color:rgba(255,255,255,0.22)}
@supports (height:100svh){
.hero,.proposition,.dv-section,.cta-section{min-height:100svh}
.problem-sticky{height:100svh}
}
/* FADE */
.js .fi{opacity:0;transform:translateY(28px) scale(0.985);transition:opacity 0.7s ease,transform 0.7s ease}
.fi.vis{opacity:1;transform:none}
.fi-d1{transition-delay:0.1s}
.fi-d2{transition-delay:0.2s}
.fi-d3{transition-delay:0.3s}
.geo{width:24px;height:24px;display:block;margin:0 auto 24px;color:var(--blue)}
.geo-light{color:var(--cyan)}
.fullmedia{border-bottom:1px solid var(--line);padding:110px 0;text-align:center}
.fullmedia-head{margin-bottom:52px}
.fullmedia-head .ey{display:block;margin-bottom:20px}
.fullmedia-head h2{font-size:clamp(34px,4.6vw,68px);line-height:1;letter-spacing:-0.04em;font-weight:600;max-width:760px;margin:0 auto 18px}
.fullmedia-head p{font-size:17px;color:var(--muted);line-height:1.65;max-width:520px;margin:0 auto}
.fullmedia-inner{width:min(1100px,calc(100% - 48px));margin:0 auto}
.fullmedia-video{width:auto;height:auto;max-width:min(340px,74vw);max-height:80vh;aspect-ratio:1202/2622;object-fit:cover;display:block;margin:0 auto;border-radius:min(58px,calc(11.8vw + 4px),calc(5.86vh + 4px));border:6px solid #0e1424;background:#0e1424;box-shadow:0 34px 70px -18px rgba(0,0,0,0.6)}
.avatar-slot{width:88px;height:88px;margin:0 auto 32px;position:relative}
.investor-row{transition:background 0.25s,transform 0.3s}
.investor-row:hover{background:rgba(47,91,234,0.12);transform:translateX(8px)}
.marquee-mask:hover .marquee{animation-play-state:paused}
.pl-img{height:34px;width:auto;max-width:170px;object-fit:contain;margin:0 44px;flex:0 0 auto;opacity:0.85}
.pl-img:hover{opacity:0.9}
.split-word{display:inline-block;white-space:nowrap}
.split-char{display:inline-block;opacity:0;transform:translateY(44px);transition:opacity 0.85s cubic-bezier(0.215,0.61,0.355,1),transform 0.85s cubic-bezier(0.215,0.61,0.355,1)}
.hero h1.chars-on .split-char{opacity:1;transform:translateY(0)}
.wrd{display:inline-block;overflow:hidden;vertical-align:top}
.wrd i{display:inline-block;font-style:normal;transform:translateY(118%) rotate(4deg);transform-origin:left bottom;transition:transform 0.85s cubic-bezier(0.22,0.9,0.3,1)}
.wrev.on .wrd i{transform:translateY(0)}
.geo{transition:transform 0.3s ease}
.geo:hover{transform:scale(1.18)}
.geo .gp{transform-origin:center;transform-box:fill-box;animation:geoPulse 2.6s ease-out infinite}
@keyframes geoPulse{0%{transform:scale(0.4);opacity:1}100%{transform:scale(1.12);opacity:0}}
.geo .gd{transform-origin:center;transform-box:fill-box;animation:geoSpin 4.5s ease-in-out infinite}
@keyframes geoSpin{0%,55%{transform:rotate(0deg)}75%,100%{transform:rotate(90deg)}}
.geo .gb1{animation:geoBlink 1.9s ease infinite}
.geo .gb2{animation:geoBlink 1.9s ease 0.3s infinite}
.geo .gb3{animation:geoBlink 1.9s ease 0.6s infinite}
@keyframes geoBlink{0%,100%{opacity:0.25}50%{opacity:1}}
.geo .gi{transform-origin:center;transform-box:fill-box;animation:geoInner 2.8s ease-in-out infinite}
@keyframes geoInner{0%,100%{transform:scale(1)}50%{transform:scale(1.6)}}
@media (prefers-reduced-motion:reduce){.geo .gp,.geo .gd,.geo .gb1,.geo .gb2,.geo .gb3,.geo .gi,.problem-slide.active h2{animation:none}}
@media (max-width:640px){
footer{padding:44px 0 40px}
.footer-inner{flex-direction:column;gap:10px;text-align:center;justify-content:center;line-height:2.1}
.footer-inner>span:first-child{flex-direction:column !important;gap:14px}
.footer-inner>span:first-child>span{display:block;padding:0 24px}
.logo-svg-f{height:15px;margin:0 auto}
.footer-inner>span:last-child{opacity:0.8}
.hero-actions,.cta-actions,.cta-row{flex-direction:column;align-items:center;width:100%}
.hero-actions .btn,.cta-actions .btn,.cta-row .btn{width:min(100%,340px)}
.logo-sub,.logo-div{display:none}
.nav-cta{white-space:nowrap;padding:10px 16px}
.nav-inner{gap:12px}
}
@media (max-width:960px){
.nav-links{display:none}
.stats-grid{grid-template-columns:1fr 1fr}
.stat-item:nth-child(2){border-right:none}
.stat-item:nth-child(3){border-right:1px solid var(--line)}
.proof-cols{grid-template-columns:1fr}
.dv-label-stack{height:280px}
.investor-row{grid-template-columns:1fr;gap:12px}
.inv-num{padding-top:0}
.problem-pager{display:none}
.problem-wrapper{height:auto !important}
.problem-sticky{position:static;height:auto !important;overflow:visible;background:transparent !important;border-bottom:0}
.problem-slide{position:static;opacity:1 !important;transform:none !important;padding:88px 24px;min-height:0}
.problem-slide:nth-child(1){background:#151C32}
.problem-slide:nth-child(2){background:#2F5BEA}
.problem-slide:nth-child(3){background:#1B2A6B}
.problem-slide:nth-child(4){background:#0B3A44}
.prob-scroll{display:none}
.flow-line{display:none}
.flow{margin-top:48px}
.flow-grid{grid-template-columns:1fr;gap:36px}
.flow-col{flex-direction:row;text-align:left;gap:20px;align-items:flex-start}
.fglyph{flex:0 0 72px;width:72px;height:72px}
.fglyph svg{width:40px;height:40px}
.fbody{align-items:flex-start}
.fnum{margin:2px 0 8px}
.flow-col p{max-width:none}
.stat-item{padding:40px 20px 36px;min-width:0}
.stat-num{font-size:clamp(30px,9vw,46px)}
.proof-col{min-height:auto;padding:56px 28px 60px;align-items:center;text-align:center}
.proof-col .pico{margin-left:auto;margin-right:auto}
.investor-row{text-align:center}
.inv-body{text-align:center}
.investor-head{text-align:center}
.proof-col .pico{margin-bottom:28px}
.dv-steps{gap:8px;font-size:10px;letter-spacing:0.1em;flex-wrap:wrap;padding:0 16px}
.dv-steps span{white-space:nowrap}
}

/* =====================================================================
   PRODUCT HUB — added for adio.one landing (not part of the original mockup)
   ===================================================================== */
.hub-section{padding:140px 0 150px;background:var(--bg);color:var(--fg);position:relative}
.hub-section::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.hub-sub{margin:22px auto 0;max-width:560px;font-size:17px;line-height:1.6;color:var(--muted)}
.hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:72px}
.hub-card{display:flex;flex-direction:column;align-items:flex-start;padding:34px 30px 30px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--fg);position:relative;overflow:hidden;transition:transform 0.25s,border-color 0.25s,box-shadow 0.25s}
.hub-card::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform 0.35s}
a.hub-card:hover{transform:translateY(-4px);border-color:var(--muted);box-shadow:0 18px 40px rgba(0,0,0,0.35);color:var(--fg)}
a.hub-card:hover::after{transform:scaleX(1)}
.hub-icon{width:44px;height:44px;border-radius:9px;display:grid;place-items:center;background:rgba(39,224,207,0.1);border:1px solid rgba(39,224,207,0.22);color:var(--cyan);margin-bottom:26px;flex:none}
.hub-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted)}
.hub-title{font-size:21px;font-weight:600;letter-spacing:-0.02em;margin:10px 0 12px}
.hub-desc{font-size:14px;line-height:1.62;color:var(--muted);margin-bottom:26px;flex:1}
.hub-action{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--cyan)}
.hub-action svg{transition:transform 0.25s}
a.hub-card:hover .hub-action svg{transform:translateX(4px)}
.hub-card-soon{opacity:0.62}
.hub-card-soon .hub-icon{background:var(--line);border-color:var(--line);color:var(--muted)}
.hub-action-soon{color:var(--muted)}

@media (max-width:1100px){
  .hub-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .hub-section{padding:90px 0 96px}
  .hub-grid{grid-template-columns:1fr;gap:16px;margin-top:48px}
  .hub-card{padding:28px 24px 26px}
}

/* AUDIENCE APP */
.mobile-section{padding:120px 0 40px;background:var(--bg)}
.mob-sub{font-size:18px;line-height:1.65;color:var(--muted);max-width:520px;margin:24px auto 64px;text-align:center}
.mob-phones{display:flex;justify-content:center;align-items:flex-start;gap:clamp(20px,5vw,72px)}
.mob-phone{width:min(320px,38vw);height:auto;display:block;filter:drop-shadow(0 34px 54px rgba(0,0,0,0.55));animation:mobFloat 6s ease-in-out infinite}
.mob-phone-2{margin-top:64px;animation-delay:-3s}
@keyframes mobFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media (prefers-reduced-motion:reduce){.mob-phone{animation:none}}
@media (max-width:960px){.mob-phones{gap:14px}.mob-phone{width:40vw}.mob-phone-2{margin-top:40px}.mobile-section{padding:80px 0 20px}}

/* =====================================================================
   THEME TOGGLE — nav control
   ===================================================================== */
.theme-toggle{width:38px;height:38px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color 0.2s,color 0.2s;flex:none;padding:0}
.theme-toggle:hover{color:var(--fg);border-color:var(--fg)}
.theme-toggle svg{width:18px;height:18px;display:block}
.theme-toggle .icon-sun{display:none}
.theme-toggle .icon-moon{display:block}
:root[data-theme="light"] .theme-toggle .icon-sun{display:block}
:root[data-theme="light"] .theme-toggle .icon-moon{display:none}

/* =====================================================================
   LIGHT THEME OVERRIDES — reworked visual pass from ADIO_light.html
   (type-scale bumps now live on the base rules above, since both themes
   share Montserrat; this block is only genuine color/visibility deltas —
   hero + Datavault intentionally stay dark navy in both themes)
   ===================================================================== */
[data-theme="light"] .hero-blob,[data-theme="light"] .hero::before{display:none}
[data-theme="light"] .stat-num{background:linear-gradient(100deg,#0B1A44 0%,#2F5BEA 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
[data-theme="light"] .problem-slide h2{background-image:linear-gradient(120deg,var(--fg) 0%,var(--fg) 42%,#8fa7d6 50%,var(--fg) 58%,var(--fg) 100%)}
[data-theme="light"] .prob-num,[data-theme="light"] .problem-slide p{color:var(--muted)}
[data-theme="light"] .pager-dot{border-color:var(--fg)}
[data-theme="light"] .pager-dot.on{background:var(--fg)}
[data-theme="light"] .prob-scroll-arrow::after{background:var(--fg)}
[data-theme="light"] .proposition::before{background:radial-gradient(50% 100% at 50% 50%,rgba(47,91,234,0.14),transparent 75%)}
[data-theme="light"] .prop-rule{background:var(--line)}
[data-theme="light"] .quote-name{color:var(--fg)}
[data-theme="light"] .proposition .ey-light,
[data-theme="light"] .cta-section .ey-light{color:var(--muted)}
[data-theme="light"] .cta-section p{color:var(--muted)}
[data-theme="light"] .pl-img{opacity:0.95}
[data-theme="light"] .btn-ghost{border-color:var(--fg)}
[data-theme="light"] .investor-row:hover{background:rgba(47,91,234,0.06)}
@media (max-width:960px){
[data-theme="light"] .problem-slide:nth-child(1){background:#ffffff}
[data-theme="light"] .problem-slide:nth-child(2){background:#DDE7FF}
[data-theme="light"] .problem-slide:nth-child(3){background:#E5E7FA}
[data-theme="light"] .problem-slide:nth-child(4){background:#DEEFEF}
}
