/* ==========================================================================
   DR. LEE ADHD SUCCESS
   Palette "warm signal": warm bone ground, plum structure, marigold action,
   teal calm. Colour is SEMANTIC here, which is the point for an ADHD reader:
     plum     = brand, structure, headings, "who"
     marigold = action. Every primary CTA. Nothing else is ever this colour.
     teal     = calm, method, the short-version boxes and the process
   Type: Bricolage Grotesque display / Lexend body (research backed for ADHD
   readers) / IBM Plex Mono for labels.
   ========================================================================== */

:root{
  --paper:#FDF8F2; --paper-2:#F6EDE1; --paper-3:#EDE0CF;
  --ink:#2B1F2D;   --ink-2:#574A5C;   --ink-3:#665A6A;
  --rule:#E2D3C2;
  --plum:#6B2D5B;  --plum-soft:#F4E3EE;
  --gold:#875000;  --gold-soft:#FBEBCD; --gold-btn:#F5A623; --gold-btn-h:#E5941A;
  --teal:#0F625B;  --teal-soft:#DFEDEA;
  --on-gold:#2B1F2D; --on-plum:#FDF8F2;
  --focus:#6B2D5B;
  --shadow:rgba(43,31,45,.16);

  --ff-display:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif;
  --ff-body:"Lexend","Segoe UI",system-ui,-apple-system,sans-serif;
  --ff-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

  --measure:62ch;
  --gutter:clamp(1.25rem,5vw,4rem);
  --rail:11rem;

  /* reading comfort, set by the toolbar */
  --scale:1;
  --leading:1.7;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#17121A; --paper-2:#211A24; --paper-3:#2D2431;
    --ink:#F6EEF3;   --ink-2:#C6B6CA;   --ink-3:#A093A5;
    --rule:#382D3D;
    --plum:#E9AED6;  --plum-soft:#301C2C;
    --gold:#F0B646;  --gold-soft:#2E2410; --gold-btn:#F5B942; --gold-btn-h:#FFC85F;
    --teal:#6FC9BD;  --teal-soft:#0F2A28;
    --on-plum:#17121A;
    --focus:#F5B942;
    --shadow:rgba(0,0,0,.5);
  }
}
:root[data-theme="dark"]{
  --paper:#17121A; --paper-2:#211A24; --paper-3:#2D2431;
  --ink:#F6EEF3;   --ink-2:#C6B6CA;   --ink-3:#A093A5;
  --rule:#382D3D;
  --plum:#E9AED6;  --plum-soft:#301C2C;
  --gold:#F0B646;  --gold-soft:#2E2410; --gold-btn:#F5B942; --gold-btn-h:#FFC85F;
  --teal:#6FC9BD;  --teal-soft:#0F2A28;
  --on-plum:#17121A;
  --focus:#F5B942;
  --shadow:rgba(0,0,0,.5);
}

/* calm mode: pulls saturation out for anyone who finds colour busy */
:root[data-calm="on"]{ --plum:#4E4050; --teal:#3E5A56; --gold:#6B5A38; --gold-btn:#C9B183; }
:root[data-calm="on"] .mark svg{ display:none }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--ff-body); font-weight:300;
  font-size:calc(clamp(1.04rem,1rem + .3vw,1.15rem) * var(--scale));
  line-height:var(--leading); letter-spacing:.006em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px}

h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;line-height:1.14;letter-spacing:-.022em;text-wrap:balance;margin:0;color:var(--ink)}
h1{font-size:calc(clamp(2.3rem,1.45rem + 4vw,4.4rem) * var(--scale));font-weight:800;letter-spacing:-.033em;line-height:1.1}
h2{font-size:calc(clamp(1.8rem,1.28rem + 2.2vw,2.9rem) * var(--scale));font-weight:700;letter-spacing:-.028em}
h3{font-size:calc(clamp(1.24rem,1.05rem + .72vw,1.58rem) * var(--scale))}
h4{font-size:calc(1.06rem * var(--scale));letter-spacing:-.012em}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
strong{font-weight:600;color:var(--ink)}
em{font-style:italic}

