:root{--color-primary:#403c90;--color-primary-dark:#2e2a6b;--color-primary-light:#6b65c4;--color-accent:#00d4b4;--color-accent-dark:#00a890;--color-cta:#e91e63;--color-cta-dark:#c2185b;--color-ink:#1a1a1a;--color-text:#3a3a3a;--color-muted:#6a6a78;--color-line:#e6e6ea;--color-bg:#fff;--color-bg-alt:#f7f7fa;--color-bg-soft:#faf9ff;--color-success:#1b5e20;--color-success-bg:#e6f7e6;--color-error:#c62828;--color-error-bg:#fdecea;--color-warning:#ef6c00;--color-warning-bg:#fff4e5;--font-family:"Lexend",system-ui,-apple-system,"Segoe UI",sans-serif;--fs-display:clamp(2.5rem,5vw + 1rem,4rem);--fs-h1:clamp(2rem,3vw + 1rem,3rem);--fs-h2:clamp(1.5rem,2vw + 0.5rem,2.25rem);--fs-h3:1.5rem;--fs-h4:1.25rem;--fs-body:1rem;--fs-body-lg:1.125rem;--fs-small:0.875rem;--fs-tiny:0.75rem;--fw-regular:400;--fw-medium:500;--fw-bold:700;--lh-tight:1.1;--lh-snug:1.25;--lh-normal:1.5;--lh-loose:1.75;--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;--container:1200px;--container-narrow:800px;--container-wide:1400px;--header-height:72px;--topbar-height:36px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-sm:0 1px 3px rgba(0,0,0,.05);--shadow-md:0 4px 16px rgba(64,60,144,.08);--shadow-lg:0 12px 40px rgba(64,60,144,.14);--shadow-card:0 2px 8px rgba(0,0,0,.04);--shadow-card-hover:0 8px 24px rgba(64,60,144,.12);--t-fast:120ms ease;--t-base:200ms ease;--t-slow:400ms cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--color-ink);line-height:var(--lh-tight);font-weight:var(--fw-bold);letter-spacing:-.01em}h1,h2,h3,h4,h5,h6,p{margin:0 0 var(--sp-4)}a{color:inherit}button{font-family:inherit;cursor:pointer;border:none}img{max-width:100%;display:block}.container{max-width:var(--container)}.container,.container-narrow{margin:0 auto;padding:0 var(--sp-5)}.container-narrow{max-width:var(--container-narrow)}.section{padding:var(--sp-9) 0}.section-soft{background:var(--color-bg-alt)}.section-tight{padding:var(--sp-7) 0}@media (max-width:768px){.section{padding:var(--sp-7) 0}}