:root {
	--color-canvas: #fbfaf7;
	--color-surface: #ffffff;
	--color-surface-muted: #f2f1ec;
	--color-ink: #171918;
	--color-ink-soft: #555c59;
	--color-line: #d9dcda;
	--color-blue: #176f91;
	--color-blue-dark: #0c536f;
	--color-blue-pale: #dfeff4;
	--color-blue-wash: #eef7f9;
	--color-navy: #0b1d2d;
	--color-navy-soft: #152d40;
	--color-ivory: #f6f1e7;
	--color-gold: #aa8a57;
	--color-focus: #087dac;
	--font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
	--font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: clamp(1.125rem, 1.5vw, 1.3rem);
	--text-h3: clamp(1.35rem, 2vw, 1.75rem);
	--text-h2: clamp(2rem, 5vw, 3.75rem);
	--text-h1: clamp(2.75rem, 8vw, 6rem);
	--space-1: 0.5rem;
	--space-2: 0.75rem;
	--space-3: 1rem;
	--space-4: 1.5rem;
	--space-5: 2rem;
	--space-6: 3rem;
	--space-7: clamp(4rem, 8vw, 7rem);
	--space-8: clamp(5rem, 11vw, 10rem);
	--container: 82rem;
	--container-narrow: 48rem;
	--gutter: clamp(1.25rem, 4vw, 3rem);
	--radius-sm: 0.25rem;
	--radius-md: 0.75rem;
	--radius-lg: 1.5rem;
	--shadow-soft: 0 1rem 3rem rgba(23, 25, 24, 0.08);
	--transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--color-canvas); color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-base); line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-is-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
