@font-face{font-family:Kaisei;src:url('/assets/KaiseiOpti-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:dark;--ink:#131115;--paper:#efdfbf;--muted:#c2b59c;--gold:#e5b86e;--line:#564233}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:17px/1.95 system-ui,sans-serif}a{color:var(--gold);text-underline-offset:5px}a:hover{color:#fff0d3}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}header,footer,main{max-width:1060px;margin:auto;padding:30px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font:700 26px Kaisei,serif;text-decoration:none;white-space:nowrap}.brand span{font:13px Georgia,serif;letter-spacing:2px;margin-left:14px}nav{display:flex;gap:22px;flex-wrap:wrap}nav a{font-size:14px;display:inline-block;min-height:44px;align-content:center}main{min-height:65vh;overflow-wrap:anywhere}h1,h2{font-family:Kaisei,serif;font-weight:700;line-height:1.55}h1{font-size:clamp(26px,4vw,38px);margin:25px 0}h2{font-size:22px;margin:0 0 18px}p{margin:0 0 15px;color:var(--muted)}section{max-width:800px;margin:34px auto;padding-bottom:26px;border-bottom:1px solid var(--line)}section:last-child{border:0}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;padding:38px 0 50px}.intro img{width:100%;height:auto}.intro h1{font-size:clamp(28px,3.5vw,40px);margin:14px 0 22px}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--gold)}.contact{display:inline-block;background:#8d2438;border:1px solid #c18b54;text-decoration:none;color:var(--paper);padding:12px 24px;margin-top:10px}.reading{border-top:1px solid var(--line)}footer{border-top:1px solid var(--line);font-size:13px}footer p{margin-top:22px}.skip{position:absolute;left:12px;top:-100px;background:var(--ink);padding:12px;z-index:2}.skip:focus{top:10px}li{padding:5px 0}@media(max-width:700px){header{display:block}header nav{margin-top:18px;gap:16px}main,header,footer{padding:22px}.intro{display:flex;flex-direction:column;gap:0;padding-top:12px;align-items:stretch}.intro img{max-width:460px;align-self:center}.intro h1{margin-top:8px}nav{gap:16px}section{margin-top:24px}h2{font-size:20px}}
