@charset "utf-8";
/* ==========================================================================
   Payout Hub — "dark product" design system (variant B, Linear-flavoured)
   Single stylesheet. Tokens live ONLY in :root / theme blocks; every rule
   below consumes colours through var(). No external assets, no web fonts.
   ========================================================================== */

/* ---- TOKENS: dark (native default) -------------------------------------- */
:root{
  --canvas:#08090a;
  --panel:#0f1011;
  --elevated:#191a1b;
  --text:#f7f8f8;
  --text-2:#8a8f98;
  --text-3:#62666d;
  --accent:#5e6ad2;
  --interactive:#7170ff;
  --interactive-hover:#828fff;
  --on-accent:#ffffff;

  --border-1:rgba(255,255,255,.05);
  --border-2:rgba(255,255,255,.08);
  --surface-1:rgba(255,255,255,.02);
  --surface-2:rgba(255,255,255,.03);
  --surface-3:rgba(255,255,255,.05);

  --glow-1:rgba(94,106,210,.20);
  --glow-2:rgba(94,106,210,.32);
  --grid-line:rgba(255,255,255,.045);
  --edge:rgba(255,255,255,.16);
  --edge-hot:rgba(113,112,255,.62);

  --shadow-1:inset 0 1px 0 rgba(255,255,255,.03), 0 1px 2px rgba(0,0,0,.45);
  --shadow-2:inset 0 1px 0 rgba(255,255,255,.04), 0 6px 18px rgba(0,0,0,.5);
  --shadow-3:inset 0 1px 0 rgba(255,255,255,.06), 0 24px 60px rgba(0,0,0,.6);

  --focus:rgba(130,143,255,.9);
  --header-bg:rgba(8,9,10,.78);

  --radius-s:6px;
  --radius-m:10px;
  --radius-l:14px;
  --radius-xl:20px;

  --font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;

  --step--1:clamp(.76rem, .74rem + .12vw, .85rem);
  --step-0:clamp(.95rem, .93rem + .16vw, 1.06rem);
  --step-1:clamp(1.12rem, 1.06rem + .34vw, 1.34rem);
  --step-2:clamp(1.45rem, 1.3rem + .8vw, 1.95rem);
  --step-3:clamp(1.75rem, 1.42rem + 1.55vw, 2.6rem);
  --step-4:clamp(2.125rem, .96rem + 2.9vw, 3.4rem);
  --step-5:clamp(1.85rem, 1.4rem + 1.9vw, 3rem);

  --tracking-display:-0.022em;
  --tracking-tight:-0.011em;

  --container:1160px;
  --gutter:clamp(1.1rem, 4vw, 2.5rem);
  --sec-y:clamp(3.2rem, 7vw, 6rem);

  --dur-1:.16s;
  --dur-2:.24s;
  --ease:cubic-bezier(.25,.6,.3,1);
}

