/* =====================================================================
   Home — header, hero, sections, footer
   ===================================================================== */
html.is-locked{overflow:hidden; padding-right:var(--sbw,0)}
.brand{display:inline-flex; align-items:center; gap:10px; min-height:44px; font-weight:700; font-size:1.125rem; letter-spacing:0; color:inherit}
.brand svg{width:32px; height:32px; flex:none}
:root[lang="en"] .brand{letter-spacing:-.01em}
.icon-btn{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:var(--r-s); border:1px solid var(--line-dark-2); color:inherit; transition:border-color var(--t2) var(--ease), background-color var(--t2) var(--ease)}
.icon-btn svg{width:20px; height:20px}
.icon-btn:hover{border-color:var(--gold-on-dark)}
.icon-btn--light{border-color:var(--border); color:var(--navy); background:var(--white)}
.icon-btn--light:hover{border-color:var(--navy)}

/* ---------- Language switch ---------- */
.lang{position:relative; display:inline-grid; grid-template-columns:1fr 1fr; padding:3px; border-radius:var(--r-full); border:1px solid var(--line-dark-2); isolation:isolate; direction:ltr}
.lang__btn{position:relative; min-width:40px; min-height:34px; padding:0 10px; border-radius:var(--r-full); font-family:var(--mono); font-size:.75rem; letter-spacing:.08em; color:var(--text-on-dark-3); transition:color var(--t3) var(--ease)}
.lang__btn[aria-pressed="true"]{color:var(--navy-deep)}
.lang__pill{position:absolute; z-index:-1; top:3px; bottom:3px; left:3px; width:calc(50% - 3px); border-radius:var(--r-full); background:var(--gold); transition:transform var(--t3) var(--ease-out)}
.lang[data-active="en"] .lang__pill{transform:translateX(100%)}
.lang--wide .lang__btn{min-height:44px; font-family:var(--font); font-size:var(--fs-sm); letter-spacing:0; min-width:96px}
.lang--sm{border-color:var(--border)}
.lang--sm .lang__btn{color:var(--slate); min-height:32px}
.lang--sm .lang__btn[aria-pressed="true"]{color:var(--white)}
.lang--sm .lang__pill{background:var(--navy)}

