

:root{--purple-700:#453996;--purple-600:#4b40a3;--purple-500:#776fbb;--purple-400:#948dc9;--purple-300:#b6b1da;--purple-200:#d8d5ee;--purple-100:#ecebf7;--indigo-900:#16183f;--indigo-700:#020381;--indigo-600:#3b2db8;--indigo-500:#2874fc;--magenta-500:#c36;--magenta-100:#f8e0ea;--cyan-500:#1bc1ff;--cyan-100:#d8f4ff;--ink-900:#121212;--ink-700:#333;--gray-500:#999;--gray-300:#d4d4dd;--gray-200:#e7e6f0;--gray-100:#f1f0f7;--lavender-50:#f6f5ff;--lavender-100:#f4f3ff;--white:#fff;--success-500:#1f8a5b;--success-100:#dcefe3;--warning-500:#d98a1f;--warning-100:#fbeed0;--danger-500:#c36;--danger-100:#f8e0ea;--color-brand:var(--purple-500);--color-brand-strong:var(--purple-700);--color-accent-pink:var(--magenta-500);--color-accent-cyan:var(--cyan-500);--text-strong:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--gray-500);--text-on-brand:var(--white);--text-link:var(--indigo-500);--surface-page:var(--lavender-50);--surface-raised:var(--lavender-100);--surface-card:var(--white);--surface-inverse:var(--indigo-900);--border-subtle:var(--gray-200);--border-default:var(--gray-300);--border-brand:var(--purple-500);--gradient-midnight:linear-gradient(165deg, #1a1c46 0%, #24265c 100%);--gradient-lavender:linear-gradient(180deg, #f7f6ff 0%, #f1effb 100%);--gradient-aurora:linear-gradient(120deg, #6f67b8 0%, #8a6fb0 100%);--gradient-brand:linear-gradient(140deg, #5c51a6 0%, #776fbb 100%)}
:root{--font-display:"Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans:"Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:4rem;--text-5xl:5.5rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.05;--leading-snug:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.03em;--tracking-display:-.035em;--tracking-normal:0;--tracking-wide:.04em;--tracking-caps:.14em}
:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:32px;--radius-pill:999px;--shadow-xs:0 1px 2px #4539960f;--shadow-sm:0 2px 8px #45399612;--shadow-md:0 8px 24px #4539961a;--shadow-lg:0 20px 48px #45399624;--shadow-glow:0 12px 40px #776fbb47;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur-base:.24s;--dur-slow:.42s;--container-max:1200px;--container-narrow:760px}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--text-link);text-decoration:none}.display-1,.display-2,.headline,.title,.eyebrow{margin:0}.display-1{font-family:var(--font-display);letter-spacing:var(--tracking-display);color:var(--text-strong);font-size:clamp(3rem,6vw + 1rem,5.5rem);font-weight:600;line-height:1.04}.display-2{font-family:var(--font-display);letter-spacing:var(--tracking-display);color:var(--text-strong);font-size:clamp(2.25rem,4vw + 1rem,4rem);font-weight:600;line-height:1.06}.headline{font-family:var(--font-display);font-weight:600;font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-strong)}.title{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-strong)}.body-lg{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-body)}.body{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-body)}.body-sm{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-body)}.caption{font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text-muted)}.eyebrow{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-brand)}.serif-italic{font-family:var(--font-serif);font-style:italic;font-weight:500}.text-gradient{background:var(--gradient-aurora);color:#0000;-webkit-background-clip:text;background-clip:text}.container{width:100%;max-width:var(--container-max);padding-inline:var(--space-5);margin-inline:auto}.container-narrow{max-width:var(--container-narrow)}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.cluster{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.cd-btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-base);border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);white-space:nowrap;border:1px solid #0000;padding:.875rem 1.5rem;line-height:1;text-decoration:none;display:inline-flex}.cd-btn:active{transform:translateY(1px)}.cd-btn:focus-visible{outline:3px solid var(--purple-200);outline-offset:2px}.cd-btn--primary{background:var(--color-brand);color:var(--text-on-brand);box-shadow:var(--shadow-sm)}.cd-btn--primary:hover{background:var(--purple-600);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.cd-btn--inverse{background:var(--white);color:var(--purple-700);box-shadow:var(--shadow-sm)}.cd-btn--inverse:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.cd-btn--secondary{color:var(--purple-700);border-color:var(--border-default);background:0 0}.cd-btn--secondary:hover{border-color:var(--purple-500);background:var(--purple-100)}.cd-btn--ghost{color:var(--text-body);padding-inline:var(--space-3);background:0 0}.cd-btn--ghost:hover{color:var(--text-strong);background:var(--gray-100)}.cd-btn--lg{font-size:var(--text-md);padding:1.0625rem 2rem}.cd-btn--sm{font-size:var(--text-sm);padding:.625rem 1rem}.cd-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.cd-card--flush{padding:0;overflow:hidden}.cd-card--raised{box-shadow:var(--shadow-md);border-color:#0000}.cd-badge{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;border-radius:var(--radius-pill);background:var(--purple-100);color:var(--purple-700);padding:.3125rem .75rem;display:inline-flex}.cd-badge--pink{background:var(--magenta-100);color:var(--magenta-500)}.cd-badge--cyan{background:var(--cyan-100);color:#0792bd}.cd-badge--success{background:var(--success-100);color:var(--success-500)}.cd-badge--neutral{background:var(--gray-100);color:var(--ink-700)}.cd-badge--dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.cd-input{width:100%;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-strong);background:var(--white);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);padding:.8125rem 1rem}.cd-input::placeholder{color:var(--text-muted)}.cd-input:focus{border-color:var(--purple-500);box-shadow:0 0 0 4px var(--purple-100);outline:none}.cd-divider{background:var(--border-subtle);border:0;height:1px}.surface-inverse{background:var(--gradient-midnight);color:var(--white)}.surface-lavender{background:var(--surface-raised)}.cd-wave{align-items:center;gap:3px;height:1em;display:inline-flex}.cd-wave>span{background:currentColor;border-radius:2px;width:3px}@media (prefers-reduced-motion:no-preference){.cd-wave--animate>span{animation:cd-wave-bounce 1.1s var(--ease-in-out) infinite}}@keyframes cd-wave-bounce{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}
