:root{
  --paper:#F1F4EF; --surface:#FFFFFF; --surface-2:#E9EEE7;
  --ink:#12201A; --ink-2:#33453B; --muted:#5B6C62; --faint:#8A9990;
  --rule:#D3DCD3; --rule-2:#BDC9BC;
  --award:#0B6B3A; --award-soft:#DCEBE1; --seal:#9C7515; --seal-soft:#F2E9CF;
  --shadow:0 1px 2px rgba(18,32,26,.06), 0 8px 24px -12px rgba(18,32,26,.18);
  --f-display:"Fraunces",Georgia,"Times New Roman",serif;
  --f-body:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1140px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0D1411; --surface:#151F1A; --surface-2:#1B2721;
    --ink:#E7EEE8; --ink-2:#C3D0C6; --muted:#95A79B; --faint:#6F8177;
    --rule:#25332C; --rule-2:#33453B;
    --award:#3FC782; --award-soft:#123326; --seal:#D6A83E; --seal-soft:#2A2213;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"]{
  --paper:#0D1411; --surface:#151F1A; --surface-2:#1B2721;
  --ink:#E7EEE8; --ink-2:#C3D0C6; --muted:#95A79B; --faint:#6F8177;
  --rule:#25332C; --rule-2:#33453B;
  --award:#3FC782; --award-soft:#123326; --seal:#D6A83E; --seal-soft:#2A2213;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--f-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0; font-family:var(--f-display); font-weight:600; text-wrap:balance; line-height:1.12; letter-spacing:-.012em}
p{margin:0}
ul{margin:0; padding:0; list-style:none}

.wrap{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px}
.eyebrow{
  font-family:var(--f-mono); font-size:11px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.skip{position:absolute; left:-9999px}
.skip:focus{left:12px; top:12px; z-index:99; background:var(--surface); color:var(--ink); padding:10px 14px; border:1px solid var(--award)}
:focus-visible{outline:2px solid var(--award); outline-offset:3px; border-radius:2px}

/* ---------- masthead ---------- */
.mast{
  position:sticky; top:0; z-index:40; background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--rule);
}
.mast-in{display:flex; align-items:center; gap:28px; height:64px}
.brand{display:flex; align-items:center; gap:11px; text-decoration:none; margin-right:auto}
.monogram{
  width:32px; height:32px; display:grid; place-items:center; flex:none;
  background:var(--award); color:#fff; font-family:var(--f-mono); font-weight:600;
  font-size:13px; letter-spacing:.02em;
}
:root[data-theme="dark"] .monogram, :root:not([data-theme="light"]) .monogram{color:#08150E}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .monogram{color:#fff}}
.brand-name{font-family:var(--f-display); font-weight:700; font-size:19px; letter-spacing:-.02em; line-height:1}
.brand-sub{display:block; font-family:var(--f-mono); font-size:9.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); margin-top:3px}
.mast-nav{display:flex; gap:22px}
.mast-nav a{font-size:14px; font-weight:500; color:var(--ink-2); text-decoration:none; padding:4px 0; border-bottom:1px solid transparent}
.mast-nav a:hover{color:var(--award); border-bottom-color:var(--award)}
@media (max-width:900px){.mast-nav{display:none}}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--f-body); font-size:14px; font-weight:600; text-decoration:none;
  padding:11px 20px; border:1px solid var(--award); cursor:pointer; white-space:nowrap;
  transition:background .16s ease, color .16s ease, transform .16s ease;
}
.btn-solid{background:var(--award); color:#fff}
:root[data-theme="dark"] .btn-solid{color:#08150E}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-solid{color:#08150E}}
.btn-solid:hover{transform:translateY(-1px)}
.btn-ghost{background:transparent; color:var(--award)}
.btn-ghost:hover{background:var(--award-soft)}
.btn-sm{padding:8px 15px; font-size:13px}

/* ---------- hero ---------- */
.hero{padding:64px 0 56px; border-bottom:1px solid var(--rule)}
.hero-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:56px; align-items:start}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr; gap:40px} .hero{padding:44px 0 40px}}
.hero h1{font-size:clamp(38px,5.1vw,62px); margin:18px 0 0; font-weight:600}
.hero h1 em{font-style:normal; color:var(--award); font-weight:700}
.hero-lede{margin-top:20px; font-size:18px; color:var(--ink-2); max-width:60ch}
.hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:30px}
.hero-meta{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:28px; padding-top:22px; border-top:1px solid var(--rule)}
.hero-meta li{font-family:var(--f-mono); font-size:11.5px; letter-spacing:.04em; color:var(--muted)}
.hero-meta li::before{content:"§ "; color:var(--award)}

