/* ==========================================================================
   K1 PARTNERS — dynamic landing page
   Anthracite #2E3035 · Gold #C9A227 · Source Serif 4 + Inter
   ========================================================================== */
:root{
  --ink:#2E3035; --ink-deep:#1B2430; --ink-mid:#3A3C42; --ink-2:#24262B;
  --gold:#C9A227; --gold-lt:#E3C158; --gold-deep:#A8861E; --gold-pale:#F7F0DC;
  --slate:#5C6670; --muted:#8A94A0; --line:#DDE2E8; --wash:#F5F7FA;
  --shell:min(1180px, 100% - 3rem);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:74px; }
body{ margin:0; background:#fff; color:var(--ink-deep); overflow-x:hidden;
  font-family:"Inter",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; }
img,svg{ display:block; max-width:100%; }
a{ color:var(--gold-deep); }
h1,h2,h3{ font-family:"Source Serif 4",Georgia,serif; font-weight:600; color:var(--ink); margin:0; line-height:1.16; }
h2{ font-size:clamp(1.75rem,3.6vw,2.7rem); }
h3{ font-size:1.1rem; }
p{ margin:0 0 1.1rem; }
.shell{ width:var(--shell); margin-inline:auto; }
.sec{ padding:clamp(4rem,8vw,7rem) 0; position:relative; }
.sec--wash{ background:var(--wash); }
.sec--dark{ background:var(--ink); color:#C4C7CC; }
.sec--dark h2,.sec--dark h3{ color:#fff; }
.sec--dark .lead{ color:#B4B7BD; }
.kicker{ font-size:.74rem; letter-spacing:.24em; text-transform:uppercase; font-weight:700; color:var(--gold-deep); margin-bottom:1.1rem; }
.kicker--gold{ color:var(--gold); }
.lead{ font-size:1.14rem; color:var(--slate); max-width:64ch; margin-top:1.2rem; }
.muted{ color:var(--slate); font-size:.95rem; }
.sub{ font-size:1.25rem; margin-top:3.2rem; }
.ul{ background-image:linear-gradient(var(--gold),var(--gold)); background-size:100% 3px;
  background-repeat:no-repeat; background-position:0 100%; padding-bottom:2px; }

/* ---------------------------------------------------------- reveal */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none} html{scroll-behavior:auto} }

/* ---------------------------------------------------------- nav */
.nav{ position:fixed; inset:0 0 auto 0; z-index:80; background:rgba(46,48,53,0);
  transition:background .35s var(--ease), backdrop-filter .35s, border-color .35s; border-bottom:1px solid transparent; }
.nav.is-stuck{ background:rgba(255,255,255,.96); backdrop-filter:saturate(180%) blur(12px); border-bottom-color:var(--line); }
.nav__in{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1rem 0; }
.nav__logo,.footer__logo{ display:flex; align-items:center; gap:.55rem; text-decoration:none; }
.nav__k{ height:22px; width:auto; fill:#fff; transition:fill .35s; }
.nav__k .nav__k-bar{ fill:var(--gold); }          /* the "1" — always gold, in every state */
.nav.is-stuck .nav__k{ fill:var(--ink); }
.nav.is-stuck .nav__k .nav__k-bar{ fill:var(--gold); }
.nav__word{ font-family:"Source Serif 4",Georgia,serif; font-size:.95rem; letter-spacing:.26em; color:#fff; transition:color .35s; }
.nav.is-stuck .nav__word{ color:var(--ink); }
.nav__links{ display:flex; gap:2rem; list-style:none; margin:0; padding:0; }
.nav__links a{ font-size:.76rem; letter-spacing:.13em; text-transform:uppercase; font-weight:500;
  color:rgba(255,255,255,.72); text-decoration:none; white-space:nowrap; position:relative; padding:.2rem 0; }
.nav.is-stuck .nav__links a{ color:var(--slate); }
.nav__links a::after{ content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px; background:var(--gold); transition:right .3s var(--ease); }
.nav__links a:hover::after,.nav__links a.is-active::after{ right:0; }
.nav__links a.is-active{ color:#fff; }
.nav.is-stuck .nav__links a.is-active{ color:var(--ink); }
.nav__cta{ font-size:.74rem; letter-spacing:.13em; text-transform:uppercase; font-weight:600; color:var(--gold);
  text-decoration:none; border:1px solid var(--gold); padding:.6rem 1.15rem; white-space:nowrap; transition:.25s var(--ease); }
.nav__cta:hover{ background:var(--gold); color:var(--ink); }
.nav.is-stuck .nav__cta{ color:var(--ink); }
.nav.is-stuck .nav__cta:hover{ color:var(--ink); }
.nav__toggle{ display:none; background:none; border:0; cursor:pointer; width:30px; height:22px; padding:0; }
.nav__toggle span{ display:block; height:2px; background:#fff; margin:5px 0; transition:.3s var(--ease); }
.nav.is-stuck .nav__toggle span{ background:var(--ink); }
.nav__progress{ height:2px; width:0; background:var(--gold); transition:width .1s linear; }

/* ---------------------------------------------------------- hero */
.hero{ position:relative; min-height:100svh; background:var(--ink); color:#fff; display:flex; flex-direction:column;
  justify-content:center; padding:7.5rem 0 5rem; overflow:hidden; }
.hero__net{ position:absolute; inset:0; width:100%; height:100%; opacity:.55; }
.hero__glow{ position:absolute; left:50%; top:38%; width:min(900px,110vw); aspect-ratio:1; transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(201,162,39,.16) 0%, rgba(201,162,39,.05) 38%, transparent 68%); pointer-events:none; }
.hero__in{ position:relative; z-index:2; }
.hero__mark{ width:clamp(150px,20vw,230px); margin-bottom:clamp(2rem,4vw,3rem); }
.mark{ overflow:visible; }
.mark__k{ fill:#fff; opacity:0; transform-origin:center; animation:kIn 1s var(--ease) .35s forwards; }
.mark__bar{ fill:var(--gold); transform-origin:50% 50%; transform:scaleY(0); animation:barIn .85s var(--ease) .9s forwards; }
.mark__node{ fill:var(--gold); opacity:0; animation:nodeIn .5s var(--ease) forwards; }
.mark__node--l{ animation-delay:1.35s; } .mark__node--r{ animation-delay:1.55s; }
.mark__link{ stroke:var(--gold); stroke-width:1.4; fill:none; stroke-dasharray:80; stroke-dashoffset:80; opacity:.75;
  animation:linkIn .8s var(--ease) 1.4s forwards; }
.mark__link--r{ stroke-dasharray:40; stroke-dashoffset:40; animation-delay:1.6s; }
@keyframes kIn{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }
@keyframes barIn{ to{ transform:scaleY(1) } }
@keyframes nodeIn{ to{ opacity:1 } }
@keyframes linkIn{ to{ stroke-dashoffset:0 } }
.hero__eyebrow{ display:inline-block; font-size:.68rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold); border:1px solid rgba(201,162,39,.5); padding:.45rem 1rem; margin-bottom:1.8rem; }
.hero__title{ font-family:"Source Serif 4",Georgia,serif; font-weight:600; color:#fff;
  font-size:clamp(2.1rem,5.4vw,4.1rem); line-height:1.1; max-width:22ch; margin:0; }
.hero__title .w{ display:inline-block; opacity:0; transform:translateY(26px);
  animation:wIn .75s var(--ease) forwards; }
.hero__title .gold{ color:var(--gold); }
@keyframes wIn{ to{ opacity:1; transform:none } }
.hero__sub{ color:#AFB3B9; font-size:1.08rem; max-width:58ch; margin-top:1.8rem; opacity:0; animation:wIn .8s var(--ease) 1.5s forwards; }
.hero__actions{ display:flex; gap:.9rem; flex-wrap:wrap; margin-top:2.2rem; opacity:0; animation:wIn .8s var(--ease) 1.7s forwards; }
.hero__meta{ display:grid; grid-template-columns:repeat(4,auto); gap:2.6rem; margin-top:clamp(2.5rem,5vw,4rem);
  justify-content:start; opacity:0; animation:wIn .9s var(--ease) 1.9s forwards; }
.hm b{ display:block; font-family:"Source Serif 4",Georgia,serif; font-size:2rem; color:#fff; line-height:1; }
.hm span{ font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:#83878E; }
.hero__scroll{ position:absolute; left:50%; bottom:2rem; transform:translateX(-50%); z-index:3; }
.hero__scroll span{ display:block; width:22px; height:36px; border:1px solid rgba(255,255,255,.3); border-radius:12px; position:relative; }
.hero__scroll span::after{ content:""; position:absolute; left:50%; top:8px; width:3px; height:6px; border-radius:2px;
  background:var(--gold); transform:translateX(-50%); animation:sc 1.8s var(--ease) infinite; }
@keyframes sc{ 0%{opacity:0;transform:translate(-50%,0)} 30%{opacity:1} 100%{opacity:0;transform:translate(-50%,14px)} }

/* ---------------------------------------------------------- buttons */
.btn{ display:inline-block; background:var(--gold); color:var(--ink); border:0; padding:.95rem 1.9rem;
  font-family:inherit; font-size:.76rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  cursor:pointer; text-decoration:none; transition:.25s var(--ease); }
.btn:hover{ background:var(--gold-lt); transform:translateY(-2px); }
.btn--ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.28); }
.btn--ghost:hover{ background:transparent; border-color:var(--gold); color:var(--gold); }

/* ---------------------------------------------------------- ticker */
.ticker{ background:var(--ink-2); overflow:hidden; padding:.9rem 0; border-block:1px solid #3A3C42; }
.ticker__track{ display:flex; gap:1.6rem; white-space:nowrap; width:max-content; animation:tick 46s linear infinite; }
.ticker span{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#7E828A; }
.ticker span:nth-child(even){ color:var(--gold); }
@keyframes tick{ to{ transform:translateX(-50%) } }

/* ---------------------------------------------------------- grids & tiles */
.grid{ display:grid; gap:1.5rem; margin-top:2.8rem; }
.grid--3{ grid-template-columns:repeat(3,1fr); }
.grid--4{ grid-template-columns:repeat(4,1fr); }
.tile{ background:#fff; border:1px solid var(--line); padding:2rem 1.8rem; position:relative; overflow:hidden;
  transition:.35s var(--ease); }
.tile::before{ content:""; position:absolute; inset:0 auto auto 0; height:3px; width:0; background:var(--gold); transition:width .45s var(--ease); }
.tile:hover::before{ width:100%; }
.tile:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(27,36,48,.09); }
.tile h3{ margin-bottom:.6rem; }
.tile p{ font-size:.94rem; color:var(--slate); margin:0; }
.tile__i{ display:block; font-family:"Source Serif 4",Georgia,serif; font-size:.9rem; color:var(--gold); margin-bottom:.9rem; letter-spacing:.1em; }
.tile__tag{ display:inline-block; margin-top:1.2rem; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold-deep); border:1px solid var(--gold-pale); background:var(--gold-pale); padding:.35rem .7rem; }
.tile--dark{ background:var(--ink-mid); border-color:#45474E; }
.tile--dark p{ color:#9BA0A7; }
.tile--dark:hover{ box-shadow:none; }
.sec--wash .tile{ background:#fff; }

.quote{ margin-top:2.8rem; border-left:3px solid var(--gold); background:var(--gold-pale); padding:1.8rem 2rem; }
.quote span{ display:block; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-bottom:.7rem; }
.quote p{ margin:0; font-family:"Source Serif 4",Georgia,serif; font-size:1.2rem; color:var(--ink); line-height:1.5; }

/* ---------------------------------------------------------- split */
.split{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,6vw,5rem); align-items:start; }
.pillars{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.pillar{ background:#fff; border:1px solid var(--line); padding:1.5rem 1.4rem; transition:.3s var(--ease); }
.pillar:hover{ border-color:var(--gold); transform:translateY(-3px); }
.pillar h3{ font-size:1rem; margin-bottom:.45rem; }
.pillar p{ font-size:.89rem; color:var(--slate); margin:0; }

/* ---------------------------------------------------------- accordion */
.acc{ margin-top:2.8rem; border-top:1px solid var(--line); }
.acc__item{ display:flex; align-items:flex-start; gap:1.4rem; width:100%;
  text-align:left; background:none; border:0; border-bottom:1px solid var(--line); padding:1.7rem 0;
  font-family:inherit; cursor:pointer; transition:.3s var(--ease); }
.acc__n{ flex:0 0 3.2rem; } .acc__body{ flex:1 1 auto; display:block; } .acc__chev{ flex:0 0 14px; }
.acc__item:hover{ background:linear-gradient(90deg, rgba(201,162,39,.06), transparent 45%); }
.acc__n{ font-family:"Source Serif 4",Georgia,serif; font-size:1.45rem; color:var(--gold); line-height:1; padding-top:.2rem; }
.acc__title{ display:block; font-family:"Source Serif 4",Georgia,serif; font-size:1.22rem; color:var(--ink); }
.acc__text{ display:block; max-height:0; overflow:hidden; color:var(--slate); font-size:.96rem; line-height:1.6;
  transition:max-height .45s var(--ease), margin .45s var(--ease), opacity .35s; opacity:0; max-width:78ch; }
.acc__out{ display:block; max-height:0; overflow:hidden; font-size:.72rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--gold-deep); transition:max-height .45s var(--ease), margin .45s var(--ease), opacity .35s; opacity:0; }
.acc__item.is-open .acc__text{ max-height:220px; margin-top:.6rem; opacity:1; }
.acc__item.is-open .acc__out{ max-height:60px; margin-top:.8rem; opacity:1; }
.acc__chev{ width:14px; height:14px; box-sizing:border-box; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted);
  transform:rotate(45deg); margin-top:.55rem; justify-self:end; transition:.35s var(--ease); }
.acc__item.is-open .acc__chev{ transform:rotate(-135deg); border-color:var(--gold); }

/* ---------------------------------------------------------- timeline */
.tl{ margin-top:3rem; position:relative; }
.tl__line{ position:absolute; left:0; right:0; top:9px; height:2px; background:#45474E; }
.tl__line i{ display:block; height:100%; width:0; background:var(--gold); transition:width .1s linear; }
.tl__steps{ display:grid; grid-template-columns:repeat(8,1fr); gap:1rem; }
.tl__step{ position:relative; padding-top:2.4rem; }
.tl__dot{ position:absolute; top:3px; left:0; width:14px; height:14px; border-radius:50%;
  background:var(--ink); border:2px solid #5C5F66; transition:.3s var(--ease); }
.tl__step.is-on .tl__dot{ background:var(--gold); border-color:var(--gold); box-shadow:0 0 0 5px rgba(201,162,39,.16); }
.tl__n{ font-size:.66rem; letter-spacing:.16em; color:var(--gold); font-weight:700; }
.tl__step h3{ font-family:"Inter",sans-serif; font-size:.82rem; font-weight:600; letter-spacing:.06em; color:#fff; margin:.25rem 0 .3rem; }
.tl__step p{ font-size:.76rem; color:#8F939A; margin:0; line-height:1.45; }
.tl__step.is-gold .tl__n{ color:var(--gold-lt); }
.gates{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-top:3rem; }
.gate{ border-top:2px solid var(--gold); padding-top:.9rem; }
.gate b{ display:block; font-size:.71rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:.35rem; }
.gate span{ font-size:.86rem; color:#9BA0A7; }

/* ---------------------------------------------------------- data */
.data{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,4rem); margin-top:2.8rem; align-items:start; }
.fbar{ margin-bottom:1.15rem; }
.fbar span{ display:block; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--slate); margin-bottom:.4rem; }
.fbar i{ display:block; height:34px; background:var(--ink); width:0; position:relative;
  transition:width 1.1s var(--ease); }
.fbar.is-in i{ width:var(--w); }
.fbar i em{ position:absolute; right:.7rem; top:50%; transform:translateY(-50%); font-style:normal;
  font-family:"Source Serif 4",Georgia,serif; font-size:.9rem; color:#fff; }
.fbar.is-gold i{ background:var(--gold); } .fbar.is-gold i em{ color:var(--ink); }
.data__note{ font-size:.8rem; color:var(--muted); margin-top:1rem; }
/* honeypot — off-screen rather than display:none, which some bots detect */
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* explicit, unticked consent at the point of collection */
.consent{ display:flex; align-items:flex-start; gap:.7rem; margin:1.4rem 0 1.5rem; cursor:pointer; }
.consent input{ flex:0 0 auto; width:17px; height:17px; margin-top:.15rem; accent-color:var(--gold-deep); }
.consent span{ font-size:.82rem; line-height:1.6; color:var(--slate); }

/* the commitments column — statements of policy, never of performance */
.data__stds{ border-left:2px solid var(--gold); padding-left:clamp(1.2rem,2.2vw,1.9rem); }
.data__stds-h{ font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep);
  margin:0 0 1.15rem; }
.stds{ list-style:none; margin:0; padding:0; }
.stds li{ position:relative; padding:0 0 .95rem 1.25rem; margin-bottom:.95rem; font-size:.93rem;
  line-height:1.62; color:var(--slate); border-bottom:1px solid var(--line, #E1E6EC); }
.stds li:last-child{ border-bottom:0; padding-bottom:0; margin-bottom:0; }
.stds li::before{ content:""; position:absolute; left:0; top:.62em; width:5px; height:5px;
  background:var(--gold); }

.data__rings{ display:grid; gap:2rem; }
.ring{ display:flex; align-items:center; gap:1.2rem; }
.ring svg{ width:104px; height:104px; flex-shrink:0; transform:rotate(-90deg); }
.ring__bg{ fill:none; stroke:#E1E6EC; stroke-width:9; }
.ring__fg{ fill:none; stroke:var(--gold); stroke-width:9; stroke-linecap:round;
  stroke-dasharray:327; stroke-dashoffset:327; transition:stroke-dashoffset 1.3s var(--ease); }
.ring__v b{ font-family:"Source Serif 4",Georgia,serif; font-size:2rem; color:var(--ink); line-height:1; }
.ring__v b i{ font-style:normal; font-size:1.1rem; color:var(--gold-deep); }
.ring__v span{ display:block; font-size:.85rem; color:var(--slate); margin-top:.3rem; max-width:22ch; }

.figs{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; margin-top:3.4rem; }
.fig{ border-top:2px solid var(--gold); padding-top:1rem; }
.fig b{ display:block; font-family:"Source Serif 4",Georgia,serif; font-size:1.9rem; color:var(--ink); line-height:1.1; }
.fig span{ font-size:.86rem; color:var(--slate); }

/* ---------------------------------------------------------- table */
.tbl{ width:100%; border-collapse:collapse; margin-top:1.6rem; }
.tbl th{ background:var(--ink); color:#fff; text-align:left; font-size:.76rem; letter-spacing:.08em; padding:.95rem 1rem; font-weight:600; }
.tbl td{ border-bottom:1px solid var(--line); padding:.95rem 1rem; font-size:.93rem; vertical-align:top; }
.tbl td:first-child{ font-weight:600; color:var(--ink); }
.tbl tr:hover td{ background:var(--wash); }

.bound{ margin-top:3rem; border-left:3px solid var(--gold); background:rgba(201,162,39,.08); padding:1.6rem 1.9rem; }
.bound span{ display:block; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:.6rem; }
.bound p{ margin:0; color:#C4C7CC; }
.bound b{ color:#fff; }

/* ---------------------------------------------------------- contact */
.contact{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2.5rem,6vw,4.5rem); margin-top:2.8rem; align-items:start; }
.dets{ margin-top:2rem; }
.det{ border-top:1px solid var(--line); padding:1rem 0; }
.det b{ display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:.25rem; }
.det a,.det span{ font-size:.96rem; color:var(--ink-deep); text-decoration:none; }
.f2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field{ margin-bottom:1.1rem; }
.field label{ display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:.45rem; }
.field input,.field textarea,.field select{ width:100%; background:#fff; border:1px solid var(--line); color:var(--ink-deep);
  padding:.9rem 1rem; font-family:inherit; font-size:.96rem; border-radius:0; transition:.25s var(--ease); }
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,162,39,.14); }
.field textarea{ min-height:140px; resize:vertical; }
.fnote{ font-size:.82rem; color:var(--muted); margin-top:1rem; }

/* ---------------------------------------------------------- footer */
.footer{ background:var(--ink-deep); color:#8A94A0; padding:3.4rem 0 2.4rem; font-size:.86rem; }
.footer__top{ display:flex; justify-content:space-between; align-items:center; gap:2.5rem; flex-wrap:wrap;
  padding-bottom:1.8rem; border-bottom:1px solid #2C3644; }
.footer__logo .nav__k{ fill:#fff; height:24px; }
.footer__logo .nav__word{ color:#fff; }
.footer__nav{ display:flex; flex-wrap:wrap; gap:1.4rem; list-style:none; margin:0; padding:0; }
.footer__nav a{ color:#8A94A0; text-decoration:none; font-size:.83rem; }
.footer__nav a:hover{ color:var(--gold); }
.footer__legal{ margin-top:1.8rem; font-size:.75rem; line-height:1.75; color:#68707B; max-width:84ch; }

/* ---------------------------------------------------------- legal pages */
.doc{ padding:8rem 0 4rem; }
.doc .prose{ max-width:76ch; }
.doc .prose h2{ margin-top:2.4rem; font-size:1.3rem; }
.doc .prose p,.doc .prose li{ font-size:.97rem; color:#333A44; }
.doc .prose ul{ padding-left:1.2rem; }
.doc .updated{ font-size:.83rem; color:var(--muted); }

/* ---------------------------------------------------------- responsive */
@media (max-width:1080px){
  .tl__steps{ grid-template-columns:repeat(4,1fr); row-gap:2rem; }
  .tl__line{ display:none; }
  .data{ grid-template-columns:1fr; }
  .data__rings{ grid-template-columns:1fr 1fr; }
  .data__stds{ border-left:0; border-top:2px solid var(--gold); padding-left:0; padding-top:1.5rem; }
  .grid--4,.figs,.gates{ grid-template-columns:repeat(2,1fr); }
  .split{ grid-template-columns:1fr; }
  .contact{ grid-template-columns:1fr; }
}
@media (max-width:860px){
  .nav__links{ position:absolute; top:100%; left:0; right:0; background:#fff; flex-direction:column; gap:0;
    padding:.4rem 0; display:none; border-bottom:1px solid var(--line); }
  .nav__links.is-open{ display:flex; }
  .nav__links a{ display:block; width:100%; padding:.9rem 1.5rem; color:var(--slate)!important; }
  .nav__toggle{ display:block; }
  .nav__cta{ display:none; }
  .hero__meta{ grid-template-columns:repeat(2,auto); gap:1.6rem 2.4rem; }
}
@media (max-width:640px){
  body{ font-size:16px; }
  :root{ --shell:min(1180px, 100% - 2.2rem); }
  .grid--3,.grid--4,.figs,.gates,.pillars,.data__rings,.f2{ grid-template-columns:1fr; }
  .tl__steps{ grid-template-columns:1fr 1fr; }
  .acc__item{ gap:1rem; } .acc__n{ flex-basis:2.2rem; }
  .quote p{ font-size:1.06rem; }
}
