@font-face{font-family:'Host Grotesk';font-style:normal;font-weight:300 800;font-display:swap;src:url('../assets/fonts/HostGrotesk-Variable.woff2') format('woff2-variations'),url('../assets/fonts/HostGrotesk-Variable.woff2') format('woff2');}
@font-face{font-family:'Host Grotesk';font-style:italic;font-weight:300 800;font-display:swap;src:url('../assets/fonts/HostGrotesk-Variable-Italic.woff2') format('woff2-variations'),url('../assets/fonts/HostGrotesk-Variable-Italic.woff2') format('woff2');}

:root{
--font-sans:'Host Grotesk',ui-sans-serif,system-ui,sans-serif;
--font-mono:'IBM Plex Mono',ui-monospace,'SF Mono',monospace; /* not specified by brand; used only for code/technical contexts */

--weight-light:300;
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;
--weight-extrabold:800;

/* type scale — brandbook mandates high weight+size contrast between
   headline and support text (p.35 "Pesos e tamanhos com alto contraste") */
--text-display:clamp(2.75rem,6vw,5.5rem);   /* campaign KV headlines */
--text-h1:clamp(2.25rem,4vw,3.5rem);
--text-h2:clamp(1.75rem,3vw,2.5rem);
--text-h3:1.5rem;
--text-h4:1.25rem;
--text-body-lg:1.125rem;
--text-body:1rem;
--text-small:.875rem;
--text-caption:.75rem;

--leading-tight:1.05;
--leading-snug:1.2;
--leading-normal:1.45;
--leading-relaxed:1.6;

--tracking-tight:-0.02em;
--tracking-normal:0;
}

body{font-family:var(--font-sans);font-weight:var(--weight-regular);}
h1,h2,h3,h4{font-family:var(--font-sans);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0;}
p{line-height:var(--leading-normal);margin:0;}
