:root{
  --white:#FFFFFF; --navy:#0B1833; --navy-2:#13254A; --indigo:#223C6B; --royal:#2A57B0; --brass:#C9A24E; --brass-d:#94702C; --ox:#8E2C36; --ox-bg:#FBF2F1; --black:#060709; --ice:#A9C1EC; --green:#1D6B4F; --green-l:#BFEBD6;
  --bg:#FFFFFF; --fg:#0A1530; --muted:rgba(10,21,48,.72); --faint:rgba(10,21,48,.12); --soft:#F3F5F9;
  --accent:var(--royal); --pop:var(--indigo); --link:var(--indigo);
  --f-disp:"Cormorant Garamond", Garamond, "Times New Roman", serif;
  --f-body:"Source Sans 3", "Source Sans Pro", system-ui, -apple-system, "Segoe UI", sans-serif;
  --pad:clamp(20px, 5vw, 88px); --max:1320px; --ease:cubic-bezier(.2,.8,.2,1);
  --fs-h2:clamp(40px, 5.6vw, 92px); --fs-body:clamp(18px, 1.35vw, 21px); --fs-lead:clamp(20px, 1.7vw, 26px);
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
html{scroll-padding-top:calc(84px + env(safe-area-inset-top,0px)); overflow-x:clip}
html.ink{--bg:var(--navy); --fg:#FFFFFF; --muted:rgba(255,255,255,.76); --faint:rgba(255,255,255,.15); --soft:rgba(255,255,255,.06); --accent:var(--ice); --pop:#FFFFFF; --link:#FFFFFF}
html.blk{--bg:var(--black); --fg:#FFFFFF; --muted:rgba(255,255,255,.76); --faint:rgba(255,255,255,.15); --soft:rgba(255,255,255,.06); --accent:var(--brass); --pop:var(--brass); --link:#FFFFFF}
html:not(.motion) [data-ground="ink"]{--bg:var(--navy); --fg:#FFFFFF; --muted:rgba(255,255,255,.76); --faint:rgba(255,255,255,.15); --soft:rgba(255,255,255,.06); --accent:var(--ice); --pop:#FFFFFF; --link:#FFFFFF; background:var(--navy); color:#FFFFFF}
html:not(.motion) [data-ground="blk"]{--fg:#FFFFFF; --muted:rgba(255,255,255,.76); --accent:var(--brass); --pop:var(--brass); background:var(--black); color:#FFFFFF}
*,*::before,*::after{box-sizing:inherit}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
html.js-wait .hero .wrap{opacity:0}
body{margin:0; background:var(--bg); color:var(--fg); font-family:var(--f-body); font-size:var(--fs-body); line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; transition:background-color .8s var(--ease), color .8s var(--ease); overflow-x:hidden; overflow-x:clip}
img{max-width:100%; display:block}
a{color:inherit}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer; padding:0}
:focus-visible{outline:2px solid var(--accent); outline-offset:4px}
p{margin:0} h1,h2,h3,h4,h5{margin:0; font-weight:600}
.wrap{position:relative; z-index:1; max-width:var(--max); margin:0 auto; padding:0 var(--pad)}
.sec{position:relative; padding:clamp(96px, 12vw, 180px) 0}
.d{font-family:var(--f-disp)}
.center{text-align:center}
.wm{display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.1em; margin-bottom:-.1em}
.wi{display:inline-block}
.read .w{display:inline}
.nb{white-space:nowrap}

/* section label */
.slabel{display:flex; align-items:center; gap:18px; margin-bottom:clamp(40px,5vw,72px); color:var(--accent)}
.slabel .ph{font-family:var(--f-disp); font-style:italic; font-weight:600; font-size:clamp(22px,2vw,30px); white-space:nowrap}
.slabel i{flex:1; height:1px; background:currentColor; opacity:.45; transform-origin:left}
.slabel .nm{font-size:clamp(13px,1.05vw,15px); font-weight:700; letter-spacing:.18em; text-transform:uppercase; white-space:nowrap}
.slabel .nm{white-space:normal; text-align:right}
@media (max-width:600px){ .slabel{gap:12px} .slabel .nm{max-width:48%} }
.h2{font-family:var(--f-disp); font-weight:600; font-size:var(--fs-h2); line-height:1; letter-spacing:-.025em}
.h2 em{font-style:italic; font-weight:500; color:var(--pop)}
.lead{font-size:var(--fs-lead); line-height:1.5; color:var(--fg)}
.read{font-family:var(--f-disp); font-weight:500; font-size:clamp(28px,2.8vw,42px); line-height:1.28}
.kicker{font-size:clamp(13px,1vw,15px); font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--accent)}

/* buttons */
.btn{position:relative; overflow:hidden; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; min-height:58px; padding:0 32px; font-weight:700; font-size:17px; letter-spacing:.02em; text-decoration:none; border:1.5px solid transparent; white-space:nowrap; transition:color .35s var(--ease), border-color .35s}
.btn::before{content:""; position:absolute; inset:0; z-index:-1; transform:translateY(101%); transition:transform .45s var(--ease)}
.btn:hover::before{transform:none}
.btn-p{background:var(--indigo); color:#fff} .btn-p::before{background:var(--navy)}
html.ink .btn-p,html.blk .btn-p,[data-ground="ink"] .btn-p{background:#fff; color:var(--navy)}
html.ink .btn-p::before,[data-ground="ink"] .btn-p::before{background:var(--ice)}
.btn-s{border-color:currentColor; color:var(--link)} .btn-s::before{background:var(--fg)} .btn-s:hover{color:var(--bg); border-color:var(--fg)}
.ctas{display:flex; gap:12px; flex-wrap:wrap}
.ctas.c{justify-content:center}
@media (max-width:520px){ .ctas .btn{flex:1 1 100%} }

/* cursor */
.cur,.cur-r{position:fixed; left:0; top:0; z-index:200; pointer-events:none; border-radius:50%; mix-blend-mode:difference; display:none}
.cur{width:8px; height:8px; margin:-4px 0 0 -4px; background:#fff}
.cur-r{width:44px; height:44px; margin:-22px 0 0 -22px; border:1px solid #fff; place-items:center; transition:width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease)}
html.has-cur .cur{display:block} html.has-cur .cur-r{display:grid}
.cur-r.link{width:64px; height:64px; margin:-32px 0 0 -32px}

/* nav */
.nav{position:fixed; top:0; left:0; right:0; z-index:50; padding-top:env(safe-area-inset-top,0px); background:color-mix(in srgb, var(--bg) 90%, transparent); backdrop-filter:saturate(1.3) blur(14px); -webkit-backdrop-filter:saturate(1.3) blur(14px); border-bottom:1px solid var(--faint); transition:background-color .8s var(--ease), border-color .8s, transform .5s var(--ease)}
.nav.hide{transform:translateY(-100%)}
.nav .wrap{display:flex; align-items:center; gap:30px; height:80px; max-width:none}
.logo{margin-right:auto; display:block; line-height:0}
.logo img{height:38px; width:auto}
.logo .lw{display:none}
html.ink .logo .ln,html.blk .logo .ln{display:none} html.ink .logo .lw,html.blk .logo .lw{display:block}
.nav-links{display:flex; gap:28px; font-size:16px; font-weight:600}
.nav-links a{position:relative; text-decoration:none; opacity:.8}
.nav-links a:hover{opacity:1}
.nav .btn{min-height:48px; padding:0 22px; font-size:15px}
.menu-btn{display:none; font-size:14px; font-weight:700; letter-spacing:.12em; padding:10px 0}
.progress{position:absolute; left:0; bottom:-1px; height:2px; width:100%; background:var(--accent); transform-origin:left; transform:scaleX(0)}
.sheet{position:fixed; inset:0; z-index:49; background:var(--navy); color:#fff; padding:calc(112px + env(safe-area-inset-top,0px)) var(--pad) 40px; display:none; flex-direction:column; gap:4px; overflow:auto}
.sheet.open{display:flex}
.sheet a{font-family:var(--f-disp); font-weight:600; font-size:42px; text-decoration:none; line-height:1.25}
.sheet .ctas{margin-top:28px} .sheet .btn-p{background:#fff; color:var(--navy)} .sheet .btn-s{color:#fff}
@media (max-width:1020px){ .nav-links,.nav .btn{display:none} .menu-btn{display:block} .logo img{height:32px} }
.dock{position:fixed; right:clamp(12px,2vw,28px); bottom:calc(clamp(12px,2vw,28px) + env(safe-area-inset-bottom,0px)); z-index:40; display:flex; gap:8px; padding:8px; background:color-mix(in srgb, var(--bg) 94%, transparent); border:1px solid var(--faint); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); transform:translateY(calc(100% + 40px)); transition:transform .6s var(--ease), background-color .8s; box-shadow:0 18px 50px rgba(11,24,51,.16)}
.dock.show{transform:none}
.dock .btn{min-height:48px; padding:0 18px; font-size:15px}
@media (max-width:600px){ .dock{left:12px; right:12px} .dock .btn{flex:1; padding:0 8px; font-size:14px} }
.toast{position:fixed; left:50%; top:calc(96px + env(safe-area-inset-top,0px)); transform:translate(-50%,-20px); opacity:0; z-index:60; background:var(--fg); color:var(--bg); font-size:14px; font-weight:600; padding:10px 16px; transition:all .4s var(--ease); pointer-events:none}
.toast.show{opacity:1; transform:translate(-50%,0)}

/* ============ HERO ============ */
.hero{isolation:isolate; position:relative; min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:calc(120px + env(safe-area-inset-top,0px)) 0 clamp(40px,6vh,70px); overflow:clip; text-align:center}
.hero .def{font-family:var(--f-disp); font-style:italic; font-size:clamp(17px,1.4vw,21px); color:var(--muted)}
.hero .def b{font-style:normal; font-weight:700; letter-spacing:.2em; font-size:.8em; color:var(--indigo); margin-right:.6em}
.hero-h{font-family:var(--f-disp); font-weight:600; font-size:clamp(44px, 7.4vw, 124px); line-height:.98; letter-spacing:-.03em; margin:clamp(22px,3.5vh,40px) auto 0; color:var(--fg)}
.hero-h .l1,.hero-h .l3{display:block}
.hero-h .l3{font-style:italic; font-weight:500; color:var(--indigo)}
.rot{position:relative; display:grid; overflow:hidden; padding-bottom:.08em}
.rot span{grid-area:1/1; align-self:center; white-space:nowrap; transition:transform .9s var(--ease), opacity .9s var(--ease); transform:translateY(105%); opacity:0}
.rot span.on{transform:none; opacity:1}
.rot span.out{transform:translateY(-105%); opacity:0}
@media (max-width:760px){ .hero-h{font-size:clamp(38px,10.6vw,64px)} .rot span{white-space:normal} }
.hero-sub{font-family:var(--f-disp); font-weight:500; font-size:clamp(24px,2.4vw,36px); line-height:1.2; margin:clamp(22px,3vh,34px) auto 0; max-width:28ch; color:var(--fg)}
.hero-sub::before{content:""; display:block; width:56px; height:1.5px; background:var(--indigo); margin:0 auto clamp(18px,2.4vh,26px)}
.hero-tag{margin-top:clamp(16px,2vh,22px); font-size:clamp(17px,1.35vw,20px); font-weight:700; letter-spacing:.04em; color:var(--indigo)}
.hero-tag i{font-style:normal; margin:0 .8em; color:var(--royal); opacity:.6}
.hero .ctas{margin-top:clamp(26px,4vh,40px)}

/* stats */
.stats{background:var(--navy); color:#fff}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr)}
.st{padding:clamp(36px,4.4vw,64px) clamp(14px,2vw,30px); text-align:center}
.st + .st{border-left:1px solid rgba(255,255,255,.14)}
.st .n{font-family:var(--f-disp); font-weight:600; font-size:clamp(52px,5.8vw,92px); line-height:1; letter-spacing:-.02em}
.st p{margin:12px auto 0; font-size:clamp(17px,1.4vw,21px); line-height:1.35; color:rgba(255,255,255,.8); max-width:18ch}
@media (max-width:820px){ .stats .wrap{grid-template-columns:1fr 1fr} .st:nth-child(3){border-left:0} .st:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)} }

/* trust */
.trust{padding:clamp(90px,10vw,150px) 0 clamp(70px,8vw,110px); overflow:clip; background:#FFFFFF; color:#0A1530; position:relative; z-index:2}
.trust h2{font-family:var(--f-disp); font-weight:600; font-size:clamp(36px,4.4vw,68px); line-height:1.02; letter-spacing:-.02em; text-align:center; margin-bottom:clamp(36px,4vw,60px)}
.mq-row{overflow:hidden; padding:14px 0}
.mq-track{display:flex; width:max-content; align-items:center; will-change:transform}
.mq-item{flex:none; height:clamp(64px,6vw,92px); padding:0 clamp(22px,2.6vw,44px); display:flex; align-items:center}
.mq-item img{height:clamp(36px,3.6vw,54px); width:auto; max-width:180px; object-fit:contain; filter:grayscale(1); opacity:.7; transition:filter .35s, opacity .35s}
.mq-item:hover img{filter:none; opacity:1}
html:not(.motion) .mq-track{width:auto; flex-wrap:wrap; justify-content:center; transform:none!important}
html:not(.motion) .mq-dup{display:none}

.gloss{background:linear-gradient(180deg,#FFFFFF 10%,#BCD0F2 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent}
.reassure{background:linear-gradient(100deg,#FFFFFF 0%,#D3F5E6 45%,#8FE0BC 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; filter:drop-shadow(0 0 28px rgba(143,224,188,.35))}

.lvl{margin:clamp(40px,7vh,72px) auto 0; text-align:center}
.lvl .cells{display:flex; justify-content:center; gap:clamp(8px,1vw,12px)}
.lvl .cell{width:clamp(46px,4.6vw,66px); height:clamp(46px,4.6vw,66px); border-radius:14px; border:1px solid rgba(34,60,107,.22); background:rgba(255,255,255,.7); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); box-shadow:0 8px 20px rgba(11,24,51,.06); display:grid; place-items:center; font-family:var(--f-disp); font-weight:700; font-size:clamp(18px,1.7vw,24px); color:var(--indigo); animation:lvl 5.4s linear infinite}
@keyframes lvl{0%,100%{background:rgba(255,255,255,.7); color:var(--indigo); box-shadow:0 8px 20px rgba(11,24,51,.06)} 8%,40%{background:linear-gradient(180deg,#2E4E88,#16295A); color:#fff; box-shadow:0 14px 30px rgba(34,60,107,.3), inset 0 1px 0 rgba(255,255,255,.3)} 55%{background:rgba(255,255,255,.7); color:var(--indigo); box-shadow:0 8px 20px rgba(11,24,51,.06)}}
@media (prefers-reduced-motion: reduce){ .lvl .cell{background:linear-gradient(180deg,#2E4E88,#16295A); color:#fff} }
.lvl .cap{margin:20px auto 0; font-size:clamp(14px,1.1vw,16px); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}
.lvl .cap span{display:block; margin-top:6px; font-family:var(--f-body); font-size:clamp(13px,1vw,15px); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}

.hero::before{content:""; position:absolute; inset:-20%; z-index:-1; pointer-events:none;
  background:radial-gradient(38% 34% at 22% 30%, rgba(169,193,236,.45), transparent 70%), radial-gradient(34% 30% at 80% 22%, rgba(34,60,107,.14), transparent 70%), radial-gradient(40% 36% at 70% 82%, rgba(169,193,236,.32), transparent 70%);
  filter:blur(10px); animation:aur 22s ease-in-out infinite alternate}
.hero::after{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(180deg, rgba(255,255,255,0) 60%, #fff 100%)}
@keyframes aur{0%{transform:translate3d(0,0,0) scale(1)} 100%{transform:translate3d(3%,-2%,0) scale(1.06)}}
.hero-h .l1,.hero-h .rot span{background:linear-gradient(180deg,#0B1833 30%,#2B4C8C 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; padding-bottom:.06em}
.hero-h .l3{background:linear-gradient(90deg,#223C6B,#4E77C4 60%,#223C6B); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; animation:sheen 8s linear infinite; padding-bottom:.08em}
@keyframes sheen{0%{background-position:0% 0} 100%{background-position:200% 0}}
.hero .btn-p{background:linear-gradient(180deg,#2B4B84,#1A2F57); box-shadow:0 14px 34px rgba(34,60,107,.28), inset 0 1px 0 rgba(255,255,255,.25)}
.hero .btn-s{background:rgba(255,255,255,.7); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px)}

.media{background:#fff; color:#0A1530; position:relative; z-index:2; padding:clamp(60px,7vw,100px) 0 0}
.media .kicker{display:block; text-align:center; color:var(--royal)}
.media .row{margin-top:clamp(24px,3vw,40px); display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:clamp(18px,3vw,48px)}
.media img{height:clamp(30px,2.8vw,42px); width:auto; filter:grayscale(1); opacity:.72; transition:filter .35s, opacity .35s}
.media img:hover{filter:none; opacity:1}
.media .trs img{height:clamp(46px,4vw,62px)}
.media .note{margin:18px auto 0; text-align:center; font-size:15px; color:rgba(10,21,48,.6)}
/* ============ GAP ============ */
.gap-h{font-family:var(--f-disp); font-weight:600; font-size:var(--fs-h2); line-height:1; letter-spacing:-.025em; max-width:17ch; margin:0 auto; text-align:center}
.pair{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:clamp(50px,6vw,90px)}
.pc{background:rgba(255,255,255,.06); border-radius:14px; padding:clamp(26px,3vw,44px); text-align:center}
.pc .big{font-family:var(--f-disp); font-weight:600; font-size:clamp(64px,8vw,132px); line-height:.95; letter-spacing:-.03em; color:#fff; font-variant-numeric:tabular-nums}
.pc .rule{height:2px; background:rgba(255,255,255,.14); margin:18px auto 0; max-width:320px; position:relative}
.pc .rule i{position:absolute; inset:0; background:var(--ice); transform-origin:left}
.pc p{margin:16px auto 0; font-size:clamp(18px,1.6vw,23px); line-height:1.45; max-width:30ch; color:var(--muted)}
.pc p b{color:var(--fg); font-weight:700}
@media (max-width:760px){ .pair{grid-template-columns:1fr} }
.fig{position:relative}
.fig-stage{position:relative; min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:90px var(--pad)}
.fig-only{font-family:var(--f-disp); font-style:italic; font-weight:600; font-size:clamp(40px,5vw,84px); line-height:1; color:#fff; margin-bottom:-.1em}
.fig-num{font-family:var(--f-disp); font-weight:700; font-size:clamp(170px,30vw,420px); line-height:.8; letter-spacing:-.06em; color:var(--brass)}
.people{display:grid; grid-template-columns:repeat(20,1fr); gap:clamp(4px,.8vw,10px); width:min(920px,100%); margin-top:clamp(26px,4vh,44px)}
.people svg{width:100%; height:auto; color:rgba(255,255,255,.2); transition:color .6s}
.people svg.lit{color:var(--brass)}
@media (max-width:760px){ .people{grid-template-columns:repeat(10,1fr); width:min(360px,100%)} }
.fig-cap{font-family:var(--f-disp); font-weight:600; font-size:clamp(30px,3.6vw,56px); line-height:1.05; margin-top:clamp(22px,3vh,34px)}
.src{display:inline-block; margin-top:18px; padding:10px 16px; border:1px solid rgba(201,162,78,.55); border-radius:999px; font-size:clamp(14px,1.1vw,16px); font-weight:600; color:#fff; background:rgba(201,162,78,.1)}
.turn{max-width:980px; margin:clamp(40px,6vw,90px) auto 0; text-align:center}
.turn .big{font-family:var(--f-disp); font-weight:600; font-style:italic; font-size:clamp(44px,5.6vw,92px); line-height:1}
.turn .big .n94{font-style:normal; font-weight:700}
.turn .lead{margin:18px auto 0; max-width:34ch; color:var(--muted)}
.rehearse-box{margin:clamp(40px,5vw,64px) auto 0; max-width:980px; padding:clamp(30px,4vw,56px) clamp(22px,4vw,56px); border-radius:18px; background:linear-gradient(180deg, rgba(201,162,78,.14), rgba(201,162,78,.04)); border:1px solid rgba(201,162,78,.4); text-align:center}
.rehearse-box .k{font-size:13px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--brass)}
.rehearse{font-family:var(--f-disp); font-style:italic; font-weight:500; font-size:clamp(30px,3.8vw,60px); line-height:1.15; margin-top:14px; min-height:2.35em}
.caret{display:inline-block; width:3px; height:.85em; background:var(--brass); vertical-align:-.08em; margin-left:4px; animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.verdict{text-align:center; margin-top:clamp(100px,12vw,180px)}
.verdict .v1{font-family:var(--f-disp); font-weight:600; font-size:clamp(36px,4.6vw,76px); line-height:1.08; letter-spacing:-.02em}
.verdict .v2{display:block; margin-top:clamp(30px,4vw,52px); font-family:var(--f-disp); font-style:italic; font-weight:700; font-size:clamp(50px,7.4vw,128px); line-height:1.02; letter-spacing:-.02em; padding-bottom:.08em}

/* ============ STATEMENT ============ */
.stmt{position:relative; background:radial-gradient(70% 60% at 50% 50%, #101522 0%, #060709 70%); color:#fff}
.stmt-stage::before{content:""; position:absolute; left:50%; top:50%; width:min(80vw,1100px); height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent); transform:translate(-50%,-40vh) scaleX(var(--ln,0)); pointer-events:none}
.stmt-stage::after{content:""; position:absolute; left:50%; top:50%; width:min(80vw,1100px); height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent); transform:translate(-50%,40vh) scaleX(var(--ln,0)); pointer-events:none}
.stmt-stage{position:relative; height:100vh; height:100svh; display:flex; align-items:center; justify-content:center; overflow:hidden; text-align:center; padding:0 var(--pad)}
.stmt-h{background:linear-gradient(180deg,#FFFFFF 40%,#AFC0DE 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-family:var(--f-disp); font-weight:700; font-size:clamp(38px,6vw,96px); line-height:.95; letter-spacing:.01em; text-transform:uppercase; will-change:transform}
.stmt-h span{display:block}
.stmt-h .b{display:inline; background:linear-gradient(180deg,#E9C874,#B88A2E); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.stmt-after{position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); font-family:var(--f-disp); font-style:italic; font-weight:600; font-size:clamp(48px,7vw,120px); background:linear-gradient(180deg,#FFFFFF 30%,#BCD0F2 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; padding-bottom:.1em}
html:not(.motion) .stmt-stage{flex-direction:column; height:auto; padding:120px var(--pad); gap:40px}
html:not(.motion) .stmt-after{position:static; transform:none}

/* ============ SYSTEM ============ */
.sys-h{text-align:center}
.sys-h .h2 > span,.sys-h .h2 > em{display:block}
.sys-hint{margin-top:18px; text-align:center; font-size:15px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.sys-list{margin-top:clamp(50px,6vw,90px); display:flex; flex-direction:column; gap:clamp(18px,2vw,28px)}
.sys-row{display:grid; grid-template-columns:minmax(200px,.8fr) 2fr; gap:clamp(18px,3vw,48px); align-items:stretch}
.sys-name{display:flex; flex-direction:column; justify-content:center}
.sys-name .num{font-family:var(--f-disp); font-style:italic; font-size:22px; color:var(--brass-d)}
.sys-name h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(38px,4vw,64px); line-height:1; letter-spacing:-.02em}
.faces{display:grid}
.face{grid-area:1/1; border-radius:14px; padding:clamp(24px,2.6vw,38px); transition:opacity .6s var(--ease), transform .7s var(--ease)}
.face .fl{display:flex; align-items:center; gap:10px; font-size:clamp(14px,1.1vw,16px); font-weight:700; letter-spacing:.18em; text-transform:uppercase}
.face .fl b{display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; font-size:14px; letter-spacing:0}
.face p{margin-top:12px}
.face-a{background:var(--ox-bg); border-left:4px solid var(--ox)}
.face-a .fl{color:var(--ox)} .face-a .fl b{border:1.5px solid var(--ox)}
.face-a p{font-size:clamp(19px,1.6vw,24px); line-height:1.5; color:#3B2226}
.face-b{background:linear-gradient(135deg,#1F7555,#15553D); color:#fff; opacity:0; transform:translateY(22px); box-shadow:0 18px 40px rgba(21,85,61,.18)}
.face-b .fl{color:var(--green-l)} .face-b .fl b{background:var(--green-l); color:#15553D}
.face-b p{font-family:var(--f-disp); font-weight:600; font-size:clamp(22px,2vw,30px); line-height:1.3}
.sys-row.on .face-a{opacity:0; transform:translateY(-22px)}
.sys-row.on .face-b{opacity:1; transform:none}
html:not(.motion) .faces{gap:12px} html:not(.motion) .face{grid-area:auto} html:not(.motion) .face-b{opacity:1; transform:none}
html:not(.motion) .sys-row.on .face-a{opacity:1; transform:none}
@media (max-width:760px){ .sys-row{grid-template-columns:1fr} }

/* ============ METHOD ============ */
.method-h{font-family:var(--f-disp); font-weight:600; font-size:clamp(24px,5.4vw,88px); line-height:1; letter-spacing:-.025em; white-space:nowrap; text-align:center}
.method-h .arr{color:var(--royal); font-style:italic; font-weight:500}
.method-sub{margin:16px auto 0; text-align:center; font-family:var(--f-disp); font-style:italic; font-size:clamp(20px,1.8vw,28px); color:var(--muted)}
.mscale{position:sticky; top:0; z-index:3; background:color-mix(in srgb, var(--bg) 94%, transparent); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); margin-top:clamp(40px,5vw,70px); padding:14px 0 10px; border-bottom:1px solid var(--faint)}
.mscale svg{max-width:760px; margin:0 auto}
.mscale svg{width:100%; height:auto; display:block; overflow:visible}
.mscale .bar{fill:#DDE3EE; transition:fill .6s}
.mscale .bar.cur{fill:var(--indigo)} .mscale .bar.tgt{fill:var(--brass)}
.mscale .code{font-family:var(--f-disp); font-weight:700; font-size:30px; fill:var(--navy); text-anchor:middle}
.mscale .nm{font-family:var(--f-body); font-weight:600; font-size:13px; letter-spacing:1.4px; fill:#5B6478; text-anchor:middle; text-transform:uppercase}
.mscale .path{fill:none; stroke:var(--brass-d); stroke-width:3; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.2s var(--ease)}
.mscale .tag{font-family:var(--f-body); font-weight:700; font-size:15px; fill:var(--navy); text-anchor:middle; opacity:0; transition:opacity .5s}
.mscale .pin{opacity:0; transition:opacity .5s}
.mscale[data-s="0"] .t0,.mscale[data-s="1"] .t1,.mscale[data-s="2"] .t2{opacity:1}
.mscale[data-s="0"] .p0,.mscale[data-s="1"] .p0,.mscale[data-s="2"] .p0,.mscale[data-s="2"] .p2{opacity:1}
.mscale[data-s="1"] .path,.mscale[data-s="2"] .path{stroke-dashoffset:0}
.mscale .note{text-align:center; font-family:var(--f-disp); font-weight:600; font-size:clamp(18px,1.6vw,23px); color:var(--indigo); margin-top:10px}
@media (max-width:760px){ .mscale .code{font-size:40px} .mscale .nm{display:none} .mscale .tag{font-size:22px} }
.stages{display:flex; flex-direction:column; gap:clamp(20px,2.4vw,32px); margin-top:clamp(40px,5vw,70px)}
.stage{border-radius:16px; background:var(--soft); padding:clamp(26px,3.4vw,52px)}
.stage-top{display:flex; align-items:baseline; gap:18px; flex-wrap:wrap}
.stage-top .no{font-family:var(--f-disp); font-weight:700; font-size:clamp(46px,5vw,80px); line-height:.9; color:var(--royal)}
.stage-top h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(30px,3.2vw,50px); line-height:1.02; letter-spacing:-.015em}
.stage-cols{display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(20px,3vw,48px); margin-top:clamp(18px,2vw,28px)}
.stage-cols .kicker{display:block; margin-bottom:8px}
.stage-cols p{font-size:clamp(18px,1.4vw,21px); line-height:1.6}
.stage-cols .get{position:relative; overflow:hidden; background:radial-gradient(120% 120% at 15% 0%, #2A4A86 0%, #0B1833 65%); color:#fff; border-radius:16px; padding:clamp(22px,2.2vw,32px); box-shadow:0 20px 44px rgba(11,24,51,.22), inset 0 1px 0 rgba(255,255,255,.18)}
.stage-cols .get::after{content:""; position:absolute; inset:0; background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.08) 52%, transparent 64%); pointer-events:none}
.stage-cols .get .kicker{color:var(--ice)}
.stage-cols .get p{font-family:var(--f-disp); font-weight:600; font-size:clamp(21px,1.8vw,27px); line-height:1.3}
@media (max-width:760px){ .stage-cols{grid-template-columns:1fr} }
.facts{display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-top:clamp(40px,5vw,70px)}
.fact{background:var(--navy); color:#fff; border-radius:14px; padding:clamp(24px,2.4vw,36px) 14px; text-align:center}
.fact b{display:block; font-family:var(--f-disp); font-weight:700; font-size:clamp(34px,3.2vw,52px); line-height:1}
.fact span{display:block; margin-top:10px; font-size:clamp(16px,1.3vw,19px); letter-spacing:.02em; color:rgba(255,255,255,.82)}
.fact.gold{background:var(--brass); color:var(--navy)} .fact.gold span{color:rgba(11,24,51,.8)}
@media (max-width:980px){ .facts{grid-template-columns:repeat(3,1fr)} }
@media (max-width:520px){ .facts{grid-template-columns:repeat(2,1fr)} }
/* ============ SCIENCE ============ */
.sci-h{font-family:var(--f-disp); font-weight:600; font-size:clamp(44px,6.4vw,108px); line-height:1; letter-spacing:-.025em; text-align:center; max-width:18ch; margin:0 auto}
.sci-sub{font-family:var(--f-disp); font-style:italic; font-weight:600; font-size:clamp(26px,3vw,50px); line-height:1.15; text-align:center; margin:26px auto 0; padding-bottom:.08em}
.part{margin-top:clamp(100px,11vw,170px); padding-top:clamp(40px,5vw,64px); border-top:1px solid var(--faint)}
.part-hd{display:flex; align-items:baseline; gap:clamp(16px,2vw,28px); margin-bottom:clamp(30px,4vw,56px)}
.part-hd .rn{font-family:var(--f-disp); font-weight:700; font-size:clamp(64px,7vw,120px); line-height:.8; color:var(--ice)}
.part-hd .pk{display:block; font-size:14px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ice)}
.part-hd h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(32px,3.6vw,58px); line-height:1.04; letter-spacing:-.015em; margin-top:6px}
.net{display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(24px,4vw,64px); align-items:center}
.brain svg{width:100%; height:auto; display:block; overflow:visible}
.brain .cortex{fill:#122449; stroke:#fff; stroke-width:1.8}
.brain .gyr{fill:none; stroke:#fff; stroke-width:1.1; opacity:.24}
.brain .cereb{fill:#122449; stroke:#fff; stroke-width:1.4; opacity:.85}
.brain .tract{fill:none; stroke:var(--ice); stroke-width:2.6; stroke-linecap:round}
.lm{cursor:pointer; outline:none}
.lm .core{fill:#fff} .lm .ring{fill:none; stroke:#fff; stroke-width:1.2; opacity:.6}
.lm .halo{fill:var(--ice); opacity:.2; transform-box:fill-box; transform-origin:center; animation:halo 2.6s var(--ease) infinite}
.lm .lab{font-family:var(--f-body); font-weight:600; font-size:13px; fill:#fff; opacity:.6}
.lm.on .lab{opacity:1; fill:#fff} .lm.on .ring{opacity:1; stroke-width:2.2}
@keyframes halo{0%{transform:scale(.6); opacity:.4} 100%{transform:scale(2.8); opacity:0}}
.net-tabs{display:grid; gap:8px}
.net-tabs button{text-align:left; padding:16px 18px; border-radius:10px; background:rgba(255,255,255,.05); font-size:18px; font-weight:600; color:rgba(255,255,255,.72); transition:background-color .3s, color .3s}
.net-tabs button[aria-selected="true"]{background:rgba(255,255,255,.12); color:#fff; box-shadow:inset 3px 0 0 var(--ice)}
.net-panel{margin-top:22px; min-height:190px}
.net-panel h4{font-family:var(--f-disp); font-weight:600; font-size:clamp(30px,2.8vw,42px); line-height:1.05; color:#fff}
.net-panel p{margin-top:12px; font-size:clamp(19px,1.5vw,22px); line-height:1.55}
.net-panel .swap{transition:opacity .35s, transform .45s var(--ease)} .net-panel.out .swap{opacity:0; transform:translateY(10px)}
.brain{overflow:hidden}
.note-box{margin-top:clamp(30px,4vw,48px); padding:20px 24px; border-left:3px solid var(--ice); font-family:var(--f-disp); font-style:italic; font-size:clamp(22px,2vw,30px); line-height:1.3}
@media (max-width:900px){ .net{grid-template-columns:1fr} }
.pipe-intro{font-size:var(--fs-lead); line-height:1.55; max-width:40ch; color:var(--muted)}
.vpipe{position:relative; margin-top:clamp(36px,4vw,56px); padding-left:clamp(56px,7vw,96px)}
.vpipe .rail{position:absolute; left:clamp(22px,3vw,40px); top:24px; bottom:24px; width:2px; background:rgba(255,255,255,.18)}
.vpipe .rail i{position:absolute; inset:0; background:var(--ice); transform-origin:top; transform:scaleY(0)}
.vpipe .sig{position:absolute; left:clamp(22px,3vw,40px); top:24px; width:22px; height:22px; margin:-11px 0 0 -10px; border-radius:50%; background:#fff; box-shadow:0 0 0 8px rgba(169,193,236,.25), 0 0 40px rgba(169,193,236,.7); z-index:2}
html:not(.motion) .vpipe .sig{display:none} html:not(.motion) .vpipe .rail i{transform:none}
.vstep{position:relative; padding:clamp(18px,2vw,26px) 0}
.vstep::before{content:""; position:absolute; left:calc(-1 * clamp(56px,7vw,96px) + clamp(22px,3vw,40px) - 7px); top:clamp(28px,2.8vw,38px); width:14px; height:14px; border-radius:50%; background:var(--navy); border:2px solid var(--ice)}
.vstep .sn{font-size:14px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--ice)}
.vstep h4{font-family:var(--f-disp); font-weight:600; font-size:clamp(30px,3.2vw,50px); line-height:1.05}
.vstep p{margin-top:8px; font-size:clamp(18px,1.5vw,22px); line-height:1.55; color:var(--muted); max-width:46ch}
.vstep p.gl{font-family:var(--f-disp); font-style:italic; font-size:clamp(20px,1.7vw,26px); color:#fff; margin-top:4px}
.culprit{margin:10px 0 6px; border-radius:18px; padding:clamp(24px,3vw,40px); background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.04)); border:1px solid rgba(255,255,255,.28); box-shadow:0 30px 80px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.2)}
.culprit .tagc{display:inline-block; background:#fff; color:var(--navy); font-size:13px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; padding:6px 12px; border-radius:999px}
.culprit h4{margin-top:14px; font-size:clamp(40px,4.6vw,76px); color:#fff}
.culprit .lg{margin-top:12px; font-family:var(--f-body); font-style:normal; font-size:clamp(19px,1.6vw,24px); line-height:1.55; color:#fff}
.lat{margin-top:clamp(40px,5vw,64px); display:grid; gap:22px; max-width:900px}
.lat-row{display:grid; grid-template-columns:180px 1fr; align-items:center; gap:16px; font-size:16px; font-weight:600; color:var(--muted)}
.lat-bar{position:relative; height:14px; background:rgba(255,255,255,.08); border-radius:7px}
.lat-bar i,.lat-bar b{position:absolute; top:0; bottom:0; left:0; transform-origin:left; border-radius:7px}
.lat-bar i{background:#fff; width:34%} .lat-bar b{background:var(--ice); opacity:.6; left:34%; width:44%}
.lat-bar span{position:absolute; left:0; top:calc(100% + 6px); font-size:14px; white-space:nowrap}
@media (max-width:760px){ .lat{gap:40px} .lat-row{grid-template-columns:1fr} }
.concl{margin-top:clamp(90px,10vw,150px); text-align:center}
.concl p{font-family:var(--f-disp); font-weight:600; font-size:clamp(34px,4.4vw,72px); line-height:1.1; letter-spacing:-.015em}
.concl p + p{margin-top:.25em}
.concl .fin{margin-top:.45em; display:inline-block; white-space:nowrap; font-weight:700; font-size:clamp(34px,8vw,140px); line-height:1.05; padding-bottom:.1em}
.proc{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.6vw,22px)}
.proc .line{position:absolute; left:6%; right:6%; top:42px; height:2px; background:rgba(255,255,255,.16)}
.proc .line i{position:absolute; inset:0; background:var(--ice); transform-origin:left}
.pstep{position:relative; background:rgba(255,255,255,.05); border-radius:14px; padding:clamp(22px,2.2vw,30px); padding-top:0; transition:opacity .6s var(--ease), transform .6s var(--ease), background-color .6s}
html.motion .pstep{opacity:.28; transform:translateY(12px)}
html.motion .pstep.on{opacity:1; transform:none; background:rgba(255,255,255,.1)}
.pstep .pn{position:relative; z-index:2; width:84px; height:84px; margin:0 0 18px; border-radius:50%; background:var(--navy); border:2px solid var(--ice); display:grid; place-items:center; font-family:var(--f-disp); font-weight:700; font-size:34px; color:#fff; transition:background-color .5s, color .5s}
.pstep.on .pn{background:#fff; color:var(--navy)}
.pstep h4{font-family:var(--f-disp); font-weight:600; font-size:clamp(26px,2.2vw,34px); line-height:1.05; color:#fff}
.pstep p{margin-top:10px; font-size:clamp(17px,1.3vw,19px); line-height:1.55; color:var(--muted)}
.proc-note{margin:clamp(36px,4vw,60px) auto 0; max-width:900px; text-align:center; border-radius:20px; padding:clamp(28px,3.6vw,56px); background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.03)); border:1px solid rgba(255,255,255,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 30px 80px rgba(0,0,0,.25)}
.proc-note h4{font-family:var(--f-disp); font-weight:600; font-size:clamp(30px,3.2vw,50px); line-height:1.1; color:#fff}
.proc-note p{margin:16px auto 0; max-width:52ch; font-size:clamp(19px,1.7vw,24px); line-height:1.6; color:rgba(255,255,255,.86)}
@media (max-width:900px){ .proc{grid-template-columns:1fr 1fr} .proc .line{display:none} }
@media (max-width:560px){ .proc{grid-template-columns:1fr} }

/* ============ DIFFERENCE ============ */
.diff-k{display:block; text-align:center; font-size:clamp(13px,1vw,15px); font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--royal); margin-bottom:18px}
.diff-h{font-family:var(--f-disp); font-weight:700; font-size:clamp(42px,6.2vw,108px); line-height:1; letter-spacing:-.03em; text-align:center; max-width:20ch; margin:0 auto; background:linear-gradient(180deg,#0B1833 35%,#2B4C8C 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; padding-bottom:.08em}
.diff-lead{margin:22px auto 0; max-width:62ch; text-align:center; font-size:clamp(16px,1.3vw,19px); line-height:1.5; color:var(--muted)}
.dlist{margin-top:clamp(50px,6vw,90px); display:flex; flex-direction:column; gap:clamp(12px,1.4vw,18px)}
.dlab{display:grid; grid-template-columns:56px 1fr 1fr; gap:12px; font-size:14px; font-weight:700; letter-spacing:.18em; text-transform:uppercase}
.dlab .a{color:var(--ox); padding-left:6px} .dlab .b{color:var(--green); padding-left:6px}
.drow{display:grid; grid-template-columns:56px 1fr 1fr; gap:12px; align-items:stretch}
.drow .no{align-self:center; font-family:var(--f-disp); font-style:italic; font-weight:600; font-size:24px; color:var(--brass-d)}
.drow .el,.drow .us{display:flex; align-items:center; gap:12px; border-radius:14px; padding:clamp(16px,1.8vw,24px) clamp(18px,2vw,26px)}
.drow .el{background:var(--ox-bg); color:#4A2A2F; font-size:clamp(17px,1.4vw,21px); line-height:1.4}
.drow .us{background:linear-gradient(135deg,#1F7555,#15553D); color:#fff; font-family:var(--f-disp); font-weight:700; font-size:clamp(21px,2vw,30px); line-height:1.15; box-shadow:0 14px 34px rgba(21,85,61,.16)}
.drow i{flex:none; display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; font-style:normal; font-family:var(--f-body); font-size:13px; font-weight:800}
.drow .el i{border:1.5px solid var(--ox); color:var(--ox)} .drow .us i{background:var(--green-l); color:#15553D}
@media (max-width:760px){ .dlab{display:none} .drow{grid-template-columns:1fr; gap:6px} .drow .no{font-size:20px} }
.arith{display:grid; grid-template-columns:1fr 1.4fr; gap:14px; margin-top:clamp(100px,11vw,160px)}
.arith > div{border-radius:16px; padding:clamp(28px,3.4vw,50px); text-align:center}
.arith .el{background:var(--soft)} .arith .us{background:var(--navy); color:#fff}
.arith .kicker{display:block}
.arith .us .kicker{color:var(--ice)}
.arith .num{font-family:var(--f-disp); font-weight:600; font-size:clamp(76px,9vw,150px); line-height:1; letter-spacing:-.03em; margin-top:14px; font-variant-numeric:tabular-nums; white-space:nowrap}
.arith .el .num{color:rgba(10,21,48,.45)}
.arith .unit{font-size:clamp(18px,1.5vw,22px); font-weight:700; margin-top:6px}
.arith .desc{margin:12px auto 0; max-width:30ch; font-size:clamp(17px,1.35vw,20px); line-height:1.5; opacity:.8}
@media (max-width:760px){ .arith{grid-template-columns:1fr} }
.coda{margin-top:clamp(40px,4vw,64px); text-align:center}
.coda small{display:block; font-family:var(--f-disp); font-style:italic; font-weight:600; font-size:clamp(28px,3vw,48px); color:var(--muted)}
.coda b{display:block; font-family:var(--f-disp); font-weight:700; font-size:clamp(150px,20vw,300px); line-height:.85; letter-spacing:-.05em; background:linear-gradient(180deg,#223C6B 20%,#4E77C4 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; padding-bottom:.05em}
.coda span{display:block; margin-top:12px; font-family:var(--f-disp); font-weight:600; font-size:clamp(30px,3.4vw,56px); line-height:1.05}
.dream{margin-top:clamp(110px,12vw,180px)}
.dream h3{font-family:var(--f-disp); font-weight:700; font-size:clamp(48px,6.6vw,110px); line-height:.96; letter-spacing:-.03em; text-align:center}
.dream .read{max-width:30ch; margin:clamp(36px,4vw,60px) auto 0}
.dream .read + .read{margin-top:1.1em}
/* ============ RETURNS ============ */
.bn{text-align:center}
.bn .num{font-family:var(--f-disp); font-weight:700; font-size:clamp(54px,9.4vw,168px); line-height:.9; letter-spacing:-.03em; font-variant-numeric:tabular-nums; white-space:nowrap; padding-bottom:.06em}
.bn .cap{margin:18px auto 0; max-width:26ch; font-family:var(--f-disp); font-weight:600; font-size:clamp(26px,2.8vw,44px); line-height:1.15; color:#fff}
.ret-h{margin:clamp(50px,6vw,90px) auto 0; font-family:var(--f-disp); font-weight:700; font-size:clamp(36px,5.3vw,90px); line-height:1.02; letter-spacing:-.03em; text-align:center; max-width:21ch}
.wage{margin:clamp(60px,7vw,100px) auto 0; max-width:980px; border-radius:18px; background:rgba(255,255,255,.05); padding:clamp(26px,3.4vw,52px)}
.wage h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(30px,3.4vw,54px); line-height:1.05; letter-spacing:-.015em}
.wage .lead{margin-top:12px; color:var(--muted)}
.wbars{margin-top:clamp(26px,3vw,40px); display:grid; gap:18px}
.wb{display:grid; grid-template-columns:170px 1fr 90px; align-items:center; gap:16px}
.wb .lb{font-size:clamp(16px,1.3vw,19px); font-weight:600}
.wb .tr{height:clamp(22px,2.2vw,30px); background:rgba(255,255,255,.08); border-radius:6px; overflow:hidden}
.wb .tr i{display:block; height:100%; background:rgba(255,255,255,.4); transform-origin:left; border-radius:6px}
.wb.hi .tr i{background:linear-gradient(90deg,#fff,var(--ice))}
.wb .v{font-family:var(--f-disp); font-weight:700; font-size:clamp(28px,2.6vw,42px); text-align:right}
.wb.hi .v{color:#fff}
.wage .cite{margin-top:22px; font-size:clamp(14px,1.1vw,16px); line-height:1.55; color:var(--muted)}
@media (max-width:620px){ .wb{grid-template-columns:1fr 70px} .wb .lb{grid-column:1/-1} }
.ret{position:relative; margin-top:clamp(60px,7vw,100px)}
.ret-stage{position:relative}
.slide{padding:clamp(40px,5vw,64px) 0; border-top:1px solid var(--faint)}
.slide .k{font-size:15px; font-weight:700; letter-spacing:.2em; color:var(--ice)}
.slide h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(48px,7.4vw,130px); line-height:.94; letter-spacing:-.03em; margin-top:18px; max-width:12ch}
.slide p{font-size:clamp(21px,1.9vw,29px); line-height:1.5; margin-top:clamp(20px,2.4vw,34px); max-width:40ch}
html.motion .ret-stage{height:100vh; height:100svh}
html.motion .slide{position:absolute; left:var(--pad); right:var(--pad); top:50%; transform:translateY(-50%); border-top:0; padding:0}
.ret-prog{position:absolute; right:var(--pad); bottom:clamp(40px,6vh,70px); display:none; gap:8px}
html.motion .ret-prog{display:flex}
.ret-prog i{width:34px; height:3px; background:var(--faint); transition:background-color .3s} .ret-prog i.on{background:#fff}

/* ============ FOUNDER ============ */
.fdr{display:grid; grid-template-columns:minmax(260px,5fr) 7fr; gap:clamp(32px,6vw,100px); align-items:start}
.portrait{position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:16px; background:#111; margin:0}
.portrait img{position:absolute; inset:-6% 0; width:100%; height:112%; object-fit:cover}
.fdr h2{font-family:var(--f-disp); font-weight:600; font-size:clamp(60px,7.4vw,128px); line-height:.9; letter-spacing:-.035em}
.fdr .role{margin-top:14px}
.fdr .bio p{margin-top:22px; font-size:clamp(19px,1.5vw,22px); line-height:1.65}
.fdr .bio p:first-child{margin-top:32px; font-family:var(--f-disp); font-weight:600; font-size:clamp(26px,2.4vw,36px); line-height:1.22}
.fdr .music{margin-top:24px; font-family:var(--f-disp); font-style:italic; font-size:clamp(22px,2vw,30px); line-height:1.35; color:var(--indigo)}
.creds{margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.cred{display:flex; flex-direction:column; align-items:center; gap:10px}
.cred .tile{width:100%; height:clamp(84px,7.4vw,108px); border-radius:14px; background:#fff; box-shadow:0 14px 34px rgba(11,24,51,.10), inset 0 0 0 1px rgba(11,24,51,.06); display:grid; place-items:center; padding:12px}
.cred .tile img{max-height:48px; width:auto; max-width:100%} .cred.tiss .tile img{max-height:68px}
.cred .tile .gw{font-family:var(--f-disp); font-weight:700; font-size:clamp(17px,1.4vw,21px); line-height:1.05; text-align:center; color:#0B1833}
.cred small{font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-align:center}
.pstats{margin-top:clamp(40px,5vw,64px)}
.pstats .grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:12px}
.pstats .c{background:var(--navy); color:#fff; border-radius:14px; padding:clamp(22px,2.4vw,34px) 14px; text-align:center}
.pstats .c b{display:block; font-family:var(--f-disp); font-weight:700; font-size:clamp(44px,4.6vw,72px); line-height:1}
.pstats .c span{display:block; margin-top:8px; font-size:clamp(16px,1.3vw,19px); color:rgba(255,255,255,.8)}
@media (max-width:860px){ .fdr{grid-template-columns:1fr} .portrait{max-width:520px} }
@media (max-width:560px){ .pstats .grid{grid-template-columns:1fr} }
.trainers{position:relative; overflow:hidden; margin-top:clamp(90px,10vw,150px); border-radius:22px; background:radial-gradient(120% 90% at 20% 0%, #22407A 0%, #0B1833 60%); color:#fff; padding:clamp(40px,5.4vw,90px); text-align:center; box-shadow:0 40px 90px rgba(11,24,51,.25)}
.trainers::after{content:""; position:absolute; inset:0; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.07) 50%, transparent 65%); pointer-events:none}
.trainers .kicker{color:var(--ice); font-size:clamp(15px,1.3vw,18px)}
.trainers h3{margin:16px auto 0; max-width:20ch; font-family:var(--f-disp); font-weight:600; font-size:clamp(36px,4.4vw,72px); line-height:1.04; letter-spacing:-.02em}
.trainers p{margin:22px auto 0; max-width:48ch; font-size:var(--fs-lead); line-height:1.55; color:rgba(255,255,255,.82)}
.certs{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:26px}
.certs span{border:1px solid rgba(255,255,255,.4); background:rgba(255,255,255,.06); border-radius:999px; padding:10px 20px; font-weight:700; font-size:17px; color:#fff}

/* ============ CONSULTATION ============ */
.cons-h{font-family:var(--f-disp); font-weight:600; font-style:italic; font-size:clamp(46px,6.4vw,108px); line-height:1; letter-spacing:-.03em; text-align:center}
.cons-lead{margin-top:18px; text-align:center; font-size:var(--fs-lead); font-weight:600; color:var(--muted)}
.ans{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:clamp(50px,5vw,80px)}
.an{background:var(--soft); border-radius:16px; padding:clamp(26px,2.6vw,38px)}
.an h3{font-family:var(--f-disp); font-weight:700; font-size:clamp(28px,2.6vw,40px); line-height:1.05; color:var(--navy)}
.an p{margin-top:14px; font-size:clamp(18px,1.4vw,21px); line-height:1.55}
@media (max-width:860px){ .ans{grid-template-columns:1fr} }
.steps-wrap{margin-top:clamp(90px,10vw,150px)}
.steps-wrap .kicker{display:block; text-align:center}
.steps-wrap h3{margin-top:14px; text-align:center; font-family:var(--f-disp); font-weight:600; font-size:clamp(36px,4vw,64px); line-height:1.02}
.steps{position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin:clamp(36px,4vw,60px) 0 0; padding:0; list-style:none; --p:0}
.steps::before,.steps::after{content:""; position:absolute; left:10%; right:10%; top:44px; height:2px; background:var(--faint)}
.steps::after{background:var(--indigo); transform-origin:left; transform:scaleX(var(--p))}
.step{position:relative; z-index:1; text-align:center}
.step .dot{width:88px; height:88px; margin:0 auto; border-radius:50%; border:2px solid var(--indigo); background:var(--bg); display:grid; place-items:center; font-family:var(--f-disp); font-weight:700; font-size:36px; color:var(--indigo); transition:background-color .4s, color .4s, transform .4s var(--ease)}
.step.on .dot{background:var(--indigo); color:#fff; transform:scale(1.06)}
.step h4{margin-top:16px; font-family:var(--f-disp); font-weight:700; font-size:clamp(22px,1.9vw,28px); line-height:1.1}
.step p{margin-top:6px; font-size:16px; line-height:1.45; color:var(--muted)}
html:not(.motion) .steps{--p:1}
@media (max-width:860px){
  .steps{grid-template-columns:1fr; gap:22px}
  .steps::before,.steps::after{left:44px; right:auto; width:2px; top:44px; bottom:44px; height:auto}
  .steps::after{transform-origin:top; transform:scaleY(var(--p))}
  .step{display:grid; grid-template-columns:88px 1fr; column-gap:18px; align-items:center; text-align:left}
  .step .dot{margin:0} .step h4{margin:0}
}
.invest{margin:clamp(60px,7vw,100px) auto 0; max-width:980px; border-radius:20px; padding:clamp(30px,4vw,60px); text-align:center; background:radial-gradient(120% 120% at 15% 0%, #2A4A86 0%, #0B1833 65%); color:#fff; box-shadow:0 30px 70px rgba(11,24,51,.22)}
.invest .kicker{color:var(--ice)}
.invest h3{margin-top:14px; font-family:var(--f-disp); font-weight:600; font-size:clamp(34px,3.8vw,60px); line-height:1.05}
.invest p{margin:16px auto 0; max-width:52ch; font-size:var(--fs-lead); line-height:1.55; color:rgba(255,255,255,.84)}
.price{margin:clamp(60px,7vw,100px) auto 0; max-width:980px; display:grid; grid-template-columns:1fr 1fr; gap:14px}
.price > div{border-radius:16px; padding:clamp(24px,2.8vw,40px); text-align:center; background:var(--soft)}
.price > div + div{background:var(--navy); color:#fff}
.price .kicker{display:block} .price > div + div .kicker{color:var(--ice)}
.price b{display:block; margin-top:10px; font-family:var(--f-disp); font-weight:700; font-size:clamp(46px,5vw,80px); line-height:1}
.price b small{font-size:.4em; font-style:italic; font-weight:500}
.price span{display:block; margin-top:8px; font-size:16px; opacity:.75}
.price-note{margin:18px auto 0; max-width:52ch; text-align:center; font-size:var(--fs-lead); font-weight:600}
@media (max-width:620px){ .price{grid-template-columns:1fr} }
.cons .ctas{margin-top:clamp(30px,3vw,44px)}
.cons .ctas .btn{min-height:66px; padding:0 42px; font-size:18px}
.contact{margin:clamp(40px,4vw,60px) auto 0; display:flex; flex-wrap:wrap; justify-content:center; gap:12px}
.contact a{display:flex; align-items:center; gap:10px; padding:14px 22px; border-radius:999px; background:var(--soft); text-decoration:none; font-weight:700; font-size:clamp(16px,1.3vw,19px)}
.contact a svg{width:20px; height:20px; flex:none}

/* ============ CLOSING + FOOTER ============ */
.closing{min-height:90vh; min-height:90svh; display:flex; align-items:center}
.close-box{position:relative; padding:clamp(56px,8vw,120px) clamp(24px,6vw,110px); text-align:center; width:100%}
.close-box svg.cf{position:absolute; inset:0; width:100%; height:100%; overflow:visible}
.close-box rect{fill:none; stroke:var(--ice); stroke-width:1.5; opacity:.7}
.close-box h2{font-family:var(--f-disp); font-weight:600; font-size:clamp(46px,7.4vw,130px); line-height:.95; letter-spacing:-.035em}
.close-box h2 .l3{display:block; font-style:italic; font-weight:500; padding-bottom:.08em}
.close-box .ctas{margin-top:clamp(36px,4vw,56px)}
footer{position:relative; z-index:2; background:#fff; color:#0A1530; padding:clamp(70px,8vw,110px) 0 calc(120px + env(safe-area-inset-bottom,0px))}
.ft{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px}
.ft .logo img{height:44px}
.ft h5{font-size:13px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--royal); margin-bottom:14px}
.ft ul{list-style:none; margin:0; padding:0; display:grid; gap:10px; font-size:17px; font-weight:600}
.ft a{text-decoration:none; opacity:.85} .ft a:hover{opacity:1}
.ft .cl{margin-top:22px; display:grid; gap:10px; font-size:17px}
.recog{margin-top:clamp(40px,5vw,64px); display:flex; flex-wrap:wrap; align-items:center; gap:12px}
.recog .rc{height:76px; padding:0 6px; display:flex; align-items:center}
.recog img{height:48px; width:auto} .recog .iso img{height:62px}
.recog .soc{margin-left:auto; font-family:var(--f-disp); font-style:italic; font-size:22px}
.recog .soc b{font-family:var(--f-body); font-style:normal; font-size:12px; letter-spacing:.2em; color:var(--royal); margin-right:10px}
.legal{margin-top:36px; padding-top:26px; border-top:1px solid rgba(10,21,48,.12); font-size:14px; line-height:1.7; color:rgba(10,21,48,.62); max-width:110ch}
@media (max-width:860px){ .ft{grid-template-columns:1fr} .recog .soc{margin-left:0; width:100%} }
@media (prefers-reduced-motion: reduce){ *,*::before,*::after{animation:none!important; transition-duration:.01ms!important} }

.close-box h2 .l1{display:block}
.close-box h2 .rot{color:#fff}
/* ============ INNER PAGES ============ */
.phero{position:relative; isolation:isolate; padding:calc(150px + env(safe-area-inset-top,0px)) 0 clamp(70px,8vw,120px); text-align:center; overflow:clip}
.phero::before{content:""; position:absolute; inset:-20%; z-index:-1; pointer-events:none; background:radial-gradient(36% 34% at 20% 30%, rgba(169,193,236,.42), transparent 70%), radial-gradient(34% 30% at 82% 26%, rgba(34,60,107,.12), transparent 70%); filter:blur(10px)}
.dict{font-family:var(--f-disp); font-style:italic; font-size:clamp(18px,1.5vw,22px); color:var(--muted); max-width:52ch; margin:0 auto}
.dict b{font-style:normal; font-weight:700; letter-spacing:.2em; font-size:.82em; color:var(--indigo); margin-right:.5em}
.ph1{font-family:var(--f-disp); font-weight:600; font-size:clamp(44px,6.6vw,112px); line-height:1; letter-spacing:-.03em; max-width:18ch; margin:clamp(22px,3vw,34px) auto 0; background:linear-gradient(180deg,#0B1833 30%,#2B4C8C 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; padding-bottom:.06em}
.plead{margin:clamp(20px,2.4vw,30px) auto 0; max-width:52ch; font-size:var(--fs-lead); line-height:1.55; color:var(--fg)}
.phero .ctas{margin-top:34px}
.crumbs{font-size:14px; font-weight:600; color:var(--muted); margin-bottom:22px}
.crumbs a{text-decoration:none; color:var(--royal)} .crumbs span{margin:0 8px; opacity:.5}
.narrow{max-width:900px; margin:0 auto}
.pull{margin:clamp(40px,5vw,70px) auto; max-width:24ch; text-align:center; font-family:var(--f-disp); font-style:italic; font-weight:600; font-size:clamp(34px,4vw,60px); line-height:1.1; padding-bottom:.06em}
html.ink .pull,[data-ground="ink"] .pull{background:linear-gradient(180deg,#fff 30%,#BCD0F2 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.sec-h{font-family:var(--f-disp); font-weight:600; font-size:clamp(38px,5vw,84px); line-height:1.02; letter-spacing:-.025em; text-align:center; max-width:20ch; margin:0 auto}
.sec-lead{margin:20px auto 0; max-width:54ch; text-align:center; font-size:var(--fs-lead); line-height:1.55; color:var(--muted)}
.body-lg p{font-size:clamp(19px,1.5vw,23px); line-height:1.7} .body-lg p + p{margin-top:1.1em}
/* ruled numbered list */
.rlist{margin-top:clamp(40px,5vw,70px); display:flex; flex-direction:column; gap:14px}
.ritem{display:grid; grid-template-columns:90px 1fr; gap:clamp(16px,3vw,40px); padding:clamp(24px,3vw,40px); border-radius:18px; background:var(--soft)}
.ritem .no{font-family:var(--f-disp); font-weight:700; font-size:clamp(44px,4.4vw,72px); line-height:.9; color:var(--accent)}
.ritem h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(28px,2.8vw,44px); line-height:1.05}
.ritem .ph{display:block; margin-top:6px; font-family:var(--f-disp); font-style:italic; font-size:18px; color:var(--accent)}
.ritem p{margin-top:12px; font-size:clamp(18px,1.4vw,21px); line-height:1.65; color:var(--muted)}
@media (max-width:640px){ .ritem{grid-template-columns:1fr; gap:8px} }
/* stage detail */
.sdet{margin-top:clamp(30px,3vw,44px); border-radius:20px; background:var(--soft); padding:clamp(26px,3.6vw,56px)}
.sdet .top{display:flex; align-items:baseline; gap:18px; flex-wrap:wrap}
.sdet .no{font-family:var(--f-disp); font-weight:700; font-size:clamp(50px,5.4vw,90px); line-height:.9; color:var(--royal)}
.sdet h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(32px,3.4vw,54px); line-height:1.02}
.sdet .sub{margin-top:10px; font-family:var(--f-disp); font-style:italic; font-size:clamp(22px,2vw,30px); color:var(--indigo)}
.sdet .cols{display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(20px,3vw,48px); margin-top:clamp(20px,2.4vw,32px)}
.sdet .cols p{font-size:clamp(18px,1.4vw,21px); line-height:1.65} .sdet .cols p + p{margin-top:1em}
.sdet .spec{position:relative; overflow:hidden; background:radial-gradient(120% 120% at 15% 0%, #2A4A86 0%, #0B1833 65%); color:#fff; border-radius:16px; padding:clamp(22px,2.4vw,34px); align-self:start; box-shadow:0 20px 44px rgba(11,24,51,.22)}
.sdet .spec .kicker{color:var(--ice)}
.sdet .spec dl{margin:14px 0 0}
.sdet .spec dt{font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.62); margin-top:14px}
.sdet .spec dd{margin:4px 0 0; font-family:var(--f-disp); font-weight:600; font-size:clamp(20px,1.7vw,25px); line-height:1.25}
@media (max-width:820px){ .sdet .cols{grid-template-columns:1fr} }
/* stack */
.stack{margin-top:clamp(40px,5vw,70px); display:flex; flex-direction:column; gap:10px}
.sk{display:grid; grid-template-columns:70px 200px 1fr; gap:clamp(14px,2vw,28px); align-items:center; padding:clamp(20px,2.4vw,30px); border-radius:16px; background:rgba(255,255,255,.06)}
.sk .n{font-family:var(--f-disp); font-weight:700; font-size:40px; color:var(--ice)}
.sk h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(26px,2.4vw,36px); line-height:1}
.sk h3 small{display:block; margin-top:6px; font-family:var(--f-body); font-size:13px; font-weight:700; letter-spacing:.16em; color:var(--ice)}
.sk p{font-size:clamp(17px,1.35vw,20px); line-height:1.6; color:rgba(255,255,255,.84)}
@media (max-width:760px){ .sk{grid-template-columns:1fr; gap:6px} }
/* cefr */
.tline{position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-top:clamp(40px,5vw,64px)}
.tline::before{content:""; position:absolute; left:6%; right:6%; top:9px; height:1px; background:rgba(255,255,255,.3)}
.tl{position:relative; text-align:center}
.tl i{display:block; width:18px; height:18px; margin:0 auto; border-radius:50%; background:var(--navy); border:2px solid var(--ice)}
.tl b{display:block; margin-top:12px; font-family:var(--f-disp); font-weight:700; font-size:clamp(24px,2.2vw,34px)}
.tl span{display:block; margin-top:4px; font-size:15px; line-height:1.35; color:rgba(255,255,255,.76)}
@media (max-width:760px){ .tline{grid-template-columns:repeat(3,1fr); row-gap:26px} .tline::before{display:none} }
.bandsel{margin-top:clamp(40px,5vw,70px); display:grid; grid-template-columns:repeat(6,1fr); gap:8px; align-items:end}
.bandsel button{border-radius:12px 12px 4px 4px; background:rgba(255,255,255,.08); color:#fff; font-family:var(--f-disp); font-weight:700; font-size:clamp(22px,2.4vw,34px); display:flex; align-items:flex-end; justify-content:center; padding-bottom:12px; transition:background-color .4s, color .4s}
.bandsel button[aria-selected="true"]{background:linear-gradient(180deg,#fff,#C9D8F2); color:var(--navy)}
.bandpanel{margin-top:16px; border-radius:18px; background:rgba(255,255,255,.07); padding:clamp(24px,3vw,44px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3vw,40px); min-height:170px}
.bandpanel h4{font-family:var(--f-disp); font-weight:600; font-size:clamp(28px,2.6vw,40px)}
.bandpanel .kicker{display:block; margin-bottom:6px}
.bandpanel p{font-size:clamp(18px,1.4vw,21px); line-height:1.6; color:rgba(255,255,255,.86)}
@media (max-width:760px){ .bandpanel{grid-template-columns:1fr} }
.sell{margin-top:clamp(90px,10vw,150px); text-align:center}
.sell p{font-family:var(--f-disp); font-weight:700; font-size:clamp(34px,5vw,86px); line-height:1.02; letter-spacing:-.02em; text-transform:uppercase}
.sell .body{margin:26px auto 0; max-width:42ch; text-transform:none; font-weight:500; font-size:clamp(22px,2.2vw,34px); line-height:1.35; color:rgba(255,255,255,.86)}
.sell .we{margin-top:30px; font-style:italic; text-transform:none; font-size:clamp(60px,9vw,150px); background:linear-gradient(180deg,#fff 30%,#BCD0F2 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; padding-bottom:.08em}
.exams{margin-top:clamp(60px,7vw,100px); display:grid; grid-template-columns:repeat(4,1fr); gap:10px}
.ex{border-radius:16px; background:rgba(255,255,255,.07); padding:clamp(20px,2.2vw,30px)}
.ex h4{font-family:var(--f-disp); font-weight:700; font-size:clamp(28px,2.6vw,40px)}
.ex p{margin-top:8px; font-size:17px; line-height:1.55; color:rgba(255,255,255,.82)}
.ex small{display:block; margin-top:12px; font-size:14px; font-weight:700; letter-spacing:.06em; color:var(--ice)}
@media (max-width:900px){ .exams{grid-template-columns:1fr 1fr} } @media (max-width:520px){ .exams{grid-template-columns:1fr} }
.poss{margin-top:clamp(40px,5vw,64px); display:grid; grid-template-columns:1fr 1fr; gap:12px}
.pos{border-radius:18px; background:rgba(255,255,255,.06); padding:clamp(24px,3vw,40px)}
.pos h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(30px,3vw,46px)}
.pos .who{display:block; margin-top:4px; font-size:14px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ice)}
.pos p{margin-top:14px; font-size:clamp(18px,1.4vw,21px); line-height:1.65; color:rgba(255,255,255,.86)}
@media (max-width:760px){ .poss{grid-template-columns:1fr} }
/* programmes */
.progs{margin-top:clamp(50px,6vw,90px); display:flex; flex-direction:column; gap:16px}
.prog{border-radius:20px; background:var(--soft); padding:clamp(26px,3.4vw,52px); display:grid; grid-template-columns:1.1fr 1.6fr; gap:clamp(20px,3vw,50px)}
.prog h2{font-family:var(--f-disp); font-weight:600; font-size:clamp(34px,3.6vw,58px); line-height:1.02}
.tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px}
.tags span{border-radius:999px; padding:8px 14px; font-size:15px; font-weight:700; background:#fff; color:var(--indigo); box-shadow:inset 0 0 0 1px rgba(34,60,107,.2)}
.prog .kicker{display:block; margin-bottom:6px}
.prog p{font-size:clamp(18px,1.4vw,21px); line-height:1.6} .prog p + .kicker{margin-top:18px}
@media (max-width:820px){ .prog{grid-template-columns:1fr} }
.common{margin-top:clamp(60px,7vw,100px); border-radius:22px; background:radial-gradient(120% 90% at 20% 0%, #22407A 0%, #0B1833 60%); color:#fff; padding:clamp(34px,5vw,80px)}
.common h2{font-family:var(--f-disp); font-weight:600; font-size:clamp(34px,4vw,64px); line-height:1.04; text-align:center}
.common ul{list-style:none; margin:clamp(24px,3vw,40px) 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 30px}
.common li{padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); font-size:clamp(18px,1.4vw,21px); display:flex; gap:12px}
.common li::before{content:"✓"; color:var(--ice); font-weight:800}
@media (max-width:700px){ .common ul{grid-template-columns:1fr} }
/* about */
.nums{margin-top:clamp(40px,5vw,70px); display:grid; grid-template-columns:repeat(4,1fr); gap:10px}
.nm{border-radius:16px; background:rgba(255,255,255,.07); padding:clamp(24px,2.6vw,38px) 14px; text-align:center}
.nm b{display:block; font-family:var(--f-disp); font-weight:700; font-size:clamp(46px,5vw,80px); line-height:1}
.nm span{display:block; margin-top:10px; font-size:clamp(16px,1.3vw,19px); line-height:1.35; color:rgba(255,255,255,.8)}
@media (max-width:860px){ .nums{grid-template-columns:1fr 1fr} }
.beliefs{margin-top:clamp(40px,5vw,70px); display:grid; grid-template-columns:1fr 1fr; gap:12px}
.bl{border-radius:18px; background:var(--soft); padding:clamp(24px,3vw,40px)}
.bl h3{font-family:var(--f-disp); font-weight:700; font-size:clamp(28px,2.6vw,40px); line-height:1.05; color:var(--navy)}
.bl p{margin-top:12px; font-size:clamp(18px,1.4vw,21px); line-height:1.6}
@media (max-width:760px){ .beliefs{grid-template-columns:1fr} }
/* insights */
.filters{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:clamp(30px,3vw,44px)}
.filters button{border-radius:999px; padding:10px 18px; font-size:15px; font-weight:700; background:var(--soft); color:var(--indigo); transition:background-color .3s, color .3s}
.filters button[aria-pressed="true"]{background:var(--indigo); color:#fff}
.feat{display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(20px,3vw,50px); align-items:center; border-radius:24px; padding:clamp(30px,4vw,64px); background:radial-gradient(120% 110% at 15% 0%, #22407A 0%, #0B1833 62%); color:#fff; text-decoration:none; box-shadow:0 40px 90px rgba(11,24,51,.22)}
.feat .kicker{color:var(--ice)}
.feat h2{margin-top:12px; font-family:var(--f-disp); font-weight:600; font-size:clamp(36px,4.2vw,68px); line-height:1.02; letter-spacing:-.02em}
.feat p{font-size:var(--fs-lead); line-height:1.55; color:rgba(255,255,255,.86)}
.feat .go{display:inline-block; margin-top:20px; font-weight:800; letter-spacing:.06em}
@media (max-width:820px){ .feat{grid-template-columns:1fr} }
.alist{margin-top:clamp(30px,4vw,50px); display:grid; grid-template-columns:1fr 1fr; gap:14px}
.acard{display:flex; flex-direction:column; border-radius:20px; background:var(--soft); padding:clamp(24px,3vw,40px); text-decoration:none; transition:transform .4s var(--ease), box-shadow .4s}
.acard:hover{transform:translateY(-4px); box-shadow:0 24px 50px rgba(11,24,51,.12)}
.acard .cat{font-size:13px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--royal)}
.acard h3{margin-top:12px; font-family:var(--f-disp); font-weight:600; font-size:clamp(28px,2.4vw,38px); line-height:1.08; color:var(--navy)}
.acard p{margin-top:12px; font-size:clamp(17px,1.3vw,19px); line-height:1.6; color:var(--muted)}
.acard .meta{margin-top:auto; padding-top:18px; font-size:14px; font-weight:600; color:var(--muted)}
.acard.hide{display:none}
@media (max-width:760px){ .alist{grid-template-columns:1fr} }
/* article */
.art-hero{padding:calc(140px + env(safe-area-inset-top,0px)) 0 clamp(40px,5vw,70px)}
.art-hero .cat{font-size:14px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--royal)}
.art-hero h1{margin-top:16px; font-family:var(--f-disp); font-weight:600; font-size:clamp(40px,5.4vw,88px); line-height:1.02; letter-spacing:-.025em; max-width:22ch}
.art-hero .dek{margin-top:20px; max-width:44ch; font-family:var(--f-disp); font-style:italic; font-size:clamp(22px,2.2vw,32px); line-height:1.3; color:var(--indigo)}
.byline{margin-top:28px; display:flex; align-items:center; gap:14px; font-size:16px; color:var(--muted)}
.byline img{width:52px; height:52px; border-radius:50%; object-fit:cover}
.byline b{display:block; color:var(--fg)}
.prose{max-width:740px; margin:0 auto; padding-bottom:clamp(60px,7vw,100px)}
.prose p,.prose li{font-size:clamp(19px,1.45vw,21px); line-height:1.75}
.prose p + p{margin-top:1.1em}
.prose h2{margin:1.8em 0 .5em; font-family:var(--f-disp); font-weight:600; font-size:clamp(32px,3.2vw,46px); line-height:1.08; letter-spacing:-.015em; color:var(--navy)}
.prose h3{margin:1.4em 0 .4em; font-family:var(--f-disp); font-weight:700; font-size:clamp(25px,2.2vw,32px); color:var(--navy)}
.prose ul,.prose ol{padding-left:1.2em; margin:1em 0} .prose li + li{margin-top:.4em}
.prose a{color:var(--royal)}
.prose strong{color:var(--navy)}
.answer{border-radius:18px; padding:clamp(22px,2.6vw,34px); background:linear-gradient(135deg,#EEF3FB,#F7F9FD); box-shadow:inset 0 0 0 1px rgba(34,60,107,.14); margin-bottom:2em}
.answer .kicker{display:block; margin-bottom:8px}
.answer p{font-size:clamp(19px,1.5vw,22px); line-height:1.65}
.prose table{width:100%; border-collapse:separate; border-spacing:0 6px; margin:1.2em 0; font-size:17px}
.prose th{text-align:left; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--royal); padding:8px 14px}
.prose td{background:var(--soft); padding:14px; line-height:1.5; vertical-align:top}
.prose td:first-child{border-radius:10px 0 0 10px; font-family:var(--f-disp); font-weight:700; font-size:22px; color:var(--navy); white-space:nowrap}
.prose td:last-child{border-radius:0 10px 10px 0}
.tbl{overflow-x:auto}
.takeaways{margin-top:2em; border-radius:18px; background:var(--navy); color:#fff; padding:clamp(24px,3vw,40px)}
.takeaways h2{margin:0 0 .4em; color:#fff}
.takeaways li{color:rgba(255,255,255,.9)}
.refs{margin-top:2.4em; padding-top:1.4em; border-top:1px solid var(--faint)}
.refs h2{margin-top:0; font-size:26px}
.refs li{font-size:16px; line-height:1.6; color:var(--muted)}
.cta-box{margin:2.6em 0 0; border-radius:20px; padding:clamp(26px,3.4vw,48px); text-align:center; background:radial-gradient(120% 120% at 15% 0%, #2A4A86 0%, #0B1833 65%); color:#fff}
.cta-box h2{margin:0; color:#fff; font-size:clamp(28px,3vw,44px)}
.cta-box p{margin:12px auto 0; max-width:44ch; color:rgba(255,255,255,.84)}
.cta-box .ctas{justify-content:center; margin-top:22px}
.more{margin-top:clamp(40px,5vw,70px)}
/* forms */
.form{max-width:760px; margin:clamp(40px,5vw,70px) auto 0; border-radius:24px; background:var(--soft); padding:clamp(26px,4vw,56px)}
.fgroup{display:none} .fgroup.on{display:grid; gap:16px}
html:not(.js) .fgroup{display:grid; gap:16px; margin-bottom:16px}
.fstep{font-size:13px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--royal)}
.fgroup h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(28px,2.8vw,42px); line-height:1.05}
.field{display:grid; gap:6px}
.field label{font-size:15px; font-weight:700}
.field input,.field select,.field textarea{font:inherit; font-size:18px; padding:16px 18px; border-radius:12px; border:1px solid rgba(34,60,107,.22); background:#fff; color:var(--fg); width:100%}
.field textarea{min-height:130px; resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--royal); outline-offset:1px}
.field .err{font-size:14px; color:var(--ox); min-height:1em}
.field.bad input,.field.bad textarea{border-color:var(--ox)}
.fnav{display:flex; justify-content:space-between; gap:12px; margin-top:10px}
.fdots{display:flex; gap:8px; justify-content:center; margin-bottom:24px}
.fdots i{width:34px; height:4px; border-radius:2px; background:rgba(34,60,107,.18)} .fdots i.on{background:var(--indigo)}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.fnote{margin-top:14px; font-size:14px; color:var(--muted); text-align:center}
.fdone{display:none; text-align:center} .fdone.on{display:block}
.fdone h3{font-family:var(--f-disp); font-weight:600; font-size:clamp(34px,3.6vw,54px)}
.fdone p{margin:14px auto 0; max-width:44ch; font-size:var(--fs-lead); line-height:1.55}
.cdetails{margin-top:clamp(40px,5vw,70px); display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.cd{border-radius:18px; background:var(--soft); padding:clamp(24px,3vw,40px); text-align:center; text-decoration:none}
.cd .kicker{display:block}
.cd b{display:block; margin-top:10px; font-family:var(--f-disp); font-weight:700; font-size:clamp(26px,2.6vw,38px); line-height:1.1; color:var(--navy); word-break:break-word}
.cd span{display:block; margin-top:8px; font-size:16px; color:var(--muted)}
@media (max-width:860px){ .cdetails{grid-template-columns:1fr} }
.legalp{max-width:780px; margin:0 auto; padding-bottom:clamp(60px,7vw,100px)}
.legalp h2{margin:1.6em 0 .5em; font-family:var(--f-disp); font-weight:600; font-size:clamp(28px,2.6vw,38px); color:var(--navy)}
.legalp p,.legalp li{font-size:18px; line-height:1.7} .legalp p + p{margin-top:1em}
.legalp .upd{font-size:15px; color:var(--muted)}
.todo{background:#FFF6DB; padding:0 .25em; border-radius:4px}
.white .pos{background:var(--soft)} .white .pos p{color:var(--muted)} .white .pos .who{color:var(--royal)}
.phero .crumbs{text-align:center}
/* ---- polish pass ---- */
.ph1,.sec-h,.ritem h3,.sdet h3,.sk h3,.prog h2,.feat h2,.acard h3,.art-hero h1,.prose h2,.bl h3,.pos h3,.bandpanel h4,.ex h4,.common h2,.invest h3,.fdone h3,.fgroup h3,.tl b,.nm b,.sdet .no,.ritem .no{font-weight:700}
.ph1{letter-spacing:-.035em}
.sec-h{letter-spacing:-.03em}
.dict{font-size:clamp(15px,1.4vw,21px); line-height:1.5}
@media (max-width:600px){ .dict b{display:block; margin:0 0 6px} .phero{padding-top:calc(124px + env(safe-area-inset-top,0px))} }
.ritem,.prog,.pos,.bl,.ex,.nm,.sk,.sdet,.cd,.acard,.tl{transition:transform .5s var(--ease), box-shadow .5s var(--ease), background-color .4s}
.ritem:hover,.prog:hover,.pos:hover,.bl:hover,.sdet:hover{transform:translateY(-4px); box-shadow:0 24px 54px rgba(11,24,51,.10)}
html.ink .ritem:hover,html.ink .pos:hover,[data-ground="ink"] .ritem:hover{background:rgba(255,255,255,.09); box-shadow:0 24px 54px rgba(0,0,0,.25)}
.ritem .no{background:linear-gradient(180deg,#2B4C8C,#0B1833); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
html.ink .ritem .no,[data-ground="ink"] .ritem .no{background:linear-gradient(180deg,#fff,#A9C1EC); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.narrow .read{max-width:none}
.narrow .read + .read{margin-top:1em}
.sell p{text-wrap:balance}
.sec-h,.ph1,.diff-h,.ret-h,.gap-h,.sci-h,.prog h2,.feat h2,.art-hero h1,.cons-h{text-wrap:balance}
.byline{align-items:center} .byline div{line-height:1.4}
.prose > .answer + h2{margin-top:1.2em}
.media .row{min-height:44px}
.media img{display:inline-block}
.feat:hover{transform:translateY(-3px)} .feat{transition:transform .5s var(--ease)}
.crumbs{letter-spacing:.02em}
.cd b{font-weight:700}
.legalp h2{font-weight:700}
