:root{--color-bg: #0b0b0b;--color-surface: #141414;--color-border: #222;--color-text: #f0ebe3;--color-text-muted: #8a8680;--color-accent: #c9a96e;--color-accent-dim: rgba(201, 169, 110, .15);--font-display: "Instrument Serif", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--width-max: 1200px;--width-narrow: 780px;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--space-2xl: 10rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.15}a{color:var(--color-accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}img{max-width:100%;display:block}ul{list-style:none}.container{max-width:var(--width-max);margin:0 auto;padding:0 var(--space-md)}.container--narrow{max-width:var(--width-narrow)}.section{padding:var(--space-xl) 0}.section+.section{border-top:1px solid var(--color-border)}.page-header{padding:var(--space-2xl) 0 var(--space-lg)}.page-header h1{font-size:clamp(2.5rem,6vw,4.5rem);letter-spacing:-.02em}.page-header p{margin-top:var(--space-sm);font-size:1.125rem;color:var(--color-text-muted);max-width:50ch}.label{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.prose{line-height:1.75;color:var(--color-text-muted)}.prose strong{color:var(--color-text)}.grid-2{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}.card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-md)}.tag{display:inline-block;font-size:.8rem;padding:.25em .75em;background:var(--color-accent-dim);color:var(--color-accent);border:1px solid rgba(201,169,110,.25)}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:var(--space-xs) var(--space-sm);background:var(--color-accent);color:var(--color-bg)}.skip-link:focus{left:var(--space-sm);top:var(--space-sm)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
