
:root{--paper:#F4F2EE;--ink:#1B1A18;--mute:#5f5a53;--rule:#cfc9bf;color-scheme:light}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Jost',system-ui,sans-serif;font-size:17px;line-height:1.65}
a{color:inherit}
.w{max-width:980px;margin:0 auto;padding-inline:clamp(18px,5vw,40px)}
.n{max-width:680px;margin:0 auto;padding-inline:clamp(18px,5vw,40px)}
.caps{font-size:12.5px;letter-spacing:.32em;text-transform:uppercase}
.it{font-family:'Playfair Display',Georgia,serif;font-style:italic}
nav{position:sticky;top:0;background:rgba(244,242,238,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule);z-index:5}
nav .w{display:flex;justify-content:space-between;align-items:center;padding-block:12px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand img{width:30px;height:auto;display:block}.brand span{font-family:'Pacifico',cursive;font-size:20px}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0} nav a{text-decoration:none} nav a:hover{text-decoration:underline;text-underline-offset:4px}
.after{background:var(--ink);color:var(--paper);font-size:15px;padding:12px 0}.after a{text-underline-offset:3px}
.crumb{font-size:13px;color:var(--mute);margin:34px 0 0}.crumb a{text-decoration:none}
header.h{padding:26px 0 30px;border-bottom:1px solid var(--rule)}
.kick{color:var(--mute)}
h1{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(34px,5.4vw,52px);line-height:1.08;margin:14px 0 18px;letter-spacing:-.01em;text-wrap:balance}
.meta{font-size:14px;color:var(--mute)}
.brief{margin:34px 0;padding:22px 24px;border-left:3px solid var(--ink);background:rgba(27,26,24,.035)}
.brief .caps{font-size:11px;color:var(--mute);display:block;margin-bottom:8px}
.brief p{margin:0;font-family:'Playfair Display',serif;font-size:20px;line-height:1.45}
article.body h2{font-family:'Playfair Display',serif;font-weight:500;font-size:28px;line-height:1.2;margin:44px 0 12px}
article.body p,article.body li{font-size:18px}
article.body blockquote{margin:26px 0;padding:0 0 0 22px;border-left:1px solid var(--ink);font-family:'Playfair Display',serif;font-style:italic;font-size:22px;line-height:1.4}
article.body ul{padding-left:22px}
.faq{margin:54px 0 0;border-top:1px solid var(--rule);padding-top:26px}
.faq h2,.src h2{font-family:'Playfair Display',serif;font-weight:500;font-size:26px;margin:0 0 14px}
.faq details{border-bottom:1px solid var(--rule);padding:14px 0}
.faq summary{cursor:pointer;font-weight:500;list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--mute)}.faq details[open] summary::after{content:"–"}
.faq p{margin:10px 0 0;color:#2d2b28}
.src{margin:40px 0 0;font-size:15px}.src ol{padding-left:20px;color:var(--mute)}.src a{color:var(--ink);word-break:break-word}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:56px 0 0;border-top:1px solid var(--rule);padding-top:24px}
.pn a{text-decoration:none;display:block}.pn .it{font-size:19px;line-height:1.3;display:block;margin-top:4px}.pn .r{text-align:right}
.wait{text-align:center;padding:80px 0 40px}.wait .it{font-size:26px}
.list{list-style:none;margin:0;padding:0}
.list li{border-bottom:1px solid var(--rule)}
.list a{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:24px 0;text-decoration:none}
.list .d{font-size:13px;color:var(--mute);padding-top:6px}
.list .t{font-family:'Playfair Display',serif;font-size:25px;line-height:1.2}
.list .s{color:var(--mute);font-size:15.5px;margin-top:6px}
.list a:hover .t{text-decoration:underline;text-underline-offset:4px}
.hub{text-align:center;padding:70px 0 30px}.hub h1{margin:12px auto}.hub p{max-width:52ch;margin:0 auto;color:var(--mute)}
footer{padding:50px 0 60px;text-align:center;font-size:14px;color:var(--mute)} footer .folio{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;color:var(--ink);margin-bottom:10px}
nav a,.brand span{white-space:nowrap}
@media (max-width:560px){nav ul li:first-child{display:none}.list a{grid-template-columns:1fr;gap:4px}.pn{grid-template-columns:1fr}.pn .r{text-align:left}}