/* ---------- docket board ---------- */
.docket{position:relative; background:var(--surface); border:1px solid var(--rule-2); box-shadow:var(--shadow)}
.docket::before{
  content:""; position:absolute; inset:0 auto 0 0; width:5px;
  background:repeating-linear-gradient(to bottom, var(--rule-2) 0 6px, transparent 6px 13px);
}
.docket-head{display:flex; align-items:baseline; gap:12px; padding:16px 20px 14px 26px; border-bottom:1px solid var(--rule)}
.docket-head h2{font-size:16px; font-family:var(--f-body); font-weight:700; letter-spacing:-.005em}
.docket-head .eyebrow{margin-left:auto}
.filters{display:flex; flex-wrap:wrap; gap:6px; padding:12px 20px 12px 26px; border-bottom:1px solid var(--rule); background:var(--surface-2)}
.chip{
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  padding:5px 10px; border:1px solid var(--rule-2); background:transparent; color:var(--muted); cursor:pointer;
}
.chip:hover{color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--award); border-color:var(--award); color:#fff}
:root[data-theme="dark"] .chip[aria-pressed="true"]{color:#08150E}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip[aria-pressed="true"]{color:#08150E}}
.docket-scroll{overflow-x:auto}
table.board{width:100%; border-collapse:collapse; min-width:520px}
.board th{
  text-align:left; font-family:var(--f-mono); font-size:9.5px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; color:var(--faint);
  padding:10px 16px 8px; border-bottom:1px solid var(--rule);
}
.board th:first-child{padding-left:26px}
.board td{padding:13px 16px; border-bottom:1px solid var(--rule); vertical-align:top; font-size:13.5px}
.board td:first-child{padding-left:26px}
.board tr:last-child td{border-bottom:0}
.prog{font-weight:600; color:var(--ink); display:block}
.agency{font-family:var(--f-mono); font-size:11px; color:var(--muted); letter-spacing:.03em}
.amt{font-family:var(--f-mono); font-variant-numeric:tabular-nums; font-size:12.5px; color:var(--ink-2); white-space:nowrap}
.cycle{font-family:var(--f-mono); font-size:11px; color:var(--muted); white-space:nowrap}
.pill{display:inline-block; font-family:var(--f-mono); font-size:9.5px; letter-spacing:.09em; text-transform:uppercase; padding:3px 7px; border:1px solid currentColor}
.pill.open{color:var(--award); background:var(--award-soft)}
.pill.soon{color:var(--seal); background:var(--seal-soft)}
.docket-foot{padding:12px 20px 14px 26px; font-family:var(--f-mono); font-size:10.5px; color:var(--faint); line-height:1.5; border-top:1px solid var(--rule)}
.seal{
  position:absolute; right:-14px; top:-16px; width:96px; height:96px; border-radius:50%;
  border:2px solid var(--seal); color:var(--seal); background:var(--paper);
  display:grid; place-items:center; text-align:center; transform:rotate(-11deg);
  font-family:var(--f-mono); font-size:9px; letter-spacing:.1em; line-height:1.35; text-transform:uppercase;
}
.seal span{display:block; font-family:var(--f-display); font-size:15px; letter-spacing:.02em; font-weight:700; text-transform:none}
@media (max-width:520px){.seal{display:none}}

/* ---------- stat strip ---------- */
.strip{border-bottom:1px solid var(--rule); background:var(--surface-2)}
.strip-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule)}
@media (max-width:760px){.strip-grid{grid-template-columns:repeat(2,1fr)}}
.stat{background:var(--surface-2); padding:24px 20px}
.stat b{display:block; font-family:var(--f-display); font-size:clamp(26px,3.4vw,36px); font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums}
.stat span{display:block; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); margin-top:6px}