.label{font-family:var(--ff-mono);font-size:calc(.685rem * var(--scale));font-weight:500;
  letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);display:block}
.lede{font-size:calc(clamp(1.14rem,1.02rem + .5vw,1.35rem) * var(--scale));line-height:1.55;font-weight:300;color:var(--ink-2)}

.wrap{max-width:74rem;margin:0 auto;padding-inline:var(--gutter)}
.prose{max-width:var(--measure)}
section{padding-block:clamp(3.5rem,7.5vw,6.5rem)}
.band{background:var(--paper-2)}

.shead{display:grid;grid-template-columns:1fr;gap:.9rem;margin-bottom:2.3rem}
.sbody{min-width:0}
@media (min-width:64rem){
  .shead{grid-template-columns:var(--rail) minmax(0,1fr);gap:0 2.5rem;align-items:start}
  .shead .label{padding-top:.6rem;border-top:3px solid var(--plum);color:var(--plum)}
  .sbody{padding-left:calc(var(--rail) + 2.5rem)}
}

/* hand drawn underline */
.mark{position:relative;white-space:nowrap}
.mark svg{position:absolute;left:-1%;right:-1%;bottom:-.14em;width:102%;height:.34em;overflow:visible;color:var(--gold-btn)}
h1 .mark svg{bottom:-.04em;height:.28em}
@media (max-width:23rem){ .mark{white-space:normal} .mark svg{display:none} }

/* ---------- skip, progress, top bar ---------- */
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;background:var(--ink);color:var(--paper);z-index:99}
.skip:focus{position:fixed;left:0;top:0;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;padding:.7rem 1.1rem}

#progress{position:fixed;top:0;left:0;height:4px;width:0;background:var(--gold-btn);z-index:60;transition:width .08s linear}
@media (prefers-reduced-motion: reduce){#progress{transition:none}}

.topbar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}
.topbar-in{display:flex;align-items:center;gap:.75rem;justify-content:space-between;padding-block:.65rem;flex-wrap:nowrap}
@media (min-width:60rem){.topbar-in{gap:1.5rem}}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;min-width:0}
.brand .sig{width:2rem;height:2rem;flex:none;border-radius:50%;background:var(--plum);color:var(--on-plum);
  display:grid;place-items:center;font-family:var(--ff-display);font-weight:800;font-size:.92rem;letter-spacing:-.03em}
.brand .wm{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.brand .wm b{font-family:var(--ff-display);font-weight:800;font-size:1.02rem;letter-spacing:-.028em;color:var(--ink)}
.brand .wm small{font-family:var(--ff-mono);font-weight:400;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--plum);margin-top:.12rem}
nav.main{display:none;gap:1.4rem;align-items:center}
@media (min-width:66rem){nav.main{display:flex}}
nav.main a{font-size:.87rem;text-decoration:none;color:var(--ink-2);font-weight:400;padding-block:.3rem;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--plum);border-bottom-color:var(--gold-btn)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--ff-body);font-weight:500;font-size:calc(.96rem * var(--scale));line-height:1.25;
  padding:.9rem 1.45rem;border:2px solid var(--gold-btn);background:var(--gold-btn);color:var(--on-gold);
  text-decoration:none;cursor:pointer;border-radius:6px;
  transition:transform .13s ease, background .13s ease, box-shadow .13s ease;}
