:root {
	--beauty-color-background: #FBFBF9;
	--beauty-color-surface: #FFFFFF;
	--beauty-color-text: #1C1917;
	--beauty-color-muted: #6D645E;
	--beauty-color-accent: #A76F55;
	--beauty-color-accent-dark: #754936;
	--beauty-color-border: #E7E0D8;

	--beauty-font-heading: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Baskerville, Georgia, "Times New Roman", serif;
	--beauty-font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	--beauty-font-size-xs: clamp(0.6875rem, 0.665rem + 0.1vw, 0.75rem);
	--beauty-font-size-sm: clamp(0.8125rem, 0.78rem + 0.14vw, 0.9rem);
	--beauty-font-size-base: clamp(0.96875rem, 0.92rem + 0.2vw, 1.0625rem);
	--beauty-font-size-lg: clamp(1.0625rem, 0.99rem + 0.3vw, 1.25rem);
	--beauty-font-size-xl: clamp(1.3rem, 1.12rem + 0.72vw, 1.75rem);
	--beauty-font-size-2xl: clamp(1.65rem, 1.34rem + 1.2vw, 2.35rem);
	--beauty-font-size-3xl: clamp(2.1rem, 1.58rem + 2vw, 3.25rem);
	--beauty-font-size-4xl: clamp(2.75rem, 1.9rem + 3.2vw, 4.75rem);
	--beauty-font-size-display: clamp(3.65rem, 2.25rem + 5.5vw, 7.25rem);

	--beauty-container: min(calc(100% - 2rem), 76rem);
	--beauty-container-wide: min(calc(100% - 2rem), 92rem);

	--beauty-space-xs: clamp(0.45rem, 0.41rem + 0.16vw, 0.6rem);
	--beauty-space-sm: clamp(0.7rem, 0.62rem + 0.28vw, 0.9rem);
	--beauty-space-md: clamp(1rem, 0.88rem + 0.42vw, 1.3rem);
	--beauty-space-lg: clamp(1.5rem, 1.22rem + 1vw, 2.15rem);
	--beauty-space-xl: clamp(2.2rem, 1.65rem + 2vw, 3.4rem);
	--beauty-space-2xl: clamp(3.5rem, 2.45rem + 3.8vw, 5.8rem);
	--beauty-space-3xl: clamp(5.25rem, 3.25rem + 7vw, 9.5rem);

	--beauty-radius-sm: 0;
	--beauty-radius-md: 0.25rem;
	--beauty-transition: 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
	--beauty-shadow-soft: 0 1.25rem 3.25rem color-mix(in srgb, var(--beauty-color-text) 7%, transparent);
	--beauty-header-height: 5.75rem;
}

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

html {
	max-width: 100%;
	min-height: 100%;
	scroll-behavior: smooth;
	line-height: 1.5;
	background: var(--beauty-color-background);
	-webkit-text-size-adjust: 100%;
}

body {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
	margin: 0;
	max-width: 100%;
	overflow-x: hidden;
	background: var(--beauty-color-background);
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-body);
	font-size: var(--beauty-font-size-base);
	font-weight: 400;
	letter-spacing: -0.012em;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.beauty-menu-open {
	overflow: hidden;
}

body.beauty-menu-open::before {
	position: fixed;
	inset: 0;
	z-index: 29;
	background: color-mix(in srgb, var(--beauty-color-text) 38%, transparent);
	content: "";
}

::selection {
	background: var(--beauty-color-accent);
	color: var(--beauty-color-surface);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 var(--beauty-space-md);
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-heading);
	font-weight: 400;
	letter-spacing: -0.042em;
	line-height: 0.98;
	text-wrap: balance;
}

h1 {
	font-size: var(--beauty-font-size-4xl);
}

h2 {
	font-size: var(--beauty-font-size-3xl);
}

h3 {
	font-size: var(--beauty-font-size-2xl);
}

h4 {
	font-size: var(--beauty-font-size-xl);
}

p {
	margin: 0 0 var(--beauty-space-md);
	line-height: 1.7;
}

ul,
ol {
	margin-top: 0;
}

a {
	color: inherit;
	text-decoration-color: color-mix(in srgb, currentColor 34%, transparent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	transition:
		color var(--beauty-transition),
		border-color var(--beauty-transition),
		background-color var(--beauty-transition),
		opacity var(--beauty-transition),
		transform var(--beauty-transition);
}

a:hover,
a:focus-visible {
	color: var(--beauty-color-accent-dark);
}

:focus-visible {
	outline: 2px solid var(--beauty-color-accent-dark);
	outline-offset: 0.3rem;
}

button,
input,
textarea,
select {
	font: inherit;
}

button {
	cursor: pointer;
}

input,
textarea,
select {
	width: 100%;
	border: 1px solid var(--beauty-color-border);
	border-radius: var(--beauty-radius-sm);
	background: var(--beauty-color-surface);
	color: var(--beauty-color-text);
}

input,
select {
	min-height: 3.25rem;
	padding: 0.8rem 1rem;
}

textarea {
	min-height: 9rem;
	padding: 1rem;
	resize: vertical;
}

img,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

hr {
	height: 1px;
	border: 0;
	background: var(--beauty-color-border);
}

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

.screen-reader-text:focus,
.skip-link:focus {
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 100000;
	display: block;
	width: auto;
	height: auto;
	padding: 0.8rem 1rem;
	margin: 0;
	clip: auto;
	white-space: normal;
	background: var(--beauty-color-text);
	color: var(--beauty-color-surface);
	outline: 1px solid var(--beauty-color-surface);
}

.beauty-container,
.site-main > .page-header,
.site-main > article,
.site-main > section,
.site-main > .post-navigation,
.site-main > .posts-navigation,
.site-main > .comments-area {
	width: var(--beauty-container);
	margin-right: auto;
	margin-left: auto;
}

.beauty-container-wide {
	width: var(--beauty-container-wide);
	margin-right: auto;
	margin-left: auto;
}

.beauty-section {
	padding-top: var(--beauty-space-3xl);
	padding-bottom: var(--beauty-space-3xl);
}

.beauty-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 var(--beauty-space-md);
	color: var(--beauty-color-accent-dark);
	font-size: var(--beauty-font-size-xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.beauty-eyebrow::before {
	width: 1.75rem;
	height: 1px;
	background: currentColor;
	content: "";
}

.beauty-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	min-height: 3.15rem;
	padding: 0.9rem 1.45rem;
	border: 1px solid var(--beauty-color-accent-dark);
	border-radius: var(--beauty-radius-sm);
	background: var(--beauty-color-accent-dark);
	color: var(--beauty-color-surface);
	font-size: var(--beauty-font-size-xs);
	font-weight: 700;
	letter-spacing: 0.095em;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.beauty-button:hover,
.beauty-button:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	background: var(--beauty-color-text);
	border-color: var(--beauty-color-text);
	color: var(--beauty-color-surface);
	transform: translateY(-1px);
}

.beauty-button--outline {
	background: transparent;
	color: var(--beauty-color-text);
}

.beauty-button--outline:hover,
.beauty-button--outline:focus-visible {
	background: var(--beauty-color-text);
	color: var(--beauty-color-surface);
}

.beauty-stack {
	display: flex;
	flex-direction: column;
	gap: var(--beauty-space-md);
}

.beauty-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
	gap: var(--beauty-space-xl);
}

/* Announcement */

.site-announcement {
	position: relative;
	z-index: 32;
	background: var(--beauty-color-text);
	color: var(--beauty-color-surface);
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-surface) 14%, transparent);
}

.site-announcement__inner {
	padding-top: 0.62rem;
	padding-bottom: 0.62rem;
	font-size: 0.675rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.35;
	text-align: center;
	text-transform: uppercase;
}

/* Header */

.site-header {
	position: relative;
	z-index: 31;
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 72%,
		transparent
	);
	box-shadow:
		0 0.85rem 2rem rgba(58, 38, 27, 0.075),
		0 0.2rem 0.5rem rgba(58, 38, 27, 0.045);
	transition:
		background-color var(--beauty-transition),
		box-shadow var(--beauty-transition);
}

.site-header--sticky {
	position: sticky;
	top: 0;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	box-shadow:
		0 1rem 2.4rem rgba(58, 38, 27, 0.09),
		0 0.2rem 0.55rem rgba(58, 38, 27, 0.05);
}

.admin-bar .site-header--sticky {
	top: 32px;
}

.site-header__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--beauty-space-md);
	min-width: 0;
	min-height: 4.75rem;
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
}

.site-branding {
	display: flex;
	align-items: center;
	min-width: 0;
}

.site-title {
	margin: 0;
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.5rem, 1.25rem + 0.7vw, 2rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.95;
}

.site-title a {
	display: inline-flex;
	color: var(--beauty-color-text);
	text-decoration: none;
}

.site-title a:hover,
.site-title a:focus-visible {
	color: var(--beauty-color-accent-dark);
}

.custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.custom-logo {
	width: auto;
	max-width: min(14rem, 56vw);
	max-height: 3.15rem;
	object-fit: contain;
}

.site-navigation-toggle {
	position: relative;
	z-index: 33;
	justify-self: end;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	padding: 0;
	border: 1px solid var(--beauty-color-border);
	border-radius: 50%;
	background: var(--beauty-color-surface);
	color: var(--beauty-color-text);
	transition:
		background-color var(--beauty-transition),
		border-color var(--beauty-transition),
		color var(--beauty-transition);
}

.site-navigation-toggle:hover,
.site-navigation-toggle:focus-visible {
	background: var(--beauty-color-text);
	border-color: var(--beauty-color-text);
	color: var(--beauty-color-surface);
}

.site-navigation-toggle__line,
.site-navigation-toggle__line::before,
.site-navigation-toggle__line::after {
	display: block;
	width: 1.05rem;
	height: 1px;
	background: currentColor;
	transition:
		transform var(--beauty-transition),
		opacity var(--beauty-transition),
		background-color var(--beauty-transition);
}

.site-navigation-toggle__line {
	position: relative;
}

.site-navigation-toggle__line::before,
.site-navigation-toggle__line::after {
	position: absolute;
	left: 0;
	content: "";
}

.site-navigation-toggle__line::before {
	top: -0.36rem;
}

.site-navigation-toggle__line::after {
	top: 0.36rem;
}

.site-navigation-toggle[aria-expanded="true"] .site-navigation-toggle__line {
	background: transparent;
}

.site-navigation-toggle[aria-expanded="true"] .site-navigation-toggle__line::before {
	transform: translateY(0.36rem) rotate(45deg);
}

.site-navigation-toggle[aria-expanded="true"] .site-navigation-toggle__line::after {
	transform: translateY(-0.36rem) rotate(-45deg);
}

.site-navigation {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 32;
	display: block;
	width: min(28rem, calc(100vw - 1.5rem));
	max-width: calc(100vw - 1.5rem);
	padding: 7rem 1.5rem var(--beauty-space-xl);
	overflow-y: auto;
	background: var(--beauty-color-surface);
	border-left: 1px solid var(--beauty-color-border);
	box-shadow: var(--beauty-shadow-soft);
	opacity: 0;
	pointer-events: none;
	transform: translateX(100%);
	transition:
		transform var(--beauty-transition),
		opacity var(--beauty-transition);
}

.admin-bar .site-navigation {
	top: 32px;
}

