:root{--egal-purple-900: #3f1a63;--egal-purple-800: #4c1f78;--egal-purple-700: #5d2591;--egal-purple-600: #6f34a3;--egal-purple-500: #8753b8;--egal-purple-300: #c4a9de;--egal-purple-100: #ede3f6;--egal-purple-50: #f6f0fb;--egal-cream-50: #fdfaf5;--egal-cream-100: #f9f2e8;--egal-cream-200: #f3e8d6;--egal-cream-300: #e8d4b2;--egal-ink-900: #18121e;--egal-ink-800: #2b2233;--egal-ink-600: #554a62;--egal-ink-500: #7b7184;--egal-ink-300: #bdb5c4;--egal-ink-100: #ece9ef;--egal-accent: #c79a4a;--egal-success: #2f8a5b;--egal-danger: #b23a3a;--color-primary: var(--egal-purple-700);--color-primary-hover: var(--egal-purple-800);--color-primary-soft: var(--egal-purple-100);--color-accent: var(--egal-accent);--color-bg: #ffffff;--color-bg-soft: var(--egal-cream-50);--color-bg-hero: var(--egal-cream-100);--color-bg-dark: var(--egal-ink-900);--color-text: var(--egal-ink-900);--color-text-soft: var(--egal-ink-600);--color-text-mute: var(--egal-ink-500);--color-text-invert: #ffffff;--color-border: var(--egal-ink-100);--color-border-strong: #d9d3e0;--font-display: "Playfair Display", "DM Serif Display", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-3xl: 2.5rem;--fs-4xl: 3.25rem;--fs-5xl: 4.25rem;--lh-tight: 1.15;--lh-snug: 1.3;--lh-base: 1.55;--lh-loose: 1.75;--fw-regular: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--sp-9: 96px;--sp-10: 128px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(24,18,30,.04);--shadow-sm: 0 2px 6px rgba(24,18,30,.06);--shadow-md: 0 6px 18px rgba(24,18,30,.08);--shadow-lg: 0 12px 32px rgba(24,18,30,.1);--container-sm: 640px;--container-md: 960px;--container-lg: 1200px;--container-xl: 1360px;--header-h: 76px;--ease: cubic-bezier(.4,0,.2,1);--dur-1: .12s;--dur-2: .2s;--dur-3: .32s}@media (max-width: 768px){:root{--fs-4xl: 2.25rem;--fs-5xl: 2.75rem;--sp-9: 64px;--sp-10: 80px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}a:hover{color:var(--color-primary)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-semi);line-height:var(--lh-tight);margin:0 0 var(--sp-4) 0;color:var(--color-text)}h1{font-size:var(--fs-5xl);letter-spacing:-.02em}h2{font-size:var(--fs-4xl);letter-spacing:-.015em}h3{font-size:var(--fs-2xl);letter-spacing:-.01em}h4{font-size:var(--fs-lg);font-weight:var(--fw-medium)}p{margin:0 0 var(--sp-4) 0}p:last-child{margin-bottom:0}.container{width:100%;max-width:var(--container-lg);margin:0 auto;padding:0 var(--sp-5)}.container--wide{max-width:var(--container-xl)}.container--narrow{max-width:var(--container-md)}.section{padding:var(--sp-9) 0}.section--sm{padding:var(--sp-7) 0}.section--lg{padding:var(--sp-10) 0}.eyebrow{display:inline-block;font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-semi);letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--sp-3)}.lead{font-size:var(--fs-md);color:var(--color-text-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:14px 28px;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-semi);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),transform var(--dur-1) var(--ease);border:1.5px solid transparent;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--color-primary);color:var(--color-text-invert)}.btn--primary:hover{background:var(--color-primary-hover);color:var(--color-text-invert)}.btn--ghost{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.btn--ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn--invert{background:var(--color-text-invert);color:var(--color-text)}.btn--invert:hover{background:var(--egal-cream-100)}.btn--link{padding:0;background:none;border:0;color:var(--color-primary);text-transform:none;letter-spacing:0;font-weight:var(--fw-medium);border-bottom:1px solid currentColor;border-radius:0}.btn--block{width:100%}.btn--lg{padding:18px 36px;font-size:var(--fs-base)}.btn--sm{padding:10px 18px;font-size:var(--fs-xs)}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semi);letter-spacing:.05em;text-transform:uppercase;background:var(--color-primary-soft);color:var(--color-primary)}.badge--dark{background:var(--color-text);color:var(--color-text-invert)}.badge--cream{background:var(--egal-cream-200);color:var(--egal-purple-800)}.field{display:block;margin-bottom:var(--sp-4)}.field label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);margin-bottom:var(--sp-2)}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.divider{height:1px;background:var(--color-border);margin:var(--sp-7) 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
