:root{--n:#0B1F3A;--n2:#132c50;--ink:#1c2533;--mut:#5b6677;--line:#e4e8ee;--bg2:#f6f7f9}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:300 17px/1.75 Inter,sans-serif;color:var(--ink);background:#fff}
a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 32px}
h1,h2{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--n);line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(44px,6vw,80px)}h1 em{font-style:italic;color:#c9d3e2}h2{font-size:clamp(34px,4vw,52px);margin-bottom:24px}
h3{font-size:17px;font-weight:600;color:var(--n);margin-bottom:8px}h4{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;margin-bottom:8px}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--mut);font-weight:500;margin-bottom:18px}
.eyebrow.light,.hero .eyebrow{color:#9fb1cc}
.lede{font-size:19px;max-width:720px;margin-bottom:36px}
.nav{position:fixed;inset:0 0 auto;z-index:9;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:80px}.brand img{height:52px}
nav a{margin:0 16px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--n)}nav a:hover{opacity:.6}
.btn{display:inline-block;background:var(--n);color:#fff;padding:17px 34px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;border:1px solid var(--n);transition:.3s}
.btn:hover{background:var(--n2)}.btn.sm{padding:12px 22px;font-size:12px}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.5);margin-left:14px}.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.light{background:#fff;color:var(--n);border-color:#fff}.btn.light:hover{background:#e9edf3}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,31,58,.95) 0%,rgba(11,31,58,.82) 45%,rgba(11,31,58,.35) 100%),url(assets/hero.webp) center/cover}
.hero-in{position:relative;padding-top:120px;padding-bottom:80px}.hero h1{color:#fff;margin-bottom:28px;max-width:820px}.hero .lede{color:#d5dde9}
.stats{background:var(--n);color:#c9d3e2;padding:0 0 70px;border-top:1px solid rgba(255,255,255,.12)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stats .grid3{padding-top:64px}.stats span{font-family:'Cormorant Garamond',serif;font-size:60px;color:#fff;display:block;line-height:1}
.stats p{font-size:15px;margin-top:10px;max-width:260px}.src{font-size:13px;color:var(--mut);margin-top:28px;font-style:italic}.stats .src{color:#8ea0bb;margin-top:44px}
.sec{padding:130px 0}.alt{background:var(--bg2)}.two{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.two p+p{margin-top:18px}
.card{background:#fff;border:1px solid var(--line);padding:34px 28px;transition:.3s;border-top:2px solid var(--n)}.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(11,31,58,.25)}
.card p{font-size:15px;color:var(--mut)}.note{margin-top:40px;font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--n);font-style:italic}
.dark{background:var(--n);color:#d5dde9}.dark h2,.dark h3,.dark h4{color:#fff}
.steps{margin:60px 0 80px}.steps>div{border-top:1px solid rgba(255,255,255,.2);padding-top:28px}.steps b{font-family:'Cormorant Garamond',serif;font-size:44px;color:#7f93b3;font-weight:500}
.sub{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:500;margin-bottom:30px}
.deliv>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);padding:36px}
.incl{margin:36px 0 24px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#9fb1cc}.dark .btn{margin-top:32px}
.band{margin-top:120px;padding-top:80px;border-top:1px solid var(--line)}.role{letter-spacing:.2em;text-transform:uppercase;font-size:13px;color:var(--mut)}
.center{text-align:center}.center .lede{margin:0 auto 40px}.final{padding:150px 0}.contact{margin-top:40px;font-size:15px;letter-spacing:.06em}.contact a:hover{color:#fff}
footer{padding:30px 0;font-size:13px;color:var(--mut);border-top:1px solid var(--line)}
@media(max-width:900px){nav{display:none}.grid3,.grid4,.two{grid-template-columns:1fr;gap:28px}.sec{padding:84px 0}.btn.ghost{margin:14px 0 0}.wrap{padding:0 22px}.brand img{height:40px}}
/* high-tech dark override */
:root{--n:#081a33}
body{background:#06142a;color:#c9d3e2}
.nav{background:rgba(6,20,42,.85);border-color:rgba(255,255,255,.08)}nav a{color:#dfe6f0}
.nav .btn{background:#fff;color:var(--n)}
h2,h3,.note{color:#fff}.eyebrow{color:#7f93b3;font-family:ui-monospace,Menlo,monospace}
.alt,.sec{background:#06142a}.dark{background:#081a33}.dark2{background:#0b2244}
.grid-bg{background-image:linear-gradient(rgba(140,170,210,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(140,170,210,.07) 1px,transparent 1px);background-size:48px 48px}
.card{background:rgba(255,255,255,.03);border:1px solid rgba(160,185,220,.18);border-top:1px solid #9fb1cc;position:relative}
.card:before{content:"";position:absolute;top:-4px;left:-4px;width:8px;height:8px;border:1px solid #9fb1cc}
.card p,.src{color:#9aa8bd}.stats{background:#081a33}.role{color:#9fb1cc}
.hero-bg{background:linear-gradient(100deg,rgba(6,20,42,.96) 0%,rgba(6,20,42,.8) 50%,rgba(6,20,42,.3) 100%),url(assets/blueprint.webp) center/cover}
.sub-hero{min-height:78vh}footer{color:#7f93b3;border-color:rgba(255,255,255,.08)}
.hero .btn:not(.ghost){background:#fff;color:#081a33;border-color:#fff}
.cal{border:1px solid rgba(160,185,220,.2);background:#081a33}
/* v3 */
.hero{min-height:auto;align-items:flex-start}.hero-in{padding-top:150px;padding-bottom:110px}
.sub-hero{min-height:auto}.short .hero-in{padding-bottom:80px}
.hero h1{font-size:clamp(40px,5.4vw,72px)}
.trust{margin-top:26px;font:12px ui-monospace,Menlo,monospace;letter-spacing:.18em;text-transform:uppercase;color:#8ea0bb}
.crumb{font-size:13px;color:#8ea0bb;margin-bottom:18px}.crumb a{color:#c9d3e2}
.dd{position:relative;display:inline-block}.ddm{display:none;position:absolute;top:100%;left:0;background:#081a33;border:1px solid rgba(160,185,220,.2);padding:14px 0;min-width:250px;max-height:70vh;overflow:auto;box-shadow:0 20px 40px rgba(0,0,0,.4)}
.dd:hover .ddm,.dd.open .ddm{display:block}.ddm a{display:block;margin:0;padding:7px 20px;font-size:12px}.ddm a.sub{padding-left:34px;color:#9fb1cc;text-transform:none;letter-spacing:.04em}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.gap{border:1px solid rgba(160,185,220,.25);padding:40px;background:rgba(255,255,255,.03);position:relative}.gap:after{content:"";position:absolute;right:16px;top:16px;width:22px;height:22px;border-top:1px solid #9fb1cc;border-right:1px solid #9fb1cc}
.deliv h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600}.light-d>div{background:rgba(255,255,255,.03);border:1px solid rgba(160,185,220,.18);padding:32px}
.link{color:#fff;border-bottom:1px solid #9fb1cc}.note .link{font-style:normal}
.ex{border:1px solid rgba(160,185,220,.25);padding:30px;background:rgba(255,255,255,.03);margin-top:10px}.ex-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ex-row span{display:block;font:12px ui-monospace,Menlo,monospace;color:#8ea0bb}.ex-row b{display:block;font-family:'Cormorant Garamond',serif;font-size:46px;color:#fff;font-weight:500;line-height:1.2}.ex-row i{font-style:normal;font-size:12px;color:#9fb1cc;letter-spacing:.1em;text-transform:uppercase}
.disc{font-size:12px;color:#7f93b3;margin-top:16px;line-height:1.5}
.calc{border:1px solid rgba(160,185,220,.25);padding:30px;background:rgba(255,255,255,.03)}.calc-in{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9fb1cc}
input,select,textarea{display:block;width:100%;margin-top:6px;background:#06142a;border:1px solid rgba(160,185,220,.3);color:#fff;padding:13px 14px;font:400 15px Inter,sans-serif;text-transform:none;letter-spacing:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:#fff}
.calc-out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.calc-out span{font:12px ui-monospace,monospace;color:#8ea0bb}.calc-out b{display:block;font-family:'Cormorant Garamond',serif;font-size:32px;color:#fff;font-weight:500}.calc-out i{font-style:normal;font-size:12px;color:#9fb1cc}
.lead{border:1px solid rgba(160,185,220,.25);padding:34px;background:#081a33}.lead h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600}.small{font-size:14px;color:#9aa8bd;margin-bottom:20px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.fg .full{grid-column:1/-1}.hp{display:none}.lead .btn{width:100%;background:#fff;color:#081a33;border-color:#fff;cursor:pointer}
.watch{list-style:none;padding:0;margin:20px 0 26px}.watch li{padding:12px 0 12px 28px;border-bottom:1px solid rgba(160,185,220,.15);position:relative}.watch li:before{content:"";position:absolute;left:0;top:21px;width:12px;height:1px;background:#9fb1cc}
.narrow{max-width:860px}details{border-bottom:1px solid rgba(160,185,220,.18);padding:20px 0}summary{cursor:pointer;list-style:none}summary h3{display:inline;font-size:18px}summary:after{content:"+";float:right;color:#9fb1cc;font-size:22px}details[open] summary:after{content:"\2212"}details p{margin-top:12px;color:#aab6c8}
.booktop{padding-top:150px}.booktop h1{font-size:clamp(38px,4.6vw,60px);margin-bottom:24px;color:#fff}
.foot{display:flex;justify-content:space-between;align-items:center;gap:20px}.foot a{margin-left:22px}.foot p{margin-top:6px}
a.card{display:block}
@media(max-width:900px){.grid2,.ex-row,.calc-out,.calc-in,.fg{grid-template-columns:1fr}.hero-in{padding-top:120px;padding-bottom:70px}.foot{flex-direction:column;align-items:flex-start}.foot a{margin:0 16px 0 0}.ex-row b{font-size:38px}nav{display:none}}
.stats .src{max-width:1180px}.burger{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:20px;padding:6px 12px;margin-left:10px}
@media(max-width:900px){.burger{display:block}.nav-in{gap:8px}.nav-in .btn.sm{margin-left:auto}
body.menu nav{display:flex;flex-direction:column;position:absolute;top:80px;left:0;right:0;background:#081a33;padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.1)}
body.menu nav a{margin:10px 0}.ddm{position:static;box-shadow:none;border:0;max-height:none}}
.bars{margin:26px 0 6px}.bar{display:grid;grid-template-columns:80px 1fr 90px;grid-template-rows:auto auto;column-gap:14px;align-items:center;margin-bottom:16px}
.bl{font:12px ui-monospace,monospace;color:#8ea0bb;text-transform:uppercase;letter-spacing:.1em}
.track{height:34px;background:rgba(255,255,255,.04);border:1px solid rgba(160,185,220,.18)}
.fill{height:100%;transition:width .5s;background:linear-gradient(90deg,#2a4a78,#5f82b5)}.f0{background:#2a3c58}.f3{background:linear-gradient(90deg,#5f82b5,#e8eef7)}
.bar b{font-family:'Cormorant Garamond',serif;font-size:28px;color:#fff;font-weight:500;text-align:right}.bar i{grid-column:2/4;font-style:normal;font-size:12px;color:#9fb1cc;letter-spacing:.08em;margin-top:4px}
.calc .btn{margin-top:20px}
@media(max-width:900px){.bar{grid-template-columns:64px 1fr 74px}.bar b{font-size:22px}}
@media(max-width:900px){.bl{white-space:nowrap;font-size:10px;letter-spacing:.04em}.bar{grid-template-columns:62px 1fr 70px;column-gap:10px}}

.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.wm{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:19px;letter-spacing:.2em;text-transform:uppercase;color:#fff;white-space:nowrap}
.foot .brand .wm{font-size:16px}
.head{display:block;width:100%;height:auto;max-width:340px;aspect-ratio:1;object-fit:cover;border-radius:4px;border:1px solid rgba(8,26,51,.15);box-shadow:0 24px 50px -20px rgba(8,26,51,.45);margin-bottom:28px}
.bio{display:flex;align-items:center;gap:16px;margin:28px 0 8px}.head.sm{width:88px;height:88px;margin:0;border-radius:50%;border:1px solid rgba(160,185,220,.35)}.bio b{display:block;color:#fff;font-family:'Cormorant Garamond',serif;font-size:21px}.bio span{color:#9fb1cc;font-size:14px}
@media(max-width:600px){.wm{font-size:14px;letter-spacing:.14em}}
.tgt{display:block;margin-top:18px;color:#c9d4e5;font-size:14px}.tgt b{color:#fff}.tgt input{width:100%;accent-color:#9fb1cc;margin-top:10px}.rng{display:flex;justify-content:space-between;font:11px ui-monospace,monospace;color:#8ea0bb}.rng i{font-style:normal}
.steps{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.steps span{flex:1;min-width:70px;font:11px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#6f83a3;border-top:2px solid rgba(160,185,220,.2);padding-top:10px}.steps span.on{color:#fff;border-color:#fff}
.q{border:0;margin:0 0 22px;padding:0}.q legend{color:#fff;font-size:16px;margin-bottom:10px}.opt{display:flex;align-items:center;gap:12px;border:1px solid rgba(160,185,220,.22);padding:12px 14px;margin-bottom:8px;cursor:pointer;color:#c9d4e5;font-size:15px}.opt input{width:auto;margin:0;accent-color:#fff}.opt:has(input:checked){border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.nav2{display:flex;gap:12px}.nav2 .btn{flex:1}.lead .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.err{color:#ffb4b4;font-size:14px;min-height:1px}
.res{border:1px solid rgba(160,185,220,.25);padding:34px;background:#081a33}.res h3{font-family:'Cormorant Garamond',serif;font-size:26px;color:#fff;margin:30px 0 10px}.calc-out.big{grid-template-columns:1.4fr 1fr}.calc-out.big b{font-size:38px}.calc-out i{display:block;color:#9fb1cc;font-style:normal;font-size:12px}.btn.lg{padding:20px 40px;font-size:14px;margin-top:26px}
@media(max-width:900px){.calc-out.big{grid-template-columns:1fr}.res,.lead{padding:22px}}
/* ---- visuals v2 ---- */
.nav .btn.sm{white-space:nowrap}
@media(max-width:600px){.nav .btn.sm{padding:9px 14px;font-size:11px;letter-spacing:.08em}}
.home-hero{background:#06142a}
.hero-media{position:absolute;inset:0;background:#06142a url(assets/hero-poster.webp) right center/cover}
.hv{width:100%;height:100%;object-fit:cover;object-position:right center;display:block}
.hero-ov{position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,20,42,.97) 0%,rgba(6,20,42,.85) 42%,rgba(6,20,42,.25) 100%)}
@media(max-width:900px){.hero-ov{background:linear-gradient(180deg,rgba(6,20,42,.78),rgba(6,20,42,.94))}}
@media(prefers-reduced-motion:reduce){.hv{display:none}}
.ind-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;position:relative}
.ind-grid .hero-in{padding-left:0;padding-right:0}
.ind-fig{margin:120px 0 60px;border:1px solid rgba(159,177,204,.28);box-shadow:0 30px 80px rgba(0,0,0,.45);position:relative}
.ind-fig img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.ind-fig::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.12);pointer-events:none}
@media(max-width:900px){.ind-grid{grid-template-columns:1fr;gap:0}.ind-fig{margin:0 0 56px}}
.proc-sec{background:#06142a}
.proc{list-style:none;padding:0;margin:48px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.proc::before{content:"";position:absolute;top:32px;left:32px;right:12%;height:1px;background:linear-gradient(90deg,#9fb1cc,rgba(159,177,204,.2));transform-origin:left;animation:pline 1.6s .2s cubic-bezier(.6,0,.2,1) both}
.proc li{position:relative;opacity:0;animation:pfade .7s calc(.35s + var(--i)*.38s) ease-out both}
.pn{display:flex;width:64px;height:64px;border:1px solid #9fb1cc;background:#06142a;align-items:center;justify-content:center;margin-bottom:22px;position:relative}
.pn svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:1.4;stroke-dasharray:140;stroke-dashoffset:140;animation:pdraw 1.2s calc(.5s + var(--i)*.38s) ease-out forwards}
.proc b{display:block;color:#9fb1cc;font-size:12px;letter-spacing:.2em;margin-bottom:8px}.proc h3{color:#fff;margin:0 0 8px}.proc p{color:#c3cede;margin:0}
@keyframes pline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pdraw{to{stroke-dashoffset:0}}
@media(max-width:900px){.proc{grid-template-columns:1fr;gap:26px}.proc::before{top:0;bottom:0;left:32px;right:auto;width:1px;height:auto;transform-origin:top;animation-name:plinev}.proc li{padding-left:88px;min-height:64px}.pn{position:absolute;left:0;top:0}}
@keyframes plinev{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.va-hero .hero-in{padding-bottom:20px}
.vchart{margin:0 0 80px;max-width:720px;padding:28px 28px 18px;border:1px solid rgba(159,177,204,.25);background:rgba(6,20,42,.6);backdrop-filter:blur(4px)}
.vchart svg{width:100%;height:auto;display:block;overflow:visible}
.vchart .gl line{stroke:rgba(159,177,204,.15)}
.cb rect{fill:url(#none);fill:rgba(159,177,204,.22);stroke:#9fb1cc;stroke-width:1;transform-box:fill-box;transform-origin:bottom;animation:cgrow .9s calc(.3s + var(--i)*.18s) cubic-bezier(.3,.7,.2,1) both}
.cb:last-child rect,.cb:nth-last-child(1) rect{fill:rgba(255,255,255,.35)}
.cv{fill:#fff;font:600 16px Inter,sans-serif;text-anchor:middle;opacity:0;animation:pfade .5s calc(.9s + var(--i)*.18s) both}
.cl{fill:#9fb1cc;font:500 12px Inter,sans-serif;text-anchor:middle;letter-spacing:.06em}
.cline{fill:none;stroke:#fff;stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1;animation:pdraw 1.4s 1.2s ease-in-out forwards}
.cd{fill:#fff;opacity:0;animation:pfade .4s calc(1.2s + var(--i)*.28s) both}
.vchart figcaption{color:#9fb1cc;font-size:12px;margin-top:10px;letter-spacing:.02em}
@keyframes cgrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.proc::before,.proc li,.pn svg,.cb rect,.cv,.cline,.cd{animation:none!important;opacity:1;stroke-dashoffset:0;transform:none}}
.va-hero{flex-direction:column;align-items:stretch}.va-hero>.wrap{width:100%}.vchart{margin:0 0 80px}
.stats span sup{font-family:Inter,sans-serif;font-size:16px;color:#8ea0bb;vertical-align:top;margin-left:3px;line-height:1.6}
.stats .cites{font-size:11.5px;font-style:normal;line-height:1.7;color:#7f93b0}.stats .cites a{color:#9fb1cc;text-decoration:underline}.stats .cites sup{font-size:9px}
.pathc .card{display:flex;flex-direction:column}.pathc .card .link{margin-top:auto;padding-top:14px;font-size:14px}
@media(min-width:901px){.nav nav{white-space:nowrap;display:flex;flex-wrap:nowrap;align-items:center}.nav nav a{margin:0 11px;letter-spacing:.08em}}@media(min-width:901px) and (max-width:1180px){.nav nav a{margin:0 7px;font-size:11.5px;letter-spacing:.05em}}