.site-navigation.is-open {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(0);
}

.primary-menu,
.footer-menu,
.site-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0;
	margin: 0;
	list-style: none;
}

.primary-menu > li {
	border-bottom: 1px solid var(--beauty-color-border);
}

.primary-menu a,
.footer-menu a,
.site-footer__contact a {
	color: var(--beauty-color-text);
	text-decoration: none;
}

.primary-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-width: 0;
	padding: 1rem 0;
	font-family: var(--beauty-font-heading);
	font-size: var(--beauty-font-size-xl);
	font-weight: 400;
	letter-spacing: -0.025em;
	overflow-wrap: anywhere;
}

.primary-menu a:hover,
.primary-menu a:focus-visible,
.current-menu-item > a,
.current_page_item > a {
	color: var(--beauty-color-accent-dark);
}

.site-header__cta {
	grid-column: 1 / -1;
	justify-self: stretch;
	width: 100%;
}

/* Main content */

.site-main {
	width: 100%;
	min-height: 0;
	flex: 1 0 auto;
	background: var(--beauty-color-background);
}

.site-main > article,
.site-main > section,
.site-main > .page-header,
.site-main > .comments-area {
	padding-top: var(--beauty-space-2xl);
	padding-bottom: var(--beauty-space-2xl);
}

.site-main--full-width > article,
.site-main--full-width > section,
.site-main > .elementor-full-width-page,
.site-main > .type-page:has(.elementor) {
	width: 100%;
	max-width: none;
	padding-top: 0;
	padding-bottom: 0;
}

.entry-header {
	margin-bottom: var(--beauty-space-xl);
}

.entry-title {
	max-width: 14ch;
}

.entry-meta {
	color: var(--beauty-color-muted);
	font-size: var(--beauty-font-size-sm);
}

.entry-content {
	color: var(--beauty-color-text);
}

.entry-content > * {
	max-width: var(--beauty-container);
	margin-right: auto;
	margin-left: auto;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.entry-content > blockquote {
	max-width: min(calc(100% - 2rem), 46rem);
}

.entry-content > .alignwide {
	max-width: var(--beauty-container-wide);
}

.entry-content > .alignfull,
.entry-content > .elementor,
.entry-content--full-width > * {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}

.entry-content blockquote {
	padding: var(--beauty-space-lg) 0 var(--beauty-space-lg) var(--beauty-space-lg);
	border-left: 1px solid var(--beauty-color-accent);
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-heading);
	font-size: var(--beauty-font-size-2xl);
	line-height: 1.15;
}

.alignwide,
.alignfull {
	max-width: 100%;
}

.elementor-section,
.elementor-container,
.e-con {
	max-width: 100%;
}

.elementor-widget-container {
	min-width: 0;
}

/* Archive and search foundations */

.page-header {
	border-bottom: 1px solid var(--beauty-color-border);
}

.archive-description,
.search-results .page-header p {
	max-width: 42rem;
	color: var(--beauty-color-muted);
}

.post-navigation,
.posts-navigation {
	padding-top: var(--beauty-space-xl);
	padding-bottom: var(--beauty-space-xl);
	border-top: 1px solid var(--beauty-color-border);
}

.nav-links {
	display: grid;
	gap: var(--beauty-space-md);
}

.comments-area {
	margin-top: var(--beauty-space-2xl);
	border-top: 1px solid var(--beauty-color-border);
}

/* Footer */

.site-footer {
	position: relative;
	overflow: hidden;
	background: #2D201C;
	color: #F8F2EB;
	border-top: 1px solid rgba(167, 111, 85, 0.24);
}

.site-footer::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 1px;
	background: rgba(195, 135, 98, 0.2);
	content: "";
}

.site-footer a {
	color: inherit;
}

.site-footer__inner::before {
	position: absolute;
	left: 50%;
	bottom: -5rem;
	transform: translateX(-50%);
	width: min(48rem, 72vw);
	height: 11rem;
	background: radial-gradient(
		ellipse at center,
		rgba(167, 111, 85, 0.1) 0%,
		rgba(167, 111, 85, 0.045) 42%,
		rgba(167, 111, 85, 0) 76%
	);
	filter: blur(24px);
	content: "";
	pointer-events: none;
}

.site-footer__inner {
	position: relative;
	display: grid;
	gap: var(--beauty-space-2xl);
	padding-top: var(--beauty-space-3xl);
	padding-bottom: var(--beauty-space-xl);
}

.site-footer__brand {
	max-width: 48rem;
}

.site-footer__brand .site-title {
	font-size: clamp(2.8rem, 1.8rem + 4vw, 5.75rem);
	letter-spacing: -0.055em;
	line-height: 0.9;
}

.site-footer__description {
	max-width: 38rem;
	margin: var(--beauty-space-lg) 0 0;
	color: color-mix(in srgb, var(--beauty-color-surface) 70%, transparent);
	font-size: var(--beauty-font-size-lg);
	line-height: 1.7;
}

.site-footer__links {
	display: grid;
	gap: var(--beauty-space-xl);
	padding-top: var(--beauty-space-lg);
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-surface) 16%, transparent);
}

.site-footer .site-title a,
.site-footer__contact a,
.footer-menu a {
	color: var(--beauty-color-surface);
}

.footer-menu,
.site-footer__contact {
	gap: 0.8rem 1.35rem;
}

.footer-menu a,
.site-footer__contact a {
	position: relative;
	display: inline-flex;
	width: fit-content;
	color: color-mix(in srgb, var(--beauty-color-surface) 78%, transparent);
	font-size: var(--beauty-font-size-sm);
}

.footer-menu a:hover,
.footer-menu a:focus-visible,
.site-footer__contact a:hover,
.site-footer__contact a:focus-visible {
	color: var(--beauty-color-surface);
}

.site-footer__copyright {
	margin: 0;
	padding-top: var(--beauty-space-lg);
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-surface) 16%, transparent);
	color: color-mix(in srgb, var(--beauty-color-surface) 56%, transparent);
	font-size: var(--beauty-font-size-xs);
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.site-footer__cta {
	justify-self: start;
	border-color: color-mix(in srgb, var(--beauty-color-surface) 62%, transparent);
	background: transparent;
	color: var(--beauty-color-surface);
}

.site-footer__cta:hover,
.site-footer__cta:focus-visible {
	background: var(--beauty-color-surface);
	border-color: var(--beauty-color-surface);
	color: var(--beauty-color-text);
}

/* Responsive */

