/* Shared reference-calibrated brand shell; brand copy and media stay dynamic. */

.site-shell--brand {
	--brand-ink: #111;
	--brand-paper: #fff;
	--brand-hero-surface: #efedeb;
	--brand-media-surface: #f2f1f0;
	--brand-rule: #eeeeec;
	--brand-page-pad: clamp(1.5rem, 4.7vw, 4.25rem);
	--brand-copy-pad: clamp(1.5rem, 6.65vw, 6rem);
	max-width: 1440px;
	margin-inline: auto;
	border-inline: 1px solid #ececea;
	background: var(--brand-paper);
	color: var(--brand-ink);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.site-shell--brand :where(a, button):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.site-header--brand {
	position: relative;
	top: auto;
	z-index: 100;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	grid-template-areas: "nav mark actions";
	height: 96px;
	min-height: 96px;
	border-bottom: 1px solid var(--brand-rule);
	background: var(--brand-paper);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

body.admin-bar .site-header--brand { top: auto; }

.site-header--brand .site-nav {
	grid-area: nav;
	position: static;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: row;
	gap: clamp(1.75rem, 3.75vw, 3.4rem);
	padding: 0 0 0 var(--brand-copy-pad);
	border: 0;
	background: transparent;
}

.site-header--brand .menu-toggle { display: none; }

.site-header--brand .site-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	font-size: .72rem;
	font-weight: 450;
	letter-spacing: .025em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition: opacity .16s ease;
}

.site-header--brand .site-nav a:hover {
	background: transparent;
	color: inherit;
	opacity: .5;
}

.site-header--brand .site-mark {
	grid-area: mark;
	align-self: stretch;
	justify-content: center;
	padding: 0 1.5rem;
	border: 0;
	text-decoration: none;
}

.site-header--brand .site-mark__name {
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(2rem, 3.32vw, 2.75rem);
	font-weight: 400;
	letter-spacing: .035em;
	line-height: 1;
}

.site-header--brand .site-actions {
	grid-area: actions;
	align-items: center;
	justify-content: flex-end;
	padding: 0 var(--brand-page-pad) 0 0;
	border: 0;
}

.site-header--brand .site-cart {
	position: relative;
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	text-decoration: none;
}

.site-header--brand .site-cart__icon { width: 23px; height: 23px; }

.site-header--brand .site-cart__count {
	position: absolute;
	top: 2px;
	right: -1px;
	display: grid;
	min-width: 1rem;
	height: 1rem;
	padding: 0 .2rem;
	place-items: center;
	border-radius: 99px;
	background: var(--brand-ink);
	color: var(--brand-paper);
	font-size: .58rem;
	font-weight: 600;
	line-height: 1;
}

.site-header--brand .site-cart__count[data-count="0"] { display: none; }

.brand-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: clamp(340px, 38.7vw, 420px);
	min-height: 0;
	border: 0;
	background: var(--brand-hero-surface);
}

.brand-hero__copy {
	display: flex;
	min-width: 0;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	padding: 2.5rem var(--brand-copy-pad);
	transform: translateY(1.75rem);
}

.brand-hero h1 {
	max-width: 32rem;
	margin: 0 0 1.65rem;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.8rem, 3vw, 2.65rem);
	font-weight: 380;
	letter-spacing: -.015em;
	line-height: 1.08;
	text-wrap: balance;
	text-transform: uppercase;
}

.brand-hero__tagline {
	max-width: 30rem;
	margin: -.55rem 0 1.55rem;
	color: #545454;
	font-size: .88rem;
	font-weight: 400;
	line-height: 1.6;
}

.brand-hero__cta,
.brand-hero__cta.button {
	min-width: 10.4rem;
	min-height: 3.2rem;
	padding: .85rem 1.5rem;
	border: 1px solid var(--brand-ink);
	border-radius: 0;
	background: transparent;
	color: var(--brand-ink);
	font-size: .84rem;
	font-weight: 430;
	letter-spacing: .025em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .16s ease, color .16s ease;
}

.brand-hero__cta:hover,
.brand-hero__cta.button:hover {
	transform: none;
	background: var(--brand-ink);
	color: var(--brand-paper);
}