/* ---------- Header ---------- */
.hdr{position:fixed; top:0; inset-inline:0; z-index:50; padding-top:env(safe-area-inset-top,0px); color:var(--white); transition:background-color var(--t3) var(--ease), border-color var(--t3) var(--ease), box-shadow var(--t3) var(--ease), transform var(--t3) var(--ease)}
.hdr__in{height:var(--header-h); display:flex; align-items:center; gap:var(--s6); transition:height var(--t3) var(--ease)}
.hdr::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to bottom, rgba(9,19,33,.92), rgba(9,19,33,.72)); -webkit-backdrop-filter:blur(14px) saturate(1.2); backdrop-filter:blur(14px) saturate(1.2); opacity:.0; border-bottom:1px solid var(--line-dark); transition:opacity var(--t3) var(--ease)}
.hdr{background:#040D1B}
.hdr.is-scrolled{background:transparent}
.hdr.is-scrolled::after{opacity:1}
.hdr.is-scrolled .hdr__in{height:calc(var(--header-h) - 12px)}
.nav{display:flex; gap:2px; margin-inline-start:auto}
.nav a{position:relative; display:inline-flex; align-items:center; min-height:44px; padding:0 14px; font-size:var(--fs-sm); color:var(--text-on-dark-2); transition:color var(--t2) var(--ease)}
.nav a:hover,.nav a.is-active{color:var(--white)}
.nav a::after{content:""; position:absolute; inset-inline:14px; bottom:6px; height:1.5px; border-radius:2px; background:var(--gold); transform:scaleX(0); transition:transform var(--t3) var(--ease-out)}
.nav a:hover::after{transform:scaleX(.4)}
.nav a.is-active::after{transform:scaleX(1)}
.hdr__end{display:flex; align-items:center; gap:var(--s3)}
.menu-btn{display:none}
@media (max-width:1279px){ .nav a{padding:0 10px} .hdr__in{gap:var(--s5)} }
@media (max-width:1099px){
  .nav,.hdr__cta{display:none}
  .hdr__end{margin-inline-start:auto}
  .menu-btn{display:inline-flex}
}
@media (max-width:420px){ .hdr .lang{display:none} }

/* Drawer (mobile navigation) */
.scrim{position:fixed; inset:0; z-index:60; background:rgba(4,9,17,.62); opacity:0; transition:opacity var(--t3) var(--ease)}
.scrim.is-open{opacity:1}
.drawer{position:fixed; top:0; bottom:0; inset-inline-start:0; z-index:61; width:min(400px, 88vw); display:flex; flex-direction:column; gap:var(--s5); padding:calc(env(safe-area-inset-top,0px) + 10px) var(--gutter) calc(env(safe-area-inset-bottom,0px) + 24px);
  background:var(--navy-deep); color:var(--white); border-inline-end:1px solid var(--line-dark); transform:translateX(100%); transition:transform 420ms var(--ease-out)}
:root[dir="ltr"] .drawer{transform:translateX(-100%)}
.drawer.is-open,:root[dir="ltr"] .drawer.is-open{transform:none}
.drawer__head{height:var(--header-h); display:flex; align-items:center; justify-content:space-between}
.drawer__nav{display:flex; flex-direction:column}
.drawer__nav a{display:flex; align-items:center; justify-content:space-between; min-height:60px; border-bottom:1px solid var(--line-dark); font-size:1.1875rem; font-weight:500; opacity:0; transform:translateY(8px); transition:opacity var(--t3) var(--ease), transform var(--t3) var(--ease), color var(--t2)}
.drawer__nav a .mono{color:var(--text-on-dark-3)}
.drawer__nav a:hover{color:var(--gold-on-dark)}
.drawer.is-open .drawer__nav a{opacity:1; transform:none}
.drawer.is-open .drawer__nav a:nth-child(2){transition-delay:40ms}.drawer.is-open .drawer__nav a:nth-child(3){transition-delay:80ms}.drawer.is-open .drawer__nav a:nth-child(4){transition-delay:120ms}.drawer.is-open .drawer__nav a:nth-child(5){transition-delay:160ms}
.drawer__foot{margin-top:auto; display:flex; flex-direction:column; gap:var(--s4)}
.drawer__foot .lang{width:100%}

/* ---------- Hero ---------- */
.hero{padding-top:calc(var(--header-h) + env(safe-area-inset-top,0px)); background:#040D1B}
.stage{position:relative; width:100%; aspect-ratio:1920 / 988; overflow:hidden; background:#040D1B}
.stage video,.stage .stage__still{position:absolute; max-width:none; inset-inline:0; top:calc(-92 / 988 * 100%); width:100%; height:calc(1080 / 988 * 100%); object-fit:cover}
.stage video{opacity:0; transition:opacity 1s var(--ease)}
.stage.is-playing video{opacity:1}
.stage.is-playing .stage__still{opacity:0; transition:opacity 1s var(--ease)}
.stage::after{content:""; position:absolute; inset-inline:0; bottom:0; height:8%; background:linear-gradient(to top, #040D1B, rgba(4,13,27,0)); pointer-events:none}
@media (max-width:639px){
  .stage{aspect-ratio:880 / 633}
  .stage video,.stage .stage__still{inset-inline:auto; left:calc(-495 / 880 * 100%); top:calc(-92 / 633 * 100%); width:calc(1920 / 880 * 100%); height:calc(1080 / 633 * 100%)}
}
.hero__cap{padding-block:var(--s7) var(--s8); background:#040D1B}
.hero__grid{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--s7); align-items:end}
.eyebrow{display:flex; align-items:center; gap:12px; margin-bottom:var(--s4); font-size:var(--fs-sm); color:var(--text-on-dark-3)}
.eyebrow .mono{color:var(--gold-on-dark)}
.eyebrow span+span::before{content:"/"; margin-inline-end:12px; opacity:.4}
.hero__title{font-size:var(--fs-display); font-weight:700; line-height:1.25; color:var(--white)}
:root[lang="en"] .hero__title{line-height:1.08}
.hero__lead{margin-top:var(--s4); font-size:var(--fs-lead); color:var(--text-on-dark-2); max-width:40em; line-height:1.8}
.hero__actions{display:flex; flex-wrap:wrap; gap:var(--s3); justify-content:flex-end}
.bearings{margin-top:var(--s7); display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); border-top:1px solid var(--line-dark)}
.bearings a{position:relative; display:flex; flex-direction:column; gap:4px; min-height:44px; padding:var(--s4) 0 0; padding-inline-end:var(--s4); color:var(--text-on-dark-2); transition:color var(--t2)}
.bearings a::before{content:""; position:absolute; top:-1px; inset-inline-start:0; width:100%; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:var(--origin, right); transition:transform var(--t4) var(--ease-out)}
:root[dir="ltr"] .bearings a::before{--origin:left}
.bearings a:hover{color:var(--white)}
.bearings a:hover::before{transform:scaleX(.9)}
.bearings .mono{color:var(--gold-on-dark); text-align:start}
@media (max-width:1023px){ .hero__grid{grid-template-columns:minmax(0,1fr); gap:var(--s6)} .hero__actions{justify-content:flex-start} }
@media (max-width:639px){
  .hero__cap{padding-block:var(--s6) var(--s7)}
  .hero__actions .btn{flex:1 1 100%}
  .bearings{grid-template-columns:repeat(2, minmax(0,1fr)); row-gap:var(--s4)}
}

/* ---------- Find your path ---------- */
.finder{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--s8); align-items:center}
.finder__instrument{position:sticky; top:calc(var(--header-h) + 24px); padding-bottom:64px}
.instrument{position:relative; width:min(100%, 440px); aspect-ratio:1; margin-inline:auto; color:var(--navy)}
.instrument__dial{width:100%; height:100%}
.instrument__card{font-family:var(--mono); font-size:13px; fill:var(--navy); fill-opacity:.55; letter-spacing:.1em}
.instrument__needle{position:absolute; inset:0; transform:rotate(var(--bearing)); transition:transform 900ms cubic-bezier(.34,1.3,.5,1); filter:drop-shadow(0 8px 12px rgba(15,27,44,.18))}
.instrument__needle svg{width:100%; height:100%}
.instrument__readout{position:absolute; inset-inline:0; top:calc(100% + 14px); display:flex; flex-direction:column; align-items:center; gap:2px; pointer-events:none}
.instrument__readout .mono{color:var(--gold-text); font-size:.6875rem}
.instrument__readout strong{font-size:var(--fs-sm); font-weight:600; background:var(--warm-white); padding:0 8px; border-radius:var(--r-xs)}
.finder__list{display:flex; flex-direction:column; gap:var(--s4)}
.pcard{position:relative; display:grid; grid-template-columns:56px minmax(0,1fr) 44px; gap:var(--s5); align-items:start; padding:var(--s6); border-radius:var(--r-m); background:var(--white); border:1px solid var(--border); box-shadow:var(--shadow-1); isolation:isolate;
  transition:transform var(--t3) var(--ease-out), box-shadow var(--t3) var(--ease), border-color var(--t3) var(--ease)}
.pcard::before{content:""; position:absolute; inset:-1px; z-index:-1; border-radius:inherit; padding:1px; background:conic-gradient(from var(--ang, 0deg), transparent 0 70%, var(--gold) 82%, transparent 94%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); opacity:0; transition:opacity var(--t3) var(--ease)}
@property --ang{syntax:'<angle>'; inherits:false; initial-value:0deg}
.pcard:hover,.pcard:focus-visible,.pcard.is-aimed{transform:translateY(-3px); box-shadow:var(--shadow-2); border-color:transparent}
.pcard:hover::before,.pcard:focus-visible::before,.pcard.is-aimed::before{opacity:1; animation:spin 3.2s linear infinite}
@keyframes spin{to{--ang:360deg}}
.pcard__icon{width:56px; height:56px; border-radius:var(--r-s); display:grid; place-items:center; background:var(--navy); color:var(--gold-on-dark); transition:transform var(--t3) var(--ease-out)}
.pcard__icon svg{width:28px; height:28px}
.pcard:hover .pcard__icon{transform:rotate(-8deg) scale(1.04)}
.pcard__body{display:flex; flex-direction:column; gap:6px}
.pcard__top{display:flex; align-items:center; gap:12px}
.pcard__top .mono{color:var(--gold-text)}
.pcard__title{font-size:var(--fs-h3); font-weight:650}
.pcard__desc{color:var(--slate); font-size:var(--fs-sm); line-height:1.8}
.pcard__tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px}
.pcard__tags span{padding:3px 10px; border-radius:var(--r-full); background:var(--soft); font-size:var(--fs-xs); color:var(--navy)}
.pcard__go{width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:1px solid var(--border); align-self:center; transition:background-color var(--t3) var(--ease), color var(--t3), border-color var(--t3)}
.pcard__go svg{width:16px; height:16px}
.pcard:hover .pcard__go,.pcard.is-aimed .pcard__go{background:var(--gold); border-color:var(--gold); color:var(--navy-deep)}
@media (max-width:899px){
  .finder{grid-template-columns:minmax(0,1fr); gap:var(--s6)}
  .finder__instrument{position:relative; top:0}
  .instrument{width:min(72vw, 300px)}
}
@media (max-width:639px){ .pcard{grid-template-columns:44px minmax(0,1fr); padding:var(--s5); gap:var(--s4)} .pcard__icon{width:44px; height:44px} .pcard__icon svg{width:22px;height:22px} .pcard__go{display:none} }

/* ---------- Services ---------- */
.svc-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--s4)}
.svc{position:relative; height:100%; display:flex; flex-direction:column; gap:var(--s3); padding:var(--s6) var(--s5); border-radius:var(--r-m); background:var(--white); border:1px solid var(--border); overflow:hidden; isolation:isolate;
  transition:transform var(--t3) var(--ease-out), box-shadow var(--t3) var(--ease), border-color var(--t3)}