button, input { font: inherit; }
a { color: inherit; text-decoration-thickness: 0.08em; text-underline-offset: 0.2em; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
h1, h2 { font-family: var(--font-display); font-weight: 400; letter-spacing: -0.035em; line-height: 0.98; }
h1 { font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); line-height: 1.2; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; white-space: nowrap; }
.skip-link { position: fixed; z-index: 1000; left: var(--space-3); top: var(--space-3); padding: var(--space-2) var(--space-3); background: var(--color-ink); color: #fff; transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.container { width: min(100% - (2 * var(--gutter)), var(--container)); margin-inline: auto; }
.section { padding-block: var(--space-8); }
.section--neutral { background: var(--color-surface-muted); }
.section--blue { background: var(--color-blue-pale); }
.section--dark { background: var(--color-ink); color: var(--color-canvas); }
.eyebrow { margin-bottom: var(--space-3); color: var(--color-blue-dark); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.16em; line-height: 1.4; text-transform: uppercase; }
.section--dark .eyebrow { color: #82c4db; }
.lead { font-family: var(--font-display); font-size: var(--text-lg); }
.button-group { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; border: 1px solid var(--color-ink); border-radius: var(--radius-sm); padding: 0.75rem 1.5rem; background: var(--color-ink); color: #fff; font-size: var(--text-sm); font-weight: 650; line-height: 1.2; text-align: center; text-decoration: none; transition: background var(--transition), border-color var(--transition), color var(--transition); }
.button:hover { border-color: var(--color-blue-dark); background: var(--color-blue-dark); }
.button--outline { background: transparent; color: var(--color-ink); }
.button--text { border-color: transparent; background: transparent; color: var(--color-ink); text-decoration: underline; }
.button[aria-disabled="true"] { cursor: not-allowed; opacity: 0.65; }
.text-link { font-size: var(--text-sm); font-weight: 700; }
.section-heading { max-width: var(--container-narrow); margin-bottom: var(--space-6); }
.section-heading > :last-child { margin-bottom: 0; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading--split { max-width: none; }

.announcement-bar { padding: 0.55rem 0; background: var(--color-ink); color: #fff; font-size: var(--text-xs); letter-spacing: 0.04em; text-align: center; }
.announcement-bar p { margin: 0; }
.site-header { position: relative; z-index: 100; border-bottom: 1px solid var(--color-line); background: rgba(251, 250, 247, 0.98); }
.site-header__inner { display: grid; min-height: 6rem; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-1); }
.site-branding { display: flex; align-items: center; }
.site-branding__logo-link { display: inline-flex; align-items: center; text-decoration: none; }
.site-branding__logo { display: block; width: auto; height: 5.5rem; max-width: 100%; object-fit: contain; }
.site-branding__name { display: inline-flex; flex-direction: column; color: var(--color-ink); font-family: var(--font-display); line-height: 0.85; text-decoration: none; text-transform: uppercase; }
.site-branding__name span { font-size: 1.35rem; letter-spacing: 0.08em; }
.site-branding__name small { margin-top: 0.5rem; font-family: var(--font-body); font-size: 0.52rem; font-weight: 700; letter-spacing: 0.35em; text-align: center; }
.custom-logo { width: auto; max-height: 3rem; }
.menu-toggle { display: none; width: 2.75rem; height: 2.75rem; grid-column: 2; justify-self: end; place-items: center; border: 0; background: transparent; color: var(--color-ink); cursor: pointer; }
.js .menu-toggle { display: inline-grid; }
.menu-toggle__close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__open { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__close { display: block; }
.primary-navigation { grid-column: 1 / -1; }
.js .primary-navigation { position: absolute; top: 100%; left: 0; width: 100%; max-height: 0; overflow: hidden; border-bottom: 1px solid transparent; background: var(--color-ivory); visibility: hidden; box-shadow: none; transition: max-height 240ms ease, visibility 240ms, box-shadow 240ms ease; }
.js .menu-is-open .primary-navigation { max-height: calc(100dvh - 6rem); overflow-y: auto; border-bottom-color: rgba(170, 138, 87, 0.4); visibility: visible; box-shadow: 0 1rem 2rem rgba(11, 29, 45, 0.1); }
.primary-navigation__list { display: flex; margin: 0; padding: var(--space-4) var(--gutter) var(--space-5); flex-direction: column; gap: 0; list-style: none; }
.primary-navigation__list a { display: block; min-height: 3.5rem; border-bottom: 1px solid var(--color-line); padding: var(--space-3) 0; color: var(--color-navy); font-family: var(--font-display); font-size: 1.5rem; text-decoration: none; }
.primary-navigation__list a:hover,
.primary-navigation__list a:focus-visible,
.primary-navigation__list .current-menu-item > a,
.primary-navigation__list .current_page_item > a { color: var(--color-gold); }
.primary-navigation__utilities { padding: 0 var(--gutter) var(--space-5); }
.primary-navigation__utilities a { display: flex; min-height: 3rem; align-items: center; color: var(--color-navy); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.header-utilities { display: flex; align-items: center; gap: var(--space-2); }
.header-utilities a { display: grid; min-width: 2.5rem; min-height: 2.75rem; place-items: center; text-decoration: none; }
.header-utilities__account { display: none !important; }
.cart-link { position: relative; }
.cart-link__count { position: absolute; top: 0; right: -0.1rem; display: grid; min-width: 1.1rem; height: 1.1rem; place-items: center; border-radius: 50%; background: var(--color-blue); color: #fff; font-size: 0.65rem; line-height: 1; }
.cart-link__count--empty { display: none; }

.hero { padding-top: var(--space-6); }
.hero__grid { display: grid; gap: var(--space-6); }
.hero__content { align-self: center; max-width: 45rem; }
.hero__intro { max-width: 38rem; color: var(--color-ink-soft); font-size: var(--text-lg); }
.trust-strip { border-block: 1px solid var(--color-line); }
.trust-strip__grid { display: grid; }
.trust-strip p { margin: 0; padding: var(--space-3); font-size: var(--text-xs); font-weight: 650; letter-spacing: 0.08em; text-align: center; text-transform: uppercase; }
.trust-strip p + p { border-top: 1px solid var(--color-line); }
.product-grid { display: grid; gap: var(--space-5); }
.product-card { overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); transition: box-shadow var(--transition), transform var(--transition); }
.product-card:hover { box-shadow: var(--shadow-soft); transform: translateY(-2px); }
.product-card__media { min-height: 27rem; border: 0; border-radius: 0; }
.product-card__body { padding: var(--space-5); }
.product-card__body h3 { margin-bottom: var(--space-2); }
.product-card__body > p:not(.eyebrow) { color: var(--color-ink-soft); }
.editorial-grid, .routine-grid, .science-grid { display: grid; gap: var(--space-6); }
.editorial-grid .section-heading { margin-bottom: 0; }
.routine-steps { margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.routine-steps li { display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--space-3); border-top: 1px solid var(--color-line); padding: var(--space-4) 0; }
.routine-steps li > span { color: var(--color-blue-dark); font-size: var(--text-xs); font-weight: 700; }
.routine-steps h3 { margin-bottom: var(--space-1); font-size: var(--text-lg); }
.routine-steps p { margin: 0; color: var(--color-ink-soft); }
.science-card { border-top: 1px solid #4c4e4d; padding-top: var(--space-4); }
.science-card__index { color: #82c4db; font-size: var(--text-xs); }
.science-card p:last-child { color: #c5c7c5; }
.journal-grid { display: grid; gap: var(--space-5); }
.journal-card h3 { font-family: var(--font-display); font-weight: 400; }
.newsletter { background: var(--color-blue-pale); }
.newsletter__inner { display: grid; gap: var(--space-5); }
.newsletter-form label { display: block; margin-bottom: var(--space-2); font-size: var(--text-sm); font-weight: 700; }
.newsletter-form__row { display: flex; flex-direction: column; gap: var(--space-2); }
.newsletter-form input { width: 100%; min-height: 3.25rem; border: 1px solid var(--color-ink); border-radius: var(--radius-sm); padding: 0.75rem 1rem; background: var(--color-surface); color: var(--color-ink); }
.form-note { margin: var(--space-2) 0 0; color: var(--color-ink-soft); font-size: var(--text-xs); }
.site-footer { padding-top: var(--space-7); background: var(--color-ink); color: #e7e7e3; }
.site-footer__grid { display: grid; gap: var(--space-6); }
.site-branding__name--footer { color: #fff; }
.site-footer__brand p { max-width: 22rem; margin-top: var(--space-4); color: #aeb2af; }
.site-footer h2 { margin-bottom: var(--space-3); font-family: var(--font-body); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.site-footer__links { margin: 0; padding: 0; list-style: none; }
.site-footer__links li + li { margin-top: var(--space-2); }
.site-footer__links a { color: #cfd1ce; font-size: var(--text-sm); text-decoration: none; }
.site-footer__links a:hover { color: #fff; text-decoration: underline; }
.site-footer__legal { margin-top: var(--space-7); border-top: 1px solid #3d403e; padding-block: var(--space-4); color: #929793; font-size: var(--text-xs); }
.site-footer__legal p { margin: 0; }

@media (min-width: 48rem) {
	.site-header__inner { min-height: 7.75rem; gap: var(--space-3); }
	.site-branding__logo { height: 7.1875rem; }
	.header-utilities__account { display: grid !important; }
	.primary-navigation__utilities { display: none; }
	.js .menu-is-open .primary-navigation { max-height: calc(100dvh - 7.75rem); }
	.hero__grid, .routine-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: center; }
	.hero__content { padding-right: var(--space-4); }
	.trust-strip__grid { grid-template-columns: repeat(3, 1fr); }
	.trust-strip p + p { border-top: 0; border-left: 1px solid var(--color-line); }
	.product-grid { grid-template-columns: repeat(2, 1fr); }
	.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); }
	.section-heading--split > p { max-width: 32rem; }
	.editorial-grid { grid-template-columns: 1fr 1fr; }
	.science-grid { grid-template-columns: 1.15fr 0.85fr 0.85fr; }
	.journal-grid { grid-template-columns: repeat(3, 1fr); }
	.newsletter__inner { grid-template-columns: 1fr 1fr; align-items: end; }
	.newsletter-form__row { flex-direction: row; }
	.newsletter-form__row .button { flex: 0 0 auto; }
	.site-footer__grid { grid-template-columns: 2fr 1fr 1fr; }
}

@media (min-width: 75rem) {
	body.menu-is-open { overflow: auto; }
	.site-header__inner { min-height: 10rem; grid-template-columns: minmax(15rem, 1fr) auto minmax(15rem, 1fr); }
	.site-branding__logo { height: 9.375rem; }
	.js .menu-toggle { display: none; }
	.primary-navigation,
	.js .primary-navigation,
	.js .menu-is-open .primary-navigation { position: static; width: auto; max-height: none; grid-column: 2; grid-row: 1; overflow: visible; border-bottom: 0; background: transparent; visibility: visible; box-shadow: none; transition: none; }
	.primary-navigation__list { padding: 0; flex-direction: row; gap: clamp(0.8rem, 1.4vw, 1.5rem); }
	.primary-navigation__list a { min-height: auto; border: 0; padding: var(--space-2) 0; font-family: var(--font-body); font-size: var(--text-sm); font-weight: 600; letter-spacing: 0.025em; box-shadow: inset 0 -1px transparent; }
	.primary-navigation__list a:hover,
	.primary-navigation__list a:focus-visible,
	.primary-navigation__list .current-menu-item > a,
	.primary-navigation__list .current_page_item > a { color: var(--color-navy); box-shadow: inset 0 -1px var(--color-gold); }
	.header-utilities { justify-self: end; }
	.hero { padding-top: var(--space-7); }
	.hero__grid { grid-template-columns: minmax(0, 0.95fr) minmax(32rem, 1.05fr); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

/* Homepage visual build: master-brand editorial system. */
.site-header { background: rgba(246, 241, 231, 0.97); }
.announcement-bar, .site-footer { background: var(--color-navy); }
.hero { overflow: hidden; background: var(--color-ivory); }
.hero h1 { max-width: 12ch; color: var(--color-navy); }
.hero-products { position: relative; display: grid; min-height: 31rem; grid-template-columns: 1.12fr 0.88fr; align-items: end; gap: var(--space-3); padding: var(--space-4); border: 1px solid rgba(11, 29, 45, 0.12); background: #ede6d9; }
.hero-products::before { content: ""; position: absolute; inset: 12% 8% auto auto; width: 8rem; height: 8rem; border: 1px solid rgba(170, 138, 87, 0.45); border-radius: 50%; }
.product-image-slot { position: relative; display: grid; min-height: 24rem; place-content: center; overflow: hidden; border: 1px solid rgba(11, 29, 45, 0.13); background: #edf3f3; color: var(--color-navy); text-align: center; }
.product-image-slot::after { content: ""; position: absolute; inset: auto 12% 8% 12%; height: 1px; background: rgba(170, 138, 87, 0.55); }
.product-image-slot--image { margin: 0; }
.product-image-slot--image::after { display: none; }
.product-image-slot--image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.product-image-slot--refine { min-height: 27rem; background: #e2ecec; }
.product-image-slot--glow { min-height: 22rem; background: #f4efe5; }
.product-image-slot__name { position: relative; z-index: 1; color: var(--color-navy); font-family: var(--font-display); font-size: clamp(1.5rem, 4vw, 3.5rem); letter-spacing: 0.08em; }
.product-image-slot small { position: relative; z-index: 1; display: block; margin-top: var(--space-2); padding-inline: var(--space-2); color: var(--color-ink-soft); font-size: var(--text-xs); }
.featured-skincare { background: var(--color-canvas); }
.product-card--featured { border-radius: 0; box-shadow: none; }
.product-card--featured:hover { box-shadow: var(--shadow-soft); }
.product-card--featured .product-card__media { min-height: 30rem; }
.product-card--featured .product-card__body { padding: var(--space-5) clamp(1.5rem, 4vw, 3rem) var(--space-6); }
.product-feature { overflow: hidden; }
.product-feature--refine { background: var(--color-navy); color: #fff; }
.product-feature--refine .eyebrow { color: #a9d8e5; }
.product-feature--refine .product-feature__content > p:not(.eyebrow) { color: #cfdae1; }
.product-feature--glow { background: var(--color-ivory); }
.product-feature__grid { display: grid; gap: var(--space-6); align-items: center; }
.product-feature__visual { min-height: 34rem; }
.product-image-slot--editorial-refine { background: #dbe7e8; }
.product-image-slot--editorial-glow { background: #e8decc; }
.product-image-slot--editorial-refine img { object-fit: cover; object-position: center; }
.product-image-slot--editorial-glow img { object-fit: cover; object-position: 50% 72%; }
.product-feature__content { max-width: 38rem; }
.product-feature__content .button { margin-top: var(--space-3); }
.button--navy { border-color: var(--color-navy); background: var(--color-navy); }
.routine { background: #fff; }
.routine .section-heading p:last-child { color: var(--color-ink-soft); }
.routine-flow { display: grid; gap: var(--space-4); align-items: center; }
.routine-step { position: relative; text-align: center; }
.routine-step__number { position: absolute; z-index: 2; top: var(--space-3); left: var(--space-3); display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid var(--color-gold); border-radius: 50%; background: rgba(255, 255, 255, 0.8); color: var(--color-navy); font-size: var(--text-xs); }
.routine-step__visual { min-height: 22rem; margin-bottom: var(--space-4); }
.routine-step h3 { margin-bottom: 0; font-family: var(--font-display); font-weight: 400; }
.routine-step__link { display: block; color: inherit; text-decoration: none; }
.routine-step__link:focus-visible { border-radius: var(--radius-sm); }
.routine-flow__arrow { color: var(--color-gold); font-family: var(--font-display); font-size: 2rem; text-align: center; transform: rotate(90deg); }
.section--navy { position: relative; overflow: hidden; background: var(--color-navy); color: #fff; }
.section--navy::after { content: ""; position: absolute; right: -8rem; bottom: -12rem; width: 28rem; height: 28rem; border: 1px solid rgba(137, 195, 212, 0.18); border-radius: 50%; }
.section--navy .eyebrow { color: #a9d8e5; }
.section--navy p { color: #cbd5dc; }
.education-grid { position: relative; z-index: 1; display: grid; gap: var(--space-6); }
.text-link--light { color: #fff; }
.brand-story { border-bottom: 1px solid var(--color-line); text-align: center; }
.brand-story__inner { max-width: 58rem; }
.brand-story__inner p:not(.eyebrow) { max-width: 43rem; margin-inline: auto; color: var(--color-ink-soft); font-size: var(--text-lg); }
.site-footer__top { display: grid; gap: var(--space-6); border-bottom: 1px solid #344757; padding-bottom: var(--space-6); }
.site-footer__newsletter-note { max-width: 27rem; }
.site-footer__newsletter-note p, .site-footer__links span { color: #929fa8; font-size: var(--text-sm); }
.site-footer__grid { padding-top: var(--space-6); }

@media (min-width: 48rem) {
	.hero-products { min-height: 38rem; }
	.product-feature__grid { grid-template-columns: 1.08fr 0.92fr; }
	.product-feature__grid--reverse .product-feature__visual { order: 2; }
	.product-feature__grid--reverse .product-feature__content { order: 1; }
	.routine-flow { grid-template-columns: 1fr auto 1fr; max-width: 62rem; margin-inline: auto; }
	.routine-flow__arrow { transform: none; }
	.education-grid { grid-template-columns: 1fr 1fr; }
	.site-footer__top { grid-template-columns: 1.5fr 1fr; justify-content: space-between; }
	.site-footer__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 75rem) {
	.hero__grid { grid-template-columns: minmax(0, 0.88fr) minmax(36rem, 1.12fr); }
	.hero-products { min-height: 42rem; }
	.product-feature__grid { gap: clamp(4rem, 8vw, 9rem); }
	.product-feature__visual { min-height: 43rem; }
	.site-footer__grid { grid-template-columns: repeat(5, 1fr); }
}

/* Product-image integration polish. */
.hero-products {
	min-height: 24rem;
	align-items: end;
	gap: clamp(0.35rem, 1.5vw, 1.25rem);
	padding: clamp(0.75rem, 2vw, 1.5rem);
	border-color: rgba(170, 138, 87, 0.35);
	background: #fff;
	box-shadow: 0 1.5rem 4rem rgba(11, 29, 45, 0.09);
}
.hero-products::before { top: 6%; right: 4%; width: 6rem; height: 6rem; opacity: 0.55; }
.hero-products > .product-image-slot { border: 0; background: #fff; }
.hero-products > .product-image-slot--refine { min-height: 22rem; }
.hero-products > .product-image-slot--glow { min-height: 18rem; }
.hero-products > .product-image-slot img { object-fit: contain; }
.product-card--featured .product-card__media { min-height: 25rem; border-bottom: 1px solid rgba(11, 29, 45, 0.08); }
.product-card--featured .product-image-slot--refine { background: #e6eeee; }
.product-card--featured .product-image-slot--glow { background: #efe9df; }
.product-card--featured .product-card__media img {
	inset: clamp(0.85rem, 2.5vw, 2rem);
	width: calc(100% - (2 * clamp(0.85rem, 2.5vw, 2rem)));
	height: calc(100% - (2 * clamp(0.85rem, 2.5vw, 2rem)));
	background: #fff;
	box-shadow: 0 0.75rem 2rem rgba(11, 29, 45, 0.07);
}
.product-feature__visual { min-height: 25rem; border-color: rgba(170, 138, 87, 0.4); }
.product-image-slot--editorial-refine,
.product-image-slot--editorial-glow { background: #f5f1e8; box-shadow: 1rem 1rem 0 rgba(170, 138, 87, 0.12); }
.product-image-slot--editorial-refine img,
.product-image-slot--editorial-glow img {
	inset: clamp(0.75rem, 2vw, 1.5rem);
	width: calc(100% - (2 * clamp(0.75rem, 2vw, 1.5rem)));
	height: calc(100% - (2 * clamp(0.75rem, 2vw, 1.5rem)));
	object-fit: contain;
	object-position: center;
	background: #fff;
}
.product-feature__content h2 { max-width: 12ch; }
.product-feature__content > p:not(.eyebrow) { max-width: 34rem; }
.routine-flow { gap: clamp(1rem, 3vw, 2.5rem); }
.routine-step__visual { min-height: 18rem; border: 0; background: #f2eee7; }
.routine-step__visual img {
	inset: var(--space-3);
	width: calc(100% - (2 * var(--space-3)));
	height: calc(100% - (2 * var(--space-3)));
	background: #fff;
}
.section-heading--split > div { max-width: 46rem; }
.section-heading--split > p { color: var(--color-ink-soft); }

@media (max-width: 29.99rem) {
	:root { --text-h1: clamp(2.35rem, 12vw, 3.25rem); --text-h2: clamp(1.9rem, 9vw, 2.65rem); }
	.hero { padding-top: var(--space-5); }
	.hero-products { min-height: 20rem; }
	.hero-products > .product-image-slot--refine { min-height: 18rem; }
	.hero-products > .product-image-slot--glow { min-height: 15rem; }
	.product-card--featured .product-card__media { min-height: 21rem; }
	.product-feature__visual { min-height: 21rem; }
}

@media (min-width: 48rem) {
	.hero-products { min-height: 33rem; }
	.hero-products > .product-image-slot--refine { min-height: 30rem; }
	.hero-products > .product-image-slot--glow { min-height: 25rem; }
	.product-card--featured .product-card__media { min-height: 28rem; }
	.product-feature__visual { min-height: 34rem; }
	.routine-step__visual { min-height: 21rem; }
}

@media (min-width: 75rem) {
	.hero-products { min-height: 38rem; }
	.hero-products > .product-image-slot--refine { min-height: 35rem; }
	.hero-products > .product-image-slot--glow { min-height: 29rem; }
	.product-card--featured .product-card__media { min-height: 32rem; }
	.product-feature__visual { min-height: 40rem; }
}

.product-card__body .text-link { display: inline-block; margin-top: var(--space-3); }
.newsletter__inner--copy-only { max-width: 58rem; }
.site-footer__grid--launch { padding-top: 0; }

@media (min-width: 48rem) {
	.newsletter__inner--copy-only { grid-template-columns: 1fr; }
	.site-footer__grid--launch { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-footer__grid--launch .site-footer__brand { grid-column: 1 / -1; }
}

@media (min-width: 75rem) {
	.site-footer__grid--launch { grid-template-columns: minmax(17rem, 1.55fr) repeat(4, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); }
	.site-footer__grid--launch .site-footer__brand { grid-column: auto; }
}

/* REFINE product-page system. */
.refine-product-page { overflow: clip; }
.refine-product-hero { padding-top: var(--space-5); background: var(--color-ivory); }
.refine-product-hero__grid { display: grid; gap: var(--space-6); }
.product-gallery { min-width: 0; }
.product-gallery__stage { display: grid; gap: var(--space-3); }
.product-gallery__panel { position: relative; min-width: 0; margin: 0; aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(11, 29, 45, 0.1); background: #fff; }
.product-gallery__panel img { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-gallery--enhanced .product-gallery__stage { display: block; }
.product-gallery__nav { display: none; margin-top: var(--space-3); grid-template-columns: repeat(2, minmax(0, 5rem)); gap: var(--space-2); }
.js .product-gallery__nav { display: grid; }
.product-gallery__nav button { width: 5rem; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--color-line); padding: 0; background: #fff; cursor: pointer; }
.product-gallery__nav button[aria-selected="true"] { border-color: var(--color-gold); box-shadow: inset 0 0 0 1px var(--color-gold); }
.product-gallery__nav img { width: 100%; height: 100%; object-fit: contain; }
.refine-product-summary { align-self: start; }
.refine-product-summary h1 { max-width: 9ch; margin-bottom: var(--space-2); color: var(--color-navy); font-size: clamp(3rem, 8vw, 5.25rem); }
.refine-product-summary__type { margin-bottom: var(--space-1); color: var(--color-navy); font-family: var(--font-display); font-size: var(--text-h3); }
.refine-product-summary__size { color: var(--color-ink-soft); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.refine-product-summary__intro { max-width: 35rem; margin-block: var(--space-5); color: var(--color-ink-soft); font-size: var(--text-lg); }
.refine-product-summary__intro > :last-child { margin-bottom: 0; }
.refine-product-summary__price { margin-bottom: var(--space-3); color: var(--color-navy); font-family: var(--font-display); font-size: clamp(1.65rem, 3vw, 2rem); line-height: 1.2; }
.refine-product-summary__price .price { margin: 0; color: inherit; font: inherit; }
.refine-product-summary__price del { margin-right: 0.45rem; color: var(--color-ink-soft); font-size: 0.72em; opacity: 0.75; }
.refine-product-summary__price ins { color: var(--color-navy); font-weight: 600; text-decoration: none; }
.refine-product-summary__stock { margin-bottom: var(--space-3); color: var(--color-ink-soft); font-size: var(--text-sm); }
.refine-product-summary__stock .stock { display: inline-flex; margin: 0; align-items: center; gap: var(--space-1); color: inherit; }
.refine-product-summary__stock .stock::before { width: 0.45rem; height: 0.45rem; flex: 0 0 auto; border-radius: 50%; background: var(--color-gold); content: ""; }
.refine-product-summary__purchase { margin-bottom: var(--space-3); border: 1px solid rgba(170, 138, 87, 0.48); border-radius: var(--radius-sm); padding: var(--space-4); background: rgba(255, 255, 255, 0.78); }
.refine-product-summary__purchase form.cart { margin: 0 !important; }
.refine-product-summary__purchase form.cart:not(.variations_form),
.refine-product-summary__purchase .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.woocommerce .refine-product-summary__purchase .quantity { float: none; margin: 0; }
.woocommerce .refine-product-summary__purchase .quantity .qty { width: 4.75rem; min-height: 3.5rem; border: 1px solid rgba(11, 29, 45, 0.48); border-radius: var(--radius-sm); padding: 0.65rem 0.5rem; background: #fff; color: var(--color-navy); font-weight: 700; line-height: 1.2; text-align: center; box-shadow: none; }
.woocommerce .refine-product-summary__purchase .quantity .qty:hover { border-color: var(--color-navy); }
.woocommerce .refine-product-summary__purchase .quantity .qty:focus-visible { border-color: var(--color-gold); outline: 3px solid var(--color-focus); outline-offset: 2px; }
.woocommerce .refine-product-summary__purchase .single_add_to_cart_button.button,
.woocommerce .refine-product-summary__purchase .single_add_to_cart_button.button.alt { min-height: 3.5rem; flex: 1 1 12rem; float: none; border: 1px solid var(--color-navy); border-radius: var(--radius-sm); padding: 0.85rem 1.75rem; background: var(--color-navy); color: #fff; font-size: var(--text-sm); font-weight: 700; line-height: 1.2; letter-spacing: 0.035em; cursor: pointer; box-shadow: none; transition: background var(--transition), border-color var(--transition), color var(--transition); }
.woocommerce .refine-product-summary__purchase .single_add_to_cart_button.button:hover,
.woocommerce .refine-product-summary__purchase .single_add_to_cart_button.button.alt:hover { border-color: var(--color-gold); background: var(--color-navy-soft); color: #fff; }
.woocommerce .refine-product-summary__purchase .single_add_to_cart_button.button:focus-visible { border-color: var(--color-gold); outline-color: var(--color-gold); }
.woocommerce .refine-product-summary__purchase .single_add_to_cart_button.button.disabled,
.woocommerce .refine-product-summary__purchase .single_add_to_cart_button.button:disabled { border-color: var(--color-line); background: var(--color-ink-soft); color: #fff; cursor: not-allowed; opacity: 0.58; }
.refine-product-summary__purchase .variations { width: 100%; margin-bottom: var(--space-4); border-collapse: collapse; }
.refine-product-summary__purchase .variations th,
.refine-product-summary__purchase .variations td { display: block; padding: 0; text-align: left; }
.refine-product-summary__purchase .variations label { display: block; margin-bottom: var(--space-1); color: var(--color-navy); font-size: var(--text-sm); font-weight: 700; }
.refine-product-summary__purchase .variations select { width: 100%; min-height: 3.25rem; margin-bottom: var(--space-3); border: 1px solid var(--color-ink); border-radius: var(--radius-sm); padding: 0.7rem 2.5rem 0.7rem 0.8rem; background: #fff; color: var(--color-ink); }
.refine-product-summary__purchase .reset_variations { display: inline-block; margin-bottom: var(--space-3); color: var(--color-ink-soft); font-size: var(--text-sm); }
.refine-product-summary__purchase .woocommerce-variation-price { margin-bottom: var(--space-3); color: var(--color-navy); font-family: var(--font-display); font-size: 1.5rem; }
.refine-product-summary__purchase .woocommerce-variation-description { color: var(--color-ink-soft); font-size: var(--text-sm); }
.purchase-reassurance { display: grid; margin-bottom: var(--space-5); border-block: 1px solid rgba(11, 29, 45, 0.14); padding-block: var(--space-2); gap: var(--space-1); }
.purchase-reassurance p { margin: 0; color: var(--color-ink-soft); font-size: var(--text-sm); }
.refine-facts { display: grid; margin-top: var(--space-5); border-block: 1px solid rgba(11, 29, 45, 0.14); }
.refine-facts p { display: grid; margin: 0; grid-template-columns: minmax(6rem, 0.7fr) 1.3fr; gap: var(--space-3); border-bottom: 1px solid rgba(11, 29, 45, 0.1); padding-block: var(--space-3); font-size: var(--text-sm); }
.refine-facts p:last-child { border-bottom: 0; }
.refine-facts span { color: var(--color-ink-soft); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.refine-story { background: var(--color-navy); color: #fff; }
.refine-story .eyebrow { color: #a9d8e5; }
.refine-story .editorial-grid__copy p { color: #cfdae1; }
.refine-ingredients { background: var(--color-canvas); }
.ingredient-grid { display: grid; gap: var(--space-3); }
.ingredient-grid--glow { max-width: 52rem; }
.ingredient-card { border-top: 1px solid var(--color-gold); padding: var(--space-4) 0; }
.ingredient-card__index { color: var(--color-gold); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; }
.ingredient-card h3 { margin-bottom: var(--space-2); font-family: var(--font-display); font-weight: 400; }
.ingredient-card p:last-child { max-width: 23rem; margin-bottom: 0; color: var(--color-ink-soft); }
.ingredient-supporting { display: grid; margin-top: var(--space-6); border-top: 1px solid var(--color-line); }
.ingredient-supporting > div { padding-block: var(--space-4); border-bottom: 1px solid var(--color-line); }
.ingredient-supporting h3,
.product-ingredient-details h3 { margin-bottom: var(--space-1); color: var(--color-navy); font-family: var(--font-body); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.02em; }
.ingredient-supporting p,
.product-ingredient-details p { margin-bottom: 0; color: var(--color-ink-soft); font-size: var(--text-sm); }
.refine-texture { background: var(--color-blue-wash); }
.refine-texture__grid { display: grid; gap: var(--space-6); align-items: center; }
.refine-texture__visual { position: relative; margin: 0; aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(11, 29, 45, 0.12); background: #fff; }
.refine-texture__visual img { width: 100%; height: 100%; object-fit: contain; }
.refine-texture__content { max-width: 35rem; }
.refine-texture__content p:last-child { color: var(--color-ink-soft); font-size: var(--text-lg); }
.refine-steps { display: grid; margin: 0; padding: 0; gap: var(--space-4); list-style: none; counter-reset: refine-step; }
.refine-steps li { border-top: 1px solid var(--color-line); padding-top: var(--space-4); }
.refine-steps li > span { display: inline-block; margin-bottom: var(--space-4); color: var(--color-gold); font-family: var(--font-display); font-size: 2rem; }
.refine-steps h3 { margin-bottom: var(--space-2); font-family: var(--font-display); font-weight: 400; }
.refine-steps p { margin-bottom: 0; color: var(--color-ink-soft); }
.glow-how-to__approved { max-width: var(--container-narrow); margin-inline: auto; color: var(--color-ink-soft); text-align: center; }
.refine-routine { background: #fff; }
.refine-routine__flow { margin-top: var(--space-6); }
.routine-step--featured { border-color: rgba(170, 138, 87, 0.7); box-shadow: 0 0 0 1px rgba(170, 138, 87, 0.16); }
.refine-details { background: var(--color-ivory); }
.refine-details__inner { max-width: 62rem; }
.product-disclosures { border-top: 1px solid var(--color-line); }
.product-disclosures details { border-bottom: 1px solid var(--color-line); }
.product-disclosures summary { position: relative; min-height: 3.75rem; padding: var(--space-4) 2.75rem var(--space-4) 0; color: var(--color-navy); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.08em; list-style: none; text-transform: uppercase; cursor: pointer; transition: color var(--transition); }
.product-disclosures summary::-webkit-details-marker { display: none; }
.product-disclosures summary:hover,
.product-disclosures details[open] summary { color: var(--color-blue-dark); }
.product-disclosures summary:focus-visible { border-radius: var(--radius-sm); outline-offset: 2px; }
.product-disclosures summary::after { content: "+"; position: absolute; top: 50%; right: 0.25rem; color: var(--color-gold); font-family: var(--font-display); font-size: 1.65rem; font-weight: 400; line-height: 1; transform: translateY(-50%); }
.product-disclosures details[open] summary::after { content: "−"; }
.product-disclosures details > div { max-width: 46rem; padding: 0 var(--space-5) var(--space-5) 0; color: var(--color-ink-soft); }
.product-disclosures details > div > :last-child { margin-bottom: 0; }
.product-disclosures table { width: 100%; border-collapse: collapse; }
.product-disclosures th, .product-disclosures td { border-bottom: 1px solid var(--color-line); padding: var(--space-2); text-align: left; }
.product-disclosures__attributes { margin-top: var(--space-4); }
.product-ingredient-list { display: grid; margin: 0; padding: 0; gap: var(--space-2); list-style: none; }
.product-ingredient-list li { position: relative; padding-left: 1.1rem; }
.product-ingredient-list li::before { position: absolute; top: 0.72em; left: 0; width: 0.35rem; height: 0.35rem; border-radius: 50%; background: var(--color-gold); content: ""; transform: translateY(-50%); }
.product-ingredient-details { display: grid; gap: 0; }
.product-ingredient-details > div { padding-block: var(--space-3); border-bottom: 1px solid rgba(11, 29, 45, 0.1); }
.product-ingredient-details > div:first-child { padding-top: 0; }
.product-ingredient-details > div:last-child { padding-bottom: 0; border-bottom: 0; }
.product-inci { overflow-wrap: anywhere; }
.product-inci p { margin-bottom: 0; }
.woocommerce-notices-wrapper:not(:empty) { width: min(100% - (2 * var(--gutter)), var(--container)); margin: var(--space-4) auto 0; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { margin: 0 0 var(--space-3); border: 1px solid var(--color-line); border-top: 1px solid var(--color-line); border-left: 0.25rem solid var(--color-blue); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-4); background: var(--color-ivory); color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-sm); line-height: 1.55; box-shadow: none; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }
.woocommerce-message { border-left-color: var(--color-gold); }
.woocommerce-error { border-left-color: #8b3a3a; }
.woocommerce-error { padding-left: var(--space-4); list-style-position: inside; }
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a { color: var(--color-navy); font-weight: 700; }
.woocommerce-message .button,
.woocommerce-info .button { min-height: 2.5rem; margin-left: var(--space-3); padding: 0.55rem 1rem; }
.refine-reviews { background: #fff; }
.refine-reviews__inner { max-width: 62rem; }
.refine-reviews .woocommerce-Reviews-title { margin-bottom: var(--space-5); font-family: var(--font-display); font-size: var(--text-h2); font-weight: 400; }
.refine-reviews .commentlist { margin: 0; padding: 0; list-style: none; }
.refine-reviews .comment_container { border-top: 1px solid var(--color-line); padding-block: var(--space-4); }
.refine-reviews .avatar { width: 3rem; height: 3rem; border-radius: 50%; }
.refine-reviews .star-rating { color: var(--color-gold); }
.refine-reviews .comment-form-rating select,
.refine-reviews textarea,
.refine-reviews input[type="text"],
.refine-reviews input[type="email"] { width: 100%; border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding: var(--space-2); background: #fff; }

@media (max-width: 29.99rem) {
	.refine-product-summary h1 { font-size: 2.85rem; }
	.product-gallery__nav { grid-template-columns: repeat(2, minmax(0, 4.25rem)); }
	.product-gallery__nav button { width: 4.25rem; }
	.refine-facts p { grid-template-columns: 1fr; gap: 0.2rem; }
	.refine-product-summary__purchase { padding: var(--space-3); }
	.refine-product-summary__purchase form.cart:not(.variations_form),
	.refine-product-summary__purchase .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 1fr; }
	.woocommerce .refine-product-summary__purchase .quantity,
	.woocommerce .refine-product-summary__purchase .quantity .qty,
	.woocommerce .refine-product-summary__purchase .single_add_to_cart_button.button { width: 100%; }
	.woocommerce-message .button,
	.woocommerce-info .button { float: none; margin: 0 0 var(--space-2); }
}

@media (min-width: 48rem) {
	.refine-product-hero { padding-top: var(--space-6); }
	.refine-product-hero__grid { grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr); align-items: start; gap: clamp(3rem, 6vw, 6rem); }
	.refine-product-summary { position: sticky; top: var(--space-4); padding-top: var(--space-3); }
	.ingredient-grid { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
	.ingredient-grid--glow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ingredient-supporting,
	.product-ingredient-details { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-5); }
	.refine-texture__grid { grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr); gap: clamp(3rem, 7vw, 7rem); }
	.refine-steps { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}

@media (min-width: 75rem) {
	.refine-product-hero__grid { grid-template-columns: minmax(32rem, 1.12fr) minmax(25rem, 0.88fr); }
	.refine-product-summary { padding-top: var(--space-5); }
}

/* WooCommerce catalogue. */
.catalogue-page { background: var(--color-canvas); }
.catalogue-hero { border-bottom: 1px solid var(--color-line); padding-block: clamp(3rem, 7vw, 6rem); background: var(--color-ivory); }
.catalogue-hero__inner { max-width: 64rem; }
.catalogue-hero h1 { margin-bottom: var(--space-4); color: var(--color-navy); font-size: clamp(2.75rem, 7vw, 5.25rem); text-transform: none; }
.catalogue-hero__inner > :last-child { max-width: 38rem; margin-bottom: 0; color: var(--color-ink-soft); font-size: var(--text-lg); }
.catalogue-products__inner { max-width: 76rem; }
.catalogue-products .woocommerce-ordering { margin: 0 0 var(--space-5); float: none; text-align: right; }
.catalogue-products .woocommerce-ordering select { min-height: 3rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding: 0.6rem 2.5rem 0.6rem 0.8rem; background: #fff; color: var(--color-ink); }
.catalogue-products ul.products { display: grid; margin: 0; padding: 0; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); list-style: none; }
.woocommerce .catalogue-products ul.products::before,
.woocommerce .catalogue-products ul.products::after { display: none; }
.woocommerce .catalogue-products ul.products li.product.catalogue-card { width: auto; margin: 0; float: none; overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
.catalogue-card__image-link { display: block; text-decoration: none; }
.catalogue-card__media { margin: 0; aspect-ratio: 1; overflow: hidden; border-bottom: 1px solid var(--color-line); background: #fff; }
.woocommerce .catalogue-card__media img { width: 100%; height: 100%; margin: 0; object-fit: contain; transition: transform var(--transition); }
.catalogue-card__image-link:hover .catalogue-card__media img { transform: scale(1.015); }
.catalogue-card__body { padding: var(--space-5); }
.catalogue-card__category { margin-bottom: var(--space-2); color: var(--color-blue-dark); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.catalogue-card__category a { text-decoration: none; }
.catalogue-card__title { margin-bottom: var(--space-3); font-size: var(--text-h3); }
.catalogue-card__title a { color: var(--color-navy); text-decoration: none; }
.catalogue-card__title a:hover,
.catalogue-card__category a:hover { color: var(--color-blue-dark); }
.catalogue-card__price { margin-bottom: var(--space-4); color: var(--color-navy); font-family: var(--font-display); font-size: 1.5rem; line-height: 1.2; }
.catalogue-card__price del { margin-right: 0.4rem; color: var(--color-ink-soft); font-size: 0.75em; opacity: 0.72; }
.catalogue-card__price ins { font-weight: 600; text-decoration: none; }
.catalogue-card__stock { margin: calc(-1 * var(--space-2)) 0 var(--space-4); color: var(--color-ink-soft); font-size: var(--text-sm); }
.catalogue-card__cta { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-navy); }
.catalogue-empty { max-width: 42rem; margin-inline: auto; padding-block: var(--space-6); text-align: center; }
.catalogue-empty h2 { margin-bottom: var(--space-3); font-size: var(--text-h3); }
.catalogue-empty p { color: var(--color-ink-soft); }
.woocommerce nav.woocommerce-pagination { margin-top: var(--space-7); text-align: center; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; margin: 0; border: 0; gap: var(--space-1); }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { display: grid; min-width: 2.75rem; min-height: 2.75rem; place-items: center; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: #fff; color: var(--color-navy); }
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--color-navy); background: var(--color-navy); color: #fff; }

@media (min-width: 48rem) {
	.catalogue-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* WooCommerce basket, checkout and order confirmation. */
.woocommerce-cart article > h1,
.woocommerce-checkout article > h1 { display: none; }
.woocommerce-cart article,
.woocommerce-checkout article { margin: 0; }
.commerce-hero { border-bottom: 1px solid var(--color-line); padding-block: clamp(2.75rem, 6vw, 5rem); background: var(--color-ivory); }
.commerce-hero__inner { max-width: 64rem; }
.commerce-hero h1 { margin-bottom: var(--space-3); color: var(--color-navy); font-size: clamp(2.65rem, 7vw, 4.75rem); }
.commerce-hero__inner > :last-child { max-width: 38rem; margin-bottom: 0; color: var(--color-ink-soft); font-size: var(--text-lg); }
.commerce-shell { background: var(--color-canvas); }
.commerce-shell__inner { max-width: 76rem; }
.commerce-shell .woocommerce { width: 100%; }
.woocommerce-cart .commerce-shell table,
.woocommerce-checkout .commerce-shell table,
.woocommerce-order-received .commerce-shell table { width: 100%; border-collapse: collapse; border: 0; }
.commerce-shell .shop_table th,
.commerce-shell .shop_table td { border: 0; border-bottom: 1px solid var(--color-line); padding: var(--space-3); background: transparent; text-align: left; vertical-align: middle; }
.commerce-shell .shop_table th { color: var(--color-ink-soft); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.woocommerce-cart .shop_table .product-thumbnail { width: 7.5rem; }
.woocommerce-cart .shop_table .product-thumbnail img { width: 6.5rem; height: 6.5rem; object-fit: contain; background: #fff; }
.woocommerce-cart .shop_table .product-name a { color: var(--color-navy); font-family: var(--font-display); font-size: var(--text-lg); text-decoration: none; }
.woocommerce-cart .shop_table .variation { margin: var(--space-1) 0 0; color: var(--color-ink-soft); font-size: var(--text-sm); }
.woocommerce-cart .shop_table .variation dt,
.woocommerce-cart .shop_table .variation dd { display: inline; float: none; margin: 0; }
.woocommerce-cart .shop_table .variation dd::after { content: " "; }
.woocommerce-cart .product-remove a.remove { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid transparent; border-radius: 50%; color: var(--color-ink-soft) !important; font-size: 1.5rem; line-height: 1; text-decoration: none; }
.woocommerce-cart .product-remove a.remove:hover { border-color: var(--color-line); background: transparent; color: var(--color-navy) !important; }
.commerce-shell .quantity .qty { width: 5rem; min-height: 3.25rem; border: 1px solid rgba(11, 29, 45, 0.4); border-radius: var(--radius-sm); padding: 0.65rem 0.5rem; background: #fff; color: var(--color-navy); font-weight: 700; text-align: center; }
.commerce-shell .quantity .qty:focus-visible { border-color: var(--color-gold); outline-color: var(--color-gold); outline-offset: 2px; }
.woocommerce-cart .shop_table .actions { padding: var(--space-4) 0; }
.woocommerce-cart .shop_table .actions .coupon { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.woocommerce-cart .shop_table .actions .coupon label { width: 100%; color: var(--color-navy); font-size: var(--text-sm); font-weight: 700; }
.woocommerce-cart .shop_table .actions .coupon .input-text { width: min(100%, 17rem); min-height: 3.25rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding: 0.75rem 1rem; background: #fff; }
.commerce-shell .button,
.commerce-shell button.button,
.commerce-shell input.button,
.commerce-shell .wc-block-components-button { min-height: 3.25rem; border: 1px solid var(--color-navy); border-radius: var(--radius-sm); padding: 0.75rem 1.25rem; background: var(--color-navy); color: #fff; font-family: var(--font-body); font-size: var(--text-sm); font-weight: 700; line-height: 1.2; text-decoration: none; box-shadow: none; }
.commerce-shell .button:hover,
.commerce-shell button.button:hover,
.commerce-shell input.button:hover,
.commerce-shell .wc-block-components-button:hover { border-color: var(--color-gold); background: var(--color-navy-soft); color: #fff; }
.commerce-shell .button:disabled,
.commerce-shell button.button:disabled,
.commerce-shell input.button:disabled,
.commerce-shell .wc-block-components-button:disabled { border-color: var(--color-line); background: var(--color-ink-soft); color: #fff; opacity: 0.58; }
.woocommerce-cart .cart-collaterals { display: flex; margin-top: var(--space-6); justify-content: flex-end; }
.woocommerce-cart .cart-collaterals .cart_totals { width: min(100%, 31rem); border: 1px solid rgba(170, 138, 87, 0.45); padding: var(--space-5); background: var(--color-ivory); }
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading { margin-bottom: var(--space-4); color: var(--color-navy); font-size: var(--text-h3); }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td { border-top: 1px solid var(--color-gold); color: var(--color-navy); font-size: var(--text-lg); }
.woocommerce-cart .wc-proceed-to-checkout { padding: var(--space-4) 0 0; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; min-height: 3.75rem; align-items: center; justify-content: center; margin: 0; }
.woocommerce-cart .cart-empty,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block { max-width: 44rem; margin-inline: auto; color: var(--color-navy); text-align: center; }
.woocommerce-cart .return-to-shop { text-align: center; }

.commerce-shell .woocommerce-form-login,
.commerce-shell .checkout_coupon { max-width: 42rem; margin-bottom: var(--space-5); border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding: var(--space-4); background: #fff; }
.woocommerce-checkout form.checkout { display: grid; gap: var(--space-5); }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { min-width: 0; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-checkout .col2-set .col-2 { margin-top: var(--space-5); }
.woocommerce-checkout h3 { color: var(--color-navy); }
.commerce-shell .form-row { margin: 0 0 var(--space-3); padding: 0; }
.commerce-shell .form-row label { display: block; margin-bottom: var(--space-1); color: var(--color-navy); font-size: var(--text-sm); font-weight: 700; }
.commerce-shell .required { color: #8b3a3a; text-decoration: none; }
.commerce-shell .input-text,
.commerce-shell select,
.commerce-shell textarea,
.commerce-shell .select2-container .select2-selection--single,
.commerce-shell .wc-block-components-text-input input,
.commerce-shell .wc-block-components-combobox .wc-block-components-combobox-control input { width: 100%; min-height: 3.25rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding: 0.75rem 1rem; background: #fff; color: var(--color-ink); box-shadow: none; }
.commerce-shell textarea { min-height: 8rem; resize: vertical; }
.commerce-shell .input-text:focus,
.commerce-shell select:focus,
.commerce-shell textarea:focus,
.commerce-shell .select2-container--focus .select2-selection--single,
.commerce-shell .wc-block-components-text-input input:focus { border-color: var(--color-gold); outline: 3px solid var(--color-focus); outline-offset: 2px; }
.commerce-shell .woocommerce-invalid .input-text,
.commerce-shell .woocommerce-invalid select { border-color: #8b3a3a; }
.woocommerce-checkout #order_review { border: 1px solid rgba(170, 138, 87, 0.45); padding: var(--space-5); background: var(--color-ivory); }
.woocommerce-checkout #payment { background: transparent; }
.woocommerce-checkout #payment ul.payment_methods { margin: var(--space-4) 0; border-bottom: 1px solid var(--color-line); padding: 0 0 var(--space-4); }
.woocommerce-checkout #payment ul.payment_methods li { margin-bottom: var(--space-3); }
.woocommerce-checkout #payment div.payment_box { margin: var(--space-2) 0 var(--space-3); background: #fff; color: var(--color-ink-soft); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #place_order { width: 100%; min-height: 3.75rem; float: none; }
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { color: var(--color-ink-soft); font-size: var(--text-sm); }

.commerce-shell .wc-block-cart,
.commerce-shell .wc-block-checkout { margin: 0; }
.commerce-shell .wc-block-cart__main,
.commerce-shell .wc-block-checkout__main { padding-right: 0; }
.commerce-shell .wc-block-cart__sidebar,
.commerce-shell .wc-block-checkout__sidebar { border: 1px solid rgba(170, 138, 87, 0.45); padding: var(--space-4); background: var(--color-ivory); }
.commerce-shell .wc-block-components-product-name { color: var(--color-navy); font-family: var(--font-display); text-decoration: none; }
.commerce-shell .wc-block-components-product-metadata { color: var(--color-ink-soft); font-size: var(--text-sm); }
.commerce-shell .wc-block-components-quantity-selector { min-height: 3rem; border-color: var(--color-line); background: #fff; }
.commerce-shell .wc-block-components-quantity-selector input { color: var(--color-navy); }
.commerce-shell .wc-block-components-totals-wrapper { border-color: var(--color-line); }
.commerce-shell .wc-block-components-totals-footer-item { color: var(--color-navy); font-size: var(--text-lg); }
.commerce-shell .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button { width: 100%; min-height: 3.75rem; }
.commerce-shell .wc-block-components-notice-banner { border: 1px solid var(--color-line); border-left: 0.25rem solid var(--color-blue); border-radius: var(--radius-sm); background: var(--color-ivory); }

/* Native shipping presentation. WooCommerce remains the source of all methods and prices. */
.commerce-shell ul#shipping_method { min-width: 0; margin: 0; padding: 0; list-style: none; }
.commerce-shell ul#shipping_method li { display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-2); margin: 0; padding-block: var(--space-2); }
.commerce-shell ul#shipping_method li + li { border-top: 1px solid rgba(11, 29, 45, 0.1); }
.commerce-shell ul#shipping_method input[type="radio"] { width: 1.125rem; height: 1.125rem; margin: 0.3rem 0 0; accent-color: var(--color-navy); }
.commerce-shell ul#shipping_method label { min-width: 0; color: var(--color-ink); line-height: 1.5; overflow-wrap: anywhere; cursor: pointer; }
.commerce-shell ul#shipping_method input[type="radio"]:checked + label { color: var(--color-navy); font-weight: 700; }
.commerce-shell .woocommerce-shipping-destination,
.commerce-shell .woocommerce-shipping-calculator { color: var(--color-ink-soft); font-size: var(--text-sm); }
.commerce-shell .shipping-calculator-button { color: var(--color-navy); font-weight: 700; }
.commerce-shell #ship-to-different-address { font-family: var(--font-body); font-size: var(--text-base); }
.commerce-shell #ship-to-different-address label { display: inline-flex; align-items: flex-start; gap: var(--space-2); cursor: pointer; }
.commerce-shell #ship-to-different-address input { flex: 0 0 auto; margin-top: 0.35rem; accent-color: var(--color-navy); }

/* WooCommerce Cart and Checkout Blocks shipping controls. */
.commerce-shell .wc-block-components-radio-control__option,
.commerce-shell .wc-block-checkout__shipping-method-option { min-width: 0; border-color: var(--color-line); padding: var(--space-3); background: #fff; }
.commerce-shell .wc-block-components-radio-control__option-checked,
.commerce-shell .wc-block-components-radio-control__option:has(input:checked),
.commerce-shell .wc-block-checkout__shipping-method-option:has(input:checked) { border-color: var(--color-gold); background: var(--color-ivory); }
.commerce-shell .wc-block-components-radio-control__input { accent-color: var(--color-navy); }
.commerce-shell .wc-block-components-radio-control__label-group,
.commerce-shell .wc-block-components-radio-control__description-group,
.commerce-shell .wc-block-components-shipping-rates-control__package { min-width: 0; overflow-wrap: anywhere; }
.commerce-shell .wc-block-components-totals-shipping,
.commerce-shell .wc-block-checkout__shipping-option { min-width: 0; }

.woocommerce-order-received .woocommerce-order-overview { display: grid; margin: 0 0 var(--space-6); padding: var(--space-4); border: 1px solid var(--color-line); background: #fff; gap: var(--space-3); list-style: none; }
.woocommerce-order-received .woocommerce-order-overview li { margin: 0; border: 0; padding: 0; color: var(--color-ink-soft); }
.woocommerce-order-received .woocommerce-order-overview li strong { display: block; color: var(--color-navy); font-size: var(--text-base); }
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details { margin-top: var(--space-6); }
.woocommerce-order-received .woocommerce-order-details h2,
.woocommerce-order-received .woocommerce-customer-details h2 { font-size: var(--text-h3); }

@media (max-width: 47.99rem) {
	.woocommerce-cart .shop_table_responsive thead { display: none; }
	.woocommerce-cart .shop_table_responsive,
	.woocommerce-cart .shop_table_responsive tbody,
	.woocommerce-cart .shop_table_responsive tr,
	.woocommerce-cart .shop_table_responsive td { display: block; width: 100%; }
	.woocommerce-cart .shop_table_responsive tr.cart_item { position: relative; margin-bottom: var(--space-4); border: 1px solid var(--color-line); padding: var(--space-3); background: #fff; }
	.woocommerce-cart .shop_table_responsive td { border-bottom: 1px solid rgba(11, 29, 45, 0.1); padding: var(--space-2) 0; text-align: right; }
	.woocommerce-cart .shop_table_responsive td::before { color: var(--color-ink-soft); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
	.woocommerce-cart .shop_table_responsive .product-remove { position: absolute; z-index: 2; top: var(--space-2); right: var(--space-2); width: auto; border: 0; }
	.woocommerce-cart .shop_table_responsive .product-thumbnail { display: block; width: 100%; padding-right: 3.5rem; text-align: left; }
	.woocommerce-cart .shop_table_responsive .product-thumbnail::before,
	.woocommerce-cart .shop_table_responsive .product-name::before { display: none; }
	.woocommerce-cart .shop_table_responsive .product-name { padding-block: var(--space-3); text-align: left; }
	.woocommerce-cart .shop_table_responsive .actions { text-align: left; }
	.woocommerce-cart .shop_table_responsive .actions::before { display: none; }
	.woocommerce-cart .shop_table .actions .coupon,
	.woocommerce-cart .shop_table .actions .coupon .input-text,
	.woocommerce-cart .shop_table .actions .button { width: 100%; }
	.woocommerce-cart .shop_table .actions .button { margin-top: var(--space-2); }
	.woocommerce-cart .cart-collaterals .cart_totals { padding: var(--space-4); }
	.woocommerce-checkout #order_review { padding: var(--space-4); }
	.commerce-shell .wc-block-cart__sidebar,
	.commerce-shell .wc-block-checkout__sidebar { padding: var(--space-3); }
}

@media (min-width: 64rem) {
	.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1.15fr) minmax(22rem, 0.85fr); align-items: start; column-gap: clamp(3rem, 6vw, 6rem); }
	.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; }
	.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; }
	.commerce-shell .wc-block-cart,
	.commerce-shell .wc-block-checkout { column-gap: clamp(2rem, 4vw, 4rem); }
	.woocommerce-order-received .woocommerce-order-overview { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* WooCommerce My Account. */
.woocommerce-account article > h1 { display: none; }
.woocommerce-account article { margin: 0; }
.account-hero { border-bottom: 1px solid var(--color-line); padding-block: clamp(2.75rem, 6vw, 5rem); background: var(--color-ivory); }
.account-hero__inner { max-width: 64rem; }
.account-hero h1 { margin-bottom: var(--space-3); color: var(--color-navy); font-size: clamp(2.65rem, 7vw, 4.75rem); }
.account-hero__inner > :last-child { max-width: 38rem; margin-bottom: 0; color: var(--color-ink-soft); font-size: var(--text-lg); }
.account-shell { background: var(--color-canvas); }
.account-shell__inner { max-width: 72rem; }
.account-shell .woocommerce { width: 100%; }
.account-shell .u-columns { display: grid; gap: var(--space-5); }
.account-shell .u-column1,
.account-shell .u-column2 { width: 100%; float: none; }
.woocommerce-account .account-shell #customer_login .u-column1.col-1,
.woocommerce-account .account-shell #customer_login .u-column2.col-2 { width: 100%; max-width: none; margin: 0; float: none; }
.account-shell #customer_login > div { border: 1px solid var(--color-line); padding: var(--space-5); background: #fff; }
.account-shell #customer_login h2,
.account-shell .woocommerce-MyAccount-content h2,
.account-shell .woocommerce-MyAccount-content h3 { color: var(--color-navy); font-size: var(--text-h3); }
.account-shell .woocommerce-form-login,
.account-shell .woocommerce-form-register,
.account-shell .lost_reset_password { margin: 0; border: 0; padding: 0; }
.account-shell .lost_reset_password { max-width: 42rem; border: 1px solid var(--color-line); padding: var(--space-5); background: #fff; }
.account-shell .form-row { margin: 0 0 var(--space-3); padding: 0; }
.account-shell .form-row label { display: block; margin-bottom: var(--space-1); color: var(--color-navy); font-size: var(--text-sm); font-weight: 700; }
.account-shell .required { color: #8b3a3a; text-decoration: none; }
.account-shell .input-text,
.account-shell select,
.account-shell textarea,
.account-shell .select2-container .select2-selection--single { width: 100%; min-height: 3.25rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding: 0.75rem 1rem; background: #fff; color: var(--color-ink); box-shadow: none; }
.account-shell .input-text:focus,
.account-shell select:focus,
.account-shell textarea:focus,
.account-shell .select2-container--focus .select2-selection--single { border-color: var(--color-gold); outline: 3px solid var(--color-focus); outline-offset: 2px; }
.account-shell .woocommerce-invalid .input-text,
.account-shell .woocommerce-invalid select { border-color: #8b3a3a; }
.account-shell .woocommerce-form-login__rememberme { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-1); }
.account-shell .woocommerce-LostPassword { margin-bottom: 0; }
.account-shell .button,
.account-shell button.button,
.account-shell input.button { min-height: 3.25rem; border: 1px solid var(--color-navy); border-radius: var(--radius-sm); padding: 0.75rem 1.25rem; background: var(--color-navy); color: #fff; font-family: var(--font-body); font-size: var(--text-sm); font-weight: 700; line-height: 1.2; text-decoration: none; box-shadow: none; }
.account-shell .button:hover,
.account-shell button.button:hover,
.account-shell input.button:hover { border-color: var(--color-gold); background: var(--color-navy-soft); color: #fff; }
.account-shell .button:disabled,
.account-shell button.button:disabled,
.account-shell input.button:disabled { border-color: var(--color-line); background: var(--color-ink-soft); color: #fff; opacity: 0.58; }
.account-shell .woocommerce-MyAccount-navigation { width: 100%; float: none; }
.account-shell .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; border-top: 1px solid var(--color-line); list-style: none; }
.account-shell .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--color-line); }
.account-shell .woocommerce-MyAccount-navigation a { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; padding: var(--space-2) 0; color: var(--color-navy); font-size: var(--text-sm); font-weight: 700; text-decoration: none; }
.account-shell .woocommerce-MyAccount-navigation a::after { color: var(--color-gold); content: "→"; font-family: var(--font-display); font-weight: 400; }
.account-shell .woocommerce-MyAccount-navigation li.is-active a,
.account-shell .woocommerce-MyAccount-navigation a:hover { color: var(--color-gold); }
.account-shell .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--color-ink-soft); }
.account-shell .woocommerce-MyAccount-content { width: 100%; min-width: 0; float: none; }
.account-shell .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.account-shell .woocommerce-MyAccount-content a:not(.button) { color: var(--color-navy); font-weight: 650; }
.account-shell table.shop_table { width: 100%; border-collapse: collapse; border: 0; }
.account-shell table.shop_table th,
.account-shell table.shop_table td { border: 0; border-bottom: 1px solid var(--color-line); padding: var(--space-3); background: transparent; text-align: left; vertical-align: middle; }
.account-shell table.shop_table th { color: var(--color-ink-soft); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.account-shell table.shop_table .button { min-height: 2.75rem; padding: 0.6rem 1rem; }
.account-shell mark { background: var(--color-ivory); color: var(--color-navy); }
.account-shell .woocommerce-Addresses { display: grid; gap: var(--space-4); }
.account-shell .woocommerce-Address { width: 100%; float: none; border: 1px solid var(--color-line); padding: var(--space-4); background: #fff; }
.account-shell .woocommerce-Address-title { display: flex; align-items: start; justify-content: space-between; gap: var(--space-3); }
.account-shell .woocommerce-Address-title h2,
.account-shell .woocommerce-Address-title h3 { margin-bottom: var(--space-3); }
.account-shell address { color: var(--color-ink-soft); font-style: normal; }
.account-shell fieldset { margin: var(--space-5) 0; border: 1px solid var(--color-line); padding: var(--space-4); }
.account-shell legend { padding-inline: var(--space-2); color: var(--color-navy); font-family: var(--font-display); font-size: var(--text-lg); }
.account-shell .woocommerce-order-details,
.account-shell .woocommerce-customer-details { margin-top: var(--space-6); }
.account-shell .woocommerce-order-details .order-total th,
.account-shell .woocommerce-order-details .order-total td { border-top: 1px solid var(--color-gold); color: var(--color-navy); font-size: var(--text-lg); }
.account-shell .woocommerce-order-downloads,
.account-shell .woocommerce-MyAccount-paymentMethods { margin-bottom: var(--space-5); }
.account-shell .woocommerce-info .button { margin-left: var(--space-3); }

@media (max-width: 47.99rem) {
	.account-shell #customer_login > div,
	.account-shell .lost_reset_password { padding: var(--space-4); }
	.account-shell table.shop_table_responsive thead { display: none; }
	.account-shell table.shop_table_responsive,
	.account-shell table.shop_table_responsive tbody,
	.account-shell table.shop_table_responsive tr,
	.account-shell table.shop_table_responsive td { display: block; width: 100%; }
	.account-shell table.shop_table_responsive tr { margin-bottom: var(--space-4); border: 1px solid var(--color-line); padding: var(--space-3); background: #fff; }
	.account-shell table.shop_table_responsive td { border-bottom: 1px solid rgba(11, 29, 45, 0.1); padding: var(--space-2) 0; text-align: right; }
	.account-shell table.shop_table_responsive td::before { color: var(--color-ink-soft); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
	.account-shell table.shop_table_responsive td:last-child { border-bottom: 0; }
	.account-shell table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-1); }
	.account-shell .woocommerce-info .button { display: block; float: none; margin: 0 0 var(--space-2); }
}

@media (min-width: 64rem) {
	.account-shell .woocommerce-Addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
	.account-shell .woocommerce-Addresses::before,
	.account-shell .woocommerce-Addresses::after { display: none; content: none; }
	.woocommerce-account .account-shell .woocommerce-Addresses .woocommerce-Address.col-1,
	.woocommerce-account .account-shell .woocommerce-Addresses .woocommerce-Address.col-2 { width: 100%; max-width: none; margin: 0; float: none; }
	.account-shell #customer_login.u-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: clamp(2rem, 4vw, 4rem); }
	.account-shell #customer_login.u-columns::before,
	.account-shell #customer_login.u-columns::after { display: none; content: none; }
	.account-shell #customer_login.u-columns > :only-child { width: min(100%, 34rem); grid-column: 1 / -1; justify-self: center; }
	.logged-out.woocommerce-account .account-shell .woocommerce > h2,
	.logged-out.woocommerce-account .account-shell .woocommerce > .woocommerce-form-login { width: min(100%, 34rem); margin-inline: auto; }
	.logged-in.woocommerce-account .account-shell .woocommerce { display: grid; grid-template-columns: minmax(13rem, 0.32fr) minmax(0, 1fr); align-items: start; gap: clamp(3rem, 6vw, 6rem); }
	.logged-in.woocommerce-account .account-shell .woocommerce::before,
	.logged-in.woocommerce-account .account-shell .woocommerce::after { display: none; content: none; }
}

/* Core supporting pages. */
.supporting-page { overflow: clip; }
.supporting-hero { border-bottom: 1px solid rgba(170, 138, 87, 0.35); background: var(--color-ivory); }
.supporting-hero__inner { max-width: 62rem; }
.supporting-hero h1 { max-width: 12ch; margin-bottom: var(--space-4); color: var(--color-navy); }
.supporting-hero__lead { max-width: 38rem; margin-bottom: var(--space-3); color: var(--color-navy); font-family: var(--font-display); font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.35; }
.supporting-hero__inner > p:last-child { max-width: 48rem; margin-bottom: 0; color: var(--color-ink-soft); }
.supporting-editorial .editorial-grid__copy { max-width: 40rem; }
.supporting-editorial .editorial-grid__copy > :last-child,
.supporting-intro .editorial-grid__copy > :last-child { margin-bottom: 0; }
.supporting-steps { max-width: 66rem; margin: 0; padding: 0; list-style: none; }
.supporting-steps li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); border-top: 1px solid var(--color-line); padding-block: var(--space-5); }
.supporting-steps li:last-child { border-bottom: 1px solid var(--color-line); }
.supporting-steps li > span { color: var(--color-gold); font-family: var(--font-display); font-size: var(--text-lg); }
.supporting-steps h3 { margin-bottom: var(--space-2); color: var(--color-navy); font-family: var(--font-display); font-weight: 400; }
.supporting-steps p { max-width: 38rem; margin-bottom: 0; color: var(--color-ink-soft); }
.supporting-cta__inner { max-width: 58rem; }
.supporting-cta__inner > p:not(.eyebrow) { max-width: 44rem; color: var(--color-ink-soft); }
.section--navy .supporting-cta__inner > p:not(.eyebrow) { color: #cbd5dc; }
.button--light { border-color: #fff; background: #fff; color: var(--color-navy); }
.button--light:hover { border-color: var(--color-gold); background: var(--color-ivory); color: var(--color-navy); }
.button--outline-light { border-color: rgba(255, 255, 255, 0.72); background: transparent; color: #fff; }
.button--outline-light:hover { border-color: var(--color-gold); background: transparent; color: #fff; }
.routine-guide__steps { display: grid; gap: var(--space-6); }
.routine-guide__step { display: grid; min-width: 0; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-4); border-top: 1px solid var(--color-gold); padding-top: var(--space-5); }
.routine-guide__number { color: var(--color-gold); font-family: var(--font-display); font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1; }
.routine-guide__content { min-width: 0; }
.routine-guide__content h3 { margin-bottom: var(--space-4); color: var(--color-navy); font-family: var(--font-display); font-size: clamp(1.65rem, 3vw, 2.5rem); font-weight: 400; }
.routine-guide__content p:not(.eyebrow) { max-width: 34rem; color: var(--color-ink-soft); }
.routine-guide__content .text-link { display: inline-block; margin-top: var(--space-2); }
.ingredient-chapter__grid { display: grid; gap: var(--space-6); }
.ingredient-chapter .section-heading { margin-bottom: 0; }
.ingredient-index { min-width: 0; border-top: 1px solid var(--color-gold); }
.ingredient-index article { padding-block: var(--space-5); border-bottom: 1px solid var(--color-line); }
.ingredient-index h3 { margin-bottom: var(--space-2); color: var(--color-navy); font-family: var(--font-display); font-weight: 400; }
.ingredient-index article > p { max-width: 42rem; color: var(--color-ink-soft); }
.ingredient-index__products { margin-bottom: 0; font-size: var(--text-sm); font-weight: 650; }
.ingredient-index .text-link { display: inline-block; margin-top: var(--space-2); }

@media (min-width: 64rem) {
	.routine-guide__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(3rem, 7vw, 7rem); }
	.ingredient-chapter__grid { grid-template-columns: minmax(15rem, 0.7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(3rem, 8vw, 8rem); }
	.ingredient-chapter .section-heading { position: sticky; top: var(--space-5); }
}

/* Delivery information page. */
.delivery-guide__inner { max-width: 68rem; }
.delivery-guide__item { display: grid; min-width: 0; gap: var(--space-4); border-top: 1px solid var(--color-line); padding-block: var(--space-6); }
.delivery-guide__item:last-child { border-bottom: 1px solid var(--color-line); }
.delivery-guide__item h3 { margin-bottom: 0; color: var(--color-navy); font-family: var(--font-display); font-weight: 400; }
.delivery-guide__item > p { max-width: 42rem; margin-bottom: 0; color: var(--color-ink-soft); }

@media (min-width: 64rem) {
	.delivery-guide__item { grid-template-columns: minmax(16rem, 0.75fr) minmax(0, 1.25fr); gap: clamp(3rem, 8vw, 8rem); }
}

/* Brand story, customer information and legal foundations. */
.supporting-link-list { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); }
.information-page { overflow: clip; }
.information-page__layout { max-width: 72rem; }
.information-status { margin-bottom: var(--space-6); border-left: 0.2rem solid var(--color-gold); padding: var(--space-4); background: var(--color-ivory); }
.information-status h2 { margin-bottom: var(--space-2); color: var(--color-navy); font-family: var(--font-body); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.information-status p { max-width: 58rem; margin-bottom: 0; color: var(--color-ink-soft); }
.information-sections { min-width: 0; border-top: 1px solid var(--color-gold); }
.information-section { display: grid; min-width: 0; gap: var(--space-4); border-bottom: 1px solid var(--color-line); padding-block: var(--space-6); }
.information-section h2 { margin-bottom: 0; color: var(--color-navy); font-size: clamp(1.65rem, 3vw, 2.35rem); }
.information-section h3 { margin-block: var(--space-4) var(--space-2); color: var(--color-navy); font-family: var(--font-body); font-size: var(--text-base); font-weight: 700; }
.information-section h3:first-child { margin-top: 0; }
.information-section > div { min-width: 0; max-width: 48rem; }
.information-section > div > :last-child { margin-bottom: 0; }
.information-section p { color: var(--color-ink-soft); overflow-wrap: anywhere; }
.information-section address { margin-bottom: var(--space-4); color: var(--color-ink-soft); font-style: normal; overflow-wrap: anywhere; }
.contact-guide__inner { max-width: 72rem; }
.contact-topics { display: grid; margin-bottom: var(--space-7); border-top: 1px solid var(--color-gold); }
.contact-topics > div { border-bottom: 1px solid var(--color-line); padding-block: var(--space-4); }
.contact-topics h3 { margin-bottom: var(--space-2); color: var(--color-navy); font-family: var(--font-display); font-weight: 400; }
.contact-topics p { max-width: 34rem; margin-bottom: 0; color: var(--color-ink-soft); }
.contact-method { max-width: 48rem; border-left: 0.2rem solid var(--color-gold); padding: var(--space-4); background: var(--color-ivory); overflow-wrap: anywhere; }
.contact-method h2 { font-size: var(--text-h3); }
.contact-method > :last-child,
.information-prose > :last-child { margin-bottom: 0; }

@media (min-width: 48rem) {
	.contact-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); }
}

@media (min-width: 64rem) {
	.information-section { grid-template-columns: minmax(15rem, 0.65fr) minmax(0, 1.35fr); gap: clamp(3rem, 8vw, 8rem); }
}

/* Native search and not-found experiences. */
.search-page,
.error-page { background: var(--color-canvas); }
.prestige-search-form { max-width: 42rem; margin-top: var(--space-5); }
.prestige-search-form label { display: block; margin-bottom: var(--space-2); color: var(--color-navy); font-size: var(--text-sm); font-weight: 700; }
.prestige-search-form__row { display: grid; gap: var(--space-2); }
.prestige-search-form input[type="search"] { width: 100%; min-width: 0; min-height: 3.25rem; border: 1px solid rgba(11, 29, 45, 0.4); border-radius: var(--radius-sm); padding: 0.75rem 1rem; background: #fff; color: var(--color-ink); }
.prestige-search-form input[type="search"]:focus-visible { border-color: var(--color-gold); outline-offset: 2px; }
.search-results__inner { max-width: 72rem; }
.search-results__list { border-top: 1px solid var(--color-gold); }
.search-result { min-width: 0; border-bottom: 1px solid var(--color-line); padding-block: var(--space-5); }
.search-result__media { display: block; width: min(100%, 18rem); aspect-ratio: 1; overflow: hidden; background: #fff; }
.search-result__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.search-result__content { min-width: 0; }
.search-result--has-image .search-result__content { margin-top: var(--space-4); }
.search-result h3 { margin-bottom: var(--space-3); color: var(--color-navy); font-size: clamp(1.55rem, 4vw, 2.25rem); overflow-wrap: anywhere; }
.search-result h3 a { text-decoration: none; }
.search-result h3 a:hover { color: var(--color-blue-dark); }
.search-result__content > p:last-child { max-width: 46rem; margin-bottom: 0; color: var(--color-ink-soft); }
.search-results .navigation.pagination { margin-top: var(--space-6); }
.search-results .nav-links { display: flex; flex-wrap: wrap; gap: var(--space-1); }
.search-results .page-numbers { display: grid; min-width: 2.75rem; min-height: 2.75rem; place-items: center; border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding-inline: var(--space-2); background: #fff; color: var(--color-navy); text-decoration: none; }
.search-results .page-numbers.current,
.search-results a.page-numbers:hover { border-color: var(--color-navy); background: var(--color-navy); color: #fff; }
.search-empty__inner { max-width: 58rem; }
.search-empty h2 { max-width: 20ch; color: var(--color-navy); }
.error-page__hero { min-height: clamp(32rem, 62vh, 46rem); display: flex; align-items: center; }
.error-page__actions { max-width: 48rem; }

@media (min-width: 36rem) {
	.prestige-search-form__row { grid-template-columns: minmax(0, 1fr) auto; }
}

@media (min-width: 48rem) {
	.search-result--has-image { display: grid; grid-template-columns: 10rem minmax(0, 1fr); align-items: center; gap: var(--space-5); }
	.search-result__media { width: 10rem; }
	.search-result--has-image .search-result__content { margin-top: 0; }
}
