header[data-astro-cid-3ef6ksr2]{background-color:var(--color-bg);border-bottom:1px solid var(--color-rule);padding:1.25rem 0;position:sticky;top:0;z-index:100}nav[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:baseline}.logo[data-astro-cid-3ef6ksr2]{font-family:var(--font-serif);font-size:1.375rem;font-weight:500;color:var(--color-ink);text-decoration:none;letter-spacing:-.015em}.logo[data-astro-cid-3ef6ksr2] em[data-astro-cid-3ef6ksr2]{font-style:italic;font-weight:400}.logo[data-astro-cid-3ef6ksr2]:hover{text-decoration:none;color:var(--color-accent)}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;list-style:none;gap:1.75rem;align-items:baseline}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-family:var(--font-sans);color:var(--color-ink-muted);font-weight:500;font-size:.875rem;text-decoration:none;letter-spacing:.005em;position:relative;padding-bottom:2px}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background-color:var(--color-accent);transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--color-ink);text-decoration:none}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover:after{transform:scaleX(1)}@media(max-width:768px){header[data-astro-cid-3ef6ksr2]{padding:.9rem 0}nav[data-astro-cid-3ef6ksr2]{gap:1rem}.logo[data-astro-cid-3ef6ksr2]{font-size:1.125rem;flex-shrink:0}.nav-links[data-astro-cid-3ef6ksr2]{gap:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:1;min-width:0}.nav-links[data-astro-cid-3ef6ksr2]::-webkit-scrollbar{display:none}.nav-links[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]{flex-shrink:0}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:.8125rem;white-space:nowrap}}footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-rule);padding:2.25rem 0 3rem;margin-top:6rem}.footer-inner[data-astro-cid-sz7xmlte]{max-width:var(--measure-wide);margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.colophon[data-astro-cid-sz7xmlte]{font-size:.9375rem;color:var(--color-ink-muted);line-height:1.6;margin:0}.colophon[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-accent)}.copyright[data-astro-cid-sz7xmlte]{margin:0}@media(max-width:768px){footer[data-astro-cid-sz7xmlte]{padding:2rem 0 2.5rem;margin-top:4rem}}:root{--color-bg: #faf9f5;--color-bg-alt: #f3f1ea;--color-ink: #1a1a1a;--color-ink-muted: #5a5a5a;--color-ink-faint: #8a8a85;--color-rule: #e4e0d7;--color-rule-faint: #eeeae0;--color-accent: #1e3a5f;--color-accent-hover: #0f2340;--color-primary: var(--color-ink);--color-primary-light: var(--color-ink-muted);--color-accent-dark: var(--color-accent-hover);--color-accent-light: #3a5f8a;--color-text: var(--color-ink);--color-text-muted: var(--color-ink-muted);--color-text-light: var(--color-ink-faint);--color-bg-elevated: var(--color-bg);--color-border: var(--color-rule);--color-border-light: var(--color-rule-faint);--font-serif: "Source Serif 4", "Iowan Old Style", "Charter", Georgia, "Times New Roman", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--measure-prose: 38rem;--measure-wide: 46rem;--measure-max: 72rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--radius-xl: 4px;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none;--max-width: var(--measure-max)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:100%}body{font-family:var(--font-serif);font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.65;color:var(--color-ink);background-color:var(--color-bg);font-feature-settings:"kern","liga","onum";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}main{min-height:calc(100vh - 220px)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--color-ink);margin-bottom:.6em}h1{font-size:clamp(2rem,1.5rem + 2.4vw,3.25rem);font-weight:600;letter-spacing:-.025em;line-height:1.08}h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:600;letter-spacing:-.015em}h3{font-size:clamp(1.2rem,1.05rem + .6vw,1.4rem);font-weight:600}h4{font-size:1.0625rem;font-weight:600;font-family:var(--font-sans);letter-spacing:.01em;text-transform:uppercase;font-size:.8125rem;color:var(--color-ink-muted)}p{margin-bottom:1em}a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb,var(--color-accent) 35%,transparent);transition:text-decoration-color .15s ease,color .15s ease}a:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}strong,b{font-weight:600}em,i{font-style:italic}blockquote{border-left:2px solid var(--color-rule);padding-left:1.25rem;margin:1.75rem 0;color:var(--color-ink-muted);font-style:italic}code{font-family:var(--font-mono);font-size:.875em;background-color:var(--color-bg-alt);padding:.1em .35em;border-radius:2px}pre{font-family:var(--font-mono);background-color:#1a1a1a;color:#f0ebe0;padding:1.25rem 1.5rem;border-radius:3px;overflow-x:auto;font-size:.875rem;line-height:1.6;margin:1.75rem 0}pre code{background:none;padding:0;color:inherit;font-size:inherit}hr{border:none;border-top:1px solid var(--color-rule);margin:2.5rem 0}ul,ol{margin-bottom:1em;padding-left:1.4rem}li{margin-bottom:.35em}::selection{background:var(--color-accent);color:var(--color-bg)}.container{max-width:var(--measure-max);margin:0 auto;padding:0 1.5rem}.prose{max-width:var(--measure-prose);margin:0 auto}.wide{max-width:var(--measure-wide);margin:0 auto}.section{padding:var(--spacing-lg) 0}.meta{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-faint)}@media(max-width:768px){.container{padding:0 1.25rem}}
