*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:         oklch(92% 0.012 75);
  --surface:    oklch(95% 0.008 75);
  --fg:         oklch(15% 0.025 70);
  --muted:      oklch(38% 0.015 70);
  --border:     oklch(80% 0.02 70);
  --accent:     oklch(35% 0.18 28);
  --accent-dim: oklch(35% 0.18 28 / 0.08);
  --gold:       oklch(52% 0.10 70);
  --font-display: 'Georgia', 'Iowan Old Style', 'Times New Roman', 'Noto Serif', serif;
  --font-body:    'Georgia', 'Iowan Old Style', 'Times New Roman', serif;
  --font-mono:    'Courier New', 'Consolas', 'Liberation Mono', monospace;
  --grid: clamp(1rem, 2.5vw, 2rem);
}
html{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:clamp(15px, 1.15vw, 18px);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{min-height:100vh;position:relative}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(100,60,20,0.025) 3px,rgba(100,60,20,0.025) 6px);mix-blend-mode:multiply}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;background:radial-gradient(ellipse at 50% 30%,transparent 50%,rgba(80,50,20,0.04) 100%);mix-blend-mode:multiply}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.15;color:var(--fg);letter-spacing:-0.01em}
h1{font-size:clamp(2rem, 5.5vw, 4.5rem)}
h2{font-size:clamp(1.5rem, 3.5vw, 2.8rem)}
h3{font-size:clamp(1.15rem, 1.8vw, 1.6rem)}
p{max-width:70ch;color:var(--fg);font-size:clamp(0.95rem, 1.05vw, 1.05rem)}
a{color:var(--accent);text-decoration:none;transition:all .15s}
a:hover{color:var(--fg);text-decoration:underline}
.old-ortho{font-feature-settings:"ss01" on}
.kicker{font-family:var(--font-mono);font-size:clamp(.55rem,.6vw,.65rem);text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:.5rem;font-weight:500}
.ornament{display:flex;align-items:center;justify-content:center;gap:.75em;font-size:1.2rem;color:var(--border);margin:1.5rem 0;user-select:none}
.ornament::before,.ornament::after{content:'';flex:1;height:1px;background:var(--border)}
.ornament--double::before,.ornament--double::after{height:2px;background:var(--fg)}
.ornament--star{color:var(--accent)}
.fleuron{display:inline-block;color:var(--border);font-size:1.4rem;line-height:1;user-select:none;margin:0 .3em}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.55em 1.3em;font-family:var(--font-body);font-size:clamp(.75rem,.85vw,.85rem);border:1px solid var(--fg);cursor:pointer;transition:all .15s;background:transparent;color:var(--fg);text-decoration:none;letter-spacing:.02em}
.btn:hover{background:var(--fg);color:var(--bg);text-decoration:none}
.btn--primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.btn--primary:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.container{width:100%;max-width:1100px;margin:0 auto;padding:0 var(--grid)}
.grid{display:grid;gap:var(--grid)}
.grid--2{grid-template-columns:repeat(auto-fit, minmax(min(100%, 360px), 1fr))}
.grid--3{grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr))}
.section{padding:clamp(2rem, 4vw, 4rem) 0}
.card{background:var(--surface);border:1px solid var(--border);padding:clamp(1.2rem, 1.8vw, 2rem);transition:border-color .2s}
.card:hover{border-color:var(--accent)}
.card__title{font-family:var(--font-display);font-weight:700;font-size:clamp(1rem, 1.2vw, 1.3rem);margin-bottom:.2em}
.card__meta{font-family:var(--font-mono);font-size:.7rem;color:var(--muted);margin-bottom:.5em}
.tag{display:inline-block;padding:.15em .5em;font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);color:var(--muted)}
.tag--accent{border-color:var(--accent);color:var(--accent)}
.tag--gold{border-color:var(--gold);color:var(--gold)}
.breadcrumb{display:flex;gap:.5em;font-family:var(--font-mono);font-size:.75rem;color:var(--muted);margin-bottom:1.5rem;padding-top:1rem}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span::before{content:'/';margin-right:.5em;color:var(--border)}
.input{width:100%;padding:.5em .7em;font-family:var(--font-body);font-size:.9rem;background:var(--surface);border:1px solid var(--border);color:var(--fg);outline:none;transition:border-color .15s}
.input:focus{border-color:var(--accent)}
.input::placeholder{color:var(--muted);font-style:italic}
.select{appearance:none;padding:.5em .7em;font-family:var(--font-body);font-size:.9rem;background:var(--surface);border:1px solid var(--border);color:var(--fg);cursor:pointer;outline:none}
.select:focus{border-color:var(--accent)}
label{font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:block;margin-bottom:.25em}
.initial{float:left;font-family:var(--font-display);font-size:clamp(3rem, 6vw, 5rem);line-height:.8;font-weight:700;margin-right:.3em;margin-top:.05em;color:var(--accent);padding:0 .05em}
.initial--gold{color:var(--gold)}
.header{position:relative;padding:.6rem 0}
.header::after{content:'';display:block;clear:both;border-bottom:1px solid var(--border);margin-top:.6rem}
.header__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem}
.header__logo{font-family:var(--font-display);font-size:clamp(1rem,1.4vw,1.5rem);font-weight:700;letter-spacing:-.01em;color:var(--fg);display:flex;align-items:center;gap:.4rem;text-decoration:none}
.header__logo:hover{color:var(--accent);text-decoration:none}
.header__nav{display:flex;gap:clamp(.6rem,1.2vw,1.2rem);font-family:var(--font-body);font-size:clamp(.8rem,.9vw,.9rem)}
.header__nav a{color:var(--muted);padding:.15em 0;border-bottom:1px solid transparent}
.header__nav a:hover,.header__nav a.active{color:var(--fg);text-decoration:none;border-bottom-color:var(--fg)}
.header__masthead{text-align:center;padding:.6rem 0;border-bottom:2px solid var(--fg);margin-bottom:1rem}
.header__masthead__title{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2.8rem);font-weight:700;letter-spacing:-.01em;margin-bottom:.05em}
.header__masthead__meta{font-family:var(--font-mono);font-size:clamp(.55rem,.6vw,.65rem);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.double-rule{display:flex;flex-direction:column;align-items:stretch;gap:3px;margin:1.5rem 0}
.double-rule span{height:1px;background:var(--fg)}
.double-rule span:first-child{height:2px}
.footer{padding:clamp(1.5rem, 3vw, 3rem) 0;margin-top:clamp(2rem, 4vw, 4rem);font-size:.8rem;color:var(--muted)}
.footer__grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 200px), 1fr));gap:var(--grid)}
.footer__title{font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.5rem}
.footer a{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.3em}
.footer a:hover{color:var(--fg);text-decoration:underline}
.footer__colophon{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem;font-size:.7rem;text-align:center;color:var(--muted);font-family:var(--font-mono)}
.img-sepia{filter:sepia(0.6) contrast(0.9) brightness(1.05)}
@media(width < 600px){
  .header__nav{gap:.4rem;font-size:.75rem}
  .header__inner{flex-direction:column;align-items:flex-start}
  .grid--2,.grid--3{grid-template-columns:1fr}
  .initial{font-size:clamp(2.5rem, 8vw, 3.5rem)}
}
@media(width>=600px) and (width<900px){
  .grid--3{grid-template-columns:repeat(2,1fr)}
}