@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 900;font-display:swap;src:url(font-a756882d8a78.woff2) format('woff2')}@font-face{font-family:'Figtree';font-style:normal;font-weight:200 900;font-display:swap;src:url(font-4ba7d3d09669.woff2) format('woff2')}@font-face{font-family:'Figtree';font-style:italic;font-weight:200 900;font-display:swap;src:url(font-7242fa62d13d.woff2) format('woff2')}
:root{
  --page:#F2FAFE; --panel:#FFFFFF; --tint:#DCEFFC; --sand:#FFF3DF;
  --ink:#12324E; --ink-2:#3A5F7D; --ink-3:#5E86A4; --line:#CFE5F4;
  --accent:#1B86C9; --accent-ink:#12689E; --accent-soft:#D6EEFB;
  --display:'Bricolage Grotesque',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'Figtree',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:30px; --coral:#FA9D95; --coral-ink:#D9564A; --sun:#FFE9C9; --pill:999px; --max:1200px; --gutter:clamp(20px,4vw,44px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --flo-img:url("media-40e04790eda0.webp");
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:clip}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
body{margin:0; background:var(--page); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; touch-action:manipulation; -webkit-tap-highlight-color:transparent}
img{max-width:100%; height:auto; display:block}
a{color:var(--accent-ink)}
:focus-visible{outline:3px solid var(--accent); outline-offset:3px; border-radius:6px}
h1,h2,h3{margin:0; font-family:var(--display); font-weight:700; letter-spacing:-.025em; line-height:1.02; text-wrap:balance}
h1{font-size:clamp(38px,4.7vw,60px); font-weight:800}
h2{font-size:clamp(30px,3.9vw,48px)}
h3{font-size:clamp(22px,2.3vw,28px); line-height:1.12}
p{margin:0; text-wrap:pretty}
.wrap{max-width:var(--max); margin:0 auto; padding:0 var(--gutter); position:relative}
section{position:relative; padding:clamp(72px,9vw,128px) 0; scroll-margin-top:84px; overflow:clip}
.lede{font-size:clamp(18px,1.55vw,21px); line-height:1.5; color:var(--ink-2); max-width:56ch}
.voice{font-style:italic; font-weight:500}
.skip{position:absolute; left:-9999px; top:12px; background:var(--ink); color:#fff; padding:10px 14px; border-radius:8px; z-index:1000}
.skip:focus{left:12px}

/* buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:54px; padding:0 26px; border-radius:var(--pill); font-family:var(--sans); font-weight:700; font-size:16px; border:0; cursor:pointer; text-decoration:none; white-space:nowrap; transition:transform .15s var(--ease), box-shadow .25s var(--ease), background-color .2s}
.btn:active{transform:translateY(1px) scale(.985)}
.btn-primary{background:var(--accent); color:#fff; box-shadow:0 10px 30px rgba(10,110,138,.22)}
.btn-primary:hover{background:var(--accent-ink); box-shadow:0 14px 36px rgba(10,110,138,.3)}
.btn-sm{height:44px; padding:0 18px; font-size:15px}

/* nav */
.nav{position:sticky; top:0; z-index:50; background:rgba(247,250,252,.78); -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%); border-bottom:1px solid rgba(20,33,46,.06)}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; height:68px}
.brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-family:var(--display); font-weight:800; font-size:21px; letter-spacing:-.03em}
.brand img{width:auto; height:26px}
.brand span{color:var(--accent)}

