/* Home stylesheet bundle. Original source order and rules preserved. */

/* Source: style.css */
/**
 * Theme Name: Blocksy Child
 * Description: AngeliasEye black-gold storefront shell
 * Author: AngeliasEye
 * Template: blocksy
 * Text Domain: blocksy
 */

/* ae-home-content-gutter
   The block bands are full bleed by default; the client wants the content area
   inset from both edges so the page reads as a framed canvas. */
body.home .ae3-visual-blocks{
	padding-left:40px;
	padding-right:40px;
	background:#070707;
}
body.home .ae3-visual-blocks .ae3-visual-block{
	overflow:hidden;
}
@media (max-width:782px){
	body.home .ae3-visual-blocks{padding-left:16px;padding-right:16px}
}

body.home .ae3-visual-blocks .ae3-visual-block__media img{
	width:100% !important;
	height:100% !important;
	max-width:100% !important;
}


/* Source: assets/css/ae-base.css */
/*
 * AngeliasEye foundation layer.
 * Page-specific agents should compose on these tokens instead of redefining
 * the visual system.
 */

:root {
	--ae-ink: #080807;
	--ae-ink-soft: #171411;
	--ae-ivory: #f7f1ea;
	--ae-blush: #eee1d6;
	--ae-card: #fbf7f2;
	--ae-white: #fff;
	--ae-border: #d8cec4;
	--ae-border-dark: rgba(255, 255, 255, .18);
	--ae-text: #1b1713;
	--ae-muted: #746a61;
	--ae-gold: #b69a67;
	--ae-gold-light: #d1ba8a;
	--ae-success: #587360;
	--ae-shell-width: 1240px;
	--ae-gutter: clamp(20px, 4vw, 52px);
	--ae-radius: 0;
	--ae-shadow: 0 18px 44px rgba(27, 23, 19, .08);
	--ae-display: "Cormorant Garamond", "Playfair Display", Georgia, serif;
	--ae-body: "Montserrat", "Inter", Arial, sans-serif;
	--ae-ease: cubic-bezier(.2, .7, .2, 1);
}

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

html {
	scroll-behavior: smooth;
}

body.ae-theme {
	margin: 0;
	background: var(--ae-ivory);
	color: var(--ae-text);
	font-family: var(--ae-body);
	font-size: 14px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

body.ae-theme img {
	max-width: 100%;
	height: auto;
}

body.ae-theme a {
	color: inherit;
	text-decoration-thickness: .06em;
	text-underline-offset: .2em;
}

body.ae-theme button,
body.ae-theme input,
body.ae-theme select,
body.ae-theme textarea {
	font: inherit;
}

.ae-shell {
	width: min(100% - (var(--ae-gutter) * 2), var(--ae-shell-width));
	margin-inline: auto;
}

.screen-reader-text,
.ae-skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ae-skip-link:focus {
	z-index: 1000;
	top: 14px;
	left: 14px;
	width: auto;
	height: auto;
	padding: 9px 14px;
	margin: 0;
	clip: auto;
	background: var(--ae-gold);
	color: var(--ae-ink);
	font-weight: 700;
	text-decoration: none;
}

.ae-icon {
	display: inline-block;
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.35;
	stroke-linecap: round;
	stroke-linejoin: round;
	vertical-align: middle;
}

.ae-eyebrow {
	margin: 0 0 10px;
	color: var(--ae-gold);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .23em;
	line-height: 1.3;
	text-transform: uppercase;
}

.ae-section-title {
	margin: 0;
	color: var(--ae-text);
	font-family: var(--ae-display);
	font-size: clamp(34px, 4vw, 60px);
	font-weight: 400;
	letter-spacing: .015em;
	line-height: .98;
	text-transform: uppercase;
}

.ae-section-title + p {
	max-width: 560px;
	margin: 15px auto 0;
	color: var(--ae-muted);
}

.ae-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 24px;
	border: 1px solid var(--ae-ink);
	background: var(--ae-ink);
	color: var(--ae-white) !important;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background-color .25s var(--ae-ease), color .25s var(--ae-ease), border-color .25s var(--ae-ease), transform .25s var(--ae-ease);
}

.ae-btn:hover,
.ae-btn:focus-visible {
	border-color: var(--ae-gold);
	background: var(--ae-gold);
	color: var(--ae-ink) !important;
	transform: translateY(-1px);
}

.ae-btn--outline {
	background: transparent;
	color: var(--ae-ink) !important;
}

.ae-btn--outline:hover,
.ae-btn--outline:focus-visible {
	background: var(--ae-ink);
	color: var(--ae-white) !important;
}

.ae-btn--small {
	min-height: 40px;
	padding: 10px 16px;
}

.ae-field {
	width: 100%;
	min-height: 46px;
	padding: 11px 14px;
	border: 1px solid var(--ae-border);
	border-radius: 0;
	background: rgba(255, 255, 255, .55);
	color: var(--ae-text);
	outline: 0;
}

.ae-field:focus {
	border-color: var(--ae-gold);
	box-shadow: 0 0 0 2px rgba(182, 154, 103, .16);
}

/* Header */

.ae-site-header {
	position: relative;
	z-index: 100;
	background: var(--ae-ink);
	color: var(--ae-white);
}

.ae-site-header.is-scrolled {
	box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

.ae-utility-bar {
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	color: rgba(255, 255, 255, .68);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.ae-utility-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 28px;
	gap: 20px;
}

.ae-utility-bar p {
	margin: 0;
}

.ae-utility-bar__links {
	display: flex;
	gap: 10px;
}

.ae-utility-bar a {
	color: inherit;
	text-decoration: none;
}

.ae-utility-bar a:hover,
.ae-utility-bar a:focus-visible {
	color: var(--ae-gold-light);
}

.ae-brand-row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: 64px;
}

.ae-brand-lockup {
	justify-self: center;
}

.custom-logo-link {
	display: block;
}

.custom-logo {
	display: block;
	width: auto;
	max-width: 180px;
	max-height: 48px;
	object-fit: contain;
}

.ae-wordmark,
.ae-footer-brand__logo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ae-gold-light) !important;
	font-family: var(--ae-display);
	font-size: 22px;
	letter-spacing: .055em;
	line-height: 1;
	text-decoration: none !important;
	text-transform: uppercase;
}

.ae-wordmark__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	color: var(--ae-gold);
	font-size: 14px;
	transform: rotate(45deg);
}

.ae-wordmark__name {
	display: inline-block;
}

.ae-header-actions {
	display: flex;
	justify-self: end;
	align-items: center;
	gap: 8px;
}

.ae-header-action,
.ae-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ae-white);
	cursor: pointer;
	text-decoration: none;
}

.ae-header-action:hover,
.ae-header-action:focus-visible,
.ae-menu-toggle:hover,
.ae-menu-toggle:focus-visible {
	color: var(--ae-gold-light);
}

.ae-cart-action {
	position: relative;
}

.ae-cart-count {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 15px;
	height: 15px;
	padding: 0 3px;
	border-radius: 99px;
	background: var(--ae-gold);
	color: var(--ae-ink);
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
}

.ae-menu-toggle {
	display: none;
	justify-self: start;
}

.ae-nav-row {
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.ae-menu {
	display: block;
}

.ae-menu__list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(22px, 3.1vw, 48px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ae-menu__link {
	display: block;
	padding: 14px 0 15px;
	color: rgba(255, 255, 255, .82) !important;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .075em;
	line-height: 1.15;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: color .25s var(--ae-ease);
}

.ae-menu__item.is-current > .ae-menu__link,
.ae-menu__link:hover,
.ae-menu__link:focus-visible {
	color: var(--ae-gold-light) !important;
}

.ae-search-panel {
	border-top: 1px solid rgba(255, 255, 255, .1);
	background: var(--ae-ink-soft);
}

.ae-search-form {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 0;
}

.ae-search-form__input {
	flex: 1;
	min-height: 44px;
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .3);
	border-radius: 0;
	background: transparent;
	color: var(--ae-white);
	outline: 0;
}

.ae-search-form__input::placeholder {
	color: rgba(255, 255, 255, .52);
}

.ae-search-form__input:focus {
	border-color: var(--ae-gold);
}

.ae-search-form__close {
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ae-white);
	cursor: pointer;
}

.ae-mobile-nav[hidden],
.ae-search-panel[hidden] {
	display: none;
}

.ae-mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 300;
}

.ae-mobile-nav__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .52);
}

.ae-mobile-nav__panel {
	position: relative;
	width: min(86vw, 390px);
	height: 100%;
	padding: 24px;
	background: var(--ae-ivory);
	color: var(--ae-text);
	box-shadow: 18px 0 50px rgba(0, 0, 0, .2);
}

.ae-mobile-nav__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 22px;
}

.ae-mobile-nav__title {
	color: var(--ae-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.ae-mobile-nav .ae-header-action {
	color: var(--ae-ink);
}

.ae-mobile-nav .ae-menu__list {
	display: block;
}

.ae-mobile-nav .ae-menu__item {
	border-bottom: 1px solid var(--ae-border);
}

.ae-mobile-nav .ae-menu__link {
	padding: 14px 0;
	color: var(--ae-text) !important;
	font-size: 12px;
}

.ae-mobile-nav__meta {
	display: flex;
	gap: 18px;
	margin-top: 28px;
	color: var(--ae-muted);
	font-size: 11px;
}

body.ae-menu-is-open {
	overflow: hidden;
}

/* Shared product and content primitives */

.ae-product-card {
	position: relative;
	min-width: 0;
	border: 1px solid transparent;
	background: transparent;
	transition: border-color .25s var(--ae-ease), background-color .25s var(--ae-ease), transform .25s var(--ae-ease);
}

.ae-product-card:hover {
	border-color: var(--ae-border);
	background: var(--ae-card);
	transform: translateY(-2px);
}

.ae-product-card__media {
	position: relative;
	overflow: hidden;
	background: var(--ae-card);
}

.ae-product-card__image-link {
	display: block;
	aspect-ratio: 1 / 1.08;
}

.ae-product-card__image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform .6s var(--ae-ease);
}

.ae-product-card:hover .ae-product-card__image {
	transform: scale(1.035);
}

.ae-product-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 8px;
	background: var(--ae-ink);
	color: var(--ae-white);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ae-product-card__wishlist {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: rgba(247, 241, 234, .84);
	color: var(--ae-ink);
	cursor: pointer;
}

.ae-product-card__wishlist .ae-icon {
	width: 15px;
	height: 15px;
}

.ae-product-card__body {
	padding: 16px 12px 18px;
}

.ae-product-card__category {
	display: block;
	min-height: 16px;
	color: var(--ae-muted);
	font-size: 9px;
	letter-spacing: .12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.ae-product-card__category a {
	text-decoration: none;
}

.ae-product-card__title {
	margin: 5px 0;
	color: var(--ae-text) !important;
	font-family: var(--ae-display);
	font-size: 21px;
	font-weight: 500;
	line-height: 1.05;
}

.ae-product-card__title a {
	color: var(--ae-text) !important;
	text-decoration: none;
}

.ae-product-card__rating {
	min-height: 18px;
	color: var(--ae-gold);
	font-size: 11px;
}

.ae-product-card__rating .star-rating {
	float: none;
	display: inline-block;
	margin: 0;
}

.ae-product-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 11px;
}

.ae-price {
	color: var(--ae-text);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .03em;
}

.ae-price del {
	color: var(--ae-muted);
	font-weight: 400;
}

.ae-price ins {
	text-decoration: none;
}

.ae-card-add {
	display: inline-flex;
	align-items: center;
	min-height: 33px;
	padding: 8px 10px;
	border: 1px solid var(--ae-ink);
	background: var(--ae-ink);
	color: var(--ae-white) !important;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1;
	text-decoration: none !important;
	text-transform: uppercase;
}

.ae-card-add:hover,
.ae-card-add:focus-visible {
	border-color: var(--ae-gold);
	background: var(--ae-gold);
	color: var(--ae-ink) !important;
}

/* Footer */

.ae-newsletter-band {
	padding: 48px 0;
	background: var(--ae-blush);
}

.ae-newsletter-band__inner {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 34px;
}

.ae-newsletter-band h2 {
	max-width: 470px;
	margin: 0;
	font-family: var(--ae-display);
	font-size: clamp(30px, 4vw, 52px);
	font-weight: 400;
	line-height: .98;
}

.ae-newsletter-form {
	display: flex;
	align-items: center;
	width: min(100%, 440px);
	gap: 8px;
}

.ae-newsletter-form .ae-field {
	background: transparent;
}

.ae-site-footer {
	background: var(--ae-ink);
	color: rgba(255, 255, 255, .75);
}

.ae-site-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: clamp(26px, 4vw, 70px);
	padding-top: 58px;
	padding-bottom: 45px;
}

.ae-footer-brand__logo {
	margin-bottom: 18px;
}

.ae-footer-brand p {
	max-width: 280px;
	margin: 0;
	color: rgba(255, 255, 255, .55);
	font-size: 12px;
	line-height: 1.65;
}

.ae-footer-column h2 {
	margin: 4px 0 14px;
	color: var(--ae-gold-light);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .19em;
	text-transform: uppercase;
}

.ae-footer-menu .ae-menu__list {
	display: block;
}

.ae-footer-menu .ae-menu__link {
	padding: 4px 0;
	color: rgba(255, 255, 255, .61) !important;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .03em;
	text-transform: none;
}

.ae-footer-email {
	display: inline-block;
	margin-top: 14px;
	color: var(--ae-gold-light) !important;
	font-size: 11px;
	text-decoration: none;
}

.ae-social-links {
	display: flex;
	gap: 9px;
	margin-top: 23px;
}

.ae-social-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--ae-border-dark);
	color: var(--ae-gold-light);
	text-decoration: none;
}

.ae-social-links a:hover,
.ae-social-links a:focus-visible {
	border-color: var(--ae-gold);
	background: var(--ae-gold);
	color: var(--ae-ink);
}

.ae-social-links .ae-icon {
	width: 13px;
	height: 13px;
}

.ae-site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 16px;
	padding-bottom: 20px;
	border-top: 1px solid var(--ae-border-dark);
	color: rgba(255, 255, 255, .45);
	font-size: 9px;
	letter-spacing: .05em;
}

.ae-site-footer__bottom p {
	margin: 0;
}

.ae-payment-list {
	display: flex;
	align-items: center;
	gap: 9px;
	color: var(--ae-gold-light);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .05em;
}

@media (max-width: 860px) {
	.ae-brand-row {
		grid-template-columns: 1fr auto 1fr;
	}

	.ae-menu-toggle {
		display: inline-flex;
	}

	.ae-nav-row {
		display: none;
	}

	.ae-site-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	:root {
		--ae-gutter: 18px;
	}

	.ae-utility-bar__inner {
		min-height: 28px;
	}

	.ae-utility-bar__message {
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.ae-utility-bar__links {
		display: none;
	}

	.ae-brand-row {
		min-height: 64px;
	}

	.custom-logo {
		max-width: 145px;
		max-height: 40px;
	}

	.ae-wordmark {
		font-size: 16px;
		letter-spacing: .045em;
	}

	.ae-header-actions {
		gap: 1px;
	}

	.ae-header-action,
	.ae-menu-toggle {
		width: 34px;
		height: 34px;
	}

	.ae-search-form {
		flex-wrap: wrap;
	}

	.ae-search-form__input {
		flex: 1 1 calc(100% - 52px);
	}

	.ae-search-form .ae-btn {
		order: 3;
		width: 100%;
	}

	.ae-newsletter-band__inner,
	.ae-newsletter-form,
	.ae-site-footer__bottom {
		align-items: stretch;
		flex-direction: column;
	}

	.ae-newsletter-form {
		width: 100%;
	}

	.ae-site-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 34px 22px;
	}

	.ae-footer-brand {
		grid-column: 1 / -1;
	}

	.ae-payment-list {
		flex-wrap: wrap;
	}
}


/* Source: assets/css/ae-pages.css */
/*
 * AngeliasEye editorial page layer.
 * This file is intentionally limited to Agent B's home, about, routine,
 * journal and contact templates.
 */

.ae-page {
	overflow: clip;
	background: var(--ae-ivory);
}

.ae-section {
	padding: clamp(64px, 8vw, 104px) 0;
}

.ae-section--blush {
	background: var(--ae-blush);
}

.ae-lede {
	max-width: 430px;
	color: var(--ae-muted);
	font-size: 13px;
	line-height: 1.75;
}

.ae-section-heading {
	margin-bottom: 34px;
}

.ae-section-heading--center {
	text-align: center;
}

.ae-section-heading--split {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
}

.ae-text-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--ae-text) !important;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
	text-decoration: none !important;
	text-transform: uppercase;
}

.ae-text-link .ae-icon {
	width: 14px;
	height: 14px;
	transition: transform .2s var(--ae-ease);
}

.ae-text-link:hover .ae-icon,
.ae-text-link:focus-visible .ae-icon {
	transform: translateX(4px);
}

.ae-empty-state {
	padding: 48px 24px;
	border: 1px solid var(--ae-border);
	background: rgba(255, 255, 255, .35);
	text-align: center;
}

.ae-empty-state p {
	margin: 0 0 18px;
	color: var(--ae-muted);
}

.ae-empty-state--large {
	padding: clamp(70px, 10vw, 140px) 24px;
}

.ae-empty-state--large h2 {
	margin: 10px auto 14px;
	font-family: var(--ae-display);
	font-size: clamp(32px, 5vw, 62px);
	font-weight: 400;
	line-height: .98;
}

/* Home */

.ae-home-hero {
	background: var(--ae-blush);
}

.ae-home-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
	align-items: stretch;
	min-height: min(650px, calc(100vh - 125px));
}

.ae-home-hero__copy {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	padding: clamp(54px, 8vw, 110px) clamp(12px, 5vw, 72px) clamp(54px, 8vw, 100px) 0;
}

.ae-home-hero h1 {
	max-width: 570px;
	margin: 0 0 24px;
	font-family: var(--ae-display);
	font-size: clamp(52px, 6.1vw, 92px);
	font-weight: 400;
	letter-spacing: -.025em;
	line-height: .88;
	text-transform: uppercase;
}

.ae-home-hero__media {
	position: relative;
	overflow: hidden;
	min-height: 500px;
	background:
		radial-gradient(circle at 74% 24%, rgba(255, 255, 255, .82), transparent 24%),
		linear-gradient(145deg, #e9d9cc 0%, #d9c2af 100%);
}

.ae-home-hero__products {
	position: absolute;
	inset: 0;
}

.ae-home-hero__product {
	position: absolute;
	display: block;
	object-fit: contain;
	filter: drop-shadow(0 26px 22px rgba(52, 35, 25, .16));
	mix-blend-mode: multiply;
}

.ae-home-hero__product--1 {
	right: 1%;
	bottom: -5%;
	width: 52%;
	height: 82%;
}

.ae-home-hero__product--2 {
	left: 7%;
	bottom: -4%;
	width: 37%;
	height: 70%;
}

.ae-home-hero__product--3 {
	left: 27%;
	bottom: -13%;
	width: 35%;
	height: 54%;
}

.ae-home-hero__stamp {
	position: absolute;
	right: 22px;
	bottom: 22px;
	padding: 10px 12px;
	border: 1px solid rgba(255, 255, 255, .62);
	color: #fff;
	font-size: 10px;
	letter-spacing: .14em;
	line-height: 1.4;
	text-align: right;
}

.ae-home-hero__stamp small {
	font-size: 7px;
	letter-spacing: .18em;
}

.ae-icon-strip {
	background: var(--ae-card);
	border-bottom: 1px solid var(--ae-border);
}

.ae-icon-strip__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.ae-feature {
	display: flex;
	align-items: center;
	gap: 15px;
	min-height: 100px;
	padding: 15px 20px;
	border-right: 1px solid var(--ae-border);
}

.ae-feature:first-child {
	border-left: 1px solid var(--ae-border);
}

.ae-feature__symbol {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	flex: 0 0 35px;
	border: 1px solid var(--ae-gold);
	border-radius: 50%;
	color: var(--ae-gold);
	font-family: Georgia, serif;
	font-size: 19px;
	line-height: 1;
}

.ae-feature strong,
.ae-feature span:not(.ae-feature__symbol) {
	display: block;
}

.ae-feature strong {
	margin-bottom: 3px;
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.ae-feature span:not(.ae-feature__symbol) {
	color: var(--ae-muted);
	font-size: 10px;
	line-height: 1.45;
}

.ae-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
}

.ae-home-story__grid,
.ae-home-journal__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(32px, 7vw, 104px);
}

.ae-home-story__media {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #ddc5b3;
}

.ae-home-story__media img,
.ae-home-journal__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae-home-story__copy {
	max-width: 470px;
}

.ae-home-story h2,
.ae-home-journal h2 {
	margin: 0 0 20px;
	color: var(--ae-text);
	font-family: var(--ae-display);
	font-size: clamp(42px, 5vw, 72px);
	font-weight: 400;
	letter-spacing: -.02em;
	line-height: .93;
	text-transform: uppercase;
}

.ae-home-story p:not(.ae-eyebrow),
.ae-home-journal p:not(.ae-eyebrow) {
	margin: 0 0 24px;
	color: var(--ae-muted);
}

.ae-home-journal__media {
	position: relative;
	display: block;
	aspect-ratio: 1.22 / 1;
	overflow: hidden;
	background: #ded1c6;
	text-decoration: none !important;
}

.ae-home-journal__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, .62));
	content: "";
}

.ae-home-journal__media span {
	position: absolute;
	z-index: 1;
	right: 24px;
	bottom: 20px;
	left: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}

/* About */

.ae-page-hero {
	display: grid;
	min-height: 620px;
}

.ae-page-hero--split {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.ae-page-hero__media {
	min-height: 560px;
	background: #dec9ba;
}

.ae-page-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 560px;
	object-fit: cover;
	object-position: center;
}

.ae-page-hero__copy {
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: clamp(50px, 8vw, 110px);
	background: var(--ae-blush);
}

.ae-page-hero h1,
.ae-editorial-intro h1,
.ae-routine-hero h1 {
	margin: 0 0 18px;
	color: var(--ae-text);
	font-family: var(--ae-display);
	font-size: clamp(54px, 7vw, 100px);
	font-weight: 400;
	letter-spacing: -.025em;
	line-height: .86;
	text-transform: uppercase;
}

.ae-page-hero__lead {
	margin: 0 0 13px;
	font-family: var(--ae-display);
	font-size: clamp(25px, 3vw, 38px);
	line-height: 1;
}

.ae-page-hero__copy > p:not(.ae-eyebrow):not(.ae-page-hero__lead) {
	max-width: 485px;
	color: var(--ae-muted);
}

.ae-page-hero__copy .ae-btn {
	align-self: flex-start;
	margin-top: 13px;
}

.ae-philosophy {
	background: var(--ae-card);
}

.ae-philosophy__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid var(--ae-border);
	border-bottom: 1px solid var(--ae-border);
}

.ae-philosophy-card {
	min-height: 235px;
	padding: 24px 25px;
	border-right: 1px solid var(--ae-border);
}

.ae-philosophy-card:first-child {
	border-left: 1px solid var(--ae-border);
}

.ae-philosophy-card span {
	display: block;
	margin-bottom: 48px;
	color: var(--ae-gold);
	font-family: var(--ae-display);
	font-size: 28px;
}

.ae-philosophy-card strong {
	display: block;
	margin-bottom: 8px;
	font-family: var(--ae-display);
	font-size: 27px;
	font-weight: 500;
}

.ae-philosophy-card p {
	margin: 0;
	color: var(--ae-muted);
	font-size: 12px;
	line-height: 1.6;
}

.ae-promise__grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: clamp(35px, 7vw, 110px);
}

.ae-promise__copy {
	max-width: 460px;
}

.ae-promise h2 {
	margin: 0 0 20px;
	font-family: var(--ae-display);
	font-size: clamp(42px, 5vw, 74px);
	font-weight: 400;
	line-height: .92;
	text-transform: uppercase;
}

.ae-promise__copy > p:not(.ae-eyebrow) {
	color: var(--ae-muted);
}

.ae-promise__list {
	display: grid;
	gap: 8px;
	margin-top: 24px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.ae-promise__media {
	aspect-ratio: 1.45 / 1;
	overflow: hidden;
}

.ae-promise__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Routine */

.ae-routine-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.16fr) minmax(0, .84fr);
	min-height: 430px;
	background: var(--ae-blush);
}

.ae-routine-hero__image {
	min-height: 430px;
}

.ae-routine-hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 430px;
	object-fit: cover;
	object-position: center;
}

.ae-routine-hero__copy {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	padding: 48px clamp(28px, 6vw, 92px);
}

.ae-routine-hero h1 {
	font-size: clamp(44px, 5vw, 72px);
}

.ae-routine-hero__copy > p:not(.ae-eyebrow) {
	max-width: 370px;
	color: var(--ae-muted);
}

.ae-segmented-control {
	display: inline-flex;
	margin-top: 22px;
	border: 1px solid var(--ae-ink);
}

.ae-segmented-control button {
	min-width: 72px;
	min-height: 40px;
	border: 0;
	background: transparent;
	color: var(--ae-text);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
}

.ae-segmented-control button.is-active {
	background: var(--ae-ink);
	color: #fff;
}

.ae-routine-steps {
	background: var(--ae-card);
}

.ae-routine-steps__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.ae-routine-step {
	position: relative;
	padding: 0 15px 20px;
	border-left: 1px solid var(--ae-border);
}

.ae-routine-step:last-child {
	border-right: 1px solid var(--ae-border);
}

.ae-routine-step__number {
	margin-bottom: 17px;
	color: var(--ae-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
}

.ae-routine-step__media {
	display: block;
	height: 245px;
	margin: 0 -15px 19px;
	background: #f0e9e1;
	text-decoration: none !important;
}

.ae-routine-step__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ae-routine-step h3 {
	margin: 5px 0 8px;
	font-family: var(--ae-display);
	font-size: 25px;
	font-weight: 500;
	line-height: 1;
}

.ae-routine-step h3 a {
	text-decoration: none;
}

.ae-routine-step > p:last-child {
	margin: 0;
	color: var(--ae-muted);
	font-size: 12px;
	line-height: 1.55;
}

.ae-routine-cta {
	margin-top: 42px;
	text-align: center;
}

.ae-routine-benefits {
	background: var(--ae-blush);
	border-top: 1px solid var(--ae-border);
	border-bottom: 1px solid var(--ae-border);
}

.ae-routine-benefits__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.ae-routine-benefits__grid > div {
	display: grid;
	grid-template-columns: 42px 1fr;
	align-items: center;
	column-gap: 11px;
	padding: 21px 18px;
	border-right: 1px solid var(--ae-border);
}

.ae-routine-benefits__grid > div:first-child {
	border-left: 1px solid var(--ae-border);
}

.ae-routine-benefits .ae-feature__symbol {
	grid-row: span 2;
}

.ae-routine-benefits strong,
.ae-routine-benefits small {
	display: block;
}

.ae-routine-benefits strong {
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ae-routine-benefits small {
	color: var(--ae-muted);
	font-size: 10px;
}

/* Journal */

.ae-editorial-intro {
	padding: clamp(72px, 10vw, 132px) 0 40px;
	background: var(--ae-blush);
	text-align: center;
}

.ae-editorial-intro--compact {
	padding-bottom: 75px;
}

.ae-editorial-intro h1 {
	margin-bottom: 8px;
	font-size: clamp(56px, 8vw, 108px);
}

.ae-editorial-intro > .ae-shell > p:not(.ae-eyebrow) {
	margin: 0 auto;
	color: var(--ae-muted);
}

.ae-category-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 30px;
	margin-top: 45px;
}

.ae-category-tabs a {
	padding-bottom: 8px;
	color: var(--ae-muted);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}

.ae-category-tabs a.is-active,
.ae-category-tabs a:hover,
.ae-category-tabs a:focus-visible {
	border-bottom: 1px solid var(--ae-ink);
	color: var(--ae-text);
}

.ae-blog-grid-section {
	background: var(--ae-card);
}

.ae-blog-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}

.ae-article-card {
	min-width: 0;
}

.ae-article-card__media {
	display: block;
	aspect-ratio: 1.4 / 1;
	overflow: hidden;
	background: #ddd0c4;
}

.ae-article-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s var(--ae-ease);
}

.ae-article-card:hover .ae-article-card__media img {
	transform: scale(1.035);
}

.ae-article-card__body {
	padding: 20px 0 4px;
}

.ae-article-card__body h2 {
	margin: 6px 0 10px;
	font-family: var(--ae-display);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 500;
	line-height: .98;
}

.ae-article-card__body h2 a {
	text-decoration: none;
}

.ae-article-card__body > p:not(.ae-eyebrow) {
	max-width: 480px;
	margin: 0 0 16px;
	color: var(--ae-muted);
	font-size: 12px;
}

.ae-blog-small-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-top: 62px;
}

.ae-blog-small-grid .ae-article-card__body h2 {
	font-size: 28px;
}

/* Contact */

.ae-contact-content {
	background: var(--ae-card);
}

.ae-contact-content__grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: clamp(44px, 9vw, 145px);
}

.ae-contact-details {
	max-width: 410px;
}

.ae-contact-details h2 {
	margin: 0 0 18px;
	font-family: var(--ae-display);
	font-size: clamp(40px, 4.7vw, 65px);
	font-weight: 400;
	line-height: .94;
	text-transform: uppercase;
}

.ae-contact-details > p:not(.ae-eyebrow) {
	color: var(--ae-muted);
}

.ae-contact-list {
	display: grid;
	gap: 22px;
	margin-top: 34px;
}

.ae-contact-list > a,
.ae-contact-list > span {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	color: var(--ae-text);
	font-size: 12px;
	line-height: 1.55;
	text-decoration: none;
}

.ae-contact-list__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	flex: 0 0 29px;
	border: 1px solid var(--ae-gold);
	border-radius: 50%;
	color: var(--ae-gold);
	font-size: 13px;
}

.ae-contact-list small {
	display: block;
	margin-bottom: 2px;
	color: var(--ae-muted);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.ae-contact-social {
	display: flex;
	gap: 9px;
	margin-top: 34px;
}

.ae-contact-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 33px;
	height: 33px;
	border: 1px solid var(--ae-border);
	color: var(--ae-gold);
}

.ae-contact-social a:hover,
.ae-contact-social a:focus-visible {
	background: var(--ae-ink);
	border-color: var(--ae-ink);
	color: #fff;
}

.ae-contact-form-wrap {
	padding: clamp(26px, 4vw, 50px);
	background: var(--ae-ivory);
	border: 1px solid var(--ae-border);
}

.ae-contact-form,
.ae-form-grid {
	display: grid;
	gap: 19px;
}

.ae-form-grid {
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}

.ae-form-field {
	display: grid;
	gap: 7px;
	color: var(--ae-text);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ae-form-field textarea {
	resize: vertical;
}

.ae-contact-form .ae-btn {
	justify-self: start;
	min-width: 190px;
}

.ae-contact-map {
	padding: 0 0 clamp(64px, 8vw, 104px);
	background: var(--ae-card);
}

.ae-contact-map__frame {
	position: relative;
	min-height: 340px;
	overflow: hidden;
	background: #d6c6ba;
}

.ae-contact-map__frame > img {
	display: block;
	width: 100%;
	height: 340px;
	object-fit: cover;
	filter: saturate(.55) sepia(.1);
}

.ae-contact-map__card {
	position: absolute;
	right: 35px;
	bottom: 30px;
	width: min(300px, calc(100% - 40px));
	padding: 25px;
	background: rgba(251, 247, 242, .94);
}

.ae-contact-map__card strong {
	display: block;
	margin: 7px 0 8px;
	font-family: var(--ae-display);
	font-size: 28px;
	font-weight: 500;
}

.ae-contact-map__card p {
	margin: 0;
	color: var(--ae-muted);
	font-size: 12px;
}

@media (max-width: 980px) {
	.ae-home-hero__grid,
	.ae-page-hero--split,
	.ae-routine-hero {
		grid-template-columns: 1fr;
	}

	.ae-home-hero__copy {
		min-height: 430px;
		padding: 65px var(--ae-gutter);
	}

	.ae-home-hero__media,
	.ae-home-hero__media img,
	.ae-page-hero__media,
	.ae-page-hero__media img,
	.ae-routine-hero__image,
	.ae-routine-hero__image img {
		min-height: 420px;
	}

	.ae-page-hero__copy {
		min-height: 430px;
		padding: 64px var(--ae-gutter);
	}

	.ae-routine-hero__copy {
		min-height: 350px;
	}

	.ae-contact-content__grid {
		gap: 55px;
	}
}

@media (max-width: 760px) {
	.ae-section-heading--split {
		align-items: flex-start;
		flex-direction: column;
	}

	.ae-icon-strip__grid,
	.ae-philosophy__grid,
	.ae-routine-steps__grid,
	.ae-routine-benefits__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ae-feature {
		border-bottom: 1px solid var(--ae-border);
	}

	.ae-feature:nth-child(2n) {
		border-right: 0;
	}

	.ae-feature:nth-child(3),
	.ae-feature:nth-child(4) {
		border-bottom: 0;
	}

	.ae-home-story__grid,
	.ae-home-journal__grid,
	.ae-promise__grid,
	.ae-contact-content__grid {
		grid-template-columns: 1fr;
	}

	.ae-home-story__copy,
	.ae-contact-details {
		max-width: none;
	}

	.ae-home-journal__copy {
		order: 2;
	}

	.ae-home-journal__media {
		order: 1;
	}

	.ae-philosophy-card:nth-child(2n) {
		border-right: 0;
	}

	.ae-philosophy-card:nth-child(n + 3) {
		border-top: 1px solid var(--ae-border);
	}

	.ae-promise__media {
		order: -1;
	}

	.ae-routine-step {
		border-bottom: 1px solid var(--ae-border);
	}

	.ae-routine-step:nth-child(2n) {
		border-right: 0;
	}

	.ae-routine-step:nth-child(n + 3) {
		padding-top: 22px;
	}

	.ae-routine-step__media {
		height: 220px;
	}

	.ae-routine-benefits__grid > div:nth-child(2n) {
		border-right: 0;
	}

	.ae-routine-benefits__grid > div:nth-child(n + 3) {
		border-top: 1px solid var(--ae-border);
	}

	.ae-blog-feature-grid,
	.ae-blog-small-grid {
		grid-template-columns: 1fr;
	}

	.ae-blog-small-grid {
		margin-top: 40px;
	}

	.ae-contact-map__frame > img {
		height: 290px;
	}
}

@media (max-width: 520px) {
	.ae-home-hero h1,
	.ae-page-hero h1,
	.ae-editorial-intro h1 {
		font-size: clamp(47px, 15vw, 72px);
	}

	.ae-home-hero__copy,
	.ae-page-hero__copy {
		min-height: 390px;
		padding-top: 52px;
		padding-bottom: 52px;
	}

	.ae-home-hero__media,
	.ae-home-hero__media img,
	.ae-page-hero__media,
	.ae-page-hero__media img,
	.ae-routine-hero__image,
	.ae-routine-hero__image img {
		min-height: 330px;
	}

	.ae-icon-strip__grid,
	.ae-philosophy__grid,
	.ae-routine-steps__grid,
	.ae-routine-benefits__grid,
	.ae-form-grid {
		grid-template-columns: 1fr;
	}

	.ae-feature,
	.ae-philosophy-card,
	.ae-routine-step,
	.ae-routine-benefits__grid > div {
		border-right: 0 !important;
		border-left: 0 !important;
		border-bottom: 1px solid var(--ae-border);
	}

	.ae-feature:last-child,
	.ae-philosophy-card:last-child,
	.ae-routine-step:last-child,
	.ae-routine-benefits__grid > div:last-child {
		border-bottom: 0;
	}

	.ae-philosophy-card:nth-child(n + 3),
	.ae-routine-step:nth-child(n + 3),
	.ae-routine-benefits__grid > div:nth-child(n + 3) {
		border-top: 0;
	}

	.ae-philosophy-card span {
		margin-bottom: 22px;
	}

	.ae-routine-hero__copy {
		min-height: 340px;
		padding: 50px var(--ae-gutter);
	}

	.ae-category-tabs {
		gap: 10px 18px;
		margin-top: 33px;
	}

	.ae-contact-form-wrap {
		padding: 23px 18px;
	}

	.ae-contact-map__card {
		right: 20px;
		bottom: 20px;
		left: 20px;
		width: auto;
	}
}


/* Source: assets/css/ae-woocommerce.css */
/*
 * AngeliasEye WooCommerce layer.
 * The templates keep WooCommerce hooks and stateful markup; this file only
 * supplies the editorial storefront presentation.
 */

.ae-woo-page,
.ae-cart-page,
.ae-checkout-page,
.ae-thankyou-page {
	padding: 76px 0 96px;
}

.ae-woo-page .woocommerce-breadcrumb,
.ae-single-product .woocommerce-breadcrumb {
	margin: 0 auto 28px;
	width: min(100% - (var(--ae-gutter) * 2), var(--ae-shell-width));
	color: var(--ae-muted);
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.ae-archive-header,
.ae-page-intro {
	padding: 0 0 58px;
	text-align: center;
}

.ae-archive-header__description {
	max-width: 560px;
	margin: 18px auto 0;
	color: var(--ae-muted);
	font-size: 13px;
}

.ae-shop-layout {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: clamp(28px, 5vw, 76px);
	align-items: start;
}

.ae-shop-sidebar {
	position: sticky;
	top: 30px;
	padding-right: 24px;
	border-right: 1px solid var(--ae-border);
}

.ae-shop-sidebar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 28px;
}

.ae-shop-sidebar__head .ae-eyebrow {
	margin: 0;
}

.ae-filter-close,
.ae-filter-toggle {
	display: none;
}

.ae-filter-group {
	padding: 0 0 25px;
	margin: 0 0 25px;
	border: 0;
	border-bottom: 1px solid var(--ae-border);
}

.ae-filter-group legend {
	padding: 0;
	margin-bottom: 13px;
	color: var(--ae-text);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.ae-filter-select {
	position: relative;
	display: block;
}

.ae-filter-select select,
.ae-filter-price input {
	width: 100%;
	min-height: 40px;
	border: 1px solid var(--ae-border);
	border-radius: 0;
	background: transparent;
	color: var(--ae-text);
	font-size: 11px;
}

.ae-filter-select select {
	padding: 8px 10px;
}

.ae-filter-options {
	display: grid;
	gap: 8px;
}

.ae-filter-options label {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--ae-muted);
	font-size: 11px;
}

.ae-filter-options input {
	accent-color: var(--ae-gold);
}

.ae-filter-price {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.ae-filter-price label {
	display: grid;
	gap: 4px;
	color: var(--ae-muted);
	font-size: 10px;
}

.ae-filter-price input {
	padding: 8px;
}

.ae-filter-actions {
	display: grid;
	gap: 12px;
}

.ae-filter-actions .ae-btn {
	width: 100%;
}

.ae-filter-reset {
	color: var(--ae-muted);
	font-size: 10px;
	letter-spacing: .12em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.ae-filter-reset:hover {
	color: var(--ae-gold);
}

.ae-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 42px;
	margin-bottom: 24px;
}

.ae-shop-toolbar__native {
	flex: 1;
}

.ae-shop-toolbar__native .woocommerce-notices-wrapper {
	margin-bottom: 12px;
}

.ae-shop-toolbar__native .woocommerce-result-count {
	float: left;
	margin: 9px 0;
	color: var(--ae-muted);
	font-size: 11px;
}

.ae-shop-toolbar__native .woocommerce-ordering {
	float: right;
	margin: 0;
}

.ae-shop-toolbar__native .orderby {
	min-height: 38px;
	padding: 8px 32px 8px 12px;
	border: 1px solid var(--ae-border);
	border-radius: 0;
	background: transparent;
	color: var(--ae-text);
	font-size: 10px;
	letter-spacing: .06em;
}

.ae-shop-results .products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px 20px;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none;
}

.ae-shop-results .products::before,
.ae-shop-results .products::after {
	display: none !important;
}

.ae-product-card {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.ae-product-card__inner {
	height: 100%;
	padding-bottom: 18px;
	background: var(--ae-card);
}

.ae-product-card__inner > figure {
	position: relative;
	overflow: hidden;
	padding: 0;
	margin: 0;
	background: #efe7df;
}

.ae-product-card__inner > figure img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.12;
	object-fit: cover;
	transition: transform .45s var(--ae-ease);
}

.ae-product-card:hover .ae-product-card__inner > figure img {
	transform: scale(1.035);
}

.ae-product-card__inner > .woocommerce-loop-product__title {
	padding: 0 16px;
	margin: 17px 0 5px;
	color: var(--ae-text) !important;
	font-family: var(--ae-display);
	font-size: 21px;
	font-weight: 500;
	line-height: 1.05;
}

.ae-product-card__inner > .woocommerce-loop-product__title a {
	color: var(--ae-text) !important;
	text-decoration: none;
}

.ae-product-card__inner > .entry-meta {
	padding: 0 16px;
	margin: 0 0 10px;
	list-style: none;
}

.ae-product-card__inner > .entry-meta li {
	color: var(--ae-muted);
	font-size: 9px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ae-product-card__inner > .entry-meta a {
	text-decoration: none;
}

.ae-product-card__inner > .ct-woo-card-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 36px;
	padding: 0 16px;
}

.ae-product-card__inner > .ct-woo-card-actions .price {
	color: var(--ae-text);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .03em;
}

.ae-product-card__inner > .ct-woo-card-actions .price del {
	color: var(--ae-muted);
	font-weight: 400;
}

.ae-product-card__inner > .ct-woo-card-actions .price ins {
	text-decoration: none;
}

.ae-product-card__inner > .ct-woo-card-actions .add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 8px 12px;
	border: 1px solid var(--ae-ink);
	background: var(--ae-ink);
	color: var(--ae-white) !important;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	text-decoration: none;
	text-transform: uppercase;
}

.ae-product-card__inner > .ct-woo-card-actions .add_to_cart_button:hover,
.ae-product-card__inner > .ct-woo-card-actions .add_to_cart_button:focus-visible {
	border-color: var(--ae-gold);
	background: var(--ae-gold);
	color: var(--ae-ink) !important;
}

.ae-shop-results .products .product-category {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	background: var(--ae-card);
}

.ae-shop-results .products .product-category figure {
	margin: 0;
	background: #efe7df;
}

.ae-shop-results .products .product-category figure img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.12 !important;
	object-fit: cover;
}

.ae-shop-results .products .product-category h2 {
	padding: 18px 16px 20px;
	margin: 0;
	font-family: var(--ae-display);
	font-size: 22px;
	font-weight: 400;
}

.ae-shop-results .products .product-category h2 a {
	text-decoration: none;
}

.ae-product-card__media {
	position: relative;
	overflow: hidden;
	background: #efe7df;
}

.ae-product-card__media > a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.ae-product-card__media .onsale {
	position: absolute;
	z-index: 2;
	top: 12px;
	left: 12px;
	padding: 5px 8px;
	background: var(--ae-ink);
	color: var(--ae-white);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ae-product-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.12;
	object-fit: cover;
	transition: transform .45s var(--ae-ease);
}

.ae-product-card:hover .ae-product-card__media img {
	transform: scale(1.035);
}

.ae-product-card__body {
	padding: 17px 4px 0;
}

.ae-product-card__category {
	min-height: 16px;
	color: var(--ae-muted);
	font-size: 9px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ae-product-card__category a {
	text-decoration: none;
}

.ae-product-card__title {
	margin: 6px 0;
	color: var(--ae-text) !important;
	font-family: var(--ae-display);
	font-size: 21px;
	font-weight: 500;
	line-height: 1.05;
}

.ae-product-card__title a {
	color: var(--ae-text) !important;
	text-decoration: none;
}

.ae-product-card__details {
	min-height: 24px;
	color: var(--ae-muted);
}

.ae-product-card__details .star-rating {
	float: none;
	display: inline-block;
	margin: 0 7px 0 0;
	color: var(--ae-gold);
	font-size: 11px;
}

.ae-product-card__details .price {
	color: var(--ae-text);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .03em;
}

.ae-product-card__details .price del {
	color: var(--ae-muted);
	font-weight: 400;
}

.ae-product-card__details .price ins {
	text-decoration: none;
}

.ae-product-card__footer {
	display: flex;
	align-items: center;
	min-height: 42px;
	margin-top: 9px;
}

.ae-product-card__footer .add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 8px 12px;
	border: 1px solid var(--ae-ink);
	background: var(--ae-ink);
	color: var(--ae-white) !important;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	text-decoration: none;
	text-transform: uppercase;
}

.ae-product-card__footer .add_to_cart_button:hover,
.ae-product-card__footer .add_to_cart_button:focus-visible {
	border-color: var(--ae-gold);
	background: var(--ae-gold);
	color: var(--ae-ink) !important;
}

.ae-product-card__footer .added_to_cart {
	margin-left: 10px;
	color: var(--ae-muted);
	font-size: 10px;
}

.woocommerce nav.woocommerce-pagination {
	margin-top: 48px;
	text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 7px;
	padding: 0;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--ae-border);
	color: var(--ae-text);
	font-size: 10px;
	text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--ae-ink);
	background: var(--ae-ink);
	color: var(--ae-white);
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	padding: 15px 18px;
	margin: 0 0 24px;
	border: 1px solid var(--ae-border);
	border-top: 2px solid var(--ae-gold);
	background: rgba(255, 255, 255, .38);
	color: var(--ae-text);
	font-size: 12px;
	list-style: none;
}

.woocommerce-error {
	border-top-color: #9a4f44;
}

.ae-single-product {
	padding-top: 36px;
	padding-bottom: 92px;
}

.ae-single-product__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	gap: clamp(36px, 7vw, 104px);
	align-items: start;
}

.ae-single-product__gallery {
	min-width: 0;
}

.ae-single-product__gallery .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
}

.ae-single-product__gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.ae-single-product__gallery .woocommerce-product-gallery__image {
	background: #efe7df;
}

.ae-single-product__gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.ae-single-product__gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px !important;
}

.ae-single-product__gallery .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
}

.ae-single-product__gallery .flex-control-thumbs img {
	opacity: .65;
	background: #efe7df;
	cursor: pointer;
	transition: opacity .2s ease;
}

.ae-single-product__gallery .flex-control-thumbs .flex-active,
.ae-single-product__gallery .flex-control-thumbs img:hover {
	opacity: 1;
}

.ae-single-product__summary {
	padding-top: 18px;
}

.ae-single-product__summary .product_title {
	margin: 0 0 12px;
	color: var(--ae-text) !important;
	font-family: var(--ae-display);
	font-size: clamp(36px, 3.3vw, 52px);
	font-weight: 400;
	line-height: .95;
}

.ae-single-product__summary .woocommerce-product-rating {
	margin: 0 0 18px;
	color: var(--ae-gold);
	font-size: 11px;
}

.ae-single-product__summary .star-rating {
	float: none;
	display: inline-block;
	margin-right: 8px;
}

.ae-single-product__summary .price {
	margin: 0 0 22px;
	color: var(--ae-text);
	font-size: 18px;
	font-weight: 600;
}

.ae-single-product__summary .price del {
	color: var(--ae-muted);
	font-weight: 400;
}

.ae-single-product__summary .price ins {
	text-decoration: none;
}

.ae-single-product__summary .woocommerce-product-details__short-description {
	margin: 0 0 25px;
	color: var(--ae-muted);
	font-size: 13px;
}

.ae-single-product__summary form.cart {
	padding: 22px 0;
	margin: 0;
	border-top: 1px solid var(--ae-border);
	border-bottom: 1px solid var(--ae-border);
}

.ae-single-product__summary form.cart .quantity {
	margin-right: 8px !important;
}

.ae-single-product__summary form.cart .qty,
.ae-single-product__summary .quantity .qty {
	width: 70px;
	min-height: 46px;
	padding: 8px;
	border: 1px solid var(--ae-border);
	border-radius: 0;
	background: transparent;
	text-align: center;
}

.ae-single-product__summary form.cart .single_add_to_cart_button {
	min-height: 46px;
	border: 1px solid var(--ae-ink);
	border-radius: 0;
	background: var(--ae-ink);
	color: var(--ae-white);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.ae-single-product__summary form.cart .single_add_to_cart_button:hover {
	background: var(--ae-gold);
	color: var(--ae-ink);
}

.ae-single-product__summary .product_meta {
	padding-top: 20px;
	color: var(--ae-muted);
	font-size: 10px;
}

.ae-single-product__summary .product_meta > span {
	display: block;
	margin-top: 6px;
}

.ae-single-product__below {
	padding-top: 74px;
}

.ae-product-tabs {
	border-top: 1px solid var(--ae-border);
	border-bottom: 1px solid var(--ae-border);
}

.ae-product-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(18px, 4vw, 52px);
}

.ae-product-tabs__nav button {
	min-height: 54px;
	padding: 0;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: var(--ae-muted);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	cursor: pointer;
}

.ae-product-tabs__nav button.is-active {
	border-bottom-color: var(--ae-ink);
	color: var(--ae-text);
}

.ae-product-tabs__panel {
	max-width: 820px;
	padding: 24px 0 30px;
	color: var(--ae-muted);
	font-size: 13px;
}

.ae-product-tabs__panel p {
	margin: 0;
}

.ae-single-product__below .woocommerce-tabs {
	padding-top: 0;
	border-top: 1px solid var(--ae-border);
}

.ae-single-product__below .wc-tabs {
	display: flex;
	gap: 28px;
	padding: 0;
	margin: 0 0 28px;
	border: 0;
	list-style: none;
}

.ae-single-product__below .wc-tabs li {
	padding: 25px 0 0;
	border: 0;
	background: transparent;
}

.ae-single-product__below .wc-tabs li a {
	color: var(--ae-muted);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}

.ae-single-product__below .wc-tabs li.active a,
.ae-single-product__below .wc-tabs li a:hover {
	color: var(--ae-text);
}

.ae-single-product__below .woocommerce-Tabs-panel {
	max-width: 820px;
	color: var(--ae-muted);
	font-size: 13px;
}

.ae-single-product__below .related,
.ae-single-product__below .upsells {
	padding-top: 70px;
	margin-top: 70px;
	border-top: 1px solid var(--ae-border);
}

.ae-single-product__below .related > h2,
.ae-single-product__below .upsells > h2 {
	margin-bottom: 28px;
	color: var(--ae-text) !important;
	font-family: var(--ae-display);
	font-size: 36px;
	font-weight: 400;
}

.ae-single-product__below .related ul.products,
.ae-single-product__below .upsells ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ae-cart-table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
}

.ae-cart-table thead th {
	padding: 0 12px 14px;
	border-bottom: 1px solid var(--ae-ink);
	color: var(--ae-muted);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;
	text-align: left;
	text-transform: uppercase;
}

.ae-cart-table tbody td {
	padding: 20px 12px;
	border-bottom: 1px solid var(--ae-border);
	vertical-align: middle;
	font-size: 12px;
}

.ae-cart-table .product-thumbnail {
	width: 88px;
	padding-left: 0;
}

.ae-cart-table .product-thumbnail img {
	display: block;
	width: 72px;
	aspect-ratio: 1;
	object-fit: cover;
	background: #efe7df;
}

.ae-cart-table .product-name {
	min-width: 190px;
	font-family: var(--ae-display);
	font-size: 21px;
}

.ae-cart-table .product-name a {
	text-decoration: none;
}

.ae-cart-table .product-name dl,
.ae-cart-table .product-name p {
	margin: 5px 0 0;
	font-family: var(--ae-body);
	color: var(--ae-muted);
	font-size: 10px;
}

.ae-cart-table .product-price,
.ae-cart-table .product-subtotal {
	white-space: nowrap;
}

.ae-quantity-control {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--ae-border);
}

.ae-quantity-control__button {
	width: 29px;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ae-text);
	cursor: pointer;
}

.ae-quantity-control__button:hover {
	background: var(--ae-blush);
}

.ae-quantity-control .quantity {
	margin: 0 !important;
}

.ae-quantity-control .qty {
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ae-text);
	text-align: center;
}

.ae-cart-table .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: var(--ae-muted);
	font-size: 21px;
	text-decoration: none;
}

.ae-cart-table .remove:hover {
	color: #9a4f44;
}

.ae-cart-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 24px 0 !important;
	border-bottom: 0 !important;
}

.ae-cart-actions .coupon {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ae-cart-actions .coupon .ae-field {
	width: 180px;
	min-height: 40px;
}

.ae-cart-collaterals {
	display: flex;
	justify-content: flex-end;
	padding-top: 30px;
}

.ae-cart-collaterals .cart_totals {
	width: min(100%, 390px);
	padding: 28px;
	background: var(--ae-blush);
}

.ae-cart-collaterals h2 {
	margin: 0 0 20px;
	font-family: var(--ae-display);
	font-size: 32px;
	font-weight: 400;
}

.ae-cart-collaterals table {
	width: 100%;
	border: 0;
}

.ae-cart-collaterals th,
.ae-cart-collaterals td {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid rgba(27, 23, 19, .14);
	font-size: 12px;
	text-align: left;
}

.ae-cart-collaterals td {
	text-align: right;
}

.ae-cart-collaterals .wc-proceed-to-checkout {
	padding: 18px 0 0;
}

.ae-cart-collaterals .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	background: var(--ae-ink);
	color: var(--ae-white) !important;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-decoration: none;
	text-transform: uppercase;
}

.ae-checkout-form {
	display: block !important;
	width: 100% !important;
	padding-top: 4px;
}

.ae-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
	gap: clamp(30px, 5vw, 76px);
	align-items: start;
}

.ae-checkout-panel {
	padding: 28px;
	background: rgba(255, 255, 255, .42);
}

.ae-checkout-review-panel {
	position: sticky;
	top: 24px;
	background: var(--ae-blush);
}

.ae-checkout-panel h2 {
	margin: 0 0 25px;
	color: var(--ae-text) !important;
	font-family: var(--ae-display);
	font-size: 32px;
	font-weight: 400;
}

.ae-checkout-panel .form-row {
	float: none !important;
	width: 100% !important;
	margin-bottom: 16px;
}

.ae-checkout-panel .woocommerce-billing-fields__field-wrapper,
.ae-checkout-panel .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}

.ae-checkout-panel .form-row-wide,
.ae-checkout-panel #billing_company_field,
.ae-checkout-panel #shipping_company_field,
.ae-checkout-panel #billing_country_field,
.ae-checkout-panel #shipping_country_field,
.ae-checkout-panel #billing_address_1_field,
.ae-checkout-panel #billing_address_2_field,
.ae-checkout-panel #shipping_address_1_field,
.ae-checkout-panel #shipping_address_2_field,
.ae-checkout-panel #billing_email_field,
.ae-checkout-panel #billing_phone_field,
.ae-checkout-panel #shipping_phone_field {
	grid-column: 1 / -1;
}

.ae-checkout-panel label {
	display: block;
	margin-bottom: 6px;
	color: var(--ae-text);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ae-checkout-panel input.input-text,
.ae-checkout-panel select,
.ae-checkout-panel textarea {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--ae-border);
	border-radius: 0;
	background: rgba(255, 255, 255, .65);
	color: var(--ae-text);
}

.ae-checkout-panel textarea {
	min-height: 110px;
}

.ae-checkout-panel input:focus,
.ae-checkout-panel select:focus,
.ae-checkout-panel textarea:focus {
	border-color: var(--ae-gold);
	outline: 0;
}

.ae-checkout-panel .woocommerce-additional-fields,
.ae-checkout-panel .woocommerce-account-fields {
	margin-top: 28px;
}

.ae-checkout-panel .woocommerce-shipping-fields .shipping_address {
	display: none;
}

.ae-checkout-panel .woocommerce-shipping-fields:has(#ship-to-different-address-checkbox:checked) .shipping_address {
	display: block;
}

.ae-checkout-panel .woocommerce-checkout-review-order-table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
}

.ae-checkout-panel .woocommerce-checkout-review-order-table th,
.ae-checkout-panel .woocommerce-checkout-review-order-table td {
	padding: 11px 0;
	border: 0;
	border-bottom: 1px solid rgba(27, 23, 19, .14);
	font-size: 11px;
	text-align: left;
}

.ae-checkout-panel .woocommerce-checkout-review-order-table td {
	text-align: right;
}

.ae-checkout-panel .woocommerce-checkout-review-order-table .product-name {
	font-family: var(--ae-body);
	font-size: 11px;
}

.ae-checkout-panel #payment {
	padding: 20px 0 0;
	background: transparent;
}

.ae-checkout-panel #payment ul.payment_methods {
	padding: 0 0 16px;
	border-bottom: 1px solid rgba(27, 23, 19, .14);
}

.ae-checkout-panel #payment .place-order {
	padding: 16px 0 0;
	margin: 0;
}

.ae-checkout-panel #payment .button,
.ae-checkout-panel #place_order {
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--ae-ink);
	border-radius: 0;
	background: var(--ae-ink);
	color: var(--ae-white);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.ae-thankyou-page {
	max-width: 760px;
	padding-top: 96px;
	text-align: center;
}

.ae-thankyou-mark {
	margin-bottom: 12px;
	color: var(--ae-gold);
	font-size: 28px;
}

.ae-thankyou-page h1 {
	max-width: 650px;
	margin: 0 auto 18px;
	color: var(--ae-text) !important;
	font-family: var(--ae-display);
	font-size: clamp(48px, 7vw, 86px);
	font-weight: 400;
	line-height: .9;
	text-transform: uppercase;
}

.ae-thankyou-copy {
	max-width: 460px;
	margin: 0 auto 28px;
	color: var(--ae-muted);
	font-size: 13px;
}

.ae-thankyou-actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
}

.ae-order-summary {
	max-width: 620px;
	padding: 32px;
	margin: 58px auto 0;
	border: 1px solid var(--ae-border);
	text-align: left;
}

.ae-order-summary h2 {
	color: var(--ae-text) !important;
	margin: 0 0 24px;
	font-family: var(--ae-display);
	font-size: 32px;
	font-weight: 400;
}

.ae-order-meta {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	padding-bottom: 22px;
	margin: 0 0 18px;
	border-bottom: 1px solid var(--ae-border);
}

.ae-order-meta div {
	display: grid;
	gap: 4px;
}

.ae-order-meta dt {
	color: var(--ae-muted);
	font-size: 9px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.ae-order-meta dd {
	margin: 0;
	font-size: 12px;
}

.ae-order-items {
	display: grid;
	gap: 12px;
}

.ae-order-item {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(216, 206, 196, .7);
	font-size: 12px;
}

.ae-order-item small {
	color: var(--ae-muted);
}

/*
 * Catalogue density
 *
 * Luxury skincare catalogues give the pack shot most of the card and keep
 * product names in a restrained 16–19px range. The production catalogue has
 * several unusually long imported names, so keep a three-line editorial
 * measure instead of allowing headings to become the dominant visual block.
 */
.ae-shop-layout {
	width: min(calc(100% - (var(--ae-gutter) * 2)), 1500px);
	grid-template-columns: 210px minmax(0, 1fr);
	gap: clamp(36px, 3.5vw, 58px);
}

.ae-shop-sidebar {
	padding-right: 20px;
}

.ae-filter-group legend {
	font-size: 11px;
	letter-spacing: .14em;
}

.ae-filter-select select,
.ae-filter-price input {
	font-size: 13px;
}

.ae-filter-options {
	gap: 10px;
}

.ae-filter-options label {
	gap: 9px;
	font-size: 12px;
	line-height: 1.35;
}

.ae-filter-options input {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
}

.ae-filter-group--ingredients .ae-filter-options {
	max-height: 230px;
	padding-right: 8px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--ae-border) transparent;
}

.ae-shop-results .products {
	gap: 34px 18px;
}

.ae-shop-results .products > .ae-product-card,
.ae-single-product__below ul.products > .ae-product-card {
	padding: 0 !important;
	border: 1px solid rgba(216, 206, 196, .72);
	background: #fbf8f4;
}

.ae-product-card__inner {
	display: flex;
	width: 100%;
	height: 100%;
	padding-bottom: 16px;
	flex-direction: column;
	background: #fbf8f4;
}

.ae-product-card__inner > figure {
	width: 100% !important;
	max-width: 100%;
	margin: 0 !important;
	background: #f4eee8;
}

.ae-product-card__inner > figure img {
	aspect-ratio: 1 / 1.03;
	object-fit: contain;
}

.ae-product-card__inner > .woocommerce-loop-product__title {
	display: -webkit-box;
	min-height: 62px;
	padding: 0 15px;
	margin: 15px 0 7px;
	overflow: hidden;
	color: var(--ae-text) !important;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.22;
	text-wrap: balance;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ae-product-card__inner > .entry-meta {
	min-height: 34px;
	padding: 0 15px;
	margin: 0 0 13px;
	overflow: hidden;
}

.ae-product-card__inner > .entry-meta li {
	display: -webkit-box;
	overflow: hidden;
	font-size: 9px;
	letter-spacing: .1em;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ae-product-card__inner > .ct-woo-card-actions {
	width: 100% !important;
	min-height: 42px;
	padding: 0 15px;
	margin: auto 0 0 !important;
	gap: 12px;
}

.ae-product-card__inner > .ct-woo-card-actions .price {
	flex: 1 1 auto;
	padding: 0;
	font-size: 13px;
	line-height: 1.3;
	white-space: nowrap;
}

.ae-product-card__inner > .ct-woo-card-actions .add_to_cart_button {
	flex: 0 0 auto;
	min-width: 108px;
	min-height: 38px;
	padding: 10px 14px;
	border-radius: 0 !important;
	font-size: 9px;
	line-height: 1;
	white-space: nowrap;
}

/* Keep utility widgets from covering catalogue controls. */
.woocommerce-store-notice.demo_store {
	display: none !important;
}

body.is-ae-woocommerce .wa__btn_popup {
	right: 18px !important;
	bottom: 18px !important;
	transform: scale(.86);
	transform-origin: right bottom;
}

body.is-ae-woocommerce .wa__btn_popup_txt {
	display: none !important;
}

body.is-ae-woocommerce .wa__popup_chat_box {
	right: 18px !important;
	bottom: 78px !important;
	max-width: min(350px, calc(100vw - 36px));
}

@media (max-width: 1320px) {
	.ae-shop-results .products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1100px) {
	.ae-shop-layout {
		display: block;
	}

	.ae-shop-sidebar {
		position: fixed;
		z-index: 200;
		top: 0;
		left: 0;
		width: min(88vw, 340px);
		height: 100vh;
		padding: 25px 22px;
		overflow-y: auto;
		border-right: 1px solid var(--ae-border);
		background: var(--ae-ivory);
		box-shadow: 18px 0 40px rgba(0, 0, 0, .12);
		transform: translateX(-105%);
		transition: transform .25s var(--ae-ease);
	}

	.ae-shop-sidebar.is-open {
		transform: translateX(0);
	}

	.ae-filter-close,
	.ae-filter-toggle {
		display: inline-flex;
	}

	.ae-filter-close {
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		padding: 0;
		border: 1px solid var(--ae-border);
		background: transparent;
		color: var(--ae-text);
	}

	.ae-filter-close .ae-icon {
		width: 15px;
		height: 15px;
	}

	.ae-filter-toggle {
		flex: 0 0 auto;
	}
}

@media (max-width: 980px) {
	.ae-shop-results .products,
	.ae-single-product__below .related ul.products,
	.ae-single-product__below .upsells ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ae-single-product__layout,
	.ae-checkout-grid {
		gap: 34px;
	}
}

@media (max-width: 760px) {
	.ae-woo-page,
	.ae-cart-page,
	.ae-checkout-page,
	.ae-thankyou-page {
		padding-top: 54px;
		padding-bottom: 68px;
	}

	.ae-shop-layout {
		display: block;
	}

	.ae-shop-sidebar {
		position: fixed;
		z-index: 200;
		top: 0;
		left: 0;
		width: min(88vw, 340px);
		height: 100vh;
		padding: 25px 22px;
		overflow-y: auto;
		border-right: 1px solid var(--ae-border);
		background: var(--ae-ivory);
		box-shadow: 18px 0 40px rgba(0, 0, 0, .12);
		transform: translateX(-105%);
		transition: transform .25s var(--ae-ease);
	}

	.ae-shop-sidebar.is-open {
		transform: translateX(0);
	}

	.ae-filter-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		padding: 0;
		border: 1px solid var(--ae-border);
		background: transparent;
		color: var(--ae-text);
	}

	.ae-filter-close .ae-icon {
		width: 15px;
		height: 15px;
	}

	.ae-filter-toggle {
		display: inline-flex;
		flex: 0 0 auto;
	}

	.ae-shop-toolbar__native .woocommerce-result-count {
		float: none;
		margin: 0;
		text-align: right;
	}

	.ae-shop-toolbar__native .woocommerce-ordering {
		display: none;
	}

	.ae-shop-results .products,
	.ae-single-product__below .related ul.products,
	.ae-single-product__below .upsells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 14px;
	}

	.ae-single-product__layout,
	.ae-checkout-grid {
		display: block;
	}

	.ae-single-product__summary {
		padding-top: 40px;
	}

	.ae-single-product__below {
		padding-top: 52px;
	}

	.ae-checkout-review-column {
		margin-top: 30px;
	}

	.ae-checkout-review-panel {
		position: static;
	}

	.ae-cart-table thead {
		display: none;
	}

	.ae-cart-table,
	.ae-cart-table tbody,
	.ae-cart-table tr,
	.ae-cart-table td {
		display: block;
		width: 100%;
	}

	.ae-cart-table tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 82px 1fr;
		gap: 0 14px;
		padding: 18px 0;
	}

	.ae-cart-table tr.cart_item td {
		padding: 5px 0;
		border: 0;
		text-align: left;
	}

	.ae-cart-table tr.cart_item .product-thumbnail {
		grid-row: span 4;
		width: auto;
	}

	.ae-cart-table tr.cart_item .product-thumbnail img {
		width: 82px;
	}

	.ae-cart-table tr.cart_item .product-name {
		min-width: 0;
		font-size: 20px;
	}

	.ae-cart-table tr.cart_item .product-price::before,
	.ae-cart-table tr.cart_item .product-quantity::before,
	.ae-cart-table tr.cart_item .product-subtotal::before {
		margin-right: 8px;
		color: var(--ae-muted);
		font-family: var(--ae-body);
		font-size: 9px;
		letter-spacing: .1em;
		text-transform: uppercase;
	}

	.ae-cart-table tr.cart_item .product-price::before {
		content: "Price";
	}

	.ae-cart-table tr.cart_item .product-quantity::before {
		content: "Qty";
	}

	.ae-cart-table tr.cart_item .product-subtotal::before {
		content: "Total";
	}

	.ae-cart-table tr.cart_item .product-remove {
		position: absolute;
		top: 16px;
		right: 0;
		width: auto;
	}

	.ae-cart-actions {
		display: grid;
		justify-content: stretch;
	}

	.ae-cart-actions .coupon {
		display: grid;
		grid-template-columns: 1fr auto;
	}

	.ae-cart-actions .coupon .ae-field {
		width: 100%;
	}

	.ae-cart-actions > .ae-btn {
		width: 100%;
	}

	.ae-cart-collaterals {
		display: block;
	}

	.ae-cart-collaterals .cart_totals {
		width: 100%;
	}

	.ae-order-meta {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 430px) {
	.ae-product-card__title {
		font-size: 18px;
	}

	.ae-product-card__inner > .ct-woo-card-actions {
		display: grid;
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.ae-product-card__inner > .ct-woo-card-actions .add_to_cart_button {
		width: 100%;
		padding-inline: 8px;
		font-size: 8px;
	}

	.ae-single-product__below .wc-tabs {
		gap: 15px;
		overflow-x: auto;
	}

	.ae-single-product__below .wc-tabs li a {
		white-space: nowrap;
		font-size: 8px;
	}

	.ae-order-summary,
	.ae-checkout-panel {
		padding: 22px 18px;
	}
}


/* Source: assets/css/ae-responsive.css */
/*
 * AngeliasEye responsive layer.
 *
 * Loaded after ae-base.css, ae-pages.css and ae-woocommerce.css. Keep this
 * file limited to layout, sizing and interaction-safe responsive overrides;
 * page markup and WooCommerce state remain owned by the other agents.
 */

/* Global overflow guard and resilient media/form primitives. */
html,
body.ae-theme {
	max-width: 100%;
	overflow-x: clip;
}

body.ae-theme #page,
body.ae-theme #main,
body.ae-theme .site,
body.ae-theme .site-main,
body.ae-theme main,
body.ae-theme section,
body.ae-theme article,
body.ae-theme .ae-shell,
body.ae-theme .ae-column {
	min-width: 0;
}

body.ae-theme iframe,
body.ae-theme svg,
body.ae-theme video,
body.ae-theme canvas {
	max-width: 100%;
}

body.ae-theme input,
body.ae-theme select,
body.ae-theme textarea,
body.ae-theme button {
	max-width: 100%;
}

body.ae-theme .ae-btn,
body.ae-theme .button,
body.ae-theme button,
body.ae-theme input[type="submit"],
body.ae-theme input[type="button"] {
	min-height: 42px;
}

/* Header and navigation. */
@media (max-width: 1100px) {
	.ae-menu__list {
		gap: clamp(14px, 1.8vw, 24px);
	}

	.ae-menu__link {
		font-size: 12px;
		letter-spacing: .055em;
	}

	.ae-brand-row,
	.ae-utility-bar__inner,
	.ae-site-footer__bottom {
		width: min(100% - 36px, var(--ae-shell-width));
	}
}

@media (max-width: 860px) {
	.ae-utility-bar__inner {
		gap: 12px;
	}

	.ae-utility-bar__message {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.ae-search-form {
		flex-wrap: wrap;
	}

	.ae-search-form__input {
		min-width: 0;
		flex: 1 1 220px;
	}

	.ae-search-form .ae-btn {
		flex: 0 0 auto;
	}

	.ae-mobile-nav__panel {
		max-width: 390px;
		padding: 22px;
	}
}

/* Shared page shells, split heroes and content grids. */
.ae-page-shell,
.ae-page-section,
.ae-home-section,
.ae-about-section,
.ae-routine-section,
.ae-journal-section,
.ae-contact-section,
.ae-shop-section,
.ae-product-section,
.ae-cart-section,
.ae-checkout-section,
.ae-thank-you-section {
	min-width: 0;
}

.ae-hero__inner,
.ae-home-hero__inner,
.ae-about-hero__inner,
.ae-contact-layout,
.ae-product-detail,
.ae-cart-layout,
.ae-checkout-layout,
.ae-shop-layout {
	min-width: 0;
}

.ae-hero__media,
.ae-home-hero__media,
.ae-about-hero__media,
.ae-product-gallery,
.ae-product-gallery__main,
.ae-product-gallery__thumbs {
	min-width: 0;
}

.ae-hero__media img,
.ae-home-hero__media img,
.ae-about-hero__media img,
.ae-product-gallery img,
.ae-journal-card img,
.ae-article-card img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: cover;
}

 .ae-home-hero__inner,
.ae-about-hero__inner,
.ae-contact-layout,
.ae-product-detail,
.ae-single-product__layout,
.ae-cart-layout,
.ae-checkout-layout,
.ae-checkout-grid {
	align-items: start;
}

.ae-home-hero__copy,
.ae-about-hero__copy,
.ae-product-summary,
.ae-cart-summary,
.ae-checkout-main,
.ae-checkout-summary {
	min-width: 0;
}

.ae-section-title,
.ae-hero h1,
.ae-hero h2,
.ae-home-hero h1,
.ae-about-hero h1,
.ae-product-summary h1,
.ae-product-summary h2,
.ae-checkout h1,
.ae-cart-page h1 {
	max-width: 100%;
	overflow-wrap: anywhere;
}

/* Editorial grids: preserve the desktop composition, then collapse without
 * creating fixed-width tracks at tablet/mobile sizes. */
.ae-feature-grid,
.ae-icon-feature-grid,
.ae-philosophy-grid,
.ae-journal-grid,
.ae-article-grid,
.ae-products-grid,
.ae-product-grid,
.ae-best-sellers-grid,
.ae-routine-grid {
	min-width: 0;
}

@media (max-width: 1100px) {
	.ae-feature-grid,
	.ae-icon-feature-grid,
	.ae-philosophy-grid,
	.ae-journal-grid,
	.ae-article-grid,
	.ae-best-sellers-grid,
	.ae-routine-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ae-products-grid,
	.ae-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	 .ae-home-hero__inner,
	.ae-about-hero__inner,
	.ae-contact-layout,
	.ae-product-detail,
	.ae-single-product__layout,
	.ae-cart-layout,
	.ae-checkout-layout,
	.ae-checkout-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ae-home-hero__media,
	.ae-about-hero__media {
		order: -1;
	}

	.ae-feature-grid,
	.ae-icon-feature-grid,
	.ae-philosophy-grid,
	.ae-journal-grid,
	.ae-article-grid,
	.ae-products-grid,
	.ae-product-grid,
	.ae-best-sellers-grid,
	.ae-routine-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ae-shop-layout {
		grid-template-columns: minmax(0, 1fr);
	}


	.ae-shop-toolbar,
	.ae-shop-toolbar__sort,
	.ae-shop-toolbar__count {
		min-width: 0;
	}

	.ae-shop-toolbar {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.ae-product-tabs,
	.ae-product-tabs__list {
		flex-wrap: wrap;
	}

	.ae-product-tabs__item,
	.ae-product-tabs a {
		flex: 1 1 160px;
	}

	.ae-product-gallery__thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	:root {
		--ae-gutter: 18px;
	}

	body.ae-theme {
		font-size: 13px;
	}

	.ae-utility-bar__inner,
	.ae-brand-row,
	.ae-site-footer__bottom {
		width: min(100% - 36px, var(--ae-shell-width));
	}

	.ae-brand-row {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 10px;
	}

	.ae-brand-lockup {
		min-width: 0;
		justify-self: center;
	}

	.ae-brand-lockup .custom-logo-link,
	.ae-brand-lockup .custom-logo {
		max-width: 145px;
	}

	.ae-header-actions {
		gap: 0;
	}

	.ae-header-action,
	.ae-menu-toggle {
		width: 36px;
		height: 42px;
	}

	.ae-search-form {
		align-items: stretch;
		gap: 8px;
	}

	.ae-search-form__input {
		flex: 1 1 100%;
		width: 100%;
	}

	.ae-search-form .ae-btn {
		flex: 1 1 auto;
		width: auto;
	}

	.ae-search-form__close {
		flex: 0 0 42px;
	}

	.ae-section-title,
	.ae-hero h1,
	.ae-home-hero h1,
	.ae-about-hero h1 {
		font-size: clamp(32px, 11vw, 48px);
	}

	.ae-home-hero__inner,
	.ae-about-hero__inner,
	.ae-contact-layout,
	.ae-product-detail,
	.ae-cart-layout,
	.ae-checkout-layout {
		gap: 28px;
	}

	.ae-feature-grid,
	.ae-icon-feature-grid,
	.ae-philosophy-grid,
	.ae-journal-grid,
	.ae-article-grid,
	.ae-products-grid,
	.ae-product-grid,
	.ae-best-sellers-grid,
	.ae-routine-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.ae-product-card__body {
		padding: 12px 8px 14px;
	}

	.ae-product-card__title {
		font-size: 18px;
	}

	.ae-product-card__footer {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.ae-card-add {
		width: 100%;
		justify-content: center;
		min-height: 42px;
	}

	.ae-product-gallery__thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}

	.ae-product-tabs__item,
	.ae-product-tabs a {
		flex-basis: 100%;
	}

	.ae-newsletter-band__inner,
	.ae-newsletter-form,
	.ae-site-footer__bottom {
		align-items: stretch;
		flex-direction: column;
	}

	.ae-newsletter-form {
		width: 100%;
	}

	.ae-newsletter-form .ae-btn,
	.ae-newsletter-form button,
	.ae-newsletter-form input[type="submit"] {
		width: 100%;
	}

	.ae-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 20px;
	}

	.ae-footer-brand {
		grid-column: 1 / -1;
	}

	.ae-payment-list {
		flex-wrap: wrap;
	}
}

/* Shop/archive layout. */
.ae-shop-layout,
.woocommerce .ae-shop-layout {
	width: min(calc(100% - (var(--ae-gutter) * 2)), 1500px);
	grid-template-columns: 210px minmax(0, 1fr);
	gap: clamp(36px, 3.5vw, 58px);
}

.ae-shop-main,
.ae-shop-results,
.woocommerce .site-main {
	min-width: 0;
}

.ae-shop-grid,
.woocommerce ul.products {
	min-width: 0;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto;
	min-width: 0;
	margin: 0;
	float: none;
}

@media (max-width: 1100px) {
	.ae-shop-layout,
	.woocommerce .ae-shop-layout {
		display: block;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 30px 16px;
	}
}

@media (max-width: 600px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 12px;
	}

	.ae-product-card__inner > .woocommerce-loop-product__title {
		min-height: 58px;
		padding-inline: 12px;
		font-size: 15.5px;
		line-height: 1.25;
	}

	.ae-product-card__inner > .entry-meta,
	.ae-product-card__inner > .ct-woo-card-actions {
		padding-inline: 12px;
	}
}

/* Product detail. */
.ae-product-summary form.cart,
.ae-product-summary .variations_form,
.ae-product-summary .single_variation_wrap,
.ae-product-summary .quantity,
.ae-product-summary .ae-product-actions {
	min-width: 0;
}

.ae-product-summary .quantity {
	max-width: 100%;
}

.ae-product-summary .quantity input,
.ae-product-summary input.qty {
		min-height: 42px;
		max-width: 120px;
}

@media (max-width: 600px) {
	.ae-product-summary .ae-btn,
	.ae-product-summary .single_add_to_cart_button,
	.ae-product-summary form.cart .button {
		width: 100%;
	}

	.ae-product-summary .quantity,
	.ae-product-summary input.qty {
		width: 100%;
		max-width: none;
	}
}

/* Cart: desktop table, tablet scroll safety, mobile card rows. */
.ae-cart-page .woocommerce,
.ae-cart-page .woocommerce-cart-form,
.ae-cart-page .cart-collaterals,
.ae-cart-page .cart_totals,
.ae-cart-page .shop_table {
	min-width: 0;
}

.ae-cart-page .woocommerce-cart-form {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ae-cart-page table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

.ae-cart-page table.shop_table th,
.ae-cart-page table.shop_table td {
	min-width: 0;
	vertical-align: middle;
}

.ae-cart-page .product-name,
.ae-cart-page .product-name a,
.ae-cart-page .cart_item .product-name {
	overflow-wrap: anywhere;
}

.ae-cart-page .quantity {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
}

.ae-cart-page .quantity input.qty {
		min-height: 42px;
		width: 64px;
		max-width: 100%;
}

.ae-cart-page .cart-collaterals,
.ae-cart-page .cart_totals {
	min-width: 0;
}

@media (max-width: 860px) {
	.ae-cart-page table.shop_table {
		min-width: 620px;
	}

	.ae-cart-page .cart-collaterals,
	.ae-cart-page .cart_totals {
		width: 100%;
	}
}

@media (max-width: 600px) {
	.ae-cart-page .woocommerce-cart-form {
		overflow: visible;
	}

	.ae-cart-page table.shop_table {
		display: block;
		min-width: 0;
		border: 0;
	}

	.ae-cart-page table.shop_table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.ae-cart-page table.shop_table tbody,
	.ae-cart-page table.shop_table tr.cart_item,
	.ae-cart-page table.shop_table tr.woocommerce-cart-form__cart-item {
		display: block;
	}

	.ae-cart-page table.shop_table tr.cart_item,
	.ae-cart-page table.shop_table tr.woocommerce-cart-form__cart-item {
		position: relative;
		padding: 14px 0;
		border-bottom: 1px solid var(--ae-border);
	}

	.ae-cart-page table.shop_table td {
		display: grid;
		grid-template-columns: minmax(88px, 36%) minmax(0, 1fr);
		gap: 10px;
		align-items: center;
		width: 100%;
		padding: 7px 0;
		border: 0;
		text-align: left;
	}

	.ae-cart-page table.shop_table td::before {
		content: attr(data-title);
		color: var(--ae-muted);
		font-size: 9px;
		font-weight: 700;
		letter-spacing: .1em;
		text-transform: uppercase;
	}

	.ae-cart-page table.shop_table td.product-remove {
		display: block;
		position: absolute;
		top: 10px;
		right: 0;
		width: auto;
		padding: 0;
	}

	.ae-cart-page table.shop_table td.product-remove::before,
	.ae-cart-page table.shop_table td.product-thumbnail::before {
		display: none;
	}

	.ae-cart-page table.shop_table td.product-thumbnail {
		display: block;
		padding-right: 34px;
	}

	.ae-cart-page table.shop_table td.product-thumbnail img {
		width: min(100%, 120px);
		margin: 0;
	}

	.ae-cart-page table.shop_table td.actions {
		display: flex;
		align-items: stretch;
		flex-wrap: wrap;
		gap: 10px;
	}

	.ae-cart-page table.shop_table td.actions::before {
		display: none;
	}

	.ae-cart-page .coupon,
	.ae-cart-page .coupon input,
	.ae-cart-page .coupon button,
	.ae-cart-page .actions .button,
	.ae-cart-page .actions input[type="submit"] {
		width: 100%;
		max-width: none;
	}

	.ae-cart-page .cart_totals {
		float: none;
		width: 100%;
	}

	.ae-cart-page .wc-proceed-to-checkout a {
		width: 100%;
		text-align: center;
	}
}

/* Checkout: stack fields and order summary while keeping payment controls
 * native so gateways can continue to inject their markup. */
.ae-checkout-page .woocommerce-checkout,
.ae-checkout-page .ae-checkout-grid,
.ae-checkout-page .woocommerce-checkout .col2-set,
.ae-checkout-page .woocommerce-checkout .col-1,
.ae-checkout-page .woocommerce-checkout .col-2,
.ae-checkout-page #order_review,
.ae-checkout-page #payment,
.ae-checkout-page .woocommerce-checkout-review-order-table {
	min-width: 0;
}

.ae-checkout-page .woocommerce-checkout .form-row,
.ae-checkout-page .woocommerce-checkout .form-row-first,
.ae-checkout-page .woocommerce-checkout .form-row-last {
	max-width: 100%;
}

.ae-checkout-page #order_review,
.ae-checkout-page .ae-checkout-summary {
	position: sticky;
	top: 24px;
}

.ae-checkout-page .woocommerce-checkout-review-order-table {
	width: 100%;
	table-layout: fixed;
}

.ae-checkout-page .woocommerce-checkout-review-order-table th,
.ae-checkout-page .woocommerce-checkout-review-order-table td {
	min-width: 0;
	overflow-wrap: anywhere;
}

.ae-checkout-page .woocommerce-checkout-payment ul.payment_methods {
	padding: 0;
}

@media (max-width: 860px) {
	.ae-checkout-page #order_review,
	.ae-checkout-page .ae-checkout-summary {
		position: static;
	}

	.ae-checkout-page .woocommerce-checkout .col2-set,
	.ae-checkout-page .woocommerce-checkout .col-1,
	.ae-checkout-page .woocommerce-checkout .col-2 {
		width: 100%;
		float: none;
	}
}

@media (max-width: 600px) {
	.ae-checkout-panel .woocommerce-billing-fields__field-wrapper,
	.ae-checkout-panel .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	.ae-checkout-page .woocommerce-checkout .form-row-first,
	.ae-checkout-page .woocommerce-checkout .form-row-last,
	.ae-checkout-page .woocommerce-checkout .form-row-wide {
		width: 100%;
		float: none;
	}

	.ae-checkout-page .woocommerce-checkout .form-row {
		margin-right: 0;
		margin-left: 0;
	}

	.ae-checkout-page .woocommerce-checkout input,
	.ae-checkout-page .woocommerce-checkout select,
	.ae-checkout-page .woocommerce-checkout textarea,
	.ae-checkout-page #place_order {
		width: 100%;
		max-width: none;
	}

	.ae-checkout-page .woocommerce-checkout-review-order-table {
		font-size: 12px;
	}

	.ae-checkout-page .woocommerce-checkout-review-order-table th,
	.ae-checkout-page .woocommerce-checkout-review-order-table td {
		padding: 9px 5px;
	}

	.ae-checkout-page #payment .place-order,
	.ae-checkout-page #payment .button {
		width: 100%;
	}
}

/* Thank-you/order confirmation. */
.ae-thank-you-page .woocommerce-order,
.ae-thankyou-page .woocommerce-order,
.ae-thank-you-page .woocommerce-order-overview,
.ae-thankyou-page .woocommerce-order-overview,
.ae-thank-you-page .woocommerce-order-details,
.ae-thankyou-page .woocommerce-order-details,
.ae-thank-you-page .woocommerce-customer-details,
.ae-thankyou-page .woocommerce-customer-details {
	min-width: 0;
	max-width: 100%;
}

.ae-thank-you-page .woocommerce-order-overview,
.ae-thankyou-page .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ae-thank-you-page .woocommerce-order-overview li,
.ae-thankyou-page .woocommerce-order-overview li {
	min-width: 0;
	margin: 0;
	padding: 14px;
	border: 1px solid var(--ae-border);
}

@media (max-width: 600px) {
	.ae-thank-you-page .woocommerce-order-overview,
.ae-thankyou-page .woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* Stronger mobile spacing and tap targets. */
@media (max-width: 390px) {
	.ae-site-header .ae-shell,
	.ae-site-footer .ae-shell,
	.ae-page-shell,
	.ae-page-section {
		max-width: 100%;
	}

	.ae-btn,
	.ae-card-add,
	.ae-site-footer a,
	.ae-site-header a,
	.ae-site-header button,
	.ae-cart-page a.remove,
	.ae-cart-page .quantity input.qty {
		min-height: 42px;
	}

	.ae-feature-grid,
	.ae-icon-feature-grid,
	.ae-philosophy-grid,
	.ae-journal-grid,
	.ae-article-grid,
	.ae-routine-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}







/* Source: assets/css/ae-reference-v2.css */
/*
 * AngeliasEye reference-led visual system.
 * Loaded last so these rules form the production presentation layer.
 */
:root {
	--aev2-black: #050505;
	--aev2-black-soft: #0c0b0a;
	--aev2-cream: #f4efe9;
	--aev2-cream-deep: #e9e0d7;
	--aev2-gold: #c8a16b;
	--aev2-gold-light: #dfbf91;
	--aev2-text: #171310;
	--aev2-muted: #70675f;
	--aev2-border: #d9cfc5;
}

body.ae-theme {
	background: var(--aev2-cream);
	color: var(--aev2-text);
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.65;
}

body.ae-theme #main-container,
body.ae-theme main,
body.ae-theme .site-main {
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
}

body.ae-theme h1,
body.ae-theme h2,
body.ae-theme h3 {
	font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
	font-weight: 400;
}

.ae-shell {
	width: min(calc(100% - 88px), 1160px);
}

/* Header */
.ae-site-header {
	background: #030303;
}

.ae-utility-bar {
	border-color: rgba(255,255,255,.08);
	font-size: 8px;
	letter-spacing: .03em;
	text-transform: none;
}

.ae-utility-bar__inner {
	justify-content: center;
	min-height: 25px;
	position: relative;
}

.ae-utility-bar__message {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: rgba(255,255,255,.84);
}

.ae-utility-bar__message .ae-icon {
	width: 12px;
	height: 12px;
	color: var(--aev2-gold);
}

.ae-utility-bar__links {
	position: absolute;
	right: 0;
	display: flex;
	gap: 22px;
	color: rgba(255,255,255,.72);
}

.ae-brand-row {
	min-height: 60px;
}

.ae-brand-lockup {
	grid-column: 2;
}

.ae-wordmark {
	display: flex;
	flex-direction: column;
	gap: 1px;
	font-size: 19px;
	color: var(--aev2-gold-light) !important;
}

.ae-wordmark__mark {
	width: 27px;
	height: 18px;
	transform: none;
}

.ae-wordmark__mark .ae-icon {
	width: 27px;
	height: 18px;
}

.ae-wordmark__name sup {
	font-family: Arial, sans-serif;
	font-size: 7px;
}

.ae-header-actions {
	gap: 2px;
}

.ae-header-action {
	width: 32px;
	height: 32px;
}

.ae-header-action .ae-icon {
	width: 16px;
	height: 16px;
}

.ae-nav-row {
	border: 0;
}

.ae-menu__list {
	gap: clamp(26px, 3vw, 43px);
}

.ae-menu__link {
	position: relative;
	padding: 11px 0 14px;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .02em;
}

.ae-menu__item.is-current > .ae-menu__link::after,
.ae-menu__link:hover::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 8px;
	left: 0;
	height: 1px;
	background: var(--aev2-gold);
}

/* Shared reference page primitives */
.aev2-page {
	background: var(--aev2-cream);
	overflow: clip;
}

.aev2-kicker {
	margin: 0 0 9px;
	color: var(--aev2-gold);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.aev2-rule {
	display: block;
	width: 36px;
	height: 1px;
	margin: 17px 0 20px;
	background: var(--aev2-gold);
}

.aev2-hero {
	position: relative;
	min-height: 390px;
	overflow: hidden;
	background: #050505;
	color: #fff;
}

.aev2-hero::before {
	content: "";
	position: absolute;
	inset: 0 0 0 36%;
	background-image: var(--aev2-hero);
	background-position: center;
	background-size: cover;
}

.aev2-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #050505 0%, #050505 26%, rgba(5,5,5,.94) 38%, rgba(5,5,5,.25) 63%, rgba(5,5,5,.06) 100%);
}

.aev2-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	min-height: 390px;
}

.aev2-hero__copy {
	width: min(390px, 42%);
	padding: 45px 0;
}

.aev2-hero h1 {
	margin: 0;
	color: var(--aev2-gold-light);
	font-size: clamp(38px, 4vw, 56px);
	line-height: .93;
	letter-spacing: .005em;
}

.aev2-hero__copy > p:last-of-type {
	max-width: 340px;
	margin: 0;
	color: rgba(255,255,255,.84);
	font-size: 12px;
	line-height: 1.8;
}

.aev2-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 39px;
	padding: 10px 22px;
	border: 1px solid #111;
	background: #080808;
	color: #fff !important;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .08em;
	text-decoration: none !important;
	text-transform: uppercase;
}

.aev2-button--gold {
	border-color: var(--aev2-gold);
	background: var(--aev2-gold);
	color: #fff !important;
}

.aev2-hero .aev2-button {
	margin-top: 25px;
}

.aev2-section {
	padding: 50px 0;
}

.aev2-heading {
	margin: 0 0 32px;
	text-align: center;
}

.aev2-heading h2,
.aev2-split h2,
.aev2-contact-body h2 {
	margin: 0;
	color: var(--aev2-text) !important;
	font-size: clamp(30px, 3vw, 42px);
	line-height: 1;
}

.aev2-page h2,
.aev2-page h3,
.aev2-page h2 a,
.aev2-page h3 a {
	color: inherit !important;
}

.aev2-article-grid h2,
.aev2-contact-body h2,
.aev2-heading h2 {
	color: var(--aev2-text) !important;
}

/* Home */
.aev2-hero--home {
	min-height: 450px;
}

.aev2-hero--home::before {
	inset: 0;
	background-position: center;
}

.aev2-hero--home .aev2-hero__inner {
	min-height: 450px;
}

.aev2-hero--home .aev2-hero__copy,
.aev2-hero--collections .aev2-hero__copy {
	width: min(500px, 47%);
}

.aev2-hero--collections h1 {
	font-size: clamp(40px, 3.4vw, 50px);
}

.aev2-trust-strip {
	background: #050505;
	color: #fff;
	border-top: 1px solid rgba(255,255,255,.1);
}

.aev2-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.aev2-trust-grid > div {
	display: flex;
	align-items: center;
	gap: 13px;
	min-height: 68px;
	padding: 12px 18px;
	border-right: 1px solid rgba(255,255,255,.1);
}

.aev2-trust-grid > div:first-child {
	border-left: 1px solid rgba(255,255,255,.1);
}

.aev2-trust-grid > div > span {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--aev2-gold);
	border-radius: 50%;
	color: var(--aev2-gold);
}

.aev2-trust-grid p,
.aev2-trust-grid strong,
.aev2-trust-grid small {
	display: block;
	margin: 0;
}

.aev2-trust-grid strong {
	font-size: 8px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.aev2-trust-grid small {
	color: rgba(255,255,255,.58);
	font-size: 8px;
}

.aev2-product-showcase,
.aev2-collection-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.aev2-collection-card {
	min-width: 0;
	background: #0a0908;
	color: #fff;
	text-align: center;
}

.aev2-collection-card > a {
	display: block;
	padding-bottom: 17px;
	color: inherit !important;
	text-decoration: none !important;
}

.aev2-collection-card__media {
	height: 190px;
	overflow: hidden;
	background: linear-gradient(145deg,#0a0908,#241b13);
}

.aev2-collection-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 14px 14px rgba(0,0,0,.4));
}

.aev2-tone-2,
.aev2-tone-2 .aev2-collection-card__media {
	background: linear-gradient(145deg,#f7f4ef,#ddd5ca);
	color: #16120e;
}
.aev2-tone-3,
.aev2-tone-3 .aev2-collection-card__media {
	background: linear-gradient(145deg,#9c7445,#c9a36f);
}
.aev2-tone-4,
.aev2-tone-4 .aev2-collection-card__media {
	background: linear-gradient(145deg,#05080d,#132030);
}
.aev2-tone-5,
.aev2-tone-5 .aev2-collection-card__media {
	background: linear-gradient(145deg,#0b0907,#342313);
}

.aev2-collection-card h3 {
	margin: 14px 8px 2px;
	font-family: var(--ae-body);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.aev2-collection-card p {
	min-height: 17px;
	margin: 0 8px 10px;
	font-size: 9px;
}

.aev2-collection-card span {
	font-size: 8px;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.aev2-commitment {
	position: relative;
	min-height: 250px;
	background: #050505;
	color: #fff;
	overflow: hidden;
}

.aev2-commitment::before {
	content: "";
	position: absolute;
	inset: 0 0 0 44%;
	background: linear-gradient(90deg,#050505 0%,transparent 35%), var(--aev2-commitment) center/cover no-repeat;
}

.aev2-commitment__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 380px 1fr;
	align-items: center;
	min-height: 250px;
}

.aev2-commitment h2,
.aev2-personal h2,
.aev2-integrity h2 {
	margin: 0;
	color: var(--aev2-gold-light);
	font-size: 35px;
	line-height: .95;
}

.aev2-mini-promises,
.aev2-icon-row {
	display: flex;
	justify-content: space-around;
	gap: 18px;
}

.aev2-mini-promises span,
.aev2-icon-row span {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 8px;
	color: var(--aev2-gold);
	font-size: 21px;
	text-align: center;
}

.aev2-mini-promises small,
.aev2-icon-row small {
	max-width: 105px;
	color: inherit;
	font-size: 8px;
	line-height: 1.35;
	text-transform: uppercase;
}

.aev2-press {
	padding: 18px 30px 25px;
	text-align: center;
}

.aev2-press p {
	margin: 0 0 10px;
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.aev2-press div {
	display: flex;
	justify-content: center;
	gap: clamp(35px, 7vw, 90px);
	color: #9a958f;
	font-family: Georgia, serif;
	font-size: 25px;
}

/* About */
.aev2-about-philosophy .aev2-split {
	display: grid;
	grid-template-columns: 1fr 1.08fr;
	gap: 62px;
	align-items: center;
}

.aev2-split > img {
	width: 100%;
	height: 310px;
	object-fit: cover;
}

.aev2-split > div > p:not(.aev2-kicker) {
	max-width: 470px;
	color: var(--aev2-muted);
}

.aev2-about-philosophy .aev2-icon-row {
	margin-top: 30px;
	color: #171310;
}

.aev2-about-commitment {
	padding: 35px 0 45px;
	background: #050505;
	color: #fff;
}

.aev2-about-commitment > .ae-shell {
	display: grid;
	grid-template-columns: 270px 1fr;
	gap: 28px;
}

.aev2-about-commitment__intro h2 {
	margin: 0;
	color: var(--aev2-gold-light);
	font-size: 36px;
	line-height: .95;
}

.aev2-about-commitment__intro p:not(.aev2-kicker) {
	color: rgba(255,255,255,.7);
	font-size: 11px;
}

.aev2-about-commitment__intro em {
	color: var(--aev2-gold);
	font-family: cursive;
	font-size: 20px;
}

.aev2-value-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}

.aev2-value-grid article {
	text-align: center;
}

.aev2-value-grid img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	filter: saturate(.72);
}

.aev2-value-grid h3 {
	margin: 12px 4px 4px;
	font-family: var(--ae-body);
	font-size: 9px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.aev2-value-grid p {
	margin: 0 8px;
	color: rgba(255,255,255,.62);
	font-size: 8px;
	line-height: 1.6;
}

/* Collections + Ingredients */
.aev2-collection-panel {
	display: flex;
	min-height: 360px;
	padding-bottom: 20px;
	flex-direction: column;
	background: #090807;
	color: #fff;
}

.aev2-collection-panel > div {
	height: 185px;
	overflow: hidden;
}

.aev2-collection-panel img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.aev2-collection-panel h3 {
	margin: 17px 18px 8px;
	font-family: var(--ae-body);
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
}

.aev2-collection-panel p {
	flex: 1;
	margin: 0 18px 14px;
	font-size: 10px;
}

.aev2-collection-panel a {
	align-self: flex-start;
	padding: 8px 20px;
	margin-left: 18px;
	border: 1px solid currentColor;
	color: inherit !important;
	font-size: 8px;
	letter-spacing: .08em;
	text-decoration: none !important;
	text-transform: uppercase;
}

.aev2-personal {
	min-height: 240px;
	padding: 50px 0;
	background: linear-gradient(90deg,rgba(0,0,0,.35),#050505 46%,rgba(0,0,0,.35)), var(--aev2-hero) center/cover, #050505;
	background-image: linear-gradient(90deg,rgba(0,0,0,.35),#050505 46%,rgba(0,0,0,.35)), url("../images/reference-v2/collections-hero.jpg");
	color: #fff;
}

.aev2-personal .ae-shell {
	display: flex;
	justify-content: center;
}

.aev2-personal .aev2-button {
	margin-top: 20px;
}

.aev2-ingredient-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 13px;
}

.aev2-ingredient-grid img {
	width: 100%;
	height: 140px;
	object-fit: cover;
}

.aev2-ingredient-grid h3 {
	margin: 12px 0 2px;
	font-family: var(--ae-body);
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
}

.aev2-ingredient-grid strong {
	color: var(--aev2-muted);
	font-size: 9px;
	font-weight: 500;
}

.aev2-ingredient-grid p {
	min-height: 80px;
	margin: 8px 0;
	font-size: 9px;
	line-height: 1.7;
}

.aev2-ingredient-grid a,
.aev2-readmore {
	color: #8e6e40 !important;
	font-size: 8px;
	letter-spacing: .07em;
	text-decoration: none !important;
	text-transform: uppercase;
}

.aev2-integrity {
	padding: 45px 0;
	background: linear-gradient(90deg,#050505 0%,#050505 45%,rgba(5,5,5,.42)), url("../images/reference-v2/home-commitment.jpg") right center/58% 100% no-repeat, #050505;
	color: #fff;
}

.aev2-integrity .ae-shell > div {
	width: 47%;
}

.aev2-integrity p:not(.aev2-kicker) {
	color: rgba(255,255,255,.72);
}

.aev2-integrity .aev2-icon-row {
	margin-top: 25px;
}

/* Journal */
.aev2-journal-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--aev2-border);
}

.aev2-journal-toolbar nav {
	display: flex;
	gap: 25px;
}

.aev2-journal-toolbar a {
	color: var(--aev2-text);
	font-size: 10px;
	text-decoration: none;
}

.aev2-journal-toolbar a.is-active {
	color: #8e6e40;
}

.aev2-journal-toolbar > span {
	font-size: 9px;
}

.aev2-journal-layout {
	display: grid;
	grid-template-columns: 1fr 260px;
	gap: 55px;
	margin-top: 24px;
}

.aev2-article-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 35px 18px;
}

.aev2-article-image {
	display: block;
	height: 145px;
	overflow: hidden;
}

.aev2-article-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

.aev2-article-image:hover img {
	transform: scale(1.04);
}

.aev2-article-grid article > small {
	display: block;
	margin-top: 10px;
	color: #87745e;
	font-size: 7px;
	text-transform: uppercase;
}

.aev2-article-grid h2 {
	margin: 5px 0;
	font-size: 18px;
	line-height: 1.08;
}

.aev2-article-grid h2 a {
	text-decoration: none;
}

.aev2-article-grid p {
	margin: 0 0 9px;
	font-size: 9px;
	line-height: 1.55;
}

.aev2-journal-sidebar input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--aev2-border);
	background: transparent;
}

.aev2-journal-sidebar h3 {
	margin: 26px 0 10px;
	font-family: var(--ae-body);
	font-size: 10px;
	text-transform: uppercase;
}

.aev2-journal-sidebar ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.aev2-journal-sidebar li {
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
	font-size: 9px;
}

.aev2-sidebar-promo {
	min-height: 165px;
	padding: 24px;
	margin-top: 32px;
	background: linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.3)), url("../images/reference-v2/ingredients-hero.jpg") center/cover;
	color: #fff;
}

.aev2-sidebar-promo p {
	max-width: 160px;
	font-family: var(--ae-display);
	font-size: 19px;
	line-height: 1.1;
}

.aev2-sidebar-promo a {
	display: inline-block;
	padding: 8px 12px;
	background: var(--aev2-gold);
	color: #fff;
	font-size: 7px;
	text-decoration: none;
	text-transform: uppercase;
}

/* Contact */
.aev2-contact-hero-list {
	display: grid;
	gap: 10px;
	padding: 0;
	margin: 23px 0 0;
	list-style: none;
}

.aev2-contact-hero-list li {
	display: flex;
	gap: 11px;
	color: var(--aev2-gold);
	font-size: 18px;
}

.aev2-contact-hero-list span,
.aev2-contact-hero-list strong {
	display: block;
	color: #fff;
	font-size: 9px;
	font-weight: 400;
}

.aev2-contact-hero-list strong {
	font-weight: 600;
}

.aev2-contact-grid {
	display: grid;
	grid-template-columns: 1fr .65fr .85fr;
	gap: 70px;
}

.aev2-contact-body h2 {
	font-size: 31px;
}

.aev2-contact-body p {
	font-size: 10px;
}

.aev2-contact-form {
	display: grid;
	gap: 10px;
}

.aev2-contact-form > div {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.aev2-contact-form input,
.aev2-contact-form textarea {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid var(--aev2-border);
	background: transparent;
	font-size: 9px;
}

.aev2-contact-form .aev2-button {
	justify-self: start;
}

.aev2-info-list {
	display: grid;
	gap: 15px;
}

.aev2-info-list p {
	display: flex;
	gap: 12px;
	color: #9b7b50;
	font-size: 18px;
}

.aev2-info-list span,
.aev2-info-list strong {
	display: block;
	color: var(--aev2-text);
	font-size: 9px;
}

.aev2-map {
	position: relative;
	min-height: 350px;
	overflow: hidden;
	background: #e7ddd4;
}

.aev2-map::before,
.aev2-map::after {
	content: "";
	position: absolute;
	inset: -20%;
	background: repeating-linear-gradient(32deg,transparent 0 43px,rgba(255,255,255,.75) 44px 47px);
	transform: rotate(4deg);
}

.aev2-map::after {
	background: repeating-linear-gradient(118deg,transparent 0 66px,rgba(184,168,153,.45) 67px 69px);
}

.aev2-map > span {
	position: absolute;
	z-index: 2;
	top: 45%;
	left: 48%;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50% 50% 50% 0;
	background: #050505;
	color: var(--aev2-gold);
	transform: rotate(-45deg);
}

.aev2-map .ae-icon {
	transform: rotate(45deg);
}

/* WooCommerce shop hero */
.ae-shop-page {
	padding-top: 0 !important;
}

.ae-shop-page .ae-archive-header {
	position: relative;
	width: 100%;
	max-width: none;
	min-height: 345px;
	padding: 70px max(44px, calc((100vw - 1160px) / 2));
	margin-bottom: 26px;
	overflow: hidden;
	background: linear-gradient(90deg,#050505 0%,#050505 32%,rgba(5,5,5,.58) 52%,rgba(5,5,5,.1)), var(--ae-shop-hero, url("../images/reference-v2/shop-hero.jpg")) right center/65% 100% no-repeat, #050505;
	color: #fff;
}

.ae-shop-page .ae-archive-header .ae-eyebrow {
	display: none;
}

.ae-shop-page .ae-archive-header h1 {
	max-width: 430px;
	color: var(--aev2-gold-light) !important;
	font-size: 48px;
	text-transform: none;
}

.ae-shop-page .ae-archive-header__description {
	max-width: 330px;
	margin: 22px 0 0;
	color: rgba(255,255,255,.85);
	font-size: 12px;
}

.wa__btn_popup_txt {
	display: none !important;
}

.wa__btn_popup {
	right: 14px !important;
	bottom: 14px !important;
	transform: scale(.78);
	transform-origin: right bottom;
}

.ae-shop-layout {
	padding-bottom: 45px;
}

/* Footer */
.ae-service-band {
	background: #050505;
	color: #fff;
	border-top: 1px solid rgba(255,255,255,.12);
	border-bottom: 1px solid rgba(255,255,255,.12);
}

.ae-service-band__grid {
	display: grid;
	grid-template-columns: repeat(4,1fr);
}

.ae-service-band__grid > div {
	display: flex;
	align-items: center;
	gap: 13px;
	min-height: 72px;
	padding: 13px 18px;
	border-right: 1px solid rgba(255,255,255,.1);
}

.ae-service-band__grid > div:first-child {
	border-left: 1px solid rgba(255,255,255,.1);
}

.ae-service-band .ae-icon {
	width: 31px;
	height: 31px;
	padding: 7px;
	border: 1px solid var(--aev2-gold);
	border-radius: 50%;
	color: var(--aev2-gold);
}

.ae-service-band strong,
.ae-service-band small {
	display: block;
	font-size: 8px;
	text-transform: uppercase;
}

.ae-service-band small {
	color: rgba(255,255,255,.62);
	text-transform: none;
}

.ae-newsletter-band {
	padding: 26px 0;
	background: #070707;
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,.12);
}

.ae-newsletter-band__inner {
	align-items: center;
}

.ae-newsletter-band h2 {
	font-size: 30px;
}

.ae-newsletter-band p:not(.ae-eyebrow) {
	margin: 5px 0 0;
	color: rgba(255,255,255,.62);
	font-size: 9px;
}

.ae-newsletter-form {
	width: min(100%, 520px);
}

.ae-newsletter-form .ae-field {
	min-height: 40px;
	border-color: rgba(255,255,255,.18);
	color: #fff;
}

.ae-site-footer__grid {
	grid-template-columns: 1.2fr repeat(3,1fr);
	padding-top: 38px;
	padding-bottom: 30px;
}

.ae-footer-column p,
.ae-footer-column a {
	color: rgba(255,255,255,.62);
	font-size: 9px;
	line-height: 1.9;
	text-decoration: none;
}

.ae-footer-menu .ae-menu__link {
	font-size: 9px;
}

@media (max-width: 980px) {
	.ae-shell { width: min(calc(100% - 44px), 1160px); }
	.aev2-product-showcase,
	.aev2-collection-grid { grid-template-columns: repeat(3,1fr); }
	.aev2-ingredient-grid { grid-template-columns: repeat(3,1fr); }
	.aev2-contact-grid { grid-template-columns: 1fr 1fr; gap: 38px; }
	.aev2-map { grid-column: 1/-1; min-height: 280px; }
	.aev2-about-commitment > .ae-shell { grid-template-columns: 1fr; }
	.aev2-journal-layout { grid-template-columns: 1fr; }
	.aev2-journal-sidebar { display: none; }
}

@media (max-width: 860px) {
	.ae-utility-bar__links { display: none; }
	.aev2-hero::before { left: 0; opacity: .62; }
	.aev2-hero::after { background: linear-gradient(90deg,rgba(5,5,5,.96),rgba(5,5,5,.42)); }
	.aev2-hero__copy { width: min(510px, 80%); }
	.aev2-trust-grid,
	.ae-service-band__grid { grid-template-columns: repeat(2,1fr); }
	.aev2-commitment__inner { grid-template-columns: 1fr; padding: 42px 0; }
	.aev2-mini-promises { margin-top: 32px; }
	.aev2-about-philosophy .aev2-split { grid-template-columns: 1fr; gap: 30px; }
	.aev2-value-grid { grid-template-columns: repeat(2,1fr); }
	.aev2-article-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 600px) {
	.ae-shell { width: min(calc(100% - 32px), 1160px); }
	.ae-brand-row { min-height: 58px; }
	.ae-wordmark { font-size: 15px; }
	.aev2-hero,
	.aev2-hero__inner,
	.aev2-hero--home,
	.aev2-hero--home .aev2-hero__inner { min-height: 470px; }
	.aev2-hero::before { inset: 0; opacity: .5; }
	.aev2-hero--home::before { background-position: 74% center; }
	.aev2-hero__copy { width: 100%; padding-top: 180px; }
	.aev2-hero--home .aev2-hero__copy,
	.aev2-hero--collections .aev2-hero__copy { width: 100%; }
	.aev2-hero h1 { font-size: 39px; }
	.aev2-hero--home h1 { font-size: 37px; }
	.aev2-trust-grid,
	.ae-service-band__grid { grid-template-columns: 1fr; }
	.aev2-trust-grid > div,
	.ae-service-band__grid > div { border-left: 1px solid rgba(255,255,255,.1); }
	.aev2-product-showcase,
	.aev2-collection-grid,
	.aev2-ingredient-grid,
	.aev2-value-grid,
	.aev2-article-grid,
	.aev2-contact-grid { grid-template-columns: 1fr; }
	.aev2-collection-card__media { height: 280px; }
	.aev2-collection-panel > div { height: 280px; }
	.aev2-press div { flex-wrap: wrap; gap: 20px 35px; font-size: 20px; }
	.aev2-mini-promises,
	.aev2-icon-row { display: grid; grid-template-columns: repeat(2,1fr); }
	.aev2-integrity .ae-shell > div { width: 100%; }
	.aev2-journal-toolbar nav { gap: 14px; overflow-x: auto; }
	.aev2-journal-toolbar nav a { white-space: nowrap; }
	.aev2-journal-toolbar > span { display: none; }
	.aev2-contact-form > div { grid-template-columns: 1fr; }
	.ae-newsletter-band__inner,
	.ae-newsletter-form { align-items: stretch; flex-direction: column; }
	.ae-site-footer__grid { grid-template-columns: 1fr 1fr; }
}


/* Source: assets/css/ae-enhancements.css */
/*
 * Final accessibility, shell and responsive refinements.
 * WooCommerce and Blocksy remain responsible for product state.
 */
html { --theme-frame-size: 0px !important; }
html, body { max-width: 100%; overflow-x: hidden; }
body.ae-theme,
body.ae-theme[data-frame],
body.ae-theme #page,
body.ae-theme .site,
body.ae-theme #main-container,
body.ae-theme main,
body.ae-theme .site-main {
	margin: 0;
	border: 0 !important;
	outline: 0;
	box-shadow: none;
}
body.ae-theme #main-container { width: 100%; }
body.ae-theme .ae-shell { max-width: min(100% - (var(--ae-gutter) * 2), var(--ae-shell-width)); }
.ae-utility-bar { position: relative; z-index: 310; }
.ae-utility-bar__links { align-items: stretch; gap: 12px; }
.ae-utility-switcher { position: relative; color: rgba(255, 255, 255, .76); text-transform: none; }
.ae-utility-switcher summary { display: flex; align-items: center; gap: 5px; min-height: 25px; padding: 0 3px; color: inherit; cursor: pointer; list-style: none; transition: color .2s ease; }
.ae-utility-switcher summary::-webkit-details-marker { display: none; }
.ae-utility-switcher summary:hover, .ae-utility-switcher summary:focus-visible, .ae-utility-switcher[open] summary { color: var(--aev2-gold-light, #dfbf8e); }
.ae-utility-switcher summary:focus-visible { outline: 1px solid var(--aev2-gold, #c8a16b); outline-offset: 2px; }
.ae-utility-switcher__chevron { width: 5px; height: 5px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-1px) rotate(45deg); transition: transform .2s ease; }
.ae-utility-switcher[open] .ae-utility-switcher__chevron { transform: translateY(1px) rotate(225deg); }
.ae-utility-switcher__panel { position: absolute; top: calc(100% + 7px); right: 0; z-index: 5; width: 210px; padding: 7px; border: 1px solid rgba(200, 161, 107, .42); background: #080808; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); }
.ae-utility-switcher__current { position: relative; display: grid; width: 100%; padding: 10px 11px; border: 0; background: rgba(255, 255, 255, .04); color: #fff; font: inherit; letter-spacing: .04em; text-align: left; cursor: pointer; }
.ae-utility-switcher__current::after { content: "✓"; position: absolute; right: 18px; color: var(--aev2-gold, #c8a16b); font-size: 11px; }
.ae-utility-switcher__current small { margin-top: 4px; padding-right: 20px; color: rgba(255, 255, 255, .58); font-size: 8px; font-weight: 400; letter-spacing: .02em; line-height: 1.45; }
.ae-utility-switcher__current:hover, .ae-utility-switcher__current:focus-visible { background: rgba(200, 161, 107, .13); outline: 0; }
.ae-wordmark { flex-direction: column; align-items: center; gap: 4px; white-space: nowrap; }
.ae-footer-brand__logo { flex-direction: row; align-items: center; gap: 9px; white-space: nowrap; }
body.ae-theme .ae-wordmark > .ae-wordmark__mark { display: block; width: auto !important; max-width: none; height: clamp(26px, 2.5vw, 34px) !important; flex: 0 0 auto; object-fit: contain; filter: invert(80%) sepia(28%) saturate(650%) hue-rotate(352deg) brightness(94%) contrast(88%); transform: none; }
.ae-footer-brand__logo .ae-wordmark__mark { width: auto; height: 22px; }
.ae-welcome-modal[hidden] { display: none !important; }
.ae-welcome-modal { position: fixed; inset: 0; z-index: 500; display: grid; place-items: center; padding: 24px; }
.ae-welcome-modal__backdrop { position: absolute; inset: 0; background: rgba(5, 5, 5, .72); }
.ae-welcome-modal__dialog { position: relative; z-index: 1; width: min(100%, 560px); padding: clamp(30px, 6vw, 64px); border: 1px solid rgba(200, 161, 107, .6); background: var(--aev2-cream, #f4efe9); box-shadow: 0 28px 80px rgba(0, 0, 0, .3); }
.ae-welcome-modal__dialog h2 { max-width: 430px; margin: 0 0 16px; color: var(--aev2-text, #171310); font-family: var(--ae-display); font-size: clamp(34px, 6vw, 58px); font-weight: 400; line-height: .95; }
.ae-welcome-modal__dialog > p:not(.aev2-kicker) { max-width: 420px; margin: 0 0 24px; color: var(--aev2-muted, #70675f); }
.ae-welcome-modal__close { position: absolute; top: 14px; right: 14px; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--aev2-border, #d9cfc5); background: transparent; color: var(--aev2-text, #171310); cursor: pointer; }
.ae-welcome-modal__close:hover, .ae-welcome-modal__close:focus-visible { border-color: var(--aev2-gold, #c8a16b); background: var(--aev2-gold, #c8a16b); }
body.ae-modal-is-open { overflow: hidden; }
.ae-online-services { padding: clamp(44px, 7vw, 86px) 0; background: #efe6dd; }
.ae-online-services__heading { max-width: 650px; margin-bottom: 30px; }
.ae-online-services__heading h2 { margin: 0; color: var(--aev2-text); font-family: var(--ae-display); font-size: clamp(32px, 4vw, 52px); font-weight: 400; line-height: .98; }
.ae-online-services__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--aev2-border); border-left: 1px solid var(--aev2-border); }
.ae-online-service { min-width: 0; padding: 24px clamp(16px, 2.3vw, 32px) 20px; border-right: 1px solid var(--aev2-border); border-bottom: 1px solid var(--aev2-border); }
.ae-online-service__number { display: block; margin-bottom: 24px; color: var(--aev2-gold); font-size: 10px; letter-spacing: .15em; }
.ae-online-service h3 { margin: 0 0 8px; color: var(--aev2-text); font-size: 22px; font-weight: 400; line-height: 1.1; }
.ae-online-service p { margin: 0; color: var(--aev2-muted); font-size: 12px; line-height: 1.65; }
.ae-floating-contact { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); z-index: 280; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid var(--aev2-gold-light); border-radius: 50%; background: var(--aev2-black); color: var(--aev2-gold-light) !important; box-shadow: 0 10px 30px rgba(0, 0, 0, .2); text-decoration: none !important; transition: transform .2s ease, background-color .2s ease, color .2s ease; }
.ae-floating-contact:hover, .ae-floating-contact:focus-visible { background: var(--aev2-gold); color: var(--aev2-black) !important; transform: translateY(-2px); }
.ae-floating-contact.is-suppressed { display: none !important; }
.ae-single-product__promises { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 36px 0 0; border: 1px solid var(--ae-border); background: var(--ae-border); }
.ae-single-product__promise { min-width: 0; padding: 18px; background: var(--ae-card); }
.ae-single-product__promise .ae-icon { margin-bottom: 10px; color: var(--ae-gold); }
.ae-single-product__promise strong, .ae-single-product__promise span { display: block; }
.ae-single-product__promise strong { margin-bottom: 4px; color: var(--ae-text); font-family: var(--ae-display); font-size: 20px; font-weight: 500; line-height: 1.05; }
.ae-single-product__promise span { color: var(--ae-muted); font-size: 11px; line-height: 1.5; }
.ae-product-editorial { display: grid; gap: clamp(48px, 7vw, 88px); padding-top: clamp(58px, 8vw, 104px); }
.ae-product-editorial__split { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); gap: clamp(34px, 7vw, 96px); align-items: center; }
.ae-product-editorial__split--reverse .ae-product-editorial__media { order: 2; }
.ae-product-editorial__media { min-width: 0; overflow: hidden; background: #efe7df; }
.ae-product-editorial__media:empty { display: none; }
.ae-product-editorial__media img { display: block; width: 100%; aspect-ratio: 1 / 1.08; object-fit: contain; }
.ae-product-editorial__copy { min-width: 0; }
.ae-product-editorial__copy h2 { max-width: 540px; margin: 0 0 22px; color: var(--ae-text) !important; font-family: var(--ae-display); font-size: clamp(38px, 5vw, 66px); font-weight: 400; line-height: .92; }
.ae-product-editorial__copy > p:not(.ae-eyebrow), .ae-product-editorial__body { color: var(--ae-muted); font-size: 13px; line-height: 1.8; }
.ae-product-editorial__body > :first-child { margin-top: 0; }
.ae-product-editorial__body > :last-child { margin-bottom: 0; }
.ae-product-editorial__body ul { padding-left: 18px; }
.ae-product-editorial__copy .ae-btn { margin-top: 18px; }
.ae-product-editorial__details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ae-border); border-left: 1px solid var(--ae-border); }
.ae-product-editorial__details article { min-width: 0; padding: clamp(22px, 3vw, 38px); border-right: 1px solid var(--ae-border); border-bottom: 1px solid var(--ae-border); }
.ae-product-editorial__details article > span { color: var(--ae-gold); font-size: 9px; letter-spacing: .14em; }
.ae-product-editorial__details h3 { margin: 18px 0 9px; color: var(--ae-text) !important; font-family: var(--ae-display); font-size: 27px; font-weight: 500; line-height: 1; }
.ae-product-editorial__details p { margin: 0; color: var(--ae-muted); font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.ae-site-footer__grid { grid-template-columns: 1.4fr repeat(2, minmax(0, 1fr)); }
.ae-site-footer__grid > * { min-width: 0; }
@media (min-width: 861px) { .ae-single-product__summary { position: sticky; top: 24px; } }
@media (max-width: 800px) { .ae-online-services__grid, .ae-single-product__promises { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ae-product-editorial__split { grid-template-columns: 1fr; } .ae-product-editorial__split--reverse .ae-product-editorial__media { order: 0; } .ae-product-editorial__details { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .ae-shell { width: min(100% - 36px, var(--ae-shell-width)); } .ae-wordmark { gap: 3px; font-size: 15px; } body.ae-theme .ae-wordmark > .ae-wordmark__mark { width: auto !important; height: 23px !important; } .ae-online-services__grid, .ae-single-product__promises { grid-template-columns: 1fr; } .ae-online-service { padding: 20px; } .ae-floating-contact { width: 52px; height: 52px; } .ae-product-editorial { gap: 44px; padding-top: 54px; } .ae-product-editorial__copy h2 { font-size: 38px; } .ae-site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

/* Connected forms, truthful store status and Journal data navigation. */
.ae-utility-switcher__current {
	cursor: default;
}

.ae-utility-switcher__current:hover {
	background: rgba(255, 255, 255, .04);
}

.aev2-wpforms-shell .wpforms-container,
.ae-newsletter-form-shell .wpforms-container {
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.aev2-wpforms-shell .wpforms-container-full,
.ae-newsletter-form-shell .wpforms-container-full {
	--wpforms-container-background-color: transparent;
	--wpforms-container-border-color: transparent;
	--wpforms-container-border-size: 0;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.aev2-wpforms-shell .wpforms-container .wpforms-field,
.ae-newsletter-form-shell .wpforms-container .wpforms-field {
	min-width: 0;
}

#wpforms-form-182.aev2-contact-form {
	display: grid;
	gap: 10px;
}

#wpforms-form-182.aev2-contact-form > .wpforms-field-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

#wpforms-form-182 .wpforms-field {
	padding: 0;
}

#wpforms-form-182 #wpforms-182-field_0-container,
#wpforms-form-182 #wpforms-182-field_4-container {
	grid-column: span 1;
}

#wpforms-form-182 #wpforms-182-field_1-container,
#wpforms-form-182 #wpforms-182-field_2-container {
	grid-column: 1 / -1;
}

#wpforms-form-182 .wpforms-field-label,
#wpforms-form-182 .wpforms-field-sublabel {
	color: var(--aev2-text);
	font-size: 9px;
	font-weight: 500;
	line-height: 1.35;
}

#wpforms-form-182 .wpforms-field-label {
	margin-bottom: 5px;
}

#wpforms-form-182 .wpforms-field-row,
#wpforms-form-182 input,
#wpforms-form-182 textarea {
	width: 100%;
	max-width: none;
}

#wpforms-form-182 input,
#wpforms-form-182 textarea {
	padding: 11px 12px;
	border: 1px solid var(--aev2-border);
	border-radius: 0;
	background: transparent;
	color: var(--aev2-text);
	font-size: 9px;
	box-shadow: none;
}

#wpforms-form-182 input:focus,
#wpforms-form-182 textarea:focus {
	border-color: var(--aev2-gold);
	outline: 1px solid var(--aev2-gold);
	outline-offset: 0;
}

#wpforms-form-182 .wpforms-submit-container {
	display: block;
	padding: 0;
	margin: 0;
}

#wpforms-form-182 .wpforms-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 39px;
	padding: 10px 22px;
	border: 1px solid #111;
	border-radius: 0;
	background: #111;
	color: #fff;
	font-size: 8px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

#wpforms-form-182 .wpforms-submit:hover,
#wpforms-form-182 .wpforms-submit:focus-visible {
	border-color: var(--aev2-gold);
	background: var(--aev2-gold);
	color: #111;
}

.ae-newsletter-form-shell {
	width: min(100%, 520px);
}

#wpforms-form-181.ae-newsletter-form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	width: 100%;
	gap: 8px;
}

#wpforms-form-181 > .wpforms-field-container {
	flex: 1 1 280px;
}

#wpforms-form-181 .wpforms-field {
	padding: 0;
}

#wpforms-form-181 .wpforms-field-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#wpforms-form-181 input[type="email"] {
	width: 100%;
	max-width: none;
	min-height: 40px;
	padding: 10px 13px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 0;
	background: transparent;
	color: #fff;
	box-shadow: none;
}

#wpforms-form-181 input[type="email"]::placeholder {
	color: rgba(255, 255, 255, .58);
	opacity: 1;
}

#wpforms-form-181 input[type="email"]:focus {
	border-color: var(--aev2-gold);
	outline: 1px solid var(--aev2-gold);
	outline-offset: 0;
}

#wpforms-form-181 .wpforms-submit-container {
	flex: 0 0 auto;
	padding: 0;
	margin: 0;
}

#wpforms-form-181 .wpforms-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 10px 22px;
	border: 1px solid var(--ae-ink);
	border-radius: 0;
	background: var(--ae-ink);
	color: var(--ae-white);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

#wpforms-form-181 .wpforms-submit:hover,
#wpforms-form-181 .wpforms-submit:focus-visible {
	border-color: var(--ae-gold);
	background: var(--ae-gold);
	color: var(--ae-ink);
}

#wpforms-form-181 .wpforms-error-container,
#wpforms-form-181 label.wpforms-error,
#wpforms-form-181 em.wpforms-error {
	flex: 1 0 100%;
	color: #ffd5d5;
	font-size: 9px;
}

.aev2-wpforms-shell .wpforms-error-container,
.aev2-wpforms-shell label.wpforms-error,
.aev2-wpforms-shell em.wpforms-error {
	color: #9d2f2f;
	font-size: 9px;
}

.ae-newsletter-form-shell .wpforms-confirmation-container-full,
.aev2-wpforms-shell .wpforms-confirmation-container-full {
	padding: 12px 14px;
	margin: 0;
	border: 1px solid var(--aev2-gold);
	background: rgba(200, 161, 107, .1);
	color: inherit;
	font-size: 10px;
}

.ae-newsletter-form-shell .wpforms-confirmation-container-full p,
.aev2-wpforms-shell .wpforms-confirmation-container-full p {
	margin: 0;
	color: inherit;
}

.ae-form-notice {
	padding: 12px 14px;
	border: 1px solid var(--aev2-border);
	font-size: 10px;
	line-height: 1.55;
}

.ae-form-notice--error {
	border-color: #a84a4a;
	color: #a84a4a;
}

.ae-newsletter-band .ae-form-notice--error {
	border-color: rgba(255, 135, 135, .55);
	color: #ffd5d5;
}

.aev2-journal-toolbar nav {
	flex-wrap: wrap;
}

.aev2-article-grid > .ae-form-notice {
	grid-column: 1 / -1;
}

.aev2-journal-sidebar li a {
	display: flex;
	justify-content: space-between;
	width: 100%;
	color: inherit;
	text-decoration: none;
}

.aev2-journal-sidebar li.is-active a,
.aev2-journal-sidebar li a:hover,
.aev2-journal-sidebar li a:focus-visible {
	color: #8e6e40;
}

.aev2-journal-pagination {
	margin-top: 38px;
}

.aev2-journal-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.aev2-journal-pagination a,
.aev2-journal-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	min-height: 34px;
	padding: 7px 10px;
	border: 1px solid var(--aev2-border);
	color: var(--aev2-text);
	font-size: 9px;
	text-decoration: none;
}

.aev2-journal-pagination .current,
.aev2-journal-pagination a:hover,
.aev2-journal-pagination a:focus-visible {
	border-color: var(--aev2-text);
	background: var(--aev2-text);
	color: #fff;
}

@media (max-width: 600px) {
	#wpforms-form-182.aev2-contact-form > .wpforms-field-container {
		grid-template-columns: 1fr;
	}

	#wpforms-form-182 #wpforms-182-field_0-container,
	#wpforms-form-182 #wpforms-182-field_4-container {
		grid-column: 1;
	}

	#wpforms-form-181.ae-newsletter-form {
		flex-direction: column;
		align-items: stretch;
	}

	#wpforms-form-181 > .wpforms-field-container,
	#wpforms-form-181 .wpforms-submit-container,
	#wpforms-form-181 .wpforms-submit {
		width: 100%;
		flex-basis: auto;
	}
}


/* Source: assets/css/ae-v3.css */
/*
 * ANGELIASEYE v3 presentation layer.
 *
 * Loaded last, after every earlier layer, so these rules are the production
 * presentation system for the 2026-09 rebuild:
 *   - BLACK / WHITE / GREY core with only minimal gold accents
 *   - six-level typographic hierarchy (LEVEL 01 - LEVEL 06)
 *   - full-bleed sections without white page borders
 *   - scroll-driven cinematic motion primitives (parallax, zoom, reveal)
 */

/* ------------------------------------------------------------------ tokens */
:root {
	--a3-black: #050505;
	--a3-black-soft: #0b0b0b;
	--a3-coal: #131313;
	--a3-graphite: #1d1d1d;
	--a3-grey-700: #3a3a3a;
	--a3-grey-500: #6d6d6d;
	--a3-grey-400: #8d8d8d;
	--a3-grey-300: #b9b9b9;
	--a3-grey-200: #d8d8d8;
	--a3-grey-100: #ececec;
	--a3-white: #ffffff;
	--a3-paper: #f5f5f3;
	--a3-gold: #c2a36b;
	--a3-gold-dim: #9d8253;
	--a3-line: rgba(255, 255, 255, .14);
	--a3-line-dark: rgba(0, 0, 0, .12);
	--a3-text: #101010;
	--a3-text-invert: #f2f2f0;
	--a3-gutter: clamp(20px, 4.4vw, 76px);
	--a3-max: 1360px;
	--a3-slow: cubic-bezier(.19, 1, .22, 1);
	--a3-ease: cubic-bezier(.4, 0, .2, 1);
}

/* -------------------------------------------------- six-level type system */
/* LEVEL 01 - oversized statement type. Hero use only. */
.ae3-l1,
body.ae-theme .ae3-l1 {
	margin: 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(38px, 6.6vw, 96px);
	font-weight: 300;
	line-height: .98;
	letter-spacing: -.015em;
	text-transform: none;
}

/* LEVEL 02 - section titles. */
.ae3-l2,
body.ae-theme .ae3-l2 {
	margin: 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(26px, 3.4vw, 52px);
	font-weight: 300;
	line-height: 1.08;
	letter-spacing: -.01em;
}

/* LEVEL 03 - core keyword. */
.ae3-l3,
body.ae-theme .ae3-l3 {
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: clamp(13px, 1.15vw, 16px);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .3em;
	text-transform: uppercase;
}

/* LEVEL 04 - article title. */
.ae3-l4,
body.ae-theme .ae3-l4 {
	margin: 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(19px, 1.75vw, 26px);
	font-weight: 400;
	line-height: 1.26;
}

/* LEVEL 05 - supporting copy, hard-capped at three lines of measure. */
.ae3-l5,
body.ae-theme .ae3-l5 {
	max-width: 46ch;
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.85;
	letter-spacing: .015em;
}

/* LEVEL 06 - micro CTA. */
.ae3-l6,
body.ae-theme .ae3-l6,
.ae3-cta {
	display: inline-flex;
	align-items: center;
	gap: .7em;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10.5px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .26em;
	text-transform: uppercase;
	text-decoration: none;
	border: 0;
	background: none;
	padding: 0 0 6px;
	border-bottom: 1px solid currentColor;
	cursor: pointer;
}

.ae3-kicker,
body.ae-theme .ae3-kicker {
	display: block;
	margin: 0 0 18px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

.ae3-rule {
	display: block;
	width: 46px;
	height: 1px;
	margin: 20px 0;
	background: currentColor;
	opacity: .32;
	border: 0;
}

.ae3-rule--center {
	margin-inline: auto;
}

/* --------------------------------------------------------- layout + reset */
html.ae-v3 {
	scroll-behavior: smooth;
}

body.ae-theme.ae-v3 {
	background: var(--a3-white);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* G-01: no white page frame - every custom section runs edge to edge. */
body.ae-theme.ae-v3 #main-container,
body.ae-theme.ae-v3 .site-main,
body.ae-theme.ae-v3 main#main {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: inherit;
}

.ae3-shell {
	width: min(100% - (var(--a3-gutter) * 2), var(--a3-max));
	margin-inline: auto;
}

.ae3-shell--narrow {
	width: min(100% - (var(--a3-gutter) * 2), 940px);
}

.ae3-section {
	position: relative;
	padding: clamp(64px, 9vw, 148px) 0;
	overflow: hidden;
	color: var(--a3-text);
}

.ae3-section--tight {
	padding: clamp(44px, 5.5vw, 84px) 0;
}

.ae3-section--dark {
	background: var(--a3-black);
	color: var(--a3-text-invert);
}

.ae3-section--coal {
	background: var(--a3-coal);
	color: var(--a3-text-invert);
}

.ae3-section--paper {
	background: var(--a3-paper);
	color: var(--a3-text);
}

/* ------------------------------------------------------------- media base */
.ae3-media {
	position: relative;
	overflow: hidden;
	background: var(--a3-graphite);
}

.ae3-media > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ------------------------------------------------------ motion primitives */
.ae3-motion {
	will-change: transform, opacity;
}

.ae3-reveal {
	opacity: 0;
	transform: translate3d(0, 30px, 0);
	transition: opacity 1.05s var(--a3-slow), transform 1.05s var(--a3-slow);
}

.ae3-reveal.is-in {
	opacity: 1;
	transform: none;
}

.ae3-reveal--slow {
	transition-duration: 1.5s;
}

.ae3-reveal--right {
	transform: translate3d(38px, 0, 0);
}

.ae3-reveal--left {
	transform: translate3d(-38px, 0, 0);
}

.ae3-reveal.is-in.ae3-reveal--right,
.ae3-reveal.is-in.ae3-reveal--left {
	transform: none;
}

/* Parallax + zoom actors: the JS layer only writes these custom properties. */
.ae3-parallax,
.ae3-zoom {
	--a3-py: 0px;
	--a3-zoom: 1;
}

.ae3-parallax > img,
.ae3-parallax > .ae3-media__img {
	transform: translate3d(0, var(--a3-py), 0) scale(var(--a3-zoom, 1));
	will-change: transform;
}

/* Leaves headroom so a translated image never exposes its container. */
.ae3-parallax--room {
	height: 114%;
	top: -7%;
}

.ae3-parallax-wrap {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.ae3-parallax-wrap > .ae3-parallax--room {
	position: absolute;
	left: 0;
	right: 0;
}

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

	.ae3-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.ae3-parallax > img,
	.ae3-parallax > .ae3-media__img {
		transform: none !important;
	}
}

/* ------------------------------------------------------------------ header */
body.ae-theme.ae-v3 .ae-site-header {
	background: var(--a3-black);
}

body.ae-theme.ae-v3 .ae-utility-bar {
	background: #000;
	border-bottom: 1px solid var(--a3-line);
}

body.ae-theme.ae-v3 .ae-nav-row {
	background: #000;
	border-top: 1px solid var(--a3-line);
	border-bottom: 1px solid var(--a3-line);
}

body.ae-theme.ae-v3 .ae-menu__link {
	color: rgba(255, 255, 255, .8);
	font-size: 10px;
	letter-spacing: .24em;
	text-transform: uppercase;
}

body.ae-theme.ae-v3 .ae-menu__item.is-current > .ae-menu__link,
body.ae-theme.ae-v3 .ae-menu__link:hover {
	color: var(--a3-white);
}

/* ------------------------------------------------------------------ footer */
.ae3-footer {
	background: var(--a3-black);
	color: var(--a3-text-invert);
	padding: clamp(56px, 6vw, 96px) 0 0;
}

.ae3-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 72px);
	padding-bottom: clamp(40px, 5vw, 72px);
}

.ae3-footer__brand-name {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: 22px;
	letter-spacing: .16em;
	color: var(--a3-white);
}

.ae3-footer__brand-name sup {
	font-size: 8px;
	letter-spacing: 0;
}

.ae3-footer__brand p {
	margin: 18px 0 0;
	color: rgba(255, 255, 255, .62);
}

.ae3-footer__col h2 {
	margin: 0 0 18px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

.ae3-footer__col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ae3-footer__col li + li {
	margin-top: 10px;
}

.ae3-footer__col a {
	color: rgba(255, 255, 255, .78);
	font-size: 12.5px;
	text-decoration: none;
}

.ae3-footer__col a:hover {
	color: var(--a3-white);
}

.ae3-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 26px;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0 26px;
	border-top: 1px solid var(--a3-line);
	color: rgba(255, 255, 255, .5);
	font-size: 11px;
}

.ae3-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.ae3-footer__legal a {
	color: rgba(255, 255, 255, .5);
	text-decoration: none;
}

.ae3-footer__socials {
	display: flex;
	gap: 14px;
	margin-top: 26px;
}

.ae3-footer__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: rgba(255, 255, 255, .8);
	border: 1px solid var(--a3-line);
	border-radius: 50%;
}

.ae3-footer__socials .ae-icon {
	width: 15px;
	height: 15px;
}

/* --------------------------------------------------------------- home hero */
.ae3-hero {
	position: relative;
	min-height: clamp(560px, 92vh, 940px);
	display: flex;
	align-items: flex-end;
	background: #000;
	color: var(--a3-text-invert);
	overflow: hidden;
}

.ae3-hero__media {
	position: absolute;
	inset: 0;
}

.ae3-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% 55%;
}

.ae3-hero__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .74) 34%, rgba(0, 0, 0, .3) 62%, rgba(0, 0, 0, .12) 100%),
		linear-gradient(0deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, 0) 46%);
}

.ae3-hero__inner {
	position: relative;
	z-index: 2;
	padding: clamp(96px, 12vh, 168px) 0 clamp(54px, 7vh, 96px);
}

.ae3-hero__copy {
	max-width: 640px;
}

.ae3-hero__product {
	margin: 22px 0 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(17px, 1.5vw, 21px);
	letter-spacing: .06em;
}

.ae3-hero__desc {
	margin: 18px 0 0;
}

.ae3-hero__size {
	margin: 20px 0 0;
	font-size: 10px;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .68);
}

.ae3-hero__actions {
	margin-top: 34px;
}

/* ------------------------------------------------------- science statement */
.ae3-triplet {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 4vw, 76px);
	margin-top: clamp(34px, 5vw, 72px);
}

.ae3-triplet > div {
	padding-top: 22px;
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-section--dark .ae3-triplet > div,
.ae3-section--coal .ae3-triplet > div {
	border-top-color: var(--a3-line);
}

.ae3-triplet small {
	display: block;
	margin-bottom: 14px;
	font-size: 10px;
	letter-spacing: .3em;
	color: var(--a3-grey-500);
}

.ae3-section--dark .ae3-triplet small,
.ae3-section--coal .ae3-triplet small {
	color: var(--a3-grey-400);
}

.ae3-triplet p {
	margin: 16px 0 0;
	color: var(--a3-grey-700);
}

.ae3-section--dark .ae3-triplet p,
.ae3-section--coal .ae3-triplet p {
	color: rgba(255, 255, 255, .68);
}

/* Introduction block used by several sections. */
.ae3-intro {
	max-width: 900px;
}

.ae3-intro--center {
	margin-inline: auto;
	text-align: center;
}

/* Same specificity caveat as the centred band above. */
body.ae-theme .ae3-intro--center .ae3-l5 {
	text-align: center;
	margin-inline: auto;
}

.ae3-intro .ae3-l5 {
	margin-top: 22px;
}

/* --------------------------------------------------------- staggered science */
.ae3-stagger {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: clamp(24px, 3vw, 56px) 0;
	margin-top: clamp(36px, 5vw, 76px);
}

.ae3-stagger__item {
	grid-column: span 5;
	padding-top: 20px;
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-stagger__item:nth-child(1) {
	grid-column: 1 / span 5;
}

.ae3-stagger__item:nth-child(2) {
	grid-column: 4 / span 5;
	margin-top: clamp(24px, 6vw, 96px);
}

.ae3-stagger__item:nth-child(3) {
	grid-column: 7 / span 5;
	margin-top: clamp(-16px, -2vw, 0px);
}

.ae3-stagger__item p {
	margin: 16px 0 0;
	color: var(--a3-grey-700);
}

/* --------------------------------------------------------------- ritual row */
.ae3-ritual {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-top: clamp(34px, 5vw, 70px);
	border-top: 1px solid var(--a3-line);
}

.ae3-ritual > div {
	position: relative;
	padding: 30px clamp(16px, 2.4vw, 34px) 6px;
	border-right: 1px solid var(--a3-line);
}

.ae3-ritual > div:last-child {
	border-right: 0;
}

.ae3-ritual > div::before {
	content: "";
	position: absolute;
	top: -4px;
	left: 50%;
	width: 7px;
	height: 7px;
	margin-left: -3.5px;
	background: var(--a3-gold);
	border-radius: 50%;
}

.ae3-ritual small {
	display: block;
	margin-bottom: 12px;
	font-size: 10px;
	letter-spacing: .3em;
	color: var(--a3-gold);
}

.ae3-ritual p {
	margin: 14px 0 0;
	color: rgba(255, 255, 255, .66);
}

/* --------------------------------------------------------- full-bleed bands */
.ae3-band {
	position: relative;
	min-height: clamp(280px, 46vw, 620px);
	display: flex;
	align-items: center;
	color: var(--a3-text-invert);
	background: #000;
	overflow: hidden;
}

.ae3-band__media {
	position: absolute;
	inset: 0;
}

.ae3-band__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae3-band__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .52) 45%, rgba(0, 0, 0, .18) 100%);
}

.ae3-band__inner {
	position: relative;
	z-index: 2;
	padding: clamp(48px, 6vw, 104px) 0;
}

.ae3-band--center .ae3-band__scrim {
	background: rgba(0, 0, 0, .62);
}

.ae3-band--center .ae3-band__inner {
	text-align: center;
}

/*
 * `.ae3-l5` caps at 46ch for readability, so a centred band needs both the
 * auto margins AND the text-align on the paragraph itself. Without the latter
 * the wrapped second line stays flush left inside the centred block.
 */
/*
 * `.ae3-l5` caps at 46ch for readability, so a centred band needs both the
 * auto margins AND the text-align on the paragraph itself. Without the latter
 * the wrapped second line stays flush left inside the centred block.
 *
 * The `body.ae-theme` prefix is required: the level rules are declared as
 * `body.ae-theme .ae3-l5 { margin: 0 }`, which outranks a bare
 * `.ae3-band--center .ae3-l5` and would otherwise cancel the centring.
 */
body.ae-theme .ae3-band--center .ae3-band__inner .ae3-l5 {
	text-align: center;
	margin-inline: auto;
}

/*
 * For bands whose artwork is a light paper/greige texture rather than a dark
 * photograph. Without this the default black scrim flattens the image into a
 * grey slab and the white type loses contrast against it.
 */
.ae3-band--light {
	background: var(--a3-paper, #f5f5f3);
	color: var(--a3-text, #101010);
}

.ae3-band--light .ae3-band__scrim {
	background: linear-gradient(90deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .72) 48%, rgba(255, 255, 255, .34) 100%);
}

.ae3-band--light .ae3-kicker {
	color: var(--a3-gold);
}

.ae3-band--light .ae3-l1,
.ae3-band--light .ae3-l2,
.ae3-band--light .ae3-l3 {
	color: var(--a3-text, #101010);
}

.ae3-band--light .ae3-l5 {
	color: rgba(16, 16, 16, .62);
}

.ae3-band--light .ae3-band__media img {
	mix-blend-mode: multiply;
}

/* ------------------------------------------------------------- product rows */
.ae3-products {
	background: var(--a3-black);
	color: var(--a3-text-invert);
}

.ae3-product-row {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	align-items: center;
	gap: clamp(28px, 5vw, 92px);
	padding: clamp(44px, 6vw, 110px) 0;
	border-bottom: 1px solid var(--a3-line);
}

.ae3-product-row:last-child {
	border-bottom: 0;
}

.ae3-product-row--flip .ae3-product-row__media {
	order: 2;
}

.ae3-product-row__media {
	position: relative;
	overflow: hidden;
	/*
	 * Excel《首面》D15 controls how much of the frame each product occupies.
	 * front-page.php passes that ratio as --ae3-h (a percentage of the frame
	 * height); the frame keeps the signed-off 16/9 editorial crop and the
	 * photograph is scaled inside it (see the img rule below).
	 */
	aspect-ratio: 16 / 9;
	background: var(--a3-black);
}

/*
 * Must outrank `body.ae-theme.ae-v3 img { height: auto }`, otherwise the
 * editor-controlled --ae3-h ratio below is silently discarded.
 *
 * Excel《首面》D15 states how much of the frame each product photograph should
 * occupy (Pure 45–50%, Midnight 50–55%, Serum 50%, Mask 35–45%). The frame is
 * the approved 16/9 editorial crop, so the ratio is expressed as a scale
 * anchored on 50 = the signed-off 2026-09-25 composition:
 *   50 → 1.00 (unchanged), 48 → 0.96, 52 → 1.04, 40 → 0.80.
 * Directions therefore match the document (Mask smallest, Midnight largest)
 * while the default never alters the approved look.
 */
body.ae-theme.ae-v3 .ae3-product-row__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(calc(var(--ae3-h, 50) / 50));
	transform-origin: center;
}

.ae3-product-row__index {
	font-size: 10px;
	letter-spacing: .32em;
	color: var(--a3-gold);
}

.ae3-product-row__name {
	margin: 18px 0 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(24px, 2.8vw, 42px);
	font-weight: 300;
	line-height: 1.1;
}

.ae3-product-row__sub {
	margin: 14px 0 0;
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .62);
}

.ae3-product-row__desc {
	margin: 20px 0 0;
	color: rgba(255, 255, 255, .68);
}

.ae3-product-row__spec {
	margin: 22px 0 0;
	font-size: 10px;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .5);
}

.ae3-product-row__actions {
	margin-top: 30px;
}

/*
 * The product-row primitives default to white type because the home page runs
 * them on black. The shop reuses the same markup on paper sections, where the
 * hard-coded rgba(255,255,255) children ignore the inline inherited colour and
 * the headings wash out. This modifier restores the ink palette.
 */
.ae3-product-row--light {
	color: var(--a3-text);
	border-color: var(--a3-line-dark);
}

.ae3-product-row--light .ae3-product-row__sub {
	color: rgba(16, 16, 16, .6);
}

.ae3-product-row--light .ae3-product-row__desc {
	color: rgba(16, 16, 16, .68);
}

.ae3-product-row--light .ae3-product-row__spec {
	color: rgba(16, 16, 16, .52);
}

.ae3-product-row--light .ae3-product-row__actions .ae3-cta {
	color: var(--a3-text);
}

.ae3-product-row--light .ae3-accordion summary,
.ae3-product-row--light .ae3-accordion__body {
	color: rgba(16, 16, 16, .74);
}

.ae3-product-row--light .ae3-accordion details {
	border-color: var(--a3-line-dark);
}

/* -------------------------------------------------------------- journal grid */
.ae3-journal {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(24px, 3.4vw, 64px);
	margin-top: clamp(30px, 4vw, 58px);
}

.ae3-journal__small {
	display: grid;
	gap: clamp(20px, 2.6vw, 38px);
	align-content: start;
}

.ae3-article {
	display: block;
	text-decoration: none;
	color: inherit;
}

.ae3-article__media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--a3-graphite);
}

.ae3-journal__lead .ae3-article__media {
	aspect-ratio: 4 / 3;
}

.ae3-article__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.4s var(--a3-slow);
}

.ae3-article:hover .ae3-article__media img {
	transform: scale(1.04);
}

.ae3-article__cat {
	display: block;
	margin: 22px 0 12px;
	font-size: 9.5px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

.ae3-article__title {
	margin: 0;
}

.ae3-article p {
	margin: 14px 0 0;
	color: var(--a3-grey-700);
}

.ae3-article__more {
	display: inline-block;
	margin-top: 18px;
}

.ae3-journal__small .ae3-article__media {
	aspect-ratio: 16 / 9;
}

.ae3-journal__small .ae3-article__cat {
	margin-top: 18px;
}

/* ------------------------------------------------------------- experience row */
.ae3-experience {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 52px);
	margin-top: clamp(34px, 4.6vw, 68px);
}

.ae3-experience > div {
	padding-top: 20px;
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-experience p {
	margin: 16px 0 0;
	color: var(--a3-grey-700);
}

/* --------------------------------------------------------- subscribe band */
.ae3-subscribe {
	background: var(--a3-black);
	color: var(--a3-text-invert);
	text-align: center;
}

.ae3-subscribe__inner {
	max-width: 720px;
	margin-inline: auto;
}

.ae3-subscribe__form {
	margin-top: 34px;
}

body.ae-theme.ae-v3 .ae3-subscribe .wpforms-container,
body.ae-theme.ae-v3 .ae3-subscribe form {
	margin: 0;
}

body.ae-theme.ae-v3 .ae3-subscribe input[type="email"],
body.ae-theme.ae-v3 .ae3-subscribe input[type="text"] {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--a3-line);
	color: var(--a3-white);
	text-align: center;
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	padding: 14px 4px;
}

body.ae-theme.ae-v3 .ae3-subscribe input::placeholder {
	color: rgba(255, 255, 255, .45);
}

body.ae-theme.ae-v3 .ae3-subscribe button[type="submit"],
body.ae-theme.ae-v3 .ae3-subscribe .wpforms-submit {
	margin-top: 24px;
	background: transparent;
	border: 1px solid var(--a3-gold);
	color: var(--a3-gold);
	padding: 14px 38px;
	font-size: 10.5px;
	letter-spacing: .26em;
	text-transform: uppercase;
}

body.ae-theme.ae-v3 .ae3-subscribe button[type="submit"]:hover,
body.ae-theme.ae-v3 .ae3-subscribe .wpforms-submit:hover {
	background: var(--a3-gold);
	color: #000;
}

/* --------------------------------------------------------------- about film */
.ae3-scene {
	position: relative;
	overflow: hidden;
	background: #000;
	color: var(--a3-text-invert);
}

.ae3-scene--full {
	min-height: clamp(520px, 96vh, 980px);
	display: flex;
	align-items: center;
}

.ae3-scene__media {
	position: absolute;
	inset: 0;
}

.ae3-scene__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae3-scene__scrim {
	position: absolute;
	inset: 0;
}

.ae3-scene__scrim--left {
	background: linear-gradient(90deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .34) 48%, rgba(0, 0, 0, .06) 100%);
}

.ae3-scene__scrim--soft {
	background: rgba(0, 0, 0, .34);
}

.ae3-scene__inner {
	position: relative;
	z-index: 2;
	width: min(100% - (var(--a3-gutter) * 2), var(--a3-max));
	margin-inline: auto;
	padding: clamp(56px, 8vw, 128px) 0;
}

.ae3-scene__inner--center {
	text-align: center;
}

.ae3-scene__inner--center .ae3-l5 {
	margin-inline: auto;
}

.ae3-scene__copy {
	max-width: 620px;
}

.ae3-scene__copy p {
	margin: 20px 0 0;
}

/* Editorial split scenes (image offset against floating type). */
.ae3-scene--split {
	background: var(--a3-white);
	color: var(--a3-text);
}

.ae3-split {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	align-items: center;
	gap: clamp(24px, 3vw, 56px);
	width: min(100% - (var(--a3-gutter) * 2), var(--a3-max));
	margin-inline: auto;
	padding: clamp(56px, 7vw, 124px) 0;
}

.ae3-split__media {
	grid-column: 6 / span 7;
	position: relative;
	overflow: hidden;
}

.ae3-split__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae3-split--flip .ae3-split__media {
	grid-column: 1 / span 7;
}

.ae3-split__copy {
	grid-column: 1 / span 5;
	position: relative;
	z-index: 3;
}

.ae3-split--flip .ae3-split__copy {
	grid-column: 8 / span 5;
}

.ae3-split__copy .ae3-l5 {
	margin-top: 22px;
}

/* Portrait column scene (Scene 02 style). */
.ae3-portrait {
	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
	gap: clamp(28px, 4vw, 84px);
	align-items: center;
	width: min(100% - (var(--a3-gutter) * 2), var(--a3-max));
	margin-inline: auto;
	padding: clamp(56px, 7vw, 124px) 0;
}

.ae3-portrait__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1080 / 2260;
	max-height: 78vh;
}

.ae3-portrait__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1) contrast(1.04);
}

.ae3-portrait__copy .ae3-l5 {
	margin-top: 22px;
}

.ae3-portrait__year {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(46px, 6vw, 92px);
	line-height: 1;
	letter-spacing: .02em;
}

/* Scene 03 house: hero product dominant, serum secondary behind. */
.ae3-house {
	position: relative;
	padding: clamp(64px, 8vw, 140px) 0 clamp(56px, 7vw, 120px);
	background: radial-gradient(120% 90% at 62% 30%, #1c1c1c 0%, #050505 62%);
	color: var(--a3-text-invert);
	overflow: hidden;
}

.ae3-house__inner {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr);
	gap: clamp(28px, 4vw, 72px);
	align-items: center;
	width: min(100% - (var(--a3-gutter) * 2), var(--a3-max));
	margin-inline: auto;
}

.ae3-house__media {
	position: relative;
}

.ae3-house__main {
	position: relative;
	overflow: hidden;
}

.ae3-house__main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae3-house__secondary {
	position: absolute;
	right: -4%;
	bottom: -8%;
	width: 42%;
	overflow: hidden;
	box-shadow: 0 40px 90px rgba(0, 0, 0, .6);
}

.ae3-house__secondary img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae3-house__copy p {
	margin: 20px 0 0;
}

.ae3-house__list {
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.ae3-house__list li {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 12px 0;
	border-bottom: 1px solid var(--a3-line);
	font-size: 12px;
	letter-spacing: .04em;
}

.ae3-house__list span:last-child {
	color: rgba(255, 255, 255, .55);
}

/* Scene 08 standard: four words placed independently, never four cards. */
.ae3-standard {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 18px;
	margin-top: clamp(34px, 4.4vw, 72px);
}

.ae3-standard span {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10.5px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-grey-700);
}

.ae3-section--dark .ae3-standard span {
	color: rgba(255, 255, 255, .6);
}

.ae3-standard span:nth-child(1) {
	grid-column: 1 / span 4;
}

.ae3-standard span:nth-child(2) {
	grid-column: 6 / span 3;
	margin-top: 46px;
}

.ae3-standard span:nth-child(3) {
	grid-column: 9 / span 3;
	margin-top: 12px;
}

.ae3-standard span:nth-child(4) {
	grid-column: 4 / span 4;
	margin-top: 30px;
}

/* Final statement scene. */
.ae3-final {
	background: var(--a3-white);
	color: var(--a3-text);
	text-align: center;
	padding: clamp(90px, 12vw, 220px) 0;
}

.ae3-final .ae3-l1 {
	font-size: clamp(30px, 4.6vw, 74px);
}

.ae3-final .ae3-l5 {
	margin: 28px auto 0;
}

.ae3-final__actions {
	margin-top: 44px;
}

/* --------------------------------------------------------------- shop blocks */
.ae3-shop-hero {
	position: relative;
	min-height: clamp(420px, 72vh, 760px);
	display: flex;
	align-items: center;
	background: #000;
	color: var(--a3-text-invert);
	overflow: hidden;
}

.ae3-shop-index {
	background: var(--a3-white);
}

.ae3-index-row {
	display: grid;
	grid-template-columns: 92px minmax(0, 1.4fr) minmax(0, 1fr) 130px;
	gap: clamp(16px, 3vw, 48px);
	align-items: center;
	padding: clamp(22px, 2.6vw, 38px) 0;
	border-bottom: 1px solid var(--a3-line-dark);
	text-decoration: none;
	color: inherit;
}

.ae3-index-row:first-child {
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-index-row__no {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(26px, 2.6vw, 38px);
	color: var(--a3-grey-400);
}

.ae3-index-row__title {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(18px, 1.8vw, 26px);
}

.ae3-index-row__series {
	display: block;
	margin-bottom: 6px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 9.5px;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

.ae3-index-row__sub {
	font-size: 12px;
	color: var(--a3-grey-500);
}

.ae3-index-row__cta {
	text-align: right;
	font-size: 10px;
	letter-spacing: .24em;
	text-transform: uppercase;
}

.ae3-index-row img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ae3-index-row__media {
	display: none;
}

.ae3-accordion {
	margin-top: clamp(28px, 3.4vw, 52px);
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-accordion details {
	border-bottom: 1px solid var(--a3-line-dark);
}

.ae3-accordion summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(18px, 1.7vw, 24px);
}

.ae3-accordion summary::-webkit-details-marker {
	display: none;
}

.ae3-accordion summary::after {
	content: "+";
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 18px;
	color: var(--a3-grey-400);
}

.ae3-accordion details[open] summary::after {
	content: "\2212";
}

.ae3-accordion__body {
	padding: 0 0 26px;
	max-width: 62ch;
	color: var(--a3-grey-700);
}

.ae3-shop-signature {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(28px, 4vw, 76px);
	align-items: center;
}

.ae3-shop-signature__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}

.ae3-shop-signature__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae3-shop-signature__price {
	margin: 20px 0 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(24px, 2.4vw, 34px);
}

.ae3-film {
	position: relative;
	min-height: clamp(320px, 54vw, 660px);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--a3-text-invert);
	background: #000;
	overflow: hidden;
}

.ae3-film__play {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: 26px;
}

.ae3-film__play .ae-icon {
	width: 46px;
	height: 46px;
	padding: 13px;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 50%;
}

/* ------------------------------------------------------- collections blocks */

/*
 * C1 - standalone intro band between the hero and the four-series section.
 * Deliberately tighter than `.ae3-section` (64-148px) so it reads as a caption
 * strip rather than a full section, and it owns the hairline that separates it
 * from the collections list below.
 */
.ae3-intro-band {
	padding: clamp(38px, 4.4vw, 68px) 0;
	border-bottom: 1px solid var(--a3-line);
	background: var(--a3-black);
	color: var(--a3-text-invert);
}

/* C2 - heading block that opens the four-series section. */
.ae3-collections-head {
	max-width: 760px;
	margin: 0 auto clamp(34px, 4vw, 60px);
	text-align: center;
}

body.ae-theme .ae3-collections-head .ae3-l2 {
	margin: 0;
}

/*
 * `.ae3-l5` is declared as `body.ae-theme .ae3-l5 { max-width: 46ch; margin: 0 }`
 * for the whole system, so the centred variant needs the matching prefix to
 * outrank it - same caveat as `.ae3-intro--center` and `.ae3-band--center`.
 */
body.ae-theme .ae3-collections-head .ae3-l5 {
	margin: 14px auto 0;
	text-align: center;
	color: rgba(255, 255, 255, .66);
}

/* C3 - continuous-band rows: tighter padding, stretched media column. */
.ae3-collection-row {
	display: grid;
	grid-template-columns: 84px minmax(0, .8fr) minmax(0, 1.5fr);
	gap: clamp(20px, 3vw, 56px);
	align-items: stretch;
	padding: clamp(22px, 2.4vw, 40px) 0;
	border-bottom: 1px solid var(--a3-line);
}

.ae3-collection-row:first-child {
	border-top: 1px solid var(--a3-line);
}

.ae3-collection-row__no {
	align-self: center;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(30px, 3vw, 46px);
	color: rgba(255, 255, 255, .38);
}

.ae3-collection-row__copy {
	align-self: center;
}

.ae3-collection-row__copy p {
	margin: 16px 0 0;
	color: rgba(255, 255, 255, .66);
}

.ae3-collection-row__media {
	position: relative;
	overflow: hidden;
	/* the element is a `<figure>`: clear the UA `margin: 1em 40px`, otherwise
	 * the column is inset 40px on both sides and 16px top/bottom and the row
	 * puffs up instead of sitting flush like the reference band. */
	margin: 0;
	aspect-ratio: auto;
	min-height: clamp(300px, 30vw, 470px);
}

/*
 * The global reset `body.ae-theme.ae-v3 img { height: auto }` (0,2,2) outranks
 * a bare `.ae3-collection-row__media img` (0,1,1), which would collapse the
 * photograph to its intrinsic height inside the stretched row.
 *
 * Re-declared with the body prefix AND taken out of flow: the figure has no
 * definite height (it is `min-height`, then stretched by `align-items`), so a
 * percentage height on an in-flow image would not resolve and the photograph
 * would fall back to its intrinsic aspect ratio. Absolutely filling the
 * relative figure makes the crop deterministic at every breakpoint, which is
 * what `object-fit: cover` needs.
 */
body.ae-theme.ae-v3 .ae3-collection-row__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae3-collection-row__actions {
	margin-top: 22px;
}

/* C4 - four-column variant; only row 02 carries the ritual aside. */
.ae3-collection-row--with-aside {
	grid-template-columns: 84px minmax(0, .72fr) minmax(0, 1.15fr) minmax(0, .6fr);
}

.ae3-collection-row__aside {
	align-self: center;
}

/* C5 - THE LUMIERE RITUAL three-step list on the right of row 02. */
.ae3-ritual-list {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.ae3-ritual-list li {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 14px;
	padding: 14px 0 14px 0;
	/* the connector rail sits on `left: 0`, so the number column is indented
	 * past it instead of colliding with the 1px line. */
	padding-left: 18px;
}

.ae3-ritual-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	background: var(--a3-line);
}

/* first entry starts halfway down, last one stops halfway: the rail reads as a
 * connector between the numbers instead of a full-height edge. */
.ae3-ritual-list li:first-child::before {
	top: 50%;
}

.ae3-ritual-list li:last-child::before {
	bottom: 50%;
}

.ae3-ritual-list__no {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: 17px;
	line-height: 1.3;
	color: var(--a3-gold);
}

.ae3-ritual-list__body {
	display: block;
}

.ae3-ritual-list__label {
	display: block;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

.ae3-ritual-list__name {
	display: block;
	margin-top: 4px;
	font-size: 12.5px;
	line-height: 1.65;
	color: rgba(255, 255, 255, .72);
}

/* C6 - outlined CTA for the closing band of the collections template. */
.ae3-cta--outline,
a.ae3-cta--outline {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 15px 30px;
	/* replaces the inherited `.ae3-cta` baseline underline with a hairline frame */
	border: 1px solid rgba(255, 255, 255, .55);
	border-bottom: 1px solid rgba(255, 255, 255, .55);
	border-radius: 0;
	background: transparent;
	color: var(--a3-text-invert);
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none;
}

/*
 * `.ae3-cta` draws its underline with `border-bottom` today, but a pseudo
 * element rule is a plausible later change, so both are neutralised here.
 */
.ae3-cta--outline::after {
	display: none;
	content: none;
}

.ae3-cta--outline:hover,
.ae3-cta--outline:focus-visible {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(255, 255, 255, .85);
	color: var(--a3-white);
}

/* C7 - hairline + diamond emblem above the closing kicker. Pure CSS. */
.ae3-cta-mark {
	position: relative;
	display: block;
	width: 220px;
	max-width: 100%;
	height: 18px;
	margin: 0 auto 22px;
}

/*
 * Two hairline halves instead of one continuous rule: each segment fades in
 * from the outside edge and stops short of the centre, which leaves exactly the
 * gap the diamond sits in and keeps the band photograph visible underneath.
 */
.ae3-cta-mark::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 1px;
	margin-top: -.5px;
	background-image:
		linear-gradient(90deg, transparent, rgba(255, 255, 255, .35)),
		linear-gradient(270deg, transparent, rgba(255, 255, 255, .35));
	background-repeat: no-repeat;
	background-position: left center, right center;
	background-size: calc(50% - 16px) 100%, calc(50% - 16px) 100%;
}

.ae3-cta-mark::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 7px;
	height: 7px;
	border: 1px solid var(--a3-gold);
	transform: translate(-50%, -50%) rotate(45deg);
}

/* c8 ---------------------------------------------------------- responsive */
@media (max-width: 1080px) {
	.ae3-collection-row--with-aside {
		grid-template-columns: 84px minmax(0, .8fr) minmax(0, 1.2fr);
	}

	.ae3-collection-row__aside {
		grid-column: 1 / -1;
		align-self: start;
		margin-top: 10px;
	}

	.ae3-ritual-list {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0 clamp(18px, 3vw, 40px);
	}

	.ae3-ritual-list li,
	.ae3-ritual-list li:first-child {
		padding: 14px 0 14px 18px;
	}

	.ae3-ritual-list li::before,
	.ae3-ritual-list li:first-child::before,
	.ae3-ritual-list li:last-child::before {
		content: "";
		top: 0;
		bottom: 0;
	}

	/* the first rail would otherwise hang off the left edge of the list. */
	.ae3-ritual-list li:first-child {
		padding-left: 0;
	}

	.ae3-ritual-list li:first-child::before {
		content: none;
	}
}

@media (max-width: 782px) {
	.ae3-collection-row,
	.ae3-collection-row--with-aside {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: clamp(26px, 6vw, 40px) 0;
	}

	.ae3-collection-row__no {
		align-self: start;
		font-size: 26px;
	}

	.ae3-collection-row__media {
		min-height: 260px;
	}

	.ae3-collection-row__aside {
		margin-top: 0;
	}

	.ae3-ritual-list {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ae3-ritual-list li,
	.ae3-ritual-list li:first-child {
		padding: 12px 0 12px 18px;
	}

	.ae3-ritual-list li::before,
	.ae3-ritual-list li:first-child::before {
		content: "";
		top: 0;
		bottom: 0;
	}

	.ae3-ritual-list li:first-child::before {
		top: 50%;
	}

	.ae3-ritual-list li:last-child::before {
		bottom: 50%;
	}
}

.ae3-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: 26px;
	border-left: 1px solid var(--a3-line);
}

.ae3-steps > div {
	padding: 0 0 0 18px;
	border-right: 1px solid var(--a3-line);
}

.ae3-steps small {
	display: block;
	margin-bottom: 10px;
	font-size: 10px;
	letter-spacing: .28em;
	color: var(--a3-gold);
}

.ae3-steps span {
	display: block;
	color: rgba(255, 255, 255, .72);
	font-size: 12.5px;
}

/* ------------------------------------------------------- ingredients blocks */
.ae3-ing-hero {
	position: relative;
	min-height: clamp(480px, 78vh, 820px);
	display: flex;
	align-items: center;
	background: #000;
	color: var(--a3-text-invert);
	overflow: hidden;
}

.ae3-ing-hero__media {
	position: absolute;
	inset: 0;
}

.ae3-ing-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 60% 50%;
}

.ae3-ing-hero__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .88) 0%, rgba(0, 0, 0, .6) 42%, rgba(0, 0, 0, .14) 78%);
}

.ae3-ing-hero__inner {
	position: relative;
	z-index: 2;
	padding: clamp(64px, 8vw, 120px) 0;
}

.ae3-ing-hero__copy {
	max-width: 620px;
}

.ae3-ring {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: clamp(30px, 4vw, 64px);
	background: var(--a3-line-dark);
}

.ae3-ring article {
	background: var(--a3-white);
	padding: clamp(24px, 2.6vw, 40px);
}

.ae3-ring article img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin-bottom: 22px;
}

.ae3-ring article strong {
	display: block;
	margin: 8px 0 12px;
	font-size: 10px;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--a3-gold);
	font-weight: 500;
}

.ae3-ring article p {
	margin: 0;
	color: var(--a3-grey-700);
}

.ae3-archive {
	margin-top: clamp(30px, 4vw, 60px);
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-archive__row {
	display: grid;
	grid-template-columns: 78px minmax(0, 1.3fr) minmax(0, 1fr) 120px;
	gap: clamp(16px, 3vw, 44px);
	align-items: center;
	padding: clamp(20px, 2.4vw, 34px) 0;
	border-bottom: 1px solid var(--a3-line-dark);
}

.ae3-archive__no {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(22px, 2.2vw, 32px);
	color: var(--a3-grey-400);
}

.ae3-archive__name {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(17px, 1.7vw, 24px);
}

.ae3-archive__sub {
	display: block;
	margin-top: 6px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--a3-grey-500);
}

.ae3-archive__ings {
	font-size: 11.5px;
	letter-spacing: .04em;
	color: var(--a3-grey-700);
}

.ae3-archive__cta {
	text-align: right;
}

/* ------------------------------------------------------------ contact blocks */
.ae3-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 30px;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--a3-line-dark);
}

.ae3-toolbar__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 26px;
}

.ae3-tab {
	font-size: 10px;
	letter-spacing: .24em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--a3-grey-500);
}

.ae3-tab.is-active,
.ae3-tab:hover {
	color: var(--a3-text);
}

.ae3-toolbar__count {
	font-size: 11px;
	color: var(--a3-grey-500);
}

.ae3-journal-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: clamp(28px, 4vw, 72px);
	margin-top: clamp(34px, 4.4vw, 62px);
}

.ae3-journal-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(26px, 3.4vw, 56px) clamp(20px, 2.6vw, 44px);
}

.ae3-journal-page .ae3-article__media {
	aspect-ratio: 4 / 3;
	display: block;
}

.ae3-journal-pagination {
	margin-top: clamp(30px, 4vw, 58px);
}

.ae3-journal-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ae3-journal-pagination a,
.ae3-journal-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 10px;
	border: 1px solid var(--a3-line-dark);
	font-size: 11px;
	text-decoration: none;
	color: inherit;
}

.ae3-journal-pagination .current {
	background: var(--a3-black);
	color: var(--a3-white);
	border-color: var(--a3-black);
}

.ae3-journal-sidebar form input[type="search"] {
	width: 100%;
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid var(--a3-line-dark);
	background: transparent;
	font-size: 12px;
	letter-spacing: .14em;
}

.ae3-sidebar-list {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.ae3-sidebar-list li a {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 0;
	border-bottom: 1px solid var(--a3-line-dark);
	font-size: 12px;
	text-decoration: none;
	color: var(--a3-grey-500);
}

.ae3-sidebar-list li.is-active a,
.ae3-sidebar-list li a:hover {
	color: var(--a3-text);
}

.ae3-sidebar-promo {
	margin-top: 32px;
	padding: 26px 22px;
	background: var(--a3-black);
	color: var(--a3-text-invert);
}

.ae3-sidebar-promo p {
	margin: 0 0 18px;
	font-size: 12.5px;
	color: rgba(255, 255, 255, .72);
}

.ae3-sidebar-promo .ae3-cta {
	color: var(--a3-gold);
}

/*
 * CONTACT hero — the reference runs one full-bleed still-life behind the whole
 * fold and lays a paper-coloured veil over it, so the Client Services promise
 * sits on paper at the left while the products emerge out of it towards the
 * right. (The mock keeps dark marble visible under the copy at the very bottom
 * of the fold, which only a full-bleed photo can do.) The copy column is
 * padded with the same container maths as `.ae3-shell` so it lines up with
 * every other section on the page.
 */
.ae3-contact-hero {
	position: relative;
	display: block;
	min-height: clamp(400px, 72vw, 1010px);
	background: var(--ae3-contact-paper, var(--a3-paper));
	color: var(--a3-text);
	overflow: hidden;
	isolation: isolate;
}

/*
 * Paper veil. Stops are read off the mock's horizontal luminance profile: the
 * left 27% stays solid paper, then the photo fades in through a long ramp and
 * is untouched from ~84% onward.
 */
.ae3-contact-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			#f3efeb 0%,
			#f3efeb 27%,
			rgba(243, 239, 235, .88) 40%,
			rgba(243, 239, 235, .58) 58%,
			rgba(243, 239, 235, .22) 72%,
			rgba(243, 239, 235, 0) 84%
		);
}

.ae3-contact-hero__copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	max-width: 52%;
	/* The reference drops the copy block about 33% into the hero; both the
	   offset and the hero height are vw-based, so the ratio holds at every
	   width until the hero hits its 1010px cap. */
	padding-block: clamp(44px, 23.6vw, 330px) clamp(40px, 5vw, 72px);
	padding-inline: max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2)) clamp(24px, 4vw, 72px);
}

/*
 * The shared kicker / LEVEL 05 rules are declared as `body.ae-theme …`, so a
 * bare component selector loses on specificity; the body prefix below keeps
 * the hero's own rhythm while leaving every other section untouched.
 */
body.ae-theme .ae3-contact-hero__copy .ae3-kicker {
	margin-bottom: clamp(24px, 4.67vw, 68px);
	/* The mock sets this label larger and much tighter than the shared kicker:
	   14px / .12em at a 1104px viewport (73px wide for the word CONTACT). */
	font-size: clamp(11px, 1.28vw, 17px);
	letter-spacing: .12em;
}

body.ae-theme .ae3-contact-hero__copy .ae3-l1 {
	/* Mock measures a 48px cap height (font ~72px) on a 71px line pitch. */
	font-size: clamp(36px, 6.5vw, 96px);
	line-height: 1.12;
}

body.ae-theme .ae3-contact-hero__copy .ae3-l5 {
	margin-top: clamp(20px, 3.4vw, 48px);
	/* Mock: ~17px copy on a 31px pitch, wrapping to three lines. */
	max-width: 26ch;
	font-size: clamp(14px, 1.55vw, 21px);
	line-height: 1.85;
	color: var(--a3-grey-700);
}

/* The still-life is the hero's own background layer, not a grid column. */
.ae3-contact-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
	background: var(--a3-coal);
	overflow: hidden;
}

/*
 * `body.ae-theme.ae-v3 img { height: auto }` outranks a bare component
 * selector, so the bounding box rule has to repeat the body classes. The box
 * is oversized by 2% only: that is enough headroom for the parallax actor
 * (max 12px of travel plus a 1.4% zoom) while keeping the crop as close as
 * possible to the reference, whose hero shows the same 62% window unscaled.
 * The selector carries the extra `.ae3-contact-hero` class because the shared
 * `body.ae-theme.ae-v3 .ae3-media > img { height: 100% }` block further down
 * the file has the same specificity and would otherwise win on source order.
 */
body.ae-theme.ae-v3 .ae3-contact-hero .ae3-contact-hero__media > img {
	position: absolute;
	top: -1%;
	left: 0;
	width: 100%;
	height: 102%;
	object-fit: cover;
	/* 10% is the pan that reproduces the mock's still-life (best NCC against
	   the mock's photo column): the Pure Eye Cream jar and the Black Vein box
	   in the middle, the Midnight jar and the Lumière box on the right. */
	object-position: 10% 50%;
}

/* ------------------------------------------------------------- page heroes */
.ae3-page-hero {
	position: relative;
	min-height: clamp(340px, 56vh, 620px);
	display: flex;
	align-items: center;
	background: #000;
	color: var(--a3-text-invert);
	overflow: hidden;
}

.ae3-page-hero__media {
	position: absolute;
	inset: 0;
}

.ae3-page-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae3-page-hero__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .86) 0%, rgba(0, 0, 0, .46) 52%, rgba(0, 0, 0, .16) 100%);
}

.ae3-page-hero__inner {
	position: relative;
	z-index: 2;
	padding: clamp(56px, 7vw, 104px) 0;
	width: min(100% - (var(--a3-gutter) * 2), var(--a3-max));
	margin-inline: auto;
}

.ae3-page-hero__copy {
	max-width: 680px;
}

.ae3-page-hero__copy .ae3-l5 {
	margin-top: 22px;
}

/* ------------------------------------------- woocommerce shell normalisation */
body.ae-theme.ae-v3 .ae-archive-header {
	display: none;
}

body.ae-theme.ae-v3 .ae-shop-layout {
	grid-template-columns: 260px minmax(0, 1fr);
	gap: clamp(24px, 3vw, 56px);
	padding: clamp(40px, 5vw, 76px) 0;
}

body.ae-theme.ae-v3 .ae-shop-sidebar {
	border: 0;
	border-right: 1px solid var(--a3-line-dark);
	padding-right: 24px;
}

body.ae-theme.ae-v3 ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: clamp(20px, 2.6vw, 44px);
	margin: 0;
	padding: 0;
	list-style: none;
}

body.ae-theme.ae-v3 ul.products li.product {
	margin: 0;
	text-align: left;
}

body.ae-theme.ae-v3 ul.products li.product img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--a3-paper);
}

body.ae-theme.ae-v3 ul.products li.product .woocommerce-loop-product__title {
	margin-top: 18px;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: 19px;
}

body.ae-theme.ae-v3 ul.products li.product .price {
	margin-top: 8px;
	font-size: 12px;
	letter-spacing: .1em;
	color: var(--a3-grey-500);
}

body.ae-theme.ae-v3 ul.products li.product .button,
body.ae-theme.ae-v3 .ae-btn {
	display: inline-block;
	margin-top: 14px;
	padding: 12px 26px;
	background: transparent;
	border: 1px solid var(--a3-text);
	color: var(--a3-text);
	font-size: 10px;
	letter-spacing: .24em;
	text-transform: uppercase;
	border-radius: 0;
}

body.ae-theme.ae-v3 ul.products li.product .button:hover,
body.ae-theme.ae-v3 .ae-btn:hover {
	background: var(--a3-black);
	color: var(--a3-white);
}

/* --------------------------------------------------------------- responsive */
@media (max-width: 1080px) {
	.ae3-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ae3-stagger__item,
	.ae3-stagger__item:nth-child(1),
	.ae3-stagger__item:nth-child(2),
	.ae3-stagger__item:nth-child(3) {
		grid-column: 1 / -1;
		margin-top: 0;
	}

	.ae3-journal,
	.ae3-split,
	.ae3-portrait,
	.ae3-house__inner,
	.ae3-shop-signature,
	.ae3-contact-body,
	.ae3-product-row {
		grid-template-columns: 1fr;
	}

	.ae3-split__media,
	.ae3-split__copy,
	.ae3-split--flip .ae3-split__media,
	.ae3-split--flip .ae3-split__copy {
		grid-column: 1 / -1;
	}

	.ae3-product-row--flip .ae3-product-row__media {
		order: 0;
	}

	.ae3-house__secondary {
		position: relative;
		right: auto;
		bottom: auto;
		width: 60%;
		margin: -12% 0 0 auto;
	}
}

@media (max-width: 860px) {
	.ae3-triplet,
	.ae3-ritual,
	.ae3-experience,
	.ae3-ring,
	.ae3-steps {
		grid-template-columns: 1fr;
	}

	.ae3-ritual > div {
		border-right: 0;
		border-bottom: 1px solid var(--a3-line);
		padding: 22px 0;
	}

	.ae3-ritual > div::before {
		left: 0;
		margin-left: 0;
	}

	.ae3-ritual small,
	.ae3-ritual h3,
	.ae3-ritual p {
		margin-left: 20px;
	}

	.ae3-steps {
		border-left: 0;
	}

	.ae3-steps > div {
		border-right: 0;
		border-left: 1px solid var(--a3-line);
		margin-bottom: 16px;
	}

	.ae3-standard span,
	.ae3-standard span:nth-child(1),
	.ae3-standard span:nth-child(2),
	.ae3-standard span:nth-child(3),
	.ae3-standard span:nth-child(4) {
		grid-column: 1 / -1;
		margin-top: 0;
	}

	.ae3-index-row,
	.ae3-archive__row {
		grid-template-columns: 62px minmax(0, 1fr);
	}

	.ae3-index-row__sub,
	.ae3-index-row__cta,
	.ae3-archive__ings,
	.ae3-archive__cta {
		grid-column: 2;
		text-align: left;
	}

	body.ae-theme.ae-v3 .ae-shop-layout {
		grid-template-columns: 1fr;
	}

	body.ae-theme.ae-v3 .ae-shop-sidebar {
		border-right: 0;
		padding-right: 0;
	}
}

@media (max-width: 620px) {
	.ae3-footer__grid {
		grid-template-columns: 1fr;
	}

	.ae3-hero__media img {
		object-position: 58% 52%;
	}

	.ae3-l5 {
		font-size: 12.5px;
	}
}

/* -------------------------------------- v3 journal + contact additions */

/* journal toolbar ---------------------------------------------------------- */
.ae3-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--a3-line-dark);
}

.ae3-toolbar__filters {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(14px, 2.2vw, 34px);
}

.ae3-tab {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	letter-spacing: .26em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--a3-grey-500);
	padding-bottom: 6px;
	border-bottom: 1px solid transparent;
}

.ae3-tab:hover,
.ae3-tab.is-active {
	color: var(--a3-text);
	border-bottom-color: var(--a3-gold);
}

.ae3-toolbar__count {
	font-size: 10px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--a3-grey-500);
}

/* journal index ------------------------------------------------------------ */
.ae3-journal-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 260px);
	gap: clamp(28px, 4.4vw, 88px);
	align-items: start;
	margin-top: clamp(30px, 4vw, 60px);
}

.ae3-journal-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(26px, 3.6vw, 64px) clamp(20px, 2.6vw, 48px);
}

.ae3-journal-grid .ae3-article__media {
	display: block;
}

.ae3-journal-pagination {
	margin-top: clamp(30px, 4vw, 64px);
}

.ae3-journal-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ae3-journal-pagination a,
.ae3-journal-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border: 1px solid var(--a3-line-dark);
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	text-decoration: none;
	color: inherit;
}

.ae3-journal-pagination .current {
	border-color: var(--a3-gold);
	color: var(--a3-gold);
}

.ae3-journal-sidebar form {
	margin: 0;
}

.ae3-journal-sidebar input[type="search"] {
	width: 100%;
	padding: 13px 0;
	border: 0;
	border-bottom: 1px solid var(--a3-line-dark);
	background: transparent;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	letter-spacing: .16em;
	color: var(--a3-text);
}

.ae3-journal-sidebar input[type="search"]:focus {
	outline: 0;
	border-bottom-color: var(--a3-gold);
}

.ae3-sidebar-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-sidebar-list a {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 13px 0;
	border-bottom: 1px solid var(--a3-line-dark);
	font-size: 11px;
	letter-spacing: .1em;
	text-decoration: none;
	color: var(--a3-grey-700);
}

.ae3-sidebar-list a:hover,
.ae3-sidebar-list .is-active a {
	color: var(--a3-text);
}

.ae3-sidebar-list .is-active a {
	border-bottom-color: var(--a3-gold);
}

.ae3-sidebar-promo {
	margin-top: clamp(28px, 3.4vw, 54px);
	padding: 26px;
	background: var(--a3-paper);
	color: var(--a3-text);
}

/*
 * The later paper-background rule above used to leave the dark-variant
 * inherited colour in place, which rendered the promo paragraph white-on-cream.
 */
.ae3-sidebar-promo p {
	color: rgba(16, 16, 16, .72);
}

.ae3-sidebar-promo p {
	margin: 0 0 20px;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(17px, 1.6vw, 22px);
	line-height: 1.3;
}

/* contact ------------------------------------------------------------------ */
.ae3-contact-form {
	margin-top: clamp(26px, 3.2vw, 48px);
}

/* shared small-caps section label + its short gold rule (reference: the
   "HOW MAY WE ASSIST YOU?" / "SEND US A MESSAGE" / "CLIENT SERVICES" heads). */
.ae3-contact-label,
.ae3-contact-head {
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: clamp(11px, .95vw, 13px);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-text);
}

.ae3-contact-label__rule,
.ae3-contact-head__rule {
	display: block;
	width: 46px;
	height: 1px;
	margin: 12px 0 0;
	background: var(--a3-gold);
}

/*
 * CONTACT wears the reference's warm paper ground instead of the colder
 * `--a3-paper` used elsewhere; the token is scoped to this page only.
 */
.ae3-contact {
	--ae3-contact-paper: #f3efeb;
	--ae3-contact-paper-deep: #f1ede8;
	/*
	 * The reference mock insets the whole contact page by ~7.5% of the
	 * viewport (83px at 1104), roughly twice the site gutter used by the other
	 * pages, so the hero copy, the enquiry grid, the form and the sign-off all
	 * share one wider measure here. Scoped to this page only.
	 */
	--a3-gutter: clamp(20px, 7.5vw, 108px);
}

/* enquiry routes */
.ae3-contact-assist {
	background: var(--ae3-contact-paper);
	padding-block: clamp(52px, 6.2vw, 96px);
}

.ae3-contact-assist__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(34px, 4vw, 62px);
}

.ae3-contact-assist__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 4px clamp(12px, 1.8vw, 30px) 8px;
	text-align: center;
}

.ae3-contact-assist__item + .ae3-contact-assist__item {
	border-left: 1px solid var(--a3-line-dark);
}

.ae3-contact-assist__no {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .3em;
	color: var(--a3-gold);
}

.ae3-contact-assist__title {
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--a3-text);
}

.ae3-contact-assist__item .ae3-l5 {
	max-width: 30ch;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--a3-grey-700);
}

.ae3-contact-assist__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: auto;
	color: var(--a3-gold);
	text-decoration: none;
	transition: transform .5s var(--a3-slow), color .3s var(--a3-ease);
}

.ae3-contact-assist__link:hover {
	transform: translate3d(6px, 0, 0);
	color: var(--a3-gold-dim);
}

/* form + client services ---------------------------------------------------- */
.ae3-contact-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .53fr);
	align-items: start;
	background: var(--ae3-contact-paper-deep);
	padding-inline: max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
	padding-block: clamp(52px, 6vw, 96px);
}

.ae3-contact-body__form {
	padding-right: clamp(24px, 4vw, 72px);
}

.ae3-contact-body__lead {
	margin-top: 18px;
	color: var(--a3-grey-700);
}

.ae3-contact-services {
	padding-left: clamp(24px, 4vw, 72px);
	border-left: 1px solid var(--a3-line-dark);
}

.ae3-contact-services__rows {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.ae3-contact-services__rows li {
	padding: 12px 0;
}

.ae3-contact-services__rows strong {
	display: block;
	margin-bottom: 5px;
	font-size: 9.5px;
	font-weight: 500;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--a3-grey-500);
}

.ae3-contact-services__rows a,
.ae3-contact-services__rows span {
	font-size: 13px;
	line-height: 1.7;
	color: var(--a3-grey-700);
	text-decoration: none;
}

.ae3-contact-services__rows a:hover {
	color: var(--a3-gold);
}

.ae3-contact-services__house {
	margin-top: 18px;
	padding-top: 26px;
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-contact-services__mark {
	width: 34px;
	height: auto;
	margin-bottom: 12px;
	opacity: .82;
}

.ae3-contact-services__brand {
	margin: 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(17px, 1.5vw, 21px);
	letter-spacing: .06em;
	color: var(--a3-text);
}

.ae3-contact-services__addr {
	margin: 12px 0 0;
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--a3-grey-700);
}

.ae3-contact-services__statement {
	margin: clamp(26px, 3vw, 44px) 0 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(21px, 2vw, 30px);
	font-weight: 300;
	line-height: 1.22;
	letter-spacing: .01em;
	color: var(--a3-text);
}

/* closing link row + brand sign-off (reference: the strip above the footer) */
.ae3-contact-tail {
	background: var(--ae3-contact-paper);
	border-top: 1px solid var(--a3-line-dark);
	padding-block: clamp(26px, 3vw, 42px) clamp(34px, 4vw, 56px);
}

.ae3-contact-tail__links {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0 0 clamp(30px, 3.6vw, 54px);
	padding: 0 0 clamp(22px, 2.4vw, 32px);
	list-style: none;
	border-bottom: 1px solid var(--a3-line-dark);
}

.ae3-contact-tail__links li + li {
	border-left: 1px solid var(--a3-line-dark);
}

.ae3-contact-tail__links a {
	display: block;
	padding: 6px clamp(8px, 1.2vw, 18px);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	color: var(--a3-text);
}

.ae3-contact-tail__links a:hover {
	color: var(--a3-gold);
}

.ae3-contact-tail__signoff {
	text-align: center;
}

.ae3-contact-tail__brand {
	margin: 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(20px, 1.9vw, 30px);
	font-weight: 400;
	letter-spacing: .12em;
	color: var(--a3-text);
}

.ae3-contact-tail__slogan {
	margin: 12px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .42em;
	text-transform: uppercase;
	color: var(--a3-grey-500);
}

@media (max-width: 860px) {
	.ae3-contact-tail__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 4px;
	}

	.ae3-contact-tail__links li + li {
		border-left: 0;
	}
}

/* re-skin the existing WPForms 182 markup inside the rebuild shell */
body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-field-label,
body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-field-sublabel {
	color: var(--a3-grey-500);
	font-size: 9.5px;
	letter-spacing: .24em;
	text-transform: uppercase;
}

/* Two short fields to a row (NAME | EMAIL, then SUBJECT | PHONE); the message
   box and the submit button span the full width, as in the reference. */
/* The reference prints bare caps labels, so the "required" marker is hidden
   while the fields stay `required` for validation. */
body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-required-label {
	display: none;
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-field-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(18px, 2.4vw, 40px);
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-field {
	padding: 0;
	margin-bottom: clamp(14px, 1.6vw, 22px);
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-field-textarea,
body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-field-textarea .wpforms-field-medium,
body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-field-textarea textarea {
	grid-column: 1 / -1;
	width: 100%;
}

/*
 * The earlier `ae-enhancements.css` layer pins the live form 182 with
 * id-on-id selectors and forces specific fields onto rows of their own. The
 * reference wants NAME | EMAIL, then SUBJECT | PHONE, with the message box
 * full width, so these rules are written generically (by field type) and with
 * the container id in front of the form id — two ids — to outrank that legacy
 * block no matter how the fields are later renumbered in WPForms.
 */
#wpforms-182 #wpforms-form-182 .wpforms-field-container {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(18px, 2.4vw, 40px);
}

#wpforms-182 #wpforms-form-182 .wpforms-field-container > .wpforms-field {
	grid-column: span 1;
}

#wpforms-182 #wpforms-form-182 .wpforms-field-container > .wpforms-field-textarea {
	grid-column: 1 / -1;
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 input,
body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 textarea {
	border: 0;
	border-bottom: 1px solid var(--a3-line-dark);
	background: transparent;
	color: var(--a3-text);
	font-size: 12px;
	padding: 13px 0;
	width: 100%;
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 input:focus,
body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 textarea:focus {
	outline: 0;
	border-bottom-color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 textarea {
	min-height: 150px;
	border: 1px solid var(--a3-line-dark);
	padding: 16px;
	resize: vertical;
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 textarea:focus {
	border-color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-submit-container {
	display: flex;
	justify-content: flex-start;
	margin-top: clamp(16px, 2vw, 28px);
	padding: 0;
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-submit {
	display: inline-flex;
	align-items: center;
	gap: .9em;
	border: 1px solid var(--a3-black);
	background: var(--a3-black);
	color: var(--a3-text-invert);
	padding: 18px clamp(28px, 3vw, 48px);
	font-size: 10.5px;
	letter-spacing: .26em;
	text-transform: uppercase;
	border-radius: 0;
	transition: background .35s var(--a3-ease), color .35s var(--a3-ease);
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-submit:hover {
	background: transparent;
	color: var(--a3-black);
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-submit::after {
	content: "\2192";
	font-size: 13px;
	line-height: 1;
}

body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-submit[disabled]::after,
body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-submit.wpforms-submit-loading::after {
	content: "";
}

@media (max-width: 1080px) {
	.ae3-journal-layout {
		grid-template-columns: 1fr;
	}

	.ae3-journal-sidebar {
		max-width: 520px;
	}

	.ae3-contact-assist__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: clamp(28px, 4vw, 48px);
	}

	/* the second row starts a new pair, so its first cell loses the rule */
	.ae3-contact-assist__item:nth-child(odd) {
		border-left: 0;
	}
}

@media (max-width: 860px) {
	.ae3-journal-grid {
		grid-template-columns: 1fr;
	}

	.ae3-contact-body {
		grid-template-columns: 1fr;
		padding-block: clamp(48px, 9vw, 84px);
	}

	.ae3-contact-hero {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	/* Below the fold the veil would wash out the photo, so the copy and the
	   still-life go back to two stacked blocks. */
	.ae3-contact-hero::after {
		content: none;
	}

	.ae3-contact-hero__copy {
		max-width: none;
		padding-inline: max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
		padding-block: clamp(44px, 11vw, 76px) clamp(36px, 8vw, 56px);
	}

	.ae3-contact-hero__media {
		position: relative;
		inset: auto;
		order: 2;
		min-height: clamp(280px, 52vw, 420px);
	}

	.ae3-contact-body__form {
		padding-right: 0;
	}

	.ae3-contact-services {
		margin-top: clamp(38px, 7vw, 64px);
		padding-top: clamp(32px, 6vw, 48px);
		padding-left: 0;
		border-top: 1px solid var(--a3-line-dark);
		border-left: 0;
	}
}

@media (max-width: 620px) {
	.ae3-contact-assist__grid {
		grid-template-columns: 1fr;
	}

	.ae3-contact-assist__item {
		padding-inline: 0;
	}

	.ae3-contact-assist__item + .ae3-contact-assist__item {
		padding-top: clamp(26px, 6vw, 40px);
		margin-top: clamp(26px, 6vw, 40px);
		border-top: 1px solid var(--a3-line-dark);
		border-left: 0;
	}

	body.ae-theme.ae-v3 .ae3-contact-form #wpforms-form-182 .wpforms-field-container {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------- v3 single-product additions */

/* hero: gallery + summary --------------------------------------------------- */
.ae3-product-hero {
	background: var(--a3-paper);
	color: var(--a3-text);
	padding: clamp(40px, 5vw, 88px) 0 clamp(48px, 6vw, 104px);
}

/*
 * Blocksy renders the two-column product hero through its own output buffer:
 * the wrapper below is echoed *outside* our template (see
 * woocommerce/single-product.php) and the summary is replayed into it by the
 * priority-0 callback on `woocommerce_single_product_summary`.
 *
 * That makes `.product-entry-wrapper` the real two-column container, so the v3
 * grid is declared on it instead of on a wrapper of our own. The rest of the
 * rule set resets the `ct-default-gallery` sizing (`width: 50%` plus a 40px
 * inline margin) and the `sticky-summary` positioning, both of which would
 * otherwise fight this layout.
 */
body.ae-theme.ae-v3 .ae3-product .product-entry-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: start;
	width: min(100% - (var(--a3-gutter) * 2), var(--a3-max));
	margin-inline: auto;
}

body.ae-theme.ae-v3 .ae3-product .product-entry-wrapper .woocommerce-product-gallery,
body.ae-theme.ae-v3 .ae3-product .product-entry-wrapper .entry-summary {
	float: none;
	width: auto;
	margin-inline: 0;
	align-self: start;
	position: static;
	top: auto;
}

/* gallery: neutral studio ground instead of the warm v2 tone */
.ae3-product .woocommerce-product-gallery__image,
.ae3-product .flex-control-thumbs img {
	background: #f0efec;
}

/* summary: bring the WooCommerce summary into the v3 type system */
.ae3-product .ae3-single-product__summary {
	padding-top: 0;
}

.ae3-product .ae3-single-product__summary .product_title {
	margin: 0 0 18px !important;
	color: var(--a3-text) !important;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif) !important;
	font-size: clamp(32px, 3.6vw, 58px) !important;
	font-weight: 300 !important;
	line-height: 1.02 !important;
	letter-spacing: -.012em !important;
	text-transform: none !important;
}

.ae3-product .ae3-single-product__summary .price {
	margin: 0 0 20px !important;
	color: var(--a3-text) !important;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.ae3-product .ae3-single-product__summary .woocommerce-product-details__short-description {
	max-width: 46ch;
	margin: 0 0 26px !important;
	color: var(--a3-grey-700) !important;
	font-size: 13px;
	line-height: 1.85;
}

.ae3-product .ae3-single-product__summary form.cart {
	padding: 24px 0;
	border-top: 1px solid var(--a3-line-dark);
	border-bottom: 1px solid var(--a3-line-dark);
}

.ae3-product .ae3-single-product__summary form.cart .single_add_to_cart_button {
	border: 1px solid var(--a3-text);
	border-radius: 0;
	background: var(--a3-text);
	color: var(--a3-white);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
}

.ae3-product .ae3-single-product__summary form.cart .single_add_to_cart_button:hover {
	background: transparent;
	color: var(--a3-text);
}

.ae3-product .ae3-single-product__summary .quantity .qty {
	border: 1px solid var(--a3-line-dark);
	border-radius: 0;
	background: transparent;
	color: var(--a3-text);
}

.ae3-product .ae3-single-product__summary .product_meta {
	padding-top: 22px;
	color: var(--a3-grey-500);
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
}

/* 01 promises --------------------------------------------------------------- */
.ae3-product-promises {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 54px);
}

.ae3-product-promises .ae-icon {
	width: 26px;
	height: 26px;
	margin-bottom: 16px;
	color: var(--a3-gold);
}

.ae3-product-promises h2 {
	margin-bottom: 10px;
}

.ae3-product-promises p {
	color: var(--a3-grey-700);
}

/* 02 notes ------------------------------------------------------------------ */
.ae3-product-notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: clamp(34px, 4.6vw, 72px);
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-product-notes > article {
	padding: 30px clamp(16px, 2.6vw, 40px) 6px 0;
	border-right: 1px solid var(--a3-line-dark);
}

.ae3-product-notes > article:last-child {
	border-right: 0;
	padding-right: 0;
}

.ae3-product-notes small {
	display: block;
	margin-bottom: 14px;
	font-size: 10px;
	letter-spacing: .3em;
	color: var(--a3-gold);
}

.ae3-product-notes p {
	margin-top: 14px;
	color: var(--a3-grey-700);
}

/* 04 accordion -------------------------------------------------------------- */
.ae3-product-accordion {
	margin-top: 0;
}

/* related products ---------------------------------------------------------- */
.ae3-product .related,
.ae3-product .upsells {
	margin: 0;
}

.ae3-product .related > h2,
.ae3-product .upsells > h2 {
	margin: 0 0 clamp(24px, 3vw, 46px);
	color: var(--a3-text);
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(24px, 3vw, 44px);
	font-weight: 300;
	line-height: 1.08;
	text-align: left;
}

.ae3-product .related ul.products,
.ae3-product .upsells ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 40px);
	padding: 0;
	margin: 0;
	list-style: none;
	clear: none;
}

.ae3-product .related ul.products::before,
.ae3-product .related ul.products::after,
.ae3-product .upsells ul.products::before,
.ae3-product .upsells ul.products::after {
	content: none;
	display: none;
}

.ae3-product .related ul.products li.product,
.ae3-product .upsells ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

@media (max-width: 1080px) {
	body.ae-theme.ae-v3 .ae3-product .product-entry-wrapper {
		grid-template-columns: 1fr;
	}

	.ae3-product-promises,
	.ae3-product .related ul.products,
	.ae3-product .upsells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.ae3-product-notes {
		grid-template-columns: 1fr;
	}

	.ae3-product-notes > article {
		padding-right: 0;
		border-right: 0;
		border-bottom: 1px solid var(--a3-line-dark);
		padding-bottom: 24px;
		margin-bottom: 24px;
	}

	.ae3-product-notes > article:last-child {
		border-bottom: 0;
		margin-bottom: 0;
	}
}

@media (max-width: 620px) {
	.ae3-product-promises,
	.ae3-product .related ul.products,
	.ae3-product .upsells ul.products {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------- heading colour normalisation */
/*
 * Blocksy styles every heading level from its own theme-mod palette:
 *
 *   h1 { color: var(--theme-heading-color, var(--theme-heading-1-color, ...)) }
 *   h2 { color: var(--theme-heading-color, var(--theme-heading-2-color, ...)) }
 *   ...
 *
 * and on this install those mods are set to a light scale that was designed
 * for the dark header/footer: --theme-heading-1-color: #FFFFFF,
 * --theme-heading-2-color: #DDDDDD, --theme-heading-3-color: #CCCCCC. Any
 * heading that does not sit on a dark surface therefore washes out.
 *
 * Every other v3 template is wrapped in `.aev2-page`, whose
 * `h2, h3 { color: inherit !important }` hands the colour decision back to the
 * enclosing block (`--a3-text` on paper/white, `--a3-text-invert` on the dark
 * bands and scenes). The two WooCommerce templates - `woocommerce/single-
 * product.php` (`article.ae3-product`) and `woocommerce/archive-product.php`
 * (`div.ae-woo-page`) - are not wrapped that way, which is why the product
 * page and the shop page were the only surfaces showing white-on-paper
 * headings.
 *
 * These rules restore the same contract on those two roots. The `body.ae-theme
 * .ae-v3` prefix keeps them above every component rule in the earlier layers
 * (0,3,x against 0,2,x) while leaving the explicit palette overrides that must
 * survive - `.ae3-band--light`, the product cards, the footer - re-asserted
 * right underneath.
 *
 * Must stay after the `@media` blocks above: the selectors all tie on
 * specificity with the `.ae3-band--light` rules, so source order decides.
 */
body.ae-theme.ae-v3 .ae3-section h1,
body.ae-theme.ae-v3 .ae3-section h2,
body.ae-theme.ae-v3 .ae3-section h3,
body.ae-theme.ae-v3 .ae3-section h4,
body.ae-theme.ae-v3 .ae3-section h5,
body.ae-theme.ae-v3 .ae3-section h6,
body.ae-theme.ae-v3 .ae3-product-hero h1,
body.ae-theme.ae-v3 .ae3-product-hero h2,
body.ae-theme.ae-v3 .ae3-product-hero h3 {
	color: inherit;
}

/* Dark surfaces: headings take the block's invert colour instead of the
 * theme-mod light scale, so the six-level system stays on-token. */
body.ae-theme.ae-v3 .ae3-section--dark h1,
body.ae-theme.ae-v3 .ae3-section--dark h2,
body.ae-theme.ae-v3 .ae3-section--dark h3,
body.ae-theme.ae-v3 .ae3-section--coal h1,
body.ae-theme.ae-v3 .ae3-section--coal h2,
body.ae-theme.ae-v3 .ae3-section--coal h3,
body.ae-theme.ae-v3 .ae3-scene h1,
body.ae-theme.ae-v3 .ae3-scene h2,
body.ae-theme.ae-v3 .ae3-scene h3,
body.ae-theme.ae-v3 .ae3-house h1,
body.ae-theme.ae-v3 .ae3-house h2,
body.ae-theme.ae-v3 .ae3-house h3,
body.ae-theme.ae-v3 .ae3-film h1,
body.ae-theme.ae-v3 .ae3-film h2,
body.ae-theme.ae-v3 .ae3-film h3,
body.ae-theme.ae-v3 .ae3-final h1,
body.ae-theme.ae-v3 .ae3-final h2,
body.ae-theme.ae-v3 .ae3-final h3,
body.ae-theme.ae-v3 .ae3-hero h1,
body.ae-theme.ae-v3 .ae3-hero h2,
body.ae-theme.ae-v3 .ae3-hero h3,
body.ae-theme.ae-v3 .ae3-page-hero h1,
body.ae-theme.ae-v3 .ae3-page-hero h2,
body.ae-theme.ae-v3 .ae3-page-hero h3,
body.ae-theme.ae-v3 .ae3-ing-hero h1,
body.ae-theme.ae-v3 .ae3-ing-hero h2,
body.ae-theme.ae-v3 .ae3-ing-hero h3,
body.ae-theme.ae-v3 .ae3-contact-hero h1,
body.ae-theme.ae-v3 .ae3-contact-hero h2,
body.ae-theme.ae-v3 .ae3-contact-hero h3,
body.ae-theme.ae-v3 .ae3-shop-hero h1,
body.ae-theme.ae-v3 .ae3-shop-hero h2,
body.ae-theme.ae-v3 .ae3-shop-hero h3 {
	color: inherit;
}

/* Exceptions that must survive the normalisation above. */
/*
 * `.ae3-band` also sets `color: var(--a3-text-invert)` on its own root and the
 * light variant only re-colours the `.ae3-l*` type classes, so it needs both
 * values stated explicitly rather than inherited.
 */
body.ae-theme.ae-v3 .ae3-band h1,
body.ae-theme.ae-v3 .ae3-band h2,
body.ae-theme.ae-v3 .ae3-band h3 {
	color: var(--a3-text-invert);
}

body.ae-theme.ae-v3 .ae3-band--light h1,
body.ae-theme.ae-v3 .ae3-band--light h2,
body.ae-theme.ae-v3 .ae3-band--light h3,
body.ae-theme.ae-v3 .ae3-band--light .ae3-l1,
body.ae-theme.ae-v3 .ae3-band--light .ae3-l2,
body.ae-theme.ae-v3 .ae3-band--light .ae3-l3 {
	color: var(--a3-text, #101010);
}

body.ae-theme.ae-v3 .ae3-footer h1,
body.ae-theme.ae-v3 .ae3-footer h2,
body.ae-theme.ae-v3 .ae3-footer h3 {
	color: var(--a3-gold);
}

/* ======================================================================
 * HOME hero: full-bleed onto the page header (Excel《首面》A12/C12/D12)
 *
 * D12: "保留左侧文字黑色底，把右边横幅全屏显示至页头上" and the reference
 * the client supplied is the Estée Lauder hero, where the photograph runs to
 * the very top edge of the document and the header rows float on top of it.
 *
 * So on the front page only (`.ae-home`, added by ae_body_classes()):
 *   - the header leaves the flow and becomes an absolutely positioned overlay
 *     with a soft top-down gradient instead of the solid black bar;
 *   - the hero takes over the top of the document, so its media element is
 *     genuinely edge-to-edge - no strip of page background above it;
 *   - the hero keeps its own top scrim so the utility bar and navigation stay
 *     readable over both the dark left side and the marble lid on the right.
 *
 * `--ae3-header-h` is measured by ae-v3.js (the header changes height between
 * breakpoints); the fallbacks keep the layout correct before the script runs
 * and with JavaScript disabled.
 * ==================================================================== */
body.ae-theme.ae-v3.ae-home .ae-site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 120;
	background: transparent;
	background-image: linear-gradient(180deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .42) 58%, rgba(0, 0, 0, 0) 100%);
	box-shadow: none;
}

body.ae-theme.ae-v3.ae-home .ae-utility-bar,
body.ae-theme.ae-v3.ae-home .ae-nav-row {
	background: transparent;
}

body.ae-theme.ae-v3.ae-home .ae3-hero {
	padding-top: var(--ae3-header-h, 125px);
}

body.ae-theme.ae-v3.ae-home .ae3-hero__scrim {
	background:
		linear-gradient(180deg, rgba(0, 0, 0, .58) 0%, rgba(0, 0, 0, .28) 54%, rgba(0, 0, 0, 0) 100%),
		linear-gradient(90deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .74) 34%, rgba(0, 0, 0, .3) 62%, rgba(0, 0, 0, .12) 100%),
		linear-gradient(0deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, 0) 46%);
}

@media (max-width: 900px) {
	body.ae-theme.ae-v3.ae-home .ae3-hero {
		padding-top: var(--ae3-header-h, 112px);
	}
}

/* ======================================================================
 * ONLINE SERVICES row (Excel《首面》A6/D6)
 *
 * The pre-rebuild live site rendered this four-column row
 * (`.ae-online-services`) below the press strip; the v3 rewrite dropped it
 * even though A6/D6 explicitly asks for it. Rebuilt here in the ae3 type
 * system - numbers, hairline rules, no icons and no card chrome, matching
 * the "no icons, no card feel" note in the homepage copy document.
 * ==================================================================== */
.ae3-services__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 52px);
	margin-top: clamp(34px, 4.6vw, 68px);
}

.ae3-services__item {
	padding-top: 20px;
	border-top: 1px solid var(--a3-line-dark);
}

.ae3-services__item small {
	display: block;
	font-size: 10px;
	letter-spacing: .24em;
	color: var(--a3-grey-500);
}

.ae3-services__item h3 {
	margin: 12px 0 0;
}

.ae3-services__item p {
	margin: 16px 0 0;
	color: var(--a3-grey-700);
}

@media (max-width: 860px) {
	.ae3-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(24px, 5vw, 44px);
	}
}

@media (max-width: 560px) {
	.ae3-services__grid {
		grid-template-columns: 1fr;
	}
}

/* ======================================================================
 * Footer brand lockup (Excel《首面》A8/D8)
 *
 * "LOGO更改为提供的文件, LOGO的大小与品牌的字体一样高度": the supplied mark
 * sits beside the wordmark and is capped at the wordmark's own font size
 * (22px), which is exactly what the pre-rebuild footer did through
 * `.ae-footer-brand__logo .ae-wordmark__mark { height: 22px }`.
 * ==================================================================== */
body.ae-theme.ae-v3 .ae3-footer__brand-lockup {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

/*
 * The specificity bump on `img` matters: the global v3 reset declared at the
 * top of this file (`body.ae-theme.ae-v3 img { height: auto }`, 0,2,2) beats a
 * bare class selector, and without it the supplied 1024px mark renders at its
 * intrinsic size and blows the footer apart. The lockup rule below keeps the
 * mark exactly as tall as the wordmark's 22px cap height, per D8.
 */
body.ae-theme.ae-v3 .ae3-footer__brand-mark {
	display: block;
	width: auto;
	height: 22px;
	max-height: 22px;
	flex: 0 0 auto;
	object-fit: contain;
	/* same gold treatment the header wordmark uses for the supplied mark */
	filter: invert(80%) sepia(28%) saturate(650%) hue-rotate(352deg) brightness(94%) contrast(88%);
}

@media (max-width: 560px) {
	body.ae-theme.ae-v3 .ae3-footer__brand-mark {
		height: 20px;
		max-height: 20px;
	}
}

/* ======================================================================
 * Cover-image normalisation (specificity repair)
 *
 * The reset declared at the top of this file -
 *
 *     body.ae-theme.ae-v3 img { display: block; max-width: 100%; height: auto }
 *     ^ 1 element + 2 classes + 1 element                    = 0,2,2
 *
 * - outranks every bare component image rule of the form
 * `.<component> img { height: 100% }` (0,1,1). Where a component's media box
 * has a definite height (an inline or declared `aspect-ratio`, or
 * `position: absolute; inset: 0` on the parent), the intent is unambiguous:
 * the photograph must fill the box and be cropped by `object-fit: cover`.
 * With the reset winning, the image instead keeps its intrinsic aspect ratio
 * and leaves a strip of the parent's background exposed - which is exactly what
 * happened to the home hero on narrow viewports (a 220px-tall photograph
 * sitting in a 776px hero at 390px wide).
 *
 * Measured before this block (parent box vs rendered image height):
 *   home hero      - 390px viewport:  776 vs 220
 *   home banner    - 1440px viewport: 432 vs 308
 *   contact hero   - 1440px viewport: 893 vs 443
 *   about scenes   - 1440px viewport: 668 vs 0..auto
 *
 * The rules below restate the same declarations with the `body.ae-theme.ae-v3`
 * prefix so they tie the reset on specificity and win on source order. They are
 * pure re-assertions - no new visual values - so the only visible change is
 * that cover images finally cover. Containers whose height is genuinely
 * content-driven are unaffected: a percentage height against an auto-height
 * parent still resolves to `auto`.
 * ====================================================================== */
body.ae-theme.ae-v3 .ae3-media > img,
body.ae-theme.ae-v3 .ae3-hero__media img,
body.ae-theme.ae-v3 .ae3-band__media img,
body.ae-theme.ae-v3 .ae3-article__media img,
body.ae-theme.ae-v3 .ae3-scene__media img,
body.ae-theme.ae-v3 .ae3-split__media img,
body.ae-theme.ae-v3 .ae3-portrait__media img,
body.ae-theme.ae-v3 .ae3-house__main img,
body.ae-theme.ae-v3 .ae3-house__secondary img,
body.ae-theme.ae-v3 .ae3-shop-signature__media img,
body.ae-theme.ae-v3 .ae3-ing-hero__media img,
body.ae-theme.ae-v3 .ae3-page-hero__media img,
body.ae-theme.ae-v3 .ae3-index-row img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* The ingredient index keeps `object-fit: contain` (packshots, not crops). */
body.ae-theme.ae-v3 .ae3-index-row img {
	object-fit: contain;
}


/* ======================================================================
 * INGREDIENTS reference-image layout (Excel《INGREDIENTS》E 列参考图)
 *
 * The client's reference images for this page are a different composition
 * from the first draft: a two-column principle head with a four-across mark
 * row, a circular "formulation atlas" for the ingredient library, archive
 * rows that carry the product still, and two boxed closing beats.
 *
 * Everything below is additive. No earlier rule in this file is modified, so
 * the other eight templates keep rendering byte-identically.
 * ==================================================================== */

/* --------------------------------------------------- hero kicker hairline */
body.ae-theme.ae-v3 .ae3-ing-hero__copy .ae3-kicker::after {
	content: "";
	display: block;
	width: 46px;
	height: 1px;
	margin-top: 14px;
	background: var(--a3-gold);
}

/* ------------------------------------------------- formulation principle */
.ae3-principle__inner {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: clamp(24px, 4vw, 72px);
	align-items: start;
}

.ae3-principle__kicker {
	margin: 6px 0 0;
	max-width: 170px;
	line-height: 1.7;
}

body.ae-theme.ae-v3 .ae3-principle__kicker::after {
	content: "";
	display: block;
	width: 42px;
	height: 1px;
	margin-top: 16px;
	background: var(--a3-gold);
}

.ae3-principle__intro .ae3-l2 {
	margin: 0;
}

.ae3-principle__intro .ae3-l5 {
	margin: 20px 0 0;
	max-width: 62ch;
	color: var(--a3-grey-700);
}

.ae3-principle__grid {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(18px, 2.6vw, 46px);
	margin-top: clamp(40px, 5vw, 84px);
}

.ae3-principle__item {
	text-align: center;
}

.ae3-principle__no {
	display: block;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: 30px;
	font-weight: 300;
	line-height: 1;
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-principle__no::after {
	content: "";
	display: block;
	width: 18px;
	height: 1px;
	margin: 14px auto 0;
	background: var(--a3-gold);
}

.ae3-principle__label {
	margin: 22px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--a3-text);
}

.ae3-principle__icon {
	display: block;
	height: 30px;
	margin: 22px 0 0;
	color: var(--a3-gold);
}

.ae3-principle__icon .ae-icon {
	width: 24px;
	height: 24px;
}

.ae3-principle__note {
	margin: 14px 0 0;
	font-size: 12px;
	line-height: 1.7;
	color: var(--a3-grey-700);
}

/* -------------------------------------------------- ingredient atlas ring */
body.ae-theme.ae-v3 .ae3-archive,
body.ae-theme.ae-v3 .ae3-atlas {
	color: var(--a3-text);
}

.ae3-ing-library__head {
	max-width: 62ch;
}

.ae3-ing-library__head .ae3-l2 {
	margin: 0;
}

.ae3-ing-library__head .ae3-l5 {
	margin: 18px 0 0;
	color: var(--a3-grey-700);
}

.ae3-atlas {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: clamp(38px, 5vw, 84px) auto 0;
	aspect-ratio: 1 / 1;
}

.ae3-atlas::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 76%;
	aspect-ratio: 1 / 1;
	transform: translate(-50%, -50%);
	border: 1px dashed rgba(0, 0, 0, .16);
	border-radius: 50%;
}

.ae3-atlas__kicker {
	position: absolute;
	left: 0;
	top: 38%;
	max-width: 190px;
	margin: 0;
	line-height: 1.7;
}

body.ae-theme.ae-v3 .ae3-atlas__kicker::after {
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	margin-top: 14px;
	background: var(--a3-gold);
}

.ae3-atlas__core {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 34%;
	aspect-ratio: 1 / 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 6%;
	text-align: center;
	border: 1px solid var(--a3-line-dark);
	border-radius: 50%;
	background: var(--a3-white);
}

.ae3-atlas__core::after {
	content: "";
	position: absolute;
	inset: -13%;
	border: 1px dashed rgba(194, 163, 107, .5);
	border-radius: 50%;
}

.ae3-atlas__mark {
	display: block;
	color: var(--a3-gold);
}

.ae3-atlas__mark .ae-icon {
	width: 26px;
	height: 26px;
}

.ae3-atlas__center {
	margin: 16px 0 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(14px, 1.35vw, 21px);
	font-weight: 400;
	line-height: 1.22;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-atlas__center::after {
	content: "";
	display: block;
	width: 26px;
	height: 1px;
	margin: 14px auto 0;
	background: var(--a3-line-dark);
}

.ae3-atlas__lines {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.ae3-atlas__lines li {
	font-size: 11px;
	line-height: 1.9;
	color: var(--a3-grey-500);
}

.ae3-atlas__node {
	position: absolute;
	width: 28%;
	display: flex;
	align-items: center;
	gap: 16px;
}

.ae3-atlas__node--1 { left: 33%; top: 0; }
.ae3-atlas__node--2 { left: 68%; top: 12%; }
.ae3-atlas__node--3 { left: 70%; top: 47%; }
.ae3-atlas__node--4 { left: 33%; top: 68%; }

.ae3-atlas__node--5,
.ae3-atlas__node--6 {
	left: 0;
	flex-direction: row-reverse;
	text-align: right;
}

.ae3-atlas__node--5 { top: 56%; }
.ae3-atlas__node--6 { top: 4%; }

.ae3-atlas__media {
	flex: 0 0 auto;
	display: block;
	width: 46%;
	max-width: 190px;
	aspect-ratio: 1 / 1;
	border: 1px solid rgba(194, 163, 107, .45);
	border-radius: 50%;
	overflow: hidden;
	background: var(--a3-white);
}

body.ae-theme.ae-v3 .ae3-atlas__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ae3-atlas__text {
	flex: 1 1 auto;
	min-width: 0;
}

.ae3-atlas__no {
	display: block;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: 20px;
	line-height: 1;
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-atlas__no::after {
	content: "";
	display: block;
	width: 14px;
	height: 1px;
	margin: 9px 0 0;
	background: var(--a3-gold);
}

.ae3-atlas__node--5 .ae3-atlas__no::after,
.ae3-atlas__node--6 .ae3-atlas__no::after {
	margin-left: auto;
}

.ae3-atlas__name {
	margin: 12px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--a3-text);
}

.ae3-atlas__keywords {
	display: block;
	margin: 8px 0 0;
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .06em;
	color: var(--a3-gold-dim);
}

.ae3-atlas__icon {
	display: block;
	margin: 12px 0 0;
	color: var(--a3-gold);
}

.ae3-atlas__icon .ae-icon {
	width: 20px;
	height: 20px;
}

.ae3-atlas__node--5 .ae3-atlas__icon,
.ae3-atlas__node--6 .ae3-atlas__icon {
	margin-left: auto;
}

.ae3-atlas__body {
	display: block;
	margin: 12px 0 0;
	max-width: 190px;
	font-size: 11px;
	line-height: 1.8;
	color: var(--a3-grey-500);
}

.ae3-atlas__node--5 .ae3-atlas__body,
.ae3-atlas__node--6 .ae3-atlas__body {
	margin-left: auto;
}

/* ------------------------------------------------ library CTA hairline bar */
.ae3-ing-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	margin-top: clamp(38px, 5vw, 72px);
	border: 1px solid var(--a3-line-dark);
	background: var(--a3-white);
}

.ae3-ing-cta__lead {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(18px, 2.4vw, 34px);
	align-items: center;
	padding: clamp(22px, 2.8vw, 40px) clamp(20px, 3vw, 46px);
}

.ae3-ing-cta__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border: 1px solid rgba(194, 163, 107, .55);
	border-radius: 50%;
	color: var(--a3-gold);
}

.ae3-ing-cta__icon .ae-icon {
	width: 26px;
	height: 26px;
}

.ae3-ing-cta__copy .ae3-kicker {
	margin: 0;
}

.ae3-ing-cta__title {
	margin: 10px 0 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(20px, 2.4vw, 32px);
	font-weight: 300;
	line-height: 1.15;
	color: var(--a3-text);
}

.ae3-ing-cta__note {
	margin: 10px 0 0;
	font-size: 12px;
	line-height: 1.7;
	color: var(--a3-grey-500);
}

.ae3-ing-cta__side {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	align-self: stretch;
	padding: 0 clamp(20px, 3vw, 46px);
	border-left: 1px solid var(--a3-line-dark);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--a3-text);
}

.ae3-ing-cta__side:hover,
.ae3-ing-cta__side:focus-visible {
	color: var(--a3-gold-dim);
}

/* ------------------------------------------------------- formula archive */
.ae3-ing-archive__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(26px, 4vw, 72px);
	align-items: start;
}

.ae3-ing-archive__intro .ae3-l2 {
	margin: 0;
}

.ae3-ing-archive__intro .ae3-l5 {
	margin: 22px 0 0;
	max-width: 52ch;
	color: var(--a3-grey-700);
}

.ae3-ing-archive__media {
	position: relative;
	width: 100%;
	aspect-ratio: 5 / 4;
}

.ae3-ing-archive__dish {
	position: absolute;
	margin: 0;
	border-radius: 50%;
	overflow: hidden;
	background: var(--a3-white);
}

.ae3-ing-archive__dish--a {
	left: 0;
	top: 0;
	width: 78%;
	aspect-ratio: 1 / 1;
}

.ae3-ing-archive__dish--b {
	right: 0;
	bottom: 0;
	width: 46%;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--a3-line-dark);
}

body.ae-theme.ae-v3 .ae3-ing-archive__dish img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.ae-theme.ae-v3 .ae3-archive {
	margin-top: clamp(40px, 5vw, 76px);
}

.ae3-archive__label {
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 0;
	padding-top: clamp(26px, 3vw, 46px);
}

body.ae-theme.ae-v3 .ae3-archive__label::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: var(--a3-line-dark);
}

body.ae-theme.ae-v3 .ae3-archive__row {
	/* E 列参考图的行内顺序：序号 | 文案 | CTA | 产品图 */
	grid-template-columns: 78px minmax(0, 1.4fr) 168px 190px;
	gap: clamp(16px, 2.6vw, 40px);
	align-items: center;
}

body.ae-theme.ae-v3 .ae3-archive__cta {
	text-align: right;
	white-space: nowrap;
}

.ae3-archive__copy {
	min-width: 0;
	/* E 列参考图在序号与文案之间有一条细分隔线。 */
	padding-left: clamp(16px, 2vw, 30px);
	border-left: 1px solid var(--a3-line-dark);
}

body.ae-theme.ae-v3 .ae3-archive__name {
	margin: 0;
}

.ae3-archive__features {
	display: block;
	margin: 16px 0 8px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

.ae3-archive__media {
	width: 190px;
	margin: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f0efec;
}

body.ae-theme.ae-v3 .ae3-archive__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* ------------------------------------------- full ingredient information */
.ae3-ing-close__box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(20px, 4vw, 60px);
	align-items: center;
	padding: clamp(24px, 3.4vw, 52px);
	border: 1px solid var(--a3-line-dark);
	background: var(--a3-white);
}

.ae3-ing-close__lead {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(18px, 2.4vw, 34px);
	align-items: center;
}

.ae3-ing-close__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border: 1px solid rgba(194, 163, 107, .55);
	border-radius: 50%;
	color: var(--a3-gold);
}

.ae3-ing-close__icon .ae-icon {
	width: 26px;
	height: 26px;
}

.ae3-ing-close__copy .ae3-kicker {
	margin: 0;
}

.ae3-ing-close__title {
	margin: 12px 0 0;
	font-size: clamp(20px, 2.4vw, 32px);
	color: var(--a3-text);
}

.ae3-ing-close__copy .ae3-l5 {
	margin: 12px 0 0;
	max-width: 56ch;
	color: var(--a3-grey-700);
}

.ae3-ing-close__cta {
	padding-left: clamp(20px, 3vw, 46px);
	border-left: 1px solid var(--a3-line-dark);
}

/* ------------------------------------------------------------ responsive */
@media (max-width: 1080px) {
	.ae3-principle__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.ae3-principle__kicker {
		max-width: none;
		margin: 0;
	}

	.ae3-principle__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(26px, 4vw, 44px);
	}

	.ae3-atlas {
		aspect-ratio: auto;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(24px, 4vw, 44px);
	}

	.ae3-atlas::before {
		content: none;
	}

	.ae3-atlas__kicker {
		position: static;
		grid-column: 1 / -1;
		max-width: none;
		margin: 0 0 clamp(8px, 2vw, 18px);
	}

	.ae3-atlas__core {
		position: static;
		transform: none;
		grid-column: 1 / -1;
		width: min(340px, 80%);
		margin: 0 auto clamp(10px, 3vw, 26px);
	}

	.ae3-atlas__core::after {
		content: none;
	}

	.ae3-atlas__node {
		position: static;
		width: auto;
		flex-direction: column;
		gap: 18px;
		text-align: left;
	}

	.ae3-atlas__node--5,
	.ae3-atlas__node--6 {
		flex-direction: column;
		text-align: left;
	}

	.ae3-atlas__media {
		width: min(180px, 62%);
	}

	.ae3-atlas__node--5 .ae3-atlas__no::after,
	.ae3-atlas__node--6 .ae3-atlas__no::after,
	.ae3-atlas__node--5 .ae3-atlas__icon,
	.ae3-atlas__node--6 .ae3-atlas__icon {
		margin-left: 0;
	}

	.ae3-ing-archive__head {
		grid-template-columns: minmax(0, 1fr);
	}

	.ae3-ing-archive__media {
		max-width: 620px;
	}

	body.ae-theme.ae-v3 .ae3-archive__row {
		grid-template-columns: 62px minmax(0, 1.3fr) 140px minmax(0, 150px);
	}

	.ae3-archive__media {
		width: 100%;
		max-width: 150px;
	}

	body.ae-theme.ae-v3 .ae3-archive__cta {
		grid-column: 3;
		text-align: left;
		white-space: normal;
	}

	.ae3-ing-close__box {
		grid-template-columns: minmax(0, 1fr);
	}

	.ae3-ing-close__cta {
		padding-left: 0;
		border-left: 0;
	}
}

@media (max-width: 782px) {
	.ae3-principle__grid {
		grid-template-columns: minmax(0, 1fr);
	}

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

	.ae3-atlas__media {
		width: min(170px, 56%);
	}

	.ae3-ing-cta {
		grid-template-columns: minmax(0, 1fr);
	}

	.ae3-ing-cta__lead {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.ae3-ing-cta__side {
		padding: clamp(16px, 4vw, 22px) clamp(20px, 4vw, 34px);
		border-left: 0;
		border-top: 1px solid var(--a3-line-dark);
	}

	.ae3-ing-close__lead {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	body.ae-theme.ae-v3 .ae3-archive__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	body.ae-theme.ae-v3 .ae3-archive__cta {
		grid-column: 1 / -1;
		text-align: left;
		white-space: normal;
	}

	.ae3-archive__media {
		width: 100%;
		max-width: 280px;
	}
}

/* ======================================================================
 * Homepage "SCIENCE. LUXURY. RESULTS." row (Excel《首面》A13/C13 / D6 area)
 *
 * The client's E13 reference shows a centred heading with a diamond
 * ornament, the "Where advanced skincare science meets the art of luxury
 * beauty." subheading, and three centred columns: thin line-art icon,
 * keyword, hairline rule, lead line, supporting copy, separated by
 * vertical rules. This replaces the earlier left-aligned staggered trio.
 * ==================================================================== */
body.ae-theme.ae-v3 .ae3-science .ae3-intro--center .ae3-l2 {
	text-align: center;
}

/* thin rule + centred diamond, matching the reference ornament */
.ae3-science__divider {
	position: relative;
	display: block;
	width: min(260px, 42%);
	height: 9px;
	margin: clamp(16px, 2vw, 24px) auto clamp(18px, 2.2vw, 26px);
}

.ae3-science__divider::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--a3-line-dark);
}

.ae3-science__divider i {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 7px;
	margin: -3.5px 0 0 -3.5px;
	background: var(--a3-paper);
	border: 1px solid var(--a3-line-dark);
	transform: rotate(45deg);
}

body.ae-theme.ae-v3 .ae3-science .ae3-intro--center .ae3-l5 {
	text-align: center;
	margin-inline: auto;
	max-width: 640px;
}

.ae3-science__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(44px, 6vw, 88px);
}

.ae3-science__item {
	padding: 0 clamp(18px, 3vw, 46px);
	text-align: center;
	border-left: 1px solid var(--a3-line-dark);
}

.ae3-science__item:first-child {
	border-left: 0;
}

.ae3-science__icon {
	display: block;
	height: 56px;
	margin-bottom: clamp(20px, 2.6vw, 30px);
	color: var(--a3-text);
}

.ae3-science__icon svg,
.ae3-science__icon .ae-icon {
	display: block;
	width: 56px;
	height: 56px;
	margin: 0 auto;
}

/* the SVG set uses stroke-only line art */
.ae3-science__icon svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.05;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ae3-science__rule {
	display: block;
	width: 56px;
	height: 1px;
	margin: 15px auto 0;
	background: var(--a3-line-dark);
}

.ae3-science__lead {
	margin: 16px 0 0;
	font-size: .95rem;
	color: var(--a3-grey-700);
}

body.ae-theme.ae-v3 .ae3-science__item .ae3-l5 {
	margin-top: 10px;
	color: var(--a3-grey-500);
	text-align: center;
}

@media (max-width: 860px) {
	.ae3-science__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(32px, 7vw, 48px);
	}

	.ae3-science__item {
		padding: 0;
		border-left: 0;
	}
}

/* ======================================================================
 * Homepage leading Timeless row (Excel《首面》A14/C14/D14)
 *
 * D14: "左边一个大产品视觉 + 右边产品信息 + 下方横向其他产品(文字左边的为
 * 确认版）TIMELESS EYE CREAM | 占整个 Collection 区域大约 45-50%视觉面积 |
 * 不是简单的一张产品卡，而是一幅完整的产品摄影。（背景是黑底）"
 *
 * So the first row is a single 4:1 full-bleed photograph whose subject fills
 * roughly half the frame, with the copy floated over the empty dark right
 * half - never a boxed card. Sizing the row from the plate's own ratio means
 * the on-screen subject keeps the 45-50% area the client signed off, at every
 * viewport, without any crop maths.
 * ==================================================================== */
body.ae-theme.ae-v3 .ae3-product-row--lead {
	display: block;
	position: relative;
	/*
	 * The shell caps at --a3-max, but this row is meant to run edge to edge
	 * like the hero. Pull it out to the viewport and pad the copy back to the
	 * shell gutter so the grid still lines up with the rows below.
	 */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0;
	border-bottom: 0;
}

body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__media {
	position: relative;
	inset: auto;
	width: 100%;
	aspect-ratio: 4 / 1;
	/* D14: the photograph is the section, so no card chrome or shrink-scale. */
	transform: none;
}

body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: none;
}

body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__copy {
	position: absolute;
	top: 50%;
	right: max(var(--a3-gutter, 24px), calc((100vw - var(--a3-max, 1440px)) / 2 + var(--a3-gutter, 24px)));
	width: min(34vw, 470px);
	transform: translateY(-50%);
	text-align: left;
}

/* D14 keeps the C14 copy as the confirmed version, so the lead row reads
   name -> treatment -> description -> CTA with no spec line. */
body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__index {
	display: block;
	margin-bottom: 16px;
}

body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__name {
	margin-top: 0;
}

body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__desc {
	margin-top: 18px;
	max-width: 42ch;
}

body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__actions {
	margin-top: 34px;
}

@media (max-width: 900px) {
	body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__media {
		aspect-ratio: 16 / 9;
	}

	/*
	 * The 4:1 plate has its subject in the left half, so a centred 16/9 crop
	 * slices the jar in two. Bias the window left until the subject sits
	 * fully inside the frame (its bbox runs ~2%-56% of the plate width).
	 */
	body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__media img {
		object-position: 14% center;
	}

	body.ae-theme.ae-v3 .ae3-product-row--lead .ae3-product-row__copy {
		position: static;
		width: auto;
		transform: none;
		padding: clamp(28px, 6vw, 44px) var(--a3-gutter, 24px) clamp(36px, 7vw, 52px);
		background: var(--a3-black);
	}
}

/* ==========================================================================
   SHOP v3.1 - six-block rebuild aligned to Excel《网站提议20260815》SHOP 表
   A2:E4 + E 列参考图 + 《ANGELIASEYE Shop 六区块开发任务卡》。

   Everything in this block is scoped to the shop page: S-01 hero, S-02 one
   ritual, S-03 first six index (image cards), S-04a 04 editorial, S-04b 05
   science (dark full bleed), S-06 Lumiere signature, S-05a night, S-05b film
   (light two-column), S-05c find your formula.
   ========================================================================== */

/* ------------------------------------------------------ shared shop pieces */
body.ae-theme.ae-v3 .ae3-cta--light {
	color: var(--a3-text-invert);
}

body.ae-theme.ae-v3 .ae3-cta--dark {
	color: var(--a3-text);
}

/* --------------------------------------------------- S-01 collection hero */
body.ae-theme.ae-v3 .ae3-shop-hero .ae3-page-hero__copy .ae3-l5 {
	margin-top: 24px;
}

body.ae-theme.ae-v3 .ae3-shop-hero__tagline {
	margin: 24px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .44em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-shop-hero__actions {
	margin: 34px 0 0;
}

/* --------------------------------------------------------- S-02 one ritual */
body.ae-theme.ae-v3 .ae3-band__rule {
	display: block;
	width: 1px;
	height: clamp(28px, 3.4vw, 46px);
	margin: 26px auto 0;
	background: currentColor;
	opacity: .38;
}

body.ae-theme.ae-v3 .ae3-band__copy .ae3-l5 {
	margin: 26px auto 0;
	max-width: 42ch;
	text-align: center;
}

/* ------------------------------------------------ S-03 the first six index */
body.ae-theme.ae-v3 .ae3-shop-index {
	background: var(--a3-white);
}

body.ae-theme.ae-v3 .ae3-shop-index__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.95fr);
	gap: clamp(28px, 4.6vw, 76px);
	align-items: start;
}

body.ae-theme.ae-v3 .ae3-shop-index__head {
	position: sticky;
	top: clamp(96px, 12vh, 150px);
}

body.ae-theme.ae-v3 .ae3-shop-index__head .ae3-l5 {
	max-width: 30ch;
	margin-top: 4px;
}

body.ae-theme.ae-v3 .ae3-shop-index__rule {
	display: block;
	width: 58px;
	height: 1px;
	margin: 26px 0 30px;
	background: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-shop-index__actions {
	margin: 40px 0 0;
}

body.ae-theme.ae-v3 .ae3-shop-index__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--a3-line-dark);
	border-left: 1px solid var(--a3-line-dark);
}

body.ae-theme.ae-v3 .ae3-index-card {
	display: block;
	padding: clamp(18px, 2.1vw, 32px) clamp(16px, 1.9vw, 30px) clamp(22px, 2.4vw, 34px);
	border-right: 1px solid var(--a3-line-dark);
	border-bottom: 1px solid var(--a3-line-dark);
	text-decoration: none;
	color: inherit;
	transition: background .5s var(--a3-ease);
}

body.ae-theme.ae-v3 .ae3-index-card:hover,
body.ae-theme.ae-v3 .ae3-index-card:focus-visible {
	background: rgba(0, 0, 0, .022);
}

body.ae-theme.ae-v3 .ae3-index-card__no {
	display: block;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(22px, 2.2vw, 34px);
	font-weight: 400;
	line-height: 1;
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-index-card__media {
	display: grid;
	place-items: center;
	margin: 14px 0 22px;
	aspect-ratio: 4 / 3;
	background: var(--a3-paper);
	overflow: hidden;
}

body.ae-theme.ae-v3 .ae3-index-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .8s var(--a3-slow);
}

body.ae-theme.ae-v3 .ae3-index-card:hover .ae3-index-card__media img {
	transform: scale(1.035);
}

body.ae-theme.ae-v3 .ae3-index-card__series {
	display: block;
	margin-bottom: 8px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-index-card__name {
	margin: 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(17px, 1.6vw, 23px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: .01em;
}

body.ae-theme.ae-v3 .ae3-index-card__sub {
	margin: 10px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11.5px;
	line-height: 1.75;
	color: var(--a3-grey-500);
}

body.ae-theme.ae-v3 .ae3-index-card__foot {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-top: 22px;
}

body.ae-theme.ae-v3 .ae3-index-card__spec {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10.5px;
	letter-spacing: .06em;
	color: var(--a3-grey-500);
}

body.ae-theme.ae-v3 .ae3-index-card__cta {
	flex: 0 0 auto;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
}

/* -------------------------------------------- S-04a / S-05c editorial rows */
body.ae-theme.ae-v3 .ae3-shop-editorial__grid,
body.ae-theme.ae-v3 .ae3-shop-formula__grid {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: clamp(28px, 5vw, 86px);
	align-items: center;
}

body.ae-theme.ae-v3 .ae3-shop-editorial__no {
	display: flex;
	align-items: center;
	gap: 16px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--a3-grey-500);
}

body.ae-theme.ae-v3 .ae3-shop-editorial__no i {
	display: block;
	width: 42px;
	height: 1px;
	background: currentColor;
	opacity: .5;
}

body.ae-theme.ae-v3 .ae3-shop-editorial__title {
	margin: 26px 0 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(30px, 4.3vw, 66px);
	font-weight: 300;
	line-height: 1.02;
	letter-spacing: -.01em;
}

body.ae-theme.ae-v3 .ae3-shop-editorial__kicker {
	display: block;
	margin-top: 22px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-shop-editorial__copy .ae3-l5 {
	max-width: 34ch;
	margin-top: 20px;
}

body.ae-theme.ae-v3 .ae3-shop-editorial__actions {
	margin: clamp(30px, 4vw, 54px) 0 0;
}

body.ae-theme.ae-v3 .ae3-shop-editorial__media,
body.ae-theme.ae-v3 .ae3-shop-formula__media {
	position: relative;
	margin: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

body.ae-theme.ae-v3 .ae3-shop-editorial__media img,
body.ae-theme.ae-v3 .ae3-shop-formula__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 46%;
}

/* ------------------------------------------------ S-04b 05 science (dark) */
body.ae-theme.ae-v3 .ae3-shop-science {
	position: relative;
	background: var(--a3-black);
	color: var(--a3-text-invert);
	overflow: hidden;
}

body.ae-theme.ae-v3 .ae3-shop-science__media {
	position: absolute;
	inset: 0;
}

body.ae-theme.ae-v3 .ae3-shop-science__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 68% 14%;
}

body.ae-theme.ae-v3 .ae3-shop-science__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(100deg, rgba(5, 5, 5, .97) 0%, rgba(5, 5, 5, .93) 34%, rgba(5, 5, 5, .55) 58%, rgba(5, 5, 5, .12) 84%, rgba(5, 5, 5, .05) 100%),
		linear-gradient(180deg, rgba(5, 5, 5, .45) 0%, rgba(5, 5, 5, .1) 42%, rgba(5, 5, 5, .82) 100%);
}

body.ae-theme.ae-v3 .ae3-shop-science__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
	gap: clamp(30px, 5vw, 90px);
	align-items: stretch;
	min-height: clamp(540px, 76vh, 880px);
	padding: clamp(64px, 8vw, 132px) 0;
}

body.ae-theme.ae-v3 .ae3-shop-science__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

body.ae-theme.ae-v3 .ae3-shop-science__copy .ae3-shop-editorial__no {
	color: rgba(242, 242, 240, .72);
}

body.ae-theme.ae-v3 .ae3-shop-science__copy .ae3-shop-editorial__kicker {
	margin-top: 34px;
}

body.ae-theme.ae-v3 .ae3-shop-science__copy .ae3-l5 {
	max-width: 34ch;
	margin-top: 22px;
	color: rgba(242, 242, 240, .82);
}

body.ae-theme.ae-v3 .ae3-shop-science__copy .ae3-shop-editorial__actions {
	margin-top: auto;
	padding-top: clamp(46px, 7vw, 104px);
}

body.ae-theme.ae-v3 .ae3-shop-science__faq {
	align-self: end;
	padding-bottom: clamp(4px, 1vw, 18px);
}

body.ae-theme.ae-v3 .ae3-shop-science .ae3-accordion {
	margin-top: 0;
	border-top-color: var(--a3-line);
}

body.ae-theme.ae-v3 .ae3-shop-science .ae3-accordion details {
	border-bottom-color: var(--a3-line);
}

body.ae-theme.ae-v3 .ae3-accordion--numbered summary {
	justify-content: flex-start;
	gap: clamp(14px, 1.8vw, 30px);
	padding: 22px 0;
	font-size: 11px;
}

body.ae-theme.ae-v3 .ae3-accordion--numbered summary::after {
	margin-left: auto;
}

body.ae-theme.ae-v3 .ae3-accordion__no {
	flex: 0 0 auto;
	min-width: 30px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	letter-spacing: .2em;
	color: var(--a3-grey-400);
}

body.ae-theme.ae-v3 .ae3-accordion__label {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
}

body.ae-theme.ae-v3 .ae3-shop-science .ae3-accordion summary::after {
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-shop-science .ae3-accordion__body {
	color: rgba(242, 242, 240, .74);
	font-size: 12.5px;
}

/* ------------------------------------------------------- S-06 lumiere 06 */
body.ae-theme.ae-v3 .ae3-shop-signature__copy {
	align-self: center;
}

body.ae-theme.ae-v3 .ae3-shop-signature__copy .ae3-shop-editorial__no {
	color: rgba(242, 242, 240, .72);
}

body.ae-theme.ae-v3 .ae3-shop-signature__kicker {
	display: block;
	margin: 34px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-shop-signature .ae3-product-row__name {
	margin-top: 20px;
}

body.ae-theme.ae-v3 .ae3-shop-signature__spec {
	margin: 4px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	letter-spacing: .06em;
	color: rgba(242, 242, 240, .68);
	text-transform: uppercase;
}

body.ae-theme.ae-v3 .ae3-shop-signature__price {
	margin: 22px 0 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(24px, 2.4vw, 34px);
	line-height: 1;
}

body.ae-theme.ae-v3 .ae3-shop-signature__media {
	aspect-ratio: 1 / 1;
}

/* --------------------------------------------------------- S-05a night 01 */
body.ae-theme.ae-v3 .ae3-shop-night__notes {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(34px, 6vw, 104px);
	margin: clamp(42px, 5.4vw, 76px) 0 0;
}

body.ae-theme.ae-v3 .ae3-shop-night__block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

body.ae-theme.ae-v3 .ae3-shop-night__label {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 9.5px;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-shop-night__step {
	margin-top: 18px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12.5px;
	line-height: 1.2;
	letter-spacing: .02em;
}

body.ae-theme.ae-v3 .ae3-shop-night__tick {
	display: block;
	width: 1px;
	height: 20px;
	margin: 12px 0 0 6px;
	background: currentColor;
	opacity: .45;
}

body.ae-theme.ae-v3 .ae3-shop-night__moon {
	display: block;
	margin: 12px 0 0;
	width: 16px;
	height: 16px;
	color: var(--a3-text-invert);
}

body.ae-theme.ae-v3 .ae3-shop-night__moon svg {
	display: block;
	width: 100%;
	height: 100%;
}

body.ae-theme.ae-v3 .ae3-shop-night__block--collection .ae3-shop-night__name {
	margin-top: 18px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12.5px;
	line-height: 1.2;
}

body.ae-theme.ae-v3 .ae3-shop-night__note {
	margin-top: 6px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px;
	line-height: 1.6;
	color: rgba(242, 242, 240, .74);
}

/* ---------------------------------------------------- S-05b film 02 light */
body.ae-theme.ae-v3 .ae3-film.ae3-film--light {
	display: block;
	min-height: 0;
	text-align: left;
	background: var(--a3-paper);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-film--light .ae3-film__inner {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.3fr);
	gap: clamp(30px, 4.6vw, 78px);
	align-items: center;
	padding: clamp(58px, 7vw, 128px) 0;
}

body.ae-theme.ae-v3 .ae3-film--light .ae3-film__copy .ae3-l5 {
	max-width: 26ch;
	margin-top: 26px;
}

body.ae-theme.ae-v3 .ae3-film--light .ae3-film__play {
	margin-top: clamp(28px, 3vw, 44px);
}

body.ae-theme.ae-v3 .ae3-film--light .ae3-film__play .ae-icon {
	width: 30px;
	height: 30px;
	padding: 8px;
	border-color: currentColor;
}

body.ae-theme.ae-v3 .ae3-film__stage {
	position: relative;
}

body.ae-theme.ae-v3 .ae3-film__media {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--a3-black);
}

body.ae-theme.ae-v3 .ae3-film__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.ae-theme.ae-v3 .ae3-film__badge {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: grid;
	place-items: center;
	width: clamp(50px, 5vw, 68px);
	height: clamp(50px, 5vw, 68px);
	border: 1px solid rgba(255, 255, 255, .78);
	border-radius: 50%;
	color: #fff;
	background: rgba(5, 5, 5, .18);
}

body.ae-theme.ae-v3 .ae3-film__badge svg {
	display: block;
	width: 17px;
	height: 17px;
	margin-left: 3px;
}

body.ae-theme.ae-v3 .ae3-film__thumb {
	position: absolute;
	right: 0;
	bottom: calc(-1 * clamp(34px, 4.4vw, 60px));
	width: clamp(120px, 15%, 190px);
	margin: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--a3-black);
}

body.ae-theme.ae-v3 .ae3-film__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.ae-theme.ae-v3 .ae3-film--light .ae3-film__stage {
	padding-bottom: clamp(44px, 5.4vw, 74px);
}

/* ------------------------------------------------- S-05c find your formula */
body.ae-theme.ae-v3 .ae3-shop-formula__copy .ae3-l5 {
	max-width: 26ch;
	margin-top: 24px;
}

body.ae-theme.ae-v3 .ae3-shop-formula__media {
	aspect-ratio: 5 / 4;
}

/* --------------------------------------------------------- responsive v3.1 */
@media (max-width: 1080px) {
	body.ae-theme.ae-v3 .ae3-shop-index__layout,
	body.ae-theme.ae-v3 .ae3-shop-editorial__grid,
	body.ae-theme.ae-v3 .ae3-shop-formula__grid,
	body.ae-theme.ae-v3 .ae3-shop-science__inner,
	body.ae-theme.ae-v3 .ae3-film--light .ae3-film__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-shop-index__head {
		position: static;
	}

	body.ae-theme.ae-v3 .ae3-shop-science__inner {
		min-height: 0;
	}

	body.ae-theme.ae-v3 .ae3-shop-science__copy .ae3-shop-editorial__actions {
		padding-top: clamp(34px, 5vw, 56px);
	}

	body.ae-theme.ae-v3 .ae3-shop-science__faq {
		align-self: start;
	}

	body.ae-theme.ae-v3 .ae3-shop-science__media img {
		object-position: 60% 12%;
	}

	body.ae-theme.ae-v3 .ae3-shop-science__scrim {
		background:
			linear-gradient(180deg, rgba(5, 5, 5, .92) 0%, rgba(5, 5, 5, .74) 46%, rgba(5, 5, 5, .96) 100%),
			linear-gradient(90deg, rgba(5, 5, 5, .96) 0%, rgba(5, 5, 5, .5) 100%);
	}

	body.ae-theme.ae-v3 .ae3-shop-editorial__media,
	body.ae-theme.ae-v3 .ae3-shop-formula__media {
		aspect-ratio: 4 / 3;
	}

	body.ae-theme.ae-v3 .ae3-film__thumb {
		position: static;
		width: clamp(120px, 26%, 190px);
		margin: clamp(-40px, -4vw, -22px) 0 0 auto;
		position: relative;
	}

	body.ae-theme.ae-v3 .ae3-film--light .ae3-film__stage {
		padding-bottom: 0;
	}
}

@media (max-width: 860px) {
	body.ae-theme.ae-v3 .ae3-shop-index__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-index-card__media {
		aspect-ratio: 16 / 11;
	}

	body.ae-theme.ae-v3 .ae3-shop-night__notes {
		gap: 34px;
	}
}

@media (max-width: 620px) {
	body.ae-theme.ae-v3 .ae3-shop-hero__tagline {
		letter-spacing: .3em;
		font-size: 10px;
	}

	body.ae-theme.ae-v3 .ae3-shop-editorial__no i {
		width: 28px;
	}

	body.ae-theme.ae-v3 .ae3-film__badge {
		width: 46px;
		height: 46px;
	}

	body.ae-theme.ae-v3 .ae3-index-card__foot {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}

/* ==========================================================================
   INGREDIENTS — client screenshot (Excel E column) conformance pass
   2026-09-29. Appended only; every selector below either overrides a value
   defined earlier in this file or is new, so nothing above is edited.
   ========================================================================== */

/*
 * The client mock reproduces the second hero line as its own visual line
 * ("Ingredients," / "chosen with" / "purpose."), so the copy column is capped
 * tight enough that the second line breaks after "chosen with" instead of
 * running to the full 620px shell column.
 */
body.ae-theme.ae-v3 .ae3-ing-hero__copy h1 {
	max-width: 520px;
}

/*
 * Atlas nodes: E3 shows number + name + keywords + line icon with no body
 * copy. With `v3_ing_card_n_body` left empty the template now omits the
 * paragraph; these rules tighten what remains so the keyword row reads as a
 * short centred block under the name, matching the mock.
 */
body.ae-theme.ae-v3 .ae3-atlas__node .ae3-atlas__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

body.ae-theme.ae-v3 .ae3-atlas__node--5 .ae3-atlas__text,
body.ae-theme.ae-v3 .ae3-atlas__node--6 .ae3-atlas__text {
	align-items: flex-end;
}

body.ae-theme.ae-v3 .ae3-atlas__keywords {
	font-weight: 400;
}

body.ae-theme.ae-v3 .ae3-atlas__icon {
	margin-top: 4px;
}

/*
 * FORMULA ARCHIVE (E4)
 * 1. The subtitle is a two-line "Collection / Care" pair. The field stores the
 *    two lines separated by a newline, so preserve it instead of collapsing to
 *    a single space.
 * 2. Five of the six row images are 1700x955; inside the square row frame the
 *    old `object-fit: contain` left visible pale bands above and below the
 *    product. The mock fills the square, so crop to the frame centre instead.
 */
body.ae-theme.ae-v3 .ae3-archive__sub {
	white-space: pre-line;
}

body.ae-theme.ae-v3 .ae3-archive__media {
	background: var(--a3-paper);
}

body.ae-theme.ae-v3 .ae3-archive__media img {
	object-fit: cover;
}
/* ======================================================================
 * COLLECTIONS v3.2 - reference-image conformance (2026-09-29)
 *
 * Pure append: nothing above this banner is modified, so the templates that
 * are being edited in parallel (Shop / Ingredients / About / Home) keep
 * rendering byte-identically and the whole feature can be rolled back by
 * deleting this block.
 *
 * Every selector below is scoped to the collections page - either
 * `body.ae-theme.ae-v3 .ae3-collections ...` or `.ae3-collections ...` - so
 * the overrides of shared classes (`.ae3-page-hero`, `.ae3-intro-band`,
 * `.ae3-band__scrim`, `.ae3-cta--outline`, `.ae3-l1/.ae3-l3/.ae3-l5`,
 * `.ae3-steps`) cannot leak into another template. The page prefix also
 * supplies the specificity needed to outrank the unprefixed base rules
 * without touching them.
 *
 * Reference images measured for this pass (Excel《网站提议20260815》
 * COLLECTIONS E 列, quantified in qa/coll-audit-20260929):
 *   E2 COLLECTIONS_row2_5_image31.png - hero + light greige intro band
 *   E3 COLLECTIONS_row3_6_image32.png - four rows, gold numerals, hairline
 *   E4 COLLECTIONS_row4_7_image33.png - closing CTA, gold outline button
 * ==================================================================== */

/* 3.1 hero scale + gold accent on the title's second line ---------------- */
body.ae-theme.ae-v3 .ae3-collections .ae3-page-hero {
	/* live measured 585px, reference hero is ~736px on a 934px-tall crop */
	min-height: clamp(520px, 74vh, 760px);
}

body.ae-theme.ae-v3 .ae3-collections .ae3-page-hero__copy {
	max-width: 760px;
}

body.ae-theme.ae-v3 .ae3-collections .ae3-page-hero .ae3-l1 {
	/* live measured 95.04px */
	font-size: clamp(46px, 7.4vw, 112px);
}

/* E2: only "Luxury." is gold - lines 1 and 3 stay white. */
body.ae-theme.ae-v3 .ae3-collections .ae3-l1__accent {
	color: var(--a3-gold);
}

/* 3.2 hero hairline + centred eye emblem (E2 y ~ 554..566) --------------- */
body.ae-theme.ae-v3 .ae3-collections .ae3-hero-rule {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 300px;
	max-width: 100%;
	margin: 34px 0 0;
}

body.ae-theme.ae-v3 .ae3-collections .ae3-hero-rule__line {
	flex: 1 1 auto;
	height: 1px;
	background: linear-gradient(90deg, rgba(194, 163, 107, .18) 0%, rgba(194, 163, 107, .85) 100%);
}

/*
 * The gold is densest where the hairline meets the emblem and fades towards
 * the outer ends, so the first line runs light -> gold and the second one
 * mirrors it. `:first-of-type` / `:last-of-type` address the two `<span>`s
 * that flank the emblem without adding markup.
 */
body.ae-theme.ae-v3 .ae3-collections .ae3-hero-rule__line:first-of-type {
	background: linear-gradient(90deg, rgba(194, 163, 107, .18) 0%, rgba(194, 163, 107, .85) 100%);
}

body.ae-theme.ae-v3 .ae3-collections .ae3-hero-rule__line:last-of-type {
	background: linear-gradient(90deg, rgba(194, 163, 107, .85) 0%, rgba(194, 163, 107, .18) 100%);
}

body.ae-theme.ae-v3 .ae3-collections .ae3-hero-rule__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-collections .ae3-hero-rule__mark svg,
body.ae-theme.ae-v3 .ae3-collections .ae3-hero-rule__mark .ae-icon {
	display: block;
	width: 100%;
	height: 100%;
	/* the shared icon set is stroke-only line art (see `.ae3-science__icon`) */
	fill: none;
	stroke: currentColor;
	stroke-width: 1.05;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* 3.3 hero scroll hint - gold circle with a down arrow (E2 y ~ 878..930) - */
body.ae-theme.ae-v3 .ae3-collections .ae3-hero-scroll {
	position: absolute;
	left: 50%;
	bottom: clamp(20px, 3vw, 38px);
	transform: translateX(-50%);
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(194, 163, 107, .7);
	border-radius: 50%;
	color: var(--a3-gold);
	background: rgba(0, 0, 0, .18);
	font-size: 15px;
	line-height: 1;
	text-decoration: none;
	transition: transform .45s var(--a3-ease), border-color .45s var(--a3-ease), background-color .45s var(--a3-ease);
}

body.ae-theme.ae-v3 .ae3-collections .ae3-hero-scroll:hover {
	transform: translateX(-50%) scale(1.08);
	border-color: var(--a3-gold);
	background: rgba(194, 163, 107, .14);
}

/* keep a visible focus frame for keyboard users */
body.ae-theme.ae-v3 .ae3-collections .ae3-hero-scroll:focus-visible {
	outline: 2px solid rgba(194, 163, 107, .85);
	outline-offset: 3px;
}

body.ae-theme.ae-v3 .ae3-collections .ae3-hero-scroll span[aria-hidden="true"] {
	display: block;
	transform: translateY(-1px);
}

/* 3.4 intro band - light greige with a faint marble wash (E2 y >= 736) --- */
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band {
	/* live computed `background-color` was rgb(5,5,5); the reference band
	 * averages (216.7,206.0,193.3) / medians (225,215,204) - this is the flat
	 * approximation, kept as its own colour instead of borrowing a token. */
	background-color: #e6dcd1;
	/* two very light diagonal gradients instead of a photograph: a stone
	 * veining wash. Every stop is <= .06 alpha so the band still reads as a
	 * calm solid from a distance. */
	background-image:
		linear-gradient(112deg, rgba(255, 255, 255, .055) 0%, rgba(255, 255, 255, 0) 42%, rgba(0, 0, 0, .05) 68%, rgba(0, 0, 0, 0) 100%),
		linear-gradient(158deg, rgba(0, 0, 0, .05) 0%, rgba(0, 0, 0, 0) 32%, rgba(255, 255, 255, .05) 58%, rgba(255, 255, 255, 0) 84%, rgba(0, 0, 0, .04) 100%);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	color: var(--a3-text);
	border-bottom-color: rgba(0, 0, 0, .12);
	padding: clamp(52px, 6vw, 96px) 0;
}

/* E2 y ~ 764..800: the kicker stays gold, but darker to hold up on the
 * light ground. */
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-kicker {
	color: var(--a3-gold-dim);
}

/* E2 y ~ 818..854: dark supporting copy. */
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-l5 {
	color: rgba(16, 16, 16, .68);
}

/* 3.5 four rows - gold numerals + left hairline divider (E3) ------------- */
body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row__no {
	/* live measured rgba(255,255,255,.38), gold in the reference */
	color: var(--a3-gold);
}

/*
 * The divider between the numeral column and the copy column: a real 1px
 * border on the copy block rather than a decorative rail, so it spans exactly
 * the copy height like the reference band does.
 */
body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row__copy,
body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row--with-aside .ae3-collection-row__copy {
	border-left: 1px solid var(--a3-line);
	padding-left: clamp(18px, 2.2vw, 34px);
}

/* 3.6 keyword row on one line + wider copy column ------------------------ */
body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row__copy .ae3-l3 {
	/* live measured 16px / letter-spacing 4.8px, which wrapped at 398px wide */
	font-size: 12.5px;
	letter-spacing: .22em;
}

body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row__copy .ae3-l5 {
	/* live measured 333px */
	max-width: 58ch;
}

/*
 * Column budget. The copy column grows (2nd column .8fr -> 1fr) and the media
 * column gives up the difference (1.5fr -> 1.35fr); the `--with-aside`
 * variant is re-stated with its own numbers instead of inheriting the
 * three-column template, because the page prefix on the rule below would
 * otherwise outrank the four-column declaration at line ~1551.
 *
 * Both blocks are clamped to `min-width` so the existing collapse at 1080px
 * (aside drops to a full-width row) and at 782px (single column) are not
 * shadowed by the higher specificity.
 */
@media (min-width: 1081px) {
	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row {
		grid-template-columns: 84px minmax(0, 1fr) minmax(0, 1.35fr);
	}

	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row--with-aside {
		grid-template-columns: 84px minmax(0, .95fr) minmax(0, 1.12fr) minmax(0, .55fr);
	}
}

@media (min-width: 783px) and (max-width: 1080px) {
	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row {
		grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1.2fr);
	}

	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row--with-aside {
		grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1.15fr);
	}

	/* the longest keywords ("FIRMNESS · RENEWAL · AGE-DEFYING CARE") only just
	 * clear the narrower column at this size, so tighten the tracking there. */
	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row__copy .ae3-l3 {
		font-size: 12px;
		letter-spacing: .2em;
	}
}

/* 3.7 step strip on one line, three equal columns ------------------------ */
body.ae-theme.ae-v3 .ae3-collections .ae3-steps span {
	white-space: nowrap;
}

/* Scoped to the three-column layout: at 860px and below the strip stacks, and
 * `nowrap` inside a stacked item is kept off by the rules in 3.9. */
@media (min-width: 861px) {
	body.ae-theme.ae-v3 .ae3-collections .ae3-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	body.ae-theme.ae-v3 .ae3-collections .ae3-steps {
		grid-template-columns: 1fr;
	}
}

/* 3.8 closing CTA - gold outline, calmer scrim, new subtitle (E4) -------- */
body.ae-theme.ae-v3 .ae3-collections .ae3-band--center .ae3-band__scrim {
	/* live measured a flat rgba(0,0,0,.62), which flattened the gold silk
	 * artwork into a grey slab; a radial vignette keeps the texture readable. */
	background: radial-gradient(120% 100% at 50% 50%, rgba(0, 0, 0, .34) 0%, rgba(0, 0, 0, .66) 100%);
}

body.ae-theme.ae-v3 .ae3-collections .ae3-cta--outline,
body.ae-theme.ae-v3 .ae3-collections a.ae3-cta--outline {
	border-color: rgba(194, 163, 107, .85);
	color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-collections .ae3-cta--outline:hover,
body.ae-theme.ae-v3 .ae3-collections .ae3-cta--outline:focus-visible {
	background: rgba(194, 163, 107, .10);
	border-color: var(--a3-gold);
	color: var(--a3-gold);
}

/* E4 y ~ 340..380: the subtitle under the closing headline. It is a plain
 * `.ae3-l5` in the markup, so the `.ae3-l5` compound is repeated here to
 * outrank the centred-band margin/measure rule at line ~692. */
body.ae-theme.ae-v3 .ae3-collections .ae3-band__body,
body.ae-theme.ae-v3 .ae3-collections .ae3-band__body.ae3-l5 {
	max-width: 46ch;
	margin: 22px auto 0;
	text-align: center;
	color: rgba(242, 242, 240, .72);
}

/* 3.9 responsive ---------------------------------------------------------- */
@media (max-width: 767px) {
	body.ae-theme.ae-v3 .ae3-collections .ae3-hero-rule {
		width: 200px;
		margin-top: 26px;
	}

	body.ae-theme.ae-v3 .ae3-collections .ae3-hero-scroll {
		width: 38px;
		height: 38px;
		font-size: 13px;
	}

	/* single-column rows: a left border around a stacked block reads as a
	 * stray tick, so drop the divider and its indent. */
	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row__copy,
	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row--with-aside .ae3-collection-row__copy {
		border-left: 0;
		padding-left: 0;
	}

	body.ae-theme.ae-v3 .ae3-collections .ae3-steps span {
		white-space: normal;
	}
}

@media (max-width: 782px) {
	/* the collections rows collapse to one column at 782px; the divider and the
	 * 1fr/1.35fr templates from 3.6 must not survive that. */
	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row,
	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row--with-aside {
		grid-template-columns: 1fr;
	}

	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row__copy,
	body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row--with-aside .ae3-collection-row__copy {
		border-left: 0;
		padding-left: 0;
	}
}

@media (max-width: 620px) {
	body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band {
		padding: 46px 0;
	}

	body.ae-theme.ae-v3 .ae3-collections .ae3-hero-rule {
		width: 168px;
		gap: 10px;
	}
}

/* end COLLECTIONS v3.2 ---------------------------------------------------- */


/* ==========================================================================
   COLLECTIONS v3.2b - round-2 pixel measurements (2026-09-29)
   Adds the level-by-level kicker scale, the hairline under the intro-band
   kicker and moves the circular scroll cue to the bottom of the light band,
   all measured off Excel《网站提议20260815》COLLECTIONS E 列参考图.
   Everything is scoped to `.ae3-collections`.
   ========================================================================== */

/* --- kicker scale per level ------------------------------------------- */
body.ae-theme.ae-v3 .ae3-collections .ae3-page-hero__copy .ae3-kicker {
	font-size: 13px;
}
body.ae-theme.ae-v3 .ae3-collections .ae3-collections-head .ae3-kicker {
	font-size: 13px;
}
body.ae-theme.ae-v3 .ae3-collections .ae3-collection-row__copy .ae3-kicker {
	font-size: 13px;
}
body.ae-theme.ae-v3 .ae3-collections .ae3-band--center .ae3-kicker {
	font-size: 14px;
}

/*
 * The intro band's kicker carries the block, not a caption: in the reference it
 * is roughly twice the size of every other kicker on the page, and it owns the
 * short gold hairline underneath it.
 */
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-kicker {
	margin-bottom: 0;
	font-size: 22px;
	letter-spacing: .18em;
	color: var(--a3-gold-dim);
}
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-kicker::after {
	content: "";
	display: block;
	width: 44px;
	height: 1px;
	margin: 14px auto 0;
	background: var(--a3-gold);
}

/* --- intro band body --------------------------------------------------- */
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-l5 {
	max-width: 52ch;
	margin-top: 22px;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(16, 16, 16, .68);
}

/* --- circular scroll cue: bottom of the light band, centred ------------ */
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band {
	position: relative;
	padding-bottom: clamp(72px, 8vw, 108px);
}
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-hero-scroll {
	left: 50%;
	bottom: clamp(12px, 1.6vw, 20px);
	transform: translateX(-50%);
	width: 36px;
	height: 36px;
	font-size: 14px;
}
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-hero-scroll:hover,
body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-hero-scroll:focus-visible {
	transform: translateX(-50%) scale(1.06);
}

/* --- closing CTA: eye emblem instead of the diamond -------------------- */
body.ae-theme.ae-v3 .ae3-collections .ae3-cta-mark {
	width: 260px;
	height: 20px;
	margin-bottom: 18px;
}
body.ae-theme.ae-v3 .ae3-collections .ae3-cta-mark::after {
	width: 20px;
	height: 20px;
	border: 0;
	transform: translate(-50%, -50%);
	background: var(--a3-gold);
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z' fill='none' stroke='black' stroke-width='1.5'/><circle cx='12' cy='12' r='2.7' fill='none' stroke='black' stroke-width='1.5'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z' fill='none' stroke='black' stroke-width='1.5'/><circle cx='12' cy='12' r='2.7' fill='none' stroke='black' stroke-width='1.5'/></svg>") center / contain no-repeat;
}

/* --- round-2 responsive ------------------------------------------------- */
@media (max-width: 767px) {
	body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-kicker {
		font-size: 16px;
		letter-spacing: .14em;
	}
	body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-l5 {
		font-size: 14px;
	}
	body.ae-theme.ae-v3 .ae3-collections .ae3-intro-band .ae3-hero-scroll {
		width: 32px;
		height: 32px;
	}
	body.ae-theme.ae-v3 .ae3-collections .ae3-cta-mark {
		width: 200px;
	}
}

/* end COLLECTIONS v3.2b */

/* ==========================================================================
   SHOP v3.2 - 客户 E 列参考图对齐 (2026-09-29, Agent B / CSS 版式)
   ==========================================================================
   验收依据：Excel《网站提议20260815》SHOP 工作表 E 列「修改后图片参考」三张：
     · 上半部分  qa/xls-shop/r2_c5-6_r2_image28.png  (hero + ONE RITUAL + THE FIRST SIX)
     · 中部      qa/xls-shop/r3_c5-6_r3_image29.png  (04 / 05 / 06)
     · 下部分    qa/xls-shop/r4_c5-6_r4_image30.png  (01 / 02 / 03)

   纯追加：本段之前的所有规则一行未改（#0 只是把上一轮误写进文件的 "+" 前缀
   去掉，数值与原意完全一致）。所有选择器都保持 `body.ae-theme.ae-v3 ` 前缀，
   且只落在 .ae3-shop-* / .ae3-index-card* / .ae3-film* 命名空间内，
   home / about / collections / ingredients / contact / journal 六页零影响。
   ========================================================================== */

/* --------------------------------------------------------------------------
 * #0 补丁残留修复：v3.1 段尾部被 "+" 前缀污染的 4 条规则
 * --------------------------------------------------------------------------
 * 上一轮追加时把 diff 的 "+" 前缀一起写进了文件。`+body.ae-theme...{}` 在选择器
 * 位置是非法 token，CSS 错误恢复会把每一整块丢弃，所以下面四条一直没生效：
 * 01 段编号颜色、01 段编号与标题的间距、02 段编号与副标的间距。
 * 这里按原意重写（只去掉 "+"，属性值一字未改）。
 * ------------------------------------------------------------------------ */
body.ae-theme.ae-v3 .ae3-scene .ae3-shop-editorial__no {
	color: rgba(242, 242, 240, .72);
}

body.ae-theme.ae-v3 .ae3-scene__copy .ae3-shop-editorial__no + .ae3-l1 {
	margin-top: 26px;
}

body.ae-theme.ae-v3 .ae3-film--light .ae3-film__copy .ae3-shop-editorial__no {
	margin-bottom: 26px;
}

body.ae-theme.ae-v3 .ae3-film--light .ae3-film__copy .ae3-shop-editorial__kicker {
	display: block;
	margin-top: 22px;
}

/* --------------------------------------------------------------------------
 * 1. S-03 索引板：≥1200px 收成 3 列 × 2 行
 * --------------------------------------------------------------------------
 * E2 参考图是 01/02/03 一行、04/05/06 一行。现有代码把「2 列」写在基础规则
 * 里、把「1 列」写在 ≤860px，所以这里只补 ≥1200px 的 3 列分支即可：
 *   ≥1200px  → 3 列（本块）
 *   861–1199 → 2 列（基础规则，未动）
 *   ≤860px   → 1 列（原有 @media (max-width:860px)，未动）
 * 三档互不重叠，也不存在同断点内重复声明。
 * ------------------------------------------------------------------------ */
@media (min-width: 1200px) {
	body.ae-theme.ae-v3 .ae3-shop-index__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	/*
	 * 网格本身只有 border-left（大板左外框），列间竖线靠每张卡的 border-right。
	 * 3 列时第 3、6 张卡会在整块大板的最右侧多画一根竖线（参考图只有两道列间
	 * 分隔），所以只在 3 列断点内关掉最后一列的 border-right，边框仍然闭合。
	 */
	body.ae-theme.ae-v3 .ae3-index-card:nth-child(3n) {
		border-right: 0;
	}
}

/* --------------------------------------------------------------------------
 * 2. S-03 左栏比例收窄到 1 : 2.9
 * --------------------------------------------------------------------------
 * 实测参考图（r2，1024px 宽截图）左栏 ≈ 23% 视口、网格 ≈ 66% 视口，折成列宽比
 * 约 1 : 2.9。align-items: start 与 __head 的 sticky 行为沿用基础规则，不动。
 * 1440 档实测：左栏 319.8px / 网格 927.3px（gap 66.2px）。
 * ------------------------------------------------------------------------ */
@media (min-width: 1200px) {
	body.ae-theme.ae-v3 .ae3-shop-index__layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2.9fr);
	}
}

/* --------------------------------------------------------------------------
 * 3. S-03 卡片页脚：规格与 DISCOVER 改成上下两行、同一左基线
 * --------------------------------------------------------------------------
 * 参考图里每张卡是「20 ml / 0.68 fl. oz.」在上、「DISCOVER →」紧贴其下方并
 * 与规格左对齐（原实现是 flex + space-between，规格靠左、DISCOVER 顶到最右）。
 * 只换布局轴，字号 / 金色 / 字距等表现全部沿用 .ae3-index-card__spec 与
 * .ae3-index-card__cta 既有规则。
 * ------------------------------------------------------------------------ */
body.ae-theme.ae-v3 .ae3-index-card__foot {
	display: grid;
	justify-items: start;
	gap: clamp(8px, .8vw, 12px);
}

body.ae-theme.ae-v3 .ae3-index-card__cta {
	justify-self: start;
}

/*
 * 卡片配图填满画框。E2 参考图里六张卡都是「照片出血到 cell 边缘」，而六张
 * 源图分别是 1500×1500（01）与 1700×955（02–06）：在 4:3 画框里 `contain`
 * 会留下上下（02–06 是 16:9，各留 ~12%）或左右（01 是 1:1）的纸色边条。
 * 主题里 INGREDIENTS 段的 ARCHIVE 行用的是同一套素材与同类画框，当时已经
 * 用 `object-fit: cover` 收口；这里按同一口径把卡片媒体改成 cover，
 * 让六张卡与参考图一样满幅（居中裁切，四边最多各裁 12.5%）。
 */
body.ae-theme.ae-v3 .ae3-index-card__media img {
	object-fit: cover;
	object-position: center center;
}

/* --------------------------------------------------------------------------
 * 4. S-05b film 02 段：插入方图放大到 still 的 26%
 * --------------------------------------------------------------------------
 * 参考图（r4）里小方图 ≈ 208px@1440，大图 ≈ 508px@1440（约 41%），折到本页
 * 的 stage 宽度（1440 档 742px）即 26% ≈ 193px。right / bottom 沿用基础规则：
 *   right: 0; bottom: calc(-1 * clamp(34px, 4.4vw, 60px))
 * 1440 档实测 193px（原 120px）。
 * ------------------------------------------------------------------------ */
body.ae-theme.ae-v3 .ae3-film__thumb {
	width: clamp(140px, 26%, 220px);
}

/*
 * 同一条链上的历史遗漏：06 的 media 是一个 <figure>，浏览器 UA 样式给了它
 * `margin: 1em 40px`，而 v3.1 的 `.ae3-shop-signature__media` 规则只写了
 * `aspect-ratio`，没像 .ae3-shop-editorial__media 那样 `margin: 0`。
 * 结果是 06 的图上/下各多 16px、左右各缩 40px（1440 档图宽 651px 而非 691px，
 * 与参考图的 4:5 竖幅不符，也在 ≤860px 单列时留下 40px 的右侧留白）。
 * 这里按同族规则补齐 margin: 0；下方 ≥861px 的出血规则会再覆盖 margin-right。
 */
body.ae-theme.ae-v3 .ae3-shop-signature__media {
	margin: 0;
}

/*
 * ≤1080px 时 stage 塌成单列（大图 = 整条 shell 宽），小图改为 static 挂在
 * 大图右下。上限 200px、下限 96px，保证小图 ≤ 大图宽度的 34%：
 * 1024 → 200/934 = 21.4% ；768 → 182/700 = 26.0% ；390 → 96/350 = 27.4%。
 */
@media (max-width: 1080px) {
	body.ae-theme.ae-v3 .ae3-film__thumb {
		width: clamp(96px, 26%, 200px);
	}
}

/* --------------------------------------------------------------------------
 * 5. S-04a(04) 与 S-06(06)：右列图满出血到视口右边缘
 * --------------------------------------------------------------------------
 * 参考图里 04 的滴管图、06 的 LUMIÈRE 罐图都紧贴浏览器右边缘（r3 第 940 列
 * 仍是照片像素，左侧是纸色 243/236/227）。做法：把右列加宽 + 给 media 一个
 * 等于 --a3-gutter 的负右边距 —— 因为 .ae3-shell 的宽度正好是
 * `100% - 2 * --a3-gutter`，所以 media 右边缘 = 视口右边缘，误差 0 像素。
 *
 * ≤860px 单列时整块 this block 不生效，出血自动回归 margin-right: 0。
 * ------------------------------------------------------------------------ */
@media (min-width: 861px) {
	/*
	 * 04：参考图里图文接近 1 : 2（左栏 427px / 图 889px @1440），原来是
	 * .95fr : 1.05fr（图 652px）。改成 .5fr : 1fr 后右列 826px，加上 63px
	 * 出血正好 889px。
	 */
	body.ae-theme.ae-v3 .ae3-shop-editorial__grid {
		grid-template-columns: minmax(0, .5fr) minmax(0, 1fr);
	}

	/* 06：参考图里左文 630px / 图 688px（含出血），基本对半。 */
	body.ae-theme.ae-v3 .ae3-shop-signature {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}

	body.ae-theme.ae-v3 .ae3-shop-signature__media {
		/* 参考图 06 的罐图是 4:5 竖幅，且顶边与左侧「06」齐平。 */
		align-self: start;
		aspect-ratio: 4 / 5;
	}

	body.ae-theme.ae-v3 .ae3-shop-signature__copy {
		align-self: start;
	}

	body.ae-theme.ae-v3 .ae3-shop-editorial__media,
	body.ae-theme.ae-v3 .ae3-shop-signature__media {
		margin-right: calc(-1 * var(--a3-gutter));
	}

	/*
	 * 出血量是小数（1440 档 63.36px）。LayoutUnit 取整后右边缘理论上正好落在
	 * 100%，但为了不让 Windows 经典滚动条下出现 1px 的可滚动溢出，区块级用
	 * overflow-x: clip 收掉（clip 不会把 overflow-y 变成 auto，也不影响
	 * ae3-reveal / ae3-parallax 的 transform 动画）。
	 * .ae3-shop-editorial 本身就是 section；06 的 section 与其它页面共用
	 * .ae3-section--dark，所以用 :has() 精确命中，避免波及其它模板。
	 */
	body.ae-theme.ae-v3 .ae3-shop-editorial,
	body.ae-theme.ae-v3 .ae3-section:has(> .ae3-shell > .ae3-shop-signature) {
		overflow-x: clip;
	}
}

/* end SHOP v3.2 ------------------------------------------------------------ */


/* Source: assets/css/ae-page-about.css */
/*
 * ABOUT - 2026-09-29 client build additions (workbook sheet: about).
 * Adds the 01 origin dateline and the 09 / THE JOURNEY timeline.
 * Scoped to body.ae-theme.ae-v3 .ae3-about.
 */

body.ae-theme.ae-v3 .ae3-about .ae3-about-origin__note {
	margin: 26px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-gold);
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------- 09 / the journey */
body.ae-theme.ae-v3 .ae3-about .ae3-about-journey {
	background: var(--a3-paper);
}
body.ae-theme.ae-v3 .ae3-about .ae3-about-journey .ae3-kicker {
	margin-bottom: clamp(28px, 4vw, 60px);
}
body.ae-theme.ae-v3 .ae3-about .ae3-about-journey__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0;
	counter-reset: none;
}
body.ae-theme.ae-v3 .ae3-about .ae3-about-journey__stop {
	display: grid;
	grid-template-columns: minmax(0, 190px) minmax(0, 1fr);
	gap: clamp(16px, 3vw, 64px);
	align-items: start;
	padding: clamp(22px, 2.8vw, 40px) 0;
	border-top: 1px solid var(--a3-line-dark);
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-about .ae3-about-journey__stop:last-child {
	border-bottom: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-about .ae3-about-journey__year {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(24px, 2.8vw, 42px);
	font-weight: 300;
	line-height: 1;
	color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-about .ae3-about-journey__label {
	margin: 0 0 12px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--a3-gold-dim);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-about .ae3-about-journey__body {
	margin: 0;
	color: var(--a3-grey-500);
	overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-about .ae3-about-journey__stop { grid-template-columns: minmax(0, 120px) minmax(0, 1fr); }
}
@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-about .ae3-about-journey__stop { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	body.ae-theme.ae-v3 .ae3-about .ae3-about-journey__year { font-size: 26px; }
}

/* Source: assets/css/ae-page-about-layout.css */
/*
 * About layout studio — structural layer only.
 *
 * Every configurable value (文字大小 / 行高 / 字距 / 颜色 / 间距 / 版式 /
 * 图片内边距 / 场景底色) is emitted per scene as a concrete rule by
 * inc/about-layout.php, scoped to
 *   body.ae-theme.ae-v3 .ae3-about [data-ae3-scene="N"] …
 *
 * Nothing in this file carries a value the admin can also set, so an untouched
 * field can never override the theme inside ae-v3.css. The only thing owned
 * here is the line-splitting hook for the title, which the theme does not have.
 */

/*
 * Titles are rendered as one block-level span per line so the admin's
 * 「标题行距 / 标题分组间距」controls have something to act on. ae-v3.css ships no
 * `.ae3-tl` rule, so this is the one structural hook the layout studio adds.
 */
body.ae-theme.ae-v3 .ae3-about .ae3-tl {
	display: block;
}

body.ae-theme.ae-v3 .ae3-about .ae3-tl:first-child {
	margin-top: 0;
}


/* Source: assets/css/ae-page-home.css */
/*
 * HOME - 2026-09-29 client build additions (workbook sheet: HOME).
 * Only the pieces the rebuild was missing: the four-up brand-principles
 * strip under the hero and the offset SCIENCE, REFINED. stair.
 * Scoped to body.ae-theme.ae-v3 .ae3-home so it can never leak.
 */

/* -------------------------------------------- brand principles strip */
body.ae-theme.ae-v3 .ae3-home .ae3-principles {
	background: var(--a3-black);
	color: var(--a3-text-invert);
	padding: clamp(28px, 3.4vw, 52px) 0;
}
body.ae-theme.ae-v3 .ae3-home .ae3-principles__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(18px, 2.6vw, 44px);
}
body.ae-theme.ae-v3 .ae3-home .ae3-principles__item {
	min-width: 0;
	padding-top: 18px;
	border-top: 1px solid var(--a3-line);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-home .ae3-principles__icon {
	display: block;
	margin-bottom: 16px;
	color: var(--a3-gold);
}
body.ae-theme.ae-v3 .ae3-home .ae3-principles__icon svg {
	width: 22px;
	height: 22px;
	stroke: currentColor;
	fill: none;
}
body.ae-theme.ae-v3 .ae3-home .ae3-principles__item .ae3-l3 {
	margin: 0 0 8px;
	font-size: clamp(10.5px, .95vw, 12px);
}
body.ae-theme.ae-v3 .ae3-home .ae3-principles__item .ae3-l5 {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .62);
}

/* -------------------------------------------- SCIENCE, REFINED. stair */
body.ae-theme.ae-v3 .ae3-home .ae3-refined {
	position: relative;
	background: var(--a3-black);
	color: var(--a3-text-invert);
	overflow: hidden;
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined .ae3-shell {
	position: relative;
	z-index: 2;
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined .ae3-intro {
	max-width: none;
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined .ae3-l3 {
	color: var(--a3-gold);
	margin-bottom: clamp(26px, 4vw, 60px);
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined__stack {
	display: grid;
	gap: clamp(24px, 4vw, 58px);
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined__item {
	min-width: 0;
	max-width: 460px;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined__item:nth-child(1) { margin-left: 0; }
body.ae-theme.ae-v3 .ae3-home .ae3-refined__item:nth-child(2) { margin-left: clamp(0px, 18vw, 300px); }
body.ae-theme.ae-v3 .ae3-home .ae3-refined__item:nth-child(3) { margin-left: clamp(0px, 36vw, 600px); }
body.ae-theme.ae-v3 .ae3-home .ae3-refined__no {
	display: block;
	margin-bottom: 8px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	letter-spacing: .26em;
	color: var(--a3-grey-400);
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined__item .ae3-l2 {
	color: var(--a3-text-invert);
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined__item .ae3-l5 {
	margin: 14px 0 0;
	color: rgba(255, 255, 255, .62);
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined__media {
	position: absolute;
	top: 0;
	right: 0;
	width: 58%;
	height: 100%;
	opacity: .5;
	pointer-events: none;
}
body.ae-theme.ae-v3 .ae3-home .ae3-refined__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 55%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 55%);
}

/* -------------------------------------------- responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-home .ae3-principles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.ae-theme.ae-v3 .ae3-home .ae3-refined__item:nth-child(2) { margin-left: 0; }
	body.ae-theme.ae-v3 .ae3-home .ae3-refined__item:nth-child(3) { margin-left: 0; }
	body.ae-theme.ae-v3 .ae3-home .ae3-refined__media { width: 100%; opacity: .28; }
}
@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-home .ae3-principles__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-home .ae3-principles__item { padding-top: 14px; }
	body.ae-theme.ae-v3 .ae3-home .ae3-refined__item { max-width: none; }
}
/* -------------------------------------------- hero product label + product intro */
body.ae-theme.ae-v3 .ae3-home .ae3-hero__meta {
	margin: 20px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--a3-gold);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-home .ae3-products__intro {
	margin-bottom: clamp(28px, 4vw, 58px);
	text-align: center;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-home .ae3-products__intro .ae3-l5 {
	margin: 0;
	color: rgba(255, 255, 255, .62);
}
body.ae-theme.ae-v3 .ae3-home .ae3-products__scroll {
	display: block;
	margin-top: 22px;
	font-size: 9.5px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-grey-400);
}

/* ---------------------------------- home layout blocks (repeatable banners) */
/*
 * Repeatable blocks managed in Appearance -> AngeliasEye Content -> Home page.
 * Structural rules live here; every size, colour, spacing, padding, position and
 * scrim value is emitted inline from the stored block values, so an editor can
 * match a reference layout without touching this file.
 */
/* ---------------------------------- home layout blocks (repeatable banners) */
/*
 * Repeatable blocks managed in Appearance -> AngeliasEye Content -> Home page.
 * Structural rules live here; every size, colour, spacing, padding, position,
 * scrim, button-skin and strip value is emitted inline from the stored block
 * values, so an editor can match a reference layout without touching this file.
 *
 * A block is two stacked parts: the plate (image + scrim + copy) and, when the
 * editor filled the repeatable Feature strip list, the full-width strip under it.
 * Buttons are a repeatable list too, so the action row wraps as many as the block
 * carries and each one picks solid / outline / text-link via its own class.
 */
/* ---------------------------------- home layout blocks (repeatable banners) */
/*
 * Repeatable blocks managed in Appearance -> AngeliasEye Content -> Home page.
 * Structural rules live here; every size, colour, spacing, padding, position,
 * scrim, button-skin and strip value is emitted inline from the stored block
 * values, so an editor can match a reference layout without touching this file.
 *
 * A block is two stacked parts: the plate (image + scrim + copy) and, when the
 * editor filled the repeatable Feature strip list, the full-width strip under it.
 * Buttons are a repeatable list too, so the action row wraps as many as the block
 * carries and each one picks solid / outline / text-link via its own class.
 */
/* ---------------------------------- home layout blocks (repeatable banners) */
/*
 * Repeatable blocks managed in Appearance -> AngeliasEye Content -> Home page.
 * Structural rules live here; every size, colour, spacing, padding, position,
 * scrim, button-skin and strip value is emitted inline from the stored block
 * values, so an editor can match a reference layout without touching this file.
 *
 * A block is two stacked parts: the plate (image + scrim + copy) and, when the
 * editor filled the repeatable Feature strip list, the full-width strip under it.
 * Buttons are a repeatable list too, so the action row wraps as many as the block
 * carries and each one picks solid / outline / text-link via its own class.
 */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-blocks {
	background: var(--a3-black);
	color: var(--a3-text-invert);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block {
	position: relative;
	display: block;
	overflow: hidden;
	box-sizing: border-box;
	background: var(--a3-black);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block + .ae3-visual-block {
	border-top: 1px solid var(--a3-line);
}

/* --------------------------------------------------------------- plate */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__plate {
	position: relative;
	display: flex;
	min-height: var(--aevb-min-h, 0px);
	overflow: hidden;
	box-sizing: border-box;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	box-sizing: border-box;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform-origin: center;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__scrim {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__inner {
	position: relative;
	z-index: 2;
	display: flex;
	width: 100%;
	align-items: flex-end;
	padding: clamp(56px, 8vw, 132px) min(8.7vw, 168px);
	box-sizing: border-box;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--align-left .ae3-visual-block__inner {
	justify-content: flex-start;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--align-center .ae3-visual-block__inner {
	justify-content: center;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--align-right .ae3-visual-block__inner {
	justify-content: flex-end;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--valign-top .ae3-visual-block__inner { align-items: flex-start; }
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--valign-middle .ae3-visual-block__inner { align-items: center; }
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--valign-bottom .ae3-visual-block__inner { align-items: flex-end; }
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__copy {
	width: 100%;
	box-sizing: border-box;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__kicker {
	/* vertical rhythm comes from the block's kicker_gap value (inline margin) */
	margin: 0;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__title {
	margin: 0;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__body {
	/* spacing comes from the block's body_gap value (inline margin) */
	margin: 0;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__lines {
	width: 100%;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__line {
	/*
	 * One row of the block's Text list. Size, colour, letter spacing, weight and
	 * the gap above the row are all emitted inline by the PHP renderer, so only
	 * the wrapping behaviour is fixed here. No `pre-wrap` here: the renderer
	 * already turns the row's own line breaks into <br>.
	 */
	margin: 0;
	overflow-wrap: anywhere;
}

/* ------------------------------------------------- repeatable button row */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions {
	/* spacing comes from the block's button_gap / button_spacing values */
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions .ae3-cta {
	display: inline-block;
	font-size: var(--aevb-btn-size, 13px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: var(--aevb-btn-ls, .12em);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--aevb-btn-color, #1d1a14);
	background: var(--aevb-btn-bg, #d8bd85);
	border: var(--aevb-btn-border, 0 solid transparent);
	border-radius: var(--aevb-btn-radius, 2px);
	padding: var(--aevb-btn-pad, 18px 38px);
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions .ae3-cta:hover,
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions .ae3-cta:focus-visible {
	background: var(--aevb-btn-bg-hover, #c9ad74);
	color: var(--aevb-btn-color, #1d1a14);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions .ae3-cta--outline {
	color: var(--aevb-btn-border-color, #d8bd85);
	background: transparent;
	border: 1px solid var(--aevb-btn-border-color, #d8bd85);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions .ae3-cta--outline:hover,
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions .ae3-cta--outline:focus-visible {
	color: var(--aevb-btn-color, #1d1a14);
	background: var(--aevb-btn-border-color, #d8bd85);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions .ae3-cta--link {
	color: var(--aevb-btn-border-color, #d8bd85);
	background: transparent;
	border: 0;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: .35em;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions .ae3-cta--link:hover,
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions .ae3-cta--link:focus-visible {
	color: var(--aevb-btn-bg-hover, #c9ad74);
	background: transparent;
}

/* --------------------------------------------- repeatable feature strip */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__items {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(var(--aevb-items-cols, 4), minmax(0, 1fr));
	gap: var(--aevb-items-gap, 28px);
	margin: 0;
	padding: 0 min(8.7vw, 168px);
	box-sizing: border-box;
	list-style: none;
	background: inherit;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--items-divider .ae3-visual-block__items {
	border-top: 1px solid var(--a3-line);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--items-overlay .ae3-visual-block__items {
	position: absolute;
	z-index: 3;
	right: 0;
	bottom: 0;
	left: 0;
	padding-top: var(--aevb-items-pad-top, 24px);
	padding-bottom: var(--aevb-items-pad-bottom, 40px);
	background: linear-gradient(to top, rgba(255,255,255,.22), rgba(255,255,255,0));
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--items-overlay .ae3-visual-block__item + .ae3-visual-block__item {
	border-left: 1px solid currentColor;
	border-color: rgba(139, 111, 69, .55);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--items-overlay .ae3-visual-block__item {
	align-items: center;
	padding-left: 0;
	text-align: center;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--items-overlay .ae3-visual-block__item-icon {
	position: static;
	width: 44px;
	height: 44px;
	margin: 0 auto 10px;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--items-overlay .ae3-visual-block__item-icon .ae-icon {
	width: 25px;
	height: 25px;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--items-overlay .ae3-visual-block__item-text {
	font-family: Arial, sans-serif;
	font-size: 15px;
	line-height: 1.55;
	opacity: 1;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .55em;
	padding-left: 48px;
	min-width: 0;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__item-icon {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	box-sizing: border-box;
	border: 1px solid currentColor;
	border-radius: 50%;
	color: var(--aevb-items-color, #e6ded0);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__item-icon .ae-icon {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.15;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__item-title {
	display: block;
	font-family: var(--aevb-font-caps, inherit);
	font-size: var(--aevb-items-size, 12px);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--aevb-items-color, #e6ded0);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__item-text {
	display: block;
	font-family: var(--aevb-font-body, inherit);
	font-size: calc(var(--aevb-items-size, 12px) * 1.05);
	font-weight: 400;
	line-height: 1.65;
	color: var(--aevb-items-color, #e6ded0);
	opacity: .72;
}

/* text-only layout: no media, so the copy controls the plate */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--text .ae3-visual-block__plate {
	align-items: center;
	justify-content: center;
}

/* split layout: image column width comes from the block's split_ratio value */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split .ae3-visual-block__plate {
	display: grid;
	grid-template-columns: var(--aevb-split, 52%) minmax(0, 1fr);
	align-items: stretch;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split .ae3-visual-block__media {
	position: relative;
	inset: auto;
	min-height: var(--aevb-min-h, 0px);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split .ae3-visual-block__scrim {
	display: none;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split .ae3-visual-block__inner {
	align-items: center;
	padding: clamp(40px, 5vw, 96px) clamp(24px, 4vw, 72px);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split.ae3-visual-block--media-right .ae3-visual-block__plate {
	grid-template-columns: minmax(0, 1fr) var(--aevb-split, 52%);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split.ae3-visual-block--media-right .ae3-visual-block__media {
	grid-column: 2;
	grid-row: 1;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split.ae3-visual-block--media-right .ae3-visual-block__inner {
	grid-column: 1;
	grid-row: 1;
}

/* image-only layout */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--image_only .ae3-visual-block__plate {
	min-height: var(--aevb-min-h, 420px);
}

/* responsive */
@media (max-width: 900px) {
	body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__inner {
		padding: clamp(40px, 8vw, 72px) 24px;
	}
	body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__items {
		padding-left: 24px;
		padding-right: 24px;
	}
	body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split .ae3-visual-block__plate {
		grid-template-columns: minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split .ae3-visual-block__media {
		min-height: 46vw;
	}
	body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split.ae3-visual-block--media-right .ae3-visual-block__media,
	body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--split.ae3-visual-block--media-right .ae3-visual-block__inner {
		grid-column: 1;
		grid-row: auto;
	}
	body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__copy {
		max-width: 100% !important;
	}
}

/*
 * Reference-canvas mode
 * ---------------------
 * Proportional blocks are laid out once at the reference width and then
 * zoomed as one unit. The browser never recalculates a 2.6px font-size or
 * squeezes a flex item, so glyphs, letter spacing and line breaks keep their
 * original shape.
 */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__canvas {
	width: 100%;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional .ae3-visual-block__canvas {
	width: var(--aevb-design-width);
	zoom: var(--aevb-scale, 1);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional .ae3-visual-block__plate {
	width: var(--aevb-design-width);
	height: var(--aevb-design-height);
	min-height: 0;
	aspect-ratio: auto;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional .ae3-visual-block__inner {
	padding: var(--aevb-copy-pad-top, 0px) var(--aevb-copy-pad-right, 0px) var(--aevb-copy-pad-bottom, 0px) var(--aevb-copy-pad-left, 0px);
}
/*
 * Keep the title on a fixed reference-canvas slot. The canvas is zoomed as
 * one unit, so the slot, gaps and font scale together without allowing a
 * larger title to push the body or buttons out of alignment.
 */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional .ae3-visual-block__copy {
	flex: 0 0 var(--aevb-copy-width, auto);
	width: var(--aevb-copy-width, auto);
	max-width: var(--aevb-copy-width, 100%);
	min-width: 0;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional .ae3-visual-block__title {
	height: var(--aevb-title-slot, auto);
	min-height: 0;
	overflow: hidden;
	overflow-wrap: normal;
	word-break: normal;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional .ae3-visual-block__line {
	overflow-wrap: normal;
	word-break: normal;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__items {
	padding-left: var(--aevb-items-pad-left, 0px);
	padding-right: var(--aevb-items-pad-right, 0px);
	grid-template-columns: repeat(var(--aevb-items-cols, 4), minmax(0, 1fr));
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional.ae3-visual-block--split .ae3-visual-block__plate {
	display: grid;
	grid-template-columns: var(--aevb-split, 52%) minmax(0, 1fr);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional.ae3-visual-block--split.ae3-visual-block--media-right .ae3-visual-block__plate {
	grid-template-columns: minmax(0, 1fr) var(--aevb-split, 52%);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional.ae3-visual-block--split .ae3-visual-block__inner {
	padding: var(--aevb-copy-pad-top, 0px) var(--aevb-copy-pad-right, 0px) var(--aevb-copy-pad-bottom, 0px) var(--aevb-copy-pad-left, 0px);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block--scale-proportional.ae3-visual-block--split .ae3-visual-block__media {
	min-height: 0;
}

/* ------------------------------------------------ dated timeline layout */
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-visual-block--timeline .ae3-visual-block__plate {
	display: block;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-visual-block--timeline .ae3-timeline {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-timeline__intro {
	margin: 0 0 calc(34px * var(--aevb-scale, 1));
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-timeline__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--aevb-timeline-rule, #d9d5ce);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-timeline__item {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 0;
	row-gap: var(--aevb-timeline-gap, 62px);
	box-sizing: border-box;
	padding: calc(var(--aevb-timeline-gap, 62px) * .68) 0;
	border-bottom: 1px solid var(--aevb-timeline-rule, #d9d5ce);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-timeline__year,
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-timeline__label,
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-timeline__body {
	margin: 0;
	font-family: var(--aevb-font-body, inherit);
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-timeline__year {
	grid-column: 1;
	grid-row: 1;
	font-family: var(--aevb-font-display, inherit);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.02em;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-timeline__label {
	grid-column: 2;
	grid-row: 1;
	align-self: center;
	font-family: var(--aevb-font-caps, inherit);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .16em;
	text-transform: uppercase;
}
body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-collections, .ae3-ingredients, .ae3-journal-edit) .ae3-timeline__body {
	grid-column: 1 / 3;
	grid-row: 2;
	line-height: 1.7;
}

/* ----------------------------------------- configurable WooCommerce grid */
body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-visual-block--product_grid {
	--aevb-product-card-bg: #f5f1e9;
	--aevb-product-card-color: #1d1a14;
	--aevb-product-accent: #a8844f;
	background: var(--aevb-product-card-bg);
	color: var(--aevb-product-card-color);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid {
	display: grid;
	grid-template-columns: var(--aevb-product-intro-width, 29%) minmax(0, 1fr);
	min-height: 0;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__intro {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	padding: clamp(42px, 5vw, 96px) clamp(26px, 4vw, 74px);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__intro .ae3-product-grid__kicker,
body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__intro .ae3-product-grid__title,
body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__intro .ae3-product-grid__body {
	max-width: 100%;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__title {
	margin: 0;
	color: var(--aevb-product-card-color);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__body {
	color: color-mix(in srgb, var(--aevb-product-card-color) 78%, transparent);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__lines {
	margin-top: 18px;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__line {
	margin: 0;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__actions .ae3-cta {
	color: var(--aevb-product-card-color);
	border-color: var(--aevb-product-accent);
	background: transparent;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__actions .ae3-cta:hover,
body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__actions .ae3-cta:focus-visible {
	color: var(--aevb-product-card-bg);
	background: var(--aevb-product-accent);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__cards {
	display: grid;
	grid-template-columns: repeat(var(--aevb-product-columns, 3), minmax(0, 1fr));
	gap: var(--aevb-product-gap, 0);
	/*
	 * Keep each row at its natural content height. The previous stretch
	 * behaviour made cards with different copy lengths grow independently,
	 * which moved the image/text boundary and caused visual drift.
	 */
	align-items: start;
	align-content: start;
	grid-auto-rows: max-content;
	background: var(--aevb-product-card-bg);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card {
	position: relative;
	min-width: 0;
	height: auto;
	border-left: 1px solid color-mix(in srgb, var(--aevb-product-card-color) 14%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--aevb-product-card-color) 14%, transparent);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__link {
	position: relative;
	display: block;
	height: auto;
	min-height: 0;
	color: inherit;
	text-decoration: none;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__number {
	position: absolute;
	top: clamp(18px, 2vw, 34px);
	left: clamp(18px, 2vw, 34px);
	z-index: 2;
	font-family: var(--aevb-font-display, Georgia, serif);
	font-size: clamp(24px, 2.2vw, 38px);
	line-height: 1;
	color: var(--aevb-product-accent);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__media {
	display: block;
	width: 100%;
	margin: 0;
	overflow: hidden;
	box-sizing: border-box;
	aspect-ratio: var(--aevb-product-image-ratio, 1);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__media img {
	display: block;
	width: 100%;
	height: 100%;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__content {
	display: grid;
	grid-template-rows: auto auto minmax(2.9em, auto) auto;
	gap: 7px;
	min-height: 0;
	padding: var(--aevb-product-card-pad, 24px);
	box-sizing: border-box;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__series,
body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__name,
body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__subtitle {
	margin: 0;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__series {
	font-family: var(--aevb-font-caps, var(--ae-body, Arial, sans-serif));
	font-size: var(--aevb-product-series-size, 11px);
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.3;
	color: color-mix(in srgb, var(--aevb-product-card-color) 68%, transparent);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__name {
	font-family: var(--aevb-font-display, Georgia, serif);
	font-size: var(--aevb-product-name-size, 15px);
	font-weight: 400;
	line-height: 1.3;
	color: var(--aevb-product-card-color);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__subtitle {
	font-family: var(--aevb-font-body, var(--ae-body, Arial, sans-serif));
	font-size: var(--aevb-product-subtitle-size, 12px);
	line-height: 1.45;
	color: color-mix(in srgb, var(--aevb-product-card-color) 78%, transparent);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__foot {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-top: 0;
	padding-top: 18px;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__spec {
	font-family: var(--aevb-font-body, var(--ae-body, Arial, sans-serif));
	font-size: var(--aevb-product-spec-size, 11px);
	line-height: 1.35;
	color: color-mix(in srgb, var(--aevb-product-card-color) 72%, transparent);
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__cta {
	flex: 0 0 auto;
	font-family: var(--aevb-font-caps, var(--ae-body, Arial, sans-serif));
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--aevb-product-card-color);
	border-bottom: 1px solid var(--aevb-product-accent);
	padding-bottom: 4px;
	transition: color .25s ease, border-color .25s ease;
}

body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__link:hover .ae3-product-card__cta,
body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-card__link:focus-visible .ae3-product-card__cta {
	color: var(--aevb-product-accent);
	border-color: currentColor;
}

@media (max-width: 1024px) {
	body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid {
		grid-template-columns: minmax(220px, 32%) minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__intro {
		min-height: 360px;
	}
	body.ae-theme.ae-v3 :is(.ae3-home, .ae-shop-page) .ae3-product-grid__cards {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 620px) {
	body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__items {
		grid-template-columns: repeat(min(var(--aevb-items-cols, 4), 2), minmax(0, 1fr));
	}
	body.ae-theme.ae-v3 :is(.ae3-home, .ae3-about, .ae3-contact, .ae3-collections, .ae3-ingredients, .ae3-journal-edit, .ae-shop-page) .ae3-visual-block__actions {
		justify-content: flex-start !important;
	}
}

/* ------------------------------------------------ contact visual blocks */
body.ae-theme.ae-v3 .ae3-contact .ae3-visual-block__form {
	margin-top: clamp(24px, 3vw, 42px);
	width: 100%;
}
body.ae-theme.ae-v3 .ae3-contact .ae3-visual-block__form .wpforms-container,
body.ae-theme.ae-v3 .ae3-contact .ae3-visual-block__form .wpforms-form {
	margin: 0;
}
body.ae-theme.ae-v3 .ae3-contact .ae3-visual-block__form input,
body.ae-theme.ae-v3 .ae3-contact .ae3-visual-block__form textarea,
body.ae-theme.ae-v3 .ae3-contact .ae3-visual-block__form select {
	max-width: 100%;
}
body.ae-theme.ae-v3 .ae3-contact .ae3-visual-block--split .ae3-visual-block__form {
	max-width: 620px;
}
@media (max-width: 900px) {
	body.ae-theme.ae-v3 .ae3-contact .ae3-visual-block__form {
		margin-top: 28px;
	}
}

/* Home canvases scale to their padded container, rather than the viewport. */
@supports (container-type: inline-size) and (zoom: calc(100cqw / 1920px)) {
	body.ae-theme.ae-v3 .ae3-home .ae3-visual-block--scale-proportional {
		container-type: inline-size;
	}
	body.ae-theme.ae-v3 .ae3-home .ae3-visual-block--scale-proportional .ae3-visual-block__canvas {
		zoom: calc(100cqw / var(--aevb-design-width));
	}
}
body.ae-theme.ae-v3 .ae3-home .ae3-visual-block__form {
	margin-top: 24px;
	width: 100%;
}
body.ae-theme.ae-v3 .ae3-home .ae3-visual-block__form .wpforms-container {
	margin: 0;
}

/* Independent copy shares the same reference canvas as its background. */
body.ae-theme.ae-v3 .ae3-visual-block .ae3-visual-block__layers { position:absolute; inset:0; z-index:3; pointer-events:none; }
body.ae-theme.ae-v3 .ae3-visual-block .ae3-visual-layer {
    position:absolute; box-sizing:border-box; display:block; margin:0; padding:0;
    max-width:none; min-width:0; white-space:pre-wrap; overflow-wrap:normal;
    word-break:normal; text-transform:none; text-decoration:none; text-shadow:none;
}
body.ae-theme.ae-v3 .ae3-visual-block .ae3-visual-layer--button { display:flex; align-items:center; pointer-events:auto; text-decoration:none; }

body.ae-theme.ae-v3 .ae3-visual-block .ae3-visual-layer--button:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
body.ae-theme.ae-v3 .ae3-visual-block .ae3-visual-layer--button:hover { filter:brightness(1.12); }


/* Source: assets/css/ae-home-header.css */
/* Live navigation aligned with the Home reference artwork. */
body.home.ae-home {
  background: #070707;
  --ae-home-gutter: 40px;
  --ae-home-unit: calc((100vw - 2 * var(--ae-home-gutter)) / 1944);
}
body.home.ae-theme.ae-v3.ae-home .ae-site-header {
  position: absolute;
  inset: 0 var(--ae-home-gutter) auto;
  z-index: 120;
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.home.ae-home .ae-site-header .ae-shell {
  width: 92%;
  max-width: none;
  margin-inline: auto;
}
body.home.ae-theme.ae-v3.ae-home .ae-utility-bar {
  background: rgba(0,0,0,.48);
  border-bottom: 1px solid rgba(224,195,147,.16);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(8px, calc(var(--ae-home-unit) * 15), 16px);
  line-height: 1.2;
  letter-spacing: 0;
}
body.home.ae-home .ae-utility-bar__inner {
  min-height: clamp(20px, calc(var(--ae-home-unit) * 40), 44px);
  gap: 10px;
}
body.home.ae-home .ae-utility-bar__message { gap: 8px; }
body.home.ae-home .ae-utility-bar__message .ae-icon {
  width: clamp(10px, calc(var(--ae-home-unit) * 18), 20px);
  height: clamp(10px, calc(var(--ae-home-unit) * 18), 20px);
}
body.home.ae-home .ae-utility-bar__links { display: flex; gap: 16px; }
body.home.ae-home .ae-brand-row {
  min-height: clamp(40px, calc(var(--ae-home-unit) * 90), 100px);
  grid-template-columns: 1fr auto 1fr;
  gap: 0;
  background: transparent;
}
body.home.ae-home .ae-brand-lockup { grid-column: 2; }
body.home.ae-home .ae-wordmark {
  gap: calc(var(--ae-home-unit) * 8);
  font-size: clamp(12px, calc(var(--ae-home-unit) * 28), 32px);
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: .025em;
  line-height: 1;
}
body.home.ae-theme .ae-wordmark > .ae-wordmark__mark {
  height: clamp(20px, calc(var(--ae-home-unit) * 45), 50px) !important;
  width: auto !important;
  max-height: none;
}
body.home.ae-home .ae-wordmark__name sup { font-size: .32em; }
body.home.ae-home .ae-header-actions {
  grid-column: 3;
  gap: clamp(5px, calc(var(--ae-home-unit) * 22), 26px);
}
body.home.ae-home .ae-header-action {
  width: clamp(28px, calc(var(--ae-home-unit) * 40), 44px);
  height: clamp(28px, calc(var(--ae-home-unit) * 40), 44px);
  min-height: 0;
}
body.home.ae-home .ae-header-action .ae-icon {
  width: clamp(15px, calc(var(--ae-home-unit) * 25), 28px);
  height: clamp(15px, calc(var(--ae-home-unit) * 25), 28px);
}
body.home.ae-home .ae-cart-count {
  min-width: clamp(12px, calc(var(--ae-home-unit) * 26), 28px);
  height: clamp(12px, calc(var(--ae-home-unit) * 26), 28px);
  padding: 0 3px;
  top: -4px;
  right: -4px;
  font-size: clamp(7px, calc(var(--ae-home-unit) * 14), 15px);
  background: #edcf94;
}
body.home.ae-theme.ae-v3.ae-home .ae-nav-row { display: block; background: transparent; border: 0; }
body.home.ae-home .ae-menu-toggle { display: none; }
body.home.ae-home .ae-primary-menu .ae-menu__list {
  gap: clamp(16px, calc(var(--ae-home-unit) * 68), 76px);
}
body.home.ae-theme.ae-v3 .ae-primary-menu .ae-menu__link,
body.home.ae-theme.ae-v3 .ae-primary-menu .menu-item > a {
  position: relative;
  display: block;
  padding: clamp(6px, calc(var(--ae-home-unit) * 10), 12px) 3px;
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(8px, calc(var(--ae-home-unit) * 16), 18px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .02em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #f7f2e9 !important;
}
body.home.ae-home .ae-primary-menu :is(.is-current, .current-menu-item) > a {
  color: #e7cc93 !important;
  box-shadow: inset 0 1px #d7b576, inset 0 -1px #d7b576;
}
body.home.ae-home .ae-primary-menu a::after { display: none; }
body.home.ae-home .ae-primary-menu a:hover,
body.home.ae-home .ae-primary-menu a:focus-visible { color: #e7cc93 !important; }
body.home.ae-home .ae-primary-menu a:focus-visible { outline: 1px solid #e7cc93; outline-offset: 3px; }
body.home.ae-home .ae-search-panel { position: absolute; top: 100%; width: 100%; }
@media (max-width: 782px) {
  body.home.ae-home { --ae-home-gutter: 16px; }
}
/* Reserve enough room for readable controls on compact desktop/tablet widths. */
@media (min-width: 600px) and (max-width: 1000px) {
  body.home.ae-home .ae3-visual-blocks {
    padding-top: max(0px, calc(94px - var(--ae-home-unit) * 222));
  }
  body.home.ae-home .ae-utility-bar__links { gap: 8px; font-size: 8px; }
}
@media (max-width: 599px) {
  body.home.ae-theme.ae-v3.ae-home .ae-site-header {
    position: relative;
    inset: auto;
    margin-inline: var(--ae-home-gutter);
    background: #090806;
  }
  body.home.ae-home .ae-site-header .ae-shell { width: 100%; }
  body.home.ae-home .ae-utility-bar { font-size: 8px; }
  body.home.ae-home .ae-utility-bar__inner { min-height: 24px; }
  body.home.ae-home .ae-utility-bar__message { white-space: normal; text-align: center; gap: 4px; }
  body.home.ae-home .ae-utility-bar__links { display: none; }
  body.home.ae-home .ae-brand-row { min-height: 56px; grid-template-columns: 1fr auto 1fr; }
  body.home.ae-home .ae-wordmark { font-size: 14px; gap: 3px; }
  body.home.ae-theme .ae-wordmark > .ae-wordmark__mark { height: 23px !important; }
  body.home.ae-home .ae-header-actions { gap: 0; }
  body.home.ae-home .ae-header-action { width: 28px; height: 40px; }
  body.home.ae-home .ae-cart-count { top: 3px; right: 0; }
  body.home.ae-home .ae-menu-toggle { display: inline-flex; width: 36px; height: 44px; }
  body.home.ae-theme.ae-v3.ae-home .ae-nav-row { display: none; }
}


/* Source: assets/css/ae-page-shop.css */
/*
 * SHOP - 2026-09-29 client build additions (workbook sheet: SHOP).
 * Only the two sections the archive was missing: 08 SIX FORMULAS.
 * DIFFERENT MOMENTS. and 09 YOUR RITUAL BEGINS HERE, plus the explicit
 * "+" marker on the 05 accordion rows (the mock prints it as text, and a
 * CSS pseudo-element would never reach document.body.innerText).
 * Scoped to body.ae-theme.ae-v3 .ae-shop-page.
 */

/* ---------------------------------------------- 05 accordion mark */
body.ae-theme.ae-v3 .ae-shop-page .ae3-accordion summary { position: relative; }
body.ae-theme.ae-v3 .ae-shop-page .ae3-accordion__mark {
	position: absolute;
	right: 2px;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 14px;
	line-height: 1;
	color: var(--a3-grey-300);
}
body.ae-theme.ae-v3 .ae-shop-page .ae3-accordion details[open] .ae3-accordion__mark {
	transform: translateY(-50%) rotate(45deg);
}

/* ---------------------------------------------- 08 six formulas, different moments */
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-moments {
	background: var(--a3-paper);
	color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-moments__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	gap: clamp(24px, 4vw, 78px);
	align-items: end;
}
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-moments__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-moments__copy .ae3-l5 {
	margin: 20px 0 0;
	color: var(--a3-grey-500);
}
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-moments__list {
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
}
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-moments__list li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--a3-line-dark);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-moments__list li span { color: var(--a3-gold-dim); }

/* ---------------------------------------------- 09 your ritual begins here */
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-closing .ae3-band__inner { text-align: center; }
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-closing .ae3-band__inner > div { max-width: 760px; margin: 0 auto; }
body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-closing__foot {
	margin: clamp(28px, 3.6vw, 52px) 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 9.5px;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--a3-grey-300);
}

/* ---------------------------------------------- responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-moments__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae-shop-page .ae3-shop-moments__list li { font-size: 10px; letter-spacing: .2em; }
}

/* Source: assets/css/ae-page-the-science.css */
/*
 * THE SCIENCE — 2026-09-29 client build.
 * Scoped to body.ae-theme.ae-v3 .ae3-the-science.
 */
body.ae-theme.ae-v3 .ae3-the-science .ae3-page-hero__inner { align-items: flex-end; padding-bottom: clamp(56px, 9vw, 132px); }
body.ae-theme.ae-v3 .ae3-the-science .ae3-page-hero__copy { max-width: 900px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-hero__note {
	margin: 30px 0 0; font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--a3-gold);
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block { border-bottom: 1px solid var(--a3-line-dark); }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__grid {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 88px); align-items: center;
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block--flip .ae3-sci-block__media { order: 2; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-no { display: block; font-size: 11px; letter-spacing: .28em; color: var(--a3-grey-400); margin-bottom: 16px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__copy .ae3-l2 { margin-bottom: 20px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__copy .ae3-l5 { color: var(--a3-grey-500); line-height: 1.95; margin: 0 0 0; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__copy .ae3-l4 { margin: 0 0 14px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__copy .ae3-cta { margin-top: 28px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__media { margin: 0; overflow: hidden; aspect-ratio: 4 / 5; background: var(--a3-grey-100); }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__media img,
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-mid__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-words {
	list-style: none; margin: clamp(30px, 5vw, 56px) 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px;
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-words li {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: var(--a3-grey-500);
	border-top: 1px solid var(--a3-line-dark); padding-top: 16px;
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-comp { text-align: center; color: var(--a3-text-invert); }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-comp__inner { max-width: 880px; margin: 0 auto; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-comp__notes {
	margin: 22px 0 0; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--a3-grey-300);
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-mid { color: var(--a3-text-invert); }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-mid__grid {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
	gap: clamp(28px, 5vw, 88px); align-items: center;
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-mid__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-mid__copy .ae3-cta { margin-top: 30px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-mid__media { margin: 0; overflow: hidden; aspect-ratio: 1 / 1; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-pair__grid {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 5vw, 88px);
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-pair__item { min-width: 0; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-pair__item .ae3-l3 { margin: 0 0 16px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-pair__item .ae3-l5 { color: var(--a3-grey-500); line-height: 1.95; margin: 0; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-steps {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 40px); margin: clamp(38px, 5vw, 64px) 0 0;
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-step { min-width: 0; border-top: 1px solid var(--a3-line-dark); padding-top: 22px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-step__icon { display: block; color: var(--a3-gold); margin-bottom: 16px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-step__icon svg { width: 22px; height: 22px; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-step__label {
	margin: 0 0 10px; font-size: 12px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-step__note { margin: 0; font-size: 14px; line-height: 1.8; color: var(--a3-grey-500); }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-close .ae3-band__inner { text-align: center; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-close__words {
	list-style: none; margin: 0 0 26px; padding: 0;
	display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(14px, 3vw, 40px);
	font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--a3-grey-300);
}
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-tail { text-align: center; }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-tail__brand { margin: 0; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--a3-text); }
body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-tail__line { margin: 12px 0 0; font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif); font-size: clamp(20px, 2vw, 28px); color: var(--a3-grey-500); }
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__grid,
	body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-mid__grid,
	body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-pair__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block--flip .ae3-sci-block__media { order: 0; }
	body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-words { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-words,
	body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-steps { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-the-science .ae3-sci-block__media { aspect-ratio: 4 / 3; }
}

/* Source: assets/css/ae-page-journal.css */
/*
 * JOURNAL (2026-09-29 client build).
 * Scoped to body.ae-theme.ae-v3 .ae3-journal-edit.
 */

body.ae-theme.ae-v3 .ae3-journal-edit .ae3-page-hero__inner { align-items: flex-end; padding-bottom: clamp(56px, 9vw, 132px); }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-page-hero__copy { max-width: 760px; }

/* ------------------------------------------------------- featured editorial */
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-feature__grid {
	display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 84px); align-items: center;
}
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-feature__media { margin: 0; overflow: hidden; aspect-ratio: 4 / 3; background: var(--a3-grey-100); }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-feature__media img,
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band__media img,
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-feature__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-feature__copy .ae3-l2 { margin: 18px 0 0; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-feature__copy .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-500); line-height: 1.9; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-feature__copy .ae3-cta { margin-top: 28px; }

/* ------------------------------------------------------------ editorial bands */
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band { border-top: 1px solid var(--a3-line-dark); }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band__grid {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 84px); align-items: center;
}
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band--flip .ae3-jr-band__media { order: 2; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band__media { margin: 0; overflow: hidden; aspect-ratio: 5 / 4; background: var(--a3-grey-100); }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band__copy .ae3-l2 { margin: 18px 0 0; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band__copy .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-500); line-height: 1.9; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band__copy .ae3-cta { margin-top: 28px; }

/* --------------------------------------------------------- more + cards */
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-more__head {
	display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
	gap: 18px; padding-bottom: clamp(20px, 3vw, 30px); border-bottom: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-more__head .ae3-l3 { color: var(--a3-text); }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-cards {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 44px); margin: clamp(30px, 4vw, 52px) 0 0;
}
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-card { min-width: 0; display: flex; flex-direction: column; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-card__media { margin: 0 0 22px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--a3-grey-100); }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-card__kicker { margin: 0; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--a3-grey-500); }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-card__title {
	margin: 12px 0 0; font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(20px, 2vw, 28px); font-weight: 300; line-height: 1.16; color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-card__cta {
	margin-top: auto; padding-top: 20px; align-self: flex-start;
	text-decoration: none; color: var(--a3-text); font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
	border-bottom: 1px solid var(--a3-line-dark); padding-bottom: 4px;
}
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-card__cta:hover { border-bottom-color: var(--a3-text); }

/* ------------------------------------------------------------------ close */
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-close .ae3-band__inner { text-align: center; }
body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-close .ae3-band__inner > div { max-width: 720px; margin: 0 auto; }

/* ------------------------------------------------------------- responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-feature__grid,
	body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-band--flip .ae3-jr-band__media { order: 0; }
	body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-cards { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-journal-edit .ae3-jr-more__head { flex-direction: column; align-items: flex-start; }
}

/* Source: assets/css/ae-page-faq.css */
/*
 * FAQ — 2026-09-29 client build.
 * Scoped to body.ae-theme.ae-v3 .ae3-faq.
 */
body.ae-theme.ae-v3 .ae3-faq .ae3-page-hero__inner { align-items: flex-end; padding-bottom: clamp(56px, 9vw, 132px); }
body.ae-theme.ae-v3 .ae3-faq .ae3-page-hero__copy { max-width: 820px; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group {
	display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: clamp(24px, 4vw, 70px);
	padding: clamp(28px, 4vw, 56px) 0;
	border-bottom: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group:last-child { border-bottom: 0; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group__head { min-width: 0; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group__no { display: block; font-size: 11px; letter-spacing: .28em; color: var(--a3-grey-400); margin-bottom: 14px; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group__cat {
	margin: 0; font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group__intro { margin: 16px 0 0; font-size: 14px; line-height: 1.8; color: var(--a3-grey-500); }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group__cta {
	display: inline-block; margin-top: 22px; text-decoration: none; color: var(--a3-text);
	font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
	border-bottom: 1px solid var(--a3-line-dark); padding-bottom: 4px;
}
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group__cta:hover { border-bottom-color: var(--a3-text); }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group__list { min-width: 0; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item { border-top: 1px solid var(--a3-line-dark); }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item:first-child { border-top: 0; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item__q {
	cursor: pointer; list-style: none; position: relative;
	padding: 20px 34px 20px 0; margin: 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(18px, 1.7vw, 24px); font-weight: 300; line-height: 1.3; color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item__q::-webkit-details-marker { display: none; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item__q::after {
	content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif); font-size: 15px; color: var(--a3-grey-400);
}
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item[open] .ae3-faq-item__q::after { content: "\2013"; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item__a { padding: 0 34px 22px 0; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item__a p { margin: 0; font-size: 14px; line-height: 1.85; color: var(--a3-grey-500); }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-tail .ae3-band__inner { text-align: center; }
body.ae-theme.ae-v3 .ae3-faq .ae3-faq-tail .ae3-band__inner > div { max-width: 720px; margin: 0 auto; }
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-faq .ae3-faq-group { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item__q { font-size: 18px; padding-right: 28px; }
	body.ae-theme.ae-v3 .ae3-faq .ae3-faq-item__a { padding-right: 0; }
}

/* Source: assets/css/ae-page-the-ritual.css */
/*
 * THE RITUAL — 2026-09-29 client build.
 * Scoped to body.ae-theme.ae-v3 .ae3-the-ritual.
 */
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-page-hero__inner { align-items: flex-end; padding-bottom: clamp(56px, 9vw, 132px); }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-page-hero__copy { max-width: 780px; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-steps .ae3-shell { display: block; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(26px, 5vw, 84px); align-items: center;
	padding: clamp(26px, 4vw, 56px) 0; border-bottom: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step:last-child { border-bottom: 0; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step--flip .ae3-rit-step__media { order: 2; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step__media { margin: 0; overflow: hidden; aspect-ratio: 4 / 3; background: var(--a3-grey-100); }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step__media img,
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-lumiere__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step__no { display: block; font-size: 11px; letter-spacing: .28em; color: var(--a3-grey-400); margin-bottom: 16px; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step__copy .ae3-l2 { margin-bottom: 18px; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step__copy .ae3-l5 { color: var(--a3-grey-500); line-height: 1.95; margin: 0; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-beats { color: var(--a3-text-invert); }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-beats__grid {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(18px, 3vw, 40px);
}
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-beat { min-width: 0; border-top: 1px solid var(--a3-line); padding-top: 22px; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-beat__word {
	margin: 0; font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(24px, 2.8vw, 40px); font-weight: 300; line-height: 1.1; color: var(--a3-text-invert);
}
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-beat__note { margin: 10px 0 0; font-size: 14px; color: var(--a3-grey-300); }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-lumiere__grid {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 88px); align-items: center;
}
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-lumiere__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-lumiere__words { list-style: none; margin: 24px 0 0; padding: 0; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-lumiere__words li {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(22px, 2.4vw, 34px); font-weight: 300; line-height: 1.2; color: var(--a3-grey-500);
}
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-lumiere__media { margin: 0; overflow: hidden; aspect-ratio: 3 / 2; background: var(--a3-grey-100); }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-close .ae3-band__inner { text-align: center; }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-close__brand { margin: 26px 0 0; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--a3-grey-300); }
body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-close__line { margin: 10px 0 0; font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif); font-size: clamp(18px, 1.8vw, 26px); color: var(--a3-grey-400); }
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step,
	body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-lumiere__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step--flip .ae3-rit-step__media { order: 0; }
	body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-beats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-beats__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-the-ritual .ae3-rit-step__media { aspect-ratio: 4 / 3; }
}

/* Source: assets/css/ae-page-skin-consultation.css */
/*
 * SKIN CONSULTATION (body.ae-theme.ae-v3 .ae3-skin-consultation)
 *
 * Excel《网站提议20260929 最后更新.xlsx》→《13 SKIN CONSULTATION》表 reference build.
 *
 * Loaded after ae-v3.css, so the shared tokens and the LEVEL 01-06 type scale
 * stay authoritative: this file only owns the layout of the page and every
 * selector is scoped to the page root, which is why nothing here can leak into
 * another template.
 *
 * Sections
 *   01 hero           paper veil over the eye portrait + the three-line rail
 *   02 where should   two-column head + the three consultation routes
 *   03 what matters   concern chips (checkbox chips, CSS-first selection)
 *   04 how do you live split photo band + the three lifestyle moments
 *   05 your ritual    copy + product plate + the ritual row and its note
 *   06 begin with     closing light band, copy left / aside right
 */

/* ------------------------------------------------------------------ root */
body.ae-theme.ae-v3 .ae3-skin-consultation {
	/* The warm paper the reference mocks use for every light surface. It is the
	 * tone ae-reference-v2.css already defines as the page cream, aliased here
	 * so the hero veil, the sections and the closing band cannot drift apart. */
	--ae3-sc-paper: var(--aev2-cream, #f4efe9);
	background: var(--ae3-sc-paper);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-skin-consultation img {
	max-width: 100%;
}

/* ------------------------------------------------------ shared page pieces */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-head__title {
	color: var(--a3-text);
	overflow-wrap: break-word;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-head__rule {
	display: block;
	width: 56px;
	height: 1px;
	margin: clamp(14px, 1.6vw, 22px) 0;
	background: currentColor;
	opacity: .3;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-head__intro {
	max-width: 40ch;
	color: var(--a3-grey-700);
}

/*
 * Solid button: the reference uses a filled black plate with white lettering
 * for the page's primary actions. `.ae3-cta` supplies the type from the level
 * system; this variant replaces its underline with the plate.
 */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-cta--solid {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 17px 34px;
	border: 1px solid var(--a3-black);
	background: var(--a3-black);
	color: var(--a3-white);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .22em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 0;
	transition: background .5s var(--a3-ease), color .5s var(--a3-ease), border-color .5s var(--a3-ease);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-cta--solid::after {
	display: none;
	content: none;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-cta--solid:hover,
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-cta--solid:focus-visible {
	background: var(--a3-graphite);
	border-color: var(--a3-graphite);
	color: var(--a3-white);
}

/* ------------------------------------------------------------- 01 - hero */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(430px, 46vw, 720px);
	overflow: hidden;
	isolation: isolate;
	background: var(--ae3-sc-paper);
	color: var(--a3-text);
}

/*
 * The portrait starts at 38% so the statement type sits on untouched paper and
 * the face owns the right-hand two thirds, as in the reference. The veil below
 * then blends across the left edge of the photograph.
 */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__media {
	position: absolute;
	inset: 0 0 0 38%;
	z-index: 0;
	margin: 0;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__media img {
	position: absolute;
	top: -2%;
	left: 0;
	width: 100%;
	height: 104%;
	object-fit: cover;
	object-position: 50% 20%;
}

/*
 * Paper veil. The reference keeps the left 38% solid paper and lets the
 * portrait take over from roughly two thirds across, so the statement type
 * always sits on paper while the eye detail stays untouched at the right.
 */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			#f4efe9 0%,
			#f4efe9 38%,
			rgba(244, 239, 233, .92) 50%,
			rgba(244, 239, 233, .58) 66%,
			rgba(244, 239, 233, .14) 84%,
			rgba(244, 239, 233, 0) 96%
		);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__inner {
	position: relative;
	z-index: 2;
	padding: clamp(72px, 9vw, 138px) 0 clamp(72px, 9vw, 150px);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: min(56%, 780px);
	min-width: 0;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__word {
	margin: 0;
	color: var(--a3-text);
	text-transform: none;
}

/*
 * The wordmark is a line list, so an editor decides where the statement type
 * breaks (the reference sets SKIN / CONSULTATION on two lines) instead of the
 * template guessing from a measured max-width.
 */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__word span {
	display: block;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__rule {
	display: block;
	width: 58px;
	height: 1px;
	margin: clamp(20px, 2.4vw, 34px) 0;
	background: currentColor;
	opacity: .34;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__title {
	margin: 0;
	color: var(--a3-text);
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(21px, 2.5vw, 34px);
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: .005em;
	overflow-wrap: break-word;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__lines {
	display: flex;
	flex-direction: column;
	margin: clamp(20px, 2.6vw, 36px) 0 0;
	color: var(--a3-grey-700);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: clamp(13px, 1.45vw, 18px);
	font-weight: 400;
	line-height: 1.85;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__actions {
	margin: clamp(28px, 3.4vw, 48px) 0 0;
}

/* The rail reads bottom-right in the reference, on its own hairline. */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__rail {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0 0 0 16px;
	border-left: 1px solid rgba(16, 16, 16, .24);
	list-style: none;
	color: var(--a3-text);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	line-height: 2.05;
	letter-spacing: .24em;
	text-transform: uppercase;
}

/* ------------------------------------------- 02 - where should we begin */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-begin__head {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
	column-gap: clamp(24px, 4vw, 88px);
	align-items: start;
	margin-bottom: clamp(32px, 4.4vw, 68px);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-begin__head > .ae3-skin-head__title {
	grid-column: 1;
	grid-row: 1;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-begin__head > .ae3-skin-head__rule {
	grid-column: 1;
	grid-row: 2;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-begin__head > .ae3-skin-head__intro {
	grid-column: 2;
	grid-row: 1 / 3;
	padding-top: .45em;
	max-width: 36ch;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-begin__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 52px);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card {
	display: block;
	min-width: 0;
	color: var(--a3-text);
	text-decoration: none;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--a3-slow);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card:hover .ae3-skin-card__media img,
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card:focus-visible .ae3-skin-card__media img {
	transform: scale(1.045);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card__label {
	display: block;
	margin-top: clamp(16px, 1.9vw, 28px);
	color: var(--a3-text);
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(15px, 1.6vw, 23px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: .05em;
	text-transform: uppercase;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card__note {
	display: block;
	max-width: 26ch;
	margin-top: 8px;
	color: var(--a3-grey-700);
	font-size: 12.5px;
	line-height: 1.7;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card__more {
	display: block;
	margin-top: clamp(14px, 1.7vw, 22px);
	color: var(--a3-text);
	font-size: 15px;
	line-height: 1;
	transition: transform .55s var(--a3-slow);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card:hover .ae3-skin-card__more,
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-card:focus-visible .ae3-skin-card__more {
	transform: translateX(7px);
}

/* ------------------------------------------- 03 - what matters to you */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-matters__inner {
	display: grid;
	grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
	column-gap: clamp(28px, 4.4vw, 84px);
	align-items: start;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-matters__head {
	min-width: 0;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-matters__head .ae3-skin-head__intro {
	max-width: 34ch;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-matters__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.6vw, 46px) clamp(16px, 2.2vw, 38px);
	min-width: 0;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip {
	position: relative;
	display: block;
	min-width: 0;
	cursor: pointer;
}

/*
 * The control stays in the accessibility tree and keeps the native keyboard
 * behaviour, but the whole card is the hit area: `~` drives every selected
 * state in CSS, so the chips work without JavaScript.
 */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__media::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid transparent;
	pointer-events: none;
	transition: border-color .45s var(--a3-ease);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--a3-slow), opacity .45s var(--a3-ease);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__label {
	display: block;
	margin-top: clamp(12px, 1.4vw, 18px);
	color: var(--a3-text);
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(13.5px, 1.3vw, 19px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: .06em;
	text-transform: uppercase;
	transition: color .45s var(--a3-ease);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__note {
	display: block;
	max-width: 24ch;
	margin-top: 6px;
	color: var(--a3-grey-700);
	font-size: 12px;
	line-height: 1.65;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__mark {
	display: block;
	width: 0;
	height: 1px;
	margin-top: 10px;
	background: var(--a3-gold);
	transition: width .55s var(--a3-slow);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip:hover .ae3-skin-chip__media img {
	transform: scale(1.04);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__input:checked ~ .ae3-skin-chip__media::after,
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip.is-selected .ae3-skin-chip__media::after {
	border-color: var(--a3-gold);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__input:checked ~ .ae3-skin-chip__label,
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip.is-selected .ae3-skin-chip__label {
	color: var(--a3-gold-dim);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__input:checked ~ .ae3-skin-chip__mark,
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip.is-selected .ae3-skin-chip__mark {
	width: 44px;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__input:checked ~ .ae3-skin-chip__media img,
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip.is-selected .ae3-skin-chip__media img {
	transform: scale(1.03);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-chip__input:focus-visible ~ .ae3-skin-chip__media {
	outline: 1px solid var(--a3-gold);
	outline-offset: 3px;
}

/* ------------------------------------- 04 - how do you live with your ritual */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-live {
	display: grid;
	grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
	align-items: stretch;
	background: var(--ae3-sc-paper);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-live__media {
	position: relative;
	min-height: clamp(340px, 42vw, 660px);
	margin: 0;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-live__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 46% 45%;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-live__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(44px, 5.6vw, 104px) clamp(24px, 4.4vw, 76px);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-live__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 1.9vw, 32px);
	margin-top: clamp(12px, 1.6vw, 22px);
	min-width: 0;
}

/* ----------------------------------------------------------- 05 - your ritual */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual {
	padding-bottom: clamp(56px, 7.4vw, 128px);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__top {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: clamp(24px, 4vw, 72px);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__copy {
	min-width: 0;
	padding-left: max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
	padding-right: clamp(4px, 1.4vw, 24px);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__title {
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__lead {
	margin: 0 0 clamp(12px, 1.6vw, 20px);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__media {
	position: relative;
	min-height: clamp(300px, 36vw, 560px);
	margin: 0;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 52% 50%;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__bar {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(20px, 3vw, 64px);
	margin-top: clamp(32px, 4.2vw, 68px);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__action {
	margin: 0;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 36px);
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__name {
	display: block;
	color: var(--a3-text);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .2em;
	line-height: 1.5;
	text-transform: uppercase;
	text-decoration: none;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__name:hover,
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__name:focus-visible {
	color: var(--a3-gold-dim);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__note {
	display: block;
	margin-top: 8px;
	color: var(--a3-grey-700);
	font-size: 12.5px;
	line-height: 1.65;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__disclaimer {
	max-width: 46ch;
	margin: clamp(44px, 5.4vw, 92px) auto 0;
	color: var(--a3-grey-700);
	font-size: 12px;
	line-height: 1.85;
	text-align: center;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__disclaimer::before {
	content: "";
	display: block;
	width: 58px;
	height: 1px;
	margin: 0 auto clamp(18px, 2.2vw, 30px);
	background: currentColor;
	opacity: .3;
}

/* ------------------------------------------------- 06 - begin with yourself */
body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(24px, 4vw, 80px);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__copy {
	min-width: 0;
	max-width: 46ch;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__title {
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__body {
	color: var(--a3-grey-700);
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__actions {
	margin: clamp(26px, 3.2vw, 44px) 0 0;
}

body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__aside {
	display: flex;
	flex-direction: column;
	gap: 2px;
	align-self: center;
	margin: 0;
	padding: 0 0 0 18px;
	border-left: 1px solid rgba(16, 16, 16, .24);
	list-style: none;
	color: var(--a3-text);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	line-height: 2.05;
	letter-spacing: .24em;
	text-transform: uppercase;
	white-space: nowrap;
}

/* -------------------------------------------------------------- responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero {
		min-height: 0;
	}

	/*
	 * Below the desktop breakpoint the portrait can no longer sit in a column of
	 * its own, so it returns to the full hero and the veil carries the copy.
	 */
	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__media {
		inset: 0;
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__veil {
		background:
			linear-gradient(
				90deg,
				#f4efe9 0%,
				#f4efe9 44%,
				rgba(244, 239, 233, .84) 58%,
				rgba(244, 239, 233, .46) 76%,
				rgba(244, 239, 233, .12) 100%
			);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__copy {
		max-width: 100%;
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__rail {
		position: static;
		margin-top: clamp(28px, 4vw, 44px);
		padding: 16px 0 0;
		border-left: 0;
		border-top: 1px solid rgba(16, 16, 16, .24);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-begin__head {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-begin__head > .ae3-skin-head__intro {
		grid-column: 1;
		grid-row: 3;
		margin-top: clamp(18px, 2.6vw, 30px);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-matters__inner {
		grid-template-columns: minmax(0, 1fr);
		row-gap: clamp(28px, 4vw, 48px);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-matters__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-live {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-live__media {
		min-height: clamp(300px, 46vw, 460px);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__top {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__copy {
		padding-left: max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
		padding-right: max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__media {
		min-height: clamp(260px, 40vw, 420px);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__bar {
		grid-template-columns: minmax(0, 1fr);
		row-gap: clamp(24px, 3.4vw, 40px);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__aside {
		align-self: flex-start;
	}
}

@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__inner {
		padding: clamp(48px, 12vw, 72px) 0;
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__word {
		font-size: clamp(34px, 12vw, 46px);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-hero__media img {
		object-position: 50% 16%;
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-cta--solid {
		padding: 15px 22px;
		letter-spacing: .16em;
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-begin__grid,
	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-matters__grid,
	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-live__grid,
	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__list {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-live__panel {
		padding: clamp(36px, 9vw, 52px) var(--a3-gutter);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-ritual__copy {
		padding-left: var(--a3-gutter);
		padding-right: var(--a3-gutter);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__title {
		font-size: clamp(30px, 10vw, 44px);
	}

	body.ae-theme.ae-v3 .ae3-skin-consultation .ae3-skin-tail__aside {
		white-space: normal;
	}
}


/* Source: assets/css/ae-page-client-care.css */
/*
 * CLIENT CARE (body.ae-theme.ae-v3 .ae3-client-care)
 *
 * Excel《网站提议20260929 最后更新.xlsx》→《15 CLIENT CAR》表 reference build.
 *
 * Same contract as the other 2026-09 page stylesheets: loaded after ae-v3.css,
 * every selector scoped to the page root, tokens and LEVEL 01-06 typography
 * reused rather than redefined. Only the layout lives here.
 *
 * Sections
 *   01 hero            copy on paper at the left, still-life at the right
 *   02 at your service four enquiry routes on shared hairlines
 *   03 before your     collections / consultation, still-life at the right
 *   04 after your      track / shipping / returns
 *   05 personal        writing still-life + the white Client Care panel
 *   06 questions       the five FAQ entries + VIEW ALL FAQ
 *   07 we're here      contact block and still-life on one band
 *   08 closing band    dark photo plate + Your experience matters.
 */

/* ------------------------------------------------------------------ root */
body.ae-theme.ae-v3 .ae3-client-care {
	/* The warm paper used by every light surface in the reference mocks. */
	--ae3-cc-paper: var(--aev2-cream, #f4efe9);
	background: var(--ae3-cc-paper);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-client-care img {
	max-width: 100%;
}

/* ------------------------------------------------------ shared page pieces */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-head__title {
	color: var(--a3-text);
	overflow-wrap: break-word;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-head__rule {
	display: block;
	width: 56px;
	height: 1px;
	margin: clamp(14px, 1.6vw, 22px) 0;
	background: currentColor;
	opacity: .3;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-head__intro {
	max-width: 42ch;
	color: var(--a3-grey-700);
}

/*
 * Solid and ghost actions. `.ae3-cta` already carries the micro-CTA type from
 * the shared level system; the two variants below only replace its underline
 * with the filled plate / hairline frame the reference uses.
 */
body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--solid,
body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--ghost {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 17px 32px;
	border: 1px solid var(--a3-black);
	border-radius: 0;
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .2em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .5s var(--a3-ease), color .5s var(--a3-ease), border-color .5s var(--a3-ease);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--solid::after,
body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--ghost::after {
	display: none;
	content: none;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--solid {
	background: var(--a3-black);
	color: var(--a3-white);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--solid:hover,
body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--solid:focus-visible {
	background: var(--a3-graphite);
	border-color: var(--a3-graphite);
	color: var(--a3-white);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--ghost {
	background: transparent;
	border-color: rgba(16, 16, 16, .42);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--ghost:hover,
body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--ghost:focus-visible {
	background: rgba(16, 16, 16, .05);
	border-color: var(--a3-text);
	color: var(--a3-text);
}

/* The thin arrow used by the service / FAQ rows. */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-link {
	display: inline-block;
	margin-top: clamp(12px, 1.6vw, 20px);
	color: var(--a3-text);
	font-size: 15px;
	line-height: 1;
	text-decoration: none;
	transition: transform .55s var(--a3-slow), color .45s var(--a3-ease);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-link:hover,
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-link:focus-visible {
	color: var(--a3-gold-dim);
	transform: translateX(7px);
}

/* ------------------------------------------------------------- 01 - hero */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero {
	display: grid;
	grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
	align-items: stretch;
	min-height: clamp(430px, 46vw, 700px);
	background: var(--ae3-cc-paper);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-width: 0;
	padding: clamp(52px, 6.4vw, 118px) clamp(24px, 4vw, 68px) clamp(52px, 6.4vw, 118px) max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__word {
	margin: 0;
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__word span {
	display: block;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__rule {
	display: block;
	width: 58px;
	height: 1px;
	margin: clamp(20px, 2.4vw, 32px) 0;
	background: currentColor;
	opacity: .34;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__title {
	margin: 0;
	color: var(--a3-text);
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(22px, 2.6vw, 38px);
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: .005em;
	overflow-wrap: break-word;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__body {
	max-width: 34ch;
	margin: clamp(18px, 2.2vw, 30px) 0 0;
	color: var(--a3-grey-700);
	font-size: clamp(13px, 1.4vw, 17px);
	line-height: 1.85;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__actions {
	margin: clamp(26px, 3.2vw, 46px) 0 0;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__media {
	position: relative;
	min-height: clamp(340px, 40vw, 700px);
	margin: 0;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 58% 55%;
}

/* ----------------------------------------------------- 02 - at your service */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-head {
	max-width: 62ch;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__grid,
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-after__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: clamp(32px, 4.2vw, 68px) 0 0;
	padding: 0;
	list-style: none;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-after__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__item {
	min-width: 0;
	padding-right: clamp(16px, 2.2vw, 40px);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__item + .ae3-care-service__item {
	padding-left: clamp(16px, 2.2vw, 40px);
	border-left: 1px solid var(--a3-line-dark);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__icon {
	display: inline-flex;
	margin-bottom: clamp(14px, 1.8vw, 26px);
	color: var(--a3-gold-dim);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__icon .ae-icon {
	width: 30px;
	height: 30px;
	stroke-width: 1.1;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__label {
	margin: 0;
	color: var(--a3-text);
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(14px, 1.4vw, 21px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: .05em;
	text-transform: uppercase;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__note {
	max-width: 26ch;
	margin: 8px 0 0;
	color: var(--a3-grey-700);
	font-size: 12.5px;
	line-height: 1.7;
}

/* --------------------------------------------------- 03 - before your order */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before {
	display: grid;
	grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
	align-items: stretch;
	background: var(--ae3-cc-paper);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-width: 0;
	padding: clamp(48px, 6vw, 108px) clamp(24px, 4vw, 68px) clamp(48px, 6vw, 108px) max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before__lead {
	margin: 0 0 clamp(12px, 1.6vw, 20px);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before__body {
	max-width: 36ch;
	color: var(--a3-grey-700);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before__actions {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(12px, 1.6vw, 20px);
	margin: clamp(26px, 3.2vw, 46px) 0 0;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before__media {
	position: relative;
	min-height: clamp(300px, 38vw, 620px);
	margin: 0;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 52% 50%;
}

/* ---------------------------------------------------- 04 - after your order */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-after__inner {
	display: grid;
	grid-template-columns: minmax(0, .68fr) minmax(0, 1.32fr);
	column-gap: clamp(28px, 4vw, 84px);
	align-items: start;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-after__copy {
	min-width: 0;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-after__lead {
	margin: 0 0 clamp(10px, 1.4vw, 18px);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-after__body {
	max-width: 30ch;
	color: var(--a3-grey-700);
}

/* ------------------------------------------------ 05 - personal assistance */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
	align-items: stretch;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal__media {
	position: relative;
	min-height: clamp(320px, 38vw, 620px);
	margin: 0;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 48% 50%;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-width: 0;
	background: var(--a3-white);
	padding: clamp(48px, 6vw, 110px) clamp(24px, 4.2vw, 76px);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal__lead {
	margin: 0 0 clamp(12px, 1.6vw, 20px);
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal__body {
	max-width: 36ch;
	color: var(--a3-grey-700);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal__actions {
	margin: clamp(26px, 3.2vw, 44px) 0 0;
}

/* -------------------------------------------------- 06 - questions, answered */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-faq__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(12px, 1.8vw, 30px);
	margin: clamp(32px, 4.2vw, 68px) 0 0;
	padding: 0;
	list-style: none;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card {
	min-width: 0;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card__link {
	display: block;
	color: var(--a3-text);
	text-decoration: none;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--a3-slow);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card__link:hover .ae3-faq-card__media img,
body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card__link:focus-visible .ae3-faq-card__media img {
	transform: scale(1.05);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card__label {
	display: block;
	margin-top: clamp(12px, 1.4vw, 18px);
	color: var(--a3-text);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .2em;
	text-transform: uppercase;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card__more {
	display: block;
	margin-top: 10px;
	color: var(--a3-text);
	font-size: 15px;
	line-height: 1;
	transition: transform .55s var(--a3-slow);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card__link:hover .ae3-faq-card__more,
body.ae-theme.ae-v3 .ae3-client-care .ae3-faq-card__link:focus-visible .ae3-faq-card__more {
	transform: translateX(7px);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-faq__action {
	margin: clamp(34px, 4.4vw, 76px) 0 0;
	text-align: center;
}

/* ------------------------------------------------------------ 07 - we're here */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here {
	background: var(--a3-white);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__inner {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.02fr) minmax(0, .86fr);
	align-items: stretch;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(44px, 5.4vw, 96px) clamp(20px, 2.6vw, 44px) clamp(44px, 5.4vw, 96px) max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__body {
	max-width: 30ch;
	color: var(--a3-grey-700);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-width: 0;
	padding: clamp(44px, 5.4vw, 96px) clamp(20px, 2.6vw, 44px);
	border-left: 1px solid var(--a3-line-dark);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__label {
	margin: 0 0 clamp(16px, 2vw, 26px);
	color: var(--a3-text);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__rows {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__rows li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 0 12px;
	color: var(--a3-grey-700);
	font-size: 12.5px;
	line-height: 1.7;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__rows li + li {
	margin-top: 12px;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__rows a {
	color: inherit;
	text-decoration: none;
	overflow-wrap: anywhere;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__rows a:hover,
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__rows a:focus-visible {
	color: var(--a3-text);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__icon {
	display: inline-flex;
	margin-top: 2px;
	color: var(--a3-gold-dim);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__icon .ae-icon {
	width: 16px;
	height: 16px;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__hours {
	display: flex;
	flex-direction: column;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__actions {
	margin: clamp(22px, 2.8vw, 36px) 0 0;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__media {
	position: relative;
	min-height: clamp(260px, 28vw, 460px);
	margin: 0;
	overflow: hidden;
	background: var(--a3-graphite);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 52% 50%;
}

/* ------------------------------------------------------------ 08 - sign-off */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail {
	min-height: clamp(240px, 26vw, 420px);
}

/* The reference splits the band on a hard edge: the still-life owns the left
 * 58%, the black plate carries the sign-off. */
body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail .ae3-band__media {
	inset: 0 42% 0 0;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail .ae3-band__scrim {
	background:
		linear-gradient(
			270deg,
			#050505 0%,
			rgba(5, 5, 5, .96) 34%,
			rgba(5, 5, 5, .62) 52%,
			rgba(5, 5, 5, 0) 66%
		);
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail .ae3-band__inner {
	display: flex;
	justify-content: flex-end;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail__copy {
	max-width: 32ch;
	min-width: 0;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail__lead {
	margin: 0;
	color: var(--a3-text-invert);
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(19px, 1.75vw, 26px);
	font-weight: 400;
	line-height: 1.26;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail__rule {
	display: block;
	width: 56px;
	height: 1px;
	margin: clamp(18px, 2.2vw, 30px) 0;
	background: currentColor;
	opacity: .45;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail__brand {
	margin: 0;
	color: var(--a3-text-invert);
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(20px, 2vw, 30px);
	font-weight: 400;
	letter-spacing: .07em;
	line-height: 1.15;
}

body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail__slogan {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, .72);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
}

/* -------------------------------------------------------------- responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__copy,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before__copy {
		padding-left: max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
		padding-right: max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__body,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before__body {
		max-width: 46ch;
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__media,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-before__media,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal__media {
		min-height: clamp(280px, 44vw, 420px);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__grid,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-after__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: clamp(24px, 3.4vw, 40px);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__item:nth-child(odd) {
		padding-left: 0;
		border-left: 0;
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-personal__panel {
		padding: clamp(40px, 6vw, 64px) max(var(--a3-gutter), calc((100vw - var(--a3-max)) / 2));
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-after__inner {
		grid-template-columns: minmax(0, 1fr);
		row-gap: clamp(28px, 4vw, 48px);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-faq__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__copy {
		border-bottom: 1px solid var(--a3-line-dark);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__media {
		grid-column: 1 / -1;
		min-height: clamp(240px, 34vw, 320px);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail .ae3-band__media {
		inset: 0;
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail .ae3-band__scrim {
		background: linear-gradient(90deg, rgba(5, 5, 5, .9) 0%, rgba(5, 5, 5, .7) 60%, rgba(5, 5, 5, .45) 100%);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-tail .ae3-band__inner {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--solid,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-cta--ghost {
		padding: 15px 22px;
		letter-spacing: .15em;
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__word,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-hero__title {
		overflow-wrap: anywhere;
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__grid,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-after__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__item,
	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__item + .ae3-care-service__item {
		padding-left: 0;
		padding-right: 0;
		border-left: 0;
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-service__item + .ae3-care-service__item {
		padding-top: clamp(20px, 5vw, 28px);
		border-top: 1px solid var(--a3-line-dark);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-faq__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__panel {
		border-left: 0;
		border-top: 1px solid var(--a3-line-dark);
	}

	body.ae-theme.ae-v3 .ae3-client-care .ae3-care-here__copy {
		padding-left: var(--a3-gutter);
		padding-right: var(--a3-gutter);
	}
}


/* Source: assets/css/ae-page-art-of-gifting.css */
/*
 * THE ART OF GIFTING — 2026-09-29 client build.
 * Scoped to body.ae-theme.ae-v3 .ae3-art-of-gifting.
 */

body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-page-hero__inner { align-items: flex-end; padding-bottom: clamp(56px, 9vw, 132px); }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-page-hero__copy { max-width: 800px; }

/* -------------------------------------------------------------- the gesture */
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-gesture__grid {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(30px, 5vw, 90px); align-items: center;
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-gesture__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-gesture__copy .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-500); line-height: 2; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-words { list-style: none; margin: 0; padding: 0; min-width: 0; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-words li {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(26px, 3.6vw, 50px); font-weight: 300; line-height: 1.12; color: var(--a3-grey-300);
}

/* ----------------------------------------------------------- for a moment */
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-occasions { color: var(--a3-text-invert); }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-occasions__head { max-width: 700px; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-occasions__head .ae3-l3 { color: var(--a3-text-invert); }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-occasions__head .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-300); }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-occasions__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: clamp(20px, 3vw, 40px); margin: clamp(34px, 5vw, 60px) 0 0;
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-occasion { border-top: 1px solid var(--a3-line); padding-top: 22px; min-width: 0; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-occasion__no {
	display: block; font-size: 11px; letter-spacing: .24em; color: var(--a3-grey-500); margin-bottom: 14px;
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-occasion__title {
	margin: 0; font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 13px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--a3-text-invert);
}

/* --------------------------------------------------------------- the gift */
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-gift__head { max-width: 700px; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-gift__head .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-500); line-height: 1.9; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-gift__grid {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 44px); margin: clamp(34px, 5vw, 60px) 0 0;
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-point { min-width: 0; border-top: 1px solid var(--a3-line-dark); padding-top: 22px; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-point__no { display: block; font-size: 11px; letter-spacing: .24em; color: var(--a3-grey-400); margin-bottom: 14px; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-point__title {
	margin: 0; font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-point__body { margin: 12px 0 0; font-size: 14px; line-height: 1.8; color: var(--a3-grey-500); }

/* ------------------------------------------------------- the gifting edit */
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit__head { max-width: 700px; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit__head .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-500); }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit__grid {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 44px); margin: clamp(34px, 5vw, 60px) 0 0;
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit-card { min-width: 0; display: flex; flex-direction: column; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit-card__media { margin: 0 0 22px; aspect-ratio: 4 / 5; overflow: hidden; background: var(--a3-grey-100); }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit-card__kicker {
	margin: 0; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--a3-grey-500);
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit-card__title {
	margin: 12px 0 0; font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(20px, 2vw, 28px); font-weight: 300; line-height: 1.15; color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit-card__note { margin: 10px 0 0; font-size: 14px; color: var(--a3-grey-500); }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit-card__cta {
	margin-top: auto; padding-top: 20px; align-self: flex-start;
	text-decoration: none; color: var(--a3-text); font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
	border-bottom: 1px solid var(--a3-line-dark); padding-bottom: 4px;
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit-card__cta:hover { border-bottom-color: var(--a3-text); }

/* ------------------------------------------------------ make it personal */
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-personal__inner { max-width: 780px; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-personal__inner .ae3-l5 { margin: 22px 0 0; color: var(--a3-grey-500); line-height: 2; }

/* ------------------------------------------------------------ the arrival */
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-arrival { color: var(--a3-text-invert); }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-arrival__grid {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(30px, 5vw, 90px); align-items: center;
}
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-arrival__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-arrival__copy .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-300); line-height: 2; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-arrival__media { margin: 0; overflow: hidden; aspect-ratio: 4 / 3; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-arrival__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ----------------------------------------------------------------- close */
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-close .ae3-band__inner { text-align: center; }
body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-close .ae3-band__inner > div { max-width: 780px; margin: 0 auto; }

/* ------------------------------------------------------------ responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-gesture__grid,
	body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-arrival__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-gift__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-gift__grid,
	body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-edit__grid,
	body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-occasions__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-art-of-gifting .ae3-aog-words li { font-size: clamp(24px, 8vw, 34px); }
}

/* Source: assets/css/ae-page-press-media-kit.css */
/*
 * PRESS & MEDIA KIT — 2026-09-29 client build.
 * Scoped to body.ae-theme.ae-v3 .ae3-press-media-kit.
 */

body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-page-hero__inner { align-items: flex-end; padding-bottom: clamp(56px, 9vw, 132px); }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-page-hero__copy { max-width: 820px; }

/* ------------------------------------------------------------ 01 / 02 grid */
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-story__grid {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 5vw, 84px);
}
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-block { min-width: 0; }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-block + .ae3-pmk-block { border-left: 1px solid var(--a3-line-dark); padding-left: clamp(28px, 5vw, 84px); }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-block .ae3-l3 { color: var(--a3-text); }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-block .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-500); }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-link {
	display: inline-block; margin-top: 26px; text-decoration: none;
	color: var(--a3-text); font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
	border-bottom: 1px solid var(--a3-line-dark); padding-bottom: 4px;
}
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-link:hover { border-bottom-color: var(--a3-text); }

/* ------------------------------------------------------------ 03 assets */
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets { color: var(--a3-text-invert); }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets__grid {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
	gap: clamp(30px, 5vw, 90px); align-items: start;
}
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets__copy .ae3-l3 { color: var(--a3-text-invert); }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets__copy .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-300); }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets__list { list-style: none; margin: clamp(24px, 3vw, 36px) 0 0; padding: 0; }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets__list li {
	padding: 15px 0; border-top: 1px solid var(--a3-line);
	font-size: 14px; letter-spacing: .04em; color: var(--a3-text-invert);
}
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets__copy .ae3-cta { margin-top: 30px; }

body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-words {
	list-style: none; margin: 0; padding: 0; min-width: 0;
}
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-words li {
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(26px, 3.6vw, 52px); font-weight: 300; line-height: 1.08;
	letter-spacing: -.01em; color: var(--a3-grey-300);
}
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-section--dark .ae3-pmk-words li { color: var(--a3-grey-500); }

/* ------------------------------------------------------------ 04 contact */
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-contact__inner { max-width: 760px; }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-contact__inner .ae3-l5 { margin: 18px 0 0; color: var(--a3-grey-500); }
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-contact__inner .ae3-cta { margin-top: 30px; }

/* ----------------------------------------------------------------- close */
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-close__grid {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(30px, 5vw, 90px); align-items: center;
}
body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-close__copy { min-width: 0; color: var(--a3-text-invert); }

/* ------------------------------------------------------------ responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-story__grid,
	body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets__grid,
	body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-close__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-block + .ae3-pmk-block {
		border-left: 0; border-top: 1px solid var(--a3-line-dark); padding-left: 0; padding-top: 28px;
	}
}

@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-words li { font-size: clamp(24px, 8vw, 34px); }
	body.ae-theme.ae-v3 .ae3-press-media-kit .ae3-pmk-assets__list li { font-size: 13px; }
}

/* Source: assets/css/ae-page-store-locator.css */
/*
 * STORE LOCATOR — 2026-09-29 client build.
 * Scoped to body.ae-theme.ae-v3 .ae3-store-locator so it layers on top of the
 * shared tokens in ae-v3.css without redefining anything global.
 */

body.ae-theme.ae-v3 .ae3-store-locator .ae3-page-hero__inner { align-items: flex-end; padding-bottom: clamp(56px, 9vw, 132px); }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-page-hero__copy { max-width: 780px; }

/* ---------------------------------------------------------- search + filters */
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search { border-bottom: 1px solid var(--a3-line-dark); }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search__head { max-width: 720px; }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search__head .ae3-l3 { color: var(--a3-text); }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search__head .ae3-l5 { margin: 16px 0 0; color: var(--a3-grey-500); }

body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search__form {
	display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px;
	margin: clamp(28px, 4vw, 44px) 0 0; max-width: 760px;
}
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search__form input[type="search"] {
	flex: 1 1 320px; min-width: 0;
	background: transparent; color: var(--a3-text);
	border: 0; border-bottom: 1px solid var(--a3-line-dark);
	padding: 16px 2px; font-size: 15px; letter-spacing: .04em;
}
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search__form input[type="search"]::placeholder { color: var(--a3-grey-400); }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search__form input[type="search"]:focus { outline: 0; border-bottom-color: var(--a3-text); }

body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-filters {
	display: flex; flex-wrap: wrap; gap: clamp(18px, 3vw, 48px);
	margin: clamp(30px, 4vw, 48px) 0 0;
	border-top: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-filters button {
	appearance: none; background: none; border: 0; cursor: pointer;
	padding: 18px 0 14px; margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
	color: var(--a3-grey-500); border-bottom: 1px solid transparent;
}
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-filters button:hover,
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-filters button:focus-visible { color: var(--a3-text); }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-filters button.is-active { color: var(--a3-text); border-bottom-color: var(--a3-text); }

/* ------------------------------------------------------------- nearest list */
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-nearest__head { max-width: 680px; }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-nearest__head .ae3-l5 { margin: 14px 0 0; color: var(--a3-grey-500); }

body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-locations { margin: clamp(34px, 5vw, 60px) 0 0; border-top: 1px solid var(--a3-line-dark); }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location {
	display: grid; grid-template-columns: 96px minmax(0, 1fr) auto;
	align-items: center; gap: clamp(16px, 3vw, 40px);
	padding: clamp(22px, 3vw, 34px) 0;
	border-bottom: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__no {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px; letter-spacing: .24em; color: var(--a3-grey-400);
}
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__city {
	margin: 0; font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 13px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__name {
	margin: 12px 0 0; font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(22px, 2.4vw, 32px); font-weight: 300; line-height: 1.12; color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__note { margin: 6px 0 0; font-size: 14px; color: var(--a3-grey-500); }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__cta {
	white-space: nowrap; text-decoration: none; color: var(--a3-text);
	font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
	border-bottom: 1px solid var(--a3-line-dark); padding-bottom: 4px;
}
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__cta:hover { border-bottom-color: var(--a3-text); }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-nearest__all { margin: clamp(30px, 4vw, 46px) 0 0; }

/* ------------------------------------------------------------------- band */
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-cta .ae3-band__inner { text-align: center; }
body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-cta .ae3-band__inner > div { max-width: 760px; margin: 0 auto; }

/* ------------------------------------------------------------ responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location { grid-template-columns: 64px minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__cta { grid-column: 2; justify-self: start; }
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-filters { gap: 22px; }
}

@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search__form { flex-direction: column; align-items: stretch; }
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-search__form .ae3-cta { align-self: flex-start; }
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__no { order: -1; }
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-location__cta { grid-column: 1; }
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-filters { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
	body.ae-theme.ae-v3 .ae3-store-locator .ae3-sl-filters button { white-space: nowrap; }
}

/* Source: assets/css/ae-page-cookie-policy.css */
/*
 * Cookie Policy - 2026-10-06 client build (workbook sheet: Cookie Policy).
 * Root class: .ae3-cookie-policy (carried by the .aev2-page wrapper).
 * Every selector repeats body.ae-theme.ae-v3 so it outranks the ae-v3.css base.
 */

/* ------------------------------------------------------------------ hero */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-hero { min-height: clamp(400px, 66vh, 720px); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-hero .ae3-page-hero__inner { align-items: flex-end; padding-bottom: clamp(48px, 7vw, 108px); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-page-hero__copy { max-width: 880px; min-width: 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-page-hero__copy .ae3-l1 { overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-page-hero__copy .ae3-l5 { margin-top: 24px; overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px clamp(18px, 3vw, 52px);
	margin: clamp(30px, 3.4vw, 48px) 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--a3-line);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-grey-300);
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------- 01 / 08 block */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-intro { background: var(--a3-white); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr);
	gap: clamp(26px, 4.4vw, 84px);
	align-items: end;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-intro__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-intro__copy .ae3-l3 { margin-bottom: 18px; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-intro__copy .ae3-l5 { max-width: 62ch; color: var(--a3-grey-500); overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-intro__note {
	max-width: 22ch;
	margin-left: auto;
	text-align: right;
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------- 02 / 08 block */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-what { background: var(--a3-paper); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-what__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 4vw, 76px);
	align-items: start;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-what__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-what__copy .ae3-l3 { margin-bottom: 18px; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-what__copy .ae3-l5 { color: var(--a3-grey-500); overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-trio {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 clamp(18px, 2.6vw, 44px);
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-trio__item {
	min-width: 0;
	padding-top: 18px;
	border-top: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-trio__title {
	margin: 0 0 8px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-trio__body {
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 13px;
	line-height: 1.75;
	color: var(--a3-grey-500);
	overflow-wrap: anywhere;
}

/* ---------------------------------------------------- statement band */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-band { min-height: clamp(320px, 40vw, 560px); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-band__title {
	max-width: 24ch;
	margin-inline: auto;
	text-align: center;
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------- 03 / 08 block */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layers { background: var(--a3-white); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layers__head { max-width: 660px; min-width: 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layers__head .ae3-l3 { margin-bottom: 16px; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layers__head .ae3-l5 { color: var(--a3-grey-500); overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layers__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 clamp(18px, 2.8vw, 48px);
	margin: clamp(34px, 4vw, 64px) 0 0;
	padding: 0;
	list-style: none;
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layer {
	min-width: 0;
	padding-top: 22px;
	border-top: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layer__name {
	margin: 0 0 12px;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layer__body {
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 13px;
	line-height: 1.8;
	color: var(--a3-grey-500);
	overflow-wrap: anywhere;
}

/* ------------------------------------------- 04 / 08 + 5 / 08 block */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choices { background: var(--a3-paper); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choices__grid {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	gap: clamp(28px, 4.4vw, 88px);
	align-items: start;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-library { min-width: 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-library .ae3-l3 { margin-bottom: 16px; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-library .ae3-l5 { color: var(--a3-grey-500); overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choicebox { min-width: 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choicebox .ae3-l3 { margin-bottom: 14px; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choicebox > .ae3-l5 { color: var(--a3-grey-500); overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choicebox__list {
	margin-top: clamp(22px, 2.6vw, 36px);
	border-top: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 0;
	border-bottom: 1px solid var(--a3-line-dark);
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choice__text {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choice__label {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--a3-text);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choice__note {
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--a3-grey-400);
	overflow-wrap: anywhere;
}

/* --- CSS switch: one locked essential row + three user-toggleable rows --- */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-switch {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	width: 46px;
	height: 24px;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-switch__input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	z-index: 2;
	cursor: pointer;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-switch__input:disabled { cursor: not-allowed; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-switch__track {
	position: absolute;
	inset: 0;
	box-sizing: border-box;
	border-radius: 999px;
	background: var(--a3-grey-200);
	border: 1px solid var(--a3-line-dark);
	transition: background .35s var(--a3-ease), border-color .35s var(--a3-ease);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-switch__track::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border-radius: 50%;
	background: var(--a3-white);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .28);
	transition: transform .35s var(--a3-ease);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-switch__input:checked + .ae3-cookie-switch__track {
	background: var(--a3-gold);
	border-color: var(--a3-gold-dim);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-switch__input:checked + .ae3-cookie-switch__track::after { transform: translateX(22px); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-switch__input:disabled:checked + .ae3-cookie-switch__track {
	background: var(--a3-gold-dim);
	border-color: var(--a3-gold-dim);
	opacity: .7;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-switch__input:focus-visible + .ae3-cookie-switch__track {
	outline: 2px solid var(--a3-gold);
	outline-offset: 2px;
}

/* --- preference actions ------------------------------------------------ */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choicebox__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px clamp(18px, 2.6vw, 34px);
	margin: clamp(24px, 3vw, 36px) 0 0;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-save {
	padding: 15px 30px;
	border: 1px solid var(--a3-text);
	background: var(--a3-text);
	color: var(--a3-white);
	font-size: 11px;
	letter-spacing: .18em;
	transition: background .35s var(--a3-ease), color .35s var(--a3-ease);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-save:hover,
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-save:focus-visible {
	background: transparent;
	color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-manage {
	padding: 0 0 6px;
	border: 0;
	border-bottom: 1px solid var(--a3-line-dark);
	background: none;
	cursor: pointer;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--a3-grey-500);
	transition: color .35s var(--a3-ease), border-color .35s var(--a3-ease);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-manage:hover,
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-manage:focus-visible {
	color: var(--a3-text);
	border-bottom-color: var(--a3-text);
}

/* -------------------------------------------------------------- footnote */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-note {
	background: var(--a3-white);
	border-top: 1px solid var(--a3-line-dark);
	border-bottom: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-note__text {
	max-width: 92ch;
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12.5px;
	line-height: 1.85;
	letter-spacing: .02em;
	color: var(--a3-grey-500);
	overflow-wrap: anywhere;
}

/* ------------------------------------------- 06 / 08 + 07 / 07 block */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-legal { background: var(--a3-white); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-legal__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(30px, 4.4vw, 88px);
	align-items: start;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-legal__col { min-width: 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-legal__col .ae3-l3 { margin-bottom: 16px; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-legal__col .ae3-l5 { color: var(--a3-grey-500); overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details { margin-top: clamp(22px, 2.8vw, 38px); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__item { border-top: 1px solid var(--a3-line-dark); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__item:last-child { border-bottom: 1px solid var(--a3-line-dark); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__summary {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 2px;
	margin: 0;
	cursor: pointer;
	list-style: none;
	min-width: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11.5px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--a3-text);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__summary::-webkit-details-marker { display: none; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__label { min-width: 0; overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__mark {
	flex: 0 0 auto;
	font-size: 15px;
	line-height: 1;
	color: var(--a3-gold-dim);
	transition: transform .35s var(--a3-ease), color .35s var(--a3-ease);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__item[open] .ae3-cookie-details__mark {
	transform: rotate(45deg);
	color: var(--a3-gold);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__body { padding: 0 2px 20px; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__body p {
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 13px;
	line-height: 1.85;
	color: var(--a3-grey-500);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-legal__cta { margin: clamp(26px, 3vw, 38px) 0 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-privacy { color: var(--a3-text); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-privacy:hover,
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-privacy:focus-visible { color: var(--a3-gold-dim); }

/* ------------------------------------------------------- 08 / 08 block */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact { background: var(--a3-paper); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(26px, 4vw, 76px);
	align-items: start;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact__copy { min-width: 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact__copy .ae3-l3 { margin-bottom: 16px; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact__copy .ae3-l5 { color: var(--a3-grey-500); overflow-wrap: anywhere; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact__mail { margin: 22px 0 0; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact__mail a {
	border-bottom: 1px solid var(--a3-line-dark);
	color: var(--a3-text);
	text-decoration: none;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: clamp(15px, 1.5vw, 20px);
	letter-spacing: .02em;
	overflow-wrap: anywhere;
	transition: border-color .35s var(--a3-ease);
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact__mail a:hover { border-bottom-color: var(--a3-text); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact__updates {
	min-width: 0;
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 14px;
	line-height: 1.9;
	color: var(--a3-grey-500);
	overflow-wrap: anywhere;
}

/* --------------------------------------------------------- closing band */
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-tail { background: var(--a3-black); }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-tail__inner { text-align: center; }
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-tail__title {
	max-width: 22ch;
	margin: 0 auto;
	color: var(--a3-text-invert);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-tail__brand {
	margin: 26px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: var(--a3-grey-400);
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------------ responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-intro__grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-intro__note { max-width: none; margin-left: 0; text-align: left; }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-what__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layers__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(18px, 3vw, 40px); }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choices__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-legal__grid { grid-template-columns: minmax(0, 1fr); }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-contact__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-hero__meta { font-size: 9px; letter-spacing: .22em; }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-trio { grid-template-columns: minmax(0, 1fr); gap: 0; }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-trio__item + .ae3-cookie-trio__item { margin-top: 18px; }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layers__list { grid-template-columns: minmax(0, 1fr); gap: 0; }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-layer + .ae3-cookie-layer { margin-top: 18px; }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-details__summary { font-size: 10.5px; letter-spacing: .16em; }
	body.ae-theme.ae-v3 .ae3-cookie-policy .ae3-cookie-choicebox__actions { gap: 16px; }
}

/* Source: assets/css/ae-page-privacy-policy.css */
/*
 * Privacy Policy - 2026-09-29 client build (workbook sheet: Privacy Policy).
 * Root class: .ae3-privacy-policy (also carries .ae3-legal).
 *
 * Every selector repeats body.ae-theme.ae-v3 .ae3-privacy-policy so the file
 * can never leak into another page: the per-page stylesheets are all enqueued
 * site wide, and this prefix is what keeps them independent of each other and
 * of the ae-v3.css design system, which is extended here - never redefined.
 * Grid and flex children always carry min-width:0, long tokens wrap through
 * overflow-wrap:anywhere, so the page cannot scroll sideways at any width.
 */

/* ------------------------------------------------------------------ marks */
/*
 * The workbook writes two marks that must stay out of the artwork: the `#`
 * prefix of every heading and the `**` wrapper of the two regional labels.
 * They are printed in the text layer (font-size:0) so the document reads like
 * the workbook and screen readers never announce them.
 */
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-pp-mark {
	font-size: 0;
	opacity: 0;
}

/* ------------------------------------------------------------------ hero */
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-hero.ae3-page-hero {
	align-items: flex-end;
	min-height: clamp(420px, 66vh, 720px);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-hero .ae3-page-hero__inner {
	padding-bottom: clamp(48px, 6.5vw, 96px);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-page-hero__copy {
	max-width: 900px;
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-hero__body {
	max-width: 56ch;
	margin-top: clamp(20px, 2.4vw, 30px);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px clamp(18px, 3vw, 52px);
	margin: clamp(30px, 3.4vw, 48px) 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--a3-line);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-grey-300);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-hero__meta span {
	min-width: 0;
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------------ commitment */
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro {
	background: var(--a3-paper);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.48fr);
	gap: clamp(26px, 4.4vw, 88px);
	align-items: start;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro__head,
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro__body {
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro__head .ae3-l2 {
	max-width: 22ch;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro__lead {
	margin: 0 0 14px;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(21px, 2.1vw, 30px);
	font-weight: 300;
	line-height: 1.24;
	letter-spacing: -.01em;
	color: var(--a3-text);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.9;
	color: var(--a3-grey-500);
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------- table of contents */
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc {
	background: var(--a3-white);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__grid {
	display: grid;
	grid-template-columns: minmax(0, .56fr) minmax(0, 1.44fr);
	gap: clamp(26px, 4.4vw, 88px);
	align-items: start;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__head {
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__head .ae3-l3 {
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__lists {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(20px, 3vw, 60px);
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__list li {
	border-bottom: 1px solid var(--a3-line-dark);
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__list a {
	display: block;
	padding: 14px 2px;
	text-decoration: none;
	color: var(--a3-text);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px;
	line-height: 1.55;
	letter-spacing: .06em;
	overflow-wrap: anywhere;
	transition: color .35s var(--a3-ease);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__list a:hover,
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__list a:focus-visible {
	color: var(--a3-gold-dim);
}

/* ---------------------------------------------------------------- clauses */
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-body {
	background: var(--a3-white);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause {
	display: grid;
	grid-template-columns: minmax(0, .46fr) minmax(0, 1.54fr);
	gap: clamp(14px, 3vw, 68px);
	padding: clamp(26px, 3.4vw, 54px) 0;
	border-top: 1px solid var(--a3-line-dark);
	scroll-margin-top: 120px;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause:first-child {
	border-top: 0;
	padding-top: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	margin: 0;
	min-width: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: clamp(11px, 1.05vw, 13px);
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--a3-text);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__no {
	flex: 0 0 auto;
	margin-right: clamp(10px, 1.2vw, 18px);
	color: var(--a3-gold-dim);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__name {
	min-width: 0;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__body {
	min-width: 0;
	color: var(--a3-grey-500);
	font-size: 14px;
	line-height: 1.9;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__body p {
	margin: 0 0 12px;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__body p:last-child {
	margin-bottom: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__more {
	margin: clamp(20px, 2.4vw, 30px) 0 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__body .ae3-cta,
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-card__more .ae3-cta {
	color: var(--a3-text);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__body .ae3-cta:hover,
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-card__more .ae3-cta:hover {
	color: var(--a3-gold-dim);
}

/* --------------------------------------------- 02 - information we collect */
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(18px, 2.6vw, 48px);
	margin: clamp(20px, 2.4vw, 30px) 0 0;
	padding: 0;
	list-style: none;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-point {
	position: relative;
	min-width: 0;
	padding: 12px 0 12px 20px;
	border-top: 1px solid var(--a3-line-dark);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--a3-text);
	overflow-wrap: anywhere;
}
/* Decoration only - generated content never enters the text layer. */
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-point::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.9em;
	width: 9px;
	height: 1px;
	background: var(--a3-gold-dim);
}

/* ------------------------------------------------ 11 - regional rights */
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-region {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2.2vw, 32px);
	margin-top: clamp(20px, 2.4vw, 30px);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-card {
	min-width: 0;
	padding: clamp(22px, 2.6vw, 34px);
	border: 1px solid var(--a3-line-dark);
	background: var(--a3-paper);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-card__label {
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--a3-text);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-card__body {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.85;
	color: var(--a3-grey-500);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-card__more {
	margin: 18px 0 0;
}

/* ------------------------------------------------------------------ close */
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close {
	background: var(--a3-black);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__media {
	position: absolute;
	left: 0;
	right: 0;
	top: -7%;
	height: 114%;
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .72) 55%, rgba(0, 0, 0, .44) 100%);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
	gap: clamp(30px, 4.4vw, 84px);
	align-items: end;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__statement,
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__copy {
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__words {
	margin: 0;
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(34px, 5.4vw, 78px);
	font-weight: 300;
	line-height: 1.02;
	letter-spacing: -.015em;
	color: var(--a3-text-invert);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__words span {
	display: block;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__email {
	margin: 0;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__note {
	max-width: 46ch;
	margin: 14px 0 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.85;
	color: rgba(255, 255, 255, .68);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__foot {
	position: relative;
	z-index: 2;
	margin-top: clamp(40px, 5vw, 84px);
	padding-top: clamp(20px, 2.4vw, 32px);
	border-top: 1px solid var(--a3-line);
}
body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__claim {
	margin: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: var(--a3-grey-300);
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------------- responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro__grid,
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__grid,
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro__head .ae3-l2 {
		max-width: none;
	}
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-region {
		grid-template-columns: minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__words {
		font-size: clamp(30px, 7.4vw, 56px);
	}
}
@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-toc__lists {
		grid-template-columns: minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-points {
		grid-template-columns: minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-hero__meta {
		font-size: 9px;
		letter-spacing: .22em;
	}
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-clause__body,
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-intro__text,
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-card__body {
		font-size: 13.5px;
		line-height: 1.85;
	}
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__claim {
		letter-spacing: .24em;
	}
	body.ae-theme.ae-v3 .ae3-privacy-policy .ae3-legal-close__note {
		font-size: 12.5px;
	}
}

/* Source: assets/css/ae-page-terms-of-service.css */
/*
 * Terms & Conditions - 2026-09-29 client build (workbook sheet: Terms).
 * Root class: .ae3-terms-of-service (also carries .ae3-legal).
 * Every selector repeats body.ae-theme.ae-v3 so it outranks the ae-v3.css base.
 */

/* ------------------------------------------------------------------ hero */
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-hero {
	min-height: clamp(380px, 64vh, 700px);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-hero .ae3-page-hero__inner {
	align-items: flex-end;
	padding-bottom: clamp(48px, 7vw, 108px);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-page-hero__copy {
	max-width: 860px;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px clamp(18px, 3vw, 52px);
	margin: clamp(30px, 3.4vw, 48px) 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--a3-line);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-grey-300);
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------- table of contents */
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc {
	background: var(--a3-paper);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__grid {
	display: grid;
	grid-template-columns: minmax(0, .56fr) minmax(0, 1.44fr);
	gap: clamp(26px, 4.4vw, 88px);
	align-items: start;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__head {
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__head .ae3-l3 {
	margin-bottom: 16px;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__head p {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: var(--a3-grey-500);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__lists {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(20px, 3vw, 60px);
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__list li {
	border-bottom: 1px solid var(--a3-line-dark);
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__list a {
	display: block;
	padding: 14px 2px;
	text-decoration: none;
	color: var(--a3-text);
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: 12px;
	line-height: 1.55;
	letter-spacing: .06em;
	overflow-wrap: anywhere;
	transition: color .35s var(--a3-ease);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__list a:hover {
	color: var(--a3-gold-dim);
}

/* ---------------------------------------------------------------- clauses */
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-body {
	background: var(--a3-white);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause {
	display: grid;
	grid-template-columns: minmax(0, .46fr) minmax(0, 1.54fr);
	gap: clamp(14px, 3vw, 68px);
	padding: clamp(26px, 3.4vw, 54px) 0;
	border-top: 1px solid var(--a3-line-dark);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause:first-child {
	border-top: 0;
	padding-top: 0;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause__title {
	display: flex;
	align-items: baseline;
	gap: clamp(10px, 1.2vw, 18px);
	margin: 0;
	min-width: 0;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: clamp(11px, 1.05vw, 13px);
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--a3-text);
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause__no {
	flex: 0 0 auto;
	color: var(--a3-gold-dim);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause__body {
	min-width: 0;
	color: var(--a3-grey-500);
	font-size: 14px;
	line-height: 1.9;
	overflow-wrap: anywhere;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause__body p {
	margin: 0 0 12px;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause__body p:last-child {
	margin-bottom: 0;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause__body a {
	color: var(--a3-text);
	border-bottom: 1px solid var(--a3-line-dark);
	text-decoration: none;
}

/* ------------------------------------------------------------------ close */
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-close {
	background: var(--a3-black);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-close__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(26px, 4vw, 76px);
	align-items: end;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-close__copy {
	min-width: 0;
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-close__lead {
	margin: 0 0 clamp(22px, 2.6vw, 34px);
	font-family: var(--ae-display, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(24px, 3vw, 46px);
	font-weight: 300;
	line-height: 1.12;
	letter-spacing: -.01em;
	color: var(--a3-text-invert);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-close__copy .ae3-cta {
	color: var(--a3-text-invert);
}
body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-close__words {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: right;
	font-family: var(--ae-body, "Montserrat", Arial, sans-serif);
	font-size: clamp(11px, 1.1vw, 14px);
	font-weight: 500;
	line-height: 1.95;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--a3-grey-300);
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------------- responsive */
@media (max-width: 1024px) {
	body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
	body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-close__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-close__words {
		text-align: left;
	}
}
@media (max-width: 640px) {
	body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-toc__lists {
		grid-template-columns: minmax(0, 1fr);
	}
	body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-hero__meta {
		font-size: 9px;
		letter-spacing: .22em;
	}
	body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-clause__body {
		font-size: 13.5px;
		line-height: 1.85;
	}
	body.ae-theme.ae-v3 .ae3-terms-of-service .ae3-legal-close__words {
		letter-spacing: .24em;
	}
}
