/* Muay Thai Atlas — content + commerce screens (guides, glossary, courses, blog, events, tools, shop, reviews, static pages).
   Builds on the tokens and components in site.css; owns nothing there. Design ref: design_handoff screens 05, 06, 07. */

/* ---------- page head ---------- */
.c-head{padding:16px 0 24px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.c-head .t{display:flex;flex-direction:column;gap:10px;min-width:0;max-width:760px}
.c-head h1{font-size:clamp(30px,4.5vw,48px);line-height:1}
.c-head p{margin:0;font-size:15px;color:var(--muted);max-width:64ch;line-height:1.6}
.c-head .mono{font-size:12px}
.c-head .act{display:flex;gap:8px;flex-wrap:wrap}
.c-head--flush{padding-top:40px}
@media (max-width:700px){.c-head{padding:8px 0 16px;gap:14px}.c-head--flush{padding-top:20px}.c-head .act,.c-head .act .btn{width:100%}}
.c-sec{margin-top:48px}
.c-sec>.sec-head{margin-bottom:16px}
@media (max-width:700px){.c-sec{margin-top:32px}}
.c-label{font-family:var(--font-head);font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);display:block}
.c-label.gold{color:var(--gold)}.c-label.muted{color:var(--muted)}
.c-chipbar{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin:0 0 16px}
.c-chipbar::-webkit-scrollbar{display:none}
.c-chipbar>*{flex:none}
.c-chipbar a{height:44px;padding:0 14px;border:1px solid var(--line2);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:14px;display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}
.c-chipbar a:hover{border-color:var(--gold);color:var(--text)}
.c-chipbar a[aria-current]{border-color:var(--gold);color:var(--gold)}
.c-chipbar .n{color:var(--muted);font-size:12px;margin-left:6px}

/* ---------- guides hub ---------- */
.c-clusters{display:flex;flex-direction:column;gap:32px}
.cluster-row{scroll-margin-top:16px}
.cluster-row .lbl a.arrow{min-height:44px;display:inline-flex;align-items:center}
.cluster-row .lbl .eyebrow{font-size:12px;letter-spacing:.16em}
.guide-card .art .cap{position:relative;z-index:1}
.guide-card .art.icon img{position:static;width:56px;height:56px;object-fit:contain;opacity:.95}
.guide-card .txt .m{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.c-hub-extra{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.c-hub-extra .panel{display:flex;flex-direction:column;gap:8px}
.c-hub-extra .panel p{margin:0;font-size:14px;color:var(--muted);line-height:1.5}
.c-hub-extra .panel .btn{margin-top:auto;align-self:flex-start}
@media (max-width:900px){.c-hub-extra{grid-template-columns:1fr}}
.c-cluster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:900px){.c-cluster-grid{grid-template-columns:1fr}}

/* ---------- technique guide ---------- */
.guide-grid{padding-top:24px}
.toc-col{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;scrollbar-width:thin}
.toc .toc{padding:0}
.toc-m-wrap{display:none}
@media (max-width:1100px){.toc-m-wrap{display:block}}
.g-art{display:flex;flex-direction:column;gap:24px;min-width:0}
.g-art .c-title{display:flex;flex-direction:column;gap:10px}
.g-art h1{font-size:clamp(30px,4vw,44px);line-height:1;max-width:22ch}
.g-art .byline .mono{font-size:12px}
.chip--pending{background:transparent;border:1px dashed var(--line2);color:var(--muted);font-size:12px;height:24px;padding:0 8px}
.g-art>.prose{max-width:72ch}
.g-art .prose h2{scroll-margin-top:16px}
.fig-wrap{margin:0;display:flex;flex-direction:column;gap:6px;max-width:72ch}
.fig-wrap .fig figcaption{max-width:calc(100% - 20px)}
.fig-wrap .credit{font:11px var(--font-mono);color:var(--muted);line-height:1.5}
.fig-wrap .credit a{color:var(--muted)}
.fig .ph{padding:20px;text-align:center;max-width:44ch;line-height:1.5}
.fig-video{margin:0;display:flex;flex-direction:column;gap:6px;max-width:72ch}
.fig-video .frame{background:#f7f5f0;border-radius:var(--radius);padding:6px}
.fig-video .video{border-radius:6px}
.fig-video figcaption{font:11px var(--font-mono);color:var(--muted);line-height:1.5}
.g-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:72ch}
.g-cards .panel{font-size:13px;line-height:1.5;padding:14px}
.g-cards .panel b{display:block;font-family:var(--font-head);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;color:var(--muted)}
.g-cards .panel--aff b{color:var(--gold)}
@media (max-width:700px){.g-cards{grid-template-columns:1fr}}
.train-mod{background:var(--navy);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:12px;max-width:72ch;scroll-margin-top:16px}
.train-mod b.h{font-family:var(--font-head);font-weight:700;font-size:22px;text-transform:uppercase;line-height:1.1}
.train-mod form{display:flex;gap:8px}
.train-mod input{flex:1;min-width:0;height:44px;border:1px solid var(--line2);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:0 12px;font-size:14px}
.train-mod .btn{height:44px;font-size:14px}
.train-mod .more{font-size:13px;color:var(--muted)}
.train-mod .more a{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:480px){.train-mod form{flex-direction:column}.train-mod input{flex:none}.train-mod b.h{font-size:20px}}
.g-art .newsletter,.g-art .aff-slot,.g-art .provenance{max-width:72ch}
.g-art .provenance{margin-top:0}
.g-rail{display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}
@media (max-width:900px){.g-rail{position:static}}
.gear-slot{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}
.gear-slot .hd{display:flex;justify-content:space-between;align-items:center;gap:8px}
.gear-slot .empty-g{border:1px dashed var(--line2);border-radius:var(--radius);padding:12px;font-size:13px;color:var(--muted);line-height:1.5}
.gear-slot .disc{font-size:11px;color:var(--faint);line-height:1.5}
.gear-slot .disc a{color:var(--faint)}
.rail-links{display:flex;flex-direction:column;gap:6px}
.rail-links a{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--text);font-size:13px;line-height:1.35;min-height:44px;display:flex;align-items:center}
.rail-links a:hover{border-color:var(--line2);color:var(--text)}
.rail-links .s{display:block;font-size:11px;color:var(--muted);margin-top:2px}

