/* RH Dial — Dew Mint palette, three semantic humidity colors only. */
:root{
 --bg:#DDEBE2; --pillow:#F8FBF9; --card:#FFFFFF; --ink:#1F2D3A; --mut:#5A6A78; --line:#C7DBCE;
 --ideal:#2F8A63; --ideal-soft:#7FB79B; --sand:#C99B55; --damp:#5D7C99; --slate-d:#1F2D3A;
 --warn:#A4522B;
 --head:"Red Hat Display",ui-sans-serif,-apple-system,"Segoe UI",system-ui,sans-serif;
 --body:"Source Serif 4",Georgia,"Times New Roman",serif;
 --wrap:1180px; --r:14px; --sh:0 1px 2px rgba(31,45,58,.06),0 8px 24px -18px rgba(31,45,58,.45);
}
[data-theme=dark]{
 --bg:#14202A; --pillow:#1B2A35; --card:#1E2F3B; --ink:#E8F0EC; --mut:#9DB2BF; --line:#2E4452;
 --ideal:#5FC79A; --ideal-soft:#3C7C62; --sand:#E2B97A; --damp:#8FAEC6; --slate-d:#0E1821; --warn:#E59B74;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:4.6rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:1.02rem/1.72 var(--body);-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
svg{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.07em}
h1,h2,h3,h4,.btn,.cta,.pill,.dc-no,th,.eyebrow,summary{font-family:var(--head);font-weight:700;letter-spacing:-.01em}
h1,h2,h3{line-height:1.2;margin:0 0 .5rem}
p{margin:0 0 .9rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.1rem}
.sr,.skiplink{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skiplink:focus{position:fixed;top:.5rem;left:.5rem;width:auto;height:auto;clip:auto;background:var(--ink);color:var(--pillow);padding:.5rem .9rem;border-radius:8px;z-index:60}
:focus-visible{outline:3px solid var(--ideal);outline-offset:2px}
.small{font-size:.88rem}.muted{color:var(--mut)}
/* ---------------------------------------------------------------- header */
.strip-top{background:var(--slate-d);color:#D8E6DE;font:500 .78rem/1.5 var(--head)}
.strip-top .wrap{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding-block:.35rem;flex-wrap:wrap}
.strip-top a{color:#D8E6DE;margin-left:.85rem;text-decoration:none;opacity:.85}
.strip-top a:hover{opacity:1;text-decoration:underline}
.mast{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(9px);border-bottom:1px solid var(--line)}
.mast .wrap{display:flex;align-items:center;gap:1rem;padding-block:.55rem}
.brand{display:flex;align-items:center;gap:.55rem;font:800 1.12rem/1 var(--head);text-decoration:none;color:var(--ink)}
.brand .mark{width:40px;height:28px;flex:0 0 auto}
.mast nav{display:flex;gap:.1rem;margin-left:auto;flex-wrap:wrap}
.mast nav a{font:600 .88rem/1 var(--head);padding:.5rem .55rem;border-radius:8px;text-decoration:none;color:var(--mut)}
.mast nav a:hover{background:var(--pillow);color:var(--ink)}
.mast nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ideal)}
.themebtn{border:1px solid var(--line);background:var(--pillow);color:var(--ink);border-radius:999px;padding:.4rem .7rem;font:600 .8rem var(--head);cursor:pointer}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:var(--pillow);border-radius:999px;padding:.4rem .8rem;font-size:.85rem}
.menu summary::-webkit-details-marker{display:none}
.menu .panel{position:absolute;right:0;top:110%;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);padding:.4rem;min-width:15rem;z-index:50;display:grid}
.menu .panel a{padding:.55rem .7rem;border-radius:8px;text-decoration:none;font:600 .9rem var(--head)}
.menu .panel a:hover{background:var(--pillow)}
/* ---------------------------------------------------------------- hero */
.hero{background:linear-gradient(180deg,var(--pillow),var(--bg));border-bottom:1px solid var(--line);padding:2.1rem 0 2.4rem}
.hero-in{display:grid;grid-template-columns:1.08fr .92fr;gap:2rem;align-items:center}
.eyebrow{font:700 .82rem/1.3 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--ideal);margin:0 0 .5rem}
.hero h1{font-size:clamp(1.85rem,4.1vw,2.85rem);margin-bottom:.7rem}
.lede{font-size:1.1rem;margin-bottom:.7rem}
.meta{font-size:.87rem;color:var(--mut)}
.btns{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0 .4rem}
.btn{display:inline-block;padding:.62rem 1.05rem;border-radius:999px;text-decoration:none;font-size:.95rem;cursor:pointer;border:1px solid transparent}
.btn-ideal{background:var(--ideal);color:#fff}
.btn-ideal:hover{filter:brightness(1.07)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--pillow)}
.chips-label{font:600 .8rem var(--head);color:var(--mut);margin:.9rem 0 .35rem;text-transform:uppercase;letter-spacing:.05em}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chips button,.filterbar button{font:600 .85rem var(--head);border:1px solid var(--line);background:var(--pillow);color:var(--ink);border-radius:999px;padding:.35rem .8rem;cursor:pointer}
.chips button[aria-pressed=true],.filterbar button[aria-pressed=true]{background:var(--ideal);border-color:var(--ideal);color:#fff}
/* dial */
.dialbox{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem 1.2rem;box-shadow:var(--sh)}
.dial{width:100%;max-width:330px;margin:0 auto}
.dial-t{font:500 9px var(--head);fill:var(--mut)}
.dial-lb{font:600 10px var(--head);fill:var(--mut);letter-spacing:.06em;text-transform:uppercase}
#rhNeedle{transition:transform .6s cubic-bezier(.3,.8,.3,1);transform-box:view-box}
@media (prefers-reduced-motion:reduce){#rhNeedle{transition:none}}
.dial-read{font:600 1rem/1.5 var(--head);min-height:3.2rem;margin:.3rem 0 .6rem;text-align:center}
.dial-read b{display:block;font-size:1.22rem}
.dial-read .zone-dry{color:var(--sand)}.dial-read .zone-ok{color:var(--ideal)}.dial-read .zone-wet{color:var(--damp)}
.dial-ctl{display:grid;grid-template-columns:auto 1fr auto;gap:.45rem .7rem;align-items:center;font-size:.86rem}
.dial-ctl label{font-family:var(--head);font-weight:600;color:var(--mut)}
.dial-ctl output{font-family:var(--head);font-weight:700;min-width:5.2rem;text-align:right}
input[type=range]{width:100%;accent-color:var(--ideal)}
.dial-note{font-size:.8rem;color:var(--mut);margin:.7rem 0 0}
/* ---------------------------------------------------------------- stage + rail */
.stage{display:grid;grid-template-columns:13.5rem minmax(0,1fr);gap:2.2rem;padding-top:1.6rem;padding-bottom:2.5rem}
.stage.no-rail{grid-template-columns:minmax(0,1fr)}
.rail{position:sticky;top:4.4rem;align-self:start;max-height:calc(100vh - 6rem);overflow:auto}
.rail ol{list-style:none;margin:0;padding:0}
.rail a{display:grid;grid-template-columns:1.4rem auto;align-items:center;gap:.55rem;padding:.3rem .25rem;text-decoration:none;color:var(--mut);font:600 .86rem var(--head);border-radius:8px;position:relative}
.rail .bead{width:11px;height:11px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:1.5px solid var(--damp);background:color-mix(in srgb,var(--damp) 22%,transparent);justify-self:center;transition:background .25s,border-color .25s}
.rail a:hover{color:var(--ink);background:var(--pillow)}
.rail a.on{color:var(--ink)}
.rail a.on .bead{background:transparent;border-color:var(--ideal);box-shadow:0 0 0 3px color-mix(in srgb,var(--ideal) 18%,transparent)}
.rail a.seen .bead{background:var(--ideal-soft);border-color:var(--ideal-soft);border-radius:50% 50% 50% 0}
.rail .bead-k{display:none}
.rail-hint{font-size:.72rem;color:var(--mut);margin:.7rem 0 0;padding-left:.25rem}
main{min-width:0}
.crumbs{font-size:.82rem;color:var(--mut);margin:0 0 1rem}
.crumbs a{color:var(--mut)}
.page-h1{font-size:clamp(1.6rem,3.5vw,2.3rem);margin-bottom:.4rem}
.updated{font-size:.88rem;color:var(--mut);margin-bottom:1.4rem}
/* ---------------------------------------------------------------- sections */
.act{margin:0 0 2.1rem;scroll-margin-top:4.6rem}
.act-h{display:flex;align-items:center;gap:.6rem;font-size:clamp(1.25rem,2.4vw,1.6rem);padding-bottom:.5rem;border-bottom:2px solid var(--line);margin-bottom:.9rem}
.act-ic{font-size:1.1em;line-height:1}
.act[data-zone=ideal] .act-h{border-color:var(--ideal)}
.act[data-zone=sand] .act-h{border-color:var(--sand)}
.act[data-zone=damp] .act-h{border-color:var(--damp)}
.act-intro{color:var(--mut);max-width:60ch}
.sub{font-size:1.05rem;margin:1.3rem 0 .5rem}
.answer{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--ideal);border-radius:0 var(--r) var(--r) 0;padding:1rem 1.2rem;box-shadow:var(--sh)}
.answer p{margin:0;font-size:1.06rem}
.prose{max-width:66ch}
.prose h3{margin-top:1.4rem;font-size:1.08rem}
/* worries */
.wq-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}
.wq-tags a{font:600 .82rem var(--head);background:var(--pillow);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;text-decoration:none;color:var(--mut)}
.wq-tags a:hover{color:var(--ink);border-color:var(--damp)}
.wq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:.9rem}
.wq{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem;scroll-margin-top:5rem}
.wq h3{font-size:1.01rem}
.wq p{font-size:.95rem}
.numline{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;margin:.6rem 0 .5rem}
.num{font:800 .95rem var(--head);background:color-mix(in srgb,var(--ideal) 14%,transparent);color:var(--ideal);padding:.12rem .55rem;border-radius:999px}
.src{font-size:.78rem;color:var(--mut)}
.wq .links{display:grid;gap:.25rem;font-size:.85rem;border-top:1px dashed var(--line);padding-top:.5rem}
.wq-foot{font-size:.86rem;color:var(--mut);margin-top:.9rem}
/* ---------------------------------------------------------------- pick cards */
.filterbar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0 0 .5rem}
.filterbar span{font:600 .85rem var(--head);color:var(--mut);margin-right:.2rem}
.filter-note{font-size:.84rem;color:var(--mut);margin:0 0 1rem;min-height:1.2rem}
.drop-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem 1.2rem;margin:0 0 1.3rem;box-shadow:var(--sh);scroll-margin-top:5rem}
.drop-card.hide{display:none}
.dc-top{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}
.dc-no{display:grid;place-items:center;min-width:2.6rem;height:2.6rem;border-radius:50% 50% 50% 8px;background:var(--ideal);color:#fff;font-size:1.1rem}
.dc-role{margin:0;font:700 1.02rem/1.3 var(--head);color:var(--ideal)}
.dc-grid{display:grid;grid-template-columns:14.5rem minmax(0,1fr);gap:1.2rem;align-items:start}
.dc-media{display:grid;gap:.7rem}
.dc-grid.mini{grid-template-columns:9rem minmax(0,1fr)}
.dc-img{background:var(--pillow);border:1px solid var(--line);border-radius:10px;padding:.4rem;display:grid;place-items:center}
.dc-img img{border-radius:6px}
.dc-body h3{font-size:1.14rem;margin-bottom:.45rem}
.pills{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.7rem}
.pill{font:600 .76rem/1.5 var(--head);background:var(--pillow);border:1px solid var(--line);color:var(--mut);border-radius:999px;padding:.08rem .6rem}
.pill.ideal{background:color-mix(in srgb,var(--ideal) 13%,transparent);border-color:color-mix(in srgb,var(--ideal) 35%,transparent);color:var(--ideal)}
.pill.sand{background:color-mix(in srgb,var(--sand) 16%,transparent);border-color:color-mix(in srgb,var(--sand) 40%,transparent);color:var(--warn)}
.fit-why{background:var(--pillow);border-left:4px solid var(--ideal);padding:.55rem .8rem;margin:.1rem 0 .8rem;font-size:.95rem}
.facts{margin:.2rem 0 .7rem;padding-left:1.1rem;font-size:.93rem}
.facts li{margin:.15rem 0}
/* claim check */
table{border-collapse:collapse;width:100%}
.cc{font-size:.87rem;margin:.2rem 0 .3rem}
.cc caption{text-align:left;font:700 .78rem var(--head);text-transform:uppercase;letter-spacing:.07em;color:var(--mut);padding-bottom:.3rem}
.cc th,.cc td{border-top:1px solid var(--line);padding:.4rem .5rem;vertical-align:top;text-align:left}
.cc thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);border-top:0}
.cc th[scope=row]{font:600 .87rem var(--head);width:9rem;color:var(--mut)}
.cc td:nth-child(2){width:36%}
.cc .nim{color:var(--warn)}
/* sleep spec hanger */
.hanger{background:var(--pillow);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:0 .85rem .8rem}
.hang-top{width:100%;height:auto;margin-bottom:-1px}
.hang-h{font:700 .76rem var(--head);text-transform:uppercase;letter-spacing:.09em;color:var(--mut);text-align:center;margin:.1rem 0 .5rem}
.hang-b{margin:0;font-size:.84rem}
.hang-r{display:grid;grid-template-columns:1fr;gap:0;padding:.35rem 0;border-top:1px dashed var(--line)}
.hang-r dt{font:600 .74rem var(--head);text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}
.hang-r dd{margin:0}
.hang-f{font-size:.72rem;color:var(--mut);margin:.5rem 0 0;text-align:center}
/* score */
.score{margin:.9rem 0 .2rem;background:var(--pillow);border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem}
.score-n{font:600 .9rem var(--head);margin:0 0 .5rem;display:flex;gap:.3rem;align-items:baseline;flex-wrap:wrap}
.score-n b{font-size:1.5rem;color:var(--ideal)}
.score-n a{margin-left:auto;font-size:.8rem;color:var(--mut)}
.bars{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.bars li{display:grid;grid-template-columns:11.5rem 1fr 3rem;gap:.6rem;align-items:center;font-size:.84rem}
.bars span{color:var(--mut)}
.bars i{display:block;height:7px;border-radius:999px;background:var(--line);position:relative}
.bars i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--ideal);border-radius:999px}
.bars em{font-style:normal;font-family:var(--head);font-weight:700;text-align:right}
.bars .why{grid-column:1/-1;font:400 .78rem/1.4 var(--body);color:var(--mut);margin-top:-.15rem}
/* verdicts + cta */
.verdicts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.9rem 0 .5rem}
.buyif,.skipif{padding:.6rem .8rem;border-radius:10px;font-size:.92rem}
.buyif{background:color-mix(in srgb,var(--ideal) 11%,transparent);border:1px solid color-mix(in srgb,var(--ideal) 28%,transparent)}
.skipif{background:color-mix(in srgb,var(--sand) 13%,transparent);border:1px solid color-mix(in srgb,var(--sand) 32%,transparent)}
.buyif b,.skipif b{font-family:var(--head);display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.1rem}
.buyif b{color:var(--ideal)}.skipif b{color:var(--warn)}
.srcline{font-size:.79rem;color:var(--mut);margin:.4rem 0 .8rem}
.dc-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;border-top:1px solid var(--line);padding-top:.85rem}
.pr{margin:0;font-size:.86rem;color:var(--mut);flex:1 1 14rem}
.cta{display:inline-flex;align-items:center;gap:.4rem;background:var(--ideal);color:#fff;padding:.68rem 1.15rem;border-radius:999px;text-decoration:none;font-size:.95rem;box-shadow:0 6px 16px -10px var(--ideal)}
.cta:hover{filter:brightness(1.08)}
.cta-ar{transition:transform .2s}
.cta:hover .cta-ar{transform:translateX(3px)}
.cta.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);box-shadow:none}
.cta.ghost:hover{background:var(--pillow)}
/* ---------------------------------------------------------------- tables */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.cmp,.plain{font-size:.88rem;min-width:46rem}
.cmp th,.cmp td,.plain th,.plain td{padding:.55rem .7rem;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.cmp thead th,.plain thead th{border-top:0;background:var(--pillow);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);position:sticky;top:0}
.cmp th[scope=row]{font:600 .9rem var(--head)}
.cmp .n,.plain .n{white-space:nowrap}
.cmp tbody tr:hover{background:var(--pillow)}
/* calculators */
.calcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem}
.calc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem;box-shadow:var(--sh)}
.calc h3{font-size:1.02rem}
.calc label{display:block;font:600 .82rem var(--head);color:var(--mut);margin:.6rem 0 .2rem}
.calc input,.calc select,textarea{width:100%;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--pillow);color:var(--ink);font:inherit;font-size:.92rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.calc .out{margin-top:.9rem;padding:.7rem .85rem;border-radius:10px;background:color-mix(in srgb,var(--ideal) 10%,transparent);border:1px solid color-mix(in srgb,var(--ideal) 25%,transparent);font-size:.93rem;min-height:3rem}
.calc .out b{font-family:var(--head)}
/* calendar */
.cal{list-style:none;margin:0 0 1rem;padding:0;counter-reset:c;display:grid;gap:.5rem}
.cal li{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:.2rem .9rem;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--ideal);border-radius:0 10px 10px 0;padding:.6rem .9rem}
.cal b{font:700 .88rem var(--head);color:var(--ideal)}
.cal span{font-size:.94rem}
.cal em{grid-column:2;font-style:normal;font-size:.8rem;color:var(--mut)}
/* decoder */
[data-decoder]{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem;box-shadow:var(--sh)}
[data-decoder] .row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}
.decoded{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.45rem}
.decoded li{background:var(--pillow);border-left:4px solid var(--damp);border-radius:0 8px 8px 0;padding:.5rem .75rem;font-size:.9rem}
.decoded li b{font-family:var(--head)}
.decoded li.flag{border-left-color:var(--sand)}
.decoded li.good{border-left-color:var(--ideal)}
/* accessories */
.grouphead{margin:1.4rem 0 .2rem;font-size:1.05rem}
.accgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.9rem;margin:.8rem 0 1.2rem}
.acc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem;display:flex;flex-direction:column;scroll-margin-top:5rem}
.acc-ic{width:42px;height:42px;color:var(--ideal);margin-bottom:.4rem}
.acc h3{font-size:1rem;margin-bottom:.15rem}
.acc p{font-size:.9rem}
.acc .look{background:var(--pillow);border-radius:8px;padding:.5rem .65rem;font-size:.85rem}
.acc .look b{font-family:var(--head)}
.acc .cta{margin-top:auto;align-self:flex-start;padding:.5rem .9rem;font-size:.88rem}
/* faq */
.faq{display:grid;gap:.5rem}
details{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
summary{cursor:pointer;padding:.75rem 1rem;font-size:.98rem;list-style:none;position:relative;padding-right:2.4rem}
summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1rem;top:.65rem;font-size:1.25rem;color:var(--ideal)}
.faq details[open] summary::after{content:"\2212"}
details .a{padding:0 1rem .9rem;font-size:.95rem}
details .a p{margin:0}
/* video */
.vid{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--slate-d)}
.vid .vbg{width:100%;height:auto}
.vid button,.vid iframe{position:absolute;inset:0;width:100%;height:100%}
.vid button{background:transparent;border:0;color:transparent;cursor:pointer;font-size:0}
.vid iframe{border:0}
/* author + related */
.authorbox{display:flex;gap:1rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1.1rem;margin-top:1.1rem}
.amark{width:64px;height:64px;flex:0 0 auto}
.authorbox p{margin:0;font-size:.93rem}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.7rem;margin-top:1rem}
.related a{display:grid;gap:.15rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;text-decoration:none}
.related a:hover{border-color:var(--ideal)}
.related b{font-family:var(--head);font-size:.95rem}
/* footer */
.credits{background:var(--slate-d);color:#CFE0D7;margin-top:1rem;padding:2rem 0 1.6rem;font-size:.9rem}
.credits h3{color:#fff;font-size:.95rem;margin-bottom:.4rem}
.credits .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:1.6rem}
.credits ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.credits a{color:#CFE0D7}
.fine{border-top:1px solid rgba(255,255,255,.14);margin-top:1.4rem;padding-top:.9rem;font-size:.8rem;color:#9FB6AB}
/* jump sheet (mobile) */
.jumpbtn{display:none;position:fixed;right:1rem;bottom:1rem;z-index:45;background:var(--ideal);color:#fff;border:0;border-radius:999px;padding:.75rem 1.1rem;font:700 .9rem var(--head);box-shadow:0 10px 24px -10px rgba(0,0,0,.5);cursor:pointer}
.scrim{display:none;position:fixed;inset:0;background:rgba(10,20,26,.5);z-index:46}
.sheet{display:none;position:fixed;left:0;right:0;bottom:0;z-index:47;background:var(--card);border-radius:18px 18px 0 0;max-height:72vh;overflow:auto;padding:.6rem 1rem 1.6rem}
.sheet.open,.scrim.open{display:block}
.sheet-x{display:flex;justify-content:space-between;align-items:center;font:700 .95rem var(--head);padding:.5rem 0 .4rem;position:sticky;top:0;background:var(--card)}
.sheet-x button{border:1px solid var(--line);background:var(--pillow);color:var(--ink);border-radius:999px;padding:.3rem .8rem;font:600 .82rem var(--head);cursor:pointer}
.sheet ol{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.sheet a{display:grid;grid-template-columns:1.8rem auto;gap:.5rem;align-items:center;padding:.6rem .4rem;text-decoration:none;border-radius:8px;font:600 .95rem var(--head)}
.sheet a:hover{background:var(--pillow)}
.sheet .k{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50% 50% 50% 6px;background:var(--pillow);border:1px solid var(--line);font-size:.75rem;color:var(--mut)}
/* ---------------------------------------------------------------- responsive */
@media (max-width:1180px){.dc-grid{grid-template-columns:13rem minmax(0,1fr)}}
@media (max-width:1040px){
 .stage{grid-template-columns:minmax(0,1fr)}
 .rail{display:none}
 .jumpbtn{display:block}
 .dc-grid{grid-template-columns:12rem minmax(0,1fr)}
}
@media (max-width:900px){
 .hero-in{grid-template-columns:1fr;gap:1.4rem}
 .mast nav{display:none}
 .menu{display:block;margin-left:auto}
 .credits .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 body{font-size:1rem}
 .strip-top .tl{display:none}
 .dc-grid,.dc-grid.mini{grid-template-columns:1fr}
 .dc-media{grid-template-columns:7.5rem minmax(0,1fr);align-items:start}
 .dc-img{max-width:100%}
 .hanger{border-radius:12px;border-top:1px solid var(--line);padding-top:.5rem}
 .hang-top{display:none}
 body{padding-bottom:3.6rem}
 .jumpbtn{padding:.6rem .95rem;font-size:.85rem}
 .verdicts{grid-template-columns:1fr}
 .row2{grid-template-columns:1fr}
 .bars li{grid-template-columns:8.6rem 1fr 2.6rem;font-size:.8rem}
 .cc th[scope=row]{width:7rem}
 .cc,.cc td{font-size:.84rem}
 .hang-b{grid-template-columns:1fr}
 .cal li{grid-template-columns:1fr}
 .cal em{grid-column:1}
 .credits .cols{grid-template-columns:1fr}
 .dial-ctl{grid-template-columns:1fr auto}
 .dial-ctl input[type=range]{grid-column:1/-1}
 .act-h{font-size:1.18rem}
 .cta{width:100%;justify-content:center}
 .pr{flex-basis:100%}
}
@media print{.rail,.jumpbtn,.mast,.strip-top,.chips,.filterbar{display:none}}