/* ---------- generic section ---------- */
.sec{padding:76px 0; border-bottom:1px solid var(--rule)}
@media (max-width:760px){.sec{padding:52px 0}}
.sec-head{max-width:66ch; margin-bottom:44px}
.sec-head h2{font-size:clamp(28px,3.6vw,40px); margin-top:12px}
.sec-head p{margin-top:16px; font-size:17px; color:var(--muted)}

/* ---------- levels ---------- */
.levels-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(238px,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule)}
.level{background:var(--paper); padding:24px 22px; display:flex; flex-direction:column; gap:10px}
.level:hover{background:var(--surface)}
.level-tier{font-family:var(--f-mono); font-size:10px; letter-spacing:.11em; text-transform:uppercase; color:var(--award)}
.level h3{font-size:21px}
.level > p{font-size:14px; color:var(--muted); line-height:1.6}
.level-list{margin-top:auto; padding-top:13px; border-top:1px solid var(--rule); display:grid; gap:6px}
.level-list li{font-size:12.5px; color:var(--ink-2); padding-left:14px; position:relative; line-height:1.5}
.level-list li::before{content:"\2022"; position:absolute; left:0; color:var(--award)}

.audiences{margin-top:52px; padding-top:38px; border-top:1px solid var(--rule)}
.audiences > h3{font-size:clamp(22px,2.7vw,30px)}
.aud-grid{margin-top:28px; display:grid; grid-template-columns:repeat(auto-fit,minmax(252px,1fr)); gap:28px 36px}
.aud{border-top:2px solid var(--award); padding-top:15px}
.aud h4{font-family:var(--f-body); font-weight:700; font-size:17px; letter-spacing:0; color:var(--ink)}
.aud p{margin-top:9px; font-size:14px; color:var(--muted); line-height:1.6}

/* ---------- sectors ---------- */
.sectors{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule)}
.sector{background:var(--paper); padding:28px 26px; display:flex; flex-direction:column; gap:12px}
.sector:hover{background:var(--surface)}
.sector-no{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em; color:var(--award)}
.sector h3{font-size:20px}
.sector p{font-size:14.5px; color:var(--muted); line-height:1.62}
.tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:6px}
.tag{font-family:var(--f-mono); font-size:10px; letter-spacing:.05em; color:var(--ink-2); background:var(--surface-2); padding:4px 8px; border:1px solid var(--rule)}

.defs{margin-top:2px; border-top:1px solid var(--rule); padding-top:12px}
.defs summary{
  cursor:pointer; list-style:none; display:flex; align-items:center; gap:7px;
  font-family:var(--f-mono); font-size:10px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--award);
}
.defs summary::-webkit-details-marker{display:none}
.defs summary::after{content:"+"; font-size:14px; line-height:1}
.defs[open] summary::after{content:"\2013"}
.defs summary:hover{color:var(--ink)}
.def-list{margin-top:13px}
.def-list dt{
  font-family:var(--f-mono); font-size:11px; font-weight:600;
  color:var(--ink); letter-spacing:.02em;
}
.def-list dd{margin:3px 0 11px; font-size:13px; color:var(--muted); line-height:1.55}
.def-list dd:last-child{margin-bottom:0}

.sector-home{background:var(--surface)}
.sector-home .sector-no{color:var(--seal)}
.sector-home .tag{background:var(--seal-soft)}

/* ---------- services ---------- */
.svc{display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:0 48px; padding:30px 0; border-top:1px solid var(--rule)}
.svc:first-of-type{border-top:0; padding-top:0}
@media (max-width:820px){.svc{grid-template-columns:1fr; gap:14px}}
.svc h3{font-size:24px}
.svc-kicker{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--award); margin-bottom:9px}
.svc-body p{color:var(--ink-2); font-size:15.5px; max-width:62ch}
.svc-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:6px 24px; margin-top:16px}
.svc-list li{font-size:13.5px; color:var(--muted); padding-left:16px; position:relative}
.svc-list li::before{content:"→"; position:absolute; left:0; color:var(--award); font-size:12px}

