:root{--color-bg: #f7f6f2;--color-bg-soft: #efede7;--color-ink: #373936;--color-ink-soft: #6b6d68;--color-line: #e2e0d8;--accent-lila: #4d63ce;--accent-coral: #f44a63;--accent-verde: #3dbf91;--accent: var(--accent-lila);--accent-contrast: #ffffff;--font-display: var(--font-cal-sans, system-ui), sans-serif;--font-body: var(--font-inter, system-ui), sans-serif;--font-quote: var(--font-fraunces, Georgia), serif;--step--1: clamp(.83rem, .78rem + .25vw, .95rem);--step-0: clamp(1rem, .95rem + .3vw, 1.15rem);--step-1: clamp(1.2rem, 1.1rem + .6vw, 1.5rem);--step-2: clamp(1.5rem, 1.3rem + 1vw, 2.1rem);--step-3: clamp(2rem, 1.6rem + 2vw, 3.2rem);--step-4: clamp(2.6rem, 1.9rem + 3.6vw, 5rem);--step-5: clamp(3.2rem, 2rem + 6vw, 7rem);--space-2xs: .5rem;--space-xs: .75rem;--space-s: 1rem;--space-m: 1.5rem;--space-l: clamp(1.75rem, 1.2rem + 2.4vw, 2.5rem);--space-xl: clamp(2.5rem, 1.8rem + 3.4vw, 4rem);--space-2xl: clamp(3.5rem, 2.2rem + 6.2vw, 6.5rem);--space-3xl: clamp(4.5rem, 2.6rem + 9vw, 9rem);--measure: 38rem;--container: 68rem;--radius: 14px;--radius-s: 8px;--ease: cubic-bezier(.22, 1, .36, 1);--dur: .5s}[data-accent=lila]{--card-accent: var(--accent-lila)}[data-accent=coral]{--card-accent: var(--accent-coral)}[data-accent=verde]{--card-accent: var(--accent-verde)}@media(prefers-reduced-motion:reduce){:root{--dur: 1ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.05;letter-spacing:-.02em;text-wrap:balance}p{text-wrap:pretty}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,1rem + 2vw,2rem)}.section{padding-block:var(--space-2xl);border-top:1px solid var(--color-line)}.eyebrow{font-family:var(--font-body);font-size:var(--step--1);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-s)}.measure{max-width:var(--measure)}.btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.4em;border-radius:999px;font-weight:600;text-decoration:none;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease)}.btn:hover{transform:translateY(-3px)}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--ghost{border:1.5px solid var(--color-ink);color:var(--color-ink)}.btn--ghost:hover{background:var(--color-ink);color:var(--color-bg)}.display-large{font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,1.2rem + 4.4vw,4rem);line-height:1.05;letter-spacing:-.02em}.display-quote{font-family:var(--font-quote);font-weight:400;font-size:clamp(1.9rem,1rem + 4.2vw,4.4rem);line-height:1.1;letter-spacing:-.02em}.headline-large{font-family:var(--font-display);font-weight:600;font-size:var(--step-3);line-height:1.1;letter-spacing:-.02em}.headline-small{font-family:var(--font-display);font-weight:400;font-size:clamp(1.15rem,1rem + .9vw,1.55rem);line-height:1.25}.title-large{font-family:var(--font-display);font-weight:600;font-size:var(--step-2);line-height:1.1;letter-spacing:-.01em}.title-medium{font-family:var(--font-display);font-weight:600;font-size:var(--step-1);line-height:1.15}.body-large{font-family:var(--font-body);font-weight:400;font-size:var(--step-1);line-height:1.5}.body-medium{font-family:var(--font-body);font-weight:400;font-size:var(--step-0);line-height:1.6}.label-large{font-family:var(--font-body);font-weight:600;font-size:var(--step--1);line-height:1.4;letter-spacing:.1em;text-transform:uppercase}.label-medium{font-family:var(--font-body);font-weight:600;font-size:.8rem;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}.label-small{font-family:var(--font-body);font-weight:600;font-size:.72rem;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--reveal-delay, 0s);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