/* ---- TOKENS: light — full partner set (same roles, same contrast) -------- */
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    --canvas:#fcfcfd;
    --panel:#f7f7f8;
    --elevated:#ffffff;
    --text:#0f1011;
    --text-2:#5d626c;
    --text-3:#8a8f98;
    --accent:#5e6ad2;
    --interactive:#4d55c6;
    --interactive-hover:#3a42ad;
    --on-accent:#ffffff;

    --border-1:rgba(15,16,17,.07);
    --border-2:rgba(15,16,17,.11);
    --surface-1:rgba(15,16,17,.015);
    --surface-2:rgba(15,16,17,.025);
    --surface-3:rgba(15,16,17,.04);

    --glow-1:rgba(94,106,210,.12);
    --glow-2:rgba(94,106,210,.18);
    --grid-line:rgba(15,16,17,.05);
    --edge:rgba(15,16,17,.18);
    --edge-hot:rgba(77,85,198,.55);

    --shadow-1:inset 0 1px 0 rgba(255,255,255,.9), 0 1px 2px rgba(16,17,20,.07);
    --shadow-2:inset 0 1px 0 rgba(255,255,255,.9), 0 6px 18px rgba(16,17,20,.09);
    --shadow-3:inset 0 1px 0 rgba(255,255,255,.95), 0 24px 60px rgba(16,17,20,.14);

    --focus:rgba(58,66,173,.85);
    --header-bg:rgba(252,252,253,.8);
  }
}
:root[data-theme="light"]{
  --canvas:#fcfcfd;
  --panel:#f7f7f8;
  --elevated:#ffffff;
  --text:#0f1011;
  --text-2:#5d626c;
  --text-3:#8a8f98;
  --accent:#5e6ad2;
  --interactive:#4d55c6;
  --interactive-hover:#3a42ad;
  --on-accent:#ffffff;

  --border-1:rgba(15,16,17,.07);
  --border-2:rgba(15,16,17,.11);
  --surface-1:rgba(15,16,17,.015);
  --surface-2:rgba(15,16,17,.025);
  --surface-3:rgba(15,16,17,.04);

  --glow-1:rgba(94,106,210,.12);
  --glow-2:rgba(94,106,210,.18);
  --grid-line:rgba(15,16,17,.05);
  --edge:rgba(15,16,17,.18);
  --edge-hot:rgba(77,85,198,.55);

  --shadow-1:inset 0 1px 0 rgba(255,255,255,.9), 0 1px 2px rgba(16,17,20,.07);
  --shadow-2:inset 0 1px 0 rgba(255,255,255,.9), 0 6px 18px rgba(16,17,20,.09);
  --shadow-3:inset 0 1px 0 rgba(255,255,255,.95), 0 24px 60px rgba(16,17,20,.14);

  --focus:rgba(58,66,173,.85);
  --header-bg:rgba(252,252,253,.8);
}

/* ---- RESET / BASE ------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--canvas);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:var(--step-0);
  font-weight:400;
  line-height:1.62;
  letter-spacing:var(--tracking-tight);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:510;line-height:1.08;letter-spacing:var(--tracking-display);text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;margin:0}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
::selection{background:var(--edge-hot);color:var(--text)}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:60;
  padding:.7rem 1.1rem;background:var(--elevated);color:var(--text);
  border:1px solid var(--border-2);border-radius:var(--radius-m);box-shadow:var(--shadow-2);
}
.skip-link:focus{left:1rem;top:1rem}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}

.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.mono{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase}

/* ---- motion: exactly three transition types (surface / move / fade) ------ */
.t-surface{transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease)}
.t-move{transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease)}
.t-fade{transition:opacity var(--dur-2) var(--ease)}

