:root{--bg:#fbf8f2;--ink:#23201c;--mut:#6b645b;--acc:#8c2f39;--line:#e3dccf;--card:#f3ede2}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.68 "Public Sans",system-ui,-apple-system,sans-serif}
a{color:var(--acc);text-underline-offset:3px}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
header.site{padding:22px 20px 14px;border-top:6px solid var(--acc);border-bottom:1px solid var(--line)}
.in{max-width:720px;margin:0 auto}
.brand{font-family:"Libre Caslon Text",Georgia,serif;font-weight:700;font-size:28px;color:var(--ink);text-decoration:none}
.tag{font-size:14.5px;color:var(--mut);margin:4px 0 12px;font-style:italic}
nav.arts{display:flex;flex-wrap:wrap;gap:8px}nav.arts a{font-size:13.5px;font-weight:600;color:var(--acc);text-decoration:none;border:1px solid var(--line);background:#fff;padding:5px 10px;border-radius:3px}nav.arts a:hover{border-color:var(--acc)}
main{padding:28px 20px 48px}
h1{font-family:"Libre Caslon Text",Georgia,serif;font-weight:700;font-size:clamp(28px,5vw,38px);line-height:1.18;margin:0 0 12px}
h2{font-family:"Libre Caslon Text",Georgia,serif;font-weight:700;font-size:23px;margin:36px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
p{margin:0 0 16px}ul,ol{padding-left:22px;margin:0 0 16px}li{margin:4px 0}
.byline{color:var(--mut);font-size:14px;margin-bottom:22px}
.score{display:grid;grid-template-columns:auto 1fr;gap:16px 26px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--acc);padding:18px 20px;margin:18px 0 26px}
.score .num{font-family:"Libre Caslon Text",serif;font-size:50px;font-weight:700;color:var(--acc);line-height:1}.score .of{font-size:15px;color:var(--mut)}
.score .stars{color:#b8862b;font-size:18px;letter-spacing:2px;margin-top:6px}
.score .lab{font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);font-weight:700}
.score .verdict{margin:6px 0 0}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:16px;grid-column:1/-1;border-top:1px dashed var(--line);padding-top:14px}
.pc ul{margin:6px 0 0;padding-left:18px;font-size:15px}.pc h4{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.pros h4{color:#2d6a3e}.cons h4{color:var(--acc)}
.callout{border:1px solid var(--line);background:#fff;padding:12px 16px;margin:18px 0}.callout p{margin:0}
blockquote{margin:18px 0;padding:0 0 0 16px;border-left:3px solid var(--acc);color:var(--mut)}
table{border-collapse:collapse;width:100%;font-size:15px;margin:14px 0 20px}th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}thead th{background:var(--card)}
.cards{display:grid;gap:10px;margin:24px 0}.cards a{display:block;background:#fff;border:1px solid var(--line);padding:14px 16px;text-decoration:none;color:var(--ink);font-family:"Libre Caslon Text",serif;font-weight:700;font-size:18px}.cards a span{display:block;font:400 14px/1.5 "Public Sans",sans-serif;color:var(--mut);margin-top:4px}
.more{margin-top:40px;padding-top:16px;border-top:1px solid var(--line)}.more h3{margin:0 0 8px;font-size:16px}.more ul{padding-left:18px;margin:0}
.bio{margin-top:30px;padding:14px 16px;background:var(--card);font-size:15px;color:var(--mut)}
footer{border-top:1px solid var(--line);padding:16px 20px 32px;font-size:13px;color:var(--mut)}footer p{margin:0 0 8px}
@media(max-width:560px){.score{grid-template-columns:1fr}.pc{grid-template-columns:1fr}table:not(.bars){display:block;overflow-x:auto}}
:root{--bar-hi:#8c2f39;--bar-lo:#9a8878}
figure.fig{margin:22px 0 26px;padding:0}
figure.fig figcaption{font-weight:700;margin:0 0 4px;line-height:1.35}
figure.fig .note{font-size:.86em;margin:0 0 8px;color:var(--mut)}
table.bars{width:100%;border-collapse:collapse;margin:6px 0 4px;font-size:15px}
table.bars th,table.bars td{border:0;background:none;padding:5px 0;vertical-align:middle;text-align:left}
table.bars thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);font-weight:600;padding-bottom:6px}
table.bars tbody th{font-weight:400;padding-right:12px;width:38%;line-height:1.3}
table.bars td{position:relative}
table.bars .track{display:flex;align-items:center;gap:8px}
table.bars .bar{display:block;height:14px;border-radius:0 4px 4px 0;background:var(--bar-lo);width:var(--w);min-width:3px;flex:none}
table.bars tr.hi .bar{background:var(--bar-hi)}
table.bars tr.hi th,table.bars tr.hi .v{font-weight:700}
table.bars .v{white-space:nowrap;font-variant-numeric:tabular-nums;position:relative;z-index:1;background:var(--bg);padding:0 4px 0 2px}
table.bars td .ref{position:absolute;top:0;bottom:0;left:var(--ref);border-left:2px dashed var(--mut);opacity:.7}
.figsrc{font-size:.8em;color:var(--mut);margin:6px 0 0}
dl.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:22px 0 8px}
dl.nums div{border-top:3px solid var(--bar-hi);padding:8px 2px 0}
dl.nums dt{font-size:26px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
dl.nums dd{margin:4px 0 0;font-size:14.5px;line-height:1.4;color:var(--mut)}
svg.ag{display:block;width:100%;max-width:520px;height:auto;margin:6px 0}
svg.ag text{font-size:11px;fill:var(--mut)}
@media(max-width:560px){table.bars tbody th{width:44%;font-size:14px}table.bars .v{font-size:14px}}
h3{font-size:1.08em;line-height:1.35;margin:26px 0 8px}
@media(max-width:480px){body{font-size:16.5px}h2{font-size:21px}}