.brand-hero__media {
	position: relative;
	inset: auto;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border: 0;
	background: var(--brand-media-surface);
}

.brand-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
}

.brand-hero__fallback { background: #e9e6e3; }
.brand-hero__fallback::before,
.brand-hero__fallback::after { display: none; }

.brand-hero__fallback span {
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(2rem, 5vw, 4.5rem);
	font-weight: 400;
	letter-spacing: .06em;
}

.brand-products {
	padding: clamp(2.65rem, 4.4vw, 3.75rem) var(--brand-page-pad) 0;
	background: var(--brand-paper);
}

.brand-products + .brand-products { padding-top: clamp(2.35rem, 4vw, 3.5rem); }

.brand-products__heading {
	display: block;
	margin: 0 0 clamp(1.75rem, 3.2vw, 2.5rem);
	text-align: center;
}

.brand-products__heading h2 {
	margin: 0;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: .94rem;
	font-weight: 430;
	letter-spacing: .025em;
	line-height: 1.2;
	text-transform: uppercase;
}

.brand-products .woocommerce { width: 100%; }

.brand-products ul.products,
.woocommerce .brand-products ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2.15vw, 2rem);
	margin: 0;
	padding: 0;
}

.brand-products ul.products::before,
.brand-products ul.products::after { display: none; }

.brand-products ul.products li.product,
.woocommerce .brand-products ul.products li.product {
	float: none;
	min-width: 0;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--brand-ink);
}

.brand-products ul.products li.product a { color: inherit; text-decoration: none; }

.brand-products ul.products li.product a img,
.woocommerce .brand-products ul.products li.product a img {
	width: 100%;
	margin: 0 0 1rem;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: var(--brand-media-surface);
	transition: opacity .16s ease;
}

.brand-products ul.products li.product a:hover img,
.woocommerce .brand-products ul.products li.product a:hover img { opacity: .84; }

.brand-products ul.products li.product a:hover .woocommerce-loop-product__title,
.woocommerce .brand-products ul.products li.product a:hover .woocommerce-loop-product__title {
	text-decoration: underline;
	text-underline-offset: .18em;
}

.brand-products .woocommerce-loop-product__title,
.woocommerce .brand-products ul.products li.product .woocommerce-loop-product__title,
.woocommerce .brand-products ul.products li.product h2 {
	margin: 0 0 .68rem;
	padding: 0;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: .88rem;
	font-weight: 400;
	letter-spacing: -.005em;
	line-height: 1.4;
	text-transform: none;
}

.brand-products .price,
.woocommerce .brand-products ul.products li.product .price {
	display: block;
	margin: 0;
	color: var(--brand-ink);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: .88rem;
	font-weight: 400;
	line-height: 1.4;
}