/* ---- HEADER ------------------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:40;
  background:var(--header-bg);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--border-1);
}
.header-inner{display:flex;align-items:center;gap:clamp(.6rem,2vw,1.6rem);min-height:60px;padding-block:.5rem}
.brand{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding-inline:.35rem;border-radius:var(--radius-m)}
.brand:hover{color:var(--interactive)}
.brand-mark{width:20px;height:20px;color:var(--interactive)}
.brand-name{font-weight:590;letter-spacing:var(--tracking-tight)}
.site-nav{margin-inline:auto}
.site-nav ul{display:flex;gap:clamp(.2rem,1.4vw,.5rem)}
.site-nav a{
  display:inline-flex;align-items:center;min-height:44px;padding:.35rem .7rem;
  color:var(--text-2);font-size:var(--step--1);font-weight:510;border-radius:var(--radius-m);
}
.site-nav a:hover{color:var(--text);background:var(--surface-2)}
.header-tools{display:flex;align-items:center;gap:.4rem;margin-left:auto}
.lang-switch{display:flex;gap:.15rem;padding:.15rem;border:1px solid var(--border-1);border-radius:var(--radius-m);background:var(--surface-1)}
.lang-switch a{
  display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;
  color:var(--text-2);font-size:var(--step--1);font-weight:510;border-radius:var(--radius-s);
}
.lang-switch a:hover{color:var(--text);background:var(--surface-3)}
.lang-switch a[aria-current="true"]{color:var(--text);background:var(--surface-3);box-shadow:var(--shadow-1)}
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  color:var(--text-2);border:1px solid var(--border-1);border-radius:var(--radius-m);background:var(--surface-1);
}
.theme-toggle:hover{color:var(--text);background:var(--surface-3)}
.theme-icon{width:18px;height:18px}
.theme-icon-sun{display:none}
:root[data-theme="light"] .theme-icon-sun{display:block}
:root[data-theme="light"] .theme-icon-moon{display:none}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]) .theme-icon-sun{display:block}
  :root:not([data-theme="dark"]) .theme-icon-moon{display:none}
}
.nav-toggle{display:none;align-items:center;gap:.4rem;min-height:44px;padding:.35rem .7rem;border:1px solid var(--border-1);border-radius:var(--radius-m);color:var(--text-2)}
.nav-toggle-icon{width:18px;height:18px}

/* ---- HERO --------------------------------------------------------------- */
.hero{position:relative;min-height:68vh;padding-block:clamp(2rem,5vw,4rem) clamp(1.8rem,4.5vw,3.4rem);overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:-20% -10% auto;height:80%;
  background:radial-gradient(60% 70% at 50% 0, var(--glow-1), transparent 70%);
  pointer-events:none;
}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.6rem,4vw,3.4rem);align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.1rem;
  padding:.34rem .7rem .34rem .55rem;border:1px solid var(--border-2);border-radius:999px;
  background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);
  font-size:var(--step--1);letter-spacing:.05em;text-transform:uppercase;
}
.eyebrow svg{width:14px;height:14px;color:var(--interactive)}
.hero h1{font-size:var(--step-4);font-weight:510;max-width:32ch}
.hero-lead{margin-top:clamp(.9rem,2vw,1.35rem);max-width:46ch;color:var(--text-2);font-size:var(--step-1);line-height:1.5;font-weight:400}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.2rem;margin-top:clamp(1.4rem,3vw,2.1rem)}
.btn{
  display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.6rem 1.05rem;
  border-radius:var(--radius-m);font-weight:510;letter-spacing:var(--tracking-tight);
}
.btn svg{width:16px;height:16px}
.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-2)}
.btn-primary:hover{background:var(--interactive-hover);color:var(--text)}
.btn-ghost{border:1px solid var(--border-2);background:var(--surface-1);color:var(--text)}
.btn-ghost:hover{background:var(--surface-3)}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;color:var(--interactive);font-weight:510}
.link-arrow:hover{color:var(--interactive-hover)}
.link-arrow svg{width:16px;height:16px}

/* hero visual anchor (>=30% of hero area): layered gradients + grid + SVG */
.hero-anchor{
  position:relative;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;
  min-height:clamp(480px,44vw,640px);
  border:1px solid var(--border-2);border-radius:var(--radius-xl);
  background:
    radial-gradient(120% 85% at 82% 8%, var(--glow-1), transparent 58%),
    radial-gradient(95% 75% at 8% 100%, var(--glow-2), transparent 55%),
    linear-gradient(180deg, var(--surface-3), transparent 70%),
    var(--panel);
  box-shadow:var(--shadow-3);
  padding:clamp(1.1rem,2.4vw,1.7rem);
}
.hero-anchor::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:44px 44px;
  opacity:.85;
}
.anchor-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-1)}
.anchor-title{font-weight:590;font-size:var(--step--1);letter-spacing:var(--tracking-tight)}
.anchor-badge{
  display:inline-flex;align-items:center;gap:.35rem;padding:.24rem .55rem;border-radius:999px;
  border:1px solid var(--border-2);background:var(--surface-2);color:var(--text-2);
  font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.04em;
}
.anchor-badge svg{width:12px;height:12px;color:var(--interactive)}
.anchor-flow{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem}
.flow-row{
  display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;
  border:1px solid var(--border-1);border-radius:var(--radius-m);
  background:linear-gradient(180deg, var(--surface-3), var(--surface-1));
  box-shadow:var(--shadow-1);font-size:var(--step--1);color:var(--text-2);
}
.flow-row svg{width:16px;height:16px;color:var(--interactive);flex:none}
.flow-row.is-hot{border-color:var(--border-2);color:var(--text)}
.flow-row.is-hot svg{color:var(--interactive-hover)}
.anchor-head,.anchor-flow,.anchor-foot{position:relative;z-index:1}

