/* One alignment and reading width for the four custom page introductions. */
:is(.tsa-home-page, .tsa-landing-page, .tsa-corporate-page, .category-custom-projects) {
	--tsa-intro-width: 48rem;
}

/* Center introductory blocks, including the copy column in split heroes. */
.tsa-home-page :is(.tsa-home__hero-copy, .tsa-home__collection-heading, .tsa-home__section-heading),
.tsa-corporate-page :is(.tsa-corporate__hero-grid > div, .tsa-corporate__section-heading),
.tsa-projects :is(.tsa-projects__hero, .tsa-projects__section-heading, .tsa-projects__cta),
:is(.tsa-home-page, .tsa-landing-page) .tsa-corporate-teaser__copy {
	text-align: center;
}
.tsa-projects .tsa-projects__section-heading { display: block; }
.tsa-projects .tsa-projects__section-heading h2 { margin-bottom: 1rem; }

/* Use physical widths rather than differing ch counts and inherited font sizes. */
.tsa-home-page :is(.tsa-home__hero-copy, .tsa-home__collection-heading, .tsa-home__section-heading) > p:not(.tsa-home__eyebrow),
.tsa-home-page .tsa-home__custom .tsa-home__container > p:not(.tsa-home__eyebrow),
.tsa-corporate-page .tsa-corporate__section-heading > p:not(.tsa-corporate__eyebrow),
.tsa-corporate-page .tsa-corporate__lead,
.tsa-corporate-page .tsa-corporate__custom > .tsa-corporate__container > p:not(.tsa-corporate__eyebrow),
.tsa-projects .tsa-projects__intro,
.tsa-projects .tsa-projects__section-heading > p,
.tsa-projects .tsa-projects__empty,
:is(.tsa-home-page, .tsa-landing) .tsa-showcase__empty,
.tsa-home-page .tsa-home__occasions-empty > p,
.tsa-projects .tsa-projects__cta .tsa-projects__container > p:not(.tsa-projects__eyebrow),
.tsa-landing .tsa-container > p:not(.tsa-eyebrow),
.tsa-landing .tsa-container > .wp-block-group__inner-container > p:not(.tsa-eyebrow),
.tsa-landing .tsa-hero__copy p:not(.tsa-eyebrow),
.tsa-landing .tsa-hero__copy > .wp-block-group__inner-container > p:not(.tsa-eyebrow),
:is(.tsa-home-page, .tsa-landing-page) .tsa-corporate-teaser .tsa-corporate-teaser__copy > p:not(.tsa-corporate__eyebrow) {
	width: 100%;
	max-width: var(--tsa-intro-width);
	margin-inline: auto;
	font-size: 1rem;
	line-height: 1.7;
	text-align: center;
	text-wrap: wrap;
}
.tsa-projects .tsa-projects__intro p,
.tsa-corporate-page .tsa-corporate__lead p { font-size: inherit; line-height: inherit; }
.tsa-projects .tsa-projects__section-heading > p { margin-top: 0; }
.tsa-landing .tsa-hero__copy { max-width: var(--tsa-intro-width); }
.tsa-home-page .tsa-home__occasions-empty { max-width: var(--tsa-intro-width); text-align: center; }

/* Keep headings, eyebrow labels and actions on the same centered axis. */
.tsa-home-page :is(.tsa-home__hero-copy, .tsa-home__collection-heading, .tsa-home__section-heading, .tsa-home__custom .tsa-home__container) > .tsa-home__eyebrow,
.tsa-projects :is(.tsa-projects__hero .tsa-projects__container, .tsa-projects__section-heading > div, .tsa-projects__cta .tsa-projects__container) > .tsa-projects__eyebrow,
.tsa-corporate-page :is(.tsa-corporate__hero-grid > div, .tsa-corporate__section-heading, .tsa-corporate__custom .tsa-corporate__container) > .tsa-corporate__eyebrow,
.tsa-landing .tsa-hero__copy .tsa-eyebrow,
:is(.tsa-home-page, .tsa-landing-page) .tsa-corporate-teaser .tsa-corporate-teaser__copy > .tsa-corporate__eyebrow {
	width: 100%;
	max-width: none;
	margin-inline: auto;
	text-align: center;
}
.tsa-corporate-page .tsa-corporate__custom > .tsa-corporate__container > :is(h2, .tsa-corporate__eyebrow),
.tsa-home-page .tsa-home__custom > .tsa-home__container > :is(h2, .tsa-home__eyebrow) { text-align: center; }
.tsa-home-page .tsa-home__hero .tsa-home__actions,
.tsa-home-page .tsa-home__details,
.tsa-corporate-page .tsa-corporate__actions { justify-content: center; }
.tsa-corporate-page .tsa-corporate__hero-grid > div > :is(h1, .tsa-corporate__eyebrow) { text-align: center; }

/* Collection headings use the same axis; their product cards keep their layout. */
:is(.tsa-home-page, .tsa-landing) .tsa-showcase__heading {
	flex-direction: column;
	justify-content: center;
	text-align: center;
}
:is(.tsa-home-page, .tsa-landing) .tsa-showcase__heading > :is(h2, h3) { width: 100%; }
:is(.tsa-home-page, .tsa-landing) .tsa-showcase__heading :is(h2, h3) a { font-weight: inherit; }