@media (min-width: 64rem) {
	body.beauty-menu-open {
		overflow: auto;
	}

	body.beauty-menu-open::before {
		display: none;
	}

	.site-header__inner {
		grid-template-columns: auto minmax(0, 1fr) auto;
		min-height: var(--beauty-header-height);
		padding-top: 0.65rem;
		padding-bottom: 0.65rem;
	}

	.site-navigation-toggle {
		display: none;
	}

	.site-navigation {
		position: static;
		top: auto;
		z-index: auto;
		display: block;
		width: auto;
		padding: 0;
		overflow: visible;
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.primary-menu {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: clamp(1.15rem, 2.2vw, 2.4rem);
	}

	.primary-menu > li {
		border: 0;
	}

	.primary-menu a {
		position: relative;
		padding: 0.65rem 0;
		font-family: var(--beauty-font-body);
		font-size: var(--beauty-font-size-xs);
		font-weight: 700;
		letter-spacing: 0.085em;
		text-transform: uppercase;
	}

	.primary-menu a::after {
		position: absolute;
		right: 0;
		bottom: 0.2rem;
		left: 0;
		height: 1px;
		background: currentColor;
		content: "";
		transform: scaleX(0);
		transform-origin: right;
		transition: transform var(--beauty-transition);
	}

	.primary-menu a:hover::after,
	.primary-menu a:focus-visible::after,
	.current-menu-item > a::after,
	.current_page_item > a::after {
		transform: scaleX(1);
		transform-origin: left;
	}

	.site-header__cta {
		grid-column: auto;
		justify-self: end;
		width: auto;
	}

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

	.footer-menu,
	.site-footer__contact {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.site-footer__inner {
		grid-template-columns: minmax(18rem, 1.15fr) minmax(20rem, 0.85fr);
		align-items: start;
	}

	.site-footer__links {
		align-self: end;
		justify-items: end;
		padding-top: 0;
		border-top: 0;
		text-align: right;
	}

	.site-footer__cta {
		justify-self: end;
	}

	.site-footer__copyright {
		grid-column: 1 / -1;
	}
}

@media (min-width: 80rem) {
	.site-header__inner {
		grid-template-columns: minmax(13rem, 1fr) auto minmax(13rem, 1fr);
	}

	.site-branding {
		justify-self: start;
	}

	.site-header__cta {
		justify-self: end;
	}
}

@media (max-width: 47.9375rem) {
	:root {
		--beauty-container: min(calc(100% - 1.5rem), 76rem);
		--beauty-container-wide: min(calc(100% - 1.5rem), 92rem);
	}

	.admin-bar .site-header--sticky {
		top: 46px;
	}

	.site-header__cta {
		margin-top: var(--beauty-space-sm);
	}

	.site-footer__brand .site-title {
		font-size: clamp(2.65rem, 12vw, 4.4rem);
	}
}

@media (max-width: 782px) {
	.admin-bar .site-navigation {
		top: 46px;
	}
}

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

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

/* Journal, Search and Error States */

:root {
	--beauty-journal-line: rgba(112, 70, 53, 0.12);
	--beauty-section-width: min(calc(100% - (2 * var(--beauty-space-md))), 73.75rem);
	--beauty-section-padding: clamp(4.5rem, 8vw, 8rem);
	--beauty-section-padding-compact: clamp(3rem, 6vw, 5.5rem);
}

.beauty-blog-main,
.beauty-search-main,
.beauty-archive-main {
	background: #FBFBF9;
}

.beauty-blog-header {
	width: var(--beauty-section-width);
	max-width: var(--beauty-section-width);
	padding-top: clamp(4.25rem, 7vw, 6.5rem);
	padding-bottom: clamp(2.25rem, 4.5vw, 4rem);
	border-bottom: 1px solid var(--beauty-journal-line);
}

.beauty-blog-header h1,
.error-404 .page-title {
	max-width: 12ch;
	margin-bottom: 0;
	font-size: clamp(3.25rem, 6vw, 6.5rem);
	line-height: 0.92;
}

.beauty-blog-header__description {
	max-width: 38rem;
	margin-top: var(--beauty-space-lg);
	color: #6D645E;
	font-size: clamp(1rem, 0.96rem + 0.16vw, 1.1rem);
	line-height: 1.75;
}

.beauty-journal-featured-section,
.beauty-journal-latest {
	width: var(--beauty-section-width);
	max-width: var(--beauty-section-width);
}

.beauty-journal-featured-section {
	padding-top: var(--beauty-section-padding-compact);
	padding-bottom: var(--beauty-section-padding);
}

.beauty-journal-featured {
	display: grid;
	grid-template-columns: minmax(0, 0.58fr) minmax(20rem, 0.42fr);
	gap: clamp(2.5rem, 6vw, 6.5rem);
	align-items: center;
}

.beauty-journal-featured__media,
.beauty-journal-card__media {
	margin: 0;
	overflow: hidden;
	background: #F7F5F1;
	border: 1px solid var(--beauty-journal-line);
}

.beauty-journal-featured__media a,
.beauty-journal-card__media a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.beauty-journal-featured__media img,
.beauty-journal-card__media img,
.beauty-journal-placeholder {
	display: block;
	width: 100%;
	object-fit: cover;
}

.beauty-journal-featured__media img,
.beauty-journal-placeholder {
	aspect-ratio: 5 / 4;
}

.beauty-journal-placeholder {
	display: grid;
	place-items: center;
	background:
		linear-gradient(135deg, rgba(112, 70, 53, 0.08), transparent 42%),
		#F7F5F1;
	color: #704635;
	font-family: var(--beauty-font-heading);
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: 1;
}

.beauty-journal-placeholder span {
	opacity: 0.42;
}

.beauty-journal-featured__body {
	min-width: 0;
}

.beauty-journal-featured__title {
	max-width: 11.5ch;
	margin: clamp(1.1rem, 2vw, 1.6rem) 0 0;
	font-size: clamp(3rem, 4.7vw, 5.7rem);
	line-height: 0.9;
}

.beauty-journal-featured__title a,
.beauty-journal-card__title a {
	color: inherit;
	text-decoration: none;
}

.beauty-journal-featured__title a:hover,
.beauty-journal-featured__title a:focus-visible,
.beauty-journal-card__title a:hover,
.beauty-journal-card__title a:focus-visible {
	color: #704635;
}

.beauty-journal-featured__excerpt {
	max-width: 34rem;
	margin-top: clamp(1.25rem, 2.2vw, 1.8rem);
	color: #6D645E;
	font-size: clamp(1rem, 0.96rem + 0.14vw, 1.08rem);
	line-height: 1.78;
}

.beauty-journal-featured__link {
	margin-top: clamp(1.5rem, 2.8vw, 2.4rem);
}

.beauty-journal-latest {
	padding-top: var(--beauty-section-padding-compact);
	padding-bottom: clamp(2.75rem, 5vw, 4.75rem);
	border-top: 1px solid var(--beauty-journal-line);
}

/*
 * The archive remains completely hidden until the visitor chooses to open it.
 * Native details/summary keeps the control keyboard accessible without
 * requiring a separate JavaScript dependency.
 */
.beauty-journal-archive-toggle {
	width: var(--beauty-section-width);
	max-width: var(--beauty-section-width);
	padding-bottom: var(--beauty-section-padding-compact);
	margin-right: auto;
	margin-left: auto;
}

.beauty-journal-archive-toggle > summary {
	display: flex;
	width: fit-content;
	min-width: min(100%, 14rem);
	min-height: 3.15rem;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	padding: 0.9rem 1.45rem;
	margin-right: auto;
	margin-left: auto;
	border: 1px solid var(--beauty-color-accent-dark);
	background: transparent;
	color: var(--beauty-color-text);
	font-size: var(--beauty-font-size-xs);
	font-weight: 700;
	letter-spacing: 0.095em;
	line-height: 1.1;
	list-style: none;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background-color var(--beauty-transition),
		border-color var(--beauty-transition),
		color var(--beauty-transition),
		transform var(--beauty-transition);
}

.beauty-journal-archive-toggle > summary::-webkit-details-marker {
	display: none;
}

.beauty-journal-archive-toggle > summary:hover,
.beauty-journal-archive-toggle > summary:focus-visible {
	border-color: var(--beauty-color-text);
	background: var(--beauty-color-text);
	color: var(--beauty-color-surface);
	transform: translateY(-1px);
}

.beauty-journal-archive-toggle__label--open {
	display: none;
}

.beauty-journal-archive-toggle[open] .beauty-journal-archive-toggle__label--closed {
	display: none;
}

.beauty-journal-archive-toggle[open] .beauty-journal-archive-toggle__label--open {
	display: inline;
}

.beauty-journal-archive-toggle__icon {
	position: relative;
	display: inline-block;
	width: 0.8rem;
	height: 0.8rem;
	flex: 0 0 0.8rem;
}

.beauty-journal-archive-toggle__icon::before,
.beauty-journal-archive-toggle__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.8rem;
	height: 1px;
	background: currentColor;
	content: "";
	transform: translate(-50%, -50%);
	transition: transform var(--beauty-transition);
}

.beauty-journal-archive-toggle__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.beauty-journal-archive-toggle[open] .beauty-journal-archive-toggle__icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.beauty-journal-all {
	width: 100%;
	max-width: none;
	padding-top: var(--beauty-section-padding-compact);
	padding-bottom: 0;
	margin-top: var(--beauty-section-padding-compact);
	border-top: 1px solid var(--beauty-journal-line);
	scroll-margin-top: calc(var(--beauty-header-height) + 2rem);
}

.beauty-journal-archive-toggle[open] .beauty-journal-all {
	animation: beauty-journal-archive-reveal 260ms ease both;
}

@keyframes beauty-journal-archive-reveal {
	from {
		opacity: 0;
		transform: translateY(0.75rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.beauty-journal-all__header {
	display: grid;
	grid-template-columns: minmax(12rem, 0.34fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: end;
	margin-bottom: clamp(2rem, 4vw, 3.75rem);
}

.beauty-journal-all__header h2 {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(2.6rem, 4.2vw, 5rem);
	line-height: 0.92;
}

.beauty-journal-all__grid {
	padding-bottom: 0;
}

.beauty-journal-latest__header {
	display: grid;
	grid-template-columns: minmax(12rem, 0.34fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: end;
	margin-bottom: clamp(2rem, 4vw, 3.75rem);
}

.beauty-journal-latest__header h2 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.6rem, 4.2vw, 5rem);
	line-height: 0.92;
}

.beauty-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
	width: 100%;
	padding: 0;
}

.beauty-journal-card,
.beauty-post-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	background: #FFFFFF;
	border: 1px solid var(--beauty-journal-line);
}

.beauty-journal-card {
	transition:
		border-color var(--beauty-transition),
		background-color var(--beauty-transition);
}

.beauty-journal-card:hover,
.beauty-journal-card:focus-within {
	border-color: rgba(112, 70, 53, 0.24);
	background: #F7F5F1;
}

.beauty-journal-card__media {
	border-width: 0 0 1px;
}

.beauty-journal-card__media img,
.beauty-journal-card__media .beauty-journal-placeholder {
	aspect-ratio: 4 / 3;
}

.beauty-journal-card__body {
	display: flex;
	min-height: 20rem;
	flex-direction: column;
	gap: var(--beauty-space-md);
	padding: clamp(1.25rem, 2vw, 1.75rem);
}

.beauty-journal-card__title,
.beauty-post-card .entry-title {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(1.85rem, 2.3vw, 2.75rem);
	line-height: 1;
}

.beauty-post-card .entry-title a {
	text-decoration: none;
}

.entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: center;
	margin-bottom: 0;
	color: #6D645E;
	font-size: var(--beauty-font-size-xs);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.entry-category {
	color: #704635;
	text-decoration: none;
}

.post-thumbnail {
	overflow: hidden;
	background: #F7F5F1;
	border: 1px solid var(--beauty-journal-line);
}

.post-thumbnail img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.beauty-journal-card__excerpt,
.beauty-post-card .entry-content {
	color: #6D645E;
	font-size: var(--beauty-font-size-sm);
	line-height: 1.72;
}

.beauty-journal-card__excerpt p,
.beauty-post-card .entry-content p {
	margin: 0;
}

.read-article-link {
	display: inline-flex;
	width: fit-content;
	margin-top: auto;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid currentColor;
	color: #704635;
	font-size: var(--beauty-font-size-xs);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.beauty-journal-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: center;
	padding: clamp(2.25rem, 4vw, 3.5rem);
	margin-bottom: var(--beauty-section-padding-compact);
	background: #F7F5F1;
	border: 1px solid var(--beauty-journal-line);
}

.beauty-journal-cta h2 {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(2rem, 3vw, 3.4rem);
	line-height: 0.98;
}

.beauty-journal-cta p {
	max-width: 38rem;
	margin: 0.85rem 0 0;
	color: #6D645E;
	line-height: 1.7;
}

.beauty-journal-empty {
	padding-top: var(--beauty-section-padding);
	padding-bottom: var(--beauty-section-padding);
}

.beauty-journal-empty h2 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.6rem, 5vw, 5rem);
	line-height: 0.92;
}

.beauty-journal-empty .beauty-button {
	margin-top: var(--beauty-space-lg);
}

.beauty-single-main {
	flex: 0 0 auto;
	background: var(--beauty-color-background);
}

.beauty-single-main > .beauty-single-article {
	width: 100%;
	max-width: none;
	padding: 0;
}

.beauty-single-header {
	padding-top: clamp(4.25rem, 7vw, 6.75rem);
	padding-bottom: clamp(2.25rem, 4vw, 3.75rem);
}

.beauty-single-header .entry-meta {
	max-width: 46rem;
	margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

.beauty-single-header .entry-title {
	max-width: min(100%, 14.5ch);
	margin-bottom: 0;
	font-size: clamp(3.15rem, 5.3vw, 6.15rem);
	line-height: 0.95;
	overflow-wrap: break-word;
}

.beauty-single-featured {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 0;
	margin-bottom: clamp(2.5rem, 5vw, 4.75rem);
	overflow: visible;
	background: transparent;
	border: 0;
}

.beauty-single-featured img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: min(72vh, 48rem);
	margin-right: auto;
	margin-left: auto;
	aspect-ratio: auto;
	object-fit: contain;
}

.beauty-single-body {
	padding-bottom: clamp(3rem, 6vw, 5.5rem);
}

.beauty-single-content {
	width: min(100%, 46rem);
	margin-right: auto;
	margin-left: auto;
	color: var(--beauty-color-text);
	font-size: clamp(1rem, 0.96rem + 0.16vw, 1.08rem);
	line-height: 1.78;
	overflow-wrap: anywhere;
}

.beauty-single-content > * {
	max-width: 100%;
	margin-right: 0;
	margin-left: 0;
}

.beauty-single-content > * + * {
	margin-top: var(--beauty-space-md);
}

.beauty-single-content p {
	margin-bottom: 0;
}

.beauty-single-content h2,
.beauty-single-content h3 {
	max-width: 15ch;
	margin-top: clamp(2rem, 4vw, 3.25rem);
	margin-bottom: var(--beauty-space-md);
	line-height: 1.05;
}

.beauty-single-content h2 {
	font-size: clamp(2rem, 3vw, 3rem);
}

.beauty-single-content h3 {
	font-size: clamp(1.55rem, 2vw, 2.15rem);
}

.beauty-single-content ul,
.beauty-single-content ol {
	padding-left: 1.35rem;
	margin-bottom: 0;
}

.beauty-single-content li + li {
	margin-top: 0.6rem;
}

.beauty-single-content blockquote {
	max-width: 100%;
	padding: clamp(1.5rem, 3vw, 2.25rem) 0 clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 3vw, 2rem);
	margin-top: clamp(2rem, 4vw, 3rem);
	margin-bottom: clamp(2rem, 4vw, 3rem);
	border-left: 1px solid var(--beauty-color-accent);
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.55rem, 2.4vw, 2.4rem);
	line-height: 1.18;
}

.beauty-single-content a {
	color: var(--beauty-color-accent-dark);
	text-decoration-thickness: 1px;
	overflow-wrap: anywhere;
}