/* hero product visual: full-bleed payout-dashboard layer behind the panel content
   (weekly payout-volume bars + accrual curve) — provides the graphic mass of the anchor */
.anchor-visual{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.anchor-visual .v-baseline{stroke:var(--border-2);stroke-width:1}
.anchor-visual .v-bar{fill:var(--surface-3);stroke:var(--border-2);stroke-width:1}
.anchor-visual .v-bar-hot{fill:var(--glow-2);stroke:var(--edge-hot);stroke-width:1.2}
.anchor-visual .v-line{fill:none;stroke:var(--edge-hot);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.anchor-visual .v-node{fill:var(--interactive)}
.anchor-visual .v-node-hot{fill:var(--interactive-hover)}
.anchor-foot{margin-top:auto;padding-top:.95rem;border-top:1px solid var(--border-1);color:var(--text-3);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.05em;line-height:1.5}

/* ---- SECTIONS ----------------------------------------------------------- */
.section{padding-block:var(--sec-y);border-top:1px solid var(--border-1)}
.section-head{display:flex;flex-direction:column;gap:.7rem;margin-bottom:clamp(1.6rem,3.4vw,2.6rem)}
.section-head h2{font-size:var(--step-3);font-weight:510;max-width:22ch}
.kicker{color:var(--text-3);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase}
.lede{max-width:60ch;color:var(--text-2)}
.prose{display:flex;flex-direction:column;gap:1rem;max-width:64ch;color:var(--text-2)}
.prose p{font-size:var(--step-0)}

/* metrics strip */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-1);border:1px solid var(--border-1);border-radius:var(--radius-l);overflow:hidden}
.metric{background:var(--panel);padding:clamp(1rem,2.4vw,1.5rem)}
.metric-value{
  display:block;font-size:var(--step-5);font-weight:510;line-height:1;
  letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;
  color:var(--text);
}
.metric-value span{color:var(--interactive);font-size:.5em;vertical-align:.35em;margin-left:.1em}
.metric-label{display:block;margin-top:.6rem;color:var(--text-2);font-size:var(--step--1);line-height:1.45}

/* process steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.6vw,2rem)}
.step{position:relative;padding-top:1.4rem;border-top:1px solid var(--border-2)}
.step::before{content:"";position:absolute;top:-1px;left:0;width:36px;height:2px;background:var(--accent)}
.step-num{display:block;color:var(--text-3);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.14em}
.step h3{margin-top:.7rem;font-size:var(--step-1);font-weight:510}
.step p{margin-top:.45rem;color:var(--text-2);font-size:var(--step--1);line-height:1.55}

/* about + tree layout */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.2rem);align-items:start}
.rail{display:flex;flex-direction:column;gap:.75rem;padding:clamp(1.1rem,2.4vw,1.6rem);border:1px solid var(--border-2);border-radius:var(--radius-l);background:var(--surface-1);box-shadow:var(--shadow-1)}
.rail h3{font-size:var(--step-1);font-weight:510}
.rail p{color:var(--text-2);font-size:var(--step--1);line-height:1.55}

/* program cards */
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.9rem,2vw,1.25rem)}
.card{
  position:relative;display:flex;flex-direction:column;gap:.6rem;
  padding:clamp(1.15rem,2.4vw,1.6rem);
  border:1px solid var(--border-1);border-radius:var(--radius-l);
  background:linear-gradient(180deg, var(--surface-2), var(--surface-1));
  box-shadow:var(--shadow-1);
}
.card:hover{transform:translateY(-3px);border-color:var(--border-2);box-shadow:var(--shadow-3)}
.card-index{color:var(--text-3);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.14em}
.card-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-m);border:1px solid var(--border-2);background:var(--surface-2);color:var(--interactive)}
.card-icon svg{width:18px;height:18px}
.card h3{font-size:var(--step-1);font-weight:510}
.card p{color:var(--text-2);font-size:var(--step--1);line-height:1.6}

