/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 */
/* THOME 1.0.15 launch layer: approved catalogue rhythm, responsive polish and accessibility. */
:root {
	--color-paper-deep: var(--color-paper-2);
	--color-white-55: color-mix(in oklch, var(--color-white) 55%, transparent);
	--color-white-70: color-mix(in oklch, var(--color-white) 70%, transparent);
	--reference-gutter: clamp(1.25rem, 3.333vw, 3rem);
	--reference-section-space: 5.5rem;
	--site-gutter: clamp(1.25rem, 3.333vw, 3rem);
	--space-3xl: 5.5rem;
}

html {
	max-width: 100%;
	overflow-x: clip;
	scroll-padding-top: 7rem;
}

body,
.wp-site-blocks {
	max-width: 100%;
	overflow-x: clip;
}

body {
	background: var(--color-white);
	color: var(--color-ink);
	font-family: var(--font-body);
	letter-spacing: 0;
}

:where(*, *::before, *::after) {
	box-sizing: border-box;
}

:where(.wp-block-columns, .wp-block-column, .wp-block-group, .wp-block-cover, main, section, article, figure) {
	min-width: 0;
}

:where(img, video, iframe, svg) {
	max-width: 100%;
}

:where(img, video) {
	display: block;
}

figure:has(> img[loading="lazy"]),
img[loading="lazy"] {
	contain-intrinsic-size: auto;
	content-visibility: visible;
}

:where(h1, h2, h3, h4, h5, h6, .wp-block-post-title, .wp-block-post-title a) {
	hyphens: none;
	letter-spacing: 0;
	overflow-wrap: normal;
	word-break: normal;
}

