:root{--color-primary: #3a071f;--color-secondary: #7a123b;--color-wine: #5b1233;--color-banner: #b60046;--color-tertiary: #ebaa24;--color-tertiary-soft: #f5c14c;--color-accent: #e50055;--color-ink: #24131a;--color-neutral: #f8e9c8;--color-cream: #fff0d0;--color-rule: rgba(122, 18, 59, .3);--color-on-primary: var(--color-cream);--color-on-wine: var(--color-cream);--color-on-banner: var(--color-cream);--color-on-tertiary: var(--color-primary);--color-on-accent: #ffffff;--color-focus: #e50055;--font-display: "Bebas Neue", "Arial Narrow", sans-serif;--font-body: "Montserrat", system-ui, -apple-system, sans-serif;--font-label: "Overpass", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5rem;--text-xl: 2rem;--text-2xl: 2.75rem;--text-3xl: 3.5rem;--text-number: clamp(2.5rem, 6vw, 4rem);--text-title: clamp(1.75rem, 4.5vw, 3.25rem);--text-display-s: clamp(2.5rem, 7vw, 5.25rem);--text-display: clamp(3rem, 9vw, 6.5rem);--text-label: .75rem;--tracking-display: .01em;--tracking-label: .08em;--radius-xs: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rule-hair: 1px;--shadow-card-hover: 0 4px 12px rgba(58, 7, 31, .18);--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}*{box-sizing:border-box}html{overflow-x:clip}body{overflow-x:clip;margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;background:var(--color-neutral);color:var(--color-ink);-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,ol{margin:0}img{max-width:100%;display:block}a{color:var(--color-secondary)}.container{width:100%;max-width:1040px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}a:focus-visible,.btn:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-label);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:var(--text-xs);line-height:1.2;white-space:nowrap;text-decoration:none;cursor:pointer;border:0;border-radius:var(--radius-pill);padding:.75rem 1.5rem;min-height:44px;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.btn-primary{background:var(--color-tertiary);color:var(--color-on-tertiary)}.btn-primary:hover{background:var(--color-accent);color:var(--color-on-accent);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.btn-primary[disabled]{opacity:.45;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-primary);color:var(--color-on-primary)}.btn-secondary:hover{background:var(--color-secondary);color:var(--color-on-primary);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-secondary:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@media(pointer:coarse){.btn{min-height:48px}}form{display:grid;gap:var(--space-md)}form label{display:grid;gap:var(--space-2xs);font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-secondary)}input[type=text],input[type=email],input[type=tel],select{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background:var(--color-cream);border:0;border-bottom:2px solid var(--color-rule);border-radius:var(--radius-xs) var(--radius-xs) 0 0;padding:.75rem;min-height:48px;width:100%;transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}input:focus-visible,select:focus-visible{outline:none;border-bottom-color:var(--color-focus);background:var(--color-cream)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}}
