:root{--paper:#f6f2ea;--ink:#141310;--mute:#5f594f;--line:#d6cdbd;--red:#c8102e;--card:#fffdf8;--shade:#ece5d8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#121110;--ink:#f1ece2;--mute:#a9a197;--line:#35312b;--red:#ff4d5e;--card:#1b1a17;--shade:#24221e}}
:root[data-theme="dark"]{--paper:#121110;--ink:#f1ece2;--mute:#a9a197;--line:#35312b;--red:#ff4d5e;--card:#1b1a17;--shade:#24221e}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 "Source Serif 4",Georgia,serif}
a{color:var(--red)}
.topbar,.nameplate,.cover,.toolbar,#ledger,.foot{max-width:1180px;margin:0 auto;padding:0 16px}
.topbar{display:flex;justify-content:space-between;gap:12px;font:600 11px/1 "Libre Franklin",sans-serif;letter-spacing:.14em;text-transform:uppercase;padding-top:14px;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.nameplate{text-align:center;padding-top:18px}
.tagline{font:italic 400 16px "Playfair Display",serif;color:var(--mute);margin:0}
.nameplate h1{font:900 clamp(46px,11vw,132px)/.9 "Playfair Display",serif;letter-spacing:-.03em;margin:6px 0 10px;white-space:nowrap}
.the{font-style:italic;font-weight:400;font-size:.42em;vertical-align:.95em;margin-right:.08em;letter-spacing:0}
.rules{border-top:4px solid var(--ink);border-bottom:1px solid var(--ink);height:7px}
.depts{display:flex;justify-content:center;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--ink)}
.depts button{font:800 12px "Libre Franklin",sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:12px 14px;background:none;border:0;color:var(--ink);cursor:pointer;border-bottom:3px solid transparent}
.depts button.on{border-bottom-color:var(--red);color:var(--red)}
.cover{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:40px;align-items:start;padding-top:30px;padding-bottom:30px;border-bottom:1px solid var(--ink)}
.kicker{font:800 11.5px "Libre Franklin",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:0 0 8px}
.cover h2{font:900 clamp(32px,5vw,58px)/1.02 "Playfair Display",serif;margin:0 0 14px;letter-spacing:-.01em}
.cover h2 a{color:var(--ink);text-decoration:none}
.cover .dek{font:italic 400 21px/1.4 "Source Serif 4",serif;color:var(--mute);margin:0 0 14px}
.byline{font:600 12px "Libre Franklin",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.contents{margin-top:22px}
.contents h3{font:800 12px "Libre Franklin",sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;padding-bottom:8px;border-bottom:3px solid var(--ink)}
.contents button{display:flex;gap:14px;align-items:center;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;color:var(--ink);cursor:pointer;text-align:left;font:700 19px "Playfair Display",serif}
.contents button b{font:900 28px "Playfair Display",serif;color:var(--red)}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;padding-bottom:6px}
#q{flex:1 1 320px;padding:11px 12px;font:15px "Libre Franklin",sans-serif;background:var(--card);color:var(--ink);border:1px solid var(--ink);border-radius:0}
.toolbar select{font:14px "Libre Franklin",sans-serif;padding:8px;background:var(--card);color:var(--ink);border:1px solid var(--line);max-width:100%}
.year{grid-column:1/-1;display:flex;align-items:center;gap:16px;font:900 italic 30px "Playfair Display",serif;margin:30px 0 6px}
.year::before,.year::after{content:"";flex:1;border-top:1px solid var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px}
.entry{padding:18px 0;border-top:1px solid var(--line)}
.entry h2{font:700 21px/1.2 "Playfair Display",serif;margin:0 0 8px}
.entry h2 a{color:var(--ink);text-decoration:none}.entry h2 a:hover{text-decoration:underline;text-decoration-color:var(--red)}
.entry p{margin:0 0 8px;font-size:15.5px}
.entry .byline{font-size:11px;line-height:1.5}
.status{font:600 12.5px "Libre Franklin",sans-serif;margin:6px 0}
.status::before{content:"■ ";color:var(--red)}
.src{font:600 11px "Libre Franklin",sans-serif;letter-spacing:.06em;text-transform:uppercase;margin-top:8px}
.src a{text-decoration:none;margin-right:10px}
.entry.tenant h2{font-style:italic}
.empty{padding:40px 0;text-align:center;color:var(--mute);grid-column:1/-1}
.foot{margin-top:40px;border-top:4px solid var(--ink);padding-top:20px;padding-bottom:60px;font-size:15px}
.props h2{font:900 40px "Playfair Display",serif;margin:0 0 4px}
.props-dek{color:var(--mute);margin:0 0 12px}
#pq{width:100%;padding:9px 10px;font:14px "Libre Franklin",sans-serif;background:var(--card);color:var(--ink);border:1px solid var(--line);margin-bottom:8px}
#props{columns:3 260px;column-gap:32px}
.props details{break-inside:avoid;border-bottom:1px solid var(--line)}
.props summary{cursor:pointer;padding:8px 0;font:700 15px "Playfair Display",serif;color:var(--ink)}
.props summary span{color:var(--mute);font:400 12px "Libre Franklin",sans-serif}
.props .city{margin:4px 0 10px}
.props .city b{display:block;font:800 10.5px "Libre Franklin",sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--red)}
.props .city a{font-size:14px;margin-right:4px;line-height:1.7;color:var(--ink)}
.props .gs{font:11px "Libre Franklin",sans-serif;color:var(--mute);margin-right:10px;text-decoration:none}
.colophon{border-top:1px solid var(--ink);margin-top:30px;padding-top:16px;color:var(--mute)}
.mini-plate{font:900 28px "Playfair Display",serif;color:var(--ink);margin:0 0 8px}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.cover{grid-template-columns:1fr}.contents{border-left:0;padding-left:0}}
@media (max-width:600px){.grid{grid-template-columns:1fr}.hide-sm{display:none}.nameplate h1{white-space:normal;font-size:64px}.depts button{padding:10px 8px;font-size:11px}}