.beauty-single-content img {
	width: auto;
	max-width: 100%;
	height: auto;
}

.beauty-single-content figure {
	margin-top: clamp(2rem, 4vw, 3.25rem);
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.beauty-single-content figcaption {
	margin-top: 0.75rem;
	color: var(--beauty-color-muted);
	font-size: var(--beauty-font-size-sm);
	line-height: 1.5;
}

.beauty-single-footer {
	padding-top: clamp(2rem, 4vw, 3.5rem);
	padding-bottom: clamp(3.75rem, 7vw, 6.75rem);
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-single-nav {
	display: grid;
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--beauty-color-border);
	background: var(--beauty-color-border);
}

.beauty-single-nav--items-1 {
	grid-template-columns: minmax(0, 1fr);
}

.beauty-single-nav--items-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.beauty-single-nav--items-3 {
	grid-template-columns: minmax(11rem, 0.72fr) repeat(2, minmax(0, 1fr));
}

.beauty-single-nav__item {
	display: flex;
	min-width: 0;
	min-height: 8.5rem;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--beauty-space-md);
	padding: clamp(1.2rem, 2vw, 1.65rem);
	background: var(--beauty-color-surface);
	color: var(--beauty-color-text);
	text-decoration: none;
}

.beauty-single-nav__item--back {
	min-height: 0;
	justify-content: center;
}

.beauty-single-nav__item:hover,
.beauty-single-nav__item:focus-visible {
	background: color-mix(in srgb, var(--beauty-color-surface) 78%, var(--beauty-color-background));
	color: var(--beauty-color-accent-dark);
}

.beauty-single-nav__item span {
	color: var(--beauty-color-accent-dark);
	font-size: var(--beauty-font-size-xs);
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1.3;
	text-transform: uppercase;
}

.beauty-single-nav__label {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
}

.beauty-single-nav__arrow {
	display: inline-block;
	font-family: var(--beauty-font-body);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	transform: translateY(-0.03em);
}

.beauty-single-nav__item strong {
	display: block;
	max-width: 20ch;
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.35rem, 1.9vw, 2rem);
	font-weight: 400;
	line-height: 1.08;
	overflow-wrap: break-word;
}

.beauty-single-nav__item--next {
	text-align: right;
}

.beauty-posts-navigation {
	padding-bottom: var(--beauty-space-2xl);
}

.beauty-single-main .comments-area {
	width: var(--beauty-container);
	max-width: var(--beauty-container);
	padding-top: clamp(2rem, 4vw, 3.25rem);
	padding-bottom: clamp(3rem, 6vw, 5rem);
	margin-right: auto;
	margin-left: auto;
	border-top: 1px solid var(--beauty-color-border);
}

.comments-title {
	max-width: 18ch;
	font-size: clamp(1.75rem, 2.5vw, 2.6rem);
	line-height: 1.05;
}

.comment-list {
	display: grid;
	gap: var(--beauty-space-md);
	padding: 0;
	margin: var(--beauty-space-lg) 0 0;
	list-style: none;
}

.comment-list .comment-body {
	padding: var(--beauty-space-lg) 0;
	border-top: 1px solid var(--beauty-color-border);
}

.no-comments {
	max-width: 46rem;
	color: var(--beauty-color-muted);
}

.search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.75rem;
	max-width: 42rem;
	margin-top: var(--beauty-space-lg);
}

.search-form label {
	min-width: 0;
}

.search-submit {
	min-height: 3.25rem;
	padding: 0.8rem 1.2rem;
	border: 1px solid var(--beauty-color-accent-dark);
	background: var(--beauty-color-accent-dark);
	color: var(--beauty-color-surface);
	font-size: var(--beauty-font-size-xs);
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.error-404.not-found {
	padding-top: clamp(4.75rem, 8vw, 7.5rem);
	padding-bottom: clamp(5rem, 9vw, 8rem);
}

.error-404 .page-content {
	max-width: 46rem;
	color: var(--beauty-color-muted);
}

.beauty-error-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: var(--beauty-space-lg);
}

@media (max-width: 63.9375rem) {
	.beauty-journal-featured {
		grid-template-columns: 1fr;
	}

	.beauty-journal-featured__body {
		max-width: 42rem;
	}

	.beauty-journal-latest__header,
	.beauty-journal-all__header,
	.beauty-journal-cta {
		grid-template-columns: 1fr;
	}

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

	.beauty-single-nav--items-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.beauty-single-nav--items-3 .beauty-single-nav__item--back {
		grid-column: 1 / -1;
	}

	.beauty-single-nav__item--back {
		min-height: 5.25rem;
	}
}

@media (max-width: 47.9375rem) {
	:root {
		--beauty-section-padding: clamp(3.5rem, 14vw, 4.5rem);
		--beauty-section-padding-compact: clamp(3rem, 12vw, 4rem);
	}

	.beauty-blog-header,
	.beauty-journal-featured-section,
	.beauty-journal-latest,
	.beauty-journal-archive-toggle {
		width: min(calc(100% - 2rem), 73.75rem);
		max-width: min(calc(100% - 2rem), 73.75rem);
	}

	.beauty-blog-grid {
		grid-template-columns: 1fr;
	}

	.beauty-journal-featured__title {
		font-size: clamp(2.75rem, 12vw, 4.25rem);
	}

	.beauty-journal-card__body {
		min-height: 0;
	}

	.beauty-journal-archive-toggle > summary {
		width: 100%;
	}

	.beauty-journal-cta {
		padding: 2rem 1.25rem;
	}

	.beauty-journal-cta .beauty-button {
		width: 100%;
	}

	.beauty-post-card .entry-header {
		min-height: 0;
	}

	.beauty-single-header {
		padding-top: 3.5rem;
		padding-bottom: 2rem;
	}

	.beauty-single-header .entry-title {
		max-width: 12.5ch;
		font-size: clamp(2.7rem, 12vw, 4.1rem);
		line-height: 1;
	}

	.beauty-single-featured {
		margin-bottom: 2.5rem;
	}

	.beauty-single-featured {
		display: block;
	}

	.beauty-single-featured img {
		width: 100%;
		max-width: 100%;
		height: auto;
		max-height: none;
		margin-right: auto;
		margin-left: auto;
		aspect-ratio: auto;
		object-fit: contain;
	}

	.beauty-single-body {
		padding-bottom: 3rem;
	}

	.beauty-single-content {
		font-size: 1rem;
		line-height: 1.72;
	}

	.beauty-single-content h2 {
		font-size: clamp(1.85rem, 8vw, 2.55rem);
	}

	.beauty-single-content h3 {
		font-size: clamp(1.45rem, 6vw, 1.95rem);
	}

	.beauty-single-nav--items-1,
	.beauty-single-nav--items-2,
	.beauty-single-nav--items-3 {
		grid-template-columns: 1fr;
	}

	.beauty-single-nav--items-3 .beauty-single-nav__item--back {
		grid-column: auto;
	}

	.beauty-single-nav__item {
		min-height: 0;
	}

	.beauty-single-nav__item--next {
		text-align: left;
	}

	.beauty-single-main .comments-area {
		padding-top: 2rem;
		padding-bottom: 3.5rem;
	}

	.search-form,
	.beauty-error-links {
		grid-template-columns: 1fr;
	}

	.search-submit,
	.beauty-error-links .beauty-button {
		width: 100%;
	}
}

@media (max-width: 26.875rem) {
	.beauty-blog-header h1,
	.beauty-journal-featured__title,
	.beauty-journal-card__title,
	.beauty-journal-cta h2,
	.beauty-single-article .entry-title,
	.beauty-single-content,
	.beauty-single-nav__item strong,
	.error-404 .page-title {
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}
}

/* Responsive QA hardening */

.site-header,
.site-footer,
.site-main,
.site-branding,
.site-navigation,
.primary-menu,
.primary-menu li,
.footer-menu li,
.site-footer__contact li,
.entry-header,
.entry-content,
.beauty-blog-grid,
.beauty-post-card,
.beauty-single-header,
.beauty-single-body,
.beauty-single-footer,
.beauty-single-nav,
.beauty-error-links {
	min-width: 0;
}

.site-main,
.site-footer,
.entry-content,
.site-footer__description,
.site-footer__contact a,
.footer-menu a,
.beauty-post-card .entry-title,
.beauty-single-content,
.beauty-single-nav__item,
.search-field {
	overflow-wrap: break-word;
}

.site-footer__contact a,
.beauty-single-content a,
.entry-content a {
	overflow-wrap: anywhere;
}

.site-navigation-toggle,
.beauty-button,
.wp-block-button__link,
.search-submit,
.primary-menu a,
.footer-menu a,
.site-footer__contact a,
.read-article-link,
.beauty-single-nav__item {
	touch-action: manipulation;
}

@media (max-width: 63.9375rem) {
	.site-navigation-toggle {
		display: inline-flex;
	}

	.site-navigation {
		padding-top: clamp(5.75rem, 12vw, 7rem);
	}

	.site-header__cta {
		min-height: 3.15rem;
	}

	.site-footer__links {
		justify-items: start;
		text-align: left;
	}
}

@media (max-width: 47.9375rem) {
	.site-navigation {
		width: min(25rem, calc(100vw - 1rem));
		max-width: calc(100vw - 1rem);
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.primary-menu a {
		font-size: clamp(1.2rem, 6vw, 1.65rem);
		line-height: 1.08;
	}

	.site-header__cta,
	.search-submit,
	.beauty-button,
	.wp-block-button__link {
		min-height: 3.25rem;
	}

	.site-footer__description {
		font-size: 1rem;
	}
}

@media (max-width: 26.875rem) {
	.site-title a,
	.primary-menu a,
	.site-footer__brand .site-title,
	.beauty-blog-header h1,
	.beauty-post-card .entry-title,
	.beauty-single-header .entry-title {
		overflow-wrap: anywhere;
	}
}

/* =========================================================
   LUNEA — SAFE HEADER & LOGO CONTAINMENT
   Restores the original theme layout and prevents uploaded
   logo dimensions or optimizer wrappers from enlarging header.
   ========================================================= */

.site-header {
	min-height: 0;
}

.site-header__inner {
	height: auto;
	min-height: 5.25rem;
	max-height: none;
	align-items: center;
	padding-top: 0.7rem;
	padding-bottom: 0.7rem;
}

.site-header__inner > * {
	align-self: center;
	min-height: 0;
}

.site-branding {
	width: auto;
	max-width: min(10rem, 42vw);
	height: 2.5rem;
	max-height: 2.5rem;
	overflow: hidden;
	flex: 0 1 auto;
}

.custom-logo-link {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: min(9rem, 38vw);
	max-width: min(9rem, 38vw);
	height: 2.35rem;
	max-height: 2.35rem;
	overflow: hidden;
	line-height: 1;
}

.custom-logo-link picture {
	display: block;
	width: 100%;
	height: 100%;
}

.custom-logo-link img,
.custom-logo {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	object-fit: contain !important;
	object-position: left center !important;
}

.site-title {
	line-height: 1;
}

.site-header__cta {
	white-space: nowrap;
}

@media (min-width: 64rem) {
	.site-header__inner {
		grid-template-columns: minmax(9rem, 1fr) auto minmax(11.5rem, 1fr);
		gap: clamp(1.5rem, 2.4vw, 3rem);
		min-height: 5.75rem;
	}

	.primary-menu {
		gap: clamp(1.15rem, 1.8vw, 2.15rem);
	}

	.primary-menu a {
		font-size: clamp(0.65rem, 0.62rem + 0.06vw, 0.71rem);
		letter-spacing: 0.12em;
	}

	.site-header__cta {
		min-height: 3.2rem;
		padding-right: 1.65rem;
		padding-left: 1.65rem;
	}
}

@media (max-width: 63.9375rem) {
	.site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 5rem;
	}

	.site-branding {
		max-width: min(8.5rem, 48vw);
		height: 2.25rem;
		max-height: 2.25rem;
	}

	.custom-logo-link {
		width: min(8rem, 44vw);
		max-width: min(8rem, 44vw);
		height: 2.1rem;
		max-height: 2.1rem;
	}

	.site-header__cta {
		display: none;
	}
}