:where(p, li, dd, figcaption) {
	overflow-wrap: break-word;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	border-radius: 0;
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

.skip-link {
	background: var(--color-white);
	border: 2px solid var(--color-ink);
	color: var(--color-ink);
	font-size: 0.875rem;
	font-weight: 700;
	left: 1rem;
	line-height: 1;
	min-height: 44px;
	opacity: 0;
	padding: 0.9rem 1.1rem;
	pointer-events: none;
	position: fixed;
	top: 1rem;
	transform: translateY(-160%);
	z-index: 10000;
}

.skip-link:focus {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

:where(
	.wp-element-button,
	.wp-block-button__link,
	button,
	[role="button"],
	.site-header a,
	.collection-action,
	.collection-catalog__request,
	.reference-text-link a,
	.reference-card-link a,
	.text-link a,
	.product-documents a,
	.product-swatch,
	.collection-showcase__documents a,
	.bathroom-finish,
	.bathroom-library__filters button
) {
	line-height: 1.2;
	white-space: nowrap;
}

:where(.wp-element-button, .wp-block-button__link, button, [role="button"]) {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
}

body .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	white-space: nowrap;
}

.site-header {
	background: transparent;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 100;
}

.site-header__utility {
	background: var(--color-ink);
	color: var(--color-white);
}

.site-header__utility-inner {
	min-height: 1.875rem;
}

.site-header__nav {
	background: color-mix(in oklch, var(--color-ink) 84%, transparent);
	color: var(--color-white);
}

.site-header__inner,
body:not(.home) .site-header__inner {
	height: 4.25rem;
	min-height: 4.25rem;
}

.site-header .wp-block-site-title a {
	font-size: 1rem;
	letter-spacing: 0.16em;
}

.site-header .wp-block-navigation-item__content {
	letter-spacing: 0.12em;
}

.site-header__action .wp-block-button__link {
	min-height: 2.75rem;
	padding: 0.85rem 1.25rem;
}

.site-header__mobile-action {
	display: none !important;
}

body:not(.home) .site-header__nav {
	background: color-mix(in oklch, var(--color-white) 96%, transparent);
	border-bottom: 1px solid var(--color-rule);
	box-shadow: 0 0.25rem 1rem color-mix(in oklch, var(--color-ink) 8%, transparent);
	color: var(--color-ink);
}

.reference-products,
.reference-applications,
.reference-engineering,
.reference-about,
.reference-gallery,
.reference-contact {
	padding-block: var(--reference-section-space);
}

.reference-section-head {
	gap: 3rem;
	margin-bottom: 3.75rem;
}

.reference-section-head h2,
.reference-about h2,
.reference-contact__intro h2 {
	line-height: 1.05;
}

.reference-application-list {
	gap: 5rem;
}

.reference-about,
.company-section {
	background: var(--color-paper-deep);
	border-block: 1px solid var(--color-rule);
	color: var(--color-ink);
}

.thome-hero--immersive::after {
	background: linear-gradient(90deg, var(--color-ink-45) 0%, var(--color-ink-28) 34%, transparent 64%);
}

.thome-hero--immersive :where(h1, .thome-hero__summary, .reference-label) {
	text-shadow: 0 1px 0 var(--color-ink-45), 0 0.2rem 1.2rem var(--color-ink-28);
}

.reference-about__grid,
.company-grid {
	align-items: start;
	gap: 4rem !important;
}

.reference-about h2,
.company-grid > div:first-child h2 {
	max-width: 13ch;
}

.reference-about__lead,
.company-lead,
.company-identity > p:not(.eyebrow) {
	color: var(--color-ink-soft);
}

.reference-stat-grid,
.company-capacity-ledger {
	border-color: var(--color-rule);
	gap: 1.5rem;
}

.company-capacity-ledger > p {
	border-color: var(--color-rule);
}

.company-capacity-ledger strong {
	font-size: 2.25rem;
	line-height: 1;
}

.company-production-video {
	background: var(--color-ink);
	margin: 0;
	overflow: hidden;
}

.company-production-video video {
	aspect-ratio: 16 / 9;
	background: var(--color-ink);
	height: auto;
	object-fit: cover;
	width: 100%;
}

.company-production-video figcaption {
	color: var(--color-white-70);
	font-size: 0.75rem;
	line-height: 1.55;
	min-height: 4.5rem;
	padding: 1rem 1.25rem;
}

.company-production-video figcaption strong {
	color: var(--color-white);
}

.reference-about > .thome-gallery-note {
	color: var(--color-ink-soft);
	font-size: 0.75rem;
	margin-top: 1.5rem;
}

.reference-about > .reference-gallery__track {
	margin-top: 3rem;
}

.reference-about > .reference-gallery__track .reference-gallery-card {
	flex-basis: min(24rem, 78vw);
}

.process-strip {
	background: var(--color-paper);
	border-block: 1px solid var(--color-rule);
	color: var(--color-ink);
	padding-block: 5rem;
}

.process-strip h2 {
	font-size: 3rem;
	line-height: 1.05;
	margin: 0.9rem 0 0;
	max-width: 14ch;
}

.process-strip__steps {
	counter-reset: process;
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 3rem !important;
}

.process-strip .process-step {
	border-left: 1px solid var(--color-rule);
	min-height: 12rem;
	padding: 1.25rem;
}

.process-strip .process-step:first-child {
	border-left: 0;
	padding-left: 0;
}

.process-strip .process-step::before {
	color: var(--color-accent);
	font-family: var(--font-meta);
	margin-bottom: 3rem;
}

.process-strip .process-step h3 {
	font-family: var(--font-body);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 0.65rem;
}

.process-strip .process-step p {
	color: var(--color-ink-soft);
	line-height: 1.6;
	margin: 0;
}

.reference-gallery__track,
.collection-scenes__rail,
.application-scene-rail,
.bathroom-rail {
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}

.reference-gallery-card,
.collection-scenes__item,
.application-scene-card,
.bathroom-layout-card__item,
.bathroom-scene-card__item {
	scroll-snap-align: start;
}

.reference-tabs,
.collection-tabs,
.bathroom-subnav,
.bathroom-library__filters {
	flex-wrap: nowrap;
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: thin;
}

.collection-showcase__breadcrumb,
.application-detail__breadcrumb,
.product-breadcrumb,
.woocommerce-breadcrumb {
	flex-wrap: wrap;
	overflow: visible;
}

:where(.collection-showcase__breadcrumb, .application-detail__breadcrumb, .product-breadcrumb, .woocommerce-breadcrumb) :where(a, span) {
	white-space: nowrap;
}

.collection-showcase__main-image,
.collection-showcase__main-image img,
.product-detail-hero__media,
.product-detail-hero__media img {
	max-width: 100%;
}

.collection-performance--procurement {
	background: var(--color-paper-deep);
	border-block: 1px solid var(--color-rule);
	color: var(--color-ink);
}

.collection-performance--procurement :where(p, .collection-performance__index) {
	color: var(--color-ink-soft);
}

.collection-performance--procurement .collection-performance__head h2,
.collection-performance--procurement .collection-performance__grid h3 {
	color: var(--color-ink);
}

.collection-performance--procurement .collection-showcase__eyebrow,
.collection-performance--procurement .collection-performance__grid article > p:last-child {
	color: var(--color-ink-soft);
}

.collection-performance--procurement .collection-performance__grid article {
	border-color: var(--color-rule);
}

.collection-catalog__more {
	background: var(--color-ink);
	border: 1px solid var(--color-ink);
	color: var(--color-white);
	cursor: pointer;
	display: flex;
	margin: 3.5rem auto 0;
	min-width: min(20rem, 100%);
	padding: 0.9rem 1.25rem;
}

.collection-catalog__item[hidden] {
	display: none;
}

.collection-showcase__main-image,
.collection-showcase__thumb,
.collection-showcase__thumb img {
	aspect-ratio: 4 / 3;
}

.product-swatch,
.collection-showcase__thumb {
	flex: 0 0 auto;
}

.product-swatch {
	height: 2.75rem;
	min-height: 2.75rem;
}

.collection-showcase__main-image img,
.collection-catalog__image-link img,
.thome-collection-card img,
.reference-application-row img {
	height: auto;
	width: 100%;
}

.reference-contact__form .wpc-enquiry-form-wrap {
	border: 1px solid var(--color-rule);
	box-shadow: 0 0.25rem 1.25rem color-mix(in oklch, var(--color-ink) 8%, transparent);
}

.reference-contact {
	background: var(--color-white);
	padding-block: 4.25rem;
}

.reference-contact__visual {
	margin-top: 4rem;
}

.bathroom-library__filters {
	display: flex;
	gap: 0.75rem;
	margin: -1.25rem 0 2.5rem;
}

.bathroom-library__filters button {
	background: transparent;
	border: 1px solid var(--color-rule);
	color: var(--color-ink);
	cursor: pointer;
	font-family: var(--font-meta);
	font-size: 0.6875rem;
	font-weight: 700;
	padding: 0.75rem 1rem;
	text-transform: uppercase;
}

.bathroom-library__filters button.is-active {
	background: var(--color-ink);
	border-color: var(--color-ink);
	color: var(--color-white);
}

.product-archive-page > :where(.wp-block-group.alignwide, .wp-block-woocommerce-product-collection.alignwide) {
	padding-top: 0;
}

.product-archive-page > .page-intro {
	padding-bottom: 3rem;
	padding-top: 8.5rem;
}

.product-archive-page > .wp-block-group.alignwide:not(.page-intro) {
	margin-block: 2.5rem 1.5rem;
}

.product-archive-page > .wp-block-woocommerce-product-collection {
	margin-top: 0;
}

.product-archive-page .wc-block-product {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.product-archive-page .wc-block-product .wp-block-post-terms {
	color: var(--color-ink-soft);
	font-family: var(--font-meta);
	font-size: 0.6875rem !important;
	margin: 1rem 0 0.45rem;
	text-transform: uppercase;
}

.product-archive-page .wc-block-product .wp-block-post-title {
	margin: 0 0 0.65rem;
}

.product-archive-page .wc-block-product .wp-block-post-excerpt {
	color: var(--color-ink-soft);
	font-size: 0.875rem !important;
	line-height: 1.55;
	margin: 0 0 1rem;
}

.product-archive-page .wc-block-product .wp-block-read-more {
	border-bottom: 1px solid var(--color-ink);
	font-family: var(--font-meta);
	font-size: 0.6875rem;
	font-weight: 700;
	margin-top: auto;
	padding-bottom: 0.35rem;
	text-transform: uppercase;
	width: fit-content;
}

:where(input, select, textarea) {
	max-width: 100%;
}

:where(input, select, textarea):focus {
	border-color: var(--color-focus);
}

.wp-block-table {
	max-width: 100%;
	overflow-x: auto;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	align-items: center;
	height: 44px;
	justify-content: center;
	min-width: 44px;
	padding: 0.625rem;
}

html.thome-menu-open,
body.thome-menu-open {
	overflow: hidden;
}

body.thome-menu-open {
	left: 0;
	position: fixed;
	right: 0;
	top: var(--thome-scroll-position, 0);
	width: 100%;
}

@media (hover: hover) and (pointer: fine) {
	:where(.wp-element-button, .wp-block-button__link, button, [role="button"]):not(:disabled):hover {
		transform: translateY(-2px);
	}

	:where(.thome-collection-card, .collection-catalog__item, .reference-gallery-card) img {
		transition: transform 500ms var(--ease-out);
	}

	:where(.thome-collection-card, .collection-catalog__item, .reference-gallery-card):hover img {
		transform: scale(1.02);
	}
}

@media (max-width: 900px) {
	:root {
		--reference-section-space: 4.5rem;
		--space-3xl: 4.5rem;
	}

	html {
		scroll-padding-top: 4.5rem;
	}

	.site-header__utility {
		display: none;
	}

	.site-header {
		position: sticky;
		top: 0;
	}

	.site-header__nav,
	body:not(.home) .site-header__nav {
		background: color-mix(in oklch, var(--color-white) 96%, transparent);
		border-bottom: 1px solid var(--color-rule);
		box-shadow: 0 0.2rem 0.85rem color-mix(in oklch, var(--color-ink) 10%, transparent);
		color: var(--color-ink);
		position: relative;
	}

	.site-header__inner,
	body:not(.home) .site-header__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		height: 4rem;
		min-height: 4rem;
	}

	.site-header .wp-block-navigation__responsive-container-open {
		color: var(--color-ink);
	}

	.site-header__action {
		display: none !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		background: var(--color-ink) !important;
		color: var(--color-white) !important;
		display: flex;
		inset: 0;
		min-height: 100dvh;
		overflow-y: auto;
		padding: 1.25rem var(--reference-gutter) 2.5rem;
		position: fixed;
		z-index: 9999;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		min-height: calc(100dvh - 3.75rem);
		width: 100%;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		color: var(--color-white);
		right: 0;
		top: 0;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		justify-content: center;
		min-height: calc(100dvh - 3.75rem);
		padding-top: 4.5rem;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: flex-start;
		gap: 0.5rem;
		width: 100%;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		width: 100%;
	}

	.wp-block-navigation__responsive-container.is-menu-open .site-header__mobile-action {
		display: block !important;
		margin-top: 0.75rem;
	}

	.wp-block-navigation__responsive-container.is-menu-open .site-header__mobile-action .wp-block-navigation-item__content {
		background: var(--color-white);
		border: 1px solid var(--color-white);
		color: var(--color-ink);
		font-size: 0.875rem;
		min-height: 3.25rem;
		padding: 1rem;
		text-align: center;
	}

	.wp-block-navigation__responsive-container.is-menu-open .site-header__mobile-action--secondary .wp-block-navigation-item__content {
		background: transparent;
		color: var(--color-white);
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		border-bottom: 1px solid var(--color-white-24);
		color: var(--color-white);
		font-family: var(--font-body);
		font-size: 2rem;
		font-weight: 700;
		letter-spacing: 0;
		line-height: 1.05;
		padding-block: 1rem;
		text-transform: none;
	}

	.reference-section-head,
	.reference-section-head__aside,
	.collection-showcase__lead,
	.application-detail__hero,
	.application-detail__inputs,
	.specification-intro {
		grid-template-columns: minmax(0, 1fr);
	}

	.reference-section-head {
		gap: 2rem;
		margin-bottom: 3rem;
	}

	.reference-about__grid,
	.company-grid {
		gap: 2.5rem !important;
	}

	.process-strip__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.process-strip .process-step,
	.process-strip .process-step:first-child {
		border-left: 1px solid var(--color-rule);
		border-top: 0;
		padding: 1.25rem;
	}

	.process-strip .process-step:nth-child(odd) {
		border-left: 0;
		padding-left: 0;
	}

	.process-strip .process-step:nth-child(n + 3) {
		border-top: 1px solid var(--color-rule);
	}

	.reference-about__grid,
	.reference-contact__grid,
	.reference-engineering__grid,
	.reference-application-row,
	.thome-collection-grid {
		flex-direction: column;
	}

	.reference-engineering__grid {
		flex-direction: column-reverse;
	}

	.reference-about__grid > .wp-block-column,
	.reference-contact__grid > .wp-block-column,
	.reference-engineering__grid > .wp-block-column,
	.reference-application-row > .wp-block-column,
	.thome-collection-grid > .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
	}

	.company-identity {
		position: static;
	}

	.collection-showcase,
	.application-detail {
		padding-top: 2.75rem;
	}
}