.btn:hover{transform:translateY(-2px);background:var(--gold-btn-h);border-color:var(--gold-btn-h);box-shadow:0 6px 16px -6px var(--shadow)}
.btn-plum{background:var(--plum);border-color:var(--plum);color:var(--on-plum)}
.btn-plum:hover{background:var(--plum);border-color:var(--plum)}
.btn-quiet{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-quiet:hover{background:transparent;border-color:var(--plum);color:var(--plum)}
.btn-sm{padding:.6rem 1rem;font-size:calc(.85rem * var(--scale))}
.btnrow{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* ---------- reading comfort bar ---------- */
.comfort{background:var(--paper-3);border-bottom:1px solid var(--rule)}
.comfort-in{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;padding-block:.55rem}
.comfort .cl{font-family:var(--ff-mono);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);margin-right:-.9rem}
.cgroup{display:flex;align-items:center;gap:.35rem}
.cgroup>span{font-family:var(--ff-mono);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.cbtn{font-family:var(--ff-body);font-weight:400;font-size:.8rem;line-height:1;padding:.4rem .62rem;
  border:1.5px solid var(--rule);background:var(--paper);color:var(--ink-2);border-radius:5px;cursor:pointer}
.cbtn:hover{border-color:var(--plum);color:var(--plum)}
.cbtn[aria-pressed="true"]{background:var(--plum);border-color:var(--plum);color:var(--on-plum);font-weight:500}

/* ---------- hero ---------- */
.hero{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.75rem,6vw,4.5rem)}
.hero-grid{display:grid;gap:2.5rem}
@media (min-width:64rem){.hero-grid{grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);gap:3.75rem;align-items:start}}
.hero h1{margin-bottom:1.3rem}
.hero .lede{max-width:50ch}
.hero .btnrow{margin-top:1.9rem}
.forwho{margin-top:1.15rem;padding:.85rem 1.05rem;border-left:4px solid var(--teal);background:var(--teal-soft);
  border-radius:0 6px 6px 0;font-size:calc(.94rem * var(--scale));line-height:1.55;color:var(--ink);max-width:52ch}
.forwho strong{color:var(--teal);font-weight:600}
.hero-note{font-family:var(--ff-mono);font-size:calc(.72rem * var(--scale));letter-spacing:.03em;color:var(--ink-3);margin-top:1rem;line-height:1.6}

.eyebrow{display:flex;flex-wrap:wrap;gap:.45rem .85rem;align-items:center;margin-bottom:1.4rem}
.eyebrow span{font-family:var(--ff-mono);font-size:calc(.68rem * var(--scale));letter-spacing:.13em;text-transform:uppercase;color:var(--plum);font-weight:500}
.eyebrow span+span::before{content:"\00B7";margin-right:.85rem;color:var(--ink-3)}

