/**
 * Tianlu compact inner-page scale.
 *
 * Loaded after the owning page styles on every non-front-page request. The
 * selectors are intentionally explicit so the homepage and unrelated blocks
 * keep their approved sizing.
 */
body:not(.home) {
	--tl-inner-hero-height: 360px;
	--tl-inner-feature-height: 390px;
}

@media (min-width: 801px) {
	/* Shared directory and capability heroes. */
	.inner-hero,
	.materials-hero,
	.tl-industries-hero {
		height: var(--tl-inner-hero-height);
		min-height: 0;
	}

	.inner-hero__copy,
	.materials-hero__copy,
	.tl-industries-hero__copy {
		height: 100%;
		padding-block: 34px 38px;
	}

	.inner-hero__media,
	.materials-hero__media,
	.tl-industries-hero__media {
		height: 100%;
		min-height: 0;
	}

	.inner-hero .breadcrumb,
	.materials-hero .breadcrumb,
	.tl-industries-hero .breadcrumb {
		margin-bottom: 24px;
	}

	.inner-hero h1,
	.materials-hero h1,
	.tl-industries-hero h1 {
		margin-bottom: 16px;
		font-size: clamp(2.75rem, 3.6vw, 3.75rem);
	}

	.inner-hero__copy-inner > p:not(.breadcrumb):not(.eyebrow),
	.materials-hero__copy-inner > p:not(.breadcrumb):not(.eyebrow),
	.tl-industries-hero__copy-inner > p:not(.breadcrumb):not(.eyebrow) {
		margin-bottom: 22px;
		font-size: 16px;
	}

	/* Company, quality and workflow heroes keep a little more room for copy. */
	.tl-about-hero {
		height: 430px;
		min-height: 0;
	}

	.tl-quality-hero,
	.tl-workflow-hero {
		height: 390px;
		min-height: 0;
	}

	.tl-about-hero__copy,
	.tl-quality-hero__copy,
	.tl-workflow-hero__copy {
		height: 100%;
		padding-block: 36px 40px;
	}

	.tl-about-hero__media,
	.tl-quality-hero__media,
	.tl-workflow-hero__media {
		height: 100%;
		min-height: 0;
	}

	.tl-about-hero .breadcrumb,
	.tl-quality-hero .breadcrumb,
	.tl-workflow-hero .breadcrumb {
		margin-bottom: 26px;
	}

	.tl-about-hero h1,
	.tl-quality-hero h1,
	.tl-workflow-hero h1 {
		margin-bottom: 16px;
		font-size: clamp(2.75rem, 3.8vw, 4rem);
		line-height: 1;
	}

	.tl-about-hero__lead,
	.tl-quality-hero__lead,
	.tl-workflow-hero__lead {
		font-size: 16px;
		line-height: 1.6;
	}

	/* Material and industry detail pages use the same compact opening rhythm. */
	.material-single__hero-copy,
	.tl-industry-single__hero-copy {
		height: 100%;
		padding-block: 36px 40px;
	}

	.material-single__hero .breadcrumb,
	.tl-industry-single__hero .breadcrumb {
		margin-bottom: 26px;
	}

	.material-single__hero h1,
	.tl-industry-single__hero h1 {
		margin-bottom: 16px;
		font-size: clamp(2.7rem, 3.7vw, 3.9rem);
	}

	.material-single__hero-grid,
	.tl-industry-single__hero {
		height: 380px;
		min-height: 0;
	}

	.material-single__hero-media,
	.tl-industry-single__hero-media {
		height: 100%;
		min-height: 0;
	}

	/* Resource hubs and ordinary page headers. */
	.resource-library__hero--image,
	.resource-library__hero-inner,
	.resource-library__hero-grid {
		height: 350px;
		min-height: 0;
	}

	.resource-library__hero-inner {
		padding-block: 48px 36px;
	}

	.resource-library__hero-inner h1,
	.resource-library__hero h1 {
		font-size: clamp(2.75rem, 3.8vw, 4rem);
	}

	.resource-library__hero-grid {
		gap: 64px;
		padding-block: 46px;
	}

	.resource-library__hero-grid .breadcrumb {
		margin-bottom: 34px;
	}

	.page-hero {
		padding-block: 56px 48px;
	}

	.legal-page__header,
	.search-page__header {
		padding-block: 48px 42px;
	}

	.legal-page__header .breadcrumb {
		margin-bottom: 30px;
	}

	/* Large visual directory cards: keep the image-led design, reduce empty travel. */
	.capability-card,
	.material-library-card,
	.material-library-card__link,
	.tl-industry-card,
	.tl-industry-card__link {
		min-height: var(--tl-inner-feature-height);
	}

	.capability-card,
	.material-library-card__link,
	.tl-industry-card__link {
		padding: 40px 36px;
	}

	.capability-card h2,
	.material-library-card h2,
	.tl-industry-card h2 {
		margin-bottom: 16px;
		font-size: clamp(1.85rem, 2.4vw, 2.45rem);
	}

	.capability-card p,
	.material-library-card p,
	.tl-industry-card p {
		margin-bottom: 24px;
		font-size: 14px;
		line-height: 1.6;
	}

	.materials-selector-cta,
	.tl-industry-hub-cta {
		min-height: 280px;
		padding: 42px 52px;
	}
}