/* ---------- pipeline ---------- */
.pipe{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:28px 32px}
.step{border-top:2px solid var(--award); padding-top:16px}
.step b{font-family:var(--f-mono); font-size:11px; letter-spacing:.1em; color:var(--award); display:block; margin-bottom:8px}
.step h3{font-size:17.5px; font-family:var(--f-body); font-weight:700; letter-spacing:0}
.step p{font-size:14px; color:var(--muted); margin-top:8px}

/* ---------- benefits alerts ---------- */
.alerts{background:var(--surface-2)}
.alerts-grid{display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:52px; align-items:start}
@media (max-width:940px){.alerts-grid{grid-template-columns:1fr; gap:36px}}
.alerts .eyebrow{color:var(--seal)}
.alerts h2{font-size:clamp(28px,3.6vw,40px); margin-top:12px}
.alerts-lede{margin-top:16px; font-size:17px; color:var(--ink-2); max-width:60ch}
.plainly{
  margin-top:22px; padding:14px 0 14px 18px; border-left:3px solid var(--seal);
  font-size:14.5px; color:var(--muted); max-width:58ch;
}
.plainly b{color:var(--ink); font-weight:600}
.coverage{margin-top:34px; display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:0 44px}
.coverage li{
  display:flex; gap:14px; align-items:baseline;
  font-family:var(--f-display); font-size:clamp(21px,2.4vw,28px); font-weight:600;
  letter-spacing:-.018em; line-height:1.25; color:var(--ink);
  padding:16px 0 14px; border-bottom:1px solid var(--rule);
}
.coverage li::before{content:"\2014"; color:var(--seal); font-family:var(--f-mono); font-size:13px; flex:none}