.portrait-card{border:1px solid var(--rule);background:var(--paper-2);padding:.85rem;border-radius:10px;box-shadow:0 14px 34px -20px var(--shadow)}
.portrait-card img{border-radius:6px;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.portrait-card .cap{font-family:var(--ff-mono);font-size:calc(.7rem * var(--scale));line-height:1.7;color:var(--ink-2);margin-top:.9rem;padding-inline:.3rem;letter-spacing:.015em}
.portrait-card .cap b{color:var(--plum);font-family:var(--ff-body);font-weight:600;font-size:calc(.86rem * var(--scale));letter-spacing:0;display:block;margin-bottom:.25rem}

/* ---------- quick path ---------- */
.quickpath{border:2px solid var(--plum);border-radius:10px;background:var(--plum-soft);padding:1.25rem 1.4rem}
.quickpath .label{color:var(--plum);margin-bottom:.7rem}
.qp-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.qp-links a{font-family:var(--ff-body);font-size:calc(.87rem * var(--scale));text-decoration:none;color:var(--ink);
  background:var(--paper);border:1.5px solid var(--rule);border-radius:20px;padding:.42rem .9rem;line-height:1.3}
.qp-links a:hover{border-color:var(--plum);color:var(--plum)}
.quickpath p{font-size:calc(1rem * var(--scale));color:var(--ink);margin:0}

/* ---------- short version ---------- */
.tldr{border:2px solid var(--teal);background:var(--teal-soft);padding:1.1rem 1.3rem;border-radius:8px;max-width:var(--measure);margin-bottom:2.3rem}
.tldr .label{color:var(--teal);margin-bottom:.4rem}
.tldr p{font-size:calc(.99rem * var(--scale));line-height:1.6;color:var(--ink);margin:0}

/* ---------- recognition list ---------- */
.recog{list-style:none;padding:0;margin:0;display:grid;gap:0;max-width:64ch;border-top:1px solid var(--rule)}
.recog li{padding:1rem 0 1rem 2.5rem;border-bottom:1px solid var(--rule);position:relative;
  font-size:calc(1.05rem * var(--scale));line-height:1.55}
.recog li::before{content:"";position:absolute;left:0;top:1.35rem;width:1.3rem;height:2px;background:var(--gold-btn);border-radius:2px}
.recog li em{font-style:normal;color:var(--plum);font-weight:500}

/* ---------- stat ---------- */
.statline{display:grid;gap:1.25rem;margin-top:2.5rem;padding:1.5rem;border-radius:10px;background:var(--paper-3);max-width:var(--measure)}
@media (min-width:38rem){.statline{grid-template-columns:auto 1fr;gap:1.6rem;align-items:center}}
.statline .big{font-family:var(--ff-display);font-weight:800;font-size:calc(2.9rem * var(--scale));line-height:.95;letter-spacing:-.04em;color:var(--plum);font-variant-numeric:tabular-nums}
.statline p{font-size:calc(.95rem * var(--scale));line-height:1.6;color:var(--ink-2);margin:0}

/* ---------- pillars ---------- */
.pillars{display:grid;gap:1.4rem;margin-top:2.4rem}
@media (min-width:52rem){.pillars{grid-template-columns:repeat(3,1fr);gap:0}}
.pillar{padding:1.4rem 0 0;border-top:3px solid var(--plum)}
@media (min-width:52rem){.pillar{padding:1.4rem 1.7rem 0 0}.pillar+.pillar{padding-left:1.7rem;border-left:1px solid var(--rule)}}
.pillar h3{margin-bottom:.55rem}
.pillar p{font-size:calc(.95rem * var(--scale));line-height:1.62;color:var(--ink-2);margin:0}
.pillar .label{margin-bottom:.85rem;color:var(--gold)}

/* ---------- honesty panel ---------- */
.honest{border:1px solid var(--rule);border-left:5px solid var(--teal);background:var(--paper);
  padding:clamp(1.35rem,3vw,2.1rem);border-radius:8px;max-width:68ch}
.honest .label{color:var(--teal);margin-bottom:.9rem}
.honest h3{font-size:calc(1.2rem * var(--scale));margin-bottom:.8rem}
.honest p,.honest li{font-size:calc(.97rem * var(--scale));line-height:1.65;color:var(--ink-2)}
.honest ul{margin:0 0 1rem;padding-left:1.15rem}
.honest li{margin-bottom:.5rem}

/* ---------- offers ---------- */
.offers{display:grid;gap:1.4rem}
@media (min-width:58rem){.offers{grid-template-columns:repeat(3,1fr)}}
.offer{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule);
  border-top:6px solid var(--plum);padding:1.65rem 1.5rem;border-radius:10px;box-shadow:0 10px 26px -22px var(--shadow)}
.offer.is-gold{border-top-color:var(--gold-btn)}
.offer.is-teal{border-top-color:var(--teal)}
.offer .kicker{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;margin-bottom:.9rem}
.offer h3{font-size:calc(1.42rem * var(--scale));margin-bottom:.45rem;letter-spacing:-.026em}
.offer .sub{font-family:var(--ff-mono);font-size:calc(.68rem * var(--scale));letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.9rem}
.offer .who{font-size:calc(.92rem * var(--scale));color:var(--ink-2);line-height:1.55;margin-bottom:1.15rem}
.priceblock{padding:1rem 0;border-block:1px solid var(--rule);margin-bottom:1.15rem}
.price{font-family:var(--ff-display);font-weight:800;font-size:calc(2.15rem * var(--scale));letter-spacing:-.035em;line-height:1;color:var(--plum);font-variant-numeric:tabular-nums}
.price .per{font-size:calc(.92rem * var(--scale));font-weight:400;letter-spacing:0;color:var(--ink-2);font-family:var(--ff-body)}
.price-sub{font-family:var(--ff-mono);font-size:calc(.71rem * var(--scale));letter-spacing:.04em;color:var(--ink-3);margin-top:.4rem;line-height:1.55}
.offer ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.58rem}
.offer ul li{font-size:calc(.91rem * var(--scale));line-height:1.5;padding-left:1.5rem;position:relative;color:var(--ink-2)}
.offer ul li::before{content:"";position:absolute;left:0;top:.42em;width:.62rem;height:.34rem;
  border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}