@media (max-width: 26.875rem) {
	.site-branding {
		max-width: 7.5rem;
	}

	.custom-logo-link {
		width: 7rem;
		max-width: 7rem;
	}
}

/* =========================================================
   LUNEA — NATURAL PAGE FLOW
   Main content owns spare viewport height. Footer remains a
   normal document block and never expands at low zoom levels.
   ========================================================= */

.site-announcement,
.site-header,
.site-footer {
	flex: 0 0 auto;
}

.site-header,
.site-footer {
	display: block;
}

.site-main {
	flex: 1 0 auto;
}

.site-footer {
	margin-top: 0;
}

/* =========================================================
   LUNEA — EDITORIAL FOOTER SYSTEM
   Premium footer hierarchy, concierge block and responsive flow.
   ========================================================= */

.site-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-top: 0;
	background: linear-gradient(
		180deg,
		#2b1d18 0%,
		#241813 28%,
		#1f1511 100%
	);
	color: #f4ede4;
	border-top: 1px solid rgba(195, 135, 98, 0.2);
	box-shadow: none;
}

.site-footer::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(191, 145, 117, 0.28) 18%,
		rgba(191, 145, 117, 0.75) 50%,
		rgba(191, 145, 117, 0.28) 82%,
		transparent 100%
	);
	content: "";
}

.site-footer::after {
	position: absolute;
	right: -10rem;
	bottom: -16rem;
	z-index: -1;
	width: min(38rem, 52vw);
	aspect-ratio: 1;
	border: 1px solid rgba(248, 241, 233, 0.06);
	border-radius: 50%;
	content: "";
}

.site-footer__glow {
	position: absolute;
	inset: auto 18% -12rem -10%;
	z-index: -2;
	height: 18rem;
	background: radial-gradient(ellipse at center, rgba(120, 62, 34, 0.26) 0%, rgba(120, 62, 34, 0.14) 34%, rgba(120, 62, 34, 0) 76%);
	filter: blur(42px);
	pointer-events: none;
}

.site-footer__ambient {
	position: absolute;
	top: clamp(3rem, 5vw, 5.5rem);
	right: clamp(1.25rem, 5vw, 5rem);
	z-index: -1;
	width: clamp(7rem, 12vw, 11rem);
	aspect-ratio: 1;
	border: 1px solid rgba(199, 154, 127, 0.08);
	border-radius: 50%;
	pointer-events: none;
}

.site-footer__ambient::before,
.site-footer__ambient::after {
	position: absolute;
	border: 1px solid rgba(248, 241, 233, 0.07);
	border-radius: 50%;
	content: "";
}

.site-footer__ambient::before {
	inset: 16%;
}

.site-footer__ambient::after {
	inset: 34%;
	background: rgba(195, 135, 98, 0.025);
}

.site-footer__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	padding-top: clamp(3.4rem, 4.8vw, 5rem);
	padding-bottom: clamp(1.25rem, 2vw, 1.9rem);
}

.site-footer__brand {
	display: grid;
	align-content: start;
	max-width: none;
	padding-bottom: clamp(2.25rem, 3.5vw, 3.6rem);
}

.site-footer__eyebrow,
.site-footer__group-label {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	width: fit-content;
	margin: 0;
	color: #c79a7f;
	font-size: clamp(0.63rem, 0.61rem + 0.08vw, 0.7rem);
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.3;
	text-transform: uppercase;
}

.site-footer__eyebrow::before,
.site-footer__group-label::before {
	width: 1.85rem;
	height: 1px;
	background: currentColor;
	content: "";
}

.site-footer__wordmark {
	margin: clamp(1rem, 1.8vw, 1.5rem) 0 0;
	font-family: var(--beauty-font-heading);
	font-size: clamp(3.7rem, 5.4vw, 5.9rem);
	font-weight: 400;
	letter-spacing: -0.06em;
	line-height: 0.82;
}

.site-footer__wordmark a {
	display: inline-block;
	color: #fffaf4;
	text-decoration: none;
}

.site-footer__wordmark a:hover,
.site-footer__wordmark a:focus-visible {
	color: #d6ad94;
}

.site-footer__tagline {
	max-width: 30rem;
	margin: clamp(1.15rem, 2vw, 1.65rem) 0 0;
	color: #D7B39D;
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.2rem, 1.05rem + 0.55vw, 1.65rem);
	font-style: italic;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.site-footer__description {
	max-width: 35rem;
	margin: clamp(1.1rem, 1.8vw, 1.5rem) 0 0;
	color: rgba(248, 242, 235, 0.72);
	font-size: clamp(0.9rem, 0.87rem + 0.1vw, 0.98rem);
	line-height: 1.68;
}

.site-footer__availability {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	width: fit-content;
	margin: clamp(1.15rem, 2vw, 1.6rem) 0 0;
	color: rgba(248, 242, 235, 0.62);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.105em;
	line-height: 1.45;
	text-transform: uppercase;
}

.site-footer__availability::before {
	width: 0.42rem;
	height: 0.42rem;
	border: 1px solid #c79a7f;
	border-radius: 50%;
	background: rgba(199, 154, 127, 0.2);
	box-shadow: 0 0 0 0.28rem rgba(199, 154, 127, 0.05);
	content: "";
}

.site-footer__directory {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border-top: 1px solid rgba(248, 241, 233, 0.13);
	border-bottom: 1px solid rgba(248, 241, 233, 0.13);
}

.site-footer__group {
	display: grid;
	align-content: start;
	gap: clamp(1.15rem, 1.8vw, 1.55rem);
	padding: clamp(1.65rem, 2.6vw, 2.5rem) 0;
}

.site-footer__group + .site-footer__group {
	border-top: 1px solid rgba(248, 241, 233, 0.13);
}

.site-footer__group-copy {
	max-width: 24rem;
	margin: 0;
	color: rgba(248, 241, 233, 0.68);
	font-size: 0.92rem;
	line-height: 1.75;
}

.site-footer .footer-menu,
.site-footer .site-footer__contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.72rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.site-footer .footer-menu a,
.site-footer .site-footer__contact a {
	position: relative;
	display: inline-flex;
	width: fit-content;
	padding: 0.1rem 0 0.3rem;
	color: rgba(248, 241, 233, 0.78);
	font-size: clamp(0.82rem, 0.78rem + 0.12vw, 0.9rem);
	letter-spacing: 0.015em;
	line-height: 1.45;
	text-decoration: none;
}

.site-footer .footer-menu a::after,
.site-footer .site-footer__contact a::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: #c79a7f;
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.site-footer .footer-menu a:hover,
.site-footer .footer-menu a:focus-visible,
.site-footer .site-footer__contact a:hover,
.site-footer .site-footer__contact a:focus-visible {
	color: #fffaf4;
}

.site-footer .footer-menu a:hover::after,
.site-footer .footer-menu a:focus-visible::after,
.site-footer .site-footer__contact a:hover::after,
.site-footer .site-footer__contact a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.site-footer__booking {
	position: relative;
	overflow: hidden;
	padding-right: clamp(1.5rem, 3vw, 2.5rem);
	padding-left: clamp(1.5rem, 3vw, 2.5rem);
	background:
		linear-gradient(145deg, rgba(167, 111, 85, 0.13), rgba(248, 241, 233, 0.025));
}

.site-footer__booking::after {
	position: absolute;
	right: -3rem;
	bottom: -4.5rem;
	width: 9rem;
	aspect-ratio: 1;
	border: 1px solid rgba(199, 154, 127, 0.14);
	border-radius: 50%;
	content: "";
}

.site-footer__booking-title {
	max-width: 10ch;
	margin: 0;
	color: #fffaf4;
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.9rem, 1.5rem + 1.4vw, 3rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.98;
}

.site-footer__cta {
	position: relative;
	z-index: 1;
	justify-self: start;
	width: fit-content;
	min-height: 3.35rem;
	padding: 0.95rem 1.4rem;
	overflow: hidden;
	border-color: rgba(248, 241, 233, 0.42);
	background: transparent;
	color: #fffaf4;
	letter-spacing: 0.13em;
}

.site-footer__cta::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: #fffaf4;
	content: "";
	transform: translateY(101%);
	transition: transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.site-footer__cta:hover,
.site-footer__cta:focus-visible {
	border-color: #fffaf4;
	background: transparent;
	color: #211c18;
	transform: none;
}

.site-footer__cta:hover::before,
.site-footer__cta:focus-visible::before {
	transform: translateY(0);
}

.site-footer__bottom {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.7rem;
	padding-top: clamp(1.15rem, 1.8vw, 1.6rem);
}

.site-footer__copyright {
	padding: 0;
	margin: 0;
	border: 0;
	color: rgba(248, 241, 233, 0.46);
	font-size: 0.63rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	text-transform: uppercase;
}