/* referral tree figure */
.tree-figure{display:flex;flex-direction:column;gap:1rem;margin:0;padding:clamp(1rem,2.2vw,1.5rem);border:1px solid var(--border-2);border-radius:var(--radius-l);background:var(--surface-1);box-shadow:var(--shadow-2)}
.tree-svg{width:100%;height:auto}
.edge{stroke:var(--edge);stroke-width:1.4;fill:none}
.edge-hot{stroke:var(--edge-hot);stroke-width:1.8;fill:none}
.dot{fill:var(--interactive)}
.dot-hot{fill:var(--interactive-hover)}
.tree-svg .n-box{fill:var(--surface-2);stroke:var(--border-2);stroke-width:1}
.tree-svg .n-box-root{fill:var(--surface-3);stroke:var(--edge-hot)}
.tree-svg .n-label{fill:var(--text);font-family:var(--font-sans);font-size:12px;font-weight:510;letter-spacing:var(--tracking-tight)}
.tree-svg .n-sub{fill:var(--text-3);font-family:var(--font-mono);font-size:9px;letter-spacing:.06em}

.tree-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;color:var(--text-2);font-size:var(--step--1)}
.tree-legend li{display:inline-flex;align-items:center;gap:.45rem}
.tree-legend i{width:16px;height:2px;border-radius:2px;background:var(--edge)}
.tree-legend i.is-hot{background:var(--edge-hot)}
.tree-figure figcaption{color:var(--text-3);font-size:var(--step--1);line-height:1.5;border-top:1px solid var(--border-1);padding-top:.9rem}

/* FAQ */
.accordion{display:flex;flex-direction:column;gap:.6rem}
.accordion details{border:1px solid var(--border-1);border-radius:var(--radius-l);background:var(--surface-1);overflow:hidden}
.accordion details[open]{border-color:var(--border-2);background:var(--surface-2)}
.accordion summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:44px;padding:.95rem 1.1rem;cursor:pointer;font-weight:510;font-size:var(--step-0);
  list-style:none;
}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary:hover{background:var(--surface-2)}
.chev{width:18px;height:18px;flex:none;color:var(--text-3)}
.accordion details[open] .chev{transform:rotate(180deg);color:var(--interactive)}
.answer{padding:0 1.1rem 1.1rem}
.answer p{color:var(--text-2);font-size:var(--step--1);line-height:1.6;max-width:70ch}

/* CTA band */
.cta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(1rem,3vw,2rem);
  padding:clamp(1.4rem,3.4vw,2.3rem);border:1px solid var(--border-2);border-radius:var(--radius-xl);
  background:
    radial-gradient(90% 160% at 100% 0, var(--glow-1), transparent 60%),
    linear-gradient(180deg, var(--surface-3), var(--surface-1)),
    var(--panel);
  box-shadow:var(--shadow-2);
}
.cta h2{font-size:var(--step-2);font-weight:510;max-width:24ch}
.cta p{margin-top:.7rem;color:var(--text-2);font-size:var(--step--1);max-width:52ch}

/* footer */
.site-footer{border-top:1px solid var(--border-1);padding-block:clamp(2rem,4.5vw,3.2rem);background:var(--panel)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(1.4rem,4vw,3rem)}
.footer-brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:590}
.footer-brand svg{width:20px;height:20px;color:var(--interactive)}
.disclaimer{margin-top:.8rem;color:var(--text-3);font-size:var(--step--1);max-width:52ch;line-height:1.55}
.footer-langs{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.footer-langs a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--text-2);font-size:var(--step--1)}
.footer-langs a:hover{color:var(--interactive)}
.footer-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.4rem;margin-top:clamp(1.6rem,3vw,2.4rem);padding-top:1.2rem;border-top:1px solid var(--border-1);color:var(--text-3);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em}