.offer .foot{margin-top:auto}
.offer .cap{font-family:var(--ff-mono);font-size:calc(.68rem * var(--scale));letter-spacing:.03em;color:var(--ink-3);margin-top:.8rem;line-height:1.6}
@media (min-width:58rem){.offer .cap{min-height:3.6rem}}
.tag{font-family:var(--ff-mono);font-size:calc(.63rem * var(--scale));letter-spacing:.1em;text-transform:uppercase;
  padding:.3rem .55rem;border-radius:4px;background:var(--plum-soft);color:var(--plum);white-space:nowrap;flex:none;font-weight:500}
.tag-gold{background:var(--gold-soft);color:var(--gold)}
.tag-teal{background:var(--teal-soft);color:var(--teal)}

/* ---------- steps ---------- */
.steps{display:grid;gap:0;max-width:70ch}
.step{display:grid;grid-template-columns:2.6rem 1fr;gap:1.1rem;padding:1.35rem 0;border-bottom:1px solid var(--rule)}
.step:first-child{border-top:1px solid var(--rule)}
.step .n{font-family:var(--ff-display);font-weight:800;font-size:calc(1.15rem * var(--scale));color:var(--gold);line-height:1.2;font-variant-numeric:tabular-nums}
.step h4{margin-bottom:.3rem}
.step p{font-size:calc(.95rem * var(--scale));line-height:1.6;color:var(--ink-2);margin:0}