.brand-products .price del { color: #777; opacity: 1; }
.brand-products .price ins { font-weight: 400; text-decoration: none; }
.brand-products .product-card__brand,
.brand-products .button,
.brand-products .added_to_cart,
.brand-products .onsale,
.brand-products .star-rating { display: none !important; }

.brand-about {
	display: block;
	margin: clamp(2rem, 3.25vw, 2.75rem) var(--brand-page-pad) 0;
	padding: 1.35rem 0 1.5rem;
	border: 0;
	background: var(--brand-paper);
	text-align: center;
}

.brand-about__relationship { display: block; }

.brand-about__relationship h2 {
	margin: 0 0 .62rem;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: .8rem;
	font-weight: 430;
	letter-spacing: .02em;
	line-height: 1.4;
	text-transform: uppercase;
}

.brand-about__relationship .text-link {
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .01em;
	line-height: 1.4;
	text-underline-offset: .18em;
}

.site-footer--brand {
	display: grid;
	grid-template-columns: 8rem minmax(0, 1fr);
	align-items: center;
	gap: 3rem;
	margin: 0 var(--brand-page-pad);
	padding: 1.25rem .25rem 1.6rem;
	border: 0;
	background: var(--brand-paper);
	color: var(--brand-ink);
}

.site-footer--brand .site-footer__brand {
	font-size: .86rem;
	font-weight: 430;
	letter-spacing: .025em;
	text-decoration: none;
	text-transform: uppercase;
	transition: opacity .16s ease;
}

.site-footer--brand .site-footer__brand:hover { opacity: .5; }

.site-footer--brand .site-footer__links {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: center;
	border: 0;
}

.site-footer--brand .site-footer__links a {
	padding: .6rem;
	border: 0;
	font-size: .66rem;
	font-weight: 430;
	letter-spacing: .015em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.site-footer--brand .site-footer__links a:hover {
	text-decoration: underline;
	text-underline-offset: .18em;
}

@media (max-width: 782px) {
	.site-shell--brand { --brand-page-pad: clamp(1.25rem, 4.7vw, 2.25rem); }

	.site-header--brand {
		grid-template-columns: 52px 1fr 52px;
		grid-template-areas: "menu mark actions";
		height: 68px;
		min-height: 68px;
	}

	.site-header--brand .menu-toggle {
		grid-area: menu;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 52px;
		padding: 0;
		border: 0;
	}

	.site-header--brand .menu-toggle > span:first-child { display: none; }
	.site-header--brand .site-mark { padding: 0 .75rem; }
	.site-header--brand .site-mark__name { max-width: none; font-size: 1.55rem; }
	.site-header--brand .site-actions { padding: 0; }
	.site-header--brand .site-cart { width: 52px; height: 52px; }
	.site-header--brand .site-cart__icon { width: 22px; height: 22px; }

	.site-header--brand .site-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		padding: 0;
		border: 0;
		background: var(--brand-paper);
		box-shadow: 0 12px 24px rgba(0, 0, 0, .06);
	}

	.site-header--brand .site-nav.is-open { display: flex; }

	.site-header--brand .site-nav a {
		display: flex;
		min-height: 48px;
		padding: 0 var(--brand-page-pad);
		border: 0;
	}

	.brand-hero {
		grid-template-columns: 1fr 1fr;
		height: clamp(300px, 44vw, 340px);
	}

	.brand-hero__copy {
		position: relative;
		z-index: auto;
		width: auto;
		height: auto;
		min-height: 0;
		padding: 2rem var(--brand-page-pad);
		transform: translateY(.75rem);
		background: transparent;
	}

	.brand-hero__media { position: relative; inset: auto; width: auto; height: auto; }
	.brand-hero h1 { margin-bottom: 1.4rem; font-size: clamp(1.4rem, 4.2vw, 2rem); }
	.brand-hero__tagline { display: none; }

	.brand-hero__cta,
	.brand-hero__cta.button {
		min-width: 8.5rem;
		min-height: 2.85rem;
		padding: .72rem 1rem;
		font-size: .74rem;
	}

	.brand-products ul.products,
	.woocommerce .brand-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem .85rem;
	}

	.site-footer--brand { grid-template-columns: 1fr; gap: .6rem; text-align: center; }
}

@media (max-width: 600px) {
	.site-shell--brand { --brand-page-pad: 1rem; --brand-copy-pad: 1rem; }

	.brand-hero {
		grid-template-columns: 1fr;
		grid-template-rows: minmax(220px, 72vw) auto;
		height: auto;
	}

	.brand-hero__media { grid-row: 1; }
	.brand-hero__copy { grid-row: 2; min-height: 210px; padding: 2.25rem 1rem 2.5rem; transform: none; }
	.brand-hero h1 { font-size: clamp(1.55rem, 7.5vw, 2rem); }
	.brand-products { padding-top: 2.4rem; }
	.brand-products + .brand-products { padding-top: 2.5rem; }
	.brand-products__heading { margin-bottom: 1.5rem; }

	.brand-products ul.products li.product a img,
	.woocommerce .brand-products ul.products li.product a img { margin-bottom: .75rem; }

	.brand-products .woocommerce-loop-product__title,
	.woocommerce .brand-products ul.products li.product .woocommerce-loop-product__title,
	.woocommerce .brand-products ul.products li.product h2,
	.brand-products .price,
	.woocommerce .brand-products ul.products li.product .price { font-size: .8rem; }

	.brand-about { margin-top: 2.25rem; }
	.site-footer--brand .site-footer__links { grid-template-columns: repeat(2, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.site-header--brand *,
	.brand-hero *,
	.brand-products *,
	.brand-about *,
	.site-footer--brand * { transition: none !important; }
}
