/*
 * Strixus type overlay — homepage hierarchy only.
 * Turn off: define( 'STRIXUS_TYPE_OVERLAY', false ) or ?strixus_type=off
 * Does not replace style.css.
 */

:root {
	--type-hero: 26px;
	--type-feature: 26px;
	--type-card: 26px;
	--type-compact: 15px;
	--type-kicker: 13px;
	--type-meta: 13px;
	--type-excerpt: 15px;
}

/* ========================================
   Phone / tablet — sealed ≤1000
   Stack stories match the lead (26). Compact stays 15.
   ======================================== */
@media only screen and (max-width: 1000px) {
	body.home.strixus-type {
		--type-hero: 26px;
		--type-feature: 26px;
		--type-card: 26px;
		--type-compact: 15px;
		--type-kicker: 13px;
		--type-meta: 13px;
		--type-excerpt: 15px;
	}

	body.home.strixus-type #banner h1,
	body.home.strixus-type #banner .container-fluid h1,
	body.home.strixus-type #banner .strixus-hero-copy h1,
	body.home.strixus-type .strixus-single.is-hero .strixus-single-title {
		font-family: var(--font-display);
		font-size: var(--type-hero);
		line-height: 1.15;
		font-weight: 700;
		letter-spacing: -0.02em;
	}

	body.home.strixus-type .strixus-home-story .strixus-stack-title,
	body.home.strixus-type h2.extra-large,
	body.home.strixus-type h3.large,
	body.home.strixus-type h3.medium,
	body.home.strixus-type h3.extra-large {
		font-family: var(--font-display);
		font-size: var(--type-card);
		line-height: 1.15;
		font-weight: 700;
		letter-spacing: -0.02em;
	}

	body.home.strixus-type #banner .strixus-wapo-second .strixus-stack-title,
	body.home.strixus-type .strixus-pre-more .strixus-stack-title,
	body.home.strixus-type .strixus-pre-more h3.extra-large,
	body.home.strixus-type .strixus-single.is-feature .strixus-single-title {
		font-size: var(--type-feature);
	}

	body.home.strixus-type .strixus-contributed .strixus-single.is-feature .strixus-single-title {
		font-size: var(--type-card);
	}

	body.home.strixus-type h3.small,
	body.home.strixus-type .strixus-home-popular h3.small,
	body.home.strixus-type .strixus-home-feed .st-horizontal h3,
	body.home.strixus-type .strixus-home-feed .st-horizontal h3.small,
	body.home.strixus-type .strixus-pre-more .st-horizontal h3.small,
	body.home.strixus-type .strixus-more h3.small,
	body.home.strixus-type .strixus-sidebar-title {
		font-family: var(--font-display);
		font-size: var(--type-compact);
		line-height: 1.25;
		font-weight: 700;
		letter-spacing: normal;
	}

	body.home.strixus-type .st-section-header h2,
	body.home.strixus-type .strixus-home-feed .st-section-header h2,
	body.home.strixus-type .strixus-sidebar-head h2,
	body.home.strixus-type .strixus-spotlight-head h2,
	body.home.strixus-type #category-home .st-section-header h2,
	body.home.strixus-type .strixus-more .st-section-header h2,
	body.home.strixus-type .strixus-pre-more .st-section-header h2 {
		font-family: var(--font-ui);
		font-size: var(--type-kicker);
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	body.home.strixus-type .strixus-hero-excerpt,
	body.home.strixus-type #banner .strixus-hero-excerpt,
	body.home.strixus-type #banner p.strixus-hero-excerpt,
	body.home.strixus-type .strixus-home-story .strixus-stack-excerpt,
	body.home.strixus-type .strixus-pre-more .strixus-stack-excerpt {
		font-family: var(--font-body);
		font-size: var(--type-excerpt);
		font-weight: 400;
		line-height: 1.45;
	}

	body.home.strixus-type .strixus-hero-by,
	body.home.strixus-type #banner .strixus-hero-by,
	body.home.strixus-type .strixus-home-story .strixus-stack-by,
	body.home.strixus-type .strixus-home-popular .strixus-stack-by,
	body.home.strixus-type .strixus-pre-more .strixus-stack-by,
	body.home.strixus-type .strixus-single-by,
	body.home.strixus-type .strixus-single-by-word,
	body.home.strixus-type .strixus-single-by a,
	body.home.strixus-type #banner .strixus-single-by,
	body.home.strixus-type #banner .strixus-single-by-word,
	body.home.strixus-type #banner .strixus-single-by a,
	body.home.strixus-type .strixus-sidebar-by,
	body.home.strixus-type .strixus-sidebar-by-word,
	body.home.strixus-type .strixus-sidebar-by a,
	body.home.strixus-type .strixus-grid-by,
	body.home.strixus-type .strixus-grid-by-word,
	body.home.strixus-type .strixus-grid-by a {
		font-family: var(--font-meta);
		font-size: var(--type-meta);
		font-weight: 600;
		line-height: 1.3;
	}

	body.home.strixus-type .strixus-cta-headline,
	body.home.strixus-type .strixus-cta h2.strixus-cta-headline,
	body.home.strixus-type .strixus-cta h2 {
		font-family: var(--font-display);
		font-size: 18px;
		line-height: 1.2;
		font-weight: 700;
		letter-spacing: -0.02em;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
	body.home.strixus-type {
		--type-hero: 28px;
		--type-feature: 28px;
		--type-card: 28px;
		--type-excerpt: 16px;
	}
}

/* ========================================
   Laptop — sealed ≥1001
   Hero > feature > card > compact
   ======================================== */
@media only screen and (min-width: 1001px) {
	body.home.strixus-type {
		--type-hero: 28px;
		--type-feature: 20px;
		--type-card: 18px;
		--type-compact: 15px;
		--type-kicker: 13px;
		--type-meta: 12px;
		--type-excerpt: 16px;
	}

	body.home.strixus-type #banner h1,
	body.home.strixus-type #banner .container-fluid h1,
	body.home.strixus-type #banner .strixus-hero-copy h1,
	body.home.strixus-type .strixus-single.is-hero .strixus-single-title {
		font-family: var(--font-display);
		font-size: var(--type-hero);
		line-height: 1.2;
		font-weight: 700;
		letter-spacing: -0.02em;
	}

	body.home.strixus-type .strixus-home-story .strixus-stack-title,
	body.home.strixus-type h2.extra-large,
	body.home.strixus-type h3.large,
	body.home.strixus-type h3.medium,
	body.home.strixus-type h3.extra-large,
	body.home.strixus-type .strixus-spotlight-stories .strixus-stack-title,
	body.home.strixus-type .strixus-home-mid-a .strixus-stack-title,
	body.home.strixus-type .strixus-home-mid-b .strixus-stack-title {
		font-family: var(--font-display);
		font-size: var(--type-card);
		line-height: 1.2;
		font-weight: 700;
		letter-spacing: -0.02em;
	}

	body.home.strixus-type #banner .strixus-wapo-second .strixus-stack-title,
	body.home.strixus-type .strixus-wapo-second .strixus-stack-title,
	body.home.strixus-type .strixus-pre-more .strixus-stack-title,
	body.home.strixus-type .strixus-pre-more .strixus-wapo-second .strixus-stack-title,
	body.home.strixus-type .strixus-pre-more h3.extra-large,
	body.home.strixus-type .strixus-single.is-feature .strixus-single-title {
		font-size: var(--type-feature);
		line-height: 1.2;
		font-weight: 700;
		-webkit-line-clamp: unset;
		line-clamp: unset;
		overflow: visible;
	}

	body.home.strixus-type .strixus-contributed .strixus-single.is-feature .strixus-single-title {
		font-size: var(--type-compact);
	}

	body.home.strixus-type .strixus-contributed .strixus-single-excerpt {
		font-size: 15px;
		line-height: 1.4;
	}

	body.home.strixus-type h3.small,
	body.home.strixus-type .strixus-home-popular h3.small,
	body.home.strixus-type .strixus-home-feed .st-horizontal h3,
	body.home.strixus-type .strixus-home-feed .st-horizontal h3.small,
	body.home.strixus-type .strixus-pre-more .st-horizontal h3.small,
	body.home.strixus-type .strixus-more h3.small,
	body.home.strixus-type .strixus-sidebar-title {
		font-family: var(--font-display);
		font-size: var(--type-compact);
		line-height: 1.25;
		font-weight: 700;
	}

	body.home.strixus-type .st-section-header h2,
	body.home.strixus-type .strixus-home-feed .st-section-header h2,
	body.home.strixus-type .strixus-sidebar-head h2,
	body.home.strixus-type .strixus-home-popular .st-section-header h2,
	body.home.strixus-type .strixus-spotlight-head h2,
	body.home.strixus-type #category-home .st-section-header h2,
	body.home.strixus-type .strixus-more .st-section-header h2,
	body.home.strixus-type .strixus-pre-more .st-section-header h2,
	body.home.strixus-type .strixus-home-light .st-section-header h2,
	body.home.strixus-type .strixus-home-light ~ section .st-section-header h2 {
		font-family: var(--font-ui);
		font-size: var(--type-kicker);
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	body.home.strixus-type .strixus-hero-excerpt,
	body.home.strixus-type #banner .strixus-hero-excerpt,
	body.home.strixus-type #banner p.strixus-hero-excerpt,
	body.home.strixus-type #banner p,
	body.home.strixus-type .strixus-home-story .strixus-stack-excerpt,
	body.home.strixus-type .strixus-pre-more .strixus-stack-excerpt {
		font-family: var(--font-body);
		font-size: var(--type-excerpt);
		font-weight: 400;
		line-height: 1.4;
	}

	body.home.strixus-type .strixus-hero-by,
	body.home.strixus-type #banner .strixus-hero-by,
	body.home.strixus-type .strixus-home-story .strixus-stack-by,
	body.home.strixus-type .strixus-home-popular .strixus-stack-by,
	body.home.strixus-type .strixus-home-feed .st-horizontal .strixus-stack-by,
	body.home.strixus-type .strixus-pre-more .strixus-stack-by,
	body.home.strixus-type .strixus-single-by,
	body.home.strixus-type .strixus-single-by-word,
	body.home.strixus-type .strixus-single-by a,
	body.home.strixus-type #banner .strixus-single-by,
	body.home.strixus-type #banner .strixus-single-by-word,
	body.home.strixus-type #banner .strixus-single-by a,
	body.home.strixus-type .strixus-sidebar-by,
	body.home.strixus-type .strixus-sidebar-by-word,
	body.home.strixus-type .strixus-sidebar-by a,
	body.home.strixus-type .strixus-grid-by,
	body.home.strixus-type .strixus-grid-by-word,
	body.home.strixus-type .strixus-grid-by a {
		font-family: var(--font-meta);
		font-size: var(--type-meta);
		font-weight: 600;
		line-height: 1.3;
	}

	body.home.strixus-type .strixus-cta-headline,
	body.home.strixus-type .strixus-cta h2.strixus-cta-headline,
	body.home.strixus-type .strixus-cta h2 {
		font-family: var(--font-display);
		font-size: var(--type-card);
		line-height: 1.2;
		font-weight: 700;
		letter-spacing: -0.02em;
	}
}

@media only screen and (min-width: 1400px) {
	body.home.strixus-type {
		--type-hero: 32px;
		--type-feature: 22px;
	}
}

/* ========================================
   One global footer. Tagline + Publish with us
   stay centered on every page and breakpoint.
   Nav columns stay left. Beat page-specific leftovers.
   ======================================== */
body.strixus-type #ec-footer,
body.home.strixus-type #ec-footer,
body.page-template-page-council.strixus-type #ec-footer {
	margin-top: 0;
}

body.strixus-type #ec-footer .ec-ft-block-large,
body.strixus-type #ec-footer .col-12,
body.strixus-type #ec-footer .ec-ft-block-large p {
	text-align: center;
}

body.strixus-type #ec-footer .ec-ft-block-large .ec-button.light {
	display: inline-block;
}

body.strixus-type #ec-footer .footer-nav {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 16px;
	padding-top: 16px;
	margin: 0 auto;
	max-width: none;
	width: 100%;
	box-sizing: border-box;
}
@media only screen and (min-width: 1001px) {
	body.strixus-type #ec-footer .footer-nav,
	body.home.strixus-type #ec-footer .footer-nav,
	body.page-template-page-council.strixus-type #ec-footer .footer-nav {
		max-width: 700px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

body.strixus-type #ec-footer .footer-col,
body.strixus-type #ec-footer .footer-col h3,
body.strixus-type #ec-footer .footer-col h3.footer-title,
body.strixus-type #ec-footer ul li,
body.strixus-type #ec-footer ul li a {
	text-align: left;
}