@media (max-width: 680px) {
	:root {
		--reference-gutter: 1.25rem;
		--reference-section-space: 4rem;
		--site-gutter: 1.25rem;
		--space-3xl: 4rem;
	}

	.site-header .wp-block-site-title a {
		font-size: 0.95rem;
		letter-spacing: 0.13em;
	}

	.thome-hero.thome-hero--immersive {
		height: min(calc(100svh - 0.75rem), 44rem);
		min-height: 36rem !important;
	}

	.thome-hero--immersive::after {
		background: linear-gradient(180deg, transparent 18%, var(--color-ink-18) 54%, var(--color-ink-45) 100%);
	}

	.thome-hero--immersive .thome-hero__content {
		justify-content: flex-end;
		padding: 5.5rem var(--reference-gutter) 2.75rem;
	}

	.thome-hero--immersive h1,
	.reference-hero h1 {
		font-size: 2.75rem;
		line-height: 1.04;
		max-width: 12ch;
		overflow-wrap: normal;
		word-break: normal;
	}

	.thome-hero--immersive .thome-hero__summary {
		font-size: 0.9375rem;
	}

	.thome-hero--immersive .thome-hero__actions,
	.product-detail-actions,
	.product-documents,
	.collection-showcase__actions,
	.collection-showcase__documents,
	.application-detail__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
	}

	.thome-hero--immersive .thome-hero__actions .wp-block-button,
	.thome-hero--immersive .thome-hero__actions .wp-block-button__link,
	.product-detail-actions .wp-block-button,
	.product-detail-actions .wp-block-button__link,
	.collection-showcase__actions .collection-action,
	.application-detail__actions .collection-action {
		width: 100%;
	}

	.reference-section-head h2,
	.reference-about h2,
	.reference-contact__intro h2,
	.application-detail__requirements h2,
	.application-detail__gallery h2,
	.application-detail__inputs h2,
	.application-detail__cta h2,
	.collection-final-cta h2 {
		font-size: 2.5rem;
		line-height: 1.05;
	}

	.reference-application-list {
		gap: 4rem;
	}

	.process-strip {
		padding-block: 4rem;
	}

	.process-strip h2 {
		font-size: 2.5rem;
	}

	.process-strip__steps {
		display: grid;
		grid-auto-columns: minmax(15rem, 78vw);
		grid-auto-flow: column;
		grid-template-columns: none;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		padding-bottom: 1rem;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}

	.process-strip .process-step,
	.process-strip .process-step:first-child,
	.process-strip .process-step:nth-child(odd),
	.process-strip .process-step:nth-child(n + 3) {
		border-left: 1px solid var(--color-rule);
		border-top: 0;
		min-height: 12rem;
		padding: 1.25rem;
		scroll-snap-align: start;
	}

	.process-strip .process-step:first-child {
		padding-left: 0;
	}

	.process-strip .process-step::before {
		margin-bottom: 2rem;
	}

	.reference-application-row {
		gap: 2rem !important;
	}

	.reference-application-row--reverse > .wp-block-column:first-child {
		order: 2;
	}

	.reference-application-row--reverse > .wp-block-column:last-child {
		order: 1;
	}

	.reference-application-row img,
	.reference-contact__visual img,
	.application-detail__hero img {
		aspect-ratio: 4 / 3;
		height: auto;
		object-fit: cover;
	}

	.reference-about__grid,
	.company-grid {
		gap: 2rem !important;
	}

	.company-capacity-ledger,
	.process-grid,
	.factory-proof-grid {
		display: grid;
		grid-auto-columns: minmax(9rem, 72vw);
		grid-auto-flow: column;
		grid-template-columns: none;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		padding-bottom: 1rem;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}

	.company-capacity-ledger > p,
	.process-grid > article,
	.factory-proof-grid > * {
		scroll-snap-align: start;
	}

	.company-capacity-ledger > p,
	.company-capacity-ledger > p:first-child {
		border-left: 1px solid var(--color-rule);
		padding-left: 1rem;
	}

	.reference-gallery__track,
	.collection-scenes__rail,
	.application-scene-rail,
	.bathroom-rail {
		grid-auto-columns: minmax(16rem, 82vw);
	}

	.reference-gallery__head {
		align-items: flex-start;
		gap: 1.5rem;
	}

	.reference-contact__form .wpc-enquiry-form-wrap {
		box-shadow: none;
		padding: 1.25rem;
	}

	.reference-contact {
		padding-block: 3.5rem;
	}

	.reference-contact__visual {
		margin-top: 3rem;
	}

	.wpc-enquiry-form-wrap .frm-fluent-form,
	.reference-contact__form .wpc-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.wpc-enquiry-form-wrap .thome-field-half {
		grid-column: 1 / -1;
	}

	.collection-showcase,
	.application-detail {
		padding-top: 2rem;
	}

	.collection-showcase--vanity .collection-catalog__item[data-library-group="featured"] {
		grid-column: 1 / -1;
	}

	.collection-showcase--vanity .collection-catalog__item[data-library-group="featured"] .collection-catalog__description {
		display: block;
	}

	.collection-showcase--vanity .collection-catalog__meta,
	.collection-showcase--vanity .collection-catalog__request {
		font-size: 0.75rem;
	}

	.product-archive-page > .page-intro {
		padding-top: 3rem;
	}

	.collection-showcase__breadcrumb,
	.application-detail__breadcrumb,
	.product-breadcrumb,
	.woocommerce-breadcrumb {
		gap: 0.45rem 0.65rem;
		line-height: 1.45;
		margin-bottom: 2rem;
		padding-bottom: 0;
	}

	.collection-showcase__content h1,
	.application-detail__copy h1,
	.product-detail-hero__content h1,
	.page-intro h1,
	.editorial-single__header h1 {
		font-size: 2.75rem;
		line-height: 1.03;
		overflow-wrap: normal;
		word-break: normal;
	}

	.collection-showcase__lead {
		gap: 2.5rem;
		padding-bottom: 4rem;
	}

	.collection-showcase__specs > div,
	.product-detail-hero__content .product-specs__row,
	.application-detail__inputs dl > div {
		gap: 0.5rem;
		grid-template-columns: minmax(6.25rem, 0.72fr) minmax(0, 1.28fr);
	}

	.collection-performance__grid,
	.application-detail__requirement-grid,
	.application-detail__gallery-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.collection-catalog__grid {
		gap: 2.25rem 0.75rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.collection-catalog__description {
		display: none;
	}

	.reference-footer {
		padding-block: 4rem;
	}
}

