html {
	font-size: 18px;
}

:root {
	/* =========================================================
		Font families
	========================================================= */

	--font-headlines: "PPNeueMontreal", Arial, sans-serif;
	--font-emphasis: "Tiempos Headline", Georgia, "Times New Roman", Times, serif;
	--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

	/* =========================================================
		Colors
	========================================================= */
	
	--color-text: #1b1d1f;
	--color-heading: #111111;
	--color-muted: #66696e;
	--color-heading-link: #404041;
	
	/* =========================================================
		Weights
	========================================================= */
	--fw-light: 300;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;
	
	/* =========================================================
		Line-heights
	========================================================= */
	
	--lh-100: 1;
	--lh-105: 1.05;
	--lh-110: 1.1;
	--lh-120: 1.22;
	--lh-130: 1.33;
	--lh-140: 1.4;
	--lh-150: 1.5;
	--lh-160: 1.6666666667;
	
	/* =========================================================
		Spacing scale
	========================================================= */
	
	--space-0: 0;
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 2.5rem;
	
	/* Original heading rhythm */
	--heading-margin-top: var(--space-7);
	--heading-margin-bottom: var(--space-2);
	
	/* Underline */
	--underline-offset: 0.33em;
	--underline-thickness: 1px;
	
	/* H2 underline pattern */
	--h2-underline-border: 1px solid #333;
	--h2-underline-padding: 6px;
	--h2-underline-margin-bottom: var(--space-4);
	
	/* =========================================================
		Base sizes (rem @ 18px root)
	========================================================= */
	
	--fs-h1-lg: 4.778rem;		/* 86px */
	--fs-h1: 3.222rem;			/* 58px */
	--fs-h2: 2.444rem;			/* 44px */
	--fs-h3: 1.444rem;			/* 26px */
	--fs-h4: 1.111rem;			/* 20px */
	--fs-h5: 0.778rem;			/* 14px */
	--fs-h6: 0.722rem;			/* 13px */
	
	--fs-lead-hero: 1.111rem;	/* 20px */
	--fs-lead: 1rem;			/* 18px */
	--fs-body: 0.889rem;		/* 16px */
	--fs-small: 0.833rem;		/* 15px */
	--fs-xsmall: 0.778rem;		/* 14px */
	
	--fs-quote: 1.667rem;		/* 30px */
	

	/* =========================================================
		H2.5 (restored)
	========================================================= */

	--fs-h2p5: 2.111rem;			/* baseline target (pick what you want; ~38px @ 18px root) */

	--h2p5-min: 1.9rem;			/* ~34px */
	--h2p5-max: var(--fs-h2p5);	/* baseline target */
	--h2p5-weight: var(--fw-medium);
	--h2p5-lh: 1.27;
	--h2p5-track: -0.095rem;

	
	/* =========================================================
		Clamp ranges (baseline defaults)
	========================================================= */
	
	--h1-min: 2.684rem;			/* ~48px */
	--h1-max: var(--fs-h1);		/* 58px */
	
	--h2-min: 1.778rem;			/* ~32px */
	--h2-max: var(--fs-h2);		/* 44px */
	
	--h3-min: 1.222rem;			/* ~22px */
	--h3-max: var(--fs-h3);		/* 26px */
	
	--quote-min: 1.333rem;		/* ~24px */
	--quote-max: var(--fs-quote);/* 30px */

    --p-lead-min: 1.35rem;
    --p-lead-max: 1.625rem;
    --p-lead-lh: 1.35;
	
	/* =========================================================
		Per-level letter spacing
	========================================================= */
	
	--ls-h1: 0;
	--ls-h2: 0;
	--ls-h3: 0.012em;
	--ls-h4: 0;
	--ls-eyebrow: 0.05em;

	/* =========================================================
		Eyebrow defaults
	========================================================= */
	--eyebrow-font-family: var(--font-headlines);
	--eyebrow-size: var(--fs-h5);
	--eyebrow-weight: var(--fw-medium);
	--eyebrow-lh: 1.2rem;
	--eyebrow-transform: uppercase;
	--eyebrow-track: var(--ls-eyebrow);
	--eyebrow-margin-top: var(--space-0);
	--eyebrow-margin-bottom: var(--space-4);
	
	
	/* =========================================================
		Focus / accessibility
	========================================================= */

	--focus-outline: 2px solid currentColor;
	--focus-outline-offset: 3px;

	/* =========================================================
		Transitions
	========================================================= */

	--transition-base: cubic-bezier(0.4, 0, 1, 1) 0.25s;
	
}	
	
