/* Tokens do design system SSAA Smile (copiados de design-system/ssaa-design-system/project/tokens). */

@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}

/* Paleta da marca — Manual de Identidade Visual SSAA Smile v1.0, p.7 "Cores" */
:root{
--ssaa-ink:#252A30;      /* C75 M65 Y55 K65 · R37 G42 B48 */
--ssaa-graphite:#3E4246; /* C70 M60 Y55 K45 · R62 G66 B70 */
--ssaa-slate:#777C7E;    /* C40 M30 Y30 K30 · R119 G124 B126 */
--ssaa-gold:#B9A879;     /* C30 M30 Y60 K0 · R185 G168 B121 */
--ssaa-sage:#D4D0B3;     /* C0 M0 Y20 K20 · R212 G208 B179 */
--ssaa-sand:#D9CEB4;     /* C15 M15 Y30 K0 · R217 G206 B180 */
--ssaa-white:#FFFFFF;
/* tons derivados para interface (fora do manual) */
--ssaa-gold-600:#A08F60;--ssaa-gold-700:#857647;--ssaa-gold-100:#EFEADC;--ssaa-sand-50:#F7F4EC;--ssaa-line:#E6E2D6;
/* estados funcionais — adições intencionais, afinadas à paleta */
--state-success:#5B7A55;--state-success-bg:#E4EBDF;
--state-warning:#A8812E;--state-warning-bg:#F4EAD3;
--state-danger:#9A4034;--state-danger-bg:#F3E0DB;
--state-info:#4E6472;--state-info-bg:#DFE5E9;
/* aliases semânticos */
--bg-page:var(--ssaa-white);--bg-dark:var(--ssaa-ink);--bg-brand:var(--ssaa-gold);
--surface-card:var(--ssaa-white);--surface-muted:var(--ssaa-sand-50);--surface-warm:var(--ssaa-sand);--surface-inverse:var(--ssaa-ink);--surface-inverse-2:var(--ssaa-graphite);
--text-strong:var(--ssaa-ink);--text-body:var(--ssaa-graphite);--text-muted:var(--ssaa-slate);--text-accent:var(--ssaa-gold-700);--text-inverse:var(--ssaa-white);--text-on-brand:var(--ssaa-white);
--border-subtle:var(--ssaa-line);--border-default:var(--ssaa-sage);--border-strong:var(--ssaa-ink);--border-accent:var(--ssaa-gold);
--accent:var(--ssaa-gold);--accent-hover:var(--ssaa-gold-600);--accent-press:var(--ssaa-gold-700);
--action-primary:var(--ssaa-ink);--action-primary-hover:var(--ssaa-graphite);
--focus-ring:rgba(185,168,121,.55);
--overlay-scrim:rgba(37,42,48,.6);
}

:root{
--font-brand:'Montserrat',system-ui,sans-serif;


--fw-thin:100;/* @kind other */--fw-light:300;/* @kind other */--fw-regular:400;/* @kind other */--fw-medium:500;/* @kind other */--fw-semibold:600;/* @kind other */--fw-bold:700;/* @kind other */--fw-black:900;/* @kind other */
--fs-11:11px;--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-32:32px;--fs-40:40px;--fs-56:56px;--fs-72:72px;--fs-96:96px;
--lh-tight:1.05;/* @kind other */--lh-snug:1.2;/* @kind other */--lh-normal:1.5;/* @kind other */--lh-relaxed:1.65;/* @kind other */
--tracking-tight:-0.01em;/* @kind other */--tracking-caps:0.08em;/* @kind other */--tracking-wide:0.32em;/* @kind other */
/* papéis: títulos = Montserrat Bold; apoio/CTA/legendas = Montserrat Regular (manual p.9) */
--type-display:var(--fs-72);--type-h1:var(--fs-56);--type-h2:var(--fs-40);--type-h3:var(--fs-24);--type-eyebrow:var(--fs-12);
--type-body-l:var(--fs-18);--type-body:var(--fs-16);--type-small:var(--fs-14);--type-caption:var(--fs-12);
--weight-title:var(--fw-bold);/* @kind other */--weight-body:var(--fw-regular);/* @kind other */
}

:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
/* o manual é construído com blocos de cantos retos: raio 0 por padrão */
--radius-0:0;--radius-1:2px;--radius-2:4px;--radius-app:22%;--radius-pill:999px;
--border-hair:1px;--border-rule:2px;
--rule-accent-width:56px;
--stripe-width:9.6%;
--shadow-1:0 1px 2px rgba(37,42,48,.06);
--shadow-2:0 2px 6px rgba(37,42,48,.06),0 12px 28px rgba(37,42,48,.08);
--shadow-3:0 8px 16px rgba(37,42,48,.08),0 28px 60px rgba(37,42,48,.18);
--container-max:1200px;--measure:62ch;
}

:root{
--ease-out:cubic-bezier(.2,.7,.2,1);/* @kind other */
--ease-in-out:cubic-bezier(.65,0,.35,1);/* @kind other */
--dur-fast:140ms;/* @kind other */
--dur-base:220ms;/* @kind other */
--dur-slow:420ms;/* @kind other */
}