/* ---------- book ---------- */
.book{display:grid;gap:2.4rem;align-items:center}
@media (min-width:60rem){.book{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3.5rem}}
.bookcover{aspect-ratio:2/3;background:linear-gradient(162deg,#6B2D5B 0%,#3B1631 100%);
  border-radius:4px;padding:1.9rem 1.5rem;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:0 20px 46px -20px var(--shadow);max-width:19rem}
.bookcover .bt{font-family:var(--ff-display);font-weight:800;font-size:calc(1.7rem * var(--scale));line-height:1.06;letter-spacing:-.03em;color:#FBF2F8}
.bookcover .bs{font-family:var(--ff-body);font-weight:300;font-size:calc(.88rem * var(--scale));line-height:1.45;color:#E2C4DA;margin-top:.65rem}
.bookcover .ba{font-family:var(--ff-mono);font-size:calc(.68rem * var(--scale));letter-spacing:.13em;text-transform:uppercase;color:#D2AEC8}
.bookcover .pct{font-family:var(--ff-display);font-weight:800;font-size:calc(3.5rem * var(--scale));line-height:1;letter-spacing:-.04em;color:#F5B942;font-variant-numeric:tabular-nums}
.bonus{list-style:none;padding:0;margin:1.3rem 0 0;display:grid;gap:.6rem}
.bonus li{font-size:calc(.93rem * var(--scale));line-height:1.55;padding-left:1.5rem;position:relative;color:var(--ink-2)}
.bonus li::before{content:"+";position:absolute;left:0;top:0;font-family:var(--ff-mono);color:var(--gold);font-weight:500}
.bookprice{display:flex;align-items:baseline;flex-wrap:wrap;gap:.7rem;margin:1.4rem 0 .3rem}
.bookprice .p{font-family:var(--ff-display);font-weight:800;font-size:calc(2.25rem * var(--scale));letter-spacing:-.035em;color:var(--plum);font-variant-numeric:tabular-nums}
.bookprice .s{font-family:var(--ff-mono);font-size:calc(.71rem * var(--scale));letter-spacing:.04em;color:var(--ink-3)}

/* ---------- faq ---------- */
.faq{max-width:68ch;border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2.5rem 1.1rem 0;position:relative;
  font-family:var(--ff-display);font-weight:600;font-size:calc(1.06rem * var(--scale));letter-spacing:-.015em;line-height:1.4;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.5rem;top:1.5rem;width:.7rem;height:.7rem;
  border-right:2.5px solid var(--gold-btn);border-bottom:2.5px solid var(--gold-btn);transform:rotate(45deg);transition:transform .18s ease}
.faq details[open] summary::after{transform:rotate(-135deg);top:1.7rem}
.faq summary:hover{color:var(--plum)}
.faq .a{padding:0 0 1.3rem;font-size:calc(.97rem * var(--scale));line-height:1.68;color:var(--ink-2);max-width:60ch}
.faq .a p{margin-bottom:.8rem}

/* ---------- testimonial slots ---------- */
.tslots{display:grid;gap:1.2rem}
@media (min-width:52rem){.tslots{grid-template-columns:repeat(3,1fr)}}
.tslot{border:2px dashed var(--rule);background:var(--paper-2);padding:1.3rem;border-radius:8px}
.tslot .label{color:var(--ink-3);margin-bottom:.65rem}
.tslot p{font-family:var(--ff-mono);font-size:calc(.75rem * var(--scale));line-height:1.7;color:var(--ink-2);margin:0}

/* ---------- contact ---------- */
.contact{display:grid;gap:2.4rem}
@media (min-width:60rem){.contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.75rem}}
.field{display:flex;flex-direction:column;gap:.38rem;margin-bottom:1.05rem}
fieldset{min-width:0;border:0;padding:0;margin:0 0 1.05rem}
.field label,.fslegend{font-family:var(--ff-mono);font-size:calc(.7rem * var(--scale));letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.fslegend{padding:0;margin-bottom:.4rem}
.field .opt{color:var(--ink-3);text-transform:none;letter-spacing:.02em}
.field input:not([type="radio"]),.field textarea{
  font-family:var(--ff-body);font-size:calc(1rem * var(--scale));font-weight:300;color:var(--ink);
  background:var(--paper);border:2px solid var(--rule);border-radius:6px;padding:.72rem .8rem;width:100%}
.field input:focus,.field textarea:focus{border-color:var(--plum);outline:none}
.radios{display:grid;gap:.45rem;min-width:0}
.radios label{display:flex;align-items:flex-start;gap:.65rem;font-family:var(--ff-body);font-size:calc(.95rem * var(--scale));
  font-weight:300;text-transform:none;letter-spacing:0;color:var(--ink);border:2px solid var(--rule);
  padding:.68rem .85rem;border-radius:6px;cursor:pointer;line-height:1.45}
.radios label:hover{border-color:var(--plum)}
.radios input{accent-color:var(--plum);margin-top:.2rem;flex:none;width:auto;min-width:0}
.detail{display:grid;gap:1rem}
.dl{display:grid;gap:.22rem;padding-bottom:1rem;border-bottom:1px solid var(--rule)}
.dl dt{font-family:var(--ff-mono);font-size:calc(.68rem * var(--scale));letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}
.dl dd{margin:0;font-size:calc(1rem * var(--scale))}
.dl dd a{color:var(--plum);text-decoration-thickness:1.5px;text-underline-offset:3px}

/* ---------- footer ---------- */
footer{background:var(--paper-2);border-top:1px solid var(--rule);padding-block:clamp(2.6rem,6vw,4rem)}
.fgrid{display:grid;gap:2.1rem}
@media (min-width:56rem){.fgrid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:3rem}}
footer h4{font-family:var(--ff-mono);font-size:calc(.68rem * var(--scale));letter-spacing:.13em;text-transform:uppercase;color:var(--plum);font-weight:500;margin-bottom:.85rem}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.48rem}
footer a{color:var(--ink-2);text-decoration:none;font-size:calc(.92rem * var(--scale))}
footer a:hover{color:var(--plum)}
.legal{margin-top:2.6rem;padding-top:1.7rem;border-top:1px solid var(--rule);max-width:78ch}
.legal p{font-size:calc(.84rem * var(--scale));line-height:1.68;color:var(--ink-3);margin-bottom:.7rem}
.legal strong{color:var(--ink-2);font-weight:500}
.crisis{border-left:4px solid var(--gold-btn);padding-left:1rem;margin:1.2rem 0}

.themetoggle{background:transparent;border:1.5px solid var(--rule);color:var(--ink-2);border-radius:5px;
  padding:.42rem .58rem;cursor:pointer;font-family:var(--ff-mono);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;flex:none}
.themetoggle:hover{border-color:var(--plum);color:var(--plum)}
