@import "https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Outfit:wght@300;400;500;600&display=swap";:root{--color-bg:#fafaf8;--color-surface:#fff;--color-surface-hover:#f4f2ee;--color-border:#e8e6e1;--color-border-strong:#d0cec9;--color-text-primary:#1a1a18;--color-text-secondary:#5c5a54;--color-text-tertiary:#9c9a94;--color-accent:#c1121f;--color-accent-hover:#a00f1a;--color-accent-muted:#f5e6e8;--color-overlay:#0a0a088c;--font-serif:"Libre Baskerville", Georgia, serif;--font-sans:"Outfit", system-ui, sans-serif;--fs-xs:clamp(.7rem, .65rem + .25vw, .75rem);--fs-sm:clamp(.8rem, .75rem + .25vw, .875rem);--fs-base:clamp(.9375rem, .9rem + .2vw, 1rem);--fs-md:clamp(1rem, .95rem + .25vw, 1.125rem);--fs-lg:clamp(1.125rem, 1rem + .6vw, 1.375rem);--fs-xl:clamp(1.375rem, 1.2rem + .9vw, 1.75rem);--fs-2xl:clamp(1.75rem, 1.5rem + 1.25vw, 2.25rem);--fs-3xl:clamp(2.25rem, 1.8rem + 2.25vw, 3.25rem);--fs-4xl:clamp(3rem, 2.25rem + 3.75vw, 5rem);--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.6;--lh-relaxed:1.75;--ls-tight:-.02em;--ls-normal:0;--ls-wide:.05em;--ls-wider:.1em;--ls-widest:.15em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--max-width:1280px;--max-width-narrow:800px;--gutter:clamp(1rem, 4vw, 2rem);--section-py:clamp(3rem, 6vw, 5rem);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-snap:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.15s;--dur-normal:.25s;--dur-slow:.4s;--dur-slower:.6s;--shadow-sm:0 1px 3px #1a1a180f, 0 1px 2px #1a1a180a;--shadow-md:0 4px 12px #1a1a1814, 0 2px 4px #1a1a180a;--shadow-lg:0 12px 32px #1a1a181a, 0 4px 8px #1a1a180f;--shadow-card-hover:0 20px 48px #1a1a1824, 0 8px 16px #1a1a1814;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans);cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}.serif{font-family:var(--font-serif)}.sans{font-family:var(--font-sans)}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-base{font-size:var(--fs-base)}.text-md{font-size:var(--fs-md)}.text-lg{font-size:var(--fs-lg)}.text-xl{font-size:var(--fs-xl)}.text-2xl{font-size:var(--fs-2xl)}.text-3xl{font-size:var(--fs-3xl)}.text-4xl{font-size:var(--fs-4xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-accent)}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:var(--ls-wide)}.tracking-wider{letter-spacing:var(--ls-wider)}.tracking-widest{letter-spacing:var(--ls-widest)}.eyebrow{font-family:var(--font-sans);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-widest);color:var(--color-accent);font-weight:500}.container{width:100%;max-width:var(--max-width);padding-inline:var(--gutter);margin-inline:auto}.container--narrow{max-width:var(--max-width-narrow);padding-inline:var(--gutter);margin-inline:auto}.section-py{padding-block:var(--section-py)}[data-reveal]{opacity:0;transition:opacity var(--dur-slower) var(--ease-out-expo), transform var(--dur-slower) var(--ease-out-expo);transform:translateY(24px)}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal][data-delay="100"]{transition-delay:.1s}[data-reveal][data-delay="200"]{transition-delay:.2s}[data-reveal][data-delay="300"]{transition-delay:.3s}[data-reveal][data-delay="400"]{transition-delay:.4s}[data-reveal][data-delay="500"]{transition-delay:.5s}.divider{border:none;border-top:1px solid var(--color-border);margin-block:var(--space-8)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}#reading-progress{background:var(--color-accent);z-index:1000;width:0%;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}
