@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-400.woff2) format("woff2")}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-400-italic.woff2) format("woff2")}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/schibsted-grotesk-var.woff2) format("woff2-variations")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-var.woff2) format("woff2-variations")}:root{--bg: #fbfaf8;--surface: #f3f1ec;--ink: #1a1815;--muted: #6b655c;--border: #e3dfd6;--accent: #a63d18;--accent-on: #ffffff;--accent-weak: #a63d181a;--shadow: 0 1px 2px #1a181508, 0 8px 24px #1a18150a;--overlay: #1a1815b3;--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;--font-body: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-display: clamp(2.75rem, 1.2rem + 7vw, 6.5rem);--text-h2: clamp(2rem, 1.2rem + 3vw, 3.25rem);--text-h3: clamp(1.25rem, 1rem + 1vw, 1.6rem);--text-lead: clamp(1.125rem, 1rem + .6vw, 1.4rem);--text-body: 1.0625rem;--text-sm: .9375rem;--text-label: .75rem;--leading-tight: 1.04;--leading-snug: 1.3;--leading-body: 1.65;--tracking-display: -.028em;--tracking-h2: -.02em;--tracking-label: .09em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--sp-24: 6rem;--section-y: clamp(5rem, 11vw, 10rem);--gutter: clamp(1.25rem, 5vw, 3rem);--measure: 64ch;--max-w: 68rem;--radius-sm: 2px;--radius: 6px;--radius-pill: 999px;--ease: cubic-bezier(.16, 1, .3, 1);--dur-fast: .18s;--dur: .32s;--dur-slow: .62s;color-scheme:light}:root[data-theme=dark]{--bg: #0f0e0c;--surface: #191712;--ink: #f2efe8;--muted: #9a938a;--border: #2a2722;--accent: #e0763f;--accent-on: #0f0e0c;--accent-weak: #e0763f1f;--shadow: 0 1px 2px #00000040, 0 8px 24px #00000059;--overlay: #000000cc;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg: #0f0e0c;--surface: #191712;--ink: #f2efe8;--muted: #9a938a;--border: #2a2722;--accent: #e0763f;--accent-on: #0f0e0c;--accent-weak: #e0763f1f;--shadow: 0 1px 2px #00000040, 0 8px 24px #00000059;--overlay: #000000cc;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html{scroll-padding-top:5rem}body{min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}@media(pointer:coarse){a,button{min-height:44px}}body{background-color:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);font-weight:400}@media(prefers-reduced-motion:no-preference){html.theme-ready,html.theme-ready body{transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}}::selection{background:var(--accent);color:var(--accent-on)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:var(--sp-2);left:var(--sp-2);z-index:100;padding:var(--sp-2) var(--sp-4);background:var(--accent);color:var(--accent-on);border-radius:var(--radius);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media(prefers-reduced-motion:no-preference){.js [data-reveal]{transition:opacity var(--dur-slow) var(--ease) var(--reveal-delay, 0ms),transform var(--dur-slow) var(--ease) var(--reveal-delay, 0ms)}.js [data-reveal]:not(.is-revealed){opacity:0;transform:translateY(12px)}}