@media (max-width: 414px) {
	:root {
		--reference-gutter: 1rem;
		--site-gutter: 1rem;
	}

	.thome-hero--immersive h1,
	.reference-hero h1,
	.collection-showcase__content h1,
	.application-detail__copy h1,
	.product-detail-hero__content h1,
	.page-intro h1,
	.editorial-single__header h1 {
		font-size: 2.4rem;
	}

	.reference-section-head h2,
	.reference-about h2,
	.reference-contact__intro h2,
	.application-detail__requirements h2,
	.application-detail__gallery h2,
	.application-detail__inputs h2,
	.application-detail__cta h2,
	.collection-final-cta h2 {
		font-size: 2.2rem;
	}

	.process-strip h2 {
		font-size: 2.2rem;
	}

	.reference-tabs,
	.collection-tabs {
		gap: 0.75rem;
	}

	.reference-tabs .wp-block-button__link,
	.collection-tabs .wp-block-button__link {
		font-size: 0.625rem;
		padding-inline: 0.85rem;
	}

	.collection-catalog__meta {
		font-size: 0.75rem;
	}

	.collection-catalog__request {
		font-size: 0.75rem;
	}

	.bathroom-library__filters {
		display: grid;
		gap: 0.5rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: visible;
	}

	.bathroom-library__filters button {
		font-size: 0.625rem;
		padding-inline: 0.5rem;
		white-space: nowrap;
		width: 100%;
	}

	.collection-catalog__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 340px) {
	.thome-hero--immersive h1,
	.reference-hero h1,
	.collection-showcase__content h1,
	.application-detail__copy h1,
	.product-detail-hero__content h1,
	.page-intro h1,
	.editorial-single__header h1 {
		font-size: 2.15rem;
	}

	.reference-section-head h2,
	.reference-about h2,
	.reference-contact__intro h2,
	.application-detail__requirements h2,
	.application-detail__gallery h2,
	.application-detail__inputs h2,
	.application-detail__cta h2,
	.collection-final-cta h2 {
		font-size: 2rem;
	}

	.collection-catalog__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.site-header,
	.skip-link,
	.ht-ctc,
	.ht_ctc_chat_greetings_box {
		display: none !important;
	}

	body,
	.wp-site-blocks {
		overflow: visible;
	}
}