@media (min-width: 801px) and (max-width: 1024px) {
	/* Let longer company-page copy add a little height at the tablet breakpoint. */
	.inner-hero,
	.materials-hero,
	.tl-industries-hero,
	.tl-about-hero,
	.tl-quality-hero,
	.tl-workflow-hero,
	.material-single__hero-grid,
	.tl-industry-single__hero,
	.resource-library__hero--image,
	.resource-library__hero-inner,
	.resource-library__hero-grid {
		height: auto;
		min-height: 360px;
	}

	.tl-about-hero,
	.tl-quality-hero,
	.tl-workflow-hero,
	.material-single__hero-grid,
	.tl-industry-single__hero {
		min-height: 390px;
	}

	.inner-hero__copy,
	.materials-hero__copy,
	.tl-industries-hero__copy,
	.tl-about-hero__copy,
	.tl-quality-hero__copy,
	.tl-workflow-hero__copy,
	.material-single__hero-copy,
	.tl-industry-single__hero-copy,
	.inner-hero__media,
	.materials-hero__media,
	.tl-industries-hero__media,
	.tl-about-hero__media,
	.tl-quality-hero__media,
	.tl-workflow-hero__media,
	.material-single__hero-media,
	.tl-industry-single__hero-media {
		height: auto;
	}
}

@media (max-width: 800px) {
	body:not(.home) {
		--tl-inner-feature-height: 320px;
	}

	.inner-hero__copy,
	.materials-hero__copy,
	.tl-industries-hero__copy,
	.tl-about-hero__copy,
	.tl-quality-hero__copy,
	.tl-workflow-hero__copy,
	.material-single__hero-copy,
	.tl-industry-single__hero-copy {
		min-height: 0;
		padding: 24px 18px 28px;
	}

	.inner-hero .breadcrumb,
	.materials-hero .breadcrumb,
	.tl-industries-hero .breadcrumb,
	.tl-about-hero .breadcrumb,
	.tl-quality-hero .breadcrumb,
	.tl-workflow-hero .breadcrumb,
	.material-single__hero .breadcrumb,
	.tl-industry-single__hero .breadcrumb {
		margin-bottom: 18px;
	}

	.inner-hero h1,
	.materials-hero h1,
	.tl-industries-hero h1,
	.tl-about-hero h1,
	.tl-quality-hero h1,
	.tl-workflow-hero h1,
	.material-single__hero h1,
	.tl-industry-single__hero h1 {
		margin-bottom: 14px;
		font-size: clamp(2.35rem, 10.5vw, 3rem);
		line-height: 1.02;
	}

	.inner-hero__copy-inner > p:not(.breadcrumb):not(.eyebrow),
	.materials-hero__copy-inner > p:not(.breadcrumb):not(.eyebrow),
	.tl-industries-hero__copy-inner > p:not(.breadcrumb):not(.eyebrow),
	.tl-about-hero__lead,
	.tl-quality-hero__lead,
	.tl-workflow-hero__lead,
	.tl-industry-single__hero-copy > p:not(.breadcrumb):not(.eyebrow) {
		margin-bottom: 20px;
		font-size: 15px;
		line-height: 1.55;
	}

	.materials-hero__media,
	.tl-industries-hero__media,
	.tl-about-hero__media,
	.tl-quality-hero__media,
	.tl-workflow-hero__media,
	.material-single__hero-media,
	.tl-industry-single__hero-media {
		min-height: 0;
		aspect-ratio: 2 / 1;
	}

	.resource-library__hero--image,
	.resource-library__hero-inner {
		min-height: 330px;
	}

	.resource-library__hero-inner {
		padding-block: 58px 34px;
	}

	.resource-library__hero-inner h1,
	.resource-library__hero h1 {
		font-size: clamp(2.35rem, 10.5vw, 3rem);
	}

	.page-hero,
	.legal-page__header,
	.search-page__header {
		padding-block: 38px 34px;
	}

	.capability-card,
	.material-library-card,
	.material-library-card__link,
	.tl-industry-card,
	.tl-industry-card__link {
		min-height: var(--tl-inner-feature-height);
	}

	.capability-card,
	.material-library-card__link,
	.tl-industry-card__link {
		padding: 30px 22px;
	}

	.capability-card h2,
	.material-library-card h2,
	.tl-industry-card h2 {
		margin-bottom: 14px;
		font-size: 1.9rem;
	}

	.capability-card p,
	.material-library-card p,
	.tl-industry-card p {
		margin-bottom: 20px;
		font-size: 13px;
	}

	.materials-selector-cta,
	.tl-industry-hub-cta {
		min-height: 250px;
		padding: 36px 24px;
	}
}

@media (max-width: 480px) {
	body:not(.home) {
		--tl-inner-feature-height: 300px;
	}

	.inner-hero h1,
	.materials-hero h1,
	.tl-industries-hero h1,
	.tl-about-hero h1,
	.tl-quality-hero h1,
	.tl-workflow-hero h1,
	.material-single__hero h1,
	.tl-industry-single__hero h1,
	.resource-library__hero-inner h1,
	.resource-library__hero h1 {
		font-size: 2.35rem;
	}
}
