/* Cheaper by AI design system: "The Ledger" (see ops/DESIGN.md) */
@font-face{font-family:"Fraunces";src:url(fonts/fraunces.woff2) format("woff2");font-weight:500 750;font-style:normal;font-display:swap}
:root{
  /* color */
  --c-paper:#F7F3EA;--c-card:#FFFDF8;--c-sunk:#EFE7D6;--c-rule:#E0D6C2;--c-rule-2:#CFC3AA;
  --c-ink:#1C1B18;--c-ink-2:#4A463D;--c-muted:#665F52;
  --c-green:#1E5631;--c-green-d:#143D22;--c-green-t:#E4EEDF;--c-green-2:#2F7A47;
  --c-saffron:#E3A008;--c-saffron-t:#FBEFC9;--c-saffron-d:#7A5200;
  --c-rust:#9A3412;--c-rust-t:#FBE7DA;--c-blue:#1F4E79;--c-blue-t:#E2ECF5;--c-plum:#5B2A6E;--c-plum-t:#EFE4F3;
  --c-focus:#E3A008;
  /* type */
  --font-display:"Fraunces",Iowan Old Style,"Palatino Linotype",Georgia,serif;
  --font-ui:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs-xs:.78rem;--fs-sm:.88rem;--fs-base:1rem;--fs-md:1.12rem;--fs-lg:1.3rem;--fs-xl:clamp(1.45rem,3.2vw,1.85rem);--fs-2xl:clamp(1.9rem,5vw,2.75rem);--fs-3xl:clamp(2.2rem,7vw,4rem);
  /* space / shape */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;
  --r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;
  --sh-1:0 1px 0 rgba(28,27,24,.04),0 1px 3px rgba(28,27,24,.06);--sh-2:0 1px 0 rgba(28,27,24,.05),0 8px 24px -12px rgba(28,27,24,.25);
  --wrap:1120px;
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
[hidden]{display:none!important}
body{margin:0;font:var(--fs-base)/1.6 var(--font-ui);color:var(--c-ink);background:var(--c-paper);font-feature-settings:"kern"}
a{color:var(--c-green);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--c-green-d);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px;border-radius:4px}
.ic{flex:none;vertical-align:-.18em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--sp-4)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--c-card);padding:6px 10px;z-index:10}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--c-muted)}.small{font-size:var(--fs-sm)}
h1,h2,h3{font-family:var(--font-display);font-weight:650;color:var(--c-ink);letter-spacing:-.01em;font-variant-numeric:lining-nums}
h1{font-size:var(--fs-2xl);line-height:1.1;margin:.3em 0 .35em}
h2{font-size:var(--fs-xl);line-height:1.2;margin:var(--sp-7) 0 var(--sp-3)}
h3{font-size:var(--fs-md);line-height:1.3}
.display{font-size:var(--fs-3xl);line-height:1.02;font-weight:700;letter-spacing:-.02em;max-width:14ch}
.swash{background:linear-gradient(transparent 62%,var(--c-saffron-t) 62%,var(--c-saffron-t) 92%,transparent 92%);padding:0 .06em}
.lead{font-size:var(--fs-md);color:var(--c-ink-2);max-width:62ch}
.kicker{display:inline-flex;align-items:center;gap:6px;margin:var(--sp-6) 0 0;font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c-green)}
.kicker+h2{margin-top:var(--sp-1)}
/* header */
.site-header{background:var(--c-paper);border-bottom:1px solid var(--c-rule)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:6px 18px;min-height:60px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--c-ink)}
.brand-mark{width:32px;height:32px;border-radius:50%;background:var(--c-green);color:#FFFDF8;display:inline-flex;align-items:center;justify-content:center;font:700 1.15rem/1 var(--font-display);box-shadow:inset 0 0 0 2px var(--c-green),inset 0 0 0 3.5px #FFFDF8}
.brand-name{font:700 1.22rem/1 var(--font-display);letter-spacing:-.01em}.brand-name em{font-style:italic;font-weight:500;color:var(--c-ink-2)}
nav[aria-label=Main]{display:flex;gap:18px;overflow-x:auto;white-space:nowrap;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}
nav[aria-label=Main] a{text-decoration:none;color:var(--c-ink-2);font-weight:600;font-size:.95rem;padding:8px 0;border-bottom:2px solid transparent}
nav[aria-label=Main] a:hover{color:var(--c-ink)}nav[aria-label=Main] a[aria-current]{color:var(--c-ink);border-bottom-color:var(--c-saffron)}
main{padding:var(--sp-4) var(--sp-4) var(--sp-8)}
.crumbs{font-size:var(--fs-sm);color:var(--c-muted);margin-top:var(--sp-2)}.crumbs a{color:var(--c-muted)}
/* hero */
.hero{padding:var(--sp-3) 0 var(--sp-2)}.hero .kicker{margin-top:var(--sp-3)}
.search{position:relative;max-width:720px;margin:var(--sp-5) 0}
.search input{width:100%;font:inherit;font-size:var(--fs-md);padding:17px 18px 17px 54px;border:2px solid var(--c-ink);border-radius:var(--r-md);background:var(--c-card);color:var(--c-ink);box-shadow:4px 4px 0 var(--c-ink);transition:box-shadow .15s,transform .15s}
.search input::placeholder{color:#857D6E}
.search input:focus{outline:none;box-shadow:4px 4px 0 var(--c-saffron);border-color:var(--c-ink)}
.search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--c-ink-2);display:flex}
.goals{display:grid;grid-template-columns:1fr;gap:var(--sp-3)}
.goal{display:grid;grid-template-columns:auto 1fr;column-gap:var(--sp-3);align-items:center;background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-md);padding:14px 16px;text-decoration:none;color:var(--c-ink);box-shadow:var(--sh-1);transition:border-color .15s,transform .15s,box-shadow .15s;min-height:68px}
.goal:hover{border-color:var(--c-green);transform:translateY(-2px);box-shadow:var(--sh-2);color:var(--c-ink)}
.g-icon,.seal{grid-row:1/3;width:44px;height:44px;border-radius:50%;background:var(--c-green-t);color:var(--c-green);display:inline-flex;align-items:center;justify-content:center;flex:none}
.goal:hover .g-icon{background:var(--c-green);color:#FFFDF8}
.g-label{font-weight:700;font-size:1.02rem;line-height:1.3}.g-count{display:inline-flex;align-items:center;gap:4px;color:var(--c-green);font-size:var(--fs-sm);font-weight:700}
.trust{list-style:none;padding:0;margin:var(--sp-5) 0 0;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);color:var(--c-ink-2);font-size:var(--fs-sm)}
.trust li{display:inline-flex;align-items:center;gap:6px}.trust .ic{color:var(--c-green)}.trust strong{font-family:var(--font-display);font-size:1.05rem}
body.searching .hide-on-search{display:none!important}
/* how it works */
.how-steps{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-3);counter-reset:h}
.how-steps li{background:transparent;border-top:2px solid var(--c-ink);padding:var(--sp-3) 0 var(--sp-2);display:flex;flex-direction:column;gap:2px}
.how-steps .n{font:700 2.2rem/1 var(--font-display);color:var(--c-green);margin-bottom:6px}
.how-steps strong{font-family:var(--font-display);font-size:1.15rem}.how-steps span:last-child{color:var(--c-ink-2);font-size:.95rem}
/* use case card */
.cards{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}
.card{position:relative;background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-4) var(--sp-3);display:flex;flex-direction:column;box-shadow:var(--sh-1);transition:border-color .15s,transform .15s,box-shadow .15s}
.card:hover{border-color:var(--c-rule-2);transform:translateY(-2px);box-shadow:var(--sh-2)}
.card-fig{margin:0 0 var(--sp-3)!important;padding-bottom:var(--sp-3);border-bottom:1px solid var(--c-rule);display:flex;flex-direction:column;gap:4px}
.card-fig .fig{font:650 1.32rem/1.2 var(--font-display);color:var(--c-green);letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums}
.card-fig.none .fig{color:var(--c-ink-2);font-size:1.1rem}.card-fig .sub{font-size:var(--fs-sm);color:var(--c-muted)}
.lbl{align-self:flex-start;display:inline-block;font:800 .66rem/1 var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--c-green);border:1.5px solid currentColor;border-radius:var(--r-sm);padding:3px 6px}
.card-fig.none .lbl{color:var(--c-muted)}
.card h3{margin:0 0 6px;font-size:1.12rem;line-height:1.3}.card h3 a{text-decoration:none;color:var(--c-ink)}
.card h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--r-lg)}.card h3 a:focus-visible{outline:none}.card:focus-within{outline:3px solid var(--c-focus);outline-offset:2px}
.card p{margin:.25em 0;font-size:.94rem}.card-sum{color:var(--c-ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--c-ink-2);font-size:.86rem!important;margin-top:var(--sp-2)!important}
.card-cat{display:flex;align-items:center;gap:6px;color:var(--c-muted);font-size:var(--fs-xs)!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:var(--sp-2)!important;padding-top:var(--sp-2);border-top:1px dashed var(--c-rule)}
.badges{margin-top:auto!important;padding-top:var(--sp-2)}
.mi{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.dots{display:inline-block;width:28px;height:7px;border-radius:4px;background:linear-gradient(90deg,currentColor 0 33%,var(--c-rule) 33% 100%)}
.diff-easy{color:var(--c-green)}.diff-medium{color:var(--c-saffron-d)}.diff-medium .dots{background:linear-gradient(90deg,currentColor 0 66%,var(--c-rule) 66% 100%)}.diff-involved{color:var(--c-rust)}.diff-involved .dots{background:currentColor}
/* cost badges & legend */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:700;border-radius:var(--r-pill);padding:3px 10px;margin:2px 4px 2px 0;line-height:1.35;cursor:help;border:1px solid transparent}
.b-free{background:var(--c-green-t);color:var(--c-green-d)}
.b-freemium{background:var(--c-blue-t);color:var(--c-blue)}
.b-paid{background:var(--c-plum-t);color:var(--c-plum)}
.b-contingency{background:var(--c-rust-t);color:var(--c-rust);border-color:#E9B49A}
.b-est{background:var(--c-sunk);color:var(--c-ink-2)}.b-rep{background:transparent;color:var(--c-green);border:1.5px solid currentColor;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem}
.legend{background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-md);padding:10px 16px;margin:var(--sp-3) 0;font-size:.92rem}
.legend summary{cursor:pointer;font-weight:700;color:var(--c-green);list-style-position:inside}
.legend ul{list-style:none;padding:0;margin:var(--sp-2) 0 2px}.legend li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:8px 0}.legend li .badge{flex:none}
/* filters */
.listing>h2{margin-bottom:var(--sp-2)}
.filters{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin:var(--sp-2) 0}
.filters select{font:inherit;padding:10px 12px;border:1.5px solid var(--c-rule-2);border-radius:var(--r-md);background:var(--c-card);color:var(--c-ink);min-height:44px}
.chk{display:inline-flex;align-items:center;gap:8px;background:var(--c-card);border:1.5px solid var(--c-rule-2);border-radius:var(--r-md);padding:9px 12px;min-height:44px;cursor:pointer;font-weight:600}
.chk input{width:18px;height:18px;accent-color:var(--c-green)}
.count{color:var(--c-muted);font-weight:600;font-size:var(--fs-sm);margin:var(--sp-1) 0 var(--sp-3)}
.empty{background:var(--c-card);border:1px dashed var(--c-rule-2);border-radius:var(--r-md);padding:var(--sp-4)}
.more-wrap{text-align:center;margin:var(--sp-5) 0}
/* buttons */
.btn,.nl-form button,.nl-button,.copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;background:var(--c-green);color:#FFFDF8;border:0;border-radius:var(--r-md);padding:12px 18px;cursor:pointer;text-decoration:none;min-height:46px;white-space:nowrap;transition:background .15s}
.btn:hover,.nl-form button:hover,.nl-button:hover,.copy-btn:hover{background:var(--c-green-d);color:#FFFDF8}
.copy-btn.big{font-size:1.02rem;padding:12px 20px}.copy-btn.copied{background:var(--c-ink)}
.btn-ghost,.btn-more{font:inherit;font-weight:700;background:transparent;color:var(--c-ink);border:1.5px solid var(--c-ink);border-radius:var(--r-md);padding:10px 18px;cursor:pointer;min-height:44px}
.btn-ghost:hover,.btn-more:hover{background:var(--c-ink);color:var(--c-paper)}
/* chips + categories */
.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-pill);padding:8px 14px;text-decoration:none;color:var(--c-ink);font-size:.92rem;font-weight:600}
.chip .ic{color:var(--c-green)}.chip:hover{border-color:var(--c-green);color:var(--c-ink)}.chip .n{color:var(--c-muted);font-weight:500;font-variant-numeric:tabular-nums}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--sp-3)}
.cat-tile{display:flex;flex-direction:column;gap:4px;background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-md);padding:var(--sp-4);text-decoration:none;color:var(--c-ink)}
.cat-tile:hover{border-color:var(--c-green);color:var(--c-ink)}.cat-tile .name{font:650 1.08rem/1.3 var(--font-display);margin-top:6px}.cat-tile .desc{color:var(--c-ink-2);font-size:var(--fs-sm)}
.with-seal{display:flex;align-items:center;gap:var(--sp-3)}.with-seal .seal{width:52px;height:52px}
/* newsletter */
.nl-form{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-3) 0;max-width:560px}
.nl-form input{flex:1;min-width:200px;font:inherit;padding:12px 14px;border:1.5px solid var(--c-ink);border-radius:var(--r-md);background:var(--c-card);min-height:46px}
.nl-note{width:100%;margin:0;color:var(--c-ink-2);font-size:.85rem}.nl-embed{margin:var(--sp-3) 0;max-width:560px}
.cta{background:var(--c-green);color:#F3EFE4;border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-5) var(--sp-4);margin:var(--sp-7) 0 var(--sp-5)}
.cta h2{color:#FFFDF8;margin-top:var(--sp-4)}.cta .nl-note{color:#DCE7D8}.cta .nl-form input{border-color:#FFFDF8}
.cta .nl-form button{background:var(--c-saffron);color:var(--c-ink)}.cta .nl-form button:hover{background:#F2B52A;color:var(--c-ink)}
/* use case page */
.case-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}
.case-side{display:none}
.case>h1{font-size:var(--fs-2xl)}
.receipt{position:relative;background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-md);margin:var(--sp-5) 0;box-shadow:var(--sh-1);display:grid;grid-template-columns:1fr 1fr}
.receipt::before{content:"";position:absolute;left:0;right:0;top:-1px;height:6px;background:radial-gradient(circle at 6px -2px,var(--c-paper) 5px,transparent 5.5px) 0 0/12px 6px repeat-x}
.sb{padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.sb-result,.sb:nth-child(2){grid-column:1/-1;border-bottom:1px dashed var(--c-rule-2)}.sb:nth-child(3){border-right:1px dashed var(--c-rule-2)}
.sb-result{grid-column:1/-1;padding-top:18px}
.sb-k{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--c-muted);font-weight:800}.sb-k em{text-transform:none;font-weight:500;letter-spacing:0}
.sb-v{font:650 1.12rem/1.3 var(--font-display);font-variant-numeric:lining-nums tabular-nums}.sb-v .badge{font-family:var(--font-ui)}
.sb-result .sb-v{font-size:clamp(1.4rem,4vw,1.9rem);color:var(--c-green);line-height:1.15}.sb-n{font-size:.84rem;color:var(--c-ink-2)}
.warn{display:flex;gap:8px;align-items:flex-start;background:var(--c-rust-t);border:1px solid #E9B49A;color:var(--c-rust);border-radius:var(--r-md);padding:10px 14px;font-weight:600}
.prompt-box,.helper,.steps-box{background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-4) var(--sp-4);margin:var(--sp-5) 0;box-shadow:var(--sh-1)}
.helper{border:2px solid var(--c-ink);box-shadow:3px 3px 0 var(--c-saffron)}@media (min-width:600px){.helper{box-shadow:5px 5px 0 var(--c-saffron)}}.helper .kicker{margin-top:var(--sp-3)}.helper h2{margin-top:2px}
.prompt-box h2,.steps-box h2{margin-top:var(--sp-3)}
.hout-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.hout-head h2,.hout-head h3{margin:var(--sp-4) 0 var(--sp-2);display:flex;align-items:center;gap:8px}
.hout-head h3 .ic{color:var(--c-green)}
.prompt,.hout-text{white-space:pre-wrap;word-wrap:break-word;margin:0;font:14px/1.65 var(--font-mono);background:#1C1B18;color:#EDE7DA;border-radius:var(--r-md);padding:16px;max-height:540px;overflow:auto}
mark.ph{background:var(--c-saffron-t);color:var(--c-saffron-d);border-radius:4px;padding:0 3px}
.prompt mark.ph,.hout-text mark.ph{background:#4A3B12;color:#FFD772}
.hout-text .fill{background:rgba(124,196,138,.22);color:#C9F2D1;border-radius:4px;padding:0 3px;box-shadow:inset 0 -1.5px 0 #7CC48A}
.hform{display:grid;grid-template-columns:1fr;gap:var(--sp-3) var(--sp-4);margin:var(--sp-3) 0 var(--sp-2)}
.hf label{display:block;font-weight:700;font-size:.9rem;margin-bottom:4px}
.hf input,.hf select,.hf textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--c-rule-2);border-radius:var(--r-md);background:#FFFFFF;color:var(--c-ink);min-height:46px}
.hf input:focus,.hf select:focus,.hf textarea:focus{border-color:var(--c-ink);outline:3px solid var(--c-saffron-t);outline-offset:0}
.hf textarea{resize:vertical}.hform-actions{margin:0}
.hout{margin-top:var(--sp-2)}
.legal-note{background:var(--c-saffron-t);border-left:4px solid var(--c-saffron);color:#4A3500;border-radius:var(--r-sm);padding:8px 12px;font-size:.86rem;margin:4px 0 var(--sp-2)}
.steps{list-style:none;counter-reset:s;padding:0;margin:var(--sp-2) 0}
.steps li{counter-increment:s;position:relative;padding:12px 8px 12px 52px;border-bottom:1px solid var(--c-rule)}.steps li:last-child{border-bottom:0}
.steps li::before{content:counter(s);position:absolute;left:2px;top:9px;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--c-ink);color:var(--c-ink);font:700 1.05rem/1 var(--font-display);display:flex;align-items:center;justify-content:center}
.steps label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.steps input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--c-green)}
.steps input:checked+span{text-decoration:line-through;color:var(--c-muted)}
.next-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-3)}.next-grid>div{background:var(--c-card);border:1px solid var(--c-rule);border-top:3px solid var(--c-green);border-radius:var(--r-md);padding:2px var(--sp-4) var(--sp-2)}
.next-grid>div:last-child{border-top-color:var(--c-saffron)}.next-grid h3{margin:var(--sp-3) 0 var(--sp-1)}.next-grid ul,.cav{padding-left:1.2em}.next-grid li,.cav li{margin:.3em 0}
.examples{list-style:none;padding:0}.example{background:var(--c-card);border:1px solid var(--c-rule);border-left:3px solid var(--c-green);border-radius:var(--r-md);padding:12px 16px;margin:var(--sp-3) 0}.example p{margin:.35em 0}
.ex-result{font:650 1.08rem/1.35 var(--font-display);color:var(--c-green)}.ex-result .lbl{margin-right:8px;vertical-align:2px;font-family:var(--font-ui)}
.table-wrap{overflow-x:auto}.tools{width:100%;border-collapse:collapse;background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-md)}
.tools th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-muted);background:var(--c-sunk)}
.tools th,.tools td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--c-rule);vertical-align:top}
.sources{word-break:break-all;padding-left:1.2em}
.feedback{background:var(--c-sunk);border-radius:var(--r-lg);padding:var(--sp-1) var(--sp-5) var(--sp-4);margin-top:var(--sp-6)}.feedback h2{margin-top:var(--sp-4)}
.toc{display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--c-ink);padding:var(--sp-3) 0;margin-top:var(--sp-4);font-size:.94rem}.toc-h{margin:0;font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}
/* sponsor slots */
.sp{background:var(--c-card);border:1px solid var(--c-rule-2);border-radius:var(--r-md);padding:14px 16px;margin:var(--sp-5) 0;position:relative}
.sp p{margin:.2em 0}
.sp-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:var(--c-muted);font-weight:800;display:flex;align-items:center;gap:6px}
.sp-label::before{content:"";width:18px;height:1.5px;background:currentColor}
.sp-head{font:650 1.06rem/1.3 var(--font-display)}.sp-head a{color:var(--c-ink)}.sp-body{color:var(--c-ink-2);font-size:.92rem}
.sp-row{display:flex;gap:var(--sp-3);align-items:flex-start}.sp-logo{width:44px;height:44px;border-radius:var(--r-md);flex:none;object-fit:contain;background:#fff;border:1px solid var(--c-rule)}
.sp-logo-ph{display:flex;align-items:center;justify-content:center;font-size:.66rem;color:var(--c-muted);background:var(--c-sunk)}
.sp-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:var(--sp-2)!important}.sp-cta{font-weight:700;font-size:.9rem}.sp-by{color:var(--c-muted);font-size:.82rem}
.sp-disc{font-size:.75rem;color:var(--c-muted);margin-top:var(--sp-2)!important;padding-top:var(--sp-2);border-top:1px dashed var(--c-rule)}
.sp-house{background:transparent;border:1.5px dashed var(--c-rule-2);box-shadow:none}.sp-house .sp-head a{color:var(--c-green)}
.sp-strip{background:var(--c-sunk);border-color:var(--c-rule)}.sp-strip.sp-house{background:transparent}
.sp-card{margin:0;display:flex;flex-direction:column;border-radius:var(--r-lg)}
.sp-example{display:inline-block;background:var(--c-ink);color:var(--c-paper);border-radius:var(--r-sm);padding:2px 7px;font-size:.64rem;letter-spacing:.08em}
/* advertise */
.mock{border:1.5px dashed var(--c-rule-2);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-4) var(--sp-3);margin:var(--sp-4) 0;background:rgba(239,231,214,.45)}
.mock-h h3{margin:var(--sp-3) 0 2px}.mock-h p{margin:0 0 6px;color:var(--c-ink-2);font-size:.92rem}.mock-side{max-width:320px}
.note{background:var(--c-sunk);border-radius:var(--r-md);padding:10px 14px}.aud{padding-left:1.2em}.aud li{margin:.4em 0}
/* newsletter issue */
.issue{max-width:720px}.issue h1{font-size:var(--fs-2xl)}.issue blockquote{border-left:3px solid var(--c-saffron);margin:1em 0;padding:.3em 1em;background:var(--c-card)}
.issue pre{background:#1C1B18;color:#EDE7DA;padding:16px;border-radius:var(--r-md);white-space:pre-wrap;font:14px/1.6 var(--font-mono)}
/* footer */
.site-footer{border-top:2px solid var(--c-ink);background:var(--c-paper);padding:var(--sp-5) 0;color:var(--c-ink-2)}
.site-footer strong{font-family:var(--font-display)}
/* responsive */
@media (min-width:600px){.goals{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.how-steps{grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}.receipt{grid-template-columns:repeat(3,1fr)}.sb:nth-child(2){grid-column:auto;border-bottom:0;border-right:1px dashed var(--c-rule-2)}.hform{grid-template-columns:1fr 1fr}.hf-wide{grid-column:1/-1}.next-grid{grid-template-columns:1fr 1fr}}
@media (min-width:900px){main{padding-top:var(--sp-5)}.goals{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(3,1fr)}.case-layout{grid-template-columns:minmax(0,1fr) 290px}.case-side{display:block}.side-sticky{position:sticky;top:var(--sp-4)}.sp-mobile{display:none}.case .cards{grid-template-columns:repeat(2,1fr)}.sp-strip .sp-row{align-items:center}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.goal:hover,.card:hover{transform:none}}

@media (max-width:599px){
  nav[aria-label=Main]{gap:14px}nav[aria-label=Main] a{font-size:.9rem}nav[aria-label=Main] a:first-child{display:none}
  .goal{grid-template-columns:auto 1fr auto;min-height:58px;padding:10px 12px}.goal .g-icon{grid-row:auto;width:38px;height:38px}
  .g-count{grid-column:3;grid-row:1;white-space:nowrap}.g-label{font-size:.97rem}
  .display{font-size:2.3rem}.search input{font-size:1rem;padding:15px 14px 15px 48px}.search-icon{left:15px}
  .trust{flex-direction:column;gap:6px}
}

/* result kinds: only 'saving' is green */
.card-fig:not(.k-saving):not(.none) .fig{color:var(--c-ink);font-size:1.16rem}
.card-fig.k-outcome .lbl,.card-fig.k-contested .lbl,.card-fig.k-pending .lbl,.card-fig.k-estimate .lbl{color:var(--c-ink-2)}
.card-fig.k-estimate .lbl,.card-fig.k-pending .lbl{border-style:dashed}
.card-fig.k-failure .lbl,.card-fig.k-caution .lbl{color:var(--c-rust)}
.sb-result:not(.k-saving) .sb-v{color:var(--c-ink);font-size:clamp(1.25rem,3.4vw,1.6rem)}
.sb-result.k-failure,.sb-result.k-caution{background:linear-gradient(90deg,var(--c-rust) 0 4px,transparent 4px)}
.sb-result.k-estimate,.sb-result.k-pending,.sb-result.k-contested,.sb-result.k-outcome{background:linear-gradient(90deg,var(--c-rule-2) 0 4px,transparent 4px)}
@media (min-width:1000px){.hero .goals{grid-template-columns:repeat(5,1fr)}.hero .goal{grid-template-columns:1fr;grid-template-rows:auto auto auto;row-gap:8px;align-items:start;padding:16px}.hero .goal .g-icon{grid-row:auto}}
.card-fig.none{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.card-fig.none .sub{color:var(--c-muted);font-size:.84rem}
/* ---- 2026-10 phase 2: hubs, daily, glossary, featured listing ---- */
abbr[title]{text-decoration:underline dotted var(--c-rule-2);text-underline-offset:.2em;cursor:help}
.gloss{color:var(--c-muted);font-size:.94em}
.popular{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-2)}
.pop-h{flex-basis:100%;margin:0 0 2px;font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}
.popular .chip{font-size:.86rem;padding:6px 12px}
.chip-more{background:var(--c-green-t)!important;border-color:transparent!important;color:var(--c-green-d)!important}
.hub-links{font-size:var(--fs-sm);color:var(--c-ink-2);margin:-4px 0 var(--sp-3);display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.hub h1{max-width:24ch}
.answer{background:var(--c-card);border:1px solid var(--c-rule);border-left:5px solid var(--c-green);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-5) var(--sp-4);margin:var(--sp-4) 0 var(--sp-5);box-shadow:var(--sh-2);max-width:760px}
.answer-h{margin:var(--sp-3) 0 var(--sp-2);font-size:var(--fs-lg)}
.answer-steps{margin:0;padding:0;list-style:none;counter-reset:a}
.answer-steps li{counter-increment:a;position:relative;padding:6px 0 6px 38px;font-size:var(--fs-md);line-height:1.45}
.answer-steps li::before{content:counter(a);position:absolute;left:0;top:5px;width:26px;height:26px;border-radius:50%;background:var(--c-green);color:#fff;font:700 .85rem/26px var(--font-ui);text-align:center}
.answer-foot{margin:var(--sp-3) 0 0;padding-top:var(--sp-3);border-top:1px dashed var(--c-rule-2);font-weight:600}
.answer-foot a{font-family:var(--font-display);font-size:1.08rem}
.answer-jump{margin:var(--sp-3) 0 0;font-size:var(--fs-sm);display:flex;flex-wrap:wrap;gap:4px 10px}
ol.rank{list-style:none;padding:0;margin:var(--sp-3) 0 0}
.rank-item{position:relative;display:flex}
.rank-item>.card{flex:1}
.rank-n{position:absolute;top:-10px;left:-8px;z-index:1;width:28px;height:28px;border-radius:50%;background:var(--c-ink);color:var(--c-paper);font:700 .85rem/28px var(--font-ui);text-align:center;box-shadow:var(--sh-1)}
.say li{font-style:italic}
.faq-item{border-top:1px solid var(--c-rule);padding:var(--sp-2) 0}
.faq-item h3{margin:var(--sp-3) 0 var(--sp-1)}
.faq-item p{margin:.35em 0;max-width:70ch}
.h-sm{font-size:var(--fs-md);margin-top:var(--sp-5)}
.hub-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-3);margin-top:var(--sp-5)}
@media (min-width:640px){.hub-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.hub-grid{grid-template-columns:repeat(3,1fr)}}
.hub-tile{display:flex;flex-direction:column;gap:8px;background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-lg);padding:var(--sp-4);text-decoration:none;color:var(--c-ink);box-shadow:var(--sh-1)}
.hub-tile:hover{border-color:var(--c-green);color:var(--c-ink)}
.ht-q{font:650 var(--fs-md)/1.25 var(--font-display)}
.ht-res{font-size:var(--fs-sm);color:var(--c-green-d);font-weight:600}
.ht-n{margin-top:auto;font-size:var(--fs-sm);font-weight:700;color:var(--c-green)}
.daily-teaser{background:var(--c-saffron-t);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-5) var(--sp-3);margin:var(--sp-6) 0}
.daily-teaser .kicker{color:var(--c-saffron-d)}
.dt-title{margin:var(--sp-1) 0;font:650 var(--fs-lg)/1.25 var(--font-display)}
.dt-title a{color:var(--c-ink)}
.daily-teaser.compact{margin:var(--sp-5) 0}
.issue.daily{max-width:680px}
.issue.daily h1{font-size:var(--fs-xl)}
.issue.daily .kicker{margin-top:var(--sp-4)}
.prompt-box.mini{margin:var(--sp-3) 0;padding:var(--sp-2) var(--sp-3) var(--sp-3)}
.prompt-box.mini .hout-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 8px}
.pb-h{font-weight:700;font-size:var(--fs-sm)}
.issue-list{list-style:none;padding:0}.issue-list li{padding:10px 0;border-bottom:1px solid var(--c-rule)}
.issue-list time{display:block;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted)}
.prevnext{display:flex;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin:var(--sp-5) 0;font-size:var(--fs-sm)}
.pn-next{margin-left:auto;text-align:right}
.sp-feature{border:1px solid var(--c-rule-2);border-radius:var(--r-lg);background:var(--c-card);padding:var(--sp-3) var(--sp-4);margin:var(--sp-5) 0}
.spec td{vertical-align:top}.spec td:last-child{white-space:nowrap}
.foot-links a{font-weight:600}
@media (max-width:599px){
  nav[aria-label=Main]{gap:12px}nav[aria-label=Main] a{font-size:.86rem}
  .answer{padding:var(--sp-2) var(--sp-4) var(--sp-3)}
  .answer-steps li{font-size:var(--fs-base)}
  .rank-n{left:-4px}
  .spec td:last-child{white-space:normal}
}
.hub-helper{margin:0 0 var(--sp-3);font-size:var(--fs-sm);font-weight:600}