/* scene (illustrated sea, same language as the app) */
.scene{position:relative; aspect-ratio:4/5; border-radius:var(--r); overflow:hidden; isolation:isolate;
  --sky1:#DFF2FE; --sky2:#A0DEFE; --glow:#FFE9C9; --sun:#FFF4DC; --sunx:70%; --suny:40%; --sunr:26%; --fog:.26; --sea1:#8BD6FC; --sea2:#29A6E6; --deep:#1D86CF; --sandc:#F1E0C2; --sandop:0; --horizon:58%; --cloud:.8}
.scene .sky{position:absolute; inset:0; background:linear-gradient(180deg,var(--sky1) 0%,var(--sky2) var(--horizon),var(--sky2) 100%)}
.scene .glow{position:absolute; left:var(--sunx); top:var(--suny); width:calc(var(--sunr) * 3.2); aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,var(--glow) 0%,rgba(255,255,255,0) 62%); opacity:.85}
.scene .sun{position:absolute; left:var(--sunx); top:var(--suny); width:var(--sunr); aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; background:var(--sun); box-shadow:0 0 40px 10px rgba(255,255,255,.55); opacity:.95}
.scene .cloud{position:absolute; height:2.4%; border-radius:99px; background:#fff; opacity:var(--cloud)}
.scene .c1{left:10%; top:15%; width:30%; transform:rotate(-3deg)} .scene .c2{left:58%; top:9%; width:22%; transform:rotate(2deg); opacity:calc(var(--cloud)*.7)} .scene .c3{left:30%; top:24%; width:14%; opacity:calc(var(--cloud)*.6)}
.scene .sea{position:absolute; left:0; right:0; top:var(--horizon); bottom:0; background:linear-gradient(180deg,var(--sea1) 0%,var(--sea2) 60%,var(--deep) 100%)}
.scene .foam{position:absolute; left:0; top:-1px; width:200%; height:auto; fill:#fff; opacity:.55; animation:drift 28s linear infinite}
.scene .line{position:absolute; left:0; width:200%; height:auto; fill:none; stroke:#fff; stroke-width:5; stroke-linecap:round; opacity:.35}
.scene .l1{top:22%; animation:drift 20s linear infinite reverse} .scene .l2{top:44%; opacity:.28; animation:drift 15s linear infinite} .scene .l3{top:66%; opacity:.2; animation:drift 24s linear infinite reverse}
.scene .glare{position:absolute; left:calc(var(--sunx) - 8%); top:var(--horizon); width:16%; bottom:0; background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,0) 75%); filter:blur(10px); opacity:.8}
.scene .fog{position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,0) 15%,rgba(255,255,255,.95) var(--horizon),rgba(255,255,255,0) 95%); opacity:var(--fog)}
.scene .dune{position:absolute; border-radius:50%; background:var(--sandc); opacity:var(--sandop)}
.scene .d1{left:-20%; width:90%; height:34%; bottom:-22%} .scene .d2{left:45%; width:80%; height:30%; bottom:-20%; filter:brightness(.97)}
.scene .flo{position:absolute; left:6%; bottom:16%; width:38%; aspect-ratio:900/694; background:var(--flo-img) center bottom/contain no-repeat; -webkit-mask-image:linear-gradient(180deg,#000 90%,rgba(0,0,0,0) 100%); mask-image:linear-gradient(180deg,#000 90%,rgba(0,0,0,0) 100%); animation:bob 6s ease-in-out infinite}
.scene .ripple{position:absolute; left:8%; width:34%; height:6%; bottom:13%; border-radius:50%; background:rgba(255,255,255,.5); filter:blur(7px)}
.scene .ph{position:absolute; right:8%; bottom:-9%; width:38%; margin:0; border-radius:34px; padding:6px; background:#0F1A24; box-shadow:0 30px 70px rgba(12,40,64,.35), 0 0 0 1px rgba(255,255,255,.25) inset; transform:rotate(-4deg)}
.scene .ph img{border-radius:28px; width:100%; height:auto}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(1.5deg)}}

/* hero */
.hero{padding:clamp(28px,4vw,56px) 0 clamp(56px,7vw,96px)}
.hero .wrap{display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:clamp(28px,5vw,72px); align-items:center}
.hero h1{max-width:15ch}
.hero .lede{margin-top:22px}
.cap{display:flex; gap:10px; margin-top:30px; max-width:520px}
.cap .in{flex:1; min-width:0; position:relative}
.cap input,.f input,.f select{width:100%; height:54px; border-radius:var(--pill); border:1px solid #C5D3DD; background:#fff; color:var(--ink); padding:0 20px; font:inherit; font-size:16px; -webkit-appearance:none; appearance:none}
.cap input::placeholder,.f input::placeholder{color:#6B7C8C}
.cap input:focus-visible,.f input:focus-visible,.f select:focus-visible{outline:3px solid var(--accent); outline-offset:2px; border-color:var(--accent)}
.cap label{position:absolute; left:-9999px}
.err{color:#A4321D; font-size:14px; margin-top:8px; font-weight:600; min-height:0}
.ok{margin-top:18px; padding:16px 18px; border-radius:18px; background:var(--accent-soft); color:var(--accent-ink); font-weight:600}
.hero .scene{--sky1:#DFF2FE; --sky2:#A6DFFE; --glow:#FFE9C9; --sun:#FFF4DC; --sunx:26%; --suny:40%; --sunr:22%; --fog:.30; --sea1:#8BD6FC; --sea2:#29A6E6; --deep:#1D86CF; --horizon:56%; --sandc:#F4E6CB; --sandop:.9; --cloud:.8}
.hero .scene .d1{display:none} .hero .scene .d2{left:40%; width:110%; height:26%; bottom:-19%}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .hero .scene{order:-1; aspect-ratio:5/4; max-height:380px}
  .hero .scene .flo{width:30%; bottom:10%}
  .hero .scene .ph{width:34%; bottom:-12%}
  .cap{flex-direction:column} .cap .btn{width:100%}
}

/* fog: not behind */
.fog-s{background:linear-gradient(180deg,#F7FAFC 0%,#E9F0F6 40%,#F7FAFC 100%); text-align:center}
.fog-s .wrap{max-width:860px}
.said{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:36px}
.said li{list-style:none; padding:12px 18px; border-radius:var(--pill); background:#fff; border:1px solid var(--line); font-size:16.5px; color:var(--ink-2); box-shadow:0 8px 24px rgba(20,33,46,.05)}
.said{margin:0 0 36px; padding:0}
.fog-s h2{max-width:20ch; margin:0 auto}
.fog-s .lede{margin:20px auto 0; text-align:center}
.fog-s .lede b{color:var(--ink); font-weight:700}

/* ten seconds */
.ten .wrap{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,90px); align-items:center}
.ten h2{max-width:16ch}
.ten .lede{margin-top:20px}
.ten .lede b{color:var(--ink); font-weight:700}
.stack{position:relative; height:300px}
.card{position:absolute; left:50%; width:min(440px,90%); border-radius:20px; background:#fff; border:1px solid var(--line); padding:20px 22px; box-shadow:0 24px 60px rgba(20,33,46,.10)}
.card .t{font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); font-weight:700}
.card .h{font-family:var(--display); font-size:20px; font-weight:700; margin-top:6px}
.card .l{margin-top:12px; display:grid; gap:8px}
.card .l i{display:block; height:9px; border-radius:5px; background:#E6EEF4}
.card:nth-child(1){transform:translate(-50%,0) rotate(-6deg); top:84px; opacity:.5}
.card:nth-child(2){transform:translate(-50%,0) rotate(4deg); top:56px; opacity:.7}
.card:nth-child(3){transform:translate(-50%,0) rotate(-2deg); top:28px; opacity:.85}
.card:nth-child(4){transform:translate(-50%,0); top:0; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft), 0 24px 60px rgba(10,110,138,.18)}
.card:not(:nth-child(4)) .t,.card:not(:nth-child(4)) .h{visibility:hidden}
.ten .sec{font-family:var(--display); font-size:clamp(64px,9vw,120px); font-weight:800; letter-spacing:-.05em; line-height:.9; color:var(--accent); font-variant-numeric:tabular-nums}
.ten .sec small{font-size:.3em; color:var(--ink-3); letter-spacing:-.01em; margin-left:.15em}
@media (max-width:900px){ .ten .wrap{grid-template-columns:1fr} .stack{height:250px} }

/* journey: scrolltelling */
.journey{background:linear-gradient(180deg,#F7FAFC,#EEF4F8 30%,#F7FAFC)}
.jhead{max-width:760px}
.jhead .lede{margin-top:18px}
.jgrid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:clamp(40px,7vw,110px); margin-top:clamp(40px,6vw,72px); align-items:start}
.jside{align-self:stretch; order:2}
.jsticky{position:sticky; top:96px}
.jstage{display:grid}
.jstage .scene{grid-area:1/1; opacity:0; transform:scale(.985); transition:opacity .7s var(--ease), transform .7s var(--ease)}
.jstage .scene.on{opacity:1; transform:none}
.chap{padding:clamp(28px,5vh,56px) 0; border-top:1px solid var(--line)}
.chap:first-child{border-top:0; padding-top:0}
.chap .k{font-family:var(--display); font-weight:700; color:var(--accent); font-size:15px}
.chap .k small{color:var(--ink-3); font-weight:600; font-family:var(--sans); margin-left:10px}
.chap h3{margin-top:10px; font-size:clamp(28px,3.2vw,42px)}
.chap .body{margin-top:14px; color:var(--ink-2); font-size:clamp(16.5px,1.25vw,18px); max-width:52ch}
.chap .stake{margin-top:18px; font-size:clamp(19px,1.9vw,23px); line-height:1.35; color:var(--ink); max-width:48ch; padding-left:16px; border-left:3px solid var(--accent)}
.leave{list-style:none; margin:20px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px}
.leave li{padding:8px 14px; border-radius:var(--pill); background:#fff; border:1px solid var(--line); font-size:14px; font-weight:600; color:var(--ink)}
.leave li.lab{background:none; border:0; padding:0; width:100%; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); font-weight:700; margin-bottom:2px}
.chap .scene{display:none}
.jclose{margin-top:clamp(36px,5vw,56px); padding-top:28px; border-top:1px solid var(--line); font-size:clamp(19px,2vw,24px); color:var(--ink-2); max-width:56ch}
.jclose b{color:var(--ink); font-weight:700}
@media (min-width:960px){ .chap{min-height:min(70vh,620px); display:flex; flex-direction:column; justify-content:center} }
@media (max-width:959px){
  .jgrid{grid-template-columns:1fr; margin-top:32px}
  .jside{display:none}
  .chap{padding:32px 0}
  .chap .scene{display:block; margin:16px 0 4px; aspect-ratio:5/4; max-height:360px}
  .chap .scene .ph{width:36%; bottom:-14%}
  .chap .scene .flo{width:28%}
}

/* flo */
.flo-s .panel{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(24px,4vw,56px); align-items:center; background:var(--tint); border-radius:var(--r); padding:clamp(24px,4vw,56px); overflow:hidden}
.flo-s .scene{width:100%; --sky1:#E6F0F8; --sky2:#BDD8EC; --glow:#FFFFFF; --sun:#FFFFFF; --sunx:50%; --suny:28%; --sunr:26%; --fog:.55; --sea1:#8AC2E4; --sea2:#3D8DC2; --deep:#2A78B0; --horizon:62%; --cloud:.6; aspect-ratio:4/5; max-width:420px}
.flo-s .scene .ph{right:auto; left:50%; transform:translateX(-50%) rotate(0); bottom:-8%; width:52%}
.flo-s h2{max-width:14ch}
.tenets{margin:28px 0 0; padding:0; list-style:none; display:grid; gap:0}
.tenets li{padding:18px 0; border-top:1px solid rgba(20,33,46,.1)}
.tenets li:last-child{border-bottom:1px solid rgba(20,33,46,.1)}
.tenets h3{font-size:clamp(19px,1.8vw,22px)}
.tenets p{margin-top:6px; color:var(--ink-2); font-size:16px; max-width:46ch}
@media (max-width:900px){ .flo-s .panel{grid-template-columns:1fr} .flo-s .scene{width:100%; max-width:360px; margin:0 auto} }

/* proof bento */
.bento{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); grid-template-rows:auto auto; gap:16px; margin-top:clamp(32px,5vw,56px)}
.cell{border-radius:var(--r); padding:clamp(22px,3vw,36px); position:relative; overflow:hidden; min-height:240px}
.cell h3{max-width:18ch}
.cell p{margin-top:10px; color:var(--ink-2); max-width:40ch; font-size:16.5px}
.cell.a{grid-row:1/3; background:linear-gradient(180deg,#E9F3FA,#D6E8F4); min-height:560px; padding-right:46%}
.cell.a .ph{position:absolute; right:4%; bottom:-12%; width:48%; margin:0; border-radius:34px; padding:6px; background:#0F1A24; box-shadow:0 30px 60px rgba(12,40,64,.25); transform:rotate(3deg)}
.cell.a .ph img{border-radius:28px}
.cell.b{background:linear-gradient(180deg,#FBF3E4,#F6E7CE); display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:16px; align-items:center}
.cell.b .ph{margin:0; border-radius:26px; padding:5px; background:#0F1A24; box-shadow:0 20px 40px rgba(60,40,10,.2); transform:rotate(-3deg)}
.cell.b .ph img{border-radius:21px}
.cell.c{background:var(--accent); color:#fff}
.cell.c h3{color:#fff}
.cell.c p{color:rgba(255,255,255,.86)}
@media (max-width:900px){ .bento{grid-template-columns:1fr} .cell.a{grid-row:auto; min-height:0; padding-right:clamp(22px,3vw,36px); padding-bottom:0} .cell.a .ph{position:relative; right:auto; bottom:auto; width:min(220px,62%); margin:20px auto -34%; transform:rotate(0)} .cell.b{grid-template-columns:1fr 120px} }

/* trust */
.trust h2{max-width:18ch}
.tgrid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,40px); margin-top:clamp(28px,4vw,48px)}
.tgrid div{padding-top:18px; border-top:2px solid var(--ink)}
.tgrid h3{font-size:20px}
.tgrid p{margin-top:8px; color:var(--ink-2); font-size:16px}
.tgrid q{display:block; margin-top:10px; font-style:italic; color:var(--ink); font-size:16px}
.tgrid q::before,.tgrid q::after{content:''}
@media (max-width:760px){ .tgrid{grid-template-columns:1fr} }

/* join */
.join{background:linear-gradient(180deg,#F7FAFC,#E6F0F7)}
.join .box{max-width:640px; margin:0 auto; text-align:center}
.join h2{font-size:clamp(34px,4.8vw,60px)}
.join .lede{margin:18px auto 0; text-align:center}
form.big{margin-top:30px; text-align:left; display:grid; gap:14px}
.f label{display:block; font-weight:700; font-size:14px; margin-bottom:6px}
.f select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2314212E' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 18px center; padding-right:44px; color:var(--ink)}
form.big .btn{width:100%; margin-top:4px}
.fine{margin-top:14px; font-size:14px; color:var(--ink-3); text-align:center}
.faq{margin:36px auto 0; max-width:640px; display:grid; gap:10px; text-align:left}
details{background:#fff; border:1px solid var(--line); border-radius:18px; padding:0 20px}
summary{list-style:none; cursor:pointer; padding:16px 0; font-weight:700; font-size:16.5px; display:flex; justify-content:space-between; align-items:center; gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:''; width:10px; height:10px; border-right:2px solid var(--ink); border-bottom:2px solid var(--ink); transform:rotate(45deg); transition:transform .25s var(--ease); flex:none; margin-right:4px}
details[open] summary::after{transform:rotate(-135deg)}
details p{padding:0 0 18px; color:var(--ink-2); font-size:15.5px}

/* sticky mobile cta */
.sticky{position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:60; display:none; transform:translateY(130%); transition:transform .4s var(--ease)}
.sticky.on{transform:none}
.sticky .btn{width:100%; box-shadow:0 12px 36px rgba(10,110,138,.35)}
@media (max-width:760px){ .sticky{display:block} }

footer{padding:36px 0 44px; color:var(--ink-3); font-size:14px; border-top:1px solid var(--line)}
footer .wrap{display:flex; flex-wrap:wrap; gap:14px 26px; justify-content:space-between; align-items:center}
footer ul{display:flex; flex-wrap:wrap; gap:8px 20px; list-style:none; margin:0; padding:0}
footer a{color:var(--ink-3); text-decoration:none} footer a:hover{color:var(--ink); text-decoration:underline}

/* motion */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
.reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1; transform:none; transition:none} .scene .foam,.scene .line,.scene .flo{animation:none} .btn,summary::after,.sticky,.jstage .scene{transition:none} }

/* ============ menu, scrubber, marquee, house ============ */
.vx-grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E")}
.nav{z-index:80}
.nav .wrap{display:flex;align-items:center;gap:14px}
.vx-menu-btn{width:46px;height:46px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.7);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;cursor:pointer;flex-shrink:0;transition:background .2s var(--ease),border-color .2s}
.vx-menu-btn:hover{background:#fff;border-color:var(--accent)}
.vx-menu-btn i{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s}
.vx-menu-btn[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.vx-menu-btn[aria-expanded="true"] i:nth-child(2){opacity:0}
.vx-menu-btn[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav .vx-spacer{flex:1}
.vx-panel,.vx-panel *{transform:none;animation:none;opacity:1}
.vx-panel{position:fixed;left:0;right:0;top:0;z-index:60;background:rgba(255,255,255,.92);
  backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);
  border-bottom:1px solid var(--line);box-shadow:0 24px 60px rgba(20,33,46,.10);border-radius:0 0 var(--r) var(--r);
  transform:translateY(-101%);transition:transform .48s var(--ease);padding:96px 0 34px}
.vx-panel{transform:translateY(-101%)}
.vx-panel.open{transform:none}
.vx-panel .vx-mgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vx-panel a.vx-mcard{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:20px;background:var(--tint);
  border:1px solid transparent;transition:transform .3s var(--ease),border-color .2s,background .2s;text-decoration:none}
.vx-panel a.vx-mcard:hover{transform:translateY(-3px);background:#fff;border-color:var(--accent)}
.vx-panel a.vx-mcard .k{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.vx-panel a.vx-mcard .t{font-family:var(--display);font-size:20px;line-height:25px;color:var(--ink)}
.vx-panel a.vx-mcard .d{font-size:13px;line-height:19px;color:var(--ink-3)}
.vx-scrim{position:fixed;inset:0;z-index:55;background:rgba(20,33,46,.28);opacity:0;pointer-events:none;transition:opacity .4s}
.vx-scrim.on{opacity:1;pointer-events:auto}
@media (max-width:860px){.vx-panel .vx-mgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vx-panel .vx-mgrid{grid-template-columns:1fr}.vx-panel{padding:88px 0 24px}.vx-panel a.vx-mcard{padding:16px}}


/* v6 - the deck universe */
.vx-kick{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.13em;
  text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--pill);
  padding:8px 15px;margin-bottom:16px}
.vx-kick::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--coral)}

/* the broken path */
.vx-broke{padding:clamp(64px,9vw,120px) 0;background:linear-gradient(180deg,var(--page) 0%,var(--tint) 62%,var(--page) 100%)}
.vx-broke .vx-btext{max-width:860px}
.vx-broke h2{font-family:var(--display);font-size:clamp(27px,4.1vw,50px);line-height:1.06;letter-spacing:-.018em;
  margin:0 0 16px;color:var(--ink);max-width:20ch}
.vx-broke p{font-size:clamp(16px,1.55vw,19px);line-height:1.6;color:var(--ink-2);margin:0;max-width:62ch}
.vx-bimg{margin:clamp(26px,4vw,44px) 0 0;border-radius:var(--r);overflow:hidden;
  box-shadow:0 30px 70px rgba(20,80,130,.16)}
.vx-bimg img{display:block;width:100%;height:auto}
.vx-bnote{margin-top:clamp(24px,3.4vw,38px)!important;font-size:clamp(17px,1.75vw,22px)!important;
  line-height:1.5!important;color:var(--ink)!important;font-weight:600;max-width:44ch!important}

/* the coastline */
.vx-map{margin:clamp(24px,3.6vw,44px) 0 clamp(30px,4vw,52px);border-radius:var(--r);overflow:hidden;
  box-shadow:0 30px 70px rgba(20,80,130,.15)}
.vx-map svg{display:block;width:100%;height:auto}
.vx-maplab{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 0}
.vx-maplab span{font-size:12.5px;font-weight:700;color:var(--ink-2);background:var(--panel);
  border:1px solid var(--line);border-radius:var(--pill);padding:7px 14px}

/* what you walk away with */
.vx-walk{padding:clamp(64px,9vw,120px) 0;background:var(--tint)}
.vx-walk header{max-width:820px;margin-bottom:clamp(26px,3.6vw,44px)}
.vx-walk h2{font-family:var(--display);font-size:clamp(26px,3.8vw,46px);line-height:1.07;letter-spacing:-.018em;
  margin:0 0 14px;color:var(--ink);max-width:22ch}
.vx-walk .lede{font-size:clamp(16px,1.5vw,19px);line-height:1.58;color:var(--ink-2);margin:0;max-width:60ch}
.vx-wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.7vw,22px)}
.vx-wcard{background:var(--panel);border-radius:var(--r);padding:14px 14px 26px;display:flex;flex-direction:column;
  box-shadow:0 16px 40px rgba(20,80,130,.09);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.vx-wcard:hover{transform:translateY(-6px);box-shadow:0 30px 64px rgba(20,80,130,.16)}
.vx-wcard svg{display:block;width:100%;height:auto;border-radius:20px}
.vx-wcard h3{font-family:var(--display);font-size:clamp(19px,1.9vw,23px);line-height:1.16;
  margin:20px 4px 9px;color:var(--ink)}
.vx-wcard p{font-size:15px;line-height:23px;color:var(--ink-2);margin:0 4px 16px}
.vx-tag{align-self:flex-start;margin:auto 0 0 4px;font-size:11.5px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--coral-ink);background:#FFECE7;border-radius:var(--pill);padding:7px 13px}
@media (max-width:920px){.vx-wgrid{grid-template-columns:1fr}.vx-wcard{padding:12px 12px 22px}}

.vx-swipe{display:none;font-size:12px;color:var(--ink-3);margin:9px 2px 0}
@media (max-width:760px){
  .vx-bimg,.vx-map{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:22px}
  .vx-bimg img{min-width:720px}
  .vx-map svg{min-width:820px}
  .vx-swipe{display:block}
  .vx-broke h2,.vx-walk h2{max-width:none}
}

/* what the first students said */
.vx-said{padding:clamp(64px,9vw,112px) 0;background:var(--sand)}
.vx-said header{max-width:760px;margin-bottom:clamp(26px,3.4vw,40px)}
.vx-said h2{font-family:var(--display);font-size:clamp(25px,3.5vw,42px);line-height:1.08;letter-spacing:-.018em;
  margin:0 0 12px;color:var(--ink);max-width:20ch}
.vx-said .lede{font-size:clamp(15px,1.45vw,18px);line-height:1.58;color:var(--ink-2);margin:0;max-width:58ch}
.vx-qgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.vx-q{margin:0;background:var(--panel);border-radius:var(--r);padding:clamp(24px,3vw,38px);
  box-shadow:0 16px 40px rgba(20,80,130,.08);display:flex;flex-direction:column;position:relative;overflow:hidden}
.vx-q::before{content:"";position:absolute;left:0;top:clamp(24px,3vw,38px);bottom:clamp(24px,3vw,38px);
  width:4px;border-radius:0 4px 4px 0;background:var(--accent)}
.vx-q.b::before{background:var(--coral)}
.vx-q p{font-style:italic;font-weight:500;font-size:clamp(19px,2.2vw,27px);line-height:1.34;color:var(--ink);
  margin:0 0 20px;padding-left:clamp(18px,2vw,26px);letter-spacing:-.005em}
.vx-q .by{margin-top:auto;padding:0;border:0;background:none;padding-left:clamp(18px,2vw,26px);display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.vx-q b{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2)}
.vx-q span{font-size:13px;line-height:19px;color:var(--ink-3)}
.vx-said .vx-src{margin:clamp(20px,2.6vw,30px) 0 0;font-size:13.5px;line-height:21px;color:var(--ink-3);max-width:62ch}
@media (max-width:820px){.vx-qgrid{grid-template-columns:1fr}.vx-said h2{max-width:none}}

/* proof marquee */
.vx-mq{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);padding:18px 0}
.vx-mq .t{display:flex;gap:44px;width:max-content;animation:mqx 38s linear infinite}
.vx-mq:hover .t{animation-play-state:paused}
.vx-mq span{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.vx-mq span b{color:var(--ink);font-family:var(--display);font-size:19px;font-weight:600}
.vx-mq span::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.5;margin-left:34px}
@keyframes mqx{from{transform:none}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.vx-mq .t{animation:none}}

/* house: team, partners, books, traction */
.vx-house{padding:clamp(64px,9vw,120px) 0;background:var(--page)}
.vx-house .vx-hgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.vx-house .vx-blk{grid-column:span 6;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(22px,3vw,34px);scroll-margin-top:110px}
.vx-house .vx-blk.vx-wide{grid-column:span 12}
.vx-house .vx-blk h3{font-family:var(--display);font-size:clamp(22px,2.6vw,30px);line-height:1.15;margin:6px 0 10px}
.vx-house .vx-blk .k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.vx-house .vx-blk p{font-size:15px;line-height:23px;color:var(--ink-2);margin:0 0 14px}
.vx-people{display:flex;flex-wrap:wrap;gap:10px}
.vx-person{display:flex;align-items:center;gap:11px;background:var(--tint);border-radius:var(--pill);padding:7px 16px 7px 7px}
.vx-person .av{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;
  justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}

.vx-person>span:last-child{display:flex;flex-direction:column}
.vx-person .nm{display:block;font-size:14px;font-weight:600;line-height:17px;color:var(--ink)}
.vx-person .rl{display:block;font-size:12px;line-height:15px;color:var(--ink-3)}
.vx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:6px}
.vx-stat{background:var(--tint);border-radius:20px;padding:18px}
.vx-stat .v{font-family:var(--display);font-size:clamp(28px,3.4vw,40px);line-height:1;color:var(--ink)}
.vx-stat .l{font-size:12px;line-height:17px;color:var(--ink-2);margin-top:7px}
.vx-books{display:flex;gap:14px;flex-wrap:wrap}
.vx-book{flex:1 1 240px;background:var(--sand);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:6px}
.vx-book .bt{font-family:var(--display);font-size:19px;line-height:24px;color:var(--ink)}
.vx-book .bs{font-size:13px;line-height:19px;color:var(--ink-2)}
.vx-book .bm{font-size:12px;color:var(--ink-3);margin-top:auto;padding-top:10px}
.vx-orgs{display:flex;flex-wrap:wrap;gap:9px}
.vx-org{border:1px solid var(--line);border-radius:var(--pill);padding:9px 15px;font-size:13px;font-weight:600;color:var(--ink-2);background:#fff}
.vx-doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.vx-doors a{display:block;padding:18px;border-radius:20px;background:var(--tint);text-decoration:none;
  border:1px solid transparent;transition:transform .3s var(--ease),background .2s,border-color .2s}
.vx-doors a:hover{transform:translateY(-3px);background:#fff;border-color:var(--accent)}
.vx-doors .k{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.vx-doors .t{display:block;font-family:var(--display);font-size:18px;line-height:23px;color:var(--ink)}
.vx-doors .d{display:block;font-size:12px;line-height:17px;color:var(--ink-3);margin-top:5px}
@media (max-width:1000px){.vx-doors{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.vx-house .vx-blk{grid-column:span 12}.vx-stats{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vx-doors{grid-template-columns:1fr}}


.vx-turn{padding:clamp(70px,10vw,130px) 0;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vx-turn .wrap{max-width:820px;text-align:center}
.vx-turn-k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.vx-turn h2{font-family:var(--display);font-size:clamp(28px,4.4vw,52px);line-height:1.06;letter-spacing:-.01em;margin:0 0 18px;color:var(--ink)}
.vx-turn-p{font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:var(--ink-2);margin:0 auto;max-width:62ch}
