:root{--palette-cream:#fbf6f1;--palette-warm-white:#fffcf9;--palette-blush:#f6e7e2;--palette-rose:#e3b7ad;--palette-rose-deep:#99513f;--palette-chocolate:#3a2620;--palette-ink:#17110f;--bg:var(--palette-cream);--bg-elevated:var(--palette-warm-white);--bg-subtle:var(--palette-blush);--bg-inverse:var(--palette-chocolate);--fg:#241a16;--fg-muted:#6b564e;--fg-subtle:#7e6960;--fg-inverse:var(--palette-warm-white);--accent:var(--palette-rose-deep);--accent-strong:#7a3f31;--accent-soft:var(--palette-rose);--accent-contrast:var(--palette-warm-white);--border:#e7d6ce;--border-strong:#d6bfb5;--border-interactive:#a07e70;--focus-ring-color:var(--accent);--focus-ring-width:2px;--focus-ring-offset:3px;--shadow-sm:0 1px 2px #3a26200f;--shadow-md:0 12px 32px -12px #3a26202e;--shadow-lg:0 24px 60px -20px #3a26203d;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:8rem;--section-space:clamp(3.5rem, 8vw, 7rem);--section-space-tight:clamp(2.5rem, 5vw, 4rem);--radius-xs:4px;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-pill:999px;--font-sans:var(--font-instrument-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-script:var(--font-parisienne), "Apple Chancery", "Segoe Script", cursive;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:clamp(1.0625rem, .25vw + 1rem, 1.125rem);--text-lg:clamp(1.125rem, .5vw + 1rem, 1.375rem);--text-xl:clamp(1.375rem, 1vw + 1rem, 1.75rem);--text-2xl:clamp(1.625rem, 2vw + 1rem, 2.375rem);--text-3xl:clamp(2rem, 3.5vw + 1rem, 3.25rem);--text-4xl:clamp(2.5rem, 6vw + 1rem, 4.75rem);--text-stat:clamp(2.75rem, 7vw + 1rem, 5.5rem);--leading-tight:1.08;--leading-snug:1.25;--leading-normal:1.6;--leading-relaxed:1.75;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.06em;--tracking-widest:.16em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--container-narrow:44rem;--container-default:72rem;--container-wide:88rem;--gutter:clamp(1.25rem, 4vw, 3rem);--duration-fast:.12s;--duration-base:.22s;--duration-slow:.42s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--transition-colors:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);--transition-transform:transform var(--duration-base) var(--ease-out);--header-height:4rem;--tap-target-min:44px;--z-header:100;--z-menu:200;--z-skip-link:300}@media (min-width:48rem){:root{--header-height:4.75rem}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:1ms;--duration-base:1ms;--duration-slow:1ms}}
*,:before,:after{box-sizing:border-box}*{min-width:0;margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background-color:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}img,picture,video,svg{max-width:100%;height:auto;display:block}svg{fill:currentColor}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}h1,h2,h3,h4{font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}p,li{text-wrap:pretty}:where(ul[role=list],ol[role=list]){padding:0;list-style:none}a{color:inherit;text-underline-offset:.2em}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body[data-scroll-locked=true]{overflow:hidden}::selection{background-color:var(--accent-soft);color:var(--palette-ink)}
