  :root{
    --bg:        #0A0B0D;
    --surface:   #131518;
    --surface-2: #1B1E22;
    --line:      rgba(242,239,233,0.14);
    --line-soft: rgba(242,239,233,0.07);
    --ink:       #F2EFE9;
    --ink-dim:   #A7A89E;
    --ink-faint: #8F9086;
    --accent:    #DFA34B;
    --accent-2:  #FFC876;
    --accent-ink:#241705;
    --radius:    18px;
    --font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
    --font-body:    "Manrope", ui-sans-serif, system-ui, sans-serif;
    --font-mono:    "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    --ease: cubic-bezier(.16,.8,.24,1);
    color-scheme: dark;
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ background:var(--bg); scroll-behavior:smooth; overflow-x:hidden; overflow-x:clip; }
  body{
    margin:0;
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    overflow-x:clip;
  }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
  }

  /* ---- ambient shooting stars ---- */
  /* Sits as a plain sibling (z-index:0) below the page wrapper (z-index:1) —
     deliberately NOT a negative z-index, so it can never be silently
     re-occluded by a host page's own body/html background layer. */
  .stars-bg{
    position:fixed; inset:0; z-index:0;
    overflow:hidden; pointer-events:none;
    background:var(--bg);
  }
  .page{ position:relative; z-index:1; }
  .shooting-star{
    position:absolute;
    width:3px; height:3px; border-radius:50%;
    background:var(--star-color, var(--accent-2));
    box-shadow:0 0 10px 2px var(--star-color, rgba(255,200,118,.85));
    opacity:0;
    animation:shoot var(--star-dur,5.5s) linear infinite;
    animation-delay:var(--star-delay,0s);
  }
  .shooting-star::before{
    content:"";
    position:absolute; top:50%; left:2px;
    width:var(--star-tail,140px); height:1.5px;
    background:linear-gradient(90deg, var(--star-color, rgba(255,200,118,.8)), transparent);
    transform-origin:left center;
    transform:translateY(-50%) rotate(-42deg);
  }
  @keyframes shoot{
    0%{ transform:translate(0,0); opacity:0; }
    2%{ opacity:1; }
    32%{ transform:translate(-380px,340px); opacity:0; }
    100%{ transform:translate(-380px,340px); opacity:0; }
  }
  @media (prefers-reduced-motion: reduce){
    .shooting-star{ animation:none; opacity:0; }
  }
  @media (max-width:700px){
    .shooting-star{ --star-tail:90px; }
  }

  img,svg{ display:block; max-width:100%; }
  a{ color:inherit; }
  .visually-hidden{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
  :focus-visible{ outline:2px solid var(--accent-2); outline-offset:3px; border-radius:4px; }

  .wrap{ max-width:1180px; margin:0 auto; padding-inline:clamp(20px,5vw,56px); }

  .eyebrow{
    font-family:var(--font-mono);
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--accent);
    display:inline-flex;
    align-items:center;
    gap:.55em;
  }
  .eyebrow::before{
    content:"";
    width:7px; height:7px; border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 3px rgba(223,163,75,.18);
    flex:none;
  }

  h1,h2,h3{
    font-family:var(--font-display);
    font-weight:700;
    letter-spacing:-.01em;
    text-wrap:balance;
    margin:0;
  }
  p{ margin:0; }

  /* ---------- reveal-on-scroll ---------- */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .9s var(--ease), transform .9s var(--ease);
    transition-delay:var(--d,0s);
  }
  .reveal.is-visible{ opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1; transform:none; transition:none; }
  }

  /* ================= NAV ================= */
  header.nav{
    position:fixed; inset:0 0 auto 0; z-index:50;
    display:flex; align-items:center; justify-content:space-between;
    padding:18px clamp(20px,5vw,56px);
    background:rgba(10,11,13,0);
    border-bottom:1px solid transparent;
    transition:background .4s var(--ease), border-color .4s var(--ease);
  }
  header.nav.scrolled{
    background:rgba(10,11,13,.82);
    backdrop-filter:blur(14px);
    border-bottom-color:var(--line-soft);
  }
  .logo{
    font-family:var(--font-display);
    font-weight:800; font-size:1.35rem;
    letter-spacing:-.02em;
    text-decoration:none;
    display:flex; align-items:center; gap:.5em;
  }
  .logo .dot{
    width:9px; height:9px; border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 14px 2px rgba(255,200,118,.65);
  }
  nav.links{
    display:flex; gap:2.2rem;
    font-size:.86rem; font-weight:600;
  }
  nav.links a{ text-decoration:none; color:var(--ink-dim); transition:color .25s; }
  nav.links a:hover{ color:var(--ink); }
  .nav-cta{
    display:flex; align-items:center; gap:.7rem;
  }
  .btn{
    font-family:var(--font-body);
    font-weight:700; font-size:.85rem;
    padding:.75em 1.3em;
    border-radius:999px;
    text-decoration:none;
    display:inline-flex; align-items:center; gap:.5em;
    border:1px solid transparent;
    transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
    white-space:nowrap;
    cursor:pointer;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-solid{
    background:linear-gradient(180deg,var(--accent-2),var(--accent));
    color:var(--accent-ink);
    box-shadow:0 10px 28px -12px rgba(223,163,75,.55);
  }
  .btn-solid:hover{ box-shadow:0 14px 34px -10px rgba(223,163,75,.7); }
  .btn-outline{
    background:transparent;
    border-color:var(--line);
    color:var(--ink);
  }
  .btn-outline:hover{ border-color:var(--accent); color:var(--accent-2); }
  .btn-ghost{
    background:var(--surface-2);
    color:var(--ink-dim);
    font-size:.8rem;
    padding:.6em 1.1em;
  }
  @media (max-width:760px){
    nav.links{ display:none; }
  }
  @media (max-width:380px){
    .nav-cta .btn-ghost{ display:none; }
  }

  /* ================= HERO ================= */
  .hero{
    position:relative;
    padding:calc(96px + 6vw) clamp(20px,5vw,56px) 40px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:clamp(2rem,5vw,4rem);
    align-items:center;
    max-width:1300px;
    margin:0 auto;
    min-height:92vh;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(560px 420px at 82% 18%, rgba(223,163,75,.14), transparent 70%),
      radial-gradient(700px 500px at 10% 90%, rgba(223,163,75,.06), transparent 70%);
    pointer-events:none;
    z-index:0;
  }
  .hero-copy{ position:relative; z-index:1; }
  .hero h1{
    font-size:clamp(2.6rem, 3.4vw + 1.6rem, 5.3rem);
    line-height:.98;
    margin:1.1rem 0 1.4rem;
  }
  .hero h1 em{
    font-style:normal;
    background:linear-gradient(100deg,var(--accent-2),var(--accent) 60%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero p.lede{
    font-size:clamp(1.02rem,.4vw + 1rem,1.2rem);
    color:var(--ink-dim);
    max-width:34rem;
    margin-bottom:2.1rem;
  }
  .hero-ctas{ display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:1.6rem; }
  .hero-meta{
    display:flex; align-items:center; gap:.7rem;
    font-family:var(--font-mono); font-size:.74rem; color:var(--ink-faint);
    letter-spacing:.04em;
  }
  .hero-meta .pulse{
    width:7px; height:7px; border-radius:50%; background:#7CD98A;
    box-shadow:0 0 0 3px rgba(124,217,138,.18);
  }

  /* ---- isometric signature visual ---- */
  .stack-stage{
    position:relative; z-index:1;
    height:clamp(360px,42vw,560px);
    display:flex; align-items:center; justify-content:center;
    perspective:1400px;
  }
  .stack{
    position:relative;
    width:min(78%,360px);
    aspect-ratio:1/1;
    transform-style:preserve-3d;
    transform:rotateX(58deg) rotateZ(42deg);
    will-change:transform;
  }
  .layer{
    position:absolute; inset:0;
    border-radius:22px;
    border:1px solid var(--line);
    background:linear-gradient(155deg,var(--surface-2),var(--surface));
    box-shadow:0 30px 60px -20px rgba(0,0,0,.7);
    transition:transform .3s var(--ease);
  }
  .layer .face-label{
    position:absolute; left:22px; bottom:20px;
    transform:rotateZ(-42deg) rotateX(-58deg);
    font-family:var(--font-mono); font-size:.68rem; letter-spacing:.06em;
    color:var(--ink-faint); text-transform:uppercase; white-space:nowrap;
  }
  .layer-card{
    transform:translateZ(0px);
    background:linear-gradient(150deg,#20180B,#171310);
    border-color:rgba(255,200,118,.28);
  }
  .layer-card::after{
    content:"";
    position:absolute; inset:14px;
    border-radius:14px;
    border:1px dashed rgba(255,200,118,.35);
  }
  .layer-chip{
    width:46%; height:46%; left:27%; top:27%;
    transform:translateZ(64px) rotateZ(0deg);
    background:radial-gradient(circle at 35% 30%, rgba(255,200,118,.35), var(--surface-2) 70%);
    border-color:rgba(255,200,118,.5);
    animation:float-chip 4.6s ease-in-out infinite;
  }
  .layer-chip::before{
    content:"";
    position:absolute; inset:22%;
    border-radius:50%;
    border:2px solid var(--accent-2);
    box-shadow:0 0 30px 4px rgba(255,200,118,.55), inset 0 0 20px rgba(255,200,118,.35);
  }
  .layer-signal{
    width:20%; height:20%; left:40%; top:40%;
    transform:translateZ(140px);
    background:var(--accent-2);
    border-color:var(--accent-2);
    box-shadow:0 0 50px 10px rgba(255,200,118,.55);
    animation:float-signal 4.6s ease-in-out infinite .3s;
  }
  .ripple{
    position:absolute; inset:-10%;
    border-radius:50%;
    border:1.5px solid var(--accent-2);
    opacity:0;
    transform:scale(.3);
    animation:ripple-out 2.6s ease-out infinite;
    pointer-events:none;
  }
  .ripple.r2{ animation-delay:1.3s; }
  @keyframes ripple-out{
    0%{ transform:scale(.3); opacity:.75; }
    70%{ opacity:.12; }
    100%{ transform:scale(2.6); opacity:0; }
  }
  @keyframes float-chip{
    0%,100%{ transform:translateZ(64px) rotateZ(0deg); }
    50%{ transform:translateZ(84px) rotateZ(7deg); }
  }
  @keyframes float-signal{
    0%,100%{ transform:translateZ(140px) scale(1) rotateZ(0deg); opacity:1; }
    50%{ transform:translateZ(180px) scale(1.18) rotateZ(-9deg); opacity:.85; }
  }
  .stack-orbit{
    width:100%; height:100%;
    display:flex; align-items:center; justify-content:center;
    transform-style:preserve-3d;
    animation:orbit-drift 9s ease-in-out infinite;
  }
  @keyframes orbit-drift{
    0%,100%{ transform:translateY(0) rotateZ(0deg); }
    50%{ transform:translateY(-16px) rotateZ(3.5deg); }
  }
  .stage-labels{
    position:absolute; inset:0; z-index:2;
    font-family:var(--font-mono); font-size:.72rem;
    color:var(--ink-dim); pointer-events:none;
  }
  .stage-labels span{
    position:absolute;
    display:flex; align-items:center; gap:.6em;
    background:rgba(19,21,24,.72);
    border:1px solid var(--line);
    padding:.5em .85em;
    border-radius:999px;
    backdrop-filter:blur(6px);
    white-space:nowrap;
    animation:label-bob 4.8s ease-in-out infinite;
  }
  .stage-labels span::before{
    content:""; width:5px; height:5px; border-radius:50%; background:var(--accent-2);
  }
  @keyframes label-bob{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-7px); }
  }
  .lbl-1{ top:8%; left:-4%; animation-delay:0s; }
  .lbl-2{ top:44%; right:-10%; animation-delay:1.2s; }
  .lbl-3{ bottom:6%; left:4%; animation-delay:2.4s; }
  @media (max-width:1020px){
    .hero{ grid-template-columns:1fr; text-align:left; padding-top:132px; min-height:auto;}
    .stack-stage{ margin-top:1.5rem; }
    .lbl-2{ right:2%; }
  }
  @media (max-width:520px){
    .stack-stage{ height:clamp(270px,66vw,330px); }
    .stage-labels span{ font-size:.62rem; padding:.4em .65em; }
    .lbl-1{ left:0; }
  }
  @media (prefers-reduced-motion: reduce){
    .layer-chip,.layer-signal,.stack-orbit,.stage-labels span,.ripple{ animation:none; }
    .ripple{ opacity:0; }
  }

  /* ================= MARQUEE ================= */
  .marquee{
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    background:var(--surface);
    padding:1.1rem 0;
    overflow:hidden;
  }
  .marquee-track{
    display:flex; width:max-content;
    animation:scroll-x 26s linear infinite;
    gap:0;
  }
  @media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }
  .marquee-track span{
    font-family:var(--font-mono);
    font-size:.82rem; letter-spacing:.1em; text-transform:uppercase;
    color:var(--ink-faint);
    padding:0 2.2rem;
    display:flex; align-items:center; gap:2.2rem;
  }
  .marquee-track span b{ color:var(--accent); font-weight:400; }
  @keyframes scroll-x{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

  /* ================= SECTION SHELL ================= */
  section{ position:relative; padding:clamp(64px,10vw,120px) 0; }
  .section-head{ max-width:640px; margin-bottom:clamp(2.4rem,5vw,4rem); }
  .section-head h2{
    font-size:clamp(1.9rem,2.6vw + .9rem,3.1rem);
    margin-top:.9rem;
    line-height:1.08;
  }
  .on-surface{ background:var(--surface); }

  /* ================= STATS ================= */
  .stat-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--line-soft);
    border:1px solid var(--line-soft);
    border-radius:var(--radius);
    overflow:hidden;
  }
  .stat-card{
    background:var(--surface);
    padding:2.1rem 1.6rem;
  }
  .stat-num{
    font-family:var(--font-display); font-weight:800;
    font-size:clamp(2.1rem,3vw,3.2rem);
    color:var(--accent-2);
    display:flex; align-items:baseline; gap:.1em;
    font-variant-numeric:tabular-nums;
  }
  .stat-card p{ margin-top:.6rem; color:var(--ink-dim); font-size:.92rem; line-height:1.45; }
  .stat-source{
    margin-top:1.4rem; font-family:var(--font-mono); font-size:.72rem;
    color:var(--ink-faint);
  }
  .stat-source a{ color:var(--ink-dim); text-decoration:underline; text-underline-offset:3px; }
  @media (max-width:900px){ .stat-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .stat-grid{ grid-template-columns:1fr; } }

  /* ================= HOW IT WORKS ================= */
  .steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:clamp(1.4rem,3vw,2.4rem);
  }
  .step{
    border:1px solid var(--line-soft);
    border-radius:var(--radius);
    padding:2.1rem 1.9rem 2.4rem;
    background:linear-gradient(180deg,var(--surface),transparent);
    position:relative;
    overflow:hidden;
  }
  .step .num{
    font-family:var(--font-mono); font-size:.85rem; color:var(--accent);
    letter-spacing:.08em;
  }
  .step h3{ font-size:1.3rem; margin:1.1rem 0 .7rem; }
  .step p{ color:var(--ink-dim); font-size:.95rem; }
  .step::after{
    content:""; position:absolute; right:-30px; top:-30px;
    width:120px; height:120px; border-radius:50%;
    background:radial-gradient(circle,rgba(223,163,75,.16),transparent 70%);
  }
  @media (max-width:860px){ .steps{ grid-template-columns:1fr; } }

  /* ================= COMPARE ================= */
  .compare{
    display:grid; grid-template-columns:1fr 1fr;
    border:1px solid var(--line-soft); border-radius:var(--radius);
    overflow:hidden;
  }
  .compare > div{ padding:2.2rem clamp(1.4rem,3vw,2.6rem); }
  .compare .neg{ background:var(--surface); }
  .compare .pos{ background:linear-gradient(160deg,rgba(223,163,75,.14),var(--surface-2)); }
  .compare h4{
    font-family:var(--font-mono); font-size:.78rem; letter-spacing:.08em;
    text-transform:uppercase; color:var(--ink-faint); margin-bottom:1rem;
  }
  .compare .pos h4{ color:var(--accent-2); }
  .compare p{ color:var(--ink-dim); font-size:1rem; line-height:1.6; }
  .compare .pos p{ color:var(--ink); }
  @media (max-width:760px){ .compare{ grid-template-columns:1fr; } }

  /* ================= SHOP BAND ================= */
  .shop-band{
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:clamp(1.9rem,4vw,2.8rem);
    background:linear-gradient(160deg,rgba(223,163,75,.14),var(--surface));
    display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.6rem,4vw,3rem);
    align-items:center;
  }
  .shop-band h3{ font-size:clamp(1.3rem,2vw,1.8rem); margin:.9rem 0 .8rem; }
  .shop-band p{ color:var(--ink-dim); font-size:.98rem; line-height:1.6; max-width:30rem; }
  .price-tiers{
    display:flex; flex-direction:column; gap:.7rem;
    border:1px solid var(--line); border-radius:14px;
    background:var(--surface); padding:1.3rem 1.4rem;
  }
  .price-tiers .tier{
    display:flex; justify-content:space-between; align-items:baseline;
    font-family:var(--font-mono); font-size:.86rem; color:var(--ink-dim);
    padding-bottom:.7rem; border-bottom:1px solid var(--line-soft);
  }
  .price-tiers .tier:last-child{ border-bottom:none; padding-bottom:0; }
  .price-tiers .tier b{ color:var(--accent-2); font-size:1.1rem; }
  .price-tiers .tier .best{ color:var(--accent); }
  .shop-ctas{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.4rem; }
  .ship-note{ margin-top:1rem; font-family:var(--font-mono); font-size:.74rem; color:var(--ink-faint); display:flex; align-items:center; gap:.5em; }
  @media (max-width:820px){ .shop-band{ grid-template-columns:1fr; } }

  /* ================= FOUNDING ================= */
  .founding{
    border:1px solid var(--line-soft);
    border-radius:var(--radius);
    padding:clamp(2.2rem,5vw,3.6rem);
    background:
      radial-gradient(600px 300px at 90% -10%, rgba(223,163,75,.16), transparent 70%),
      var(--surface);
    display:grid; grid-template-columns:1.3fr 1fr; gap:2.5rem; align-items:center;
  }
  .founding p{ color:var(--ink-dim); margin-top:1rem; font-size:1.02rem; line-height:1.65; }
  .founding .side{
    border-left:1px solid var(--line-soft);
    padding-left:2rem;
    display:flex; flex-direction:column; gap:1.3rem;
  }
  .founding .side .item{ display:flex; gap:.9rem; }
  .founding .side .item .ico{
    flex:none; width:34px; height:34px; border-radius:9px;
    background:var(--surface-2); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    color:var(--accent-2); font-family:var(--font-mono); font-size:.8rem;
  }
  .founding .side .item h5{ font-size:.95rem; margin:0 0 .2rem; font-family:var(--font-body); font-weight:700; }
  .founding .side .item p{ margin:0; font-size:.85rem; color:var(--ink-faint); }
  @media (max-width:820px){
    /* !important needed here only because the contact section reuses .founding
       with an inline style (grid-template-columns:1.1fr .9fr) that would
       otherwise keep its two columns side-by-side and overlapping below 820px. */
    .founding{ grid-template-columns:1fr !important; }
    .founding .side{ border-left:none; padding-left:0; border-top:1px solid var(--line-soft); padding-top:1.6rem; }
  }

  /* ================= ROADMAP ================= */
  .roadmap-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem;
  }
  .road-card{
    border:1px solid var(--line-soft); border-radius:16px;
    padding:1.6rem 1.4rem; background:var(--surface);
    min-height:190px; display:flex; flex-direction:column; justify-content:space-between;
  }
  .road-card.live{
    border-color:rgba(255,200,118,.45);
    background:linear-gradient(160deg,rgba(223,163,75,.14),var(--surface));
  }
  .road-tag{
    font-family:var(--font-mono); font-size:.66rem; letter-spacing:.08em;
    text-transform:uppercase; padding:.35em .7em; border-radius:999px;
    width:fit-content;
    background:var(--surface-2); color:var(--ink-faint); border:1px solid var(--line);
  }
  .road-card.live .road-tag{ background:var(--accent); color:var(--accent-ink); border-color:transparent; }
  .road-card h4{ font-family:var(--font-body); font-size:1.05rem; margin:1rem 0 .3rem; }
  .road-card p{ font-size:.86rem; color:var(--ink-faint); }
  @media (max-width:900px){ .roadmap-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){
    .roadmap-grid{ grid-template-columns:repeat(2,1fr); gap:.7rem; }
    .road-card{ padding:1.15rem 1.05rem; min-height:172px; border-radius:14px; }
    .road-card h4{ font-size:.96rem; margin:.8rem 0 .25rem; }
    .road-card p{ font-size:.78rem; line-height:1.4; }
    .road-tag{ font-size:.6rem; padding:.3em .6em; }
  }

  /* ---- waitlist ---- */
  .waitlist{
    margin-top:2.4rem;
    display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.6rem,4vw,3rem);
    border:1px solid var(--line); border-radius:var(--radius);
    padding:clamp(1.9rem,4vw,2.8rem);
    background:linear-gradient(160deg,rgba(223,163,75,.12),var(--surface));
  }
  .waitlist-copy h3{ font-size:clamp(1.3rem,2vw,1.7rem); margin:.9rem 0 .8rem; font-family:var(--font-display); }
  .waitlist-copy p{ color:var(--ink-dim); font-size:.96rem; line-height:1.6; max-width:26rem; }
  .waitlist-form{ display:flex; flex-direction:column; gap:1rem; }
  .wl-row{ display:flex; gap:.8rem; flex-wrap:wrap; }
  .wl-row input{
    flex:1; min-width:150px; background:var(--bg); border:1px solid var(--line);
    color:var(--ink); border-radius:10px; padding:.75em .9em;
    font-family:var(--font-body); font-size:.94rem;
  }
  .wl-row input:focus{ border-color:var(--accent); }
  .wl-check{
    display:flex; gap:1.3rem; flex-wrap:wrap;
    font-size:.82rem; color:var(--ink-dim); font-family:var(--font-mono);
  }
  .wl-check label{ display:flex; align-items:center; gap:.5em; cursor:pointer; }
  .wl-check input[type="checkbox"]{ accent-color:var(--accent); width:15px; height:15px; }
  @media (max-width:820px){ .waitlist{ grid-template-columns:1fr; } }

  /* ================= CONTACT ================= */
  .phone-big{
    display:inline-flex; align-items:baseline; gap:.5rem;
    font-family:var(--font-mono); font-weight:700;
    font-size:clamp(1.5rem,3vw,2.1rem);
    color:var(--accent-2);
    text-decoration:none;
    margin:1.2rem 0 1.4rem;
    letter-spacing:-.01em;
  }

  .lead-form{
    background:var(--surface); border:1px solid var(--line);
    border-radius:16px; padding:1.8rem;
    display:flex; flex-direction:column; gap:1rem;
  }
  .lead-form h3{ font-size:1.05rem; font-family:var(--font-body); }
  .lead-form label{ font-size:.78rem; color:var(--ink-faint); display:block; margin-bottom:.4rem; font-family:var(--font-mono); letter-spacing:.03em; }
  .lead-form input, .lead-form textarea{
    width:100%; background:var(--bg); border:1px solid var(--line);
    color:var(--ink); border-radius:10px; padding:.75em .9em;
    font-family:var(--font-body); font-size:.94rem;
  }
  .lead-form input:focus, .lead-form textarea:focus{ border-color:var(--accent); }
  .lead-form textarea{ resize:vertical; min-height:70px; }
  .lead-form .btn{ justify-content:center; margin-top:.2rem; }
  .lead-status{ font-size:.8rem; color:var(--ink-faint); min-height:1.2em; }

  /* ================= FOOTER ================= */
  footer{
    border-top:1px solid var(--line-soft);
    padding:2.6rem 0 3rem;
  }
  .footer-row{
    display:flex; justify-content:space-between; align-items:flex-start;
    flex-wrap:wrap; gap:1.4rem;
  }
  .footer-brand .logo{ margin-bottom:.6rem; }
  footer p{ color:var(--ink-faint); font-size:.82rem; max-width:26rem; line-height:1.6; }
  .footer-links{ display:flex; gap:2.2rem; font-size:.85rem; }
  .footer-links a{ text-decoration:none; color:var(--ink-dim); white-space:nowrap; }
  .fine{ margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--line-soft); font-size:.76rem; color:var(--ink-faint); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; }

  /* ================= MOBILE TIGHTENING ================= */
  @media (max-width:600px){
    .footer-links{ flex-wrap:wrap; row-gap:.7rem; column-gap:1.3rem; }
  }
  @media (max-width:560px){
    .step{ padding:1.7rem 1.5rem 2rem; }
    .stat-card{ padding:1.7rem 1.4rem; }
    .founding{ padding:1.9rem 1.4rem; }
    .founding .side{ gap:1.1rem; }
    .waitlist{ padding:1.6rem 1.3rem; margin-top:1.9rem; }
    .lead-form{ padding:1.4rem; }
  }

  /* Mobile/tablet only: bump form-field text to 16px so iOS Safari doesn't
     zoom the page in on focus. Scoped to touch-width breakpoints so desktop
     rendering (font-size:.94rem) is byte-for-byte unchanged above 1024px. */
  @media (max-width:1024px){
    .wl-row input,
    .lead-form input, .lead-form textarea{
      font-size:16px;
    }
  }
