/* franchise.bg – "shopfront" design: brick awning red, paper ivory, ink brown, mustard stripe. Tokens in docs/DESIGN.md. */
@font-face{font-family:"Commissioner";font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/commissioner-cyrillic-wght-normal.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Commissioner";font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/commissioner-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";font-style:normal;font-display:optional;font-weight:200 900;src:url(/fonts/unbounded-cyrillic-wght-normal.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-display:optional;font-weight:200 900;src:url(/fonts/unbounded-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--bg:#faf6ef;--surface:#fffdf9;--sunk:#f3ecdf;--ink:#1f1a17;--muted:#5c5249;--line:#e3d7c5;--brand:#a63d2a;--brand-2:#8a2f1f;--link:#9a3524;--accent:#e9b949;--olive:#46602f;--olive-bg:#e8eedd;--paid-bg:#fbecc8;--paid-ink:#6b4300;--shadow:0 1px 2px rgba(60,40,20,.06),0 6px 18px rgba(60,40,20,.06);--r:12px;--head:"Unbounded",system-ui,sans-serif;--body:"Commissioner",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#15110e;--surface:#1f1915;--sunk:#2a221c;--ink:#f1e9de;--muted:#bcb0a2;--line:#3b3129;--brand:#c4553e;--brand-2:#e58a6f;--link:#f0a18a;--accent:#e9b949;--olive:#a9c48b;--olive-bg:#26301d;--paid-bg:#3a2d12;--paid-ink:#f3cf7e;--shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#15110e;--surface:#1f1915;--sunk:#2a221c;--ink:#f1e9de;--muted:#bcb0a2;--line:#3b3129;--brand:#c4553e;--brand-2:#e58a6f;--link:#f0a18a;--accent:#e9b949;--olive:#a9c48b;--olive-bg:#26301d;--paid-bg:#3a2d12;--paid-ink:#f3cf7e;--shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.62 var(--body);overflow-wrap:break-word}
img,svg{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.2;letter-spacing:-.01em;margin:1.6em 0 .55em}
h1{font-size:clamp(1.55rem,1.1rem + 2.2vw,2.45rem);margin-top:.4em}
h2{font-size:clamp(1.18rem,1rem + .8vw,1.5rem)}
h3{font-size:1.06rem;font-family:var(--body);font-weight:700;letter-spacing:0}
p,ul,ol{margin:0 0 1em}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.wrap{max-width:1160px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:.5em 1em;z-index:10}.skip:focus{left:8px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.small,.meta{font-size:.9rem;color:var(--muted)}
.lead{font-size:1.14rem;color:var(--muted);max-width:62ch}
.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .4em;font-weight:600}
.eyebrow a{color:inherit}

/* header */
header.site{background:var(--surface);border-bottom:1px solid var(--line);position:relative}
header.site::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:repeating-linear-gradient(90deg,var(--brand) 0 18px,var(--accent) 18px 36px);opacity:.9}
.bar{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;margin-right:auto}
.brand .mark{width:36px;height:36px;flex:none}
.brand b{font-family:var(--head);font-weight:700;font-size:1.12rem;letter-spacing:-.02em;display:block;line-height:1.1}
.brand b i,.f-brand i{font-style:normal;color:var(--brand)}
.brand small{display:block;color:var(--muted);font-size:.78rem;line-height:1.2}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
nav.main a{display:block;padding:.45em .7em;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
nav.main a:hover{background:var(--sunk)}
nav.main a[aria-current]{background:var(--ink);color:var(--bg)}
.menu-btn{display:none;align-items:center;gap:8px;font:inherit;font-weight:600;background:none;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:.4em .75em;min-height:44px;cursor:pointer}
.bars,.bars::before,.bars::after{display:block;width:18px;height:2px;background:currentColor;position:relative}
.bars::before,.bars::after{content:"";position:absolute;left:0}.bars::before{top:-6px}.bars::after{top:6px}
@media (max-width:900px){.menu-btn{display:inline-flex}nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);z-index:5;padding:8px 16px 16px}nav.main.open{display:block}nav.main ul{flex-direction:column}nav.main a{padding:.7em .6em}}

main{padding-bottom:3rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.2em .5em;padding:0;margin:1.4rem 0 0;font-size:.88rem;color:var(--muted)}
.crumbs li+li::before{content:"›";margin-right:.5em}
.crumbs a{color:var(--muted)}
.phead{margin:1rem 0 1.5rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;padding:.55em 1.1em;border-radius:10px;border:2px solid var(--brand);background:var(--brand);color:#fff;font:700 1rem/1.2 var(--body);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--brand-2);border-color:var(--brand-2);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink);background:transparent;color:var(--ink)}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--link);text-decoration:underline;cursor:pointer}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:1.2em 0}

/* hero */
.hero{background:var(--surface);border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:center;padding-top:2.4rem;padding-bottom:2.4rem}
.hero h1{font-size:clamp(1.6rem,1.05rem + 2.6vw,2.7rem);margin:.2em 0 .5em}
.hero-search{display:flex;gap:8px;max-width:560px;margin:1.2em 0}
.hero-search input{flex:1;min-width:0;min-height:48px;border:2px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;padding:.5em .8em}
.hero-search input:focus{border-color:var(--brand);outline:none}
.hero-stats{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:.95rem}
.hero-stats b{font-family:var(--head);color:var(--ink);font-size:1.15rem;margin-right:.2em}
.street{width:100%;max-width:380px;display:block;margin-left:auto}
.street .row rect{fill:var(--sunk);stroke:var(--line);stroke-width:2}
.street .awn path{fill:var(--brand)}
.street .stripe path{fill:var(--accent)}
.street .win rect{fill:var(--bg);stroke:var(--line);stroke-width:2}
.street .door rect{fill:var(--ink);opacity:.85}
.street .ground{stroke:var(--ink);stroke-width:3}
@media (max-width:760px){.hero-in{grid-template-columns:1fr;padding-top:1.4rem;padding-bottom:1.6rem}.hero-art{display:none}}

/* blocks */
.block{margin:2.6rem 0}
.bhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.bhead h2{margin:0 0 .8rem}
.bhead a{font-weight:600}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.chips a{display:inline-flex;gap:.5em;align-items:center;padding:.5em .85em;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600;min-height:44px}
.chips a:hover{border-color:var(--brand)}
.chips span{font-family:var(--head);font-size:.82rem;color:var(--brand-2);font-weight:600}
:root[data-theme="dark"] .chips span{color:var(--link)}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.cols3 h2{margin-top:0;font-size:1.15rem}.cols3 h2 a{color:var(--ink);text-decoration:none}
.links{padding-left:1.1em}.links li{margin:.35em 0}
@media (max-width:860px){.cols3{grid-template-columns:1fr;gap:8px}}
.owners{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start;background:var(--olive-bg);border-radius:var(--r);padding:24px}
.owners h2{margin-top:0}
@media (max-width:760px){.owners{grid-template-columns:1fr;padding:18px}}
.how ol{counter-reset:h;list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.how li{counter-increment:h;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;font-size:.95rem}
.how li::before{content:counter(h);display:block;font-family:var(--head);font-weight:700;color:var(--brand);font-size:1.3rem}
@media (max-width:860px){.how ol{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.how ol{grid-template-columns:1fr}}

/* boxes */
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:0 0 1rem}
.box h2,.box h3{margin-top:0;font-size:1.02rem;font-family:var(--body);font-weight:700}
.note-box{background:var(--paid-bg);color:var(--ink);border-left:4px solid var(--accent);padding:12px 16px;border-radius:8px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:2rem}
@media (max-width:700px){.split{grid-template-columns:1fr}}
.paid{display:inline-block;background:var(--paid-bg);color:var(--paid-ink);font-size:.8rem;font-weight:700;padding:.15em .6em;border-radius:6px;margin:.4em 0}

/* franchise cards */
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.fcard{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.fcard::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:8px;border-radius:var(--r) var(--r) 0 0;background:repeating-linear-gradient(90deg,var(--brand) 0 16px,var(--accent) 16px 32px)}
.fcard.featured{border-color:var(--accent);border-width:2px}
.fcard[hidden]{display:none}
.fc-top{display:flex;justify-content:space-between;gap:8px;font-size:.78rem}
.tag{font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.74rem;margin:0}
.kind{border-radius:6px;padding:.05em .5em;font-weight:600}
.kind-franchise{background:var(--sunk);color:var(--ink)}
.kind-partner{background:var(--olive-bg);color:var(--olive)}
.fcard h3{font-family:var(--head);font-weight:600;font-size:1.12rem;margin:.45em 0 .1em}
.fcard h3 a{color:var(--ink);text-decoration:none}
.fcard h3 a::after{content:"";position:absolute;inset:0}
.fcard h3 a:hover{color:var(--brand)}
.fc-sub{font-size:.88rem;color:var(--muted);margin:0 0 .5em}
.fc-sum{font-size:.95rem;margin:0 0 .8em;flex:1}
.fc-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;border-top:1px dashed var(--line);padding-top:.6em}
.fc-facts div{display:flex;flex-direction:column}
.fc-facts dt{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.fc-facts dd{margin:0;font-family:var(--head);font-weight:600;font-size:.98rem}
.vat{font-family:var(--body,inherit);font-weight:400;font-size:.74rem;color:var(--muted);white-space:nowrap}
.fc-nofacts{font-size:.86rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:.6em;margin:0}

/* filters */
.filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:0 0 .6rem}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;color:var(--muted)}
.filters input[type=search],.filters select,.fld input,.fld select,.cmp-pick select{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit;font-size:1rem;padding:.35em .6em;width:100%}
.filters .f-chk{flex-direction:row;align-items:center;gap:8px;grid-column:1/-1;font-size:.92rem;color:var(--ink)}
.f-chk input{width:20px;height:20px;accent-color:var(--brand)}
.count{font-weight:600;margin:.4em 0 1em}
@media (max-width:900px){.filters{grid-template-columns:1fr 1fr}.filters .f-q{grid-column:1/-1}}
@media (max-width:340px){.filters{grid-template-columns:1fr}}
.empty{padding:1em;background:var(--sunk);border-radius:8px}

/* listing page */
.lhead h1 .alt{font-weight:400;color:var(--muted);font-size:.7em}
.checked{font-size:.9rem;color:var(--olive);font-weight:600}
.lgrid{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}
.lgrid h2{margin-top:.6em}
@media (max-width:860px){.lgrid{grid-template-columns:1fr}}
.kv{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.kv th,.kv td{text-align:left;vertical-align:top;padding:.65em .8em;border-bottom:1px solid var(--line);font-size:.98rem}
.kv th{width:36%;font-weight:600;color:var(--muted);background:var(--sunk)}
.kv tr:last-child th,.kv tr:last-child td{border-bottom:0}
.norm{display:block;font-family:var(--head);font-weight:600;font-size:.92rem;margin-top:.2em}
.na{color:var(--muted);font-style:italic}
.cta .btn{width:100%}
ul.plain{list-style:none;padding:0;font-size:.95rem}ul.plain li{margin:.4em 0}
.qs li{margin:.4em 0}
.cities{font-size:.95rem}

/* tables */
.tbl-wrap{overflow-x:auto;margin:0 0 1.2em;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.tbl{width:100%;border-collapse:collapse;font-size:.95rem}
.tbl th,.tbl td{padding:.6em .75em;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl thead th{background:var(--sunk);font-size:.85rem}
.tbl tbody tr:last-child>*{border-bottom:0}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.tbl caption{text-align:left;padding:.6em .75em;font-weight:600}
.terms-table td{white-space:nowrap}
@media (max-width:700px){.terms-table td{white-space:normal}}

/* articles */
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;align-items:start}
.art-main{max-width:72ch}
.art-side{position:sticky;top:16px}
@media (max-width:960px){.art-grid{grid-template-columns:1fr}.art-side{position:static}}
.ahead{margin:1rem 0 1.4rem;max-width:72ch}
.ahead h1{margin:.15em 0 .4em}
.art.plain{max-width:72ch}
.art h2{scroll-margin-top:16px}
.summary{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--brand);border-radius:var(--r);padding:12px 18px;margin:0 0 1.4em}
.summary h2{font-size:1rem;margin:.3em 0;font-family:var(--body);font-weight:700}
.summary ul{margin:0;padding-left:1.1em}
.toc{background:var(--sunk);border-radius:var(--r);padding:12px 18px;margin:0 0 1.4em;font-size:.95rem}
.toc ol{margin:.3em 0 0;padding-left:1.3em}
.faq details{border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:0 0 8px}
.faq summary{cursor:pointer;padding:.7em 1em;font-weight:700;min-height:44px;display:flex;align-items:center}
.faq details p{padding:0 1em 1em;margin:0}
.sources{font-size:.92rem;padding-left:1.3em}.sources li{margin:.35em 0}
.disclaimer{border-top:1px solid var(--line);padding-top:1em;margin-top:2em}
.tools-box ul{padding-left:1.1em;margin:0}
.art-side .box ul{padding-left:1.1em;margin:0;font-size:.95rem}.art-side .box li{margin:.35em 0}
figure.photo{margin:0 0 1.5em}figure.photo img{border-radius:var(--r)}

/* article lists */
.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.acard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.acard h3{margin:.2em 0 .4em}
.acard p{font-size:.94rem;color:var(--muted);margin:0}
.alist{display:grid;gap:4px;max-width:860px}
.arow{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.arow .no{font-family:var(--head);font-weight:700;font-size:1.4rem;color:var(--brand)}
.arow h2{margin:0 0 .25em;font-size:1.12rem}
.arow h2 a{color:var(--ink);text-decoration:none}.arow h2 a:hover{color:var(--brand)}
.arow p{margin:0;color:var(--muted);font-size:.96rem}

/* tool cards */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.tcard{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;min-height:120px}
.tcard:hover{border-color:var(--brand)}
.tcard b{font-size:1.02rem}
.tcard span:last-child{font-size:.9rem;color:var(--muted)}
.ticon{width:28px;height:28px;border-radius:8px;background:var(--brand);position:relative;margin-bottom:6px}
.ticon::after{content:"";position:absolute;inset:7px;border:2px solid #fff;border-radius:3px}
.ticon-check::after{border-width:0 0 3px 3px;inset:8px 7px 11px 8px;transform:rotate(-45deg);border-radius:0}
.ticon-calc::after{border-radius:2px;background:linear-gradient(#fff,#fff) 50% 30%/60% 2px no-repeat}
.ticon-list::after{border:0;background:linear-gradient(#fff,#fff) 0 2px/100% 2px no-repeat,linear-gradient(#fff,#fff) 0 7px/100% 2px no-repeat,linear-gradient(#fff,#fff) 0 12px/70% 2px no-repeat}
.ticon-tax::after{border-radius:50%}
.ticon-quiz::after{border-radius:50% 50% 50% 0}
.ticon-shop{background:var(--olive)}

/* tools */
.toolwrap{max-width:900px}
.quiz .q{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin:0 0 12px;padding:12px 16px}
.quiz legend{font-weight:700;display:flex;gap:10px;align-items:baseline;padding:0 4px}
.qn{font-family:var(--head);color:var(--brand);min-width:1.6em}
.opt{display:flex;gap:10px;align-items:center;padding:.4em .2em;min-height:44px;cursor:pointer;border-radius:8px}
.opt:hover{background:var(--sunk)}
.opt input{width:20px;height:20px;accent-color:var(--brand);flex:none}
.result{background:var(--surface);border:2px solid var(--brand);border-radius:var(--r);padding:16px 20px;margin:1rem 0}
.result:empty{display:none}
.result h2{margin-top:.2em}
.bars-r{display:grid;gap:8px;margin:1em 0}
.bar-r{display:grid;grid-template-columns:160px 1fr 52px;gap:10px;align-items:center;font-size:.95rem}
.bar-r .tr{height:10px;background:var(--sunk);border-radius:6px;overflow:hidden}
.bar-r .fill{height:100%;background:var(--brand)}
@media (max-width:520px){.bar-r{grid-template-columns:1fr 52px}.bar-r .tr{grid-column:1/-1;order:3}}
.calc-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){.calc-cols{grid-template-columns:1fr}}
.calc fieldset{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:12px 16px;margin:0}
.calc legend{font-weight:700;padding:0 4px}
.fld{display:block;margin:0 0 10px}
.fld>span:first-child{display:block;font-weight:600;font-size:.94rem;margin-bottom:3px}
.fld .inp{display:flex;align-items:center;gap:8px}
.fld .inp i{font-style:normal;color:var(--muted);font-size:.88rem;white-space:nowrap}
.fld small{display:block;color:var(--muted);font-size:.84rem}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:.6em 0 1em}
.kpi{background:var(--sunk);border-radius:10px;padding:10px 12px}
.kpi span{display:block;font-size:.82rem;color:var(--muted)}
.kpi b{font-family:var(--head);font-weight:600;font-size:1.2rem}
.kpi.bad b{color:var(--brand)}
.kpi.good b{color:var(--olive)}
.method{margin-top:2rem;max-width:72ch;font-size:.97rem}
.checklist .grp{margin:0 0 1.2em}
.checklist h2{font-size:1.08rem;margin:1.2em 0 .5em;display:flex;justify-content:space-between;gap:10px}
.checklist h2 small{font-family:var(--body);color:var(--muted);font-weight:600}
.checklist .item{display:flex;gap:10px;align-items:flex-start;padding:.55em .7em;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:0 0 6px}
.checklist .item input{width:22px;height:22px;margin-top:.15em;accent-color:var(--olive);flex:none}
.checklist .item label{flex:1;cursor:pointer}
.checklist .item a{font-size:.86rem;white-space:nowrap}
.checklist .item.done label{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line)}
.progress{position:sticky;top:0;z-index:2;background:var(--bg);padding:8px 0;font-weight:700}
.progress .tr{height:8px;background:var(--sunk);border-radius:6px;overflow:hidden;margin-top:4px}
.progress .fill{height:100%;background:var(--olive);transition:width .2s}
.cmp-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 1rem}
.cmp-pick label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.88rem}
@media (max-width:700px){.cmp-pick{grid-template-columns:1fr}}
.cmp-out th{width:22%}
.gloss div{border-bottom:1px solid var(--line);padding:12px 0;scroll-margin-top:12px}
.gloss dt{font-family:var(--head);font-weight:600;font-size:1.05rem}
.gloss dd{margin:.3em 0 0;max-width:75ch}
.az{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1rem}
.az a{font-size:.88rem;padding:.3em .6em;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);background:var(--surface)}

/* footer */
footer.site{background:#1f1a17;color:#efe6d8;margin-top:3rem;padding:2.4rem 0 1.4rem;font-size:.95rem}
footer.site a,footer.site .linkish{color:#f3c7a5}
footer.site h2{font-family:var(--body);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#cdbfae;margin:0 0 .6em}
footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin:.35em 0}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}
footer .f-brand{display:flex;align-items:center;gap:10px;font-family:var(--head);font-size:1.1rem;margin:0 0 .6em}
footer .f-brand i{color:#f3c7a5}
footer .f-brand .mark{width:32px;height:32px}
footer .fine{border-top:1px solid #3d332b;margin-top:2rem;padding-top:1rem;font-size:.85rem;color:#cdbfae}
@media (max-width:860px){footer .cols{grid-template-columns:1fr 1fr}footer .about{grid-column:1/-1}}
@media (max-width:420px){footer .cols{grid-template-columns:1fr}}

/* consent */
.ck{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:flex;justify-content:center}
.ck[hidden]{display:none}
.ck-in{max-width:720px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 30px rgba(0,0,0,.25);padding:14px 16px;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.ck-in p{margin:0;flex:1 1 300px;font-size:.95rem}
.ck-b{display:flex;gap:8px}
.ck-b button{min-height:44px;padding:.4em 1em;border-radius:10px;border:2px solid var(--brand);background:var(--brand);color:#fff;font:700 .95rem var(--body);cursor:pointer}
.ck-b button.ghost{background:transparent;color:var(--ink);border-color:var(--line)}

@media print{header.site,footer.site,.crumbs,.actions,.filters,.ck,.art-side,.menu-btn{display:none!important}body{background:#fff;color:#000}.checklist .item{break-inside:avoid;border-color:#999}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