/* =========================================================
	Base document type
========================================================= */

body {
	font-family: var(--font-sans);
	font-weight: var(--fw-light);
	font-size: var(--fs-body);
	line-height: var(--lh-160);
	letter-spacing: 0;
	color: var(--color-text);
}


/* Headline family applies to headings + utilities */
:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
	font-family: var(--font-headlines);
}

:where(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
	color: var(--color-heading);
}


/* =========================================================
	Headings (elements + utility classes)
========================================================= */

h1,
.h1 {
	font-size: clamp(var(--h1-min), 3vw + 1rem, var(--h1-max));
	font-weight: var(--fw-medium);
	line-height: var(--lh-110);
	letter-spacing: var(--ls-h1);
	margin-top: 0;
	margin-bottom: var(--heading-margin-bottom);
}

.h1-lg {
	font-size: clamp(3.222rem, 4.6vw, var(--fs-h1-lg));
	font-weight: var(--fw-medium);
	line-height: var(--lh-100);
	letter-spacing: var(--ls-h1);
	color: var(--color-heading);
}

h2, h3 {
	margin-top: var(--heading-margin-top);
}

h2,
.h2 {
	font-size: clamp(var(--h2-min), 1.8vw + 1rem, var(--h2-max));
	font-weight: var(--fw-medium);
	line-height: var(--lh-120);
	letter-spacing: var(--ls-h2);
	margin-bottom: var(--heading-margin-bottom);
}

h4.h2 {
	text-transform: capitalize;
}

/* =========================================================
	H2.5
========================================================= */

:is(h2.h2p5, p.h2p5) {
	font-family: var(--font-headlines);
	color: var(--color-heading);

	font-size: clamp(var(--h2p5-min), 1.4vw + 1.3rem, var(--h2p5-max));
	font-weight: var(--h2p5-weight);
	line-height: var(--h2p5-lh);
	letter-spacing: var(--h2p5-track);

	margin-bottom: var(--heading-margin-bottom);
}

h3,
.h3 {
	font-size: clamp(var(--h3-min), 0.9vw + 1rem, var(--h3-max));
	font-weight: var(--fw-medium);
	line-height: var(--lh-130);
	letter-spacing: var(--ls-h3);
	margin-bottom: var(--heading-margin-bottom);
}

/* “tight” h3 rhythm variant */
.h3 {
	margin-bottom: var(--heading-margin-bottom);
}

/* Special case: h1.h3 should drop the tight tracking */
h1.h3,
.h1.h3 {
	letter-spacing: 0;
}

h4,
.h4,
h3.h4 {
	font-size: var(--fs-h4);
	font-weight: var(--fw-medium);
	line-height: var(--lh-140);
	letter-spacing: var(--ls-h4);
	margin-top: 0;
	margin-bottom: var(--heading-margin-bottom);
}

h6, .h6 {
	font-size: var(--fs-h6);
	margin-top: 0;
	margin-bottom: var(--heading-margin-bottom);
}


/* =========================================================
	Paragraphs + supporting text
========================================================= */

p {
	font-size: var(--p-size);
	line-height: var(--p-lh);

	&.secondary {
		/* matches old behavior (even though name is "secondary") */
		color: var(--color-text);
		font-size: var(--p-secondary-size);
		line-height: var(--p-secondary-lh);
		font-weight: var(--fw-light);
	}

	&.tertiary {
		font-size: var(--p-tertiary-size);
	}

	&.lead {
		font-size: clamp(var(--p-lead-min), 1vw + 1.2rem, var(--p-lead-max));
		line-height: var(--p-lead-lh);
	}

	&.intro {
		font-size: var(--fs-lead);
	}
}

.lead {
	font-family: var(--font-sans);
	font-size: clamp(var(--p-lead-min), 1vw + 1.2rem, var(--p-lead-max));
	line-height: var(--p-lead-lh);
}

.lead-hero {
	font-family: var(--font-sans);
	font-size: var(--fs-lead-hero);
	line-height: var(--lh-150);
}

.small,
small {
	font-size: var(--fs-small);
	line-height: var(--lh-150);
}

.xsmall {
	font-size: var(--fs-xsmall);
	line-height: var(--lh-150);
}





#main-header {
	font-family: var(--font-headlines);
}