.faq{max-width:1180px;margin:40px auto 0;padding:0 16px}
.faq h2{font:900 40px "Playfair Display",serif;margin:0 0 8px;border-top:4px solid var(--ink);padding-top:16px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:14px 0;font:700 20px "Playfair Display",serif}
.faq details p{margin:0 0 12px;max-width:760px}
.faq-src{font:600 11px "Libre Franklin",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.faq-src a{margin-right:6px}

/* ---- Magazine cover ---- */
.mag{container-type:inline-size;position:relative;display:block;aspect-ratio:4/5;overflow:hidden;color:#f6f2ea;text-decoration:none;background:#2a2620;box-shadow:0 1px 0 var(--ink),0 18px 40px -18px rgba(0,0,0,.55);transition:transform .25s ease}
.mag:hover{transform:translateY(-3px)}
.mag img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mag::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,19,16,.55) 0%,rgba(20,19,16,0) 30%,rgba(20,19,16,0) 52%,rgba(20,19,16,.82) 100%)}
.mag>span{position:absolute;z-index:1}
.mag-issue{top:2.8cqw;left:3.8cqw;right:3.8cqw;font:800 2.3cqw "Libre Franklin",sans-serif;letter-spacing:.18em;text-transform:uppercase;opacity:.9}
.mag-plate{top:6.5cqw;left:3.5cqw;right:3.5cqw;font:900 12.3cqw/.95 "Playfair Display",serif;letter-spacing:-.03em;text-shadow:0 2px 14px rgba(0,0,0,.45);white-space:nowrap}
.mag-plate .the{font-size:.36em;vertical-align:1.15em}
.mag-flag{top:0;right:0;background:var(--red);color:#fff;font:800 2.2cqw "Libre Franklin",sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;transform-origin:top right}
.mag-side{left:3.8cqw;top:30%;width:30%;font:600 2.3cqw/1.2 "Libre Franklin",sans-serif;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.mag-side b{display:block;font:900 6.4cqw/1 "Playfair Display",serif;letter-spacing:0;margin-top:2.4cqw;color:#fff}
.mag-lead{left:3.8cqw;right:3.8cqw;bottom:4cqw}
.mag-kick{display:inline-block;background:var(--red);color:#fff;font:800 2.3cqw "Libre Franklin",sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:4px 8px;margin-bottom:8px}
.mag-big{display:block;font:900 13.5cqw/.95 "Playfair Display",serif;letter-spacing:-.02em;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.mag-sub{display:block;font:italic 400 4cqw/1.3 "Source Serif 4",serif;margin-top:1.4cqw;max-width:92%;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.cover-text h2{font-size:clamp(28px,3.6vw,46px)}
.contents button img{width:96px;height:54px;object-fit:cover;flex:none;filter:saturate(.9)}
.contents button span{flex:1}
.contents button b{margin-left:auto}
/* section banners on generated pages */
.sec-art{display:block;width:100%;max-width:none;height:clamp(170px,26vw,330px)!important;object-fit:cover;object-position:center 45%;margin:6px 0 18px;border-top:4px solid var(--ink)}
@media (max-width:900px){.cover{grid-template-columns:1fr}.mag{max-width:460px;width:100%;margin:0 auto}}
@media (max-width:420px){.mag-plate{top:6.5cqw;left:3.5cqw;right:3.5cqw;font:900 12.3cqw/.95 "Playfair Display",serif;letter-spacing:-.03em;text-shadow:0 2px 14px rgba(0,0,0,.45);white-space:nowrap}.mag-side b{display:block;font:900 6.4cqw/1 "Playfair Display",serif;letter-spacing:0;margin-top:2.4cqw;color:#fff}}
