/*
 * Desktop proportion and typography refinement.
 * The 1200px lower bound deliberately leaves 360/390/430/768 layouts intact.
 * No zoom, transform scaling or business-state selectors are used here.
 */
@media (min-width: 1200px) {
	.container {
		width: min(1660px, calc(100vw - 80px));
	}

	.site-header.site-header--street {
		grid-template-columns: 138px minmax(0, 1fr) max-content;
		min-height: 86px;
		padding-inline: clamp(32px, 3vw, 56px);
		gap: clamp(24px, 2vw, 40px);
	}

	.wordmark.wordmark--brand {
		width: 138px;
		min-width: 138px;
		flex-basis: 138px;
	}

	.wordmark__logo {
		max-height: 82px;
	}

	.desktop-nav {
		gap: clamp(14px, 1.35vw, 28px);
	}

	.desktop-nav > a,
	.desktop-nav > .nav-dropdown > a {
		min-height: 58px;
		padding-inline: 12px;
		font-size: 17.5px;
		line-height: 1.25;
	}

	.nav-dropdown__menu a {
		min-height: 46px;
		padding: 12px 18px;
		font-size: 16px;
	}

	.site-header__actions a,
	.site-header__actions button {
		min-height: 48px;
		font-size: 16px;
	}

	.hero__lead {
		max-width: 640px;
		font-size: 21px;
		line-height: 1.8;
	}

	.button--primary,
	.store-search button {
		min-height: 60px;
		padding-inline: 28px;
		font-size: 15.5px;
		line-height: 1.2;
	}

	.store-search-shell {
		min-height: 72px;
	}

	.store-search input {
		min-height: 70px;
		padding-inline: 30px;
		font-size: 17.5px;
	}

	.section-heading p {
		max-width: 720px;
		font-size: 18px;
		line-height: 1.75;
	}

	.category-grid,
	.product-grid--showcase {
		gap: 20px;
	}

	.category-card {
		padding: 38px;
	}

	.category-card__body p {
		font-size: 16.5px;
		line-height: 1.7;
	}

	.product-card__body {
		min-height: 154px;
		padding: 20px 20px 22px;
	}

	.product-card__category,
	.product-card__tag {
		font-size: 14px;
	}

	.product-card__name {
		font-size: 17px;
		line-height: 1.45;
	}

	.product-card__price {
		font-size: 18px;
	}

	.product-card__cta {
		font-size: 14px;
	}

	.demo-notice {
		font-size: 15.5px;
		line-height: 1.7;
	}

	.service-layout {
		gap: 24px;
	}

	.service-card {
		padding: 28px;
		font-size: 17px;
	}

	.service-card strong,
	.service-copy .text-link {
		font-size: 18px;
	}

	.site-footer {
		font-size: 16px;
	}

	.site-footer__grid {
		gap: clamp(52px, 5vw, 88px);
	}

	.site-footer p,
	.site-footer a,
	.site-footer button {
		font-size: 15.5px;
		line-height: 1.8;
	}

	/* WooCommerce catalogue, search, member, cart and checkout screens. */
	main.woocommerce-section {
		padding-top: 138px;
		padding-bottom: 120px;
	}

	.woocommerce-section > .container {
		width: min(1660px, calc(100vw - 80px));
	}

	.woocommerce-section h1,
	.woocommerce-section .page-title {
		font-size: 40px;
		line-height: 1.2;
	}

	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-notices-wrapper,
	.woocommerce .woocommerce-info,
	.woocommerce .woocommerce-message,
	.woocommerce .woocommerce-error {
		font-size: 17px;
		line-height: 1.65;
	}

	.woocommerce .woocommerce-ordering select {
		min-height: 50px;
		padding-inline: 14px 38px;
		font-size: 16px;
	}

	.woocommerce ul.products {
		gap: 24px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		padding-block: 12px;
		font-size: 18px;
		line-height: 1.4;
	}

	.woocommerce ul.products li.product .price {
		font-size: 17.5px;
		line-height: 1.5;
	}

	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button {
		min-height: 50px;
		padding: 0 22px;
		font-size: 16.5px;
		line-height: 48px;
	}

	.woocommerce table.shop_table {
		font-size: 16.5px;
		line-height: 1.6;
	}

	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		padding: 14px 16px;
	}

	.woocommerce form .form-row label,
	.woocommerce form .form-row .required,
	.woocommerce-checkout-review-order,
	.cart_totals,
	.woocommerce-MyAccount-content,
	.woocommerce-MyAccount-navigation {
		font-size: 17px;
	}

	.woocommerce form .form-row input.input-text,
	.woocommerce form .form-row textarea,
	.woocommerce form .form-row select,
	.woocommerce .select2-container .select2-selection--single {
		min-height: 52px;
		padding: 10px 12px;
		font-size: 17px;
	}

	body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set {
		gap: 64px;
	}

	body.woocommerce-account:not(.logged-in) .woocommerce .u-columns h2 {
		margin-bottom: 22px;
		font-size: 30px;
		line-height: 1.25;
	}

	body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login,
	body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-register {
		padding: 28px;
	}

	body.woocommerce-account:not(.logged-in) .woocommerce button.woocommerce-button.button[name="login"],
	body.woocommerce-account:not(.logged-in) .woocommerce button.woocommerce-button.button[name="register"] {
		min-width: 138px;
		height: 54px;
		min-height: 54px;
		font-size: 17px;
		line-height: 1;
	}

	body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-privacy-policy-text {
		font-size: 16.5px;
		line-height: 1.8;
	}

	/* Policy documents keep readable line lengths while using desktop space. */
	body.page main.section > .container {
		width: min(1360px, calc(100vw - 80px));
	}

	body.page main.section article > h1 {
		max-width: 1180px;
	}

	.policy-document {
		max-width: 1180px;
		margin-top: 36px;
	}

	.policy-document__status,
	.policy-document__meta {
		padding: 22px 24px;
		font-size: 16.5px;
		line-height: 1.75;
	}

	.policy-document section {
		margin-top: 22px;
		padding: 38px 42px;
	}

	.policy-document h2 {
		font-size: 34px;
	}

	.policy-document h3 {
		font-size: 19px;
	}

	.policy-document p,
	.policy-document li {
		font-size: 17.5px;
		line-height: 1.85;
	}

	.policy-document__contact {
		gap: 12px 36px;
	}
}