.svc::after{content:""; position:absolute; inset-inline:0; top:0; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:var(--origin,right); transition:transform var(--t4) var(--ease-out)}
:root[dir="ltr"] .svc::after{--origin:left}
.svc:hover{transform:translateY(-4px); box-shadow:var(--shadow-2); border-color:#C9CDD4}
.svc:hover::after{transform:scaleX(1)}
.svc__head{display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--s4)}
.svc__head .mono{color:var(--slate)}
.svc__icon{width:48px; height:48px; border-radius:var(--r-s); display:grid; place-items:center; background:var(--gold-soft); color:var(--gold-text)}
.svc__icon svg{width:26px; height:26px}
.svc h3{font-size:var(--fs-h3)}
.svc p{color:var(--slate); font-size:var(--fs-sm); line-height:1.8; flex:1}
@media (max-width:1199px){ .svc-grid{grid-template-columns:repeat(2, minmax(0,1fr))} }
@media (max-width:639px){ .svc-grid{grid-template-columns:minmax(0,1fr)} }

/* ---------- How it works ---------- */
.how{position:relative; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--s5)}
.how__track{position:absolute; top:22px; inset-inline:22px; height:1px; background:var(--line-dark-2)}
.how__fill{position:absolute; inset:0; background:linear-gradient(to var(--to, left), var(--gold), var(--gold-on-dark)); transform:scaleX(0); transform-origin:var(--origin, right); transition:transform 1400ms var(--ease-io) 200ms}
:root[dir="ltr"] .how__fill{--origin:left; --to:right}
.how.is-run .how__fill{transform:scaleX(1)}
.how__step{position:relative; padding-top:var(--s8)}
.how__dot{position:absolute; top:0; inset-inline-start:0; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--navy-deep); border:1px solid var(--line-dark-2); transition:border-color var(--t4), box-shadow var(--t4)}
.how__dot .mono{color:var(--gold-on-dark); letter-spacing:.04em}
.how.is-run .how__dot{border-color:var(--gold); box-shadow:0 0 0 6px rgba(184,134,59,.08)}
.how h3{font-size:var(--fs-h3); color:var(--white)}
.how p{margin-top:6px; color:var(--text-on-dark-3); font-size:var(--fs-sm); line-height:1.8}
@media (max-width:899px){
  .how{grid-template-columns:minmax(0,1fr); gap:0}
  .how__track{top:0; bottom:0; inset-inline-start:22px; inset-inline-end:auto; width:1px; height:auto}
  .how__fill{transform:scaleY(0); transform-origin:top}
  .how.is-run .how__fill{transform:scaleY(1)}
  .how__step{padding:0 0 var(--s6); padding-inline-start:72px; min-height:88px}
}