/* ---------- blog ---------- */
.post-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start;padding-top:24px}
@media (max-width:900px){.post-grid{grid-template-columns:1fr;gap:24px}}

/* ---------- glossary ---------- */
.gl-letters{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 16px}
.gl-letters a{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none;font-family:var(--font-head);font-weight:500;font-size:15px}
.gl-letters a:hover{border-color:var(--gold);color:var(--gold)}
@media (max-width:700px){.gl-letters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.gl-letters::-webkit-scrollbar{display:none}.gl-letters a{flex:none}}
.glossary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 16px}
.glossary .gl-item{scroll-margin-top:16px}
.glossary .gl-item:last-child{border-bottom:0}
.glossary .gl-letter{font-family:var(--font-head);font-weight:700;font-size:28px;color:var(--gold);padding:16px 0 4px;border-bottom:1px solid var(--line);scroll-margin-top:16px}
.glossary dt .chip{font-family:var(--font-body);font-weight:400;letter-spacing:0;text-transform:none}
.glossary dd .pron{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-right:6px}
.glossary dd .meta a{display:inline-block}
.gl-count{font:12px var(--font-mono);color:var(--muted);margin:0 0 10px}
.gl-empty{margin-top:12px}

/* ---------- courses ---------- */
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.course{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}
.course h3{font-size:18px;line-height:1.2}
.course .prov{font-size:13px;color:var(--muted)}
.course p{margin:0;font-size:14px;line-height:1.55}
.course .pr{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px;margin-top:auto}
.course .pr b{font-family:var(--font-head);font-weight:500;font-size:20px;color:var(--gold)}
.course .pr b small{font-size:12px;color:var(--muted);font-family:var(--font-body)}
.course .note-p{font-size:12px;color:var(--muted);line-height:1.5}
.course .foot{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.course .foot a.ext{font-size:14px;font-weight:600;min-height:44px;display:inline-flex;align-items:center;gap:6px}

/* ---------- events ---------- */
.ev-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
@media (max-width:900px){.ev-grid{grid-template-columns:1fr}}
.ev-months{display:flex;flex-direction:column;gap:24px}
.event-row .body .t b{line-height:1.3}
.event-row .body .src{font:11px var(--font-mono);color:var(--faint)}
.event-row .body .src a{color:var(--faint)}
.event-row .body .n{font-size:13px;color:var(--muted);line-height:1.5}
.event-row .act{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.event-row .act .btn{height:44px;font-size:13px;padding:0 14px}
.event-row .d .mo{display:block;font-size:11px;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-top:4px}
.chip--interclub{background:var(--surface2);color:var(--text);font-size:12px;font-weight:600}
.chip--seminar{background:var(--affiliate-bg);color:var(--gold);font-size:12px;font-weight:600}
@media (max-width:700px){.event-row .act{align-items:stretch}.event-row .act .btn{width:100%}}
.mini-cal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.mini-cal .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.mini-cal .hd b{font-family:var(--font-head);font-weight:500;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.mini-cal .g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:11px;text-align:center;color:var(--muted)}
.mini-cal .g span,.mini-cal .g a{height:32px;display:grid;place-items:center;border-radius:6px;color:var(--text);text-decoration:none}
.mini-cal .g .dow{color:var(--muted);height:24px}
.mini-cal .g .x{color:transparent}
.mini-cal .g a{background:var(--gold);color:var(--ink);font-weight:600}
.mini-cal .g a:hover{background:#e0b03f;color:var(--ink)}
.mini-cal .k{display:block;margin-top:8px;font-size:11px;color:var(--faint)}
.side-note{background:var(--navy);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);line-height:1.5}
.side-note b{color:var(--text);font-family:var(--font-head);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.ev-empty{margin-top:8px}

/* ---------- glove tool ---------- */
.tool-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
@media (max-width:900px){.tool-grid{grid-template-columns:1fr;gap:20px}}
.tool .q{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.tool .q>.lbl{font-size:13px;color:var(--muted)}
.tool .q>.lbl a{color:var(--gold)}
.kg-box{display:grid;grid-template-columns:1fr auto;gap:6px}
.kg-box output{height:48px;border:1px solid var(--gold);border-radius:var(--radius);background:var(--surface);padding:0 12px;display:flex;align-items:center;font-size:16px;color:var(--text)}
.unit-tog{display:flex;border:1px solid var(--line2);border-radius:var(--radius);overflow:hidden}
.unit-tog button{height:48px;min-width:52px;padding:0 14px;border:0;background:var(--surface);color:var(--muted);font-size:13px;cursor:pointer}
.unit-tog button[aria-pressed="true"]{background:var(--surface2);color:var(--gold)}
.range-scale{display:flex;justify-content:space-between;font:11px var(--font-mono);color:var(--faint)}
.tool .seg span{font-size:13px}
.result-card .lbl{font-family:var(--font-head);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.result-card .result.txt{font-size:32px;line-height:1.05;text-transform:uppercase}
.result-card .why{font-size:14px;line-height:1.5;margin:0}
.result-card .alt{font:11px var(--font-mono);color:var(--faint);margin:0}
.tool .more{font-size:14px;font-weight:600;min-height:44px;display:inline-flex;align-items:center;margin-top:8px}
.rules{font-size:12px;color:var(--faint);line-height:1.5;margin:8px 0 0}

/* ---------- shop ---------- */
.shop-banner{margin:0}
.cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.cat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--text);min-height:44px}
.cat-tile:hover{border-color:var(--line2);color:var(--text)}
.cat-tile .ic{height:72px;border-radius:var(--radius);background:var(--surface2);display:grid;place-items:center}
.cat-tile .ic img{width:44px;height:44px}
.cat-tile b{font-family:var(--font-head);font-weight:500;font-size:16px;letter-spacing:.02em;line-height:1.2}
.cat-tile span{font-size:12px;color:var(--muted)}
.brand-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.brand-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--text);min-height:44px}
.brand-tile:hover{border-color:var(--line2);color:var(--text)}
.brand-tile b{font-family:var(--font-head);font-weight:500;font-size:18px;letter-spacing:.02em}
.brand-tile span{font-size:12px;color:var(--muted);line-height:1.45}
.brand-tile p{margin:4px 0 0;font-size:13px;color:var(--muted);line-height:1.5}
.prod-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.prod-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.prod-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prod-card .txt{padding:10px}.prod-card .txt b{font-size:14px;line-height:1.3}.prod-img .lbl{display:none}}
.prod-grid>div{display:flex}
.prod-grid>div>.prod-card{flex:1}
.shop-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 16px}
.shop-tools input[type=search]{height:44px;border:1px solid var(--line2);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:0 12px;font-size:14px;flex:1;min-width:200px;max-width:420px}
.shop-tools .cnt{font:12px var(--font-mono);color:var(--muted);margin-left:auto}
.pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:900px){.pd{grid-template-columns:1fr;gap:16px}}
.pd .gal{display:flex;flex-direction:column;gap:8px;position:sticky;top:16px}
@media (max-width:900px){.pd .gal{position:static}}
.pd .gal .prod-img .lbl{font-size:11px}
.pd .info{display:flex;flex-direction:column;gap:14px}
.pd .info h1{font-size:clamp(28px,3.4vw,40px);line-height:1}
.pd .pr-line{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.pd .pr-line .price{margin:0}
.pd .pr-line span{font-size:12px;color:var(--muted)}
.pd .summary{font-size:15px;line-height:1.6;color:var(--muted);margin:0}
.pd .opts{display:flex;flex-direction:column;gap:6px}
.pd .opts .lbl{font-size:13px;color:var(--muted)}
.pd .sizes{display:flex;gap:6px;flex-wrap:wrap}
.pd .sizes span{min-width:56px;height:36px;padding:0 10px;border:1px solid var(--line2);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.pd .spec{border:1px solid var(--line);border-radius:var(--radius);padding:12px;font-size:12px;color:var(--muted);line-height:1.5}
.pd .spec b{color:var(--text)}
.pd form.tool{padding:16px}
.pd form.tool label{margin-top:10px}
.pd form.tool .qty-line{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:end;margin-top:12px}
.pd form.tool .qty-line label{margin-top:0}
.pd form.tool .btn{width:100%}
.pd details.skus{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 14px}
.pd details.skus summary{min-height:44px;display:flex;align-items:center;font-size:13px;font-weight:600;cursor:pointer}
.pd details.skus .table-wrap{margin-bottom:14px}
.pd .aff-box h3{font-size:16px}
.pd .aff-box a{display:inline-flex;min-height:44px;align-items:center}
.prod-sticky{display:none}
@media (max-width:900px){.prod-sticky{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px 14px;background:var(--bg);border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:10px;align-items:center}.prod-sticky .p{font-family:var(--font-head);font-weight:700;font-size:22px;color:var(--gold);line-height:1}.prod-sticky .m{display:block;font:10px var(--font-mono);color:var(--faint);margin-top:4px}.prod-sticky .btn{height:48px;padding:0 20px;font-size:14px}.has-prod-sticky{padding-bottom:96px}}
.bag{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
@media (max-width:900px){.bag{grid-template-columns:1fr}}
#basket{padding:0;overflow:hidden}
#basket>p{padding:20px;margin:0}
#basket .table-wrap{border:0;border-radius:0}
#basket>.price,#basket>.meta{padding:0 16px}
#basket>.meta{padding-bottom:16px}
#basket [data-rm]{height:44px!important;padding:0 14px!important;color:var(--red-text)!important;border-color:var(--line2)!important;font-family:var(--font-body);font-weight:500;font-size:13px;letter-spacing:0;text-transform:none}
.bag-sum{display:flex;flex-direction:column;gap:12px}
.bag-sum .btn{width:100%}
.state{max-width:560px;margin:0 auto;padding:48px 0 16px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.state h1{font-size:clamp(30px,4vw,40px)}
.state p{margin:0;color:var(--muted);line-height:1.6}
.state .act{display:flex;gap:8px;flex-wrap:wrap}
.check-circle.x{background:var(--surface2);color:var(--muted)}
.brand-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.brand-facts div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:14px;line-height:1.5}
.brand-facts b{display:block;font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.14em;font-family:var(--font-head);font-weight:500;margin-bottom:2px}

/* ---------- static pages ---------- */
.c-page{max-width:72ch}
.c-page .prose{margin-top:8px}
.c-page .prose ul{padding-left:20px}
.c-page .note{margin:8px 0 0}

/* ---------- reviews ---------- */
.rv-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:start}
@media (max-width:1000px){.rv-grid{grid-template-columns:1fr}}
.rv-filters .filter-btn[disabled]{cursor:not-allowed;color:var(--placeholder);border-color:var(--line)}
.rv-filters .filter-btn[disabled]:hover{border-color:var(--line)}
.empty .btn{align-self:flex-start}
.empty ul{margin:0;padding-left:18px;color:var(--muted);font-size:14px;line-height:1.6}
.rv-policy{margin-top:16px;scroll-margin-top:16px}
.rv-policy ul{margin:0;padding-left:18px;font-size:14px;line-height:1.7;color:var(--muted)}
.rv-flow{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;scroll-margin-top:16px}
.rv-flow .hd{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;min-height:56px;border-bottom:1px solid var(--line)}
.rv-flow .hd b{font-family:var(--font-head);font-weight:500;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.rv-flow .hd .chip{font-size:11px}
.rv-flow .bars{display:flex;gap:6px}
.rv-flow .bars span{flex:1;height:4px;border-radius:2px;background:var(--line)}
.rv-flow .bars span.on{background:var(--gold)}
.rv-step{border:0;margin:0;padding:16px;display:flex;flex-direction:column;gap:16px;min-width:0}
.rv-step+.rv-step{border-top:1px solid var(--line)}
.js .rv-step+.rv-step{border-top:0}
.rv-step legend{padding:0;float:left;width:100%}
.rv-step legend .mono{display:block;font-size:11px;margin-bottom:12px}
.rv-step legend h2{font-size:26px;line-height:1}
.rv-step legend+*{clear:both}
.rv-step .f{display:flex;flex-direction:column;gap:6px}
.rv-step .f>label,.rv-step .f>.lbl{font-size:13px;color:var(--muted)}
.rv-step .f>.lbl.ok{color:var(--success);font-weight:400}.rv-step .f>.lbl.bad{color:var(--red-text)}
.rv-step input[type=text],.rv-step input[type=email],.rv-step select,.rv-step textarea{height:48px;width:100%;border:1px solid var(--line2);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:0 12px;font-size:14px}
.rv-step textarea{height:auto;min-height:88px;padding:12px;line-height:1.5;resize:vertical}
.rv-step .two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rv-step .seg span{background:var(--bg)}
.rv-step .picks{display:flex;gap:6px;flex-wrap:wrap}
.rv-step .picks label{position:relative;margin:0}
.rv-step .picks input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.rv-step .picks span{min-height:44px;padding:0 12px;border:1px solid var(--line2);border-radius:var(--radius);font-size:13px;display:inline-flex;align-items:center}
.rv-step .picks input:checked+span{border-color:var(--gold);color:var(--gold)}
.rv-step .picks input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.stars-in{display:flex;gap:6px;border:0;margin:0;padding:0}
.stars-in label{position:relative;margin:0}
.stars-in input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.stars-in span{width:52px;height:52px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line2);display:grid;place-items:center;color:var(--line2);font-size:24px}
.stars-in span.lit{background:var(--surface2);border-color:var(--surface2);color:var(--gold)}
.stars-in input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
@media (max-width:380px){.stars-in span{width:48px;height:48px}}
.rv-step .upload{min-height:64px;border:1px dashed var(--line2);border-radius:var(--radius);background:var(--bg);display:grid;place-items:center;font-size:13px;color:var(--muted);text-align:center;padding:8px;position:relative}
.rv-step .upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.rv-step .attest{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);line-height:1.5;cursor:pointer}
.rv-step .attest input{width:22px;height:22px;accent-color:var(--gold);flex:none;margin:0}
.rv-step .guide{font-size:12px;color:var(--faint);line-height:1.5;margin:0}
.rv-nav{padding:12px 16px 16px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:8px}
.rv-nav .btn{height:48px}
.rv-nav .back{background:transparent;border:1px solid var(--line2);color:var(--text);font-family:var(--font-body);font-weight:400;font-size:14px;letter-spacing:0;text-transform:none}
.rv-nav .back:hover{background:var(--surface2);color:var(--text)}
.rv-step[hidden],.rv-nav .btn[hidden]{display:none}
.rv-nav .back[hidden]+.btn{grid-column:1/-1}
.rv-flow .launch{padding:0 16px 16px;font-size:12px;color:var(--muted);text-align:center;margin:0}

/* ---------- fixes: targets + overflow ---------- */
.toc a{min-height:44px;display:flex;align-items:center}
.c-sec .arrow,.sec-head .arrow,.cluster-row .lbl a.arrow{min-height:44px;display:inline-flex;align-items:center}
.event-row .body span,.event-row .body b{overflow-wrap:anywhere}
.prose table{display:block;overflow-x:auto;max-width:100%}
@media (max-width:480px){.newsletter .nl-line input{flex:none}}
@media (max-width:900px){.mini-cal .g span,.mini-cal .g a{height:44px}}
