/* Franchise Default Rates — one stylesheet. Direction: editorial data-reference
   (almanac, not dashboard). Spec palette only; system fonts; zero external assets. */
:root{
  --bg:#fafaf8;--ink:#1a1a1a;--muted:#5b5e63;--accent:#1a4b8c;--hot:#b3261e;
  --border:#d8d5cd;--rule:#e6e3db;--surface:#f2f0ea;--surface-2:#e9e6de;--accent-ink:#fff;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --measure:760px;--wide:960px;--r:2px;
  --s1:.25rem;--s2:.5rem;--s3:1rem;--s4:1.5rem;--s5:2.25rem;--s6:3.5rem;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--sans);font-variant-numeric:tabular-nums lining-nums;position:relative}
/* grain: inline SVG turbulence, very low contrast, no request */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.045;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
body>*{position:relative;z-index:1}
a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em;transition:text-decoration-color .2s var(--ease)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r)}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:var(--s2) var(--s3);z-index:9}
.skip:focus{left:var(--s3);top:var(--s3)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--s3);text-wrap:balance}
h1{font-size:clamp(1.9rem,1.2rem + 2.6vw,2.9rem);letter-spacing:-.025em;margin-top:var(--s2)}
h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.7rem);margin-top:var(--s6)}
h3{font-size:1.15rem;margin-top:var(--s4)}
p,ul,ol{margin:0 0 var(--s3)}
small,.small{font-size:.86rem;color:var(--muted)}
.wrap{max-width:var(--measure);margin:0 auto;padding:0 var(--s4)}
.wide{max-width:var(--wide);margin:var(--s4) auto;padding:0 var(--s4)}
/* header / footer */
.site-header{border-bottom:1px solid var(--border);background:var(--bg)}
.site-header .bar{max-width:var(--wide);margin:0 auto;padding:var(--s3) var(--s4);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:baseline;justify-content:space-between}
.brand{font-family:var(--serif);font-size:1.2rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.brand:hover{text-decoration:underline}
.nav{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);font-size:.95rem}
.nav a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s var(--ease)}
.nav a:hover{border-bottom-color:var(--ink)}
.nav a.go{color:var(--accent);font-weight:600}
.site-footer{border-top:1px solid var(--border);margin-top:var(--s6);padding:var(--s5) 0 var(--s6);font-size:.86rem;color:var(--muted)}
.site-footer p{max-width:var(--wide);margin:0 auto;padding:0 var(--s4)}
/* kicker + freshness */
.kicker{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:var(--s5) 0 var(--s2)}
.kicker a{color:inherit}
.crumbs{font-size:.86rem;color:var(--muted);margin:var(--s4) 0 0}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--s2)}
.crumbs li+li::before{content:"›";margin-right:var(--s2);color:var(--border)}
/* signature: headline stat + answer box */
.stat{margin:var(--s4) 0 var(--s4);padding:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:auto 1fr;gap:0 var(--s4);align-items:end}
.stat-num{font-family:var(--serif);font-size:clamp(80px,3rem + 6vw,96px);line-height:.95;letter-spacing:-.035em;font-weight:400;font-variant-numeric:tabular-nums lining-nums;padding-top:var(--s3)}
.stat-num.hot{color:var(--hot)}
.stat-label{font-size:.9rem;color:var(--muted);max-width:44ch;padding-bottom:.4em;line-height:1.4}
.stat.counts .stat-num{font-size:clamp(2.8rem,1.6rem + 4.5vw,4.4rem)}
.cchart{margin:var(--s3) 0 var(--s4)}.cchart svg{display:block;width:100%;max-width:640px;height:auto}.cchart .narrow{display:none}
@media(max-width:640px){.cchart .wide{display:none}.cchart .narrow{display:block}}
.cchart figcaption,.cchart .cap{font-size:.86rem;color:var(--muted);margin:0 0 var(--s2)}.cchart .cap{margin-top:var(--s3)}.cchart .src{font-size:12px;color:var(--muted);margin:var(--s1) 0 0}
.nums summary{font-size:.86rem;color:var(--accent);cursor:pointer;margin-top:var(--s2)}.wrap .nums .tablewrap{margin-inline:0}.nums table{min-width:0;max-width:640px}
.answer{border-left:3px solid var(--accent);background:var(--surface);padding:var(--s3) var(--s4);margin:0 0 var(--s4);font-size:1.02rem;border-radius:0 var(--r) var(--r) 0}
/* key figures list */
.figures{list-style:none;padding:0;margin:0 0 var(--s4);border-top:1px solid var(--rule)}
.figures li{padding:var(--s2) 0;border-bottom:1px solid var(--rule);display:flex;gap:var(--s2) var(--s3);justify-content:space-between;flex-wrap:wrap}
.figures li span{flex:1 1 16ch}
.figures b{font-family:var(--serif);font-weight:500;font-size:1.05rem;white-space:nowrap;margin-left:auto;font-variant-numeric:tabular-nums lining-nums}
/* tables */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--s3) 0 var(--s4);border-top:1px solid var(--ink)}
/* inside the 760px prose column, tables may bleed out to 960px on wide screens (spec) */
.wrap .tablewrap{margin-inline:calc(-1 * clamp(0px,(100vw - var(--measure) - 3rem)/2,100px))}
table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:520px;font-variant-numeric:tabular-nums lining-nums}
.tablefig{margin:var(--s3) 0 var(--s4)}
.tablefig figcaption{font-size:.86rem;color:var(--muted);padding:0 0 var(--s2)}
.tablefig .tablewrap{margin-top:0}
th,td{padding:.5rem .6rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
th{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:var(--muted);white-space:nowrap}
tbody tr:nth-child(even){background:var(--surface)}
tbody tr:hover{background:var(--surface-2)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums lining-nums}
td:first-child{min-width:11rem}
td.hot{color:var(--hot);font-weight:600}
th button{all:unset;cursor:pointer;display:inline-block;padding-right:1.1em;position:relative;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
th button::after{content:"↕";position:absolute;right:0;top:0;opacity:.45}
th[aria-sort="ascending"] button::after{content:"↑";opacity:1;color:var(--accent)}
th[aria-sort="descending"] button::after{content:"↓";opacity:1;color:var(--accent)}
th button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tabletools{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap;margin:var(--s3) 0}
.tabletools input{font:inherit;padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--r);background:#fff;min-width:16rem;color:var(--ink)}
.tabletools input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(26,75,140,.15)}
.count{font-size:.86rem;color:var(--muted)}
/* recent strip / caveat / how-to-read */
.recent{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--s3) 0;margin:var(--s4) 0}
.caveat{font-size:.95rem;color:var(--muted);border-left:3px solid var(--border);padding-left:var(--s3)}
/* full-bleed section tint (brand pages): content column stays centered; no borders/radius at full bleed */
html{overflow-x:clip}
.band,.cta.tint{background:var(--surface);margin-inline:calc(50% - 50vw);padding:var(--s4) calc(50vw - 50%)}
.band{margin-block:var(--s4) var(--s5)}.band .cchart{margin-top:0}.band .answer{background:transparent;padding-right:0;margin-bottom:0}
.cta.tint{border:0;border-radius:0;padding-block:var(--s5)}
/* CTA */
.cta{border:1px solid var(--ink);border-radius:var(--r);padding:var(--s4) var(--s4) var(--s4);margin:var(--s6) 0;background:#fff}
.cta h2{margin-top:0}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:600;padding:.75rem 1.2rem;border-radius:var(--r);border:1px solid var(--accent);transition:transform .15s var(--ease),background .15s var(--ease)}
.btn:hover{background:#163f77;text-decoration:none;transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline-offset:4px}
.cta .small{display:block;margin-top:var(--s2)}
/* FAQ + cite + related */
.faq dt{font-weight:600;margin-top:var(--s3)}
.faq dd{margin:0 0 var(--s2)}
.cite{background:var(--surface);border-radius:var(--r);padding:var(--s3) var(--s4);margin:var(--s5) 0;font-size:.92rem}
.cite code{font-family:var(--mono);font-size:.84rem;word-break:break-word}
.related ul{list-style:none;padding:0;margin:0;columns:2;column-gap:var(--s4)}
.related li{break-inside:avoid;padding:var(--s1) 0;border-bottom:1px solid var(--rule)}
.related li span{color:var(--muted);font-size:.86rem;margin-left:var(--s2)}
/* hub */
.lede{font-family:var(--serif);font-size:clamp(1.15rem,1rem + .7vw,1.4rem);line-height:1.45;letter-spacing:-.005em}
.findings{padding-left:1.2rem}
.findings li{margin-bottom:var(--s2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.toplinks{display:flex;gap:var(--s3);flex-wrap:wrap;margin:var(--s3) 0 var(--s4)}
.toplinks a{border:1px solid var(--border);border-radius:var(--r);padding:.4rem .8rem;text-decoration:none;font-size:.92rem;background:#fff}
.toplinks a:hover{border-color:var(--ink)}
.industries{columns:2;column-gap:var(--s4);padding-left:1.1rem;font-size:.95rem}
.industries li{break-inside:avoid;padding:.15rem 0}
/* teardown */
.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:var(--s3) 0;margin:var(--s4) 0}
.terms b{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:500}
.terms span{font-size:.86rem;color:var(--muted)}
.checklist{padding-left:1.2rem}.checklist li{margin-bottom:var(--s2)}
.glance{font-family:var(--serif);font-size:1.15rem;line-height:1.4;margin:0 0 var(--s3);letter-spacing:-.005em}
.ctarow{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center;margin:var(--s4) 0}
.outline{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:var(--s4);margin:var(--s3) 0 var(--s4)}
/* sales-page hero: two columns from 900px (bleeds to the 960px wide column); the report fragment is cropped, not shrunk */
.hero{display:grid;gap:0 var(--s5);align-items:start}
.hero .kicker{margin-top:var(--s5)}
.frag{order:1;margin:var(--s3) 0 var(--s4);border-radius:0}.outline.frag .five{grid-template-columns:1fr;gap:.2rem}
.frag .verdict{margin-bottom:var(--s3)}.hero .ctarow{margin-top:var(--s3)}.hero .terms{margin-top:var(--s3)}
@media(min-width:900px){.hero{grid-template-columns:1fr 21.5rem;margin-inline:calc(-1 * clamp(0px,(100vw - var(--measure) - 3rem)/2,100px))}.frag{grid-column:2;grid-row:1/span 5;margin-top:var(--s5)}}
.outline .mast{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);padding-bottom:var(--s2);margin:0 0 var(--s3)}
.outline .mast span{color:var(--ink);font-weight:600}
.outline .verdict{border:1px solid var(--ink);border-radius:var(--r);padding:var(--s3) var(--s4);margin:0 0 var(--s3)}
.outline .verdict .kicker{margin:0 0 var(--s1)}.outline em{font-style:normal;color:var(--accent);margin-left:var(--s2)}
.outline .call{font-family:var(--serif);font-size:1.7rem;letter-spacing:-.02em;line-height:1.1;margin:0 0 var(--s2)}
.outline .verdict ol{margin:0;padding-left:1.2rem;font-size:.92rem}.outline .verdict .small{margin:var(--s2) 0 var(--s1)}
.outline .five{list-style:none;padding:0;margin:0 0 var(--s3);display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s2);font-size:.8rem;color:var(--muted)}
.outline .five li{border-top:1px solid var(--rule);padding-top:var(--s1)}
.toc{list-style:none;padding:0;margin:0;font-size:.92rem}
.toc li{display:flex;gap:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--rule)}
.toc b{font-family:var(--serif);font-weight:500;color:var(--muted);flex:0 0 3.6rem;font-variant-numeric:tabular-nums}
.steps{list-style:none;padding:0;margin:0 0 var(--s4);counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.steps li{counter-increment:step;border-top:1px solid var(--ink);padding-top:var(--s2)}
.steps li::before{content:counter(step);display:block;font-family:var(--serif);font-size:1.5rem;color:var(--muted);line-height:1}
.steps b{display:block;margin:var(--s1) 0}.steps span{font-size:.92rem;color:var(--muted)}
.guarantee{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);background:var(--surface);border-radius:var(--r);padding:var(--s3) var(--s4);margin:var(--s4) 0}
.guarantee b{display:block;font-family:var(--serif);font-weight:500;font-size:1.05rem}.guarantee span{font-size:.86rem;color:var(--muted)}
@media(max-width:700px){.grid2,.terms,.steps,.guarantee{grid-template-columns:1fr}.outline .five{grid-template-columns:1fr 1fr}.related ul,.industries{columns:1}.stat{grid-template-columns:1fr}.stat-label{max-width:none}}
@media print{.site-header,.cta,.ctarow,.tabletools,.skip{display:none}body::before{display:none}}

.pick{display:flex;flex-direction:column;gap:.15rem}.pick .small{color:var(--muted)}.pick input{min-width:18rem;padding:.7rem .8rem}
.hero.solo{grid-template-columns:1fr;margin-inline:0}