/* ---------- Fundraising bridge ---------- */
.bridge{display:grid; grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr); align-items:stretch; gap:0}
.bridge__side{display:flex; flex-direction:column; gap:var(--s3); padding:var(--s7) var(--s6); border-radius:var(--r-l); background:var(--white); border:1px solid var(--border); box-shadow:var(--shadow-1); transition:transform var(--t3) var(--ease-out), box-shadow var(--t3)}
.bridge__side:hover{transform:translateY(-3px); box-shadow:var(--shadow-2)}
.bridge__side h3{font-size:clamp(1.375rem, 1.2rem + .6vw, 1.75rem)}
.bridge__side .btn{margin-top:auto; align-self:flex-start}
.ticks{display:flex; flex-direction:column; gap:10px; margin-block:var(--s3) var(--s5)}
.ticks li{position:relative; padding-inline-start:26px; font-size:var(--fs-sm)}
.ticks li::before{content:""; position:absolute; inset-inline-start:0; top:.55em; width:14px; height:8px; border-inline-start:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold); transform:rotate(-45deg); transform-origin:center}
:root[dir="rtl"] .ticks li::before{transform:rotate(-45deg) scaleX(-1)}
.bridge__core{position:relative; display:grid; place-items:center}
.bridge__lines{position:absolute; inset:0; width:100%; height:100%; overflow:visible}
.flowline{fill:none; stroke:var(--gold); stroke-width:1.2; stroke-dasharray:4 8; animation:flow 1.8s linear infinite; vector-effect:non-scaling-stroke}
.flowline--rev{animation-direction:reverse}
.flowline--soft{stroke:var(--navy); stroke-opacity:.18}
@keyframes flow{to{stroke-dashoffset:-24}}
.bridge__node{position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; padding:18px; border-radius:var(--r-l); background:var(--navy-deep); color:var(--white); box-shadow:0 20px 40px -18px rgba(9,19,33,.55); font-size:var(--fs-xs); font-weight:600}
.bridge__node svg{width:56px; height:56px; animation:slowspin 30s linear infinite}
@keyframes slowspin{to{transform:rotate(360deg)}}
@media (max-width:1023px){
  .bridge{grid-template-columns:minmax(0,1fr); gap:0}
  .bridge__core{height:120px}
  .bridge__lines{display:none}
  .bridge__core::before{content:""; position:absolute; inset-block:0; width:1px; background:repeating-linear-gradient(to bottom, var(--gold) 0 4px, transparent 4px 12px); animation:flowv 1.4s linear infinite}
  .bridge__node{flex-direction:row; padding:10px 16px}
  .bridge__node svg{width:32px; height:32px}
}
@keyframes flowv{to{background-position:0 24px}}
@media (max-width:639px){ .bridge__side{padding:var(--s6) var(--s5)} .bridge__side .btn{align-self:stretch} }

