:root{
/* Families. --font-display stands in for LOVELO (see tokens/fonts.css). */
--font-display:"Outfit","Lovelo","Futura",system-ui,sans-serif;
--font-body:"Montserrat",system-ui,-apple-system,sans-serif;
--font-mono:"SFMono-Regular",Menlo,Consolas,monospace;

/* Display scale — Lovelo/Outfit, always uppercase, always tracked out */
--display-1:clamp(3rem,6.4vw,5.5rem); /* @kind font */
--display-2:clamp(2.5rem,4.8vw,4rem); /* @kind font */
--display-3:clamp(2rem,3.4vw,2.875rem); /* @kind font */
--heading-1:2rem; /* @kind font */
--heading-2:1.5rem; /* @kind font */
--heading-3:1.1875rem; /* @kind font */
--eyebrow:0.75rem; /* @kind font */

/* Body scale */
--text-xs:0.75rem;
--text-sm:0.8125rem;
--text-base:0.9375rem;
--text-md:1rem;
--text-lg:1.125rem;
--text-xl:1.3125rem;

/* Weights */
--weight-light:300;
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;
--weight-black:900;

/* Line heights — generous, this brand breathes */
--leading-tight:1.02; /* @kind other */
--leading-snug:1.18; /* @kind other */
--leading-heading:1.28; /* @kind other */
--leading-body:1.68; /* @kind other */
--leading-loose:1.85; /* @kind other */

/* Tracking — the display face is never set solid */
--tracking-display:0.02em; /* @kind other */
--tracking-heading:0.01em; /* @kind other */
--tracking-eyebrow:0.22em; /* @kind other */
--tracking-button:0.08em; /* @kind other */
--tracking-body:0; /* @kind other */
}
.sm-display-1{font-family:var(--font-display);font-size:var(--display-1);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--text-strong)}
.sm-display-2{font-family:var(--font-display);font-size:var(--display-2);font-weight:var(--weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--text-strong)}
.sm-display-3{font-family:var(--font-display);font-size:var(--display-3);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--text-strong)}
.sm-h1{font-family:var(--font-display);font-size:var(--heading-1);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--text-strong)}
.sm-h2{font-family:var(--font-display);font-size:var(--heading-2);font-weight:var(--weight-semibold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--text-strong)}
.sm-h3{font-family:var(--font-body);font-size:var(--heading-3);font-weight:var(--weight-semibold);line-height:var(--leading-heading);color:var(--text-strong)}
.sm-eyebrow{font-family:var(--font-body);font-size:var(--eyebrow);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.sm-lead{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--weight-light);line-height:var(--leading-body);color:var(--text-body)}
.sm-body{font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--text-body)}
.sm-body-sm{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--text-body)}
.sm-caption{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.5;color:var(--text-muted)}
.sm-em{font-weight:var(--weight-bold);color:var(--text-strong)}