.site-footer__signature {
	margin: 0;
	color: rgba(199, 154, 127, 0.72);
	font-family: var(--beauty-font-heading);
	font-size: 1rem;
	font-style: italic;
	line-height: 1.4;
}

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

	.site-footer__group {
		padding-right: clamp(1.5rem, 3vw, 3rem);
		padding-left: clamp(1.5rem, 3vw, 3rem);
	}

	.site-footer__group:first-child {
		padding-left: 0;
	}

	.site-footer__group + .site-footer__group {
		border-top: 0;
		border-left: 1px solid rgba(248, 241, 233, 0.13);
	}

	.site-footer__booking {
		grid-column: 1 / -1;
		border-top: 1px solid rgba(248, 241, 233, 0.13);
		border-left: 0 !important;
	}

	.site-footer__bottom {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

@media (min-width: 72rem) {
	.site-footer__inner {
		grid-template-columns: minmax(24rem, 0.95fr) minmax(38rem, 1.05fr);
		column-gap: clamp(4rem, 7vw, 8rem);
	}

	.site-footer__brand {
		padding-right: clamp(2.5rem, 4vw, 4.5rem);
		padding-bottom: clamp(2.75rem, 4vw, 3.9rem);
		border-right: 1px solid rgba(248, 242, 235, 0.1);
	}

	.site-footer__directory {
		grid-template-columns: minmax(0, 0.78fr) minmax(0, 0.95fr) minmax(17rem, 1.2fr);
		align-self: start;
		border-bottom: 0;
	}

	.site-footer__group {
		min-height: 0;
		padding-top: 0.2rem;
		padding-bottom: clamp(2rem, 3vw, 2.8rem);
	}

	.site-footer__group:first-child {
		padding-left: 0;
	}

	.site-footer__group + .site-footer__group {
		border-top: 0;
		border-left: 1px solid rgba(248, 241, 233, 0.13);
	}

	.site-footer__booking {
		grid-column: auto;
		padding-top: clamp(2rem, 3vw, 2.75rem);
		padding-bottom: clamp(2rem, 3vw, 2.75rem);
		border-top: 0;
		border-left: 1px solid rgba(248, 241, 233, 0.13) !important;
	}

	.site-footer__bottom {
		grid-column: 1 / -1;
		margin-top: 0;
		border-top: 1px solid rgba(248, 241, 233, 0.13);
	}

	.site-footer__wordmark {
		font-size: clamp(4.35rem, 4.6vw, 5.7rem);
	}
}

@media (max-width: 47.9375rem) {
	.site-footer__inner {
		padding-top: 4rem;
	}

	.site-footer__brand {
		padding-bottom: 3.5rem;
	}

	.site-footer__wordmark {
		font-size: clamp(3.8rem, 18vw, 5.5rem);
	}

	.site-footer__group {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.site-footer__booking {
		padding: 2.25rem 1.25rem;
	}

	.site-footer__cta {
		width: 100%;
	}

	.site-footer__ambient {
		right: -4rem;
		opacity: 0.6;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-footer .footer-menu a::after,
	.site-footer .site-footer__contact a::after,
	.site-footer__cta::before {
		transition: none;
	}
}

/* =========================================================
   LUNEA — FOOTER DUPLICATION CORRECTION
   The Home booking CTA remains the only appointment CTA.
   Footer now contains brand, navigation and concierge only.
   ========================================================= */

@media (min-width: 72rem) {
	.site-footer__directory {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-footer__group {
		padding-right: clamp(2rem, 4vw, 4rem);
		padding-left: clamp(2rem, 4vw, 4rem);
	}

	.site-footer__group:first-child {
		padding-left: 0;
	}

	.site-footer__contact-group {
		padding-right: 0;
	}
}

@media (min-width: 48rem) and (max-width: 71.9375rem) {
	.site-footer__directory {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 47.9375rem) {
	.site-footer__directory {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   LUNEA — FINAL DARK CLOSE INTEGRATION
   Softens the transition between the remaining booking close
   and the premium footer while improving footer readability.
   ========================================================= */

.site-footer {
	margin-top: 0;
	border-top-color: rgba(195, 135, 98, 0.2);
}

.site-footer::before {
	opacity: 1;
}

.site-footer__inner {
	padding-top: clamp(3.4rem, 4.8vw, 5rem);
}

.site-footer .footer-menu,
.site-footer .site-footer__contact {
	gap: 0.9rem;
}

.site-footer .footer-menu a,
.site-footer .site-footer__contact a {
	color: rgba(248, 241, 233, 0.76);
	font-size: clamp(0.86rem, 0.82rem + 0.1vw, 0.94rem);
	letter-spacing: 0.02em;
	line-height: 1.65;
}

.site-footer .site-footer__contact a:hover,
.site-footer .site-footer__contact a:focus-visible {
	color: #fffaf4;
	text-shadow: 0 0 1.4rem rgba(214, 173, 148, 0.28);
}

.site-footer__group-copy {
	font-size: clamp(0.9rem, 0.86rem + 0.1vw, 0.96rem);
	line-height: 1.8;
}

.site-footer__directory {
	border-top-color: rgba(248, 241, 233, 0.1);
	border-bottom-color: rgba(248, 241, 233, 0.1);
}

.site-footer__group + .site-footer__group {
	border-color: rgba(248, 241, 233, 0.1);
}

.site-footer__bottom {
	border-top-color: rgba(248, 241, 233, 0.1);
}

@media (max-width: 47.9375rem) {
	.site-footer__inner {
		padding-top: 3.75rem;
	}

	.site-footer .footer-menu a,
	.site-footer .site-footer__contact a {
		font-size: 0.92rem;
		line-height: 1.7;
	}
}



/* =========================================================
   LUNEA — GLOBAL TONE REFINEMENT
   Warmer home-style ivory background + cleaner panel rhythm.
   ========================================================= */

body,
.site-main,
.site-content,
.page-content,
.entry-content,
.elementor,
.elementor-section-wrap {
	background: #FBFBF9;
}

.elementor-section,
.elementor-widget-wrap,
.beauty-studio-core-page-hero,
.beauty-studio-core-section-header,
.beauty-studio-core-editorial-split,
.beauty-studio-core-detail-list,
.beauty-studio-core-values,
.beauty-studio-core-testimonials,
.beauty-studio-core-gallery-grid,
.beauty-studio-core-pricing-menu,
.beauty-studio-core-booking-cta {
	background-color: transparent;
}

.beauty-studio-core-detail-service,
.beauty-studio-core-pricing-card,
.beauty-studio-core-value,
.beauty-studio-core-testimonial,
.beauty-studio-core-gallery-grid__item {
	background: #FFFFFF;
}

.beauty-studio-core-booking-cta {
	position: relative;
	background:
		linear-gradient(
			180deg,
			#FBFBF9 0%,
			#F8F5F1 72%,
			#F3ECE5 100%
		);
	border-top: 1px solid rgba(112, 70, 53, 0.1);
	border-bottom: 1px solid rgba(112, 70, 53, 0.12);
	box-shadow: inset 0 -1.25rem 2.5rem rgba(70, 42, 30, 0.025);
}

.beauty-studio-core-booking-cta + .site-footer {
	margin-top: 0;
}

.site-header {
	box-shadow: 0 0.85rem 2.25rem rgba(28, 25, 23, 0.045);
}

.site-footer {
	margin-top: 0;
	background:
		linear-gradient(
			180deg,
			#342620 0%,
			#2D211C 42%,
			#271C18 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(255, 250, 244, 0.035),
		0 -1.1rem 2.75rem rgba(117, 73, 54, 0.045);
}

/* Final canvas and footer polish. */
html,
body,
.site-main,
.site-content,
.page-content,
.entry-content,
.elementor,
.elementor-section-wrap {
	background: var(--beauty-color-background);
}

body {
	min-height: 100dvh;
}

/*
 * Neutral warm-charcoal footer.
 * Removes the orange/muddy cast while preserving the quiet-luxury contrast.
 */
.site-footer {
	margin-top: 0;
	background:
		linear-gradient(
			180deg,
			#302c29 0%,
			#292624 46%,
			#24211f 100%
		);
	border-top: 1px solid rgba(190, 177, 166, 0.2);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.035),
		0 -0.9rem 2.4rem rgba(36, 33, 31, 0.055);
}

.site-footer::before {
	background: rgba(190, 177, 166, 0.16);
	opacity: 1;
}

.site-footer__ambient {
	opacity: 0.13;
}

.site-footer__ambient::before,
.site-footer__ambient::after {
	border-color: rgba(231, 221, 213, 0.055);
}

.site-footer__ambient::after {
	background: rgba(209, 195, 184, 0.018);
}

.site-footer__eyebrow,
.site-footer__group-label {
	color: #b9a79a;
}

.site-footer__tagline {
	color: #d2c1b5;
}

.site-footer__availability::before {
	border-color: #b9a79a;
	background: rgba(185, 167, 154, 0.16);
	box-shadow: 0 0 0 0.28rem rgba(185, 167, 154, 0.04);
}

.site-footer .footer-menu a::after,
.site-footer .site-footer__contact a::after {
	background: #b9a79a;
}

.site-footer__signature {
	color: rgba(210, 193, 181, 0.76);
}

/* Compact footer proportions on very wide CSS viewports. */
@media (min-width: 120rem) {
	.site-footer__inner {
		column-gap: 3rem;
		padding-top: 2.6rem;
		padding-bottom: 1.1rem;
	}

	.site-footer__brand {
		padding-right: 3rem;
		padding-bottom: 2.2rem;
	}

	.site-footer__wordmark {
		margin-top: 0.85rem;
		font-size: 4rem;
	}

	.site-footer__tagline {
		margin-top: 0.9rem;
		font-size: 1.2rem;
	}

	.site-footer__description {
		margin-top: 0.9rem;
		font-size: 0.86rem;
		line-height: 1.56;
	}

	.site-footer__availability {
		margin-top: 0.95rem;
	}

	.site-footer__group {
		gap: 0.95rem;
		padding-bottom: 1.8rem;
	}

	.site-footer__bottom {
		padding-top: 0.95rem;
	}

	.site-footer__ambient {
		top: 2.5rem;
		right: 2.5rem;
		width: 7.5rem;
		opacity: 0.1;
	}
}

/*
 * Final page-height architecture.
 *
 * The footer keeps its real content height at every zoom level. Any unused
 * viewport area inherits the final espresso tone from the page background,
 * so there is no white strip and no stretched footer content.
 */
html,
body {
	min-height: 100%;
	background: #211b18 !important;
}

body {
	display: flex;
	min-height: 100vh;
	min-height: 100dvh;
	flex-direction: column;
}

.site-main {
	min-height: 0;
	flex: 0 0 auto;
	background: var(--beauty-color-background);
}

.site-footer {
	display: block;
	width: 100%;
	min-height: 0;
	margin: 0;
	flex: 0 0 auto;
	background:
		linear-gradient(
			180deg,
			#332823 0%,
			#2a211d 46%,
			#211b18 100%
		);
	border-top-color: rgba(167, 111, 85, 0.3);
	box-shadow: 0 -1.5rem 4rem rgba(87, 57, 43, 0.055);
}

.site-footer__inner {
	min-height: 0;
}

/* ========================================================================
   LUNEA JOURNAL — COMPACT ORIGINAL COMPOSITION
   Restores the compact editorial Blog proportions: one featured story,
   followed by three balanced cards on desktop.
   ======================================================================== */

.beauty-blog-main {
	--beauty-blog-compact-width: min(
		calc(100% - (2 * var(--beauty-space-md))),
		56rem
	);
}

.beauty-blog-main .beauty-blog-header,
.beauty-blog-main .beauty-journal-featured-section,
.beauty-blog-main .beauty-journal-latest,
.beauty-blog-main .beauty-journal-archive-toggle,
.beauty-blog-main > .beauty-container {
	width: var(--beauty-blog-compact-width) !important;
	max-width: var(--beauty-blog-compact-width) !important;
}

.beauty-blog-main .beauty-blog-header {
	padding-top: clamp(3.75rem, 5.5vw, 5.25rem) !important;
	padding-bottom: clamp(2rem, 3.5vw, 3rem) !important;
}

.beauty-blog-main .beauty-blog-header h1 {
	font-size: clamp(3rem, 4.2vw, 4.75rem) !important;
	line-height: 0.94 !important;
}

.beauty-blog-main .beauty-blog-header__description {
	max-width: 32rem !important;
	margin-top: 1.15rem !important;
	font-size: clamp(0.92rem, 0.89rem + 0.1vw, 1rem) !important;
}

.beauty-blog-main .beauty-journal-featured-section {
	padding-top: clamp(2.75rem, 4.5vw, 4rem) !important;
	padding-bottom: clamp(3.25rem, 5vw, 4.75rem) !important;
}

.beauty-blog-main .beauty-journal-featured {
	grid-template-columns: minmax(0, 0.53fr) minmax(18rem, 0.47fr) !important;
	gap: clamp(2rem, 4vw, 3.75rem) !important;
	align-items: center !important;
}

.beauty-blog-main .beauty-journal-featured__title {
	max-width: 10.5ch !important;
	margin-top: 0.95rem !important;
	font-size: clamp(2.65rem, 3.65vw, 4.15rem) !important;
	line-height: 0.91 !important;
}

.beauty-blog-main .beauty-journal-featured__excerpt {
	max-width: 27rem !important;
	margin-top: 1rem !important;
	font-size: clamp(0.9rem, 0.87rem + 0.08vw, 0.97rem) !important;
	line-height: 1.7 !important;
}

.beauty-blog-main .beauty-journal-featured__link {
	margin-top: 1.25rem !important;
}

.beauty-blog-main .beauty-journal-latest {
	padding-top: clamp(2.75rem, 4.5vw, 4rem) !important;
	padding-bottom: clamp(2.25rem, 4vw, 3.5rem) !important;
}

.beauty-blog-main .beauty-journal-latest__header {
	grid-template-columns: minmax(8.5rem, 0.3fr) minmax(0, 0.7fr) !important;
	gap: clamp(1.25rem, 3vw, 2.75rem) !important;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem) !important;
}

.beauty-blog-main .beauty-journal-latest__header h2 {
	font-size: clamp(2.25rem, 3.4vw, 3.65rem) !important;
	line-height: 0.94 !important;
}

.beauty-blog-main .beauty-blog-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(0.9rem, 1.8vw, 1.35rem) !important;
}

.beauty-blog-main .beauty-journal-card__body {
	min-height: 15.75rem !important;
	gap: 0.8rem !important;
	padding: clamp(1rem, 1.55vw, 1.3rem) !important;
}

.beauty-blog-main .beauty-journal-card__title {
	max-width: 12ch !important;
	font-size: clamp(1.45rem, 1.7vw, 1.9rem) !important;
	line-height: 0.98 !important;
}

.beauty-blog-main .beauty-journal-card__excerpt {
	font-size: clamp(0.76rem, 0.73rem + 0.06vw, 0.82rem) !important;
	line-height: 1.62 !important;
}

.beauty-blog-main .beauty-journal-view-all {
	padding-bottom: clamp(2.25rem, 4vw, 3.5rem) !important;
}

.beauty-blog-main .beauty-journal-archive-toggle {
	padding-bottom: 0 !important;
}

.beauty-blog-main .beauty-journal-cta {
	padding: clamp(1.75rem, 3vw, 2.5rem) !important;
	margin-bottom: 0 !important;
}

.beauty-blog-main .beauty-journal-cta h2 {
	font-size: clamp(1.85rem, 2.6vw, 2.8rem) !important;
}

/* Remove the final one-pixel light seam before the footer. */
.site-main + .site-footer {
	margin-top: -1px !important;
	border-top: 0 !important;
}

@media (max-width: 63.9375rem) {
	.beauty-blog-main {
		--beauty-blog-compact-width: min(
			calc(100% - (2 * var(--beauty-space-md))),
			46rem
		);
	}

	.beauty-blog-main .beauty-journal-featured {
		grid-template-columns: 1fr !important;
		gap: 2rem !important;
	}

	.beauty-blog-main .beauty-journal-featured__body {
		max-width: 34rem !important;
	}

	.beauty-blog-main .beauty-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-blog-main {
		--beauty-blog-compact-width: min(calc(100% - 2rem), 100%);
	}

	.beauty-blog-main .beauty-journal-latest__header {
		grid-template-columns: 1fr !important;
		gap: 0.75rem !important;
	}

	.beauty-blog-main .beauty-blog-grid {
		grid-template-columns: 1fr !important;
	}

	.beauty-blog-main .beauty-journal-card__body {
		min-height: 0 !important;
	}
}

/* ========================================================================
   LUNEA FOOTER — SOFT LUXURY FINAL
   ======================================================================== */

.site-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-top: 1px solid rgba(188, 148, 122, 0.16);
	background:
		radial-gradient(circle at 82% 12%, rgba(185, 139, 106, 0.12), transparent 27rem),
		linear-gradient(145deg, #2f241f 0%, #271d19 56%, #211815 100%);
	color: #f5eee7;
}

.site-footer::before {
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(115deg, rgba(255, 255, 255, 0.018), transparent 38%),
		radial-gradient(circle at 14% 88%, rgba(169, 112, 82, 0.07), transparent 24rem);
	content: "";
	pointer-events: none;
}

.site-footer::after {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(225, 193, 171, 0.36) 20%,
		rgba(225, 193, 171, 0.18) 78%,
		transparent 100%
	);
	content: "";
	pointer-events: none;
}

.site-footer__ambient {
	position: absolute;
	right: clamp(-9rem, -5vw, -4rem);
	bottom: clamp(-11rem, -8vw, -6rem);
	width: clamp(24rem, 34vw, 38rem);
	aspect-ratio: 1;
	border: 1px solid rgba(214, 177, 151, 0.07);
	border-radius: 50%;
	pointer-events: none;
}

.site-footer__ambient::before,
.site-footer__ambient::after {
	position: absolute;
	inset: 12%;
	border: 1px solid rgba(214, 177, 151, 0.045);
	border-radius: inherit;
	content: "";
}

.site-footer__ambient::after {
	inset: 26%;
}

.site-footer__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, 1.26fr);
	gap: clamp(3rem, 6vw, 7rem);
	padding-top: clamp(4rem, 6.5vw, 6.5rem);
	padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.site-footer__inner::before {
	display: none;
}

.site-footer__brand {
	max-width: 35rem;
}

.site-footer__eyebrow,
.site-footer__group-label {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1rem;
	color: rgba(233, 206, 187, 0.68);
	font-family: var(--beauty-font-body);
	font-size: 0.67rem;
	font-weight: 700;
	letter-spacing: 0.145em;
	line-height: 1.25;
	text-transform: uppercase;
}

.site-footer__eyebrow::before,
.site-footer__group-label::before {
	width: 1.65rem;
	height: 1px;
	background: rgba(233, 206, 187, 0.38);
	content: "";
}

.site-footer__wordmark {
	margin: 0;
}

.site-footer__wordmark a {
	color: #fffaf5;
	font-family: var(--beauty-font-heading);
	font-size: clamp(3rem, 4.6vw, 5.4rem);
	font-weight: 400;
	letter-spacing: -0.058em;
	line-height: 0.86;
	text-decoration: none;
	text-shadow: 0 0.8rem 2.8rem rgba(0, 0, 0, 0.12);
}

.site-footer__wordmark a:hover,
.site-footer__wordmark a:focus-visible {
	color: #f2d8c6;
}

.site-footer__tagline,
.site-footer__description {
	max-width: 32rem;
	margin: clamp(1.15rem, 2vw, 1.7rem) 0 0;
	color: rgba(245, 238, 231, 0.64);
	font-size: clamp(0.88rem, 0.84rem + 0.12vw, 0.98rem);
	line-height: 1.72;
}

.site-footer__availability {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 1.25rem 0 0;
	color: rgba(241, 220, 205, 0.63);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.095em;
	line-height: 1.45;
	text-transform: uppercase;
}

.site-footer__availability::before {
	width: 0.34rem;
	height: 0.34rem;
	border: 1px solid rgba(231, 194, 170, 0.65);
	border-radius: 50%;
	content: "";
}

.site-footer__directory {
	display: grid;
	grid-template-columns: minmax(9rem, 0.7fr) minmax(15rem, 1fr);
	border-top: 1px solid rgba(235, 213, 198, 0.11);
	border-bottom: 1px solid rgba(235, 213, 198, 0.11);
}

.site-footer__group {
	min-width: 0;
	padding: 1.5rem clamp(1.25rem, 2.5vw, 2.4rem) 1.75rem;
}

.site-footer__group:first-child {
	padding-left: 0;
}

.site-footer__group + .site-footer__group {
	border-left: 1px solid rgba(235, 213, 198, 0.11);
}

.site-footer__group-copy {
	max-width: 24rem;
	margin: 0 0 1.15rem;
	color: rgba(245, 238, 231, 0.62);
	font-size: 0.88rem;
	line-height: 1.72;
}

.footer-menu,
.site-footer__contact-list {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.footer-menu a,
.site-footer__contact-list a {
	display: inline-flex;
	width: fit-content;
	color: rgba(249, 242, 235, 0.78);
	font-size: 0.82rem;
	line-height: 1.45;
	text-decoration-color: rgba(239, 206, 183, 0.2);
	text-underline-offset: 0.25em;
}

.footer-menu a:hover,
.footer-menu a:focus-visible,
.site-footer__contact-list a:hover,
.site-footer__contact-list a:focus-visible {
	color: #fffaf5;
	text-decoration-color: rgba(239, 206, 183, 0.62);
	transform: translateX(0.12rem);
}

.site-footer__bottom {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-top: 1.35rem;
	border-top: 1px solid rgba(235, 213, 198, 0.08);
}

.site-footer__copyright,
.site-footer__signature {
	margin: 0;
}

.site-footer__copyright {
	padding: 0;
	border: 0;
	color: rgba(245, 238, 231, 0.38);
	font-size: 0.6rem;
	font-weight: 600;
	letter-spacing: 0.085em;
	line-height: 1.5;
	text-transform: uppercase;
}

.site-footer__signature {
	color: rgba(238, 209, 189, 0.7);
	font-family: var(--beauty-font-heading);
	font-size: clamp(0.86rem, 0.82rem + 0.12vw, 0.95rem);
	font-style: italic;
	line-height: 1.4;
}

@media (max-width: 63.9375rem) {
	.site-footer__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.site-footer__brand {
		max-width: 39rem;
	}
}

@media (max-width: 47.9375rem) {
	.site-footer__inner {
		gap: 2.25rem;
		padding-top: 3.5rem;
		padding-bottom: 1.5rem;
	}

	.site-footer__wordmark a {
		font-size: clamp(3rem, 15vw, 4.5rem);
	}

	.site-footer__directory {
		grid-template-columns: 1fr;
	}

	.site-footer__group {
		padding: 1.5rem 0;
	}

	.site-footer__group + .site-footer__group {
		border-top: 1px solid rgba(235, 213, 198, 0.11);
		border-left: 0;
	}

	.site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.85rem;
	}

	.site-footer__ambient {
		right: -13rem;
		bottom: -7rem;
		width: 28rem;
	}
}


/* ==========================================================================
   LUNEA — FINAL GLOBAL ROSE-PLUM FOOTER
   The footer color is owned by the theme stylesheet so every template,
   including the Blog archive, renders the exact same footer.
   ========================================================================== */

html body .site-footer {
	position: relative;
	overflow: hidden;
	margin-top: 0;
	border-top: 0;
	background:
		radial-gradient(
			circle at 94% 48%,
			rgba(206, 151, 159, 0.075) 0,
			rgba(206, 151, 159, 0.028) 12rem,
			transparent 25rem
		),
		linear-gradient(
			180deg,
			#382b34 0%,
			#30252e 30%,
			#271f27 100%
		);
	color: #f7efeb;
	box-shadow: none;
}

html body .site-footer::before {
	display: none;
	content: none;
}

html body .site-footer::after {
	border-color: rgba(247, 239, 235, 0.045);
}

html body .site-footer__glow {
	display: none;
}

html body .site-footer__ambient {
	border-color: rgba(218, 169, 174, 0.075);
	opacity: 0.62;
}

html body .site-footer__ambient::before,
html body .site-footer__ambient::after {
	border-color: rgba(247, 239, 235, 0.055);
}

html body .site-footer__ambient::after {
	background: rgba(218, 169, 174, 0.018);
}

html body .site-footer__eyebrow,
html body .site-footer__group-label {
	color: #d3a1a0;
}

html body .site-footer__wordmark a {
	color: #fff9f6;
}

html body .site-footer__wordmark a:hover,
html body .site-footer__wordmark a:focus-visible {
	color: #e1b4ab;
}

html body .site-footer__tagline {
	color: #dfbab4;
}

html body .site-footer__description,
html body .site-footer__group-copy {
	color: rgba(247, 239, 235, 0.7);
}

html body .site-footer__availability,
html body .site-footer .footer-menu a,
html body .site-footer .site-footer__contact a,
html body .site-footer__contact-list a {
	color: rgba(247, 239, 235, 0.76);
}

html body .site-footer__availability::before {
	border-color: #d3a1a0;
	background: rgba(211, 161, 160, 0.16);
	box-shadow: 0 0 0 0.28rem rgba(211, 161, 160, 0.045);
}

html body .site-footer__directory,
html body .site-footer__group + .site-footer__group,
html body .site-footer__bottom,
html body .site-footer__brand {
	border-color: rgba(247, 239, 235, 0.105);
}

html body .site-footer .footer-menu a::after,
html body .site-footer .site-footer__contact a::after {
	background: #d3a1a0;
}

html body .site-footer__copyright {
	color: rgba(247, 239, 235, 0.44);
}

html body .site-footer__signature {
	color: rgba(225, 180, 171, 0.82);
}


/* ==========================================================================
   LUNEA — JOURNAL HEADER EDITORIAL POLISH
   Scoped only to the Blog/archive heading area.
   ========================================================================== */

.beauty-blog-main .beauty-blog-header {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(18rem, 0.28fr);
	grid-template-areas:
		"eyebrow index"
		"title description";
	column-gap: clamp(3rem, 8vw, 8.5rem);
	row-gap: clamp(1.4rem, 2.5vw, 2.25rem);
	align-items: end;
	width: var(--beauty-section-width);
	max-width: var(--beauty-section-width);
	padding-top: clamp(5.5rem, 9vw, 9rem);
	padding-bottom: clamp(4rem, 7vw, 6.75rem);
	overflow: hidden;
	border-top: 1px solid rgba(112, 70, 53, 0.1);
	border-bottom: 1px solid rgba(112, 70, 53, 0.16);
	background:
		linear-gradient(
			90deg,
			rgba(247, 245, 241, 0.82) 0%,
			rgba(251, 251, 249, 0.96) 58%,
			rgba(247, 245, 241, 0.52) 100%
		);
}

.beauty-blog-main .beauty-blog-header::before {
	position: absolute;
	top: clamp(2rem, 4vw, 3.5rem);
	right: clamp(1.5rem, 4vw, 3.75rem);
	z-index: -1;
	color: rgba(112, 70, 53, 0.055);
	font-family: var(--beauty-font-heading);
	font-size: clamp(8rem, 18vw, 17rem);
	font-weight: 400;
	letter-spacing: -0.08em;
	line-height: 0.72;
	content: "01";
	pointer-events: none;
}

.beauty-blog-main .beauty-blog-header::after {
	position: absolute;
	top: 0;
	right: 34%;
	bottom: 0;
	width: 1px;
	background: linear-gradient(
		180deg,
		transparent 0%,
		rgba(112, 70, 53, 0.13) 22%,
		rgba(112, 70, 53, 0.13) 78%,
		transparent 100%
	);
	content: "";
	pointer-events: none;
}

.beauty-blog-main .beauty-blog-header .beauty-eyebrow {
	grid-area: eyebrow;
	margin: 0;
	color: var(--beauty-color-accent-dark);
	font-size: 0.66rem;
	letter-spacing: 0.2em;
}

.beauty-blog-main .beauty-blog-header .beauty-eyebrow::before {
	width: clamp(2.5rem, 4vw, 4rem);
	background: currentColor;
	opacity: 0.72;
}

.beauty-blog-main .beauty-blog-header h1 {
	grid-area: title;
	max-width: 9ch;
	margin: 0;
	color: var(--beauty-color-text);
	font-size: clamp(4.75rem, 9vw, 9.5rem);
	letter-spacing: -0.072em;
	line-height: 0.76;
	text-wrap: balance;
}

.beauty-blog-main .beauty-blog-header__description {
	grid-area: description;
	align-self: end;
	max-width: 26rem;
	margin: 0 0 0.35rem;
	padding-top: clamp(1.25rem, 2.5vw, 2rem);
	border-top: 1px solid rgba(112, 70, 53, 0.16);
	color: var(--beauty-color-muted);
	font-size: clamp(0.96rem, 0.9rem + 0.18vw, 1.08rem);
	line-height: 1.8;
}

.beauty-blog-main .beauty-blog-header__description::before {
	display: block;
	margin-bottom: 1rem;
	color: var(--beauty-color-accent-dark);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.2;
	text-transform: uppercase;
	content: "Notes on ritual, rhythm & care";
}

@media (max-width: 63.9375rem) {
	.beauty-blog-main .beauty-blog-header {
		grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.42fr);
		column-gap: clamp(2rem, 5vw, 4rem);
	}

	.beauty-blog-main .beauty-blog-header h1 {
		font-size: clamp(4.5rem, 11vw, 7.75rem);
	}
}

@media (max-width: 47.9375rem) {
	.beauty-blog-main .beauty-blog-header {
		grid-template-columns: 1fr;
		grid-template-areas:
			"eyebrow"
			"title"
			"description";
		row-gap: 1.5rem;
		padding-top: 4.75rem;
		padding-bottom: 3.75rem;
		background:
			linear-gradient(
				180deg,
				rgba(247, 245, 241, 0.82) 0%,
				rgba(251, 251, 249, 0.98) 100%
			);
	}

	.beauty-blog-main .beauty-blog-header::before {
		top: 2.25rem;
		right: 1rem;
		font-size: clamp(7rem, 34vw, 10.5rem);
	}

	.beauty-blog-main .beauty-blog-header::after {
		display: none;
	}

	.beauty-blog-main .beauty-blog-header h1 {
		max-width: 8ch;
		font-size: clamp(4.25rem, 19vw, 6.5rem);
		line-height: 0.8;
	}

	.beauty-blog-main .beauty-blog-header__description {
		max-width: 30rem;
		margin-top: 0.5rem;
	}
}


/* ==========================================================================
   LUNEA — REFINED JOURNAL HERO
   Quiet luxury split layout with tighter rhythm and no concept-demo ornaments.
   ========================================================================== */

.beauty-blog-main .beauty-blog-header--editorial {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(19rem, 0.72fr);
	gap: clamp(3.5rem, 7vw, 7rem);
	align-items: center;
	width: var(--beauty-section-width);
	max-width: var(--beauty-section-width);
	padding: clamp(4.75rem, 7vw, 7rem) 0 clamp(4.25rem, 6.5vw, 6.25rem);
	border-bottom: 1px solid var(--beauty-journal-line);
	background: transparent;
}

.beauty-blog-header--editorial .beauty-blog-header__content {
	min-width: 0;
}

.beauty-blog-header--editorial .beauty-blog-header__topline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	padding-bottom: 1.35rem;
	margin-bottom: clamp(2.4rem, 4vw, 3.75rem);
	border-bottom: 1px solid var(--beauty-journal-line);
}

.beauty-blog-header--editorial .beauty-eyebrow {
	margin: 0;
	font-size: 0.64rem;
	letter-spacing: 0.21em;
}

.beauty-blog-header--editorial .beauty-eyebrow::before {
	width: clamp(2.75rem, 4vw, 4.25rem);
}

.beauty-blog-header__volume {
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.17em;
	line-height: 1.2;
	text-transform: uppercase;
}

.beauty-blog-main .beauty-blog-header--editorial h1 {
	max-width: 9ch;
	margin: 0;
	font-size: clamp(4.8rem, 7.7vw, 8.2rem);
	letter-spacing: -0.068em;
	line-height: 0.84;
	text-wrap: balance;
}

.beauty-blog-header--editorial .beauty-blog-header__description {
	max-width: 31rem;
	margin: clamp(2rem, 3vw, 2.75rem) 0 0;
	color: var(--beauty-color-muted);
	font-size: clamp(1rem, 0.95rem + 0.14vw, 1.08rem);
	line-height: 1.8;
}

.beauty-blog-header--editorial .beauty-blog-header__description p {
	margin: 0;
}

.beauty-blog-header__signature {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin: clamp(1.6rem, 2.8vw, 2.2rem) 0 0;
	color: var(--beauty-color-accent-dark);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.2rem, 1.02rem + 0.42vw, 1.55rem);
	line-height: 1.3;
}

