:root{--dark:#0d0b08;--bg:#0d0b08;--bg2:#15131a;--ink:#ece3d3;--muted:#bfb3a0;--gold:#d8b26a;--brass:#c99a45;--accent:#c99a45;--paper:#efe5cf;--pink:#241c12;--pmuted:#6d5f49;--pbrass:#7d5412;--line:#c9b78f;--read-bg:#f4efe6;--read-ink:#1d1a17;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:17px/1.6 var(--sans);margin:0;overflow-x:hidden}h1,h2,h3{font-family:var(--serif);letter-spacing:.01em;font-weight:500;line-height:1.12}h1{font-size:clamp(2.4rem,6vw,5rem)}a{color:var(--accent)}.container{width:min(1100px,100% - 32px);margin-inline:auto}.tag{letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin-bottom:8px;font-size:.72rem;display:inline-block}.btn{border-radius:999px;padding:13px 24px;font-weight:500;text-decoration:none;display:inline-block}.btn.main{background:var(--brass);color:#150f06}.btn.main:hover{background:#ddb15f}.btn.ghost{color:var(--ink);border:1px solid #ece3d355}.skip{z-index:100;background:var(--brass);color:#150f06;border-radius:999px;padding:10px 18px;font-weight:500;text-decoration:none;position:absolute;top:8px;left:-9999px}.skip:focus{left:12px}header{z-index:40;background:linear-gradient(#0d0b08ee,#0d0b0800);justify-content:space-between;align-items:center;gap:12px;padding:14px clamp(16px,4vw,40px);transition:background .3s,padding .3s,box-shadow .3s;display:flex;position:fixed;inset:0 0 auto}header.solid{background:#0d0b08f2;padding-top:9px;padding-bottom:9px;box-shadow:0 1px #ffffff14}header a.brand{font:600 1.25rem var(--serif);letter-spacing:.05em;color:var(--ink);text-decoration:none}#site-nav{align-items:center;gap:clamp(12px,2vw,24px);font-size:.92rem;display:flex}#site-nav a{color:var(--ink);opacity:.85;text-decoration:none}#site-nav a:hover{opacity:1}#site-nav a.pill{border:1px solid var(--brass);color:var(--brass);opacity:1;white-space:nowrap;border-radius:999px;padding:7px 16px}#site-nav a.pill:hover{background:var(--brass);color:#150f06}.menu-btn{color:var(--ink);font:500 .85rem var(--sans);cursor:pointer;background:0 0;border:1px solid #fff4;border-radius:999px;padding:7px 14px;display:none}@media (width<=760px){.menu-btn{display:inline-block}#site-nav{background:#0d0b08f7;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 20px 20px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 24px #000a}header.menu-open #site-nav{display:flex}#site-nav a{width:100%;padding:10px 0;font-size:1.05rem}#site-nav a.pill{width:auto;margin-top:8px}}main.offset{padding-top:76px}.sample-flag{color:#fff;letter-spacing:.14em;text-transform:uppercase;background:#c0392b;border-radius:999px;margin-bottom:8px;padding:2px 10px;font-size:.7rem;display:inline-block}.paper{color:var(--pink);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .15 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.paper .tag,.paper a{color:var(--pbrass)}.pad{padding:clamp(40px,7vw,80px) 0}.edge{background:linear-gradient(var(--dark),var(--paper));height:70px;margin-bottom:-1px}.edge.up{background:linear-gradient(var(--paper),var(--dark));margin:-1px 0 0}.js .reveal{opacity:0;transition:opacity 1.2s,transform 1.2s;transform:translateY(18px)}.js .reveal.in{opacity:1;transform:none}.reading{background:var(--read-bg);color:var(--read-ink)}.reading .prose{max-width:70ch;margin-inline:auto;padding:48px 0}.reading a{color:#8a5a14}.site-footer{color:var(--muted);padding:40px 0}.site-footer nav{flex-wrap:wrap;gap:20px;display:flex}.site-footer nav a{color:inherit}.reading .site-footer{color:#5f523d}.prose img{max-width:100%;height:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;display:grid}.card{background:var(--bg2);border-radius:6px;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transition:none;transform:none}*{animation:none!important}header{transition:none}}
