*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg: #F8F6F1;--ink: #1C1C1C;--accent: #D44000;--accent-hover: #E85500;--muted: #7A7668;--subtle: #E8E4DB;--highlight: #FFF8ED;--dark: #1C1C1C;--dark-text: #CCCABE;--font-display: "Instrument Serif", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--text-xs: clamp(.7rem, .8vw, .8rem);--text-sm: clamp(.8rem, 1vw, .875rem);--text-base: clamp(.95rem, 1.15vw, 1.0625rem);--text-lg: clamp(1.1rem, 1.4vw, 1.25rem);--text-xl: clamp(1.25rem, 1.8vw, 1.5rem);--text-2xl: clamp(1.5rem, 2.5vw, 2rem);--text-3xl: clamp(2rem, 3.5vw, 2.75rem);--text-display: clamp(3.5rem, 9vw, 8rem);--space-xs: clamp(.5rem, 1vw, .75rem);--space-sm: clamp(.75rem, 1.5vw, 1rem);--space-md: clamp(1rem, 2vw, 1.5rem);--space-lg: clamp(1.5rem, 3vw, 2.5rem);--space-xl: clamp(2.5rem, 5vw, 4rem);--space-2xl: clamp(3.5rem, 8vw, 6rem);--space-section: clamp(5rem, 12vh, 9rem);--max-width: 1100px;--gutter: clamp(1.25rem, 4vw, 3rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .6s}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--ink);background:var(--bg);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.1;letter-spacing:-.02em}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--accent-hover)}::selection{background:var(--accent);color:var(--bg)}img{max-width:100%;display:block}strong{font-weight:600}em{font-style:italic}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