/* ---------- Academy ---------- */
.academy{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--s8); align-items:start}
.academy .lead{margin-top:var(--s4)}
.tracks{display:grid; gap:var(--s3); margin-top:var(--s6)}
.track{padding:var(--s5); border-radius:var(--r-m); background:var(--white); border:1px solid var(--border)}
.track h3{font-size:var(--fs-h3); margin-top:6px}
.track p{font-size:var(--fs-sm)}
.cats__label{font-size:var(--fs-sm); color:var(--slate); margin-bottom:var(--s3)}
.cats{border-top:1px solid var(--border)}
.cats li{position:relative; display:flex; align-items:center; gap:var(--s5); min-height:76px; border-bottom:1px solid var(--border); font-size:clamp(1.0625rem, 1rem + .45vw, 1.375rem); font-weight:550; transition:padding var(--t3) var(--ease-out), color var(--t2)}
.cats li .mono{color:var(--gold-text); width:28px}
.cats li::after{content:""; position:absolute; inset-inline:0; bottom:-1px; height:1px; background:var(--navy); transform:scaleX(0); transform-origin:var(--origin,right); transition:transform var(--t4) var(--ease-out)}
:root[dir="ltr"] .cats li::after{--origin:left}
.cats li:hover{padding-inline-start:12px}
.cats li:hover::after{transform:scaleX(1)}
@media (max-width:899px){ .academy{grid-template-columns:minmax(0,1fr); gap:var(--s7)} }