/* ---------- pricing ---------- */
.pricing-wrap{margin-top:60px; padding-top:44px; border-top:1px solid var(--rule)}
.pricing-head{max-width:62ch}
.pricing-head h3{font-size:clamp(24px,3vw,32px); margin-top:10px}
.pricing-head p{margin-top:13px; color:var(--muted); font-size:16px}
.pricing{margin-top:32px; display:grid; grid-template-columns:repeat(auto-fit,minmax(268px,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule)}
.plan{background:var(--paper); padding:26px 24px 24px; display:flex; flex-direction:column; gap:10px}
.plan-featured{background:var(--surface); box-shadow:var(--shadow)}
.plan-flag{font-family:var(--f-mono); font-size:9.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--seal)}
.plan-name{font-family:var(--f-body); font-weight:700; font-size:15.5px; color:var(--ink)}
.plan-price{
  font-family:var(--f-display); font-size:42px; font-weight:700; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; line-height:1; color:var(--ink);
}
.plan-featured .plan-price{color:var(--seal)}
.plan-for{font-size:13.5px; color:var(--muted)}
.plan-list{display:grid; gap:7px; margin-top:4px}
.plan-list li{font-size:13.5px; color:var(--ink-2); padding-left:17px; position:relative; line-height:1.5}
.plan-list li::before{content:"\2713"; position:absolute; left:0; color:var(--seal); font-size:11px}
.plan .factors{margin-top:12px}
.plan-cta{margin-top:auto; width:100%}
.plan .btn-ghost{color:var(--seal); border-color:var(--seal)}
.plan .btn-ghost:hover{background:var(--seal-soft)}
.plan-cta-solid{background:var(--seal); border-color:var(--seal); color:#fff}
:root[data-theme="dark"] .plan-cta-solid{color:#1A1408}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .plan-cta-solid{color:#1A1408}}
.plan-price small{
  font-family:var(--f-mono); font-size:13px; font-weight:400; letter-spacing:.02em;
  color:var(--muted); margin-right:5px;
}
.plan-wide{
  grid-column:1/-1; background:var(--surface); display:grid;
  grid-template-columns:minmax(0,268px) minmax(0,1fr) auto; gap:28px 36px; align-items:start;
}
@media (max-width:900px){.plan-wide{grid-template-columns:1fr; gap:20px}}
.pw-lead{display:flex; flex-direction:column; gap:9px}
.pw-credit{
  font-size:12.5px; line-height:1.55; color:var(--ink-2);
  border-left:2px solid var(--seal); padding-left:12px;
}
.pw-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(228px,1fr)); gap:8px 30px; margin-top:0}
.pw-cta{margin-top:0; width:auto; align-self:start}
.guarantee{
  margin-top:22px; padding:17px 20px; border:1px solid var(--seal); background:var(--seal-soft);
  font-size:15.5px; color:var(--ink); display:flex; gap:14px; align-items:baseline; flex-wrap:wrap;
}
.guarantee span{
  font-family:var(--f-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--seal); flex:none;
}
.sub-panel{position:relative; background:var(--surface); border:1px solid var(--rule-2); box-shadow:var(--shadow); padding:28px 26px 22px 30px}
.sub-panel::before{
  content:""; position:absolute; inset:0 auto 0 0; width:5px;
  background:repeating-linear-gradient(to bottom, var(--seal) 0 6px, transparent 6px 13px); opacity:.55;
}
.sub-panel h3{font-family:var(--f-body); font-size:18px; font-weight:700; letter-spacing:-.005em}
.sub-panel > p{font-size:14px; color:var(--muted); margin-top:8px}
.sub-form{display:flex; flex-direction:column; gap:10px; margin-top:20px}
.sub-form label{font-family:var(--f-mono); font-size:10px; letter-spacing:.11em; text-transform:uppercase; color:var(--faint)}
.sub-form input{
  font-family:var(--f-body); font-size:15px; color:var(--ink); background:var(--paper);
  border:1px solid var(--rule-2); padding:12px 14px; width:100%;
}
.sub-form input::placeholder{color:var(--faint)}
.sub-form input:focus{border-color:var(--seal)}
.sub-form .btn{width:100%; border-color:var(--seal); background:var(--seal); color:#fff}
:root[data-theme="dark"] .sub-form .btn{color:#1A1408}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sub-form .btn{color:#1A1408}}
.sub-buttons{display:grid; grid-template-columns:1fr 1fr; gap:8px}
@media (max-width:420px){.sub-buttons{grid-template-columns:1fr}}
.sub-form .btn-year{background:transparent; color:var(--seal); border-color:var(--seal)}
.sub-form .btn-year:hover{background:var(--seal-soft)}
.sub-status{
  font-size:12.5px; line-height:1.5; color:var(--ink); background:var(--seal-soft);
  border-left:3px solid var(--seal); padding:10px 12px; margin-top:4px;
}
.sub-save{
  font-family:var(--f-mono); font-size:10px; letter-spacing:.07em;
  color:var(--seal); text-align:center; margin-top:2px;
}
.sub-terms{
  margin-top:4px; padding-top:11px; border-top:1px solid var(--rule);
  font-size:11.5px; line-height:1.6; color:var(--muted);
}
.sub-terms b{color:var(--ink); font-weight:600}
.sub-terms a{color:var(--seal)}
.sub-includes{margin-top:20px; padding-top:16px; border-top:1px solid var(--rule); display:grid; gap:7px}
.sub-includes li{font-size:13px; color:var(--muted); padding-left:17px; position:relative}
.sub-includes li::before{content:"\2713"; position:absolute; left:0; color:var(--seal); font-size:11px}
.tier{margin-top:18px; padding-top:16px; border-top:1px solid var(--rule); font-size:13px; color:var(--muted)}
.tier a{color:var(--seal); font-weight:600; text-decoration:none; border-bottom:1px solid currentColor}
mark.you{
  background:var(--seal-soft); color:var(--seal); font-weight:700;
  padding:0 4px; border-bottom:2px solid var(--seal);
}
.factors{display:flex; flex-wrap:wrap; gap:5px; margin-top:12px}
.factors li{
  font-family:var(--f-mono); font-size:9.5px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--ink-2); background:var(--seal-soft); border:1px solid var(--rule); padding:4px 7px;
}
.sub-note{margin-top:16px; font-family:var(--f-mono); font-size:10px; line-height:1.55; color:var(--faint)}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{
  cursor:pointer; list-style:none; padding:20px 40px 20px 0; position:relative;
  font-family:var(--f-display); font-size:19px; font-weight:600; letter-spacing:-.01em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:6px; top:18px; font-family:var(--f-mono); font-size:20px; color:var(--award)}
.faq details[open] summary::after{content:"–"}
.faq summary:hover{color:var(--award)}
.faq .ans{padding:0 40px 22px 0; color:var(--muted); font-size:15.5px; max-width:72ch}

/* ---------- cta ---------- */
.cta{background:var(--ink); color:var(--paper); padding:72px 0; border-bottom:1px solid var(--rule)}
:root[data-theme="dark"] .cta{background:var(--surface-2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cta{background:var(--surface-2)}}
.cta-grid{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:center}
@media (max-width:820px){.cta-grid{grid-template-columns:1fr}}
.cta h2{font-size:clamp(28px,3.6vw,40px); color:var(--paper)}
:root[data-theme="dark"] .cta h2{color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cta h2{color:var(--ink)}}
.cta p{margin-top:14px; font-size:16.5px; opacity:.78; max-width:56ch}
.cta .btn-solid{background:var(--award); border-color:var(--award); color:#fff}
.cta .btn-ghost{color:var(--paper); border-color:rgba(255,255,255,.35)}
:root[data-theme="dark"] .cta .btn-ghost{color:var(--ink); border-color:var(--rule-2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cta .btn-ghost{color:var(--ink); border-color:var(--rule-2)}}
.cta-actions{display:flex; flex-direction:column; gap:10px}

/* ---------- footer ---------- */
.foot{padding:52px 0 40px; font-size:13.5px}
.foot-grid{display:grid; grid-template-columns:1.35fr repeat(4,1fr); gap:32px 28px}
@media (max-width:1060px){.foot-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot h4{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); font-weight:500; margin-bottom:12px}
.foot li{margin-bottom:7px}
.foot a{color:var(--muted); text-decoration:none}
.foot a:hover{color:var(--award)}
.foot-note{margin-top:40px; padding-top:22px; border-top:1px solid var(--rule); color:var(--faint); font-size:12px; display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between}
.foot-blurb{color:var(--muted); max-width:44ch; margin-top:14px; font-size:13.5px}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important}
}

/* ---------- legal pages ---------- */
.legal{padding:52px 0 76px}
.legal-wrap{width:100%; max-width:820px; margin-inline:auto; padding-inline:24px}
.legal h1{font-size:clamp(32px,4.4vw,46px); margin-top:12px}
.legal-meta{font-family:var(--f-mono); font-size:11px; letter-spacing:.06em; color:var(--faint); margin-top:15px}
.legal-intro{margin-top:20px; font-size:17px; line-height:1.7; color:var(--ink-2)}
.legal-toc{margin-top:34px; padding:20px 22px; background:var(--surface-2); border:1px solid var(--rule)}
.legal-toc h2{font-family:var(--f-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); font-weight:500}
.legal-toc ol{margin:13px 0 0; padding:0; list-style:none; display:grid; gap:7px; counter-reset:toc}
.legal-toc li{counter-increment:toc; font-size:14px; line-height:1.4}
.legal-toc li::before{content:counter(toc,decimal-leading-zero); font-family:var(--f-mono); font-size:10.5px; color:var(--seal); margin-right:10px}
.legal-toc a{color:var(--ink-2); text-decoration:none}
.legal-toc a:hover{color:var(--award)}
.legal-sec{margin-top:42px; scroll-margin-top:84px}
.legal-sec h2{font-size:23px; padding-bottom:10px; border-bottom:1px solid var(--rule)}
.legal-sec p{margin-top:15px; font-size:15.5px; line-height:1.72; color:var(--ink-2)}
.legal-sec ul{margin-top:15px; display:grid; gap:10px}
.legal-sec li{font-size:15px; line-height:1.65; color:var(--ink-2); padding-left:19px; position:relative}
.legal-sec li::before{content:"\2014"; position:absolute; left:0; color:var(--seal); font-size:12px}
.legal-sec strong{color:var(--ink); font-weight:600}
.legal-sec a{color:var(--award)}
.legal-callout{margin-top:17px; padding:17px 19px; border-left:3px solid var(--seal); background:var(--seal-soft); font-size:15px; line-height:1.68; color:var(--ink)}
