:root{
  --navy:#030B23;
  --navy2:#051230;
  --card:#0A1B42;
  --card-hi:#0E2454;
  --line:#1E3A6E;
  --ice:#f0f3f8;
  --muted:#dee6f5;
  --bright:#7FC0EE;
  --teal:#5FC2D9;
  --royal:#2E5FD6;
  --white:#FFFFFF;
  --grad:linear-gradient(96deg,var(--teal),var(--royal));
  --disp:'Bricolage Grotesque',sans-serif;
  --body:'Instrument Sans',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:#030B23}
body{
  background:#030B23;
  background:var(--navy);
  color:var(--card);
  font-family:var(--body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--royal);color:var(--white)}
a{color:inherit;text-decoration:none}
img{display:block}

/* ---------- shared ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.eyebrow{
  font-family:var(--mono);font-size:15px;letter-spacing:.22em;
  color:var(--bright);text-transform:uppercase;margin-bottom:18px;
}
h1,h2{font-family:var(--disp);color:var(--white);letter-spacing:-.01em}
h2{font-size:clamp(28px,3.6vw,42px);line-height:1.12;font-weight:600}
.sub{color:var(--muted);max-width:620px}
.grad-text{color:#7FC0EE;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.grad-text{background:none;-webkit-text-fill-color:currentColor}}
section{padding:104px 0;background:#030B23}
@media(max-width:760px){section{padding:72px 0}}
.btn{
  display:inline-block;font-family:var(--body);font-weight:600;font-size:16px;
  padding:15px 30px;border-radius:100px;background:var(--grad);color:var(--white);
  transition:transform .18s ease, box-shadow .18s ease;box-shadow:0 8px 28px rgba(46,95,214,.35);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(46,95,214,.5)}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--bright);outline-offset:3px;border-radius:6px}
.link-arrow{color:var(--bright);font-weight:600}
.link-arrow:hover{color:var(--white)}


/* ---------- light sections ---------- */
:root{
  --lbg:#EFF5FD; --lbg2:#FFFFFF; --lline:#D5E3F6;
  --lnavy:#0A1633; --lbody:#444446; --lmuted:#050505;
}
section.light{background:#EFF5FD;background:linear-gradient(180deg,#F5F9FF 0%,#EAF2FC 100%)}
section.light h2{color:var(--lnavy)}
section.light .eyebrow{color:var(--royal)}
section.light .sub{color:var(--lmuted)}
section.light .link-arrow{color:var(--royal)}
section.light .link-arrow:hover{color:var(--lnavy)}
section.light .pcard{background:#FFFFFF;border-color:var(--lline);box-shadow:0 6px 24px rgba(10,22,51,.06)}
section.light .pcard h3{color:var(--lnavy)}
section.light .pcard p{color:var(--lmuted)}
section.light .gcard{background:#FFFFFF;border-color:var(--lline);box-shadow:0 6px 24px rgba(10,22,51,.06)}
section.light .gcard .gk{color:var(--lnavy)}
section.light .gcard p{color:var(--lmuted)}
section.light .gcard p b{color:var(--lnavy)}
section.light .what p{color:var(--lbody)}
section.light .keep{color:var(--royal)}
section.light .record{box-shadow:0 30px 70px rgba(10,22,51,.28)}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .tl-item,.tl-check{animation:none!important;opacity:1!important;transform:none!important}
}

/* ---------- nav ---------- */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(3,11,35,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(30,58,110,.5);
}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:40px;height:40px}
.brand-name{font-family:var(--disp);font-weight:600;font-size:17px;color:var(--white);line-height:1.1}
.brand-name span{display:block;font-size:11px;letter-spacing:.3em;font-weight:700}
.brand-name span{color:#7FC0EE;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.brand-name span{background:none;-webkit-text-fill-color:currentColor}}
.nav-links{display:flex;align-items:center;gap:34px;font-size:15px;font-weight:500;color:var(--muted)}
.nav-links a:hover{color:var(--white)}
.nav-links a.active{color:var(--white)}
.nav-cta{padding:11px 22px;font-size:14.5px}
.nav-cta .short{display:none}
@media(max-width:760px){
  .nav-links a:not(.btn){display:none}
  .nav-in{height:64px}
  .brand img{width:34px;height:34px}
  .brand-name{font-size:15px}
  .nav-cta{padding:10px 16px;font-size:13.5px;white-space:nowrap}
  .nav-cta .full{display:none}
  .nav-cta .short{display:inline}
}

/* ---------- hero ---------- */
.hero{
  padding:96px 0 110px;position:relative;
  background:#051230;
  background:radial-gradient(90% 70% at 24% 0%,#0B2352 0%,var(--navy2) 46%,var(--navy) 100%);
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(38px,4.8vw,58px);line-height:1.06;font-weight:700;margin-bottom:24px}
.hero .sub{font-size:18.5px;margin-bottom:36px}
.hero-ctas{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr}.hero{padding:56px 0 84px}}

/* record card — signature element */
.record{
  background:linear-gradient(160deg,var(--card) 0%,#081736 100%);
  border:1px solid var(--line);border-radius:18px;
  padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.45);
  max-width:480px;margin-left:auto;
}
.record-search{
  display:flex;align-items:center;gap:12px;
  background:var(--navy);border:1px solid var(--line);border-radius:11px;
  padding:13px 16px;margin-bottom:8px;
}
.record-search svg{flex:none}
.record-search .q{font-size:14.5px;color:var(--white);font-weight:500}
.record-search .meta{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}
.record-tag{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--muted);
  text-transform:uppercase;padding:14px 2px 10px;
}
.tl{position:relative;padding-left:26px}
.tl::before{content:'';position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl-item{
  position:relative;display:flex;align-items:baseline;gap:12px;
  padding:9px 0;opacity:0;transform:translateX(-8px);
  animation:tlIn .5s ease forwards;
}
.tl-item::before{
  content:'';position:absolute;left:-24px;top:14px;width:10px;height:10px;border-radius:50%;
  background:var(--bright);border:2px solid var(--navy);
}
.tl-item.gap::before{background:var(--muted)}
.tl-year{font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--bright);flex:none;width:40px}
.tl-item.gap .tl-year{color:var(--muted)}
.tl-text{font-size:14px;color:var(--ice)}
.tl-item.gap .tl-text{color:var(--muted);font-style:italic}
.tl-check{
  margin-left:auto;flex:none;opacity:0;transform:scale(.4);
  animation:ckIn .35s ease forwards;
}
@keyframes tlIn{to{opacity:1;transform:none}}
@keyframes ckIn{to{opacity:1;transform:scale(1)}}
.record-foot{
  margin-top:16px;padding-top:16px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:11px;color:var(--muted);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;
}
.record-foot b{color:var(--teal);font-weight:500}

/* ---------- problem ---------- */
.problem h2{margin-bottom:44px}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pcard{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:26px 28px;
}
.pcard h3{font-family:var(--disp);font-weight:600;font-size:19px;color:var(--white);margin-bottom:8px;line-height:1.3}
.pcard p{font-size:15px;color:var(--muted)}
@media(max-width:760px){.pgrid{grid-template-columns:1fr}}

/* ---------- turn ---------- */
.turn{
  background:#c6c6c7;
  background:linear-gradient(180deg,var(--navy) 0%,#071433 50%,var(--navy) 100%);
  text-align:center;
}
.turn h2{font-size:clamp(34px,4.4vw,52px);margin-bottom:22px}
.turn p{max-width:660px;margin:0 auto;font-size:18px;color:var(--ice)}
.turn p b{color:var(--white)}

/* ---------- what ---------- */
.what-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.what p{margin:18px 0 0;font-size:17px}
section.light p{color:var(--lbody)
section.light p1 {color: var(--white);
}}
.what .keep{margin-top:26px;font-size:16px;color:var(--bright);font-style:italic}
@media(max-width:960px){.what-grid{grid-template-columns:1fr}}

/* ---------- how ---------- */
.how h2{margin-bottom:14px}
.how .sub{margin-bottom:44px}
.pipe{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;margin-bottom:14px}
.pipe-step{
  flex:1;min-width:150px;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:18px 16px;position:relative;margin-right:26px;
}
.pipe-step:last-child{margin-right:0}
.pipe-step::after{
  content:'→';position:absolute;right:-22px;top:50%;transform:translateY(-50%);
  color:var(--bright);font-size:17px;font-weight:700;
}
.pipe-step:last-child::after{content:none}
.pipe-step.hot{background:var(--card-hi);border-color:var(--royal)}
.pipe-step h4{font-family:var(--disp);font-size:15.5px;font-weight:600;color:var(--white);margin-bottom:5px}
.pipe-step p{font-size:12.5px;color:var(--muted);line-height:1.45}
.always{
  font-size:15px;color:var(--ice);margin:22px 0 34px;
}
.always b{color:var(--white)}
.checks{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.chip{
  display:flex;align-items:center;gap:9px;
  background:var(--card);border:1px solid var(--line);border-radius:100px;
  padding:11px 20px;font-size:14px;font-weight:500;color:var(--white);
}
.chip svg{flex:none}
.gate-line{font-family:var(--disp);font-weight:600;font-size:19px;color:var(--bright)}
@media(max-width:900px){
  .pipe{flex-direction:column;gap:14px}
  .pipe-step{margin-right:0}
  .pipe-step::after{content:'↓';right:auto;left:24px;top:auto;bottom:-21px;transform:none}
}

/* ---------- governance ---------- */
/* .gov now uses light theme */
.gov h2{margin-bottom:44px}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:34px}
.gcard{
  background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;
}
.gcard .gk{font-family:var(--disp);font-weight:600;font-size:20px;color:var(--white);display:block;margin-bottom:10px}
.gcard p{font-size:15px;color:var(--muted)}
.gcard p b{color:var(--ice);font-weight:600}
@media(max-width:900px){.ggrid{grid-template-columns:1fr}}

/* ---------- cta ---------- */
.cta{
  text-align:center;
  background:#051230;
  background:radial-gradient(70% 90% at 50% 100%,#0B2352 0%,var(--navy) 70%);
  padding-bottom:130px;
}
.cta h2{font-size:clamp(32px,4vw,48px);margin-bottom:18px}
.cta p{max-width:560px;margin:0 auto 36px;color:var(--muted);font-size:17px}
.cta p b{color:var(--ice)}
.cta .fine{font-size:14px;color:var(--muted);margin-top:22px;font-style:italic}

/* ---------- footer ---------- */
footer{border-top:1px solid rgba(30,58,110,.5);padding:44px 0 54px;background:#030B23}
.foot-in{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap}
.foot-pos{font-size:14.5px;color:var(--muted);max-width:420px;margin-top:12px}
.foot-links{display:flex;gap:26px;font-size:14.5px;color:var(--muted)}
.foot-links a:hover{color:var(--white)}
.foot-copy{font-family:var(--mono);font-size:11.5px;color:#e7e7e9;margin-top:34px}

/* ---------- meridian.html — why page ---------- */
.futgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.fut{background:#FFFFFF;border:1px solid var(--lline);border-radius:16px;padding:30px;box-shadow:0 6px 24px rgba(10,22,51,.06)}
.fut.win{border-color:var(--royal);box-shadow:0 10px 34px rgba(46,95,214,.16)}
.fut-tag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--lmuted);display:inline-block;margin-bottom:14px}
.fut.win .fut-tag{color:var(--royal)}
.fut h3{font-family:var(--disp);font-weight:600;font-size:21px;color:var(--lnavy);margin-bottom:12px;line-height:1.25}
.fut p{font-size:15.5px;color:var(--lmuted)}
.fut.win p b{color:var(--lnavy)}
.fut-line{margin-top:26px;font-size:17px;color:var(--lnavy);font-weight:600;font-family:var(--disp)}
@media(max-width:820px){.futgrid{grid-template-columns:1fr}}

.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.bcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 26px}
.bcard h3{font-family:var(--disp);font-weight:600;font-size:17.5px;color:var(--white);margin-bottom:8px;line-height:1.3}
.bcard p{font-size:14px;color:var(--muted)}
@media(max-width:960px){.bgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.bgrid{grid-template-columns:1fr}}

.diffgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:40px 0 22px}
.dcard{background:#FFFFFF;border:1px solid var(--lline);border-radius:14px;padding:22px 24px}
.dcard h4{font-family:var(--disp);font-weight:600;font-size:16px;color:var(--lnavy);margin-bottom:6px}
.dcard p{font-size:14px;color:var(--lmuted)}
.mcard{background:linear-gradient(160deg,var(--card) 0%,#081736 100%);border:1px solid var(--royal);border-radius:16px;padding:28px 30px;box-shadow:0 16px 44px rgba(10,22,51,.25)}
.mcard h4{font-family:var(--disp);font-weight:600;font-size:19px;color:var(--white);margin-bottom:8px}
.mcard p{font-size:15.5px;color:var(--ice)}
.trade{margin-top:26px;font-family:var(--disp);font-weight:600;font-size:19px;color:var(--lnavy);max-width:840px}
.trade span{color:var(--royal)}
@media(max-width:820px){.diffgrid{grid-template-columns:1fr}}

.found{
  margin-top:40px;background:var(--card-hi);border:1px solid var(--royal);
  border-radius:16px;padding:28px 30px;
}
.found h3{font-family:var(--disp);font-weight:600;font-size:19px;color:var(--bright);margin-bottom:10px}
.found p{font-size:15.5px;color:var(--ice)}
.found p b{color:var(--white)}

.obj{margin-top:40px;display:flex;flex-direction:column;gap:12px}
.obj details{background:#FFFFFF;border:1px solid var(--lline);border-radius:13px;box-shadow:0 4px 18px rgba(10,22,51,.05)}
.obj summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:19px 24px;font-family:var(--disp);font-weight:600;font-size:16.5px;color:var(--lnavy);
}
.obj summary::-webkit-details-marker{display:none}
.obj summary::after{content:'+';font-size:22px;color:var(--royal);font-weight:500;flex:none;transition:transform .2s}
.obj details[open] summary::after{transform:rotate(45deg)}
.obj details p{padding:0 24px 20px;font-size:15px;color:var(--lmuted)}
.obj details p b{color:var(--lnavy)}
