:root{--paper:#F4F0E8;--paper-2:#ECE6DC;--field:#E4D9C6;--field-2:#D9CCB4;--ink:#121110;--ink-2:#3A3632;--muted:#625B53;--noir:#121110;--on-dark:#F4F0E8;--on-dark-2:#BDB4A6;--champagne:#C9A96E;--focus:#7A5C22;
--font-display:"Bellefair","Frank Ruhl Libre",Georgia,serif;--font-body:"Assistant","Heebo",system-ui,sans-serif;--measure:42rem;--margin:clamp(16px,2.6vw,40px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;touch-action:manipulation;scrollbar-gutter:stable}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.8 var(--font-body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-underline-offset:.25em;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.skip{position:absolute;inset-inline-start:1rem;top:-5rem;background:var(--ink);color:var(--paper);padding:.75rem 1rem;min-height:44px;display:inline-flex;align-items:center}
.skip:focus{top:1rem}
.wrap{max-width:72rem;margin-inline:auto;padding-inline:var(--margin)}
.top{border-block-end:1px solid var(--field-2);background:var(--paper)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.top .wm img{height:44px;width:auto}
.top nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.top nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--ink-2);font-size:.9375rem}
.top nav a:hover,.top nav a[aria-current]{color:var(--ink);text-decoration:underline}
.crumbs{font-size:.9375rem;color:var(--muted);margin-block:1.5rem 0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem}
.crumbs li+li::before{content:"/";margin-inline-end:.5rem;color:var(--field-2)}
.crumbs a{color:var(--muted);display:inline-flex;min-height:44px;align-items:center}
article,.page{max-width:var(--measure);margin-inline:auto;padding-block:1rem 4rem}
.kicker{font-size:.875rem;letter-spacing:.02em;color:var(--muted);margin:0 0 .5rem}
h1{font:400 clamp(2.2rem,5.5vw,3.4rem)/1.1 var(--font-display);margin:0 0 1rem;text-wrap:balance}
h2{font:400 clamp(1.6rem,3.4vw,2rem)/1.2 var(--font-display);margin:2.75rem 0 .75rem;text-wrap:balance}
h3{font-size:1.125rem;font-weight:600;margin:1.75rem 0 .5rem}
p{margin:0 0 1rem}
ul,ol{padding-inline-start:1.25rem;margin:0 0 1rem}
li+li{margin-top:.4rem}
.meta{font-size:.9375rem;color:var(--muted);margin-bottom:2rem}
.summary{background:var(--paper-2);border-inline-start:3px solid var(--champagne);padding:1.25rem 1.5rem;margin:0 0 2rem}
.summary b{display:block;font-size:.875rem;color:var(--muted);font-weight:600;margin-bottom:.25rem}
.summary p{margin:0}
table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.9375rem}
th,td{text-align:start;padding:.6rem .75rem;border-bottom:1px solid var(--field-2);vertical-align:top}
th{font-weight:600;background:var(--paper-2)}
.shelf{margin-block:3rem 1rem}
.shelf h2{margin-top:0}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.card .ph{background:var(--paper-2);aspect-ratio:1}
.card .ph img{width:100%;height:100%;object-fit:contain}
.card b{font-weight:600;font-size:.9375rem;line-height:1.35;margin-top:.5rem}
.card span{font-size:.875rem;color:var(--muted)}
.card:hover b{text-decoration:underline}
.faq details{border-bottom:1px solid var(--field-2)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:56px;padding-block:.75rem;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.5rem/1 var(--font-display);color:var(--muted);flex:none}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 1rem;color:var(--ink-2)}
.sources{font-size:.9375rem;color:var(--muted);border-top:1px solid var(--field-2);padding-top:1rem;margin-top:2.5rem}
.sources ul{margin:0}
.cta{background:var(--noir);color:var(--on-dark);padding:2rem;margin-top:3rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.cta p{margin:0;font:400 1.5rem/1.25 var(--font-display)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.5rem;background:var(--paper);color:var(--ink);text-decoration:none;font-weight:600}
.btn:hover{background:var(--field)}
.list{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:0}
.list li{border-top:1px solid var(--field-2);margin:0}
.list a{display:grid;grid-template-columns:120px 1fr;gap:1.25rem;align-items:center;padding-block:1.25rem;text-decoration:none;color:var(--ink)}
.list .ph{background:var(--paper-2);aspect-ratio:1}
.list .ph img{width:100%;height:100%;object-fit:contain}
.list small{display:block;font-size:.8125rem;color:var(--muted)}
.list strong{display:block;font:400 1.5rem/1.2 var(--font-display);margin:.15rem 0 .35rem}
.list span{display:block;font-size:.9375rem;color:var(--ink-2);line-height:1.6}
.list a:hover strong{text-decoration:underline}
footer{background:var(--noir);color:var(--on-dark-2);border-top:1px solid var(--champagne);font-size:.9375rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:center;justify-content:space-between;padding-block:1.5rem}
footer nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
footer a{color:var(--on-dark);display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
footer a:hover{text-decoration:underline}
footer span a{display:inline;min-height:0;text-decoration:underline}
@media (max-width:40rem){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.list a{grid-template-columns:88px 1fr;gap:1rem}.list strong{font-size:1.25rem}.top .wm img{height:36px}.top nav{gap:0 1rem}.top nav a.cat{display:none}.cta{padding:1.5rem}}