/* ---------- Community / AI Club ---------- */
.club{overflow:hidden; background:radial-gradient(120% 90% at 85% 0%, var(--navy-2) 0%, var(--navy-deep) 55%)}
.orbits{position:absolute; inset-block-start:50%; inset-inline-start:-12%; width:min(900px, 90vw); aspect-ratio:1; transform:translateY(-50%); pointer-events:none; z-index:-1}
.orbit{position:absolute; inset:0; border-radius:50%; border:1px solid rgba(255,255,255,.07); animation:slowspin 60s linear infinite}
.orbit i{position:absolute; top:-3px; left:50%; width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 14px 2px rgba(184,134,59,.6)}
.orbit.o2{inset:14%; animation-duration:44s; animation-direction:reverse; border-style:dashed}
.orbit.o3{inset:30%; animation-duration:32s; border-color:rgba(184,134,59,.16)}
.orbit.o3 i{background:var(--white); box-shadow:0 0 10px rgba(255,255,255,.5)}
.club__in{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--s8); align-items:start}
.club__name{font-size:clamp(2.25rem, 1.5rem + 2.4vw, 3.75rem); font-weight:700; line-height:1.05; letter-spacing:-.02em; text-align:start}
.club__intro .lead{margin-top:var(--s4)}
.club__note{margin-top:var(--s5); display:inline-flex; align-items:center; gap:10px; padding:8px 14px; border:1px dashed var(--line-dark-2); border-radius:var(--r-s); font-size:var(--fs-xs); color:var(--text-on-dark-3)}
.club__note svg{width:16px; height:16px; color:var(--gold-on-dark)}
.feats{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--s3)}
.feats li{padding:var(--s5); border-radius:var(--r-m); background:rgba(255,255,255,.035); border:1px solid var(--line-dark); transition:background-color var(--t3), border-color var(--t3), transform var(--t3) var(--ease-out)}
.feats li:hover{background:rgba(255,255,255,.06); border-color:rgba(184,134,59,.35); transform:translateY(-2px)}
.feats li:last-child{grid-column:1 / -1}
.feats .mono{color:var(--gold-on-dark)}
.feats h3{font-size:var(--fs-body); font-weight:600; margin-top:8px}
.feats p{color:var(--text-on-dark-3); font-size:var(--fs-sm); margin-top:4px; line-height:1.8}
@media (max-width:1023px){ .club__in{grid-template-columns:minmax(0,1fr); gap:var(--s6)} }
@media (max-width:639px){ .feats{grid-template-columns:minmax(0,1fr)} }

