*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f0ede6;--ink: #0f0e0c;--ink-mid: #3a3835;--muted: #7a7670;--accent: #c8502a;--line: #d4cfc7;--serif: "Cormorant Garamond", Georgia, serif;--mono: "JetBrains Mono", monospace;--body: "Literata", Georgia, serif}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.65}body:before{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:180px 180px}.page-wrap{max-width:1200px;margin:0 auto}.section-header{display:flex;justify-content:space-between;align-items:baseline;padding:14px 48px;border-bottom:1px solid var(--line);border-top:2px solid var(--ink)}@media(max-width:720px){.section-header{padding:12px 20px}}.section-header-label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);display:flex;align-items:center;gap:10px}.section-header-label:before{content:"";width:20px;height:2px;background:var(--accent);display:block}.section-header-count{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted)}.section-body{padding:0 48px 56px}@media(max-width:720px){.section-body{padding:0 20px 40px}}.tag{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:3px 9px;color:var(--muted);background:transparent;transition:border-color .25s,color .25s}.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.section-hl{animation:sectionPulse .5s ease}@keyframes sectionPulse{0%{background:#c8502a00}30%{background:#c8502a0d}to{background:#c8502a00}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}
