@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/cormorant-garamond-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit;font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/outfit-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--color-bg-primary:#1a1b17;--color-bg-secondary:#23241f;--color-bg-elevated:#2e3029;--color-bg-card:#282a24;--color-bg-overlay:rgba(26,27,23,.85);--color-text-primary:#f4f3ee;--color-text-secondary:#d4d6cc;--color-text-muted:#9a9d8f;--color-text-inverse:#1a1b17;--color-accent:#b8baa6;--color-accent-hover:#ccd0bc;--color-accent-muted:#8a8d7a;--color-accent-soft:#5c5e52;--color-accent-glow:hsla(66,13%,69%,.25);--color-border:hsla(66,13%,69%,.15);--color-border-strong:hsla(66,13%,69%,.35);--color-success:#8fad88;--color-error:#c98a8a;--font-display:"Cormorant Garamond","Georgia",serif;--font-body:"Outfit",system-ui,sans-serif;--text-xs:clamp(.75rem,.7rem + .25vw,.8125rem);--text-sm:clamp(.875rem,.82rem + .3vw,.9375rem);--text-base:clamp(1rem,.95rem + .25vw,1.0625rem);--text-lg:clamp(1.125rem,1.05rem + .35vw,1.25rem);--text-xl:clamp(1.375rem,1.2rem + .6vw,1.75rem);--text-2xl:clamp(1.75rem,1.4rem + 1.2vw,2.5rem);--text-3xl:clamp(2.25rem,1.7rem + 2vw,3.5rem);--text-hero:clamp(2.5rem,1.8rem + 3vw,4.5rem);--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-section:clamp(3.5rem,8vw,6.5rem);--space-section-sm:clamp(2.5rem,6vw,4rem);--container-padding:clamp(1rem,4vw,2.5rem);--container-max:72rem;--container-narrow:42rem;--bp-tablet:48rem;--bp-tablet-lg:64rem;--bp-laptop:75rem;--bp-desktop:90rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,.2);--shadow-md:0 8px 24px rgba(0,0,0,.3);--shadow-lg:0 16px 48px rgba(0,0,0,.4);--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--header-height:4rem;--header-height-desktop:5rem;--z-header:100;--z-overlay:200;--z-modal:300}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}canvas,img,picture,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}ol,ul{list-style:none}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.container--narrow{max-width:var(--container-narrow)}.section{padding-block:var(--space-section)}.section--sm{padding-block:var(--space-section-sm)}.section--defer{content-visibility:auto;contain-intrinsic-size:auto 600px}.section-label{display:inline-block;font-size:var(--text-xs);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-sm)}.section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;line-height:1.2;color:var(--color-text-primary);margin-bottom:var(--space-lg)}.section-subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:38ch;line-height:1.7}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}::-moz-selection{background-color:var(--color-accent);color:var(--color-text-inverse)}::selection{background-color:var(--color-accent);color:var(--color-text-inverse)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