.beauty-blog-header__signature::before {
	width: 2.5rem;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.5;
}

.beauty-blog-header__media {
	position: relative;
	width: min(100%, 25rem);
	justify-self: end;
	margin: 0;
	overflow: hidden;
	background: #F2ECE6;
	aspect-ratio: 4 / 5;
}

.beauty-blog-header__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.9) contrast(0.99);
	transition:
		transform 900ms cubic-bezier(0.2, 0.75, 0.25, 1),
		filter 700ms ease;
}

.beauty-blog-header__media::after {
	position: absolute;
	inset: 0;
	border: 1px solid rgba(112, 70, 53, 0.12);
	content: "";
	pointer-events: none;
}

.beauty-blog-header__media:hover .beauty-blog-header__image {
	filter: saturate(0.97) contrast(1);
	transform: scale(1.015);
}

.beauty-blog-header__media figcaption {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
	z-index: 1;
	padding: 0.8rem 0.95rem;
	background: rgba(251, 251, 249, 0.88);
	color: var(--beauty-color-accent-dark);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

@media (max-width: 63.9375rem) {
	.beauty-blog-main .beauty-blog-header--editorial {
		grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.68fr);
		gap: clamp(2.5rem, 5vw, 4.5rem);
	}

	.beauty-blog-main .beauty-blog-header--editorial h1 {
		font-size: clamp(4.5rem, 10vw, 7rem);
	}

	.beauty-blog-header__media {
		width: min(100%, 22rem);
	}
}

@media (max-width: 47.9375rem) {
	.beauty-blog-main .beauty-blog-header--editorial {
		grid-template-columns: 1fr;
		gap: 2.75rem;
		padding-top: 4.25rem;
		padding-bottom: 4rem;
	}

	.beauty-blog-header--editorial .beauty-blog-header__topline {
		margin-bottom: 2.4rem;
	}

	.beauty-blog-main .beauty-blog-header--editorial h1 {
		max-width: 8ch;
		font-size: clamp(4.1rem, 18vw, 6.2rem);
		line-height: 0.84;
	}

	.beauty-blog-header__media {
		width: min(100%, 31rem);
		justify-self: stretch;
		aspect-ratio: 5 / 4;
	}

	.beauty-blog-header__signature {
		font-size: clamp(1.15rem, 5.2vw, 1.45rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-blog-header__image {
		transition: none;
	}
}