/* ---------- Value ---------- */
.facts{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); border-block:1px solid var(--border)}
.facts > div{display:flex; flex-direction:column-reverse; gap:4px; padding:var(--s6) var(--s5); border-inline-start:1px solid var(--border)}
.facts > div:first-child{border-inline-start:0}
.facts dt{font-size:var(--fs-sm); color:var(--slate)}
.facts dd{font-size:clamp(2.5rem, 2rem + 2vw, 4rem); font-weight:700; line-height:1; color:var(--navy); font-variant-numeric:tabular-nums}
.principles{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--s6); margin-top:var(--s7)}
.principles h3{font-size:var(--fs-h3); display:flex; align-items:center; gap:10px}
.principles h3::before{content:""; width:8px; height:8px; transform:rotate(45deg); background:var(--gold); flex:none}
.principles p{margin-top:8px; color:var(--slate); font-size:var(--fs-sm); line-height:1.8}
@media (max-width:899px){
  .facts{grid-template-columns:repeat(2, minmax(0,1fr))}
  .facts > div:nth-child(3){border-inline-start:0}
  .facts > div:nth-child(n+3){border-top:1px solid var(--border)}
  .principles{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width:639px){ .principles{grid-template-columns:minmax(0,1fr); gap:var(--s5)} .facts > div{padding:var(--s5) var(--s4)} }

/* ---------- Final CTA ---------- */
.final{overflow:hidden; text-align:center}
.final__rose{position:absolute; z-index:-1; top:50%; left:50%; width:min(760px, 130vw); transform:translate(-50%,-50%); color:var(--white); animation:slowspin 120s linear infinite}
.final__in{display:flex; flex-direction:column; align-items:center}
.final .kicker::before{display:none}
.final__title{font-size:clamp(2.25rem, 1.4rem + 3vw, 4rem); font-weight:700; line-height:1.2; max-width:14em}
.final .lead{margin-top:var(--s4); max-width:34em}
.final__actions{display:flex; flex-wrap:wrap; justify-content:center; gap:var(--s3); margin-top:var(--s7)}
@media (max-width:639px){ .final__actions .btn{flex:1 1 100%} }

/* ---------- Footer ---------- */
.ftr{padding-block:var(--s9) calc(var(--s6) + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line-dark); background:#060E1A}
.ftr__top{display:grid; grid-template-columns:minmax(0,2.2fr) repeat(4, minmax(0,1fr)); gap:var(--s7)}
.ftr__brand p{margin-block:var(--s3) var(--s5); color:var(--text-on-dark-3); font-size:var(--fs-sm); max-width:22em}
.ftr__col h2{font-size:var(--fs-sm); font-weight:600; color:var(--white); margin-bottom:var(--s3)}
.ftr__col a,.ftr__col span{display:inline-flex; align-items:center; min-height:36px; font-size:var(--fs-sm); color:var(--text-on-dark-3); transition:color var(--t2)}
.ftr__col a:hover{color:var(--gold-on-dark)}
.ftr__domain{font-family:var(--mono); font-size:.8125rem!important; letter-spacing:.04em}
.ftr__social-h{margin-top:var(--s5)}
.social{display:flex; flex-wrap:wrap; gap:8px}
.social__i{min-height:32px!important; padding:0 12px; border:1px dashed var(--line-dark-2); border-radius:var(--r-full); font-size:var(--fs-xs)!important; cursor:not-allowed; direction:ltr}
.ftr__pending{margin-top:8px; font-size:var(--fs-xs); color:var(--text-on-dark-3); line-height:1.7}
.ftr__bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--s3); margin-top:var(--s8); padding-top:var(--s5); border-top:1px solid var(--line-dark); font-size:var(--fs-xs); color:var(--text-on-dark-3)}
@media (max-width:1199px){ .ftr__top{grid-template-columns:repeat(3, minmax(0,1fr))} .ftr__brand{grid-column:1 / -1} }
@media (max-width:639px){ .ftr__top{grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--s6)} }
@media (max-width:389px){ .ftr__top{grid-template-columns:minmax(0,1fr)} }
