@font-face{font-family:NewYork;src:url(/fonts/NewYork.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-light);background-color:var(--bg-dark)}main{overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:var(--accent-red);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}:root{--bg-dark: #22121A;--bg-burgundy: #22121A;--bg-burgundy-mid: #2D1421;--bg-burgundy-light: #3A2230;--accent-red: #6191C7;--accent-red-hover: #7faad6;--accent-red-dim: #4a7aaf;--bg-light: #F5F0EB;--color-text-light: #F5F0EB;--color-text-dark: #1B0F15;--color-text-muted: #7a5565;--color-text-muted-light: #a27b8b;--color-text-muted-dark: #5a3545;--color-accent-warm: #2D1421;--font-serif: "NewYork", "New York Small", "New York", ui-serif, "Playfair Display", Georgia, serif;--font-sans: "DM Sans", "Helvetica Neue", Arial, sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .35vw, 1rem);--text-base: clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .6vw, 1.375rem);--text-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);--text-2xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);--text-3xl: clamp(2.5rem, 2rem + 3vw, 5rem);--text-hero: clamp(3.5rem, 2rem + 8vw, 9rem);--text-bg: clamp(8rem, 5rem + 15vw, 22rem);--space-xs: clamp(.25rem, .2rem + .3vw, .5rem);--space-sm: clamp(.5rem, .4rem + .5vw, .75rem);--space-md: clamp(.75rem, .5rem + 1vw, 1.5rem);--space-lg: clamp(1.5rem, 1rem + 2vw, 3rem);--space-xl: clamp(2rem, 1.5rem + 2vw, 4rem);--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .1em;--tracking-wider: .2em;--leading-none: 1;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.6;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .2s;--duration-normal: .4s;--duration-slow: .8s}.snap-section{scroll-snap-align:start;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;position:relative}.section{padding:var(--space-xl) var(--space-md);background:transparent}.section--dark,.section--darker,.section--light,.section--burgundy{position:relative}.section--dark:before,.section--darker:before,.section--light:before,.section--burgundy:before{content:"";position:absolute;inset:0;z-index:-1}.section--dark{color:var(--color-text-light)}.section--dark:before{background:linear-gradient(180deg,var(--bg-dark) 0%,#27141d 50%,var(--bg-dark) 100%)}.section--darker{color:var(--color-text-light)}.section--darker:before{background:linear-gradient(180deg,var(--bg-dark) 0%,#24131b 50%,var(--bg-dark) 100%)}.section--light{color:var(--color-text-dark)}.section--light:before{background-color:var(--bg-light)}.section--burgundy{color:var(--color-text-light)}.section--burgundy:before{background-color:var(--bg-burgundy-light)}.container{max-width:1200px;margin:0 auto;width:100%;position:relative;z-index:2}.container--narrow{max-width:700px;margin:0 auto;width:100%;position:relative;z-index:2}.section-heading{font-family:var(--font-serif);font-size:var(--text-2xl);font-style:normal;color:var(--accent-red);margin-bottom:var(--space-md);line-height:var(--leading-tight)}.section-heading:after{content:"";display:block;width:40px;height:1px;background:var(--bg-burgundy-mid);margin:var(--space-sm) auto 0}.section--light .section-heading:after{background:#1b0f1526}.section--light .section-heading{color:var(--color-text-dark)}.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}::selection{background-color:var(--accent-red);color:var(--bg-light)}:focus-visible{outline:2px solid var(--accent-red);outline-offset:2px}