/* language chooser (root) */
.chooser{padding-block:clamp(2.6rem,7vw,5rem)}
.chooser h1{font-size:var(--step-4);font-weight:510}
.chooser .lede{margin-top:1rem}
.lang-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,2.2vw,1.3rem);margin-top:clamp(1.8rem,4vw,2.8rem)}
.lang-card{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:44px;padding:clamp(1.2rem,2.6vw,1.7rem);
  border:1px solid var(--border-1);border-radius:var(--radius-l);
  background:linear-gradient(180deg, var(--surface-2), var(--surface-1));box-shadow:var(--shadow-1);
}
.lang-card:hover{transform:translateY(-3px);border-color:var(--border-2);box-shadow:var(--shadow-3)}
.lang-card strong{display:block;font-size:var(--step-1);font-weight:510}
.lang-card .native{display:block;margin-top:.3rem;color:var(--text-2);font-size:var(--step--1)}
.lang-card .tag{display:block;margin-top:.55rem;color:var(--text-3);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.08em}
.lang-card svg{width:20px;height:20px;flex:none;color:var(--text-3)}
.lang-card:hover svg{color:var(--interactive)}

/* 404 */
.error-wrap{padding-block:clamp(3rem,10vw,7rem);display:flex;flex-direction:column;gap:1.1rem;max-width:60ch}
.error-code{color:var(--text-3);font-family:var(--font-mono);font-size:var(--step-2);letter-spacing:.2em}
.error-wrap h1{font-size:var(--step-3)}
.error-wrap p{color:var(--text-2)}

/* ledger: weekly payout-cycle band — wide data chart over a status row list */
.ledger{margin:0;display:flex;flex-direction:column;gap:clamp(1.1rem,2.6vw,1.8rem);padding:clamp(1.1rem,2.6vw,1.8rem);border:1px solid var(--border-2);border-radius:var(--radius-l);background:var(--surface-1);box-shadow:var(--shadow-2)}
.ledger-chart{position:relative;width:100%;border:1px solid var(--border-1);border-radius:var(--radius-m);background:linear-gradient(180deg,var(--surface-2),transparent 70%),var(--panel);overflow:hidden}
.ledger-svg{display:block;width:100%;height:clamp(150px,17vw,208px)}
.lg-baseline{stroke:var(--border-2);stroke-width:1}
.lg-bar{fill:var(--surface-3);stroke:var(--border-2);stroke-width:1}
.lg-bar-hot{fill:var(--glow-2);stroke:var(--edge-hot);stroke-width:1.2}
.lg-line{fill:none;stroke:var(--edge-hot);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ledger-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem clamp(1rem,3vw,2.6rem)}
.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.6rem 0;border-bottom:1px solid var(--border-1)}
.ledger-stage{color:var(--text);font-size:var(--step--1);font-weight:510}
.ledger-status{flex:none;color:var(--text-2);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.04em;padding:.22rem .6rem;border:1px solid var(--border-1);border-radius:999px;background:var(--surface-2)}
.ledger figcaption{color:var(--text-3);font-size:var(--step--1);line-height:1.5}

/* spec: program terms as a key/value definition list (spec-sheet archetype) */
.spec{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--border-2)}
.spec dt,.spec dd{margin:0}
.spec-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:.35rem clamp(1rem,3vw,2.6rem);padding:clamp(.9rem,2vw,1.15rem) 0;border-bottom:1px solid var(--border-1)}
.spec-key{color:var(--text-2);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.09em;text-transform:uppercase}
.spec-val{color:var(--text);font-size:var(--step-0)}

/* ---- RESPONSIVE --------------------------------------------------------- */
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:1.8rem}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .card-grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .lang-cards{grid-template-columns:1fr}
}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .ledger-rows{grid-template-columns:1fr}
  .spec-row{grid-template-columns:1fr}
  .cta{flex-direction:column;align-items:flex-start}
}
@media (max-width:1024px){
  .site-nav{display:none}
  .site-nav.is-open{
    display:block;position:absolute;left:0;right:0;top:100%;
    padding:.7rem var(--gutter) 1rem;background:var(--elevated);
    border-bottom:1px solid var(--border-1);box-shadow:var(--shadow-3);
  }
  .site-nav.is-open ul{flex-direction:column;gap:.15rem}
  .site-nav.is-open a{width:100%}
  .nav-toggle{display:inline-flex}
}
@media (max-width:700px){
  .lang-switch{display:none}
}

/* ---- REDUCED MOTION ---------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    transition-delay:0s !important;
    scroll-behavior:auto !important;
  }
}
