
  :root{
    --ink:#0C0D0E; --surface:#141618; --raised:#1B1E21;
    --gun:#2A2F33; --gun6:#53595F; --gun4:#8A9199; --gun2:#C9CDD1;
    --paper:#F2F3F4; --od:#3C4A28; --od-lift:#4A5C31; --olive:#93AC55;
    --display:"Saira Condensed","Oswald","Arial Narrow",sans-serif;
    --body:"Source Serif 4",Georgia,"Times New Roman",serif;
    --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
    --edge:clamp(1.15rem,5vw,4rem);
    --max:1180px;
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--ink); color:var(--gun2);
    font-family:var(--body); font-size:17px; line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{max-width:100%;}
  h1,h2,h3,h4,.eyebrow,.nav a,.btn,.stat-n,th{font-family:var(--display); text-wrap:balance;}
  h1,h2,h3,h4{color:var(--paper); margin:0; text-transform:uppercase; line-height:1.02; font-weight:800;}
  h1{font-size:clamp(2.6rem,7.5vw,5rem); letter-spacing:-.005em;}
  h2{font-size:clamp(1.7rem,4vw,2.6rem); font-weight:700;}
  h3{font-size:1.25rem; font-weight:700; letter-spacing:.03em;}
  h4{font-size:1rem; font-weight:700; letter-spacing:.06em;}
  p{margin:0; max-width:68ch;}
  a{color:var(--olive); text-underline-offset:3px; text-decoration-thickness:1px;}
  a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{
    outline:2px solid var(--olive); outline-offset:3px;
  }
  .eyebrow{
    font-family:var(--mono); font-size:.68rem; font-weight:500; letter-spacing:.2em;
    text-transform:uppercase; color:var(--olive); margin:0;
  }
  .eyebrow.dim{color:var(--gun4);}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 var(--edge);}
  .stack{display:flex; flex-direction:column;}

  /* ---------- masthead ---------- */
  .top{
    position:sticky; top:0; z-index:50; background:rgba(12,13,14,.94);
    backdrop-filter:blur(8px); border-bottom:1px solid var(--gun);
  }
  .top-in{
    max-width:var(--max); margin:0 auto; padding:.85rem var(--edge);
    display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  }
  .lockup{height:52px; width:auto; display:block;}
  .brand{background:none; border:0; padding:0; cursor:pointer; display:block;}
  .nav{display:flex; align-items:center; gap:.15rem; flex-wrap:wrap;}
  .nav a{
    font-size:.85rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
    color:var(--gun4); text-decoration:none; padding:.5rem .8rem; border:1px solid transparent;
  }
  .nav a:hover{color:var(--paper);}
  .nav a.on{color:var(--paper); border-color:var(--gun);}
  .nav a.give{color:var(--paper); background:var(--od); border-color:var(--od-lift);}
  .nav a.give:hover{background:var(--od-lift);}

  @media (max-width:760px){
    .top{position:static;}
    .top-in{flex-direction:column; align-items:stretch; gap:.75rem; padding-bottom:.7rem;}
    .lockup{height:42px;}
    .nav{gap:.3rem; flex-wrap:nowrap; justify-content:space-between;}
    .nav a{font-size:.72rem; letter-spacing:.08em; padding:.45rem .55rem;}
  }

  /* ---------- page mechanics ---------- */
  .page{display:none; animation:in .25s ease-out;}
  .page.on{display:block;}
  @keyframes in{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}
  @media (prefers-reduced-motion:reduce){
    .page{animation:none;} html{scroll-behavior:auto;}
  }
  section{padding:clamp(3rem,7vw,5.5rem) 0; border-bottom:1px solid var(--gun);}
  section:last-of-type{border-bottom:0;}
  .sec-head{display:flex; flex-direction:column; gap:.7rem; margin-bottom:2.4rem;}
  .lede{font-size:1.15rem; color:var(--gun2);}

  /* ---------- hero ---------- */
  .hero{
    border-bottom:1px solid var(--gun);
    padding:clamp(3.5rem,9vw,7rem) 0 clamp(3rem,7vw,5rem);
    position:relative; overflow:hidden;
  }
  .hero::after{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:
      repeating-linear-gradient(90deg, rgba(42,47,51,.5) 0 1px, transparent 1px 96px);
    mask-image:linear-gradient(180deg, rgba(0,0,0,.5), transparent 70%);
    -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.5), transparent 70%);
  }
  .hero .wrap{position:relative; z-index:1;}
  .hero h1{margin:1.1rem 0 0; max-width:16ch;}
  .hero .sub{margin-top:1.6rem; font-size:1.2rem; max-width:56ch;}
  .rule-od{width:64px; height:5px; background:var(--od); }

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; gap:.6rem; cursor:pointer;
    font-size:.9rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
    padding:.9rem 1.5rem; border:1px solid transparent; text-decoration:none;
    font-family:var(--display);
  }
  .btn-primary{background:var(--od); color:var(--paper); border-color:var(--od-lift);}
  .btn-primary:hover{background:var(--od-lift);}
  .btn-ghost{background:transparent; color:var(--gun2); border-color:var(--gun6);}
  .btn-ghost:hover{color:var(--paper); border-color:var(--gun4);}
  .btn-row{display:flex; gap:.75rem; flex-wrap:wrap; margin-top:2.2rem;}

  /* ---------- doors ---------- */
  .doors{display:grid; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  @media(min-width:760px){.doors{grid-template-columns:1fr 1fr;}}
  .door{
    background:var(--surface); padding:clamp(1.5rem,3.5vw,2.4rem);
    display:flex; flex-direction:column; gap:.9rem; align-items:flex-start;
    border:0; text-align:left; cursor:pointer; font:inherit; color:inherit;
    transition:background .15s;
  }
  .door:hover{background:var(--raised);}
  .door .punch{width:38px; height:38px;}
  .door h3{font-size:1.6rem;}
  .door p{color:var(--gun4); font-size:.98rem;}
  .door .go{font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; color:var(--olive); text-transform:uppercase; margin-top:.3rem;}

  /* ---------- timeline ---------- */
  .tl{display:grid; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  @media(min-width:700px){.tl{grid-template-columns:repeat(4,1fr);}}
  .tl-i{background:var(--surface); padding:1.4rem 1.35rem; display:flex; flex-direction:column; gap:.5rem;}
  .tl-i.now{background:var(--raised); border-top:3px solid var(--od);}
  .tl-d{font-family:var(--mono); font-size:.76rem; letter-spacing:.1em; color:var(--olive); font-variant-numeric:tabular-nums;}
  .tl-i.past .tl-d{color:var(--gun6);}
  .tl-t{font-family:var(--display); text-transform:uppercase; font-weight:700; color:var(--paper); font-size:1.08rem; letter-spacing:.03em; line-height:1.1;}
  .tl-b{font-size:.92rem; color:var(--gun4);}

  /* ---------- generic panel grid ---------- */
  .grid{display:grid; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  .g2{grid-template-columns:1fr;} @media(min-width:720px){.g2{grid-template-columns:1fr 1fr;}}
  .g3{grid-template-columns:1fr;} @media(min-width:720px){.g3{grid-template-columns:repeat(3,1fr);}}
  .cell{background:var(--surface); padding:1.5rem 1.5rem 1.7rem; display:flex; flex-direction:column; gap:.6rem;}
  .cell p{color:var(--gun4); font-size:.96rem;}
  .cell .num{font-family:var(--mono); font-size:.7rem; letter-spacing:.18em; color:var(--gun6);}

  /* ---------- steps ---------- */
  .steps{display:flex; flex-direction:column; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  .step{background:var(--surface); padding:1.5rem clamp(1.25rem,3vw,2rem); display:grid; gap:.55rem 1.8rem;}
  @media(min-width:800px){.step{grid-template-columns:4.5rem 1fr;}}
  .step .n{font-family:var(--mono); font-size:.78rem; color:var(--olive); letter-spacing:.1em; padding-top:.35rem;}
  .step p{color:var(--gun4); font-size:.97rem;}

  /* ---------- notice ---------- */
  .notice{
    border:1px solid var(--od); border-left-width:4px; background:var(--surface);
    padding:1.3rem 1.5rem; display:flex; flex-direction:column; gap:.5rem;
  }
  .notice p{font-size:.97rem;}
  .notice.warn{border-color:var(--gun6);}
  strong{color:var(--paper); font-weight:600;}

  /* ---------- board ---------- */
  .board{display:grid; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  @media(min-width:640px){.board{grid-template-columns:repeat(2,1fr);}}
  @media(min-width:1000px){.board{grid-template-columns:repeat(3,1fr);}}
  .bm{background:var(--surface); padding:1.5rem; display:flex; flex-direction:column; gap:.75rem;}
  .bm .av{
    width:64px; height:64px; border:1px solid var(--gun6); display:grid; place-items:center;
    font-family:var(--mono); font-size:.66rem; color:var(--gun6); letter-spacing:.08em;
  }
  .bm .nm{font-family:var(--display); font-size:1.25rem; font-weight:700; text-transform:uppercase; color:var(--paper); letter-spacing:.03em;}
  .bm .rl{font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--olive);}
  .bm p{font-size:.92rem; color:var(--gun4);}
  .bm.tbd .nm{color:var(--gun6);}

  /* ---------- screener ---------- */
  .screener{border:1px solid var(--gun); background:var(--surface);}
  .q{padding:1.5rem clamp(1.25rem,3vw,2rem); border-bottom:1px solid var(--gun);}
  .q:last-of-type{border-bottom:0;}
  .q-h{display:flex; gap:1rem; align-items:baseline; margin-bottom:1rem;}
  .q-n{font-family:var(--mono); font-size:.74rem; color:var(--olive); letter-spacing:.1em; flex:0 0 auto;}
  .q-t{font-family:var(--display); font-size:1.2rem; font-weight:700; color:var(--paper); text-transform:uppercase; letter-spacing:.03em; line-height:1.15;}
  .opts{display:flex; flex-wrap:wrap; gap:.55rem;}
  .opt{
    font-family:var(--mono); font-size:.82rem; cursor:pointer; color:var(--gun2);
    background:transparent; border:1px solid var(--gun6); padding:.6rem 1rem; text-align:left;
  }
  .opt:hover{border-color:var(--gun4); color:var(--paper);}
  .opt[aria-pressed="true"]{background:var(--od); border-color:var(--olive); color:var(--paper);}
  .result{margin-top:1.5rem; padding:1.5rem clamp(1.25rem,3vw,2rem); border:1px solid var(--od); border-left-width:4px; background:var(--raised);}
  .result[hidden]{display:none;}
  .result .rt{font-family:var(--display); font-size:1.35rem; font-weight:700; text-transform:uppercase; color:var(--paper); letter-spacing:.03em; margin-bottom:.6rem;}
  .result.stop{border-color:var(--gun6);}
  .result.wait{border-color:var(--gun4);}

  /* ---------- form ---------- */
  form{display:grid; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  .fr{background:var(--surface); padding:1.15rem 1.4rem; display:flex; flex-direction:column; gap:.45rem;}
  @media(min-width:720px){.f2{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--gun);}}
  label{font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gun4);}
  input,select,textarea{
    background:var(--ink); border:1px solid var(--gun); color:var(--paper);
    font-family:var(--body); font-size:1rem; padding:.7rem .8rem; width:100%;
  }
  input:hover,select:hover,textarea:hover{border-color:var(--gun6);}
  textarea{min-height:110px; resize:vertical;}
  .fsub{background:var(--surface); padding:1.4rem;}

  /* ---------- give ---------- */
  .amts{display:grid; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  @media(min-width:640px){.amts{grid-template-columns:repeat(2,1fr);}}
  @media(min-width:960px){.amts{grid-template-columns:repeat(3,1fr);}}
  .amt{
    background:var(--surface); border:0; cursor:pointer; text-align:left; font:inherit; color:inherit;
    padding:1.4rem 1.5rem; display:flex; flex-direction:column; gap:.4rem; transition:background .15s;
    border-top:3px solid transparent;
  }
  .amt:hover{background:var(--raised);}
  .amt[aria-pressed="true"]{background:var(--raised); border-top-color:var(--od);}
  .amt .v{font-family:var(--display); font-size:2rem; font-weight:800; color:var(--paper); line-height:1; font-variant-numeric:tabular-nums;}
  .amt[aria-pressed="true"] .v{color:var(--olive);}
  .amt .w{font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--olive);}
  .amt p{font-size:.93rem; color:var(--gun4);}
  .give-bar{
    margin-top:1.4rem; border:1px solid var(--gun); background:var(--surface);
    padding:1.3rem 1.5rem; display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem;
  }
  .give-bar .sum{font-family:var(--mono); font-size:.9rem; color:var(--gun2);}
  .give-bar .sum b{color:var(--olive); font-weight:600;}
  .toggle{display:flex; align-items:center; gap:.6rem; font-family:var(--mono); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gun4); cursor:pointer;}
  .toggle input{width:auto; accent-color:var(--od);}

  /* ---------- stats ---------- */
  .stats{display:grid; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  @media(min-width:640px){.stats{grid-template-columns:repeat(3,1fr);}}
  .stat{background:var(--surface); padding:1.5rem; display:flex; flex-direction:column; gap:.35rem;}
  .stat-n{font-size:2.6rem; font-weight:800; color:var(--olive); line-height:1; font-variant-numeric:tabular-nums;}
  .stat-l{font-family:var(--mono); font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; color:var(--gun4);}
  .stat-b{font-size:.92rem; color:var(--gun4);}

  /* ---------- lists ---------- */
  ul.checks{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.7rem;}
  ul.checks li{display:grid; grid-template-columns:1.4rem 1fr; gap:.7rem; font-size:.97rem; color:var(--gun4);}
  ul.checks li::before{content:""; width:11px; height:11px; background:var(--od); margin-top:.5rem;}


  /* ---------- alternating ground ---------- */
  section.alt{background:var(--surface);}

  /* ---------- ghost mark ---------- */
  .ghost{
    position:absolute; right:-9%; top:50%; transform:translateY(-50%);
    width:min(46vw,560px); height:auto; opacity:.055; pointer-events:none; z-index:0;
  }
  @media(max-width:820px){.ghost{right:-28%; opacity:.04;}}

  /* ---------- asymmetric split ---------- */
  .split{display:grid; gap:2.5rem;}
  @media(min-width:900px){.split{grid-template-columns:5fr 6fr; gap:3.5rem;}}
  .split-a{display:flex; flex-direction:column; gap:1.1rem;}
  .split-a h2{font-size:clamp(1.8rem,3.6vw,2.7rem);}

  /* ---------- grounds list ---------- */
  .grounds{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
  .grounds li{
    display:grid; grid-template-columns:2rem 1fr; gap:1rem; align-items:start;
    padding:.85rem 0; border-bottom:1px solid var(--gun);
  }
  .grounds li:first-child{padding-top:0;}
  .grounds li:last-child{border-bottom:0;}
  .grounds .oct{
    width:22px; height:22px; margin-top:.38rem;
    background:var(--od);
    clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);
  }
  .grounds li.key .oct{background:var(--olive);}
  .grounds b{display:block; font-family:var(--display); font-weight:700; text-transform:uppercase;
             letter-spacing:.03em; color:var(--paper); font-size:1.02rem; line-height:1.2;}
  .grounds li.key b{color:var(--olive);}
  .grounds span{display:block; font-size:.92rem; color:var(--gun4); margin-top:.2rem;}

  /* ---------- struck band ---------- */
  .band{position:relative; overflow:hidden; background:var(--od); padding:clamp(2.4rem,6vw,4rem) 0; border-top:1px solid var(--od-lift); border-bottom:1px solid var(--od-lift);}
  .band .wrap{position:relative; z-index:1;}
  .band .ghost{opacity:.10; right:2%;}
  .band-k{font-family:var(--mono); font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:#C6D5A2;}
  .band-t{
    font-family:var(--display); font-weight:800; text-transform:uppercase; color:var(--paper);
    font-size:clamp(1.8rem,5vw,3.4rem); line-height:1.02; margin-top:.9rem; max-width:22ch;
  }
  .band-s{margin-top:1.2rem; color:#DCE6C6; font-size:1.05rem; max-width:60ch;}

  /* ---------- consequence strip ---------- */
  .conseq{display:grid; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  @media(min-width:620px){.conseq{grid-template-columns:repeat(2,1fr);}}
  @media(min-width:1000px){.conseq{grid-template-columns:repeat(4,1fr);}}
  .cq{background:var(--surface); padding:1.5rem 1.4rem; display:flex; flex-direction:column; gap:.55rem;}
  section.alt .cq{background:var(--ink);}
  .cq h3{font-size:1.08rem;}
  .cq p{font-size:.92rem; color:var(--gun4);}

  /* ---------- process diagram ---------- */
  .flow{overflow-x:auto; border:1px solid var(--gun); background:var(--surface); padding:1.6rem 1.4rem;}
  .flow svg{min-width:940px; width:100%; height:auto; display:block;}

  /* ---------- standard callout ---------- */
  .standard{
    border:1px solid var(--gun); background:var(--surface); padding:clamp(1.5rem,3.5vw,2.4rem);
    display:flex; flex-direction:column; gap:1rem;
  }
  .standard .q{
    font-family:var(--body); font-size:clamp(1.15rem,2.4vw,1.5rem); line-height:1.45;
    color:var(--paper); border-left:4px solid var(--od); padding-left:1.3rem; max-width:56ch;
  }
  .standard .attr{font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gun6);}

  /* ---------- tiers ---------- */
  .tiers{display:flex; flex-direction:column; gap:1px; background:var(--gun); border:1px solid var(--gun);}
  .tier{background:var(--surface); padding:1.4rem clamp(1.2rem,3vw,1.9rem); display:grid; gap:.7rem 2rem;}
  @media(min-width:860px){.tier{grid-template-columns:12rem 1fr;}}
  .tier-h{display:flex; flex-direction:column; gap:.35rem;}
  .tier-c{font-family:var(--display); font-size:1.6rem; font-weight:800; color:var(--paper); text-transform:uppercase; line-height:1;}
  .tier-l{font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--olive);}
  .tier.p3{border-left:4px solid #6E2F2F;} .tier.p2{border-left:4px solid var(--od-lift);} .tier.p1{border-left:4px solid var(--gun6);}
  .tier p{font-size:.95rem; color:var(--gun4);}
  .tier .ex{font-family:var(--mono); font-size:.85rem; color:var(--gun2); line-height:1.9;}

  /* ---------- big number ---------- */
  .bignum{
    font-family:var(--display); font-weight:800; font-size:clamp(4rem,13vw,9rem);
    line-height:.82; color:var(--od); letter-spacing:-.02em; font-variant-numeric:tabular-nums;
  }
  .bignum-row{display:grid; gap:1.6rem; align-items:center;}
  @media(min-width:760px){.bignum-row{grid-template-columns:auto 1fr; gap:2.6rem;}}

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--gun); padding:clamp(2.5rem,5vw,3.5rem) 0 3rem; background:var(--ink);}
  .foot-grid{display:flex; flex-wrap:wrap; gap:2rem 3rem; justify-content:space-between; align-items:flex-start;}
  .disclose{
    margin-top:2.2rem; padding-top:1.4rem; border-top:1px solid var(--gun);
    font-family:var(--mono); font-size:.74rem; line-height:1.9; color:var(--gun6); max-width:76ch;
  }
  .disclose b{color:var(--gun4); font-weight:500;}
  .seal{width:44px; height:44px;}
  .punch{width:44px; height:44px;}
  .protobar{
    background:var(--od); color:var(--paper); font-family:var(--mono);
    font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; text-align:center;
    padding:.5rem 1rem;
  }
  .scroll{overflow-x:auto;}

  /* =================================================================
     Additions for the deployed multi-page site
     ================================================================= */

  /* skip link */
  .skip{
    position:absolute; left:-9999px; top:0; z-index:200;
    background:var(--od); color:var(--paper); padding:.7rem 1.1rem;
    font-family:var(--display); font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.82rem;
  }
  .skip:focus{left:.6rem; top:.6rem;}

  /* prototype bar is gone in production */
  .protobar{display:none;}

  /* mobile nav toggle */
  .navtoggle{
    display:none; background:transparent; border:1px solid var(--gun6); color:var(--gun2);
    font-family:var(--display); font-weight:700; letter-spacing:.12em; text-transform:uppercase;
    font-size:.76rem; padding:.5rem .8rem; cursor:pointer;
  }
  .navtoggle:hover{color:var(--paper); border-color:var(--gun4);}
  @media (max-width:760px){
    .top-in{flex-direction:row; align-items:center; gap:1rem; padding-bottom:.85rem;}
    .navtoggle{display:block;}
    .nav{
      display:none; position:absolute; left:0; right:0; top:100%;
      flex-direction:column; align-items:stretch; gap:0;
      background:var(--ink); border-top:1px solid var(--gun); border-bottom:1px solid var(--gun);
      padding:.4rem var(--edge) .8rem;
    }
    .nav.open{display:flex;}
    .nav a{padding:.85rem .2rem; font-size:.86rem; letter-spacing:.12em; border:0; border-bottom:1px solid var(--gun);}
    .nav a:last-child{border-bottom:0;}
    .nav a.give{margin-top:.7rem; text-align:center; padding:.85rem; border:1px solid var(--od-lift);}
    .top{position:relative;}
  }

  /* ---------- donation popup ---------- */
  .pop-veil{
    position:fixed; inset:0; z-index:120; display:none;
    background:rgba(6,7,8,.86); padding:1.2rem;
    align-items:center; justify-content:center;
  }
  .pop-veil.open{display:flex;}
  .pop{
    position:relative; width:100%; max-width:560px; max-height:90vh; overflow-y:auto;
    background:var(--surface); border:1px solid var(--gun6); border-top:5px solid var(--od);
    padding:clamp(1.5rem,4vw,2.4rem);
    animation:popin .28s cubic-bezier(.2,.7,.3,1);
  }
  @keyframes popin{from{opacity:0; transform:translateY(14px) scale(.985);} to{opacity:1; transform:none;}}
  @media (prefers-reduced-motion:reduce){ .pop{animation:none;} }
  .pop .pop-mark{width:46px; height:46px; display:block; margin-bottom:1.1rem;}
  .pop h2{font-size:clamp(1.5rem,4vw,2.05rem); margin-bottom:.8rem;}
  .pop p{font-size:1rem; color:var(--gun2);}
  .pop .fine{font-size:.86rem; color:var(--gun4); margin-top:.9rem;}
  .pop-close{
    position:absolute; top:.55rem; right:.55rem; width:38px; height:38px;
    background:transparent; border:1px solid transparent; color:var(--gun4);
    font-size:1.5rem; line-height:1; cursor:pointer; font-family:var(--mono);
  }
  .pop-close:hover{color:var(--paper); border-color:var(--gun);}
  .pop-amts{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--gun); border:1px solid var(--gun); margin:1.4rem 0 1.1rem;}
  @media(min-width:460px){.pop-amts{grid-template-columns:repeat(4,1fr);}}
  .pop-amt{
    background:var(--ink); border:0; border-top:3px solid transparent; cursor:pointer; padding:.9rem .5rem;
    font-family:var(--display); font-weight:800; font-size:1.35rem; color:var(--gun2);
    font-variant-numeric:tabular-nums;
  }
  .pop-amt:hover{background:var(--raised); color:var(--paper);}
  .pop-amt[aria-pressed="true"]{background:var(--raised); color:var(--olive); border-top-color:var(--od);}
  .pop-actions{display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; margin-top:.4rem;}
  .pop-later{
    background:transparent; border:0; cursor:pointer; color:var(--gun4);
    font-family:var(--mono); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase;
    padding:.7rem .2rem; text-decoration:underline; text-underline-offset:3px;
  }
  .pop-later:hover{color:var(--gun2);}
  body.pop-lock{overflow:hidden;}

  /* ---------- form validation ---------- */
  .field-err{
    font-family:var(--mono); font-size:.72rem; letter-spacing:.06em;
    color:#E2A0A0; margin-top:.2rem;
  }
  input[aria-invalid="true"], textarea[aria-invalid="true"]{border-color:#8A4444;}
  .formnote{
    font-family:var(--mono); font-size:.74rem; color:var(--gun6);
    letter-spacing:.05em; line-height:1.8; margin-top:1rem;
  }

  /* ---------- thank you ---------- */
  .center-page{
    min-height:62vh; display:flex; flex-direction:column; justify-content:center;
    padding:clamp(3rem,10vw,6rem) 0;
  }

  /* ---------- submit status ---------- */
  .submit-status{
    border:1px solid var(--gun6); border-left:4px solid #8A4444;
    background:var(--ink); padding:1rem 1.2rem; margin-bottom:1.2rem;
  }
  .submit-status[hidden]{display:none;}
  .submit-status b{
    display:block; font-family:var(--display); font-weight:700; text-transform:uppercase;
    letter-spacing:.04em; color:var(--paper); font-size:1.05rem; margin-bottom:.4rem;
  }
  .submit-status p{font-size:.94rem; color:var(--gun4);}
  .submit-status.busy{border-left-color:var(--od);}

  /* ---------- the pitch ---------- */
  .pitch{
    margin-top:2.6rem; padding:clamp(2.2rem,5vw,3.4rem) clamp(1.4rem,4vw,3rem);
    border:1px solid var(--gun); border-left:5px solid var(--od);
    background:var(--surface);
    display:flex; flex-direction:column; gap:1.1rem;
  }
  .pitch-line{
    font-family:var(--display); font-weight:800; text-transform:uppercase;
    font-size:clamp(1.7rem,4.6vw,3.1rem); line-height:1.02; letter-spacing:.005em;
    color:var(--paper); max-width:24ch;
  }
  .pitch-turn{
    font-family:var(--display); font-weight:800; text-transform:uppercase;
    font-size:clamp(1.7rem,4.6vw,3.1rem); line-height:1.02; letter-spacing:.005em;
    color:var(--olive); max-width:24ch;
  }
