:root {
	--beauty-core-gutter: clamp(1rem, 4vw, 2.5rem);
	--beauty-core-section: clamp(4.5rem, 8vw, 8rem);
	--beauty-core-section-compact: clamp(3rem, 6vw, 5.5rem);
	--beauty-core-wide: 73.75rem;
	--beauty-core-copy: 38rem;
	--beauty-core-line: rgba(112, 70, 53, 0.12);
}

:is(
	.beauty-studio-core-hero,
	.beauty-studio-core-intro,
	.beauty-studio-core-services,
	.beauty-studio-core-split,
	.beauty-studio-core-testimonials,
	.beauty-studio-core-cta
) {
	position: relative;
	isolation: isolate;
	width: 100%;
	margin: 0;
	color: var(--beauty-color-text);
}

:is(
	.beauty-studio-core-hero,
	.beauty-studio-core-intro,
	.beauty-studio-core-services,
	.beauty-studio-core-split,
	.beauty-studio-core-testimonials
) {
	padding: var(--beauty-core-section) max(var(--beauty-core-gutter), calc((100% - var(--beauty-core-wide)) / 2));
	background: var(--beauty-color-background);
}

:is(
	.beauty-studio-core-hero h1,
	.beauty-studio-core-intro h2,
	.beauty-studio-core-split h2,
	.beauty-studio-core-section-header h2,
	.beauty-studio-core-cta h2,
	.beauty-studio-core-service h3,
	.beauty-studio-core-testimonial blockquote
) {
	font-family: var(--beauty-font-heading);
	font-weight: 400;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.beauty-studio-core-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	margin: 0 0 clamp(1.15rem, 2vw, 1.75rem);
	color: var(--beauty-color-accent-dark);
	font-family: var(--beauty-font-body);
	font-size: clamp(0.68rem, 0.64rem + 0.08vw, 0.75rem);
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-transform: uppercase;
}

.beauty-studio-core-eyebrow::before {
	width: 2rem;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.72;
}

.beauty-studio-core-align-center .beauty-studio-core-eyebrow {
	justify-content: center;
}

.beauty-studio-core-align-right .beauty-studio-core-eyebrow {
	justify-content: flex-end;
}

:is(
	.beauty-studio-core-lede,
	.beauty-studio-core-copy,
	.beauty-studio-core-section-header p,
	.beauty-studio-core-cta p
) {
	max-width: var(--beauty-core-copy);
	margin-top: clamp(1.25rem, 2vw, 1.75rem);
	margin-bottom: 0;
	color: var(--beauty-color-muted);
	font-family: var(--beauty-font-body);
	font-size: clamp(1rem, 0.94rem + 0.28vw, 1.2rem);
	line-height: 1.78;
	text-wrap: pretty;
}

.beauty-studio-core-button,
.beauty-studio-core-text-link {
	outline-offset: 0.28rem;
}

.beauty-studio-core-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0.95rem 1.6rem;
	border: 1px solid var(--beauty-color-accent-dark);
	border-radius: 0;
	background: var(--beauty-color-accent-dark);
	color: var(--beauty-color-surface);
	font-family: var(--beauty-font-body);
	font-size: clamp(0.74rem, 0.7rem + 0.08vw, 0.82rem);
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background-color var(--beauty-transition),
		border-color var(--beauty-transition),
		color var(--beauty-transition),
		transform var(--beauty-transition);
}

.beauty-studio-core-button:hover,
.beauty-studio-core-button:focus-visible {
	background: var(--beauty-color-text);
	border-color: var(--beauty-color-text);
	color: var(--beauty-color-surface);
	transform: translateY(-2px);
}

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

.beauty-studio-core-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

.beauty-studio-core-note,
.beauty-studio-core-fact {
	margin: clamp(1.5rem, 2.5vw, 2.25rem) 0 0;
	color: var(--beauty-color-muted);
	font-size: clamp(0.76rem, 0.72rem + 0.08vw, 0.84rem);
	line-height: 1.65;
}

.beauty-studio-core-placeholder {
	position: relative;
	display: grid;
	min-height: 18rem;
	place-items: center;
	overflow: hidden;
	border: 1px solid var(--beauty-core-line);
	background: var(--beauty-color-surface);
}

.beauty-studio-core-placeholder::before,
.beauty-studio-core-placeholder::after {
	position: absolute;
	background: var(--beauty-color-border);
	content: "";
	opacity: 0.82;
}

.beauty-studio-core-placeholder::before {
	width: 3rem;
	height: 1px;
}

.beauty-studio-core-placeholder::after {
	width: 1px;
	height: 3rem;
}

:is(
	.beauty-studio-core-hero__image,
	.beauty-studio-core-intro__image,
	.beauty-studio-core-split__image,
	.beauty-studio-core-service__image,
	.beauty-studio-core-hero__accent-image,
	.beauty-studio-core-split__small-image,
	.beauty-studio-core-page-hero__image,
	.beauty-studio-core-story__image,
	.beauty-studio-core-story__small-image,
	.beauty-studio-core-detail-service__image,
	.beauty-studio-core-gallery__image,
	.beauty-studio-core-contact-details__image
) {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Hero */
.beauty-studio-core-hero {
	display: grid;
	grid-template-columns: minmax(19rem, 0.78fr) minmax(30rem, 1.22fr);
	gap: clamp(3rem, 7vw, 8rem);
	align-items: center;
	min-height: clamp(44rem, 88vh, 63rem);
	padding-top: clamp(5.5rem, 8vw, 8.5rem);
	padding-bottom: clamp(6.5rem, 10vw, 11rem);
	overflow: hidden;
	border-bottom: 1px solid var(--beauty-core-line);
}

.beauty-studio-core-hero::before {
	position: absolute;
	top: 0;
	right: max(var(--beauty-core-gutter), calc((100vw - var(--beauty-core-wide)) / 2));
	bottom: 0;
	width: 1px;
	background: var(--beauty-core-line);
	content: "";
	z-index: -1;
}

.beauty-studio-core-hero__content {
	position: relative;
	z-index: 2;
	max-width: 41rem;
}

.beauty-studio-core-image-left .beauty-studio-core-hero__content {
	order: 2;
}

.beauty-studio-core-image-left .beauty-studio-core-hero__media {
	order: 1;
}

.beauty-studio-core-align-center {
	text-align: center;
}

.beauty-studio-core-align-center .beauty-studio-core-actions {
	justify-content: center;
}

.beauty-studio-core-align-center :is(.beauty-studio-core-lede, .beauty-studio-core-copy) {
	margin-right: auto;
	margin-left: auto;
}

.beauty-studio-core-align-right {
	text-align: right;
}

.beauty-studio-core-align-right .beauty-studio-core-actions {
	justify-content: flex-end;
}

.beauty-studio-core-align-right :is(.beauty-studio-core-lede, .beauty-studio-core-copy) {
	margin-left: auto;
}

.beauty-studio-core-hero__heading {
	max-width: 9.5ch;
	margin: 0;
	font-size: clamp(4.25rem, 6.7vw, 8.25rem);
	line-height: 0.88;
	letter-spacing: -0.062em;
}

.beauty-studio-core-hero__highlight {
	max-width: 16ch;
	margin: clamp(1.1rem, 2vw, 1.75rem) 0 0;
	color: var(--beauty-color-accent-dark);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.75rem, 2.1vw, 2.75rem);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.03em;
	line-height: 1.02;
}

.beauty-studio-core-hero__media,
.beauty-studio-core-split__media {
	position: relative;
}

.beauty-studio-core-hero__media {
	width: min(100%, 48rem);
	justify-self: end;
	padding: 0;
}

.beauty-studio-core-hero__media::before {
	display: none;
	content: none;
}

.beauty-studio-core-hero__image,
.beauty-studio-core-hero__media > .beauty-studio-core-placeholder {
	aspect-ratio: 4 / 5;
	min-height: clamp(34rem, 58vw, 52rem);
}

.beauty-studio-core-hero__image {
	filter: saturate(0.92) contrast(1.02);
}

.beauty-studio-core-hero__accent {
	position: absolute;
	left: clamp(-3rem, -4vw, -1rem);
	bottom: clamp(1.75rem, 4vw, 4rem);
	width: min(31%, 13rem);
	border: clamp(0.55rem, 0.8vw, 0.85rem) solid var(--beauty-color-background);
	z-index: 2;
}

.beauty-studio-core-image-left .beauty-studio-core-hero__media {
	justify-self: start;
	padding: 0;
}

.beauty-studio-core-image-left .beauty-studio-core-hero__accent {
	right: clamp(-3rem, -4vw, -1rem);
	left: auto;
}

.beauty-studio-core-hero__accent-image,
.beauty-studio-core-hero__accent .beauty-studio-core-placeholder {
	aspect-ratio: 1;
	width: 100%;
	min-height: 0;
}

/* Intro + split */
.beauty-studio-core-intro,
.beauty-studio-core-split {
	display: grid;
	grid-template-columns: minmax(22rem, 0.86fr) minmax(26rem, 1.14fr);
	gap: clamp(4rem, 9vw, 10rem);
	align-items: center;
}

.beauty-studio-core-intro {
	background: var(--beauty-color-surface);
}

.beauty-studio-core-image-right .beauty-studio-core-intro__media,
.beauty-studio-core-split--reverse .beauty-studio-core-split__media {
	order: 2;
}

.beauty-studio-core-intro__media {
	width: min(100%, 36rem);
}

.beauty-studio-core-image-right .beauty-studio-core-intro__media {
	justify-self: end;
}

.beauty-studio-core-intro__image,
.beauty-studio-core-intro__media > .beauty-studio-core-placeholder {
	aspect-ratio: 3 / 4;
	min-height: clamp(30rem, 43vw, 46rem);
}

.beauty-studio-core-intro__content,
.beauty-studio-core-split__content {
	max-width: 42rem;
}

:is(
	.beauty-studio-core-intro h2,
	.beauty-studio-core-split h2,
	.beauty-studio-core-section-header h2,
	.beauty-studio-core-cta h2
) {
	margin: 0;
	font-size: clamp(3.15rem, 4.7vw, 6.2rem);
	line-height: 0.94;
}

.beauty-studio-core-intro h2,
.beauty-studio-core-split h2 {
	max-width: 10.5ch;
}

.beauty-studio-core-signature {
	margin: clamp(1.75rem, 3vw, 2.75rem) 0 0;
	color: var(--beauty-color-accent-dark);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.5rem, 2vw, 2.25rem);
	font-style: italic;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.beauty-studio-core-fact {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.beauty-studio-core-fact::before {
	width: 2.5rem;
	height: 1px;
	background: var(--beauty-color-border);
	content: "";
}

.beauty-studio-core-split {
	grid-template-columns: minmax(26rem, 1.05fr) minmax(24rem, 0.95fr);
}

.beauty-studio-core-split--surface {
	background: var(--beauty-color-surface);
}

.beauty-studio-core-split__content {
	justify-self: end;
}

.beauty-studio-core-split--reverse .beauty-studio-core-split__content {
	justify-self: start;
}

.beauty-studio-core-split__media {
	width: min(100%, 42rem);
	padding: 0;
}

.beauty-studio-core-split__media::before {
	display: none;
	content: none;
}

.beauty-studio-core-split__image,
.beauty-studio-core-split__media > .beauty-studio-core-placeholder {
	aspect-ratio: 5 / 6;
	min-height: clamp(31rem, 45vw, 49rem);
}

.beauty-studio-core-split__small {
	position: absolute;
	right: clamp(-1rem, -2vw, -0.35rem);
	bottom: clamp(2rem, 4vw, 4rem);
	width: min(34%, 13rem);
	border: clamp(0.5rem, 0.8vw, 0.8rem) solid var(--beauty-color-background);
	z-index: 2;
}

.beauty-studio-core-split--surface .beauty-studio-core-split__small {
	border-color: var(--beauty-color-surface);
}

.beauty-studio-core-split__small-image,
.beauty-studio-core-split__small .beauty-studio-core-placeholder {
	aspect-ratio: 1;
	width: 100%;
	min-height: 0;
}

/* Services */
.beauty-studio-core-section-header {
	display: grid;
	grid-template-columns: minmax(18rem, 0.7fr) minmax(30rem, 1.3fr);
	gap: clamp(3rem, 7vw, 8rem);
	align-items: end;
	margin-bottom: clamp(3.5rem, 6vw, 6rem);
}

.beauty-studio-core-section-header h2 {
	max-width: 12ch;
}

.beauty-studio-core-section-header p {
	justify-self: end;
	max-width: 33rem;
	margin-top: 0;
}

.beauty-studio-core-services__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--beauty-color-border);
	border-left: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-services--cols-3 .beauty-studio-core-services__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.beauty-studio-core-service {
	position: relative;
	display: flex;
	min-height: clamp(22rem, 29vw, 31rem);
	flex-direction: column;
	padding: clamp(2rem, 3.5vw, 3.75rem);
	overflow: hidden;
	border-right: 1px solid var(--beauty-color-border);
	border-bottom: 1px solid var(--beauty-color-border);
	background: transparent;
	transition: background-color var(--beauty-transition);
}

.beauty-studio-core-service:hover {
	background: var(--beauty-color-surface);
}

.beauty-studio-core-service::after {
	position: absolute;
	top: clamp(2rem, 3.5vw, 3.75rem);
	right: clamp(2rem, 3.5vw, 3.75rem);
	width: 2.75rem;
	height: 1px;
	background: var(--beauty-color-border);
	content: "";
	transition: width var(--beauty-transition), background-color var(--beauty-transition);
}

.beauty-studio-core-service:hover::after {
	width: 4rem;
	background: var(--beauty-color-accent-dark);
}

.beauty-studio-core-service__media {
	margin: 0 0 clamp(1.75rem, 3vw, 2.75rem);
	overflow: hidden;
}

.beauty-studio-core-service__image,
.beauty-studio-core-service__media > .beauty-studio-core-placeholder {
	aspect-ratio: 4 / 3;
	min-height: 0;
}

.beauty-studio-core-service__image {
	transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.beauty-studio-core-service:hover .beauty-studio-core-service__image {
	transform: scale(1.025);
}

.beauty-studio-core-service__number {
	display: block;
	margin: 0 0 auto;
	padding-bottom: clamp(2.5rem, 5vw, 5rem);
	color: var(--beauty-color-accent-dark);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.beauty-studio-core-service h3 {
	max-width: 12ch;
	margin: 0 0 1rem;
	font-size: clamp(2rem, 2.7vw, 3.35rem);
	line-height: 0.98;
}

.beauty-studio-core-service p {
	max-width: 34rem;
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: clamp(0.94rem, 0.9rem + 0.16vw, 1.06rem);
	line-height: 1.7;
}

.beauty-studio-core-service__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.2rem;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
	padding-top: 1rem;
	border-top: 1px solid var(--beauty-core-line);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.beauty-studio-core-text-link {
	display: inline-flex;
	width: fit-content;
	margin-top: 1.25rem;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid currentColor;
	color: var(--beauty-color-accent-dark);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

/* Testimonials */
.beauty-studio-core-testimonials {
	background: var(--beauty-color-surface);
}

.beauty-studio-core-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 4.5rem);
}

.beauty-studio-core-testimonial {
	position: relative;
	display: flex;
	grid-column: span 4;
	min-height: clamp(20rem, 25vw, 27rem);
	flex-direction: column;
	gap: clamp(1.5rem, 2.5vw, 2.25rem);
	padding: clamp(2rem, 3vw, 3rem) 0 0;
	margin: 0;
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-testimonial:first-child {
	grid-column: span 5;
}

.beauty-studio-core-testimonial:nth-child(2) {
	grid-column: span 3;
}

.beauty-studio-core-testimonial::before {
	position: absolute;
	top: clamp(1.65rem, 2.7vw, 2.7rem);
	right: 0;
	color: var(--beauty-color-border);
	content: "\201C";
	font-family: var(--beauty-font-heading);
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 0.65;
}

.beauty-studio-core-testimonial blockquote {
	max-width: 19ch;
	margin: 0;
	padding-right: 2.5rem;
	font-size: clamp(1.65rem, 2.1vw, 2.65rem);
	line-height: 1.06;
}

.beauty-studio-core-testimonial:first-child blockquote {
	font-size: clamp(2rem, 2.8vw, 3.5rem);
}

.beauty-studio-core-testimonial figcaption {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-top: auto;
	font-size: 0.84rem;
	font-weight: 700;
}

.beauty-studio-core-testimonial small,
.beauty-studio-core-rating {
	color: var(--beauty-color-muted);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.45;
	text-transform: uppercase;
}

.beauty-studio-core-rating {
	color: var(--beauty-color-accent-dark);
}

.beauty-studio-core-testimonials--editorial .beauty-studio-core-testimonials__grid {
	grid-template-columns: 1fr;
	gap: 0;
}

/* CTA */
.beauty-studio-core-cta {
	display: flex;
	min-height: clamp(31rem, 56vw, 47rem);
	align-items: center;
	justify-content: center;
	padding: clamp(6rem, 10vw, 11rem) max(
		var(--beauty-core-gutter),
		calc((100vw - 82rem) / 2)
	);
	overflow: hidden;
	border-top: 1px solid var(--beauty-core-line);
	background-color: var(--beauty-color-surface);
	background-position: center;
	background-size: cover;
}

.beauty-studio-core-cta::before,
.beauty-studio-core-cta::after {
	position: absolute;
	top: 50%;
	width: clamp(3rem, 8vw, 8rem);
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.24;
}

.beauty-studio-core-cta::before {
	left: var(--beauty-core-gutter);
}

.beauty-studio-core-cta::after {
	right: var(--beauty-core-gutter);
}

.beauty-studio-core-cta--dark {
	background-color: var(--beauty-color-text);
	background-blend-mode: multiply;
	color: var(--beauty-color-surface);
}

.beauty-studio-core-cta__inner {
	position: relative;
	z-index: 2;
	max-width: 60rem;
	margin: 0 auto;
	text-align: center;
}

.beauty-studio-core-cta h2 {
	max-width: 13ch;
	margin-right: auto;
	margin-left: auto;
	font-size: clamp(3.75rem, 6.2vw, 7.5rem);
	line-height: 0.9;
}

.beauty-studio-core-cta p {
	max-width: 36rem;
	margin-right: auto;
	margin-left: auto;
}

.beauty-studio-core-cta .beauty-studio-core-actions {
	justify-content: center;
}

.beauty-studio-core-cta--dark :is(
	.beauty-studio-core-eyebrow,
	p,
	h2
) {
	color: inherit;
}

.beauty-studio-core-cta--dark .beauty-studio-core-button {
	background: var(--beauty-color-surface);
	border-color: var(--beauty-color-surface);
	color: var(--beauty-color-text);
}

/* Demo page architecture */
:is(
	.beauty-studio-core-page-hero,
	.beauty-studio-core-story,
	.beauty-studio-core-values,
	.beauty-studio-core-detail-list,
	.beauty-studio-core-pricing-menu,
	.beauty-studio-core-gallery,
	.beauty-studio-core-contact-details,
	.beauty-studio-core-form-placeholder
) {
	position: relative;
	width: 100%;
	margin: 0;
	padding: var(--beauty-core-section) max(
		var(--beauty-core-gutter),
		calc((100vw - var(--beauty-core-wide)) / 2)
	);
	background: var(--beauty-color-background);
	color: var(--beauty-color-text);
}

.beauty-studio-core-page-hero {
	display: grid;
	grid-template-columns: minmax(20rem, 0.9fr) minmax(22rem, 0.7fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: end;
	min-height: clamp(31rem, 58vw, 48rem);
	border-bottom: 1px solid var(--beauty-core-line);
}

.beauty-studio-core-page-hero--compact {
	min-height: clamp(24rem, 42vw, 36rem);
}

.beauty-studio-core-page-hero--dark {
	background: var(--beauty-color-text);
	color: var(--beauty-color-surface);
}

.beauty-studio-core-page-hero--dark :is(.beauty-studio-core-eyebrow, .beauty-studio-core-lede) {
	color: inherit;
}

.beauty-studio-core-page-hero__content {
	max-width: 54rem;
}

.beauty-studio-core-page-hero h1,
.beauty-studio-core-story h2,
.beauty-studio-core-value h3,
.beauty-studio-core-detail-service h3,
.beauty-studio-core-pricing-menu h2,
.beauty-studio-core-contact-details h2,
.beauty-studio-core-form-placeholder h2 {
	margin: 0;
	font-family: var(--beauty-font-heading);
	font-weight: 400;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.beauty-studio-core-page-hero h1 {
	max-width: 12ch;
	font-size: clamp(3.75rem, 6vw, 7rem);
	line-height: 0.92;
}

.beauty-studio-core-page-hero__media {
	width: min(100%, 34rem);
	justify-self: end;
}

.beauty-studio-core-page-hero__image,
.beauty-studio-core-page-hero__media > .beauty-studio-core-placeholder {
	aspect-ratio: 4 / 5;
	min-height: clamp(24rem, 39vw, 40rem);
}

.beauty-studio-core-story,
.beauty-studio-core-contact-details,
.beauty-studio-core-form-placeholder {
	display: grid;
	grid-template-columns: minmax(22rem, 0.9fr) minmax(25rem, 1.1fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: center;
	background: var(--beauty-color-surface);
}

.beauty-studio-core-story--reverse .beauty-studio-core-story__media,
.beauty-studio-core-contact-details__media {
	order: 2;
}

.beauty-studio-core-story__media,
.beauty-studio-core-contact-details__media {
	position: relative;
	width: min(100%, 38rem);
}

.beauty-studio-core-story__image,
.beauty-studio-core-story__media > .beauty-studio-core-placeholder,
.beauty-studio-core-contact-details__image,
.beauty-studio-core-contact-details__media > .beauty-studio-core-placeholder {
	aspect-ratio: 3 / 4;
	min-height: clamp(28rem, 42vw, 43rem);
}

.beauty-studio-core-story__small {
	position: absolute;
	right: clamp(-1rem, -2vw, -0.35rem);
	bottom: clamp(2rem, 4vw, 4rem);
	width: min(34%, 13rem);
	border: clamp(0.5rem, 0.8vw, 0.8rem) solid var(--beauty-color-surface);
}

.beauty-studio-core-story__small-image,
.beauty-studio-core-story__small .beauty-studio-core-placeholder {
	aspect-ratio: 1;
	width: 100%;
	min-height: 0;
}

.beauty-studio-core-story h2,
.beauty-studio-core-pricing-menu h2,
.beauty-studio-core-contact-details h2,
.beauty-studio-core-form-placeholder h2 {
	max-width: 11ch;
	font-size: clamp(3rem, 4.6vw, 5.8rem);
	line-height: 0.95;
}

.beauty-studio-core-values__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--beauty-color-border);
	border-left: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-values--cols-2 .beauty-studio-core-values__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.beauty-studio-core-value {
	min-height: 18rem;
	padding: clamp(2rem, 3vw, 3.25rem);
	border-right: 1px solid var(--beauty-color-border);
	border-bottom: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-value span,
.beauty-studio-core-pricing-menu__category {
	display: block;
	margin-bottom: clamp(1.5rem, 3vw, 3rem);
	color: var(--beauty-color-accent-dark);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.beauty-studio-core-value h3,
.beauty-studio-core-detail-service h3,
.beauty-studio-core-price-item h4 {
	font-size: clamp(1.65rem, 2.2vw, 2.6rem);
	line-height: 1.05;
}

.beauty-studio-core-value p,
.beauty-studio-core-detail-service p,
.beauty-studio-core-price-item p,
.beauty-studio-core-contact-details dd {
	color: var(--beauty-color-muted);
	line-height: 1.7;
}

.beauty-studio-core-detail-list__items,
.beauty-studio-core-pricing-menu__list {
	display: grid;
	gap: clamp(2rem, 4vw, 4rem);
}

.beauty-studio-core-detail-service {
	display: grid;
	grid-template-columns: minmax(14rem, 0.55fr) minmax(22rem, 1fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	padding-top: clamp(2rem, 4vw, 4rem);
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__media {
	order: 2;
}

.beauty-studio-core-detail-service__image,
.beauty-studio-core-detail-service__media > .beauty-studio-core-placeholder {
	aspect-ratio: 4 / 3;
	min-height: clamp(14rem, 24vw, 22rem);
}

.beauty-studio-core-price-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	padding: clamp(1.5rem, 2.5vw, 2.5rem) 0;
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-price-item h4 {
	margin: 0 0 0.65rem;
	font-family: var(--beauty-font-heading);
	font-weight: 400;
}

.beauty-studio-core-price-item__meta {
	display: flex;
	min-width: 9rem;
	flex-direction: column;
	gap: 0.35rem;
	align-items: flex-end;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.beauty-studio-core-gallery__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
}

.beauty-studio-core-gallery__item {
	grid-column: span 4;
	margin: 0;
}

.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(5n+1) {
	grid-column: span 5;
}

.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(5n+2) {
	grid-column: span 7;
}

.beauty-studio-core-gallery--portrait .beauty-studio-core-gallery__image,
.beauty-studio-core-gallery--portrait .beauty-studio-core-gallery__item > .beauty-studio-core-placeholder {
	aspect-ratio: 4 / 5;
}

.beauty-studio-core-gallery--square .beauty-studio-core-gallery__image,
.beauty-studio-core-gallery--square .beauty-studio-core-gallery__item > .beauty-studio-core-placeholder {
	aspect-ratio: 1;
}

.beauty-studio-core-gallery--landscape .beauty-studio-core-gallery__image,
.beauty-studio-core-gallery--landscape .beauty-studio-core-gallery__item > .beauty-studio-core-placeholder {
	aspect-ratio: 4 / 3;
}

.beauty-studio-core-gallery figcaption {
	margin-top: 0.75rem;
	color: var(--beauty-color-muted);
	font-size: 0.82rem;
}

.beauty-studio-core-contact-details__list {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 1rem 2rem;
	margin: clamp(2rem, 4vw, 3rem) 0 0;
}

.beauty-studio-core-contact-details dt {
	color: var(--beauty-color-accent-dark);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.beauty-studio-core-contact-details dd {
	margin: 0;
}

.beauty-studio-core-demo-form {
	display: grid;
	gap: 1rem;
}

.beauty-studio-core-demo-form label {
	display: grid;
	gap: 0.45rem;
	color: var(--beauty-color-accent-dark);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.beauty-studio-core-demo-form :is(input, textarea) {
	width: 100%;
	border: 1px solid var(--beauty-color-border);
	background: var(--beauty-color-surface);
	color: var(--beauty-color-text);
}

.beauty-studio-core-editor-note {
	padding: 1rem;
	border: 1px solid var(--beauty-color-border);
	color: var(--beauty-color-muted);
	font-size: 0.9rem;
	line-height: 1.6;
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-button,
	.beauty-studio-core-service,
	.beauty-studio-core-service::after,
	.beauty-studio-core-service__image {
		transition: none;
	}

	.beauty-studio-core-button:hover,
	.beauty-studio-core-button:focus-visible,
	.beauty-studio-core-service:hover .beauty-studio-core-service__image {
		transform: none;
	}
}

@media (max-width: 63.9375rem) {
	:is(
		.beauty-studio-core-hero,
		.beauty-studio-core-intro,
		.beauty-studio-core-split,
		.beauty-studio-core-section-header,
		.beauty-studio-core-page-hero,
		.beauty-studio-core-story,
		.beauty-studio-core-contact-details,
		.beauty-studio-core-form-placeholder,
		.beauty-studio-core-detail-service
	) {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-hero {
		min-height: 0;
		padding-top: 5rem;
	}

	.beauty-studio-core-hero__heading {
		font-size: clamp(4rem, 10vw, 6.5rem);
	}

	.beauty-studio-core-hero__media {
		width: min(100%, 44rem);
		margin-top: 1rem;
	}

	.beauty-studio-core-image-left :is(
		.beauty-studio-core-hero__content,
		.beauty-studio-core-hero__media
	) {
		order: initial;
	}

	.beauty-studio-core-intro__media,
	.beauty-studio-core-image-right .beauty-studio-core-intro__media {
		order: 1;
		width: min(82%, 36rem);
		justify-self: start;
	}

	.beauty-studio-core-intro__content {
		order: 2;
		justify-self: end;
	}

	.beauty-studio-core-section-header p {
		justify-self: start;
	}

	.beauty-studio-core-split__content {
		order: 1;
		justify-self: start;
	}

	.beauty-studio-core-split__media,
	.beauty-studio-core-split--reverse .beauty-studio-core-split__media {
		order: 2;
		width: min(86%, 42rem);
		justify-self: end;
	}

	.beauty-studio-core-services--cols-3 .beauty-studio-core-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.beauty-studio-core-testimonial,
	.beauty-studio-core-testimonial:first-child,
	.beauty-studio-core-testimonial:nth-child(2) {
		grid-column: auto;
	}

	.beauty-studio-core-testimonial:first-child {
		grid-column: 1 / -1;
	}

	.beauty-studio-core-cta::before,
	.beauty-studio-core-cta::after {
		display: none;
	}

	.beauty-studio-core-values__grid,
	.beauty-studio-core-values--cols-2 .beauty-studio-core-values__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.beauty-studio-core-gallery__item,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(n) {
		grid-column: span 6;
	}
}

@media (max-width: 47.9375rem) {
	:root {
		--beauty-core-gutter: 1.15rem;
		--beauty-core-section: clamp(4.75rem, 18vw, 6.5rem);
	}

	:is(
		.beauty-studio-core-hero,
		.beauty-studio-core-intro,
		.beauty-studio-core-services,
		.beauty-studio-core-split,
		.beauty-studio-core-testimonials,
		.beauty-studio-core-cta,
		.beauty-studio-core-page-hero,
		.beauty-studio-core-story,
		.beauty-studio-core-values,
		.beauty-studio-core-detail-list,
		.beauty-studio-core-pricing-menu,
		.beauty-studio-core-gallery,
		.beauty-studio-core-contact-details,
		.beauty-studio-core-form-placeholder
	) {
		padding-right: var(--beauty-core-gutter);
		padding-left: var(--beauty-core-gutter);
	}

	.beauty-studio-core-hero {
		gap: 3rem;
		padding-top: 3.75rem;
		padding-bottom: 5.5rem;
	}

	.beauty-studio-core-hero::before {
		display: none;
	}

	.beauty-studio-core-hero__heading {
		max-width: 9ch;
		font-size: clamp(3.45rem, 17vw, 5rem);
	}

	.beauty-studio-core-hero__media,
	.beauty-studio-core-image-left .beauty-studio-core-hero__media {
		width: calc(100% - 1rem);
		padding-right: 1rem;
		padding-left: 0;
	}

	.beauty-studio-core-hero__image,
	.beauty-studio-core-hero__media > .beauty-studio-core-placeholder {
		min-height: 30rem;
	}

	.beauty-studio-core-actions {
		flex-direction: column;
	}

	.beauty-studio-core-button {
		width: 100%;
	}

	.beauty-studio-core-intro h2,
	.beauty-studio-core-split h2,
	.beauty-studio-core-section-header h2,
	.beauty-studio-core-cta h2 {
		font-size: clamp(2.75rem, 13vw, 4.35rem);
	}

	.beauty-studio-core-services__grid,
	.beauty-studio-core-services--cols-3 .beauty-studio-core-services__grid,
	.beauty-studio-core-testimonials__grid {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-service {
		min-height: 23rem;
		padding: 2rem;
	}

	.beauty-studio-core-service::after {
		top: 2rem;
		right: 2rem;
	}

	.beauty-studio-core-testimonial,
	.beauty-studio-core-testimonial:first-child,
	.beauty-studio-core-testimonial:nth-child(2) {
		grid-column: auto;
		min-height: 0;
		padding: 2.5rem 0;
	}

	.beauty-studio-core-testimonial blockquote,
	.beauty-studio-core-testimonial:first-child blockquote {
		max-width: 22ch;
		font-size: clamp(1.75rem, 8vw, 2.5rem);
	}

	.beauty-studio-core-cta {
		min-height: 30rem;
		padding-top: 6rem;
		padding-bottom: 6rem;
	}

	.beauty-studio-core-hide-accent-mobile .beauty-studio-core-hero__accent {
		display: none;
	}

	.beauty-studio-core-page-hero h1,
	.beauty-studio-core-story h2,
	.beauty-studio-core-pricing-menu h2,
	.beauty-studio-core-contact-details h2,
	.beauty-studio-core-form-placeholder h2 {
		font-size: clamp(2.75rem, 13vw, 4.35rem);
	}

	.beauty-studio-core-values__grid,
	.beauty-studio-core-values--cols-2 .beauty-studio-core-values__grid,
	.beauty-studio-core-gallery__grid {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-gallery__item,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(n) {
		grid-column: auto;
	}

	.beauty-studio-core-price-item,
	.beauty-studio-core-contact-details__list {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-price-item__meta {
		align-items: flex-start;
	}
}

/* ==========================================================
   Demo page refinement pass
   Improves page heroes, Studio Story, Values and testimonials
   without changing the existing Home widget architecture.
   ========================================================== */

.beauty-studio-core-page-hero {
	grid-template-columns: minmax(0, 1.05fr) minmax(19rem, 0.68fr);
	gap: clamp(3rem, 6vw, 6.5rem);
	align-items: center;
	min-height: clamp(28rem, 43vw, 39rem);
	padding-top: clamp(4.5rem, 7vw, 7rem);
	padding-bottom: clamp(4.75rem, 7vw, 7.25rem);
}

.beauty-studio-core-page-hero--compact {
	min-height: clamp(23rem, 34vw, 31rem);
	padding-top: clamp(3.75rem, 6vw, 5.75rem);
	padding-bottom: clamp(4rem, 6vw, 6rem);
}

.beauty-studio-core-page-hero__content {
	max-width: 61rem;
}

.beauty-studio-core-page-hero h1 {
	max-width: 13.25ch;
	font-size: clamp(3.8rem, 5.25vw, 6.35rem);
	line-height: 0.91;
	letter-spacing: -0.052em;
}

.beauty-studio-core-page-hero .beauty-studio-core-lede {
	max-width: 43rem;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.15rem);
	line-height: 1.72;
}

.beauty-studio-core-page-hero__media {
	width: min(100%, 31rem);
}

.beauty-studio-core-page-hero__image,
.beauty-studio-core-page-hero__media > .beauty-studio-core-placeholder {
	min-height: clamp(23rem, 34vw, 35rem);
}

/* Text-only page heroes should not reserve an empty second column. */
.beauty-studio-core-page-hero:not(:has(.beauty-studio-core-page-hero__media)) {
	grid-template-columns: minmax(0, 1fr);
	min-height: clamp(27rem, 36vw, 34rem);
}

.beauty-studio-core-page-hero:not(:has(.beauty-studio-core-page-hero__media)) .beauty-studio-core-page-hero__content {
	width: min(100%, 68rem);
	margin-left: clamp(0rem, 4vw, 4.75rem);
}

.beauty-studio-core-story {
	grid-template-columns: minmax(21rem, 0.88fr) minmax(27rem, 1.12fr);
	gap: clamp(3.75rem, 7vw, 7.25rem);
	padding-top: clamp(5.75rem, 8vw, 8rem);
	padding-bottom: clamp(5.75rem, 8vw, 8rem);
}

.beauty-studio-core-story__media {
	width: min(100%, 34rem);
}

.beauty-studio-core-story__image,
.beauty-studio-core-story__media > .beauty-studio-core-placeholder {
	min-height: clamp(27rem, 37vw, 38rem);
}

.beauty-studio-core-story__content {
	width: 100%;
	max-width: 48rem;
}

.beauty-studio-core-story h2 {
	max-width: 14.25ch;
	font-size: clamp(3.05rem, 4vw, 5.15rem);
	line-height: 0.95;
	letter-spacing: -0.045em;
}

.beauty-studio-core-story .beauty-studio-core-copy {
	max-width: 41rem;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.15rem);
	line-height: 1.76;
}

.beauty-studio-core-story .beauty-studio-core-signature {
	max-width: 27ch;
	font-size: clamp(1.35rem, 1.7vw, 1.9rem);
}

/* Values: reduce dead space and make the hierarchy more deliberate. */
.beauty-studio-core-values {
	padding-top: clamp(5.75rem, 8vw, 8rem);
	padding-bottom: clamp(5.75rem, 8vw, 8rem);
}

.beauty-studio-core-values .beauty-studio-core-section-header {
	grid-template-columns: minmax(11rem, 0.42fr) minmax(0, 1.18fr);
	gap: clamp(2.75rem, 6vw, 6rem);
	align-items: start;
	margin-bottom: clamp(2.75rem, 4.5vw, 4.25rem);
}

.beauty-studio-core-values .beauty-studio-core-section-header h2 {
	max-width: 13.5ch;
	font-size: clamp(3.05rem, 4.15vw, 5.25rem);
	line-height: 0.94;
	letter-spacing: -0.046em;
}

.beauty-studio-core-values .beauty-studio-core-section-header p {
	justify-self: start;
	max-width: 35rem;
	margin-top: 0.5rem;
}

.beauty-studio-core-values__grid {
	background: color-mix(in srgb, var(--beauty-color-surface) 34%, transparent);
}

.beauty-studio-core-value {
	display: flex;
	min-height: clamp(15rem, 19vw, 19rem);
	flex-direction: column;
	padding: clamp(2rem, 2.7vw, 3rem);
}

.beauty-studio-core-value span {
	margin-bottom: auto;
	padding-bottom: clamp(2.25rem, 4vw, 4rem);
}

.beauty-studio-core-value h3 {
	max-width: 15ch;
	margin: 0 0 0.9rem;
	font-size: clamp(1.55rem, 1.8vw, 2.2rem);
}

.beauty-studio-core-value p {
	max-width: 30rem;
	margin: 0;
	font-size: clamp(0.92rem, 0.89rem + 0.12vw, 1rem);
}

/* Slightly calmer split proportions for secondary pages. */
.beauty-studio-core-story + .elementor-element .beauty-studio-core-split,
.beauty-studio-core-values + .elementor-element .beauty-studio-core-split {
	gap: clamp(3.75rem, 7vw, 7.25rem);
}

/* Testimonials: maintain the editorial layout while avoiding narrow columns. */
.beauty-studio-core-testimonials .beauty-studio-core-section-header {
	margin-bottom: clamp(2.75rem, 4.5vw, 4.25rem);
}

.beauty-studio-core-testimonial {
	min-height: clamp(18rem, 22vw, 23rem);
	gap: clamp(1.25rem, 2vw, 1.85rem);
}

.beauty-studio-core-testimonial blockquote {
	max-width: 23ch;
	padding-right: 2rem;
	font-size: clamp(1.55rem, 1.8vw, 2.2rem);
	line-height: 1.08;
}

.beauty-studio-core-testimonial:first-child blockquote {
	max-width: 22ch;
	font-size: clamp(1.85rem, 2.35vw, 2.9rem);
}

.beauty-studio-core-testimonial figcaption {
	font-size: 0.8rem;
}

/* Keep generated pages visually contained inside Elementor's legacy wrappers. */
.elementor-section .beauty-studio-core-page-hero,
.elementor-section .beauty-studio-core-story,
.elementor-section .beauty-studio-core-values,
.elementor-section .beauty-studio-core-detail-list,
.elementor-section .beauty-studio-core-pricing-menu,
.elementor-section .beauty-studio-core-gallery,
.elementor-section .beauty-studio-core-contact-details,
.elementor-section .beauty-studio-core-form-placeholder {
	max-width: none;
}

/* Tablet */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-page-hero {
		gap: 3rem;
		min-height: 0;
		padding-top: clamp(4rem, 8vw, 5.5rem);
		padding-bottom: clamp(4.5rem, 9vw, 6rem);
	}

	.beauty-studio-core-page-hero:not(:has(.beauty-studio-core-page-hero__media)) .beauty-studio-core-page-hero__content {
		margin-left: 0;
	}

	.beauty-studio-core-page-hero h1 {
		max-width: 12.5ch;
		font-size: clamp(3.65rem, 8.2vw, 5.5rem);
	}

	.beauty-studio-core-page-hero__media {
		width: min(76%, 31rem);
		justify-self: end;
	}

	.beauty-studio-core-story {
		gap: clamp(3rem, 7vw, 4.75rem);
	}

	.beauty-studio-core-story__media,
	.beauty-studio-core-story--reverse .beauty-studio-core-story__media {
		order: 1;
		width: min(78%, 34rem);
		justify-self: start;
	}

	.beauty-studio-core-story__content,
	.beauty-studio-core-story--reverse .beauty-studio-core-story__content {
		order: 2;
		max-width: 46rem;
		justify-self: end;
	}

	.beauty-studio-core-story h2 {
		max-width: 13.5ch;
		font-size: clamp(3rem, 7vw, 4.75rem);
	}

	.beauty-studio-core-values .beauty-studio-core-section-header {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.beauty-studio-core-values .beauty-studio-core-section-header h2 {
		max-width: 13ch;
	}

	.beauty-studio-core-value {
		min-height: 15rem;
	}

	.beauty-studio-core-testimonials__grid {
		gap: clamp(1.75rem, 4vw, 3rem);
	}

	.beauty-studio-core-testimonial {
		min-height: 0;
	}
}

/* Mobile */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-page-hero {
		padding-top: 3.75rem;
		padding-bottom: 4.5rem;
	}

	.beauty-studio-core-page-hero h1 {
		max-width: 10.5ch;
		font-size: clamp(3rem, 14.5vw, 4.35rem);
		line-height: 0.93;
	}

	.beauty-studio-core-page-hero .beauty-studio-core-lede {
		max-width: 34rem;
		font-size: 0.98rem;
		line-height: 1.68;
	}

	.beauty-studio-core-page-hero__media {
		width: calc(100% - 1rem);
		justify-self: start;
	}

	.beauty-studio-core-page-hero__image,
	.beauty-studio-core-page-hero__media > .beauty-studio-core-placeholder {
		min-height: 25rem;
	}

	.beauty-studio-core-story {
		gap: 3rem;
		padding-top: 4.75rem;
		padding-bottom: 5rem;
	}

	.beauty-studio-core-story__media,
	.beauty-studio-core-story--reverse .beauty-studio-core-story__media {
		width: calc(100% - 1rem);
	}

	.beauty-studio-core-story__image,
	.beauty-studio-core-story__media > .beauty-studio-core-placeholder {
		min-height: 28rem;
	}

	.beauty-studio-core-story h2 {
		max-width: 11.5ch;
		font-size: clamp(2.8rem, 13vw, 4.1rem);
	}

	.beauty-studio-core-story .beauty-studio-core-copy {
		font-size: 0.98rem;
		line-height: 1.7;
	}

	.beauty-studio-core-values {
		padding-top: 4.75rem;
		padding-bottom: 5rem;
	}

	.beauty-studio-core-values .beauty-studio-core-section-header {
		margin-bottom: 2.5rem;
	}

	.beauty-studio-core-values .beauty-studio-core-section-header h2 {
		max-width: 11.5ch;
		font-size: clamp(2.8rem, 13vw, 4.1rem);
	}

	.beauty-studio-core-value {
		min-height: 0;
		padding: 2rem 1.5rem;
	}

	.beauty-studio-core-value span {
		padding-bottom: 2rem;
	}

	.beauty-studio-core-testimonial,
	.beauty-studio-core-testimonial:first-child,
	.beauty-studio-core-testimonial:nth-child(2) {
		padding-top: 2.25rem;
		padding-bottom: 2.25rem;
	}

	.beauty-studio-core-testimonial blockquote,
	.beauty-studio-core-testimonial:first-child blockquote {
		max-width: 20ch;
		padding-right: 1.75rem;
		font-size: clamp(1.65rem, 7.5vw, 2.2rem);
	}
}

/* ==========================================================
   Services page refinement pass
   Adds a stronger editorial service catalogue while preserving
   the approved Home and About page styling.
   ========================================================== */

.beauty-studio-core-detail-list {
	padding-top: clamp(5.75rem, 8vw, 8.5rem);
	padding-bottom: clamp(6rem, 9vw, 9rem);
	background: var(--beauty-color-surface);
}

.beauty-studio-core-detail-list .beauty-studio-core-section-header {
	grid-template-columns: minmax(12rem, 0.42fr) minmax(0, 1.18fr);
	gap: clamp(2.75rem, 6vw, 6.5rem);
	align-items: start;
	margin-bottom: clamp(3rem, 5vw, 4.75rem);
}

.beauty-studio-core-detail-list .beauty-studio-core-section-header h2 {
	max-width: 13.75ch;
	font-size: clamp(3.15rem, 4.3vw, 5.45rem);
	line-height: 0.93;
	letter-spacing: -0.05em;
}

.beauty-studio-core-detail-list .beauty-studio-core-section-header p {
	justify-self: start;
	max-width: 36rem;
	margin-top: 0.55rem;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.14rem);
	line-height: 1.72;
}

.beauty-studio-core-detail-list__items {
	gap: 0;
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-detail-service {
	position: relative;
	grid-template-columns: minmax(17rem, 0.72fr) minmax(24rem, 1.28fr);
	gap: clamp(3rem, 6vw, 7rem);
	min-height: clamp(31rem, 43vw, 43rem);
	padding: clamp(3.5rem, 6vw, 6.25rem) 0;
	border-top: 0;
	border-bottom: 1px solid var(--beauty-color-border);
	overflow: hidden;
}

.beauty-studio-core-detail-service::before {
	position: absolute;
	top: clamp(3.5rem, 6vw, 6.25rem);
	left: 0;
	width: 2.5rem;
	height: 1px;
	background: var(--beauty-color-accent-dark);
	content: "";
	opacity: 0.72;
}

.beauty-studio-core-detail-service:nth-child(even)::before {
	right: 0;
	left: auto;
}

.beauty-studio-core-detail-service__media {
	position: relative;
	width: min(100%, 34rem);
	padding: 0 clamp(0.75rem, 1.6vw, 1.5rem) clamp(0.75rem, 1.6vw, 1.5rem) 0;
	overflow: visible;
}

.beauty-studio-core-detail-service__media::after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 72%;
	height: 72%;
	border-right: 1px solid var(--beauty-color-border);
	border-bottom: 1px solid var(--beauty-color-border);
	content: "";
	pointer-events: none;
}

.beauty-studio-core-detail-service__image,
.beauty-studio-core-detail-service__media > .beauty-studio-core-placeholder {
	aspect-ratio: 4 / 5;
	min-height: clamp(25rem, 34vw, 36rem);
}

.beauty-studio-core-detail-service__image {
	filter: saturate(0.93) contrast(1.015);
	transition: transform 750ms cubic-bezier(0.22, 1, 0.36, 1);
}

.beauty-studio-core-detail-service:hover .beauty-studio-core-detail-service__image {
	transform: scale(1.018);
}

.beauty-studio-core-detail-service > :not(.beauty-studio-core-detail-service__media),
.beauty-studio-core-detail-service__content {
	align-self: center;
	width: 100%;
	max-width: 43rem;
}

.beauty-studio-core-detail-service h3 {
	max-width: 11.75ch;
	margin: 0 0 clamp(1.25rem, 2vw, 1.8rem);
	font-size: clamp(2.8rem, 4vw, 5rem);
	line-height: 0.94;
	letter-spacing: -0.047em;
}

.beauty-studio-core-detail-service p {
	max-width: 39rem;
	margin: 0;
	font-size: clamp(0.98rem, 0.94rem + 0.17vw, 1.12rem);
	line-height: 1.76;
}

.beauty-studio-core-detail-service :is(
	.beauty-studio-core-detail-service__number,
	.beauty-studio-core-detail-service__eyebrow,
	[class*="detail-service__number"]
) {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	margin: 0 0 clamp(1.5rem, 2.5vw, 2.25rem);
	color: var(--beauty-color-accent-dark);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.beauty-studio-core-detail-service :is(
	.beauty-studio-core-detail-service__number,
	.beauty-studio-core-detail-service__eyebrow,
	[class*="detail-service__number"]
)::after {
	width: 2.25rem;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.64;
}

.beauty-studio-core-detail-service :is(
	.beauty-studio-core-detail-service__meta,
	[class*="detail-service__meta"]
) {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.4rem;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
	padding-top: 1.1rem;
	border-top: 1px solid var(--beauty-core-line);
	color: var(--beauty-color-text);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

.beauty-studio-core-detail-service .beauty-studio-core-button,
.beauty-studio-core-detail-service .beauty-studio-core-text-link {
	margin-top: clamp(1.5rem, 2.5vw, 2.25rem);
}

/* Alternate rows feel intentional rather than mechanically mirrored. */
.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) {
	grid-template-columns: minmax(24rem, 1.28fr) minmax(17rem, 0.72fr);
}

.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__media {
	order: 2;
	justify-self: end;
	padding-right: 0;
	padding-left: clamp(0.75rem, 1.6vw, 1.5rem);
}

.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__media::after {
	right: auto;
	left: 0;
	border-right: 0;
	border-bottom: 1px solid var(--beauty-color-border);
	border-left: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) > :not(.beauty-studio-core-detail-service__media),
.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__content {
	justify-self: start;
}

/* Empty-image rows remain premium instead of appearing broken. */
.beauty-studio-core-detail-service:not(:has(.beauty-studio-core-detail-service__media)) {
	grid-template-columns: minmax(0, 1fr);
	min-height: 0;
	padding-left: clamp(4rem, 8vw, 9rem);
}

.beauty-studio-core-detail-service:not(:has(.beauty-studio-core-detail-service__media)) > *,
.beauty-studio-core-detail-service:not(:has(.beauty-studio-core-detail-service__media)) .beauty-studio-core-detail-service__content {
	max-width: 58rem;
}

/* Services-page values should follow the catalogue with a quieter contrast. */
.beauty-studio-core-detail-list + .elementor-element .beauty-studio-core-values,
.elementor-element:has(.beauty-studio-core-detail-list) + .elementor-element .beauty-studio-core-values {
	background: var(--beauty-color-background);
}

/* Tablet */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-detail-list .beauty-studio-core-section-header {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.beauty-studio-core-detail-list .beauty-studio-core-section-header h2 {
		max-width: 13ch;
	}

	.beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) {
		grid-template-columns: 1fr;
		gap: clamp(2.75rem, 6vw, 4.25rem);
		min-height: 0;
		padding-top: clamp(3.5rem, 7vw, 5rem);
		padding-bottom: clamp(3.5rem, 7vw, 5rem);
	}

	.beauty-studio-core-detail-service::before,
	.beauty-studio-core-detail-service:nth-child(even)::before {
		top: clamp(3.5rem, 7vw, 5rem);
		right: auto;
		left: 0;
	}

	.beauty-studio-core-detail-service__media,
	.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__media {
		order: 1;
		width: min(76%, 34rem);
		justify-self: start;
		padding-right: clamp(0.75rem, 1.6vw, 1.5rem);
		padding-left: 0;
	}

	.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__media::after {
		right: 0;
		left: auto;
		border-right: 1px solid var(--beauty-color-border);
		border-bottom: 1px solid var(--beauty-color-border);
		border-left: 0;
	}

	.beauty-studio-core-detail-service > :not(.beauty-studio-core-detail-service__media),
	.beauty-studio-core-detail-service__content,
	.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) > :not(.beauty-studio-core-detail-service__media),
	.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__content {
		order: 2;
		max-width: 46rem;
		justify-self: end;
	}

	.beauty-studio-core-detail-service:not(:has(.beauty-studio-core-detail-service__media)) {
		padding-left: 0;
	}
}

/* Mobile */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-detail-list {
		padding-top: 4.75rem;
		padding-bottom: 5rem;
	}

	.beauty-studio-core-detail-list .beauty-studio-core-section-header {
		margin-bottom: 2.5rem;
	}

	.beauty-studio-core-detail-list .beauty-studio-core-section-header h2 {
		max-width: 11.25ch;
		font-size: clamp(2.8rem, 13vw, 4.1rem);
	}

	.beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) {
		gap: 2.75rem;
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.beauty-studio-core-detail-service::before,
	.beauty-studio-core-detail-service:nth-child(even)::before {
		top: 3.5rem;
	}

	.beauty-studio-core-detail-service__media,
	.beauty-studio-core-detail-list--alternate .beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__media {
		width: calc(100% - 1rem);
	}

	.beauty-studio-core-detail-service__image,
	.beauty-studio-core-detail-service__media > .beauty-studio-core-placeholder {
		min-height: 27rem;
	}

	.beauty-studio-core-detail-service h3 {
		max-width: 10.75ch;
		font-size: clamp(2.65rem, 12.5vw, 3.9rem);
	}

	.beauty-studio-core-detail-service p {
		font-size: 0.98rem;
		line-height: 1.7;
	}

	.beauty-studio-core-detail-service:not(:has(.beauty-studio-core-detail-service__media)) {
		padding-left: 0;
	}
}

/* ==========================================================
   Pricing page refinement pass
   Creates an editorial treatment menu rather than SaaS cards.
   Preserves the approved Home, About and Services styling.
   ========================================================== */

.beauty-studio-core-pricing-menu {
	padding-top: clamp(5.75rem, 8vw, 8.5rem);
	padding-bottom: clamp(6rem, 9vw, 9rem);
	background: var(--beauty-color-surface);
}

.beauty-studio-core-pricing-menu > .beauty-studio-core-eyebrow {
	margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

.beauty-studio-core-pricing-menu h2 {
	max-width: 13.5ch;
	font-size: clamp(3.2rem, 4.45vw, 5.65rem);
	line-height: 0.93;
	letter-spacing: -0.052em;
}

.beauty-studio-core-pricing-menu > .beauty-studio-core-copy,
.beauty-studio-core-pricing-menu > .beauty-studio-core-lede {
	max-width: 43rem;
	margin-top: clamp(1.25rem, 2vw, 1.75rem);
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.15rem);
	line-height: 1.74;
}

.beauty-studio-core-pricing-menu__list {
	position: relative;
	gap: 0;
	max-width: 88rem;
	margin-top: clamp(3.75rem, 6vw, 6rem);
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-price-item {
	position: relative;
	grid-template-columns: minmax(0, 1fr) minmax(9rem, auto);
	gap: clamp(2rem, 5vw, 5.5rem);
	align-items: end;
	padding: clamp(2rem, 3.5vw, 3.5rem) clamp(0rem, 1.25vw, 1rem);
	border-top: 0;
	border-bottom: 1px solid var(--beauty-color-border);
	transition:
		background-color var(--beauty-transition),
		padding-right var(--beauty-transition),
		padding-left var(--beauty-transition);
}

.beauty-studio-core-price-item:hover {
	padding-right: clamp(0.75rem, 1.5vw, 1.5rem);
	padding-left: clamp(0.75rem, 1.5vw, 1.5rem);
	background: color-mix(in srgb, var(--beauty-color-background) 56%, transparent);
}

.beauty-studio-core-price-item::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 0;
	height: 1px;
	background: var(--beauty-color-accent-dark);
	content: "";
	transition: width var(--beauty-transition);
}

.beauty-studio-core-price-item:hover::before {
	width: clamp(1.5rem, 3vw, 3rem);
}

.beauty-studio-core-price-item > :first-child {
	max-width: 60rem;
}

.beauty-studio-core-pricing-menu__category {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: clamp(1.15rem, 2vw, 1.65rem);
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	line-height: 1.2;
}

.beauty-studio-core-pricing-menu__category::after {
	width: 2rem;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.62;
}

.beauty-studio-core-price-item h4 {
	max-width: 19ch;
	margin: 0 0 0.75rem;
	font-size: clamp(1.9rem, 2.45vw, 3.15rem);
	line-height: 0.98;
	letter-spacing: -0.037em;
}

.beauty-studio-core-price-item p {
	max-width: 44rem;
	margin: 0;
	font-size: clamp(0.94rem, 0.9rem + 0.14vw, 1.04rem);
	line-height: 1.68;
}

.beauty-studio-core-price-item__meta {
	min-width: clamp(9rem, 12vw, 13rem);
	gap: 0.6rem;
	align-self: center;
	padding-left: clamp(1.25rem, 2.5vw, 2.5rem);
	border-left: 1px solid var(--beauty-core-line);
	color: var(--beauty-color-muted);
	font-size: 0.75rem;
	letter-spacing: 0.095em;
	line-height: 1.4;
	text-transform: uppercase;
}

.beauty-studio-core-price-item__meta > :last-child,
.beauty-studio-core-price-item__price,
.beauty-studio-core-price-item strong {
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.55rem, 1.9vw, 2.25rem);
	font-weight: 400;
	letter-spacing: -0.03em;
	line-height: 1;
	text-transform: none;
}

.beauty-studio-core-pricing-menu > .beauty-studio-core-actions {
	margin-top: clamp(2.75rem, 5vw, 4.5rem);
}

/* Consultation notes placed after the pricing menu. */
.elementor-element:has(.beauty-studio-core-pricing-menu) + .elementor-element .beauty-studio-core-values {
	background: var(--beauty-color-background);
}

.elementor-element:has(.beauty-studio-core-pricing-menu) + .elementor-element .beauty-studio-core-values .beauty-studio-core-section-header {
	margin-bottom: clamp(2.5rem, 4vw, 3.75rem);
}

.elementor-element:has(.beauty-studio-core-pricing-menu) + .elementor-element .beauty-studio-core-value {
	min-height: clamp(13rem, 16vw, 16rem);
}

/* Tablet */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-pricing-menu h2 {
		max-width: 12.75ch;
		font-size: clamp(3.1rem, 7vw, 4.8rem);
	}

	.beauty-studio-core-pricing-menu__list {
		margin-top: clamp(3rem, 6vw, 4.5rem);
	}

	.beauty-studio-core-price-item {
		grid-template-columns: minmax(0, 1fr) minmax(8.5rem, auto);
		gap: clamp(1.75rem, 4vw, 3.5rem);
	}

	.beauty-studio-core-price-item h4 {
		max-width: 17ch;
	}

	.beauty-studio-core-price-item__meta {
		min-width: 8.5rem;
	}
}

/* Mobile */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-pricing-menu {
		padding-top: 4.75rem;
		padding-bottom: 5rem;
	}

	.beauty-studio-core-pricing-menu h2 {
		max-width: 11.25ch;
		font-size: clamp(2.8rem, 13vw, 4.1rem);
	}

	.beauty-studio-core-pricing-menu > .beauty-studio-core-copy,
	.beauty-studio-core-pricing-menu > .beauty-studio-core-lede {
		font-size: 0.98rem;
		line-height: 1.68;
	}

	.beauty-studio-core-pricing-menu__list {
		margin-top: 2.75rem;
	}

	.beauty-studio-core-price-item,
	.beauty-studio-core-price-item:hover {
		grid-template-columns: 1fr;
		gap: 1.6rem;
		padding: 2.25rem 0;
		background: transparent;
	}

	.beauty-studio-core-price-item::before {
		display: none;
	}

	.beauty-studio-core-price-item h4 {
		max-width: 14ch;
		font-size: clamp(1.85rem, 8vw, 2.6rem);
	}

	.beauty-studio-core-price-item p {
		font-size: 0.96rem;
	}

	.beauty-studio-core-price-item__meta {
		min-width: 0;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		justify-content: space-between;
		gap: 0.75rem 1.25rem;
		padding-top: 1rem;
		padding-left: 0;
		border-top: 1px solid var(--beauty-core-line);
		border-left: 0;
	}

	.beauty-studio-core-price-item__meta > :last-child,
	.beauty-studio-core-price-item__price,
	.beauty-studio-core-price-item strong {
		font-size: clamp(1.45rem, 7vw, 1.95rem);
	}
}

/* ==========================================================
   Gallery page refinement pass
   Creates a premium editorial image wall with deliberate rhythm.
   Preserves the approved Home, About, Services and Pricing styling.
   ========================================================== */

.beauty-studio-core-gallery {
	padding-top: clamp(5.75rem, 8vw, 8.5rem);
	padding-bottom: clamp(6rem, 9vw, 9rem);
	background: var(--beauty-color-surface);
}

.beauty-studio-core-gallery .beauty-studio-core-section-header {
	grid-template-columns: minmax(12rem, 0.42fr) minmax(0, 1.18fr);
	gap: clamp(2.75rem, 6vw, 6.5rem);
	align-items: start;
	margin-bottom: clamp(3.25rem, 5vw, 5rem);
}

.beauty-studio-core-gallery .beauty-studio-core-section-header h2 {
	max-width: 13.5ch;
	font-size: clamp(3.15rem, 4.35vw, 5.55rem);
	line-height: 0.93;
	letter-spacing: -0.05em;
}

.beauty-studio-core-gallery .beauty-studio-core-section-header p {
	justify-self: start;
	max-width: 36rem;
	margin-top: 0.55rem;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.14rem);
	line-height: 1.72;
}

.beauty-studio-core-gallery__grid {
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(1rem, 1.8vw, 1.6rem);
	align-items: start;
}

.beauty-studio-core-gallery__item {
	position: relative;
	grid-column: span 4;
	overflow: hidden;
}

.beauty-studio-core-gallery__item::after {
	position: absolute;
	inset: 0;
	border: 1px solid color-mix(in srgb, var(--beauty-color-border) 88%, transparent);
	content: "";
	pointer-events: none;
}

.beauty-studio-core-gallery__image,
.beauty-studio-core-gallery__item > .beauty-studio-core-placeholder {
	width: 100%;
	transition:
		transform 850ms cubic-bezier(0.22, 1, 0.36, 1),
		filter var(--beauty-transition);
}

.beauty-studio-core-gallery__image {
	filter: saturate(0.94) contrast(1.015);
}

.beauty-studio-core-gallery__item:hover .beauty-studio-core-gallery__image {
	transform: scale(1.018);
	filter: saturate(1) contrast(1.02);
}

/* Editorial rhythm: 5 / 7, 7 / 5, then three balanced columns. */
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 1) {
	grid-column: span 5;
}

.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 2) {
	grid-column: span 7;
}

.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 3) {
	grid-column: span 7;
}

.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 4) {
	grid-column: span 5;
}

.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 5),
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 6) {
	grid-column: span 6;
}

/* Mixed heights keep the wall editorial rather than catalogue-like. */
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 1) .beauty-studio-core-gallery__image,
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 1) > .beauty-studio-core-placeholder,
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 4) .beauty-studio-core-gallery__image,
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 4) > .beauty-studio-core-placeholder {
	aspect-ratio: 4 / 5;
}

.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 2) .beauty-studio-core-gallery__image,
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 2) > .beauty-studio-core-placeholder,
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 3) .beauty-studio-core-gallery__image,
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 3) > .beauty-studio-core-placeholder {
	aspect-ratio: 5 / 4;
}

.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 5) .beauty-studio-core-gallery__image,
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 5) > .beauty-studio-core-placeholder,
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 6) .beauty-studio-core-gallery__image,
.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(6n + 6) > .beauty-studio-core-placeholder {
	aspect-ratio: 4 / 3;
}

.beauty-studio-core-gallery figcaption {
	position: relative;
	margin: 0;
	padding: 0.85rem 0 0;
	color: var(--beauty-color-muted);
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.07em;
	line-height: 1.45;
	text-transform: uppercase;
}

/* Empty galleries still feel intentional in the demo. */
.beauty-studio-core-gallery__grid:empty {
	display: grid;
	min-height: clamp(24rem, 40vw, 36rem);
	place-items: center;
	border-top: 1px solid var(--beauty-color-border);
	border-bottom: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-gallery__grid:empty::before {
	max-width: 30rem;
	color: var(--beauty-color-muted);
	content: "Add your studio, treatment and skincare imagery in Elementor.";
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1.6;
	text-align: center;
	text-transform: uppercase;
}

/* Gallery CTA separation */
.elementor-element:has(.beauty-studio-core-gallery) + .elementor-element .beauty-studio-core-cta {
	border-top-color: var(--beauty-color-border);
}

/* Tablet */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-gallery .beauty-studio-core-section-header {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.beauty-studio-core-gallery .beauty-studio-core-section-header h2 {
		max-width: 13ch;
		font-size: clamp(3.05rem, 7vw, 4.8rem);
	}

	.beauty-studio-core-gallery__grid {
		gap: clamp(0.9rem, 2vw, 1.35rem);
	}

	.beauty-studio-core-gallery__item,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(n) {
		grid-column: span 6;
	}

	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(4n + 1) .beauty-studio-core-gallery__image,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(4n + 1) > .beauty-studio-core-placeholder,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(4n + 4) .beauty-studio-core-gallery__image,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(4n + 4) > .beauty-studio-core-placeholder {
		aspect-ratio: 4 / 5;
	}

	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(4n + 2) .beauty-studio-core-gallery__image,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(4n + 2) > .beauty-studio-core-placeholder,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(4n + 3) .beauty-studio-core-gallery__image,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(4n + 3) > .beauty-studio-core-placeholder {
		aspect-ratio: 4 / 3;
	}
}

/* Mobile */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-gallery {
		padding-top: 4.75rem;
		padding-bottom: 5rem;
	}

	.beauty-studio-core-gallery .beauty-studio-core-section-header {
		margin-bottom: 2.5rem;
	}

	.beauty-studio-core-gallery .beauty-studio-core-section-header h2 {
		max-width: 11.25ch;
		font-size: clamp(2.8rem, 13vw, 4.1rem);
	}

	.beauty-studio-core-gallery .beauty-studio-core-section-header p {
		font-size: 0.98rem;
		line-height: 1.68;
	}

	.beauty-studio-core-gallery__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.beauty-studio-core-gallery__item,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(n) {
		grid-column: auto;
	}

	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(n) .beauty-studio-core-gallery__image,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(n) > .beauty-studio-core-placeholder {
		aspect-ratio: 4 / 5;
	}

	.beauty-studio-core-gallery figcaption {
		padding-top: 0.7rem;
		font-size: 0.72rem;
	}
}

/* ==========================================================
   Premium Contact experience
   Keeps the form honest and non-functional while presenting a
   high-end consultation, studio-detail and FAQ system.
   ========================================================== */

.beauty-studio-core-contact-details {
	grid-template-columns: minmax(22rem, 0.82fr) minmax(28rem, 1.18fr);
	gap: clamp(4rem, 8vw, 9rem);
	align-items: start;
	padding-top: clamp(5.5rem, 8vw, 8.5rem);
	padding-bottom: clamp(6rem, 9vw, 9.5rem);
	border-top: 1px solid var(--beauty-core-line);
	background: var(--beauty-color-surface);
}

.beauty-studio-core-contact-details__content,
.beauty-studio-core-form-placeholder__intro {
	min-width: 0;
}

.beauty-studio-core-contact-details__content {
	max-width: 42rem;
}

.beauty-studio-core-contact-details h2 {
	max-width: 10.5ch;
	font-size: clamp(3.15rem, 4.8vw, 5.95rem);
	line-height: 0.93;
	letter-spacing: -0.05em;
}

.beauty-studio-core-contact-details__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	max-width: 42rem;
	margin: clamp(2.75rem, 4.5vw, 4rem) 0 0;
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-contact-details__item {
	display: grid;
	grid-template-columns: minmax(8rem, 0.34fr) minmax(0, 0.66fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	padding: clamp(1.25rem, 2.3vw, 1.8rem) 0;
	border-bottom: 1px solid var(--beauty-core-line);
}

.beauty-studio-core-contact-details dt {
	color: var(--beauty-color-accent-dark);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.beauty-studio-core-contact-details dd {
	min-width: 0;
	margin: 0;
	color: var(--beauty-color-text);
	font-size: clamp(0.96rem, 0.92rem + 0.12vw, 1.04rem);
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.beauty-studio-core-contact-details address {
	margin: 0;
	font-style: normal;
}

.beauty-studio-core-contact-details__concierge {
	display: grid;
	gap: 0.35rem;
}

.beauty-studio-core-contact-details dd a {
	width: fit-content;
	color: inherit;
	text-decoration-color: color-mix(in srgb, currentColor 42%, transparent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}

.beauty-studio-core-contact-details dd a:hover,
.beauty-studio-core-contact-details dd a:focus-visible {
	color: var(--beauty-color-accent-dark);
	text-decoration-color: currentColor;
}

.beauty-studio-core-contact-details__item--arrival dd {
	max-width: 36rem;
	color: var(--beauty-color-muted);
	font-family: var(--beauty-font-body);
	font-size: clamp(0.96rem, 0.92rem + 0.1vw, 1.04rem);
	font-style: normal;
	line-height: 1.72;
}

.beauty-studio-core-contact-details__primary-action {
	margin-top: clamp(2rem, 3.5vw, 3rem);
}

.beauty-studio-core-contact-details__secondary-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	margin-top: 1.35rem;
}

.beauty-studio-core-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid currentColor;
	color: var(--beauty-color-accent-dark);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.beauty-studio-core-contact-link::after {
	content: "\2197";
	font-family: var(--beauty-font-body);
	font-size: 0.85rem;
	font-weight: 400;
	letter-spacing: 0;
}

.beauty-studio-core-contact-details__media {
	position: relative;
	width: min(100%, 42rem);
	justify-self: end;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: transparent;
}

.beauty-studio-core-contact-details__media::before,
.beauty-studio-core-contact-details__media::after {
	display: none;
	content: none;
}

.beauty-studio-core-contact-details__image,
.beauty-studio-core-contact-details__media > .beauty-studio-core-placeholder {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	min-height: clamp(31rem, 44vw, 46rem);
	margin: 0;
	object-fit: cover;
}

.beauty-studio-core-contact-details__image {
	filter: saturate(0.92) contrast(1.015);
}

.beauty-studio-core-contact-details__media figcaption {
	position: relative;
	z-index: 2;
	max-width: 27rem;
	margin: 1rem 0 0 auto;
	color: var(--beauty-color-muted);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.55;
	text-align: right;
	text-transform: uppercase;
}

/* Consultation request */
.beauty-studio-core-form-placeholder {
	grid-template-areas:
		"intro form"
		"faq faq";
	grid-template-columns: minmax(20rem, 0.72fr) minmax(30rem, 1.28fr);
	gap: clamp(4rem, 7vw, 8rem);
	align-items: start;
	padding-top: clamp(6rem, 9vw, 9rem);
	padding-bottom: clamp(6rem, 9vw, 9rem);
	border-top: 1px solid var(--beauty-core-line);
	background: var(--beauty-color-background);
}

.beauty-studio-core-form-placeholder__intro {
	grid-area: intro;
	max-width: 39rem;
}

.beauty-studio-core-form-placeholder h2 {
	max-width: 10.5ch;
	font-size: clamp(3.15rem, 4.8vw, 5.95rem);
	line-height: 0.93;
	letter-spacing: -0.05em;
}

.beauty-studio-core-editor-note {
	margin-top: 2rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--beauty-color-border);
	color: var(--beauty-color-muted);
	font-size: 0.82rem;
	line-height: 1.6;
}

.beauty-studio-core-demo-form {
	grid-area: form;
	display: grid;
	min-width: 0;
	gap: clamp(2.25rem, 4vw, 3.5rem);
	padding-top: 0.35rem;
}

.beauty-studio-core-demo-form__choices {
	min-width: 0;
	padding: 0;
	margin: 0;
	border: 0;
}

.beauty-studio-core-demo-form__choices legend {
	width: 100%;
	margin: 0 0 1.25rem;
	color: var(--beauty-color-accent-dark);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.beauty-studio-core-demo-form__choice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--beauty-color-border);
	border-left: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-choice {
	position: relative;
	display: flex;
	min-height: 4.65rem;
	align-items: center;
	gap: 0.9rem;
	padding: 1rem 1.15rem;
	border-right: 1px solid var(--beauty-color-border);
	border-bottom: 1px solid var(--beauty-color-border);
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.05rem, 1.2vw, 1.28rem);
	line-height: 1.2;
}

.beauty-studio-core-choice input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.beauty-studio-core-choice span {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.beauty-studio-core-choice span::before {
	width: 0.78rem;
	height: 0.78rem;
	flex: 0 0 auto;
	border: 1px solid var(--beauty-color-accent-dark);
	border-radius: 50%;
	content: "";
}

.beauty-studio-core-demo-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.45rem, 2.4vw, 2rem) clamp(1.5rem, 3vw, 3rem);
}

.beauty-studio-core-field {
	display: grid;
	min-width: 0;
	gap: 0.35rem;
}

.beauty-studio-core-field--full {
	grid-column: 1 / -1;
}

.beauty-studio-core-field > span {
	color: var(--beauty-color-accent-dark);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.beauty-studio-core-demo-form :is(input, textarea, select) {
	width: 100%;
	min-width: 0;
	min-height: 3.25rem;
	padding: 0.75rem 0;
	border: 0;
	border-bottom: 1px solid var(--beauty-color-border);
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-body);
	font-size: 0.98rem;
	line-height: 1.55;
	box-shadow: none;
	transition:
		border-color var(--beauty-transition),
		color var(--beauty-transition);
}

.beauty-studio-core-demo-form textarea {
	min-height: 8rem;
	resize: vertical;
}

.beauty-studio-core-demo-form select {
	appearance: none;
	color: var(--beauty-color-muted);
	cursor: default;
}

.beauty-studio-core-demo-form :is(input, textarea)::placeholder {
	color: color-mix(in srgb, var(--beauty-color-muted) 78%, transparent);
	font-family: var(--beauty-font-heading);
	font-size: 1.03rem;
	font-style: italic;
	opacity: 1;
}

.beauty-studio-core-demo-form :is(input, textarea, select):focus-visible {
	border-bottom-color: var(--beauty-color-accent-dark);
	color: var(--beauty-color-text);
}

.beauty-studio-core-demo-form :is(input[readonly], textarea[readonly], select:disabled) {
	cursor: default;
	opacity: 1;
	-webkit-text-fill-color: currentColor;
}

.beauty-studio-core-demo-form__footer {
	display: grid;
	grid-template-columns: minmax(12rem, auto) minmax(0, 1fr);
	gap: 1.5rem 2.5rem;
	align-items: center;
	padding-top: 0.5rem;
}

.beauty-studio-core-demo-form__footer .beauty-studio-core-button {
	width: fit-content;
	min-width: 13rem;
}

.beauty-studio-core-demo-form__footer .beauty-studio-core-button:disabled {
	cursor: not-allowed;
	opacity: 0.84;
	transform: none;
}

.beauty-studio-core-demo-form__footer p {
	max-width: 31rem;
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: 0.78rem;
	line-height: 1.65;
}

/* Native, dependency-free FAQ */
.beauty-studio-core-contact-faq {
	grid-area: faq;
	display: grid;
	grid-template-columns: minmax(18rem, 0.7fr) minmax(28rem, 1.3fr);
	gap: clamp(3rem, 7vw, 8rem);
	align-items: start;
	margin-top: clamp(1rem, 3vw, 3rem);
	padding-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-contact-faq__intro {
	max-width: 38rem;
}

.beauty-studio-core-contact-faq__intro h3 {
	max-width: 11ch;
	margin: 0;
	font-family: var(--beauty-font-heading);
	font-size: clamp(2.7rem, 4vw, 4.8rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.95;
	text-wrap: balance;
}

.beauty-studio-core-contact-faq__intro > p:last-child {
	max-width: 32rem;
	margin: 1.25rem 0 0;
	color: var(--beauty-color-muted);
	font-size: 1rem;
	line-height: 1.72;
}

.beauty-studio-core-contact-faq__items {
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-contact-faq__item {
	border-bottom: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-contact-faq__item summary {
	position: relative;
	display: flex;
	min-height: 5rem;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.15rem 3rem 1.15rem 0;
	color: var(--beauty-color-text);
	cursor: pointer;
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.25rem, 1.6vw, 1.7rem);
	line-height: 1.25;
	list-style: none;
}

.beauty-studio-core-contact-faq__item summary::-webkit-details-marker {
	display: none;
}

.beauty-studio-core-contact-faq__item summary::after {
	position: absolute;
	right: 0;
	color: var(--beauty-color-accent-dark);
	content: "+";
	font-family: var(--beauty-font-body);
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
}

.beauty-studio-core-contact-faq__item[open] summary::after {
	content: "\2212";
}

.beauty-studio-core-contact-faq__item summary:focus-visible {
	outline: 1px solid var(--beauty-color-accent-dark);
	outline-offset: 0.35rem;
}

.beauty-studio-core-contact-faq__answer {
	max-width: 42rem;
	padding: 0 3rem 1.5rem 0;
}

.beauty-studio-core-contact-faq__answer p {
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: 0.98rem;
	line-height: 1.72;
}

/* Tablet */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-contact-details {
		grid-template-columns: 1fr;
		gap: clamp(3rem, 7vw, 5rem);
	}

	.beauty-studio-core-contact-details__content {
		max-width: 46rem;
	}

	.beauty-studio-core-contact-details__media {
		order: 2;
		width: min(78%, 38rem);
		justify-self: start;
	}

	.beauty-studio-core-form-placeholder {
		grid-template-areas:
			"intro"
			"form"
			"faq";
		grid-template-columns: 1fr;
		gap: clamp(3rem, 7vw, 5rem);
	}

	.beauty-studio-core-form-placeholder__intro {
		max-width: 46rem;
	}

	.beauty-studio-core-contact-faq {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		margin-top: 1rem;
	}
}

/* Mobile */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-contact-details,
	.beauty-studio-core-form-placeholder {
		padding-top: 4.75rem;
		padding-bottom: 5rem;
	}

	.beauty-studio-core-contact-details h2,
	.beauty-studio-core-form-placeholder h2 {
		max-width: 10.5ch;
		font-size: clamp(2.8rem, 13vw, 4.15rem);
	}

	.beauty-studio-core-contact-details__item {
		grid-template-columns: 1fr;
		gap: 0.45rem;
		padding: 1.3rem 0;
	}

	.beauty-studio-core-contact-details__item--arrival dd {
		font-size: 1.08rem;
	}

	.beauty-studio-core-contact-details__media {
		width: calc(100% - 1rem);
	}

	.beauty-studio-core-contact-details__image,
	.beauty-studio-core-contact-details__media > .beauty-studio-core-placeholder {
		min-height: 28rem;
	}

	.beauty-studio-core-contact-details__media figcaption {
		text-align: left;
	}

	.beauty-studio-core-contact-details__secondary-links {
		flex-direction: column;
		align-items: flex-start;
	}

	.beauty-studio-core-demo-form__choice-grid,
	.beauty-studio-core-demo-form__fields {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-field--full {
		grid-column: auto;
	}

	.beauty-studio-core-demo-form__footer {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-demo-form__footer .beauty-studio-core-button {
		width: 100%;
	}

	.beauty-studio-core-contact-faq {
		padding-top: 4.5rem;
	}

	.beauty-studio-core-contact-faq__intro h3 {
		max-width: 10.5ch;
		font-size: clamp(2.5rem, 12vw, 3.75rem);
	}

	.beauty-studio-core-contact-faq__item summary {
		min-height: 4.5rem;
		padding-right: 2.25rem;
		font-size: 1.2rem;
	}

	.beauty-studio-core-contact-faq__answer {
		padding-right: 0;
	}
}

@media (max-width: 26.875rem) {
	.beauty-studio-core-contact-details h2,
	.beauty-studio-core-form-placeholder h2,
	.beauty-studio-core-contact-faq__intro h3 {
		overflow-wrap: anywhere;
	}

	.beauty-studio-core-button {
		min-height: 3.35rem;
		padding-right: 1rem;
		padding-left: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-demo-form :is(input, textarea, select) {
		transition: none;
	}
}

/* Responsive QA hardening */

:is(
	.beauty-studio-core-hero,
	.beauty-studio-core-intro,
	.beauty-studio-core-services,
	.beauty-studio-core-split,
	.beauty-studio-core-testimonials,
	.beauty-studio-core-cta,
	.beauty-studio-core-page-hero,
	.beauty-studio-core-story,
	.beauty-studio-core-values,
	.beauty-studio-core-detail-list,
	.beauty-studio-core-pricing-menu,
	.beauty-studio-core-gallery,
	.beauty-studio-core-contact-details,
	.beauty-studio-core-form-placeholder
) {
	max-width: 100%;
	overflow-x: clip;
}

:is(
	.beauty-studio-core-hero,
	.beauty-studio-core-intro,
	.beauty-studio-core-services,
	.beauty-studio-core-split,
	.beauty-studio-core-testimonials,
	.beauty-studio-core-cta,
	.beauty-studio-core-page-hero,
	.beauty-studio-core-story,
	.beauty-studio-core-values,
	.beauty-studio-core-detail-list,
	.beauty-studio-core-pricing-menu,
	.beauty-studio-core-gallery,
	.beauty-studio-core-contact-details,
	.beauty-studio-core-form-placeholder
) :is(div, header, footer, figure, article, dl, dd, ul, ol, li, form, fieldset) {
	min-width: 0;
}

:is(
	.beauty-studio-core-lede,
	.beauty-studio-core-copy,
	.beauty-studio-core-section-header p,
	.beauty-studio-core-service p,
	.beauty-studio-core-detail-service p,
	.beauty-studio-core-price-item p,
	.beauty-studio-core-contact-details dd,
	.beauty-studio-core-contact-faq__answer,
	.beauty-studio-core-demo-form
) {
	overflow-wrap: break-word;
}

:is(
	.beauty-studio-core-contact-details dd a,
	.beauty-studio-core-demo-form input,
	.beauty-studio-core-demo-form textarea,
	.beauty-studio-core-demo-form select
) {
	overflow-wrap: anywhere;
}

.beauty-studio-core-button,
.beauty-studio-core-text-link,
.beauty-studio-core-contact-link,
.beauty-studio-core-contact-faq__item summary,
.beauty-studio-core-choice {
	max-width: 100%;
	touch-action: manipulation;
}

@media (max-width: 63.9375rem) {
	.beauty-studio-core-section-header,
	.beauty-studio-core-contact-faq {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-section-header p {
		justify-self: start;
	}

	.beauty-studio-core-detail-service__media,
	.beauty-studio-core-contact-details__media,
	.beauty-studio-core-page-hero__media,
	.beauty-studio-core-story__media {
		max-width: 100%;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-eyebrow {
		max-width: 100%;
		flex-wrap: wrap;
	}

	.beauty-studio-core-actions {
		width: 100%;
	}

	.beauty-studio-core-button {
		min-height: 3.35rem;
		text-align: center;
		white-space: normal;
	}

	.beauty-studio-core-testimonial blockquote,
	.beauty-studio-core-testimonial:first-child blockquote {
		max-width: 100%;
	}

	.beauty-studio-core-price-item__meta {
		min-width: 0;
		width: 100%;
	}

	.beauty-studio-core-contact-faq__item summary,
	.beauty-studio-core-choice {
		min-height: 3.75rem;
	}
}

@media (max-width: 26.875rem) {
	:is(
		.beauty-studio-core-page-hero h1,
		.beauty-studio-core-intro h2,
		.beauty-studio-core-split h2,
		.beauty-studio-core-section-header h2,
		.beauty-studio-core-cta h2,
		.beauty-studio-core-story h2,
		.beauty-studio-core-pricing-menu h2,
		.beauty-studio-core-contact-details h2,
		.beauty-studio-core-form-placeholder h2,
		.beauty-studio-core-contact-faq__intro h3
	) {
		overflow-wrap: anywhere;
	}

	.beauty-studio-core-hero__heading {
		max-width: 100%;
		font-size: clamp(3.2rem, 15vw, 4.35rem);
		overflow-wrap: break-word;
		word-break: normal;
		hyphens: none;
	}
}
/* ==========================================================
   Lunea elite editorial interaction pass
   Refines buttons, links, treatment cards, image focus,
   typography and responsive rhythm without changing markup.
   ========================================================== */

:root {
	--beauty-core-ease-luxury: cubic-bezier(0.22, 1, 0.36, 1);
	--beauty-core-ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
	--beauty-core-duration-fast: 240ms;
	--beauty-core-duration-medium: 520ms;
	--beauty-core-duration-slow: 900ms;
	--beauty-core-hover-wash: color-mix(
		in srgb,
		var(--beauty-color-accent) 8%,
		var(--beauty-color-surface)
	);
	--beauty-core-soft-shadow: 0 1.5rem 4.5rem color-mix(
		in srgb,
		var(--beauty-color-text) 8%,
		transparent
	);
}

::selection {
	background: color-mix(in srgb, var(--beauty-color-accent) 28%, transparent);
	color: var(--beauty-color-text);
}

/* Premium button system */
.beauty-studio-core-button {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 3.4rem;
	padding: 1rem clamp(1.45rem, 2.25vw, 2.15rem);
	border-color: var(--beauty-color-accent-dark);
	background-color: var(--beauty-color-accent-dark);
	background-image: linear-gradient(
		90deg,
		var(--beauty-color-text) 0%,
		var(--beauty-color-text) 100%
	);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 0% 100%;
	color: var(--beauty-color-surface);
	font-size: clamp(0.68rem, 0.65rem + 0.06vw, 0.75rem);
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.15;
	box-shadow: none;
	transform: translateZ(0);
	transition:
		background-size var(--beauty-core-duration-medium) var(--beauty-core-ease-luxury),
		border-color var(--beauty-core-duration-fast) ease,
		color var(--beauty-core-duration-fast) ease,
		box-shadow var(--beauty-core-duration-medium) var(--beauty-core-ease-soft);
}

.beauty-studio-core-button:hover,
.beauty-studio-core-button:focus-visible {
	border-color: var(--beauty-color-text);
	background-color: var(--beauty-color-accent-dark);
	background-size: 100% 100%;
	color: var(--beauty-color-surface);
	box-shadow: 0 0.9rem 2.6rem color-mix(
		in srgb,
		var(--beauty-color-text) 10%,
		transparent
	);
	transform: none;
}

.beauty-studio-core-button:active {
	box-shadow: none;
}

.beauty-studio-core-button--outline {
	border-color: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 44%,
		var(--beauty-color-border)
	);
	background-color: transparent;
	background-image: linear-gradient(
		90deg,
		var(--beauty-color-accent-dark) 0%,
		var(--beauty-color-accent-dark) 100%
	);
	color: var(--beauty-color-text);
}

.beauty-studio-core-button--outline:hover,
.beauty-studio-core-button--outline:focus-visible {
	border-color: var(--beauty-color-accent-dark);
	background-color: transparent;
	color: var(--beauty-color-surface);
}

.beauty-studio-core-cta--dark .beauty-studio-core-button {
	border-color: var(--beauty-color-surface);
	background-color: var(--beauty-color-surface);
	background-image: linear-gradient(
		90deg,
		var(--beauty-color-accent-dark) 0%,
		var(--beauty-color-accent-dark) 100%
	);
	color: var(--beauty-color-text);
}

.beauty-studio-core-cta--dark .beauty-studio-core-button:hover,
.beauty-studio-core-cta--dark .beauty-studio-core-button:focus-visible {
	border-color: var(--beauty-color-accent-dark);
	color: var(--beauty-color-surface);
}

.beauty-studio-core-button:disabled,
.beauty-studio-core-button[aria-disabled="true"] {
	background-image: none;
	box-shadow: none;
}

/* Editorial animated links */
.beauty-studio-core-text-link {
	position: relative;
	overflow: visible;
	padding-bottom: 0.42rem;
	border-bottom: 0;
	font-size: 0.7rem;
	letter-spacing: 0.13em;
	line-height: 1.2;
}

.beauty-studio-core-text-link::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: currentColor;
	content: "";
	transform: scaleX(0.28);
	transform-origin: left center;
	transition: transform var(--beauty-core-duration-medium) var(--beauty-core-ease-luxury);
}

.beauty-studio-core-text-link:hover::after,
.beauty-studio-core-text-link:focus-visible::after {
	transform: scaleX(1);
}

.beauty-studio-core-contact-link {
	border-bottom: 0;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 28% 1px;
	transition:
		background-size var(--beauty-core-duration-medium) var(--beauty-core-ease-luxury),
		color var(--beauty-core-duration-fast) ease;
}

.beauty-studio-core-contact-link:hover,
.beauty-studio-core-contact-link:focus-visible {
	background-size: calc(100% - 1.3rem) 1px;
	color: var(--beauty-color-text);
}

/* Consistent keyboard focus */
:is(
	.beauty-studio-core-button,
	.beauty-studio-core-text-link,
	.beauty-studio-core-contact-link,
	.beauty-studio-core-choice,
	.beauty-studio-core-contact-faq__item summary
):focus-visible {
	outline: 1px solid var(--beauty-color-accent-dark);
	outline-offset: 0.35rem;
}

/* Image finish and quiet focus */
:is(
	.beauty-studio-core-hero__media,
	.beauty-studio-core-intro__media,
	.beauty-studio-core-split__media,
	.beauty-studio-core-story__media,
	.beauty-studio-core-detail-service__media,
	.beauty-studio-core-gallery__item,
	.beauty-studio-core-contact-details__media
) {
	contain: paint;
}

:is(
	.beauty-studio-core-hero__image,
	.beauty-studio-core-intro__image,
	.beauty-studio-core-split__image,
	.beauty-studio-core-story__image,
	.beauty-studio-core-detail-service__image,
	.beauty-studio-core-gallery__image,
	.beauty-studio-core-contact-details__image
) {
	filter: saturate(0.9) contrast(1.025);
	transition:
		transform var(--beauty-core-duration-slow) var(--beauty-core-ease-luxury),
		filter var(--beauty-core-duration-medium) ease;
}

/* Home treatment cards */
.beauty-studio-core-services__grid {
	background: color-mix(
		in srgb,
		var(--beauty-color-surface) 24%,
		transparent
	);
}

.beauty-studio-core-service {
	isolation: isolate;
	background-color: transparent;
	transition:
		background-color var(--beauty-core-duration-medium) var(--beauty-core-ease-soft),
		box-shadow var(--beauty-core-duration-medium) var(--beauty-core-ease-soft);
}

.beauty-studio-core-service::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(
			circle at 82% 12%,
			color-mix(in srgb, var(--beauty-color-accent) 13%, transparent),
			transparent 42%
		),
		linear-gradient(
			145deg,
			color-mix(in srgb, var(--beauty-color-surface) 94%, transparent),
			color-mix(in srgb, var(--beauty-color-accent) 5%, var(--beauty-color-surface))
		);
	content: "";
	opacity: 0;
	transition: opacity var(--beauty-core-duration-medium) var(--beauty-core-ease-soft);
}

.beauty-studio-core-service:hover {
	background: transparent;
	box-shadow: inset 0 0 0 1px color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 8%,
		transparent
	);
}

.beauty-studio-core-service:hover::before {
	opacity: 1;
}

.beauty-studio-core-service::after {
	opacity: 0.72;
	transition:
		width var(--beauty-core-duration-medium) var(--beauty-core-ease-luxury),
		background-color var(--beauty-core-duration-fast) ease,
		opacity var(--beauty-core-duration-fast) ease;
}

.beauty-studio-core-service:hover::after {
	width: 4.75rem;
	opacity: 1;
}

.beauty-studio-core-service__number {
	color: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 52%,
		transparent
	);
	font-family: var(--beauty-font-heading);
	font-size: clamp(0.92rem, 0.82rem + 0.16vw, 1.05rem);
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1;
}

.beauty-studio-core-service h3 {
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.beauty-studio-core-service__meta {
	color: color-mix(
		in srgb,
		var(--beauty-color-text) 78%,
		var(--beauty-color-muted)
	);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.45;
	text-transform: uppercase;
}

.beauty-studio-core-service__media {
	background: var(--beauty-color-surface);
}

.beauty-studio-core-service__image {
	filter: saturate(0.88) contrast(1.03);
	transition:
		transform var(--beauty-core-duration-slow) var(--beauty-core-ease-luxury),
		filter var(--beauty-core-duration-medium) ease;
}

/* Services catalogue */
.beauty-studio-core-detail-service {
	transition:
		background-color var(--beauty-core-duration-medium) var(--beauty-core-ease-soft),
		box-shadow var(--beauty-core-duration-medium) var(--beauty-core-ease-soft);
}

.beauty-studio-core-detail-service__media {
	overflow: hidden;
}

.beauty-studio-core-detail-service :is(
	.beauty-studio-core-detail-service__number,
	.beauty-studio-core-detail-service__eyebrow,
	[class*="detail-service__number"]
) {
	color: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 66%,
		transparent
	);
	font-family: var(--beauty-font-heading);
	font-size: 0.9rem;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.11em;
}

.beauty-studio-core-detail-service h3 {
	text-wrap: balance;
}

.beauty-studio-core-detail-service :is(
	.beauty-studio-core-detail-service__meta,
	[class*="detail-service__meta"]
) {
	font-size: 0.7rem;
	letter-spacing: 0.1em;
}

/* Values and pricing */
.beauty-studio-core-value {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	transition:
		background-color var(--beauty-core-duration-medium) var(--beauty-core-ease-soft),
		box-shadow var(--beauty-core-duration-medium) var(--beauty-core-ease-soft);
}

.beauty-studio-core-value::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(
		145deg,
		color-mix(in srgb, var(--beauty-color-surface) 96%, transparent),
		color-mix(in srgb, var(--beauty-color-accent) 6%, var(--beauty-color-surface))
	);
	content: "";
	opacity: 0;
	transition: opacity var(--beauty-core-duration-medium) var(--beauty-core-ease-soft);
}

.beauty-studio-core-value span {
	color: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 64%,
		transparent
	);
	font-family: var(--beauty-font-heading);
	font-size: 0.86rem;
	font-style: italic;
	font-weight: 400;
}

.beauty-studio-core-price-item {
	position: relative;
	transition:
		background-color var(--beauty-core-duration-medium) var(--beauty-core-ease-soft),
		padding-right var(--beauty-core-duration-medium) var(--beauty-core-ease-luxury),
		padding-left var(--beauty-core-duration-medium) var(--beauty-core-ease-luxury);
}

/* Gallery */
.beauty-studio-core-gallery__item {
	position: relative;
	overflow: hidden;
	background: var(--beauty-color-surface);
}

.beauty-studio-core-gallery__item::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		transparent 58%,
		color-mix(in srgb, var(--beauty-color-text) 14%, transparent)
	);
	content: "";
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--beauty-core-duration-medium) ease;
}

.beauty-studio-core-gallery__image {
	transition:
		transform 1100ms var(--beauty-core-ease-luxury),
		filter var(--beauty-core-duration-medium) ease;
}

/* Testimonials */
.beauty-studio-core-testimonial {
	transition:
		border-color var(--beauty-core-duration-fast) ease,
		background-color var(--beauty-core-duration-medium) var(--beauty-core-ease-soft);
}

.beauty-studio-core-testimonial::before {
	transition:
		color var(--beauty-core-duration-medium) ease,
		transform var(--beauty-core-duration-medium) var(--beauty-core-ease-luxury);
}

.beauty-studio-core-testimonial blockquote {
	text-wrap: pretty;
}

.beauty-studio-core-rating {
	letter-spacing: 0.18em;
}

/* CTA polish */
.beauty-studio-core-cta {
	background-attachment: scroll;
}

.beauty-studio-core-cta__inner::before {
	display: block;
	width: 1px;
	height: clamp(2.25rem, 4vw, 4rem);
	margin: 0 auto clamp(1.4rem, 2vw, 2rem);
	background: currentColor;
	content: "";
	opacity: 0.28;
}

.beauty-studio-core-cta h2 {
	letter-spacing: -0.055em;
	text-wrap: balance;
}

/* Typography safeguards: preserve editorial wrapping without broken words */
:is(
	.beauty-studio-core-hero__heading,
	.beauty-studio-core-page-hero h1,
	.beauty-studio-core-intro h2,
	.beauty-studio-core-split h2,
	.beauty-studio-core-section-header h2,
	.beauty-studio-core-cta h2,
	.beauty-studio-core-story h2,
	.beauty-studio-core-service h3,
	.beauty-studio-core-detail-service h3,
	.beauty-studio-core-pricing-menu h2,
	.beauty-studio-core-contact-details h2,
	.beauty-studio-core-form-placeholder h2,
	.beauty-studio-core-contact-faq__intro h3
) {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.beauty-studio-core-values .beauty-studio-core-section-header h2,
.beauty-studio-core-detail-list .beauty-studio-core-section-header h2 {
	max-width: 14.75ch;
}

/* Fine-pointer interactions only */
@media (hover: hover) and (pointer: fine) {
	:is(
		.beauty-studio-core-hero__media,
		.beauty-studio-core-intro__media,
		.beauty-studio-core-split__media,
		.beauty-studio-core-story__media,
		.beauty-studio-core-contact-details__media
	):hover :is(
		.beauty-studio-core-hero__image,
		.beauty-studio-core-intro__image,
		.beauty-studio-core-split__image,
		.beauty-studio-core-story__image,
		.beauty-studio-core-contact-details__image
	) {
		filter: saturate(0.97) contrast(1.035);
		transform: scale(1.012);
	}

	.beauty-studio-core-service:hover .beauty-studio-core-service__image {
		filter: saturate(0.98) contrast(1.04);
		transform: scale(1.018);
	}

	.beauty-studio-core-detail-service:hover {
		background: color-mix(
			in srgb,
			var(--beauty-color-background) 46%,
			transparent
		);
		box-shadow: inset 0 0 0 1px color-mix(
			in srgb,
			var(--beauty-color-accent-dark) 6%,
			transparent
		);
	}

	.beauty-studio-core-detail-service:hover .beauty-studio-core-detail-service__image {
		filter: saturate(0.99) contrast(1.04);
		transform: scale(1.014);
	}

	.beauty-studio-core-value:hover {
		background-color: transparent;
		box-shadow: inset 0 0 0 1px color-mix(
			in srgb,
			var(--beauty-color-accent-dark) 7%,
			transparent
		);
	}

	.beauty-studio-core-value:hover::before {
		opacity: 1;
	}

	.beauty-studio-core-price-item:hover {
		padding-right: 1rem;
		padding-left: 1rem;
		background: color-mix(
			in srgb,
			var(--beauty-color-surface) 72%,
			transparent
		);
	}

	.beauty-studio-core-gallery__item:hover::after {
		opacity: 1;
	}

	.beauty-studio-core-gallery__item:hover .beauty-studio-core-gallery__image {
		filter: saturate(0.98) contrast(1.04);
		transform: scale(1.022);
	}

	.beauty-studio-core-testimonial:hover {
		border-color: color-mix(
			in srgb,
			var(--beauty-color-accent-dark) 58%,
			var(--beauty-color-border)
		);
		background: color-mix(
			in srgb,
			var(--beauty-color-background) 34%,
			transparent
		);
	}

	.beauty-studio-core-testimonial:hover::before {
		color: var(--beauty-color-accent);
		transform: translateY(-0.2rem);
	}
}

/* Tablet refinement */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-button {
		min-height: 3.45rem;
	}

	.beauty-studio-core-service__number {
		padding-bottom: clamp(2.25rem, 5vw, 3.75rem);
	}

	.beauty-studio-core-values .beauty-studio-core-section-header h2,
	.beauty-studio-core-detail-list .beauty-studio-core-section-header h2 {
		max-width: 13.5ch;
	}
}

/* Mobile refinement */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-button {
		min-height: 3.55rem;
		padding: 1rem 1.15rem;
		font-size: 0.68rem;
		letter-spacing: 0.13em;
	}

	.beauty-studio-core-service {
		padding: 2.15rem;
	}

	.beauty-studio-core-service__number {
		padding-bottom: 2.75rem;
		font-size: 0.94rem;
	}

	.beauty-studio-core-service h3 {
		max-width: 13ch;
		font-size: clamp(2.05rem, 10vw, 3rem);
	}

	.beauty-studio-core-detail-service h3 {
		max-width: 12.5ch;
		font-size: clamp(2.45rem, 11.5vw, 3.65rem);
	}

	.beauty-studio-core-values .beauty-studio-core-section-header h2,
	.beauty-studio-core-detail-list .beauty-studio-core-section-header h2 {
		max-width: 12.75ch;
	}

	.beauty-studio-core-cta__inner::before {
		height: 2.5rem;
	}
}

@media (max-width: 26.875rem) {
	:is(
		.beauty-studio-core-hero__heading,
		.beauty-studio-core-page-hero h1,
		.beauty-studio-core-intro h2,
		.beauty-studio-core-split h2,
		.beauty-studio-core-section-header h2,
		.beauty-studio-core-cta h2,
		.beauty-studio-core-story h2,
		.beauty-studio-core-service h3,
		.beauty-studio-core-detail-service h3,
		.beauty-studio-core-pricing-menu h2,
		.beauty-studio-core-contact-details h2,
		.beauty-studio-core-form-placeholder h2,
		.beauty-studio-core-contact-faq__intro h3
	) {
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}

	.beauty-studio-core-hero__heading {
		font-size: clamp(3.05rem, 14.5vw, 4.15rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-button,
	.beauty-studio-core-text-link::after,
	.beauty-studio-core-contact-link,
	.beauty-studio-core-service,
	.beauty-studio-core-service::before,
	.beauty-studio-core-service::after,
	.beauty-studio-core-service__image,
	.beauty-studio-core-detail-service,
	.beauty-studio-core-detail-service__image,
	.beauty-studio-core-value,
	.beauty-studio-core-value::before,
	.beauty-studio-core-price-item,
	.beauty-studio-core-gallery__item::after,
	.beauty-studio-core-gallery__image,
	.beauty-studio-core-testimonial,
	.beauty-studio-core-testimonial::before {
		transition: none;
	}

	:is(
		.beauty-studio-core-service:hover .beauty-studio-core-service__image,
		.beauty-studio-core-detail-service:hover .beauty-studio-core-detail-service__image,
		.beauty-studio-core-gallery__item:hover .beauty-studio-core-gallery__image
	) {
		transform: none;
	}
}

/* =========================================================
   LUNEA — FINAL EDITORIAL UI SYSTEM
   Shared premium polish for every Elementor page and widget.
   ========================================================= */

:root {
	--beauty-core-section: clamp(5.5rem, 8vw, 9rem);
	--beauty-core-ease-final: cubic-bezier(0.2, 0.72, 0.2, 1);
	--beauty-core-shadow-soft: 0 1.5rem 4rem color-mix(
		in srgb,
		var(--beauty-color-text) 7%,
		transparent
	);
}

/* Shared section rhythm */
:is(
	.beauty-studio-core-intro,
	.beauty-studio-core-services,
	.beauty-studio-core-split,
	.beauty-studio-core-testimonials,
	.beauty-studio-core-story,
	.beauty-studio-core-values,
	.beauty-studio-core-detail-list,
	.beauty-studio-core-pricing-menu,
	.beauty-studio-core-gallery,
	.beauty-studio-core-contact-details,
	.beauty-studio-core-form-placeholder
) {
	border-top-color: color-mix(
		in srgb,
		var(--beauty-color-border) 72%,
		transparent
	);
}

/* Premium typography hierarchy */
:is(
	.beauty-studio-core-hero__heading,
	.beauty-studio-core-page-hero h1,
	.beauty-studio-core-intro h2,
	.beauty-studio-core-split h2,
	.beauty-studio-core-story h2,
	.beauty-studio-core-section-header h2,
	.beauty-studio-core-pricing-menu h2,
	.beauty-studio-core-contact-details h2,
	.beauty-studio-core-form-placeholder h2
) {
	font-kerning: normal;
	font-synthesis: none;
	letter-spacing: -0.052em;
	text-wrap: balance;
}

:is(
	.beauty-studio-core-copy,
	.beauty-studio-core-lede,
	.beauty-studio-core-section-header p,
	.beauty-studio-core-page-hero__content > p,
	.beauty-studio-core-story__content > p,
	.beauty-studio-core-contact-details__content > p
) {
	max-width: 36rem;
	color: color-mix(
		in srgb,
		var(--beauty-color-muted) 92%,
		var(--beauty-color-text)
	);
	line-height: 1.82;
}

/* Buttons: thin geometry with controlled fill */
.beauty-studio-core-button {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 3.35rem;
	padding: 1rem 1.7rem;
	border-width: 1px;
	background-color: var(--beauty-color-accent-dark);
	background-image: none;
	box-shadow: none;
	font-size: clamp(0.68rem, 0.65rem + 0.06vw, 0.74rem);
	letter-spacing: 0.15em;
	transition:
		border-color 360ms ease,
		color 360ms ease,
		box-shadow 500ms var(--beauty-core-ease-final);
}

.beauty-studio-core-button::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--beauty-color-text);
	content: "";
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 500ms var(--beauty-core-ease-final);
}

.beauty-studio-core-button:hover,
.beauty-studio-core-button:focus-visible {
	border-color: var(--beauty-color-text);
	background-color: var(--beauty-color-accent-dark);
	background-image: none;
	box-shadow: var(--beauty-core-shadow-soft);
	color: var(--beauty-color-surface);
	transform: none;
}

.beauty-studio-core-button:hover::before,
.beauty-studio-core-button:focus-visible::before {
	transform: scaleX(1);
	transform-origin: left center;
}

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

.beauty-studio-core-button--outline::before {
	background: var(--beauty-color-accent-dark);
}

.beauty-studio-core-button--outline:hover,
.beauty-studio-core-button--outline:focus-visible {
	background-color: transparent;
	border-color: var(--beauty-color-accent-dark);
	color: var(--beauty-color-surface);
}

/* Hero and page-hero composition */
.beauty-studio-core-hero {
	min-height: clamp(42rem, 82vh, 58rem);
	padding-top: clamp(5rem, 7vw, 7.5rem);
	padding-bottom: clamp(5.75rem, 8vw, 9rem);
}

.beauty-studio-core-hero__heading {
	max-width: 9.25ch;
}

.beauty-studio-core-page-hero {
	min-height: clamp(29rem, 48vw, 43rem);
	padding-top: clamp(5.5rem, 8vw, 8rem);
	padding-bottom: clamp(5.5rem, 8vw, 8rem);
	border-bottom: 1px solid var(--beauty-core-line);
}

.beauty-studio-core-page-hero--compact {
	min-height: clamp(24rem, 39vw, 34rem);
}

.beauty-studio-core-page-hero__content {
	max-width: 48rem;
}

.beauty-studio-core-page-hero h1 {
	max-width: 12ch;
	font-size: clamp(4rem, 6.1vw, 7rem);
	line-height: 0.9;
}

.beauty-studio-core-page-hero--compact h1 {
	max-width: 13ch;
	font-size: clamp(3.55rem, 5.2vw, 6rem);
}

.beauty-studio-core-page-hero__media {
	box-shadow: var(--beauty-core-shadow-soft);
}

/* Home and service cards */
.beauty-studio-core-services__grid {
	border-color: color-mix(
		in srgb,
		var(--beauty-color-border) 84%,
		transparent
	);
	background: transparent;
}

.beauty-studio-core-service {
	min-height: clamp(21rem, 27vw, 28rem);
	padding: clamp(2.25rem, 3.5vw, 3.5rem);
}

.beauty-studio-core-service::before {
	background:
		radial-gradient(
			circle at 86% 14%,
			color-mix(in srgb, var(--beauty-color-accent) 11%, transparent),
			transparent 38%
		),
		linear-gradient(
			145deg,
			color-mix(in srgb, var(--beauty-color-surface) 96%, transparent),
			color-mix(in srgb, var(--beauty-color-accent) 4%, var(--beauty-color-surface))
		);
}

.beauty-studio-core-service__number,
.beauty-studio-core-detail-service__number {
	color: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 48%,
		transparent
	);
	font-family: var(--beauty-font-heading);
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.12em;
}

.beauty-studio-core-service h3 {
	max-width: 13ch;
	font-size: clamp(2.15rem, 2.6vw, 3.25rem);
}

.beauty-studio-core-service__meta,
.beauty-studio-core-detail-service__meta {
	gap: 0.55rem 1.35rem;
	border-top-color: color-mix(
		in srgb,
		var(--beauty-color-border) 76%,
		transparent
	);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Detailed services */
.beauty-studio-core-detail-list__items {
	border-top: 1px solid var(--beauty-core-line);
}

.beauty-studio-core-detail-service {
	padding-top: clamp(3.5rem, 6vw, 6.5rem);
	padding-bottom: clamp(3.5rem, 6vw, 6.5rem);
	border-bottom-color: color-mix(
		in srgb,
		var(--beauty-color-border) 78%,
		transparent
	);
}

.beauty-studio-core-detail-service__content {
	position: relative;
}

.beauty-studio-core-detail-service__content::before {
	position: absolute;
	top: -1.5rem;
	left: 0;
	width: 2.75rem;
	height: 1px;
	background: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 58%,
		transparent
	);
	content: "";
}

.beauty-studio-core-detail-service__media {
	box-shadow: var(--beauty-core-shadow-soft);
}

/* Values / method cards */
.beauty-studio-core-values__grid {
	border-color: color-mix(
		in srgb,
		var(--beauty-color-border) 82%,
		transparent
	);
	background: color-mix(
		in srgb,
		var(--beauty-color-surface) 28%,
		transparent
	);
}

.beauty-studio-core-value {
	min-height: clamp(15rem, 20vw, 20rem);
	padding: clamp(2rem, 3vw, 3rem);
}

.beauty-studio-core-value h3 {
	max-width: 14ch;
	font-size: clamp(1.7rem, 2.1vw, 2.45rem);
	line-height: 1;
}

.beauty-studio-core-value p {
	line-height: 1.75;
}

/* Pricing menu */
.beauty-studio-core-pricing-menu__list {
	border-top: 1px solid var(--beauty-core-line);
}

.beauty-studio-core-price-item {
	position: relative;
	padding-top: clamp(2rem, 3vw, 2.8rem);
	padding-bottom: clamp(2rem, 3vw, 2.8rem);
	transition:
		background-color 420ms var(--beauty-core-ease-final),
		padding-right 420ms var(--beauty-core-ease-final),
		padding-left 420ms var(--beauty-core-ease-final);
}

.beauty-studio-core-price-item::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 2px;
	background: var(--beauty-color-accent-dark);
	content: "";
	opacity: 0;
	transform: scaleY(0.25);
	transition:
		opacity 360ms ease,
		transform 500ms var(--beauty-core-ease-final);
}

.beauty-studio-core-price-item:hover::before {
	opacity: 0.8;
	transform: scaleY(1);
}

.beauty-studio-core-price-item__price {
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.45rem, 1.2rem + 0.5vw, 1.9rem);
	font-weight: 400;
	letter-spacing: -0.025em;
}

/* Gallery */
.beauty-studio-core-gallery__item {
	background: var(--beauty-color-surface);
	box-shadow: 0 1rem 3rem color-mix(
		in srgb,
		var(--beauty-color-text) 5%,
		transparent
	);
}

.beauty-studio-core-gallery__item::after {
	background: linear-gradient(
		180deg,
		transparent 50%,
		color-mix(in srgb, var(--beauty-color-text) 28%, transparent)
	);
}

/* Testimonials */
.beauty-studio-core-testimonials {
	background:
		linear-gradient(
			180deg,
			var(--beauty-color-surface),
			color-mix(in srgb, var(--beauty-color-background) 56%, var(--beauty-color-surface))
		);
}

.beauty-studio-core-testimonial {
	min-height: clamp(19rem, 24vw, 25rem);
	padding-right: clamp(1rem, 2vw, 2rem);
	padding-left: clamp(1rem, 2vw, 2rem);
	border-top-color: color-mix(
		in srgb,
		var(--beauty-color-border) 82%,
		transparent
	);
}

.beauty-studio-core-testimonial blockquote {
	letter-spacing: -0.04em;
}

.beauty-studio-core-testimonial figcaption {
	padding-top: 1.25rem;
	border-top: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 62%,
		transparent
	);
}

/* Contact experience */
.beauty-studio-core-contact-details__media {
	box-shadow: var(--beauty-core-shadow-soft);
}

.beauty-studio-core-contact-details__item,
.beauty-studio-core-contact-details__concierge {
	border-color: color-mix(
		in srgb,
		var(--beauty-color-border) 78%,
		transparent
	);
}

.beauty-studio-core-choice {
	min-height: 3.5rem;
	background: color-mix(
		in srgb,
		var(--beauty-color-surface) 44%,
		transparent
	);
	transition:
		background-color 320ms ease,
		border-color 320ms ease,
		color 320ms ease;
}

.beauty-studio-core-choice:hover {
	border-color: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 48%,
		var(--beauty-color-border)
	);
	background: var(--beauty-color-surface);
}

.beauty-studio-core-field input,
.beauty-studio-core-field textarea,
.beauty-studio-core-field select {
	border-top: 0;
	border-right: 0;
	border-left: 0;
	border-bottom-width: 1px;
	background: transparent;
	box-shadow: none;
}

.beauty-studio-core-field input:focus,
.beauty-studio-core-field textarea:focus,
.beauty-studio-core-field select:focus {
	border-bottom-color: var(--beauty-color-accent-dark);
	box-shadow: 0 1px 0 var(--beauty-color-accent-dark);
}

.beauty-studio-core-contact-faq__item {
	border-color: color-mix(
		in srgb,
		var(--beauty-color-border) 80%,
		transparent
	);
}

.beauty-studio-core-contact-faq__item summary {
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.2rem, 1.05rem + 0.35vw, 1.5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
}

/* Booking close: compact by default, campaign height remains optional */
.beauty-studio-core-cta {
	border-top: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 22%,
		transparent
	);
	border-bottom: 0;
}

.beauty-studio-core-cta--compact {
	min-height: clamp(23rem, 38vw, 33rem);
	padding-top: clamp(4.75rem, 7vw, 7rem);
	padding-bottom: clamp(4.75rem, 7vw, 7rem);
}

.beauty-studio-core-cta--editorial {
	min-height: clamp(31rem, 54vw, 46rem);
}

.beauty-studio-core-cta--align-left {
	justify-content: flex-start;
}

.beauty-studio-core-cta--align-left .beauty-studio-core-cta__inner {
	width: min(100%, 56rem);
	margin-right: auto;
	margin-left: 0;
	text-align: left;
}

.beauty-studio-core-cta--align-left .beauty-studio-core-eyebrow,
.beauty-studio-core-cta--align-left .beauty-studio-core-actions {
	justify-content: flex-start;
}

.beauty-studio-core-cta--align-left h2,
.beauty-studio-core-cta--align-left p {
	margin-right: 0;
	margin-left: 0;
}

.beauty-studio-core-cta__inner {
	max-width: 52rem;
}

.beauty-studio-core-cta__inner::before {
	height: clamp(1.75rem, 3vw, 3rem);
	margin-bottom: clamp(1.2rem, 2vw, 1.65rem);
	opacity: 0.18;
}

.beauty-studio-core-cta h2 {
	max-width: 12ch;
	font-size: clamp(3.65rem, 5.4vw, 6.5rem);
	line-height: 0.9;
}

.beauty-studio-core-cta--compact h2 {
	font-size: clamp(3.25rem, 4.7vw, 5.6rem);
}

.beauty-studio-core-cta__copy {
	font-size: clamp(0.95rem, 0.9rem + 0.15vw, 1.06rem);
	line-height: 1.75;
}

.beauty-studio-core-cta__actions {
	margin-top: clamp(1.5rem, 2.5vw, 2rem);
}

.beauty-studio-core-cta--dark {
	background:
		radial-gradient(
			circle at 50% 0%,
			color-mix(in srgb, var(--beauty-color-accent-dark) 16%, transparent),
			transparent 35rem
		),
		var(--beauty-color-text);
}

.beauty-studio-core-cta--dark .beauty-studio-core-button {
	border-color: color-mix(
		in srgb,
		var(--beauty-color-surface) 84%,
		transparent
	);
	background-color: var(--beauty-color-surface);
	color: var(--beauty-color-text);
}

.beauty-studio-core-cta--dark .beauty-studio-core-button::before {
	background: var(--beauty-color-accent);
}

.beauty-studio-core-cta--dark .beauty-studio-core-button:hover,
.beauty-studio-core-cta--dark .beauty-studio-core-button:focus-visible {
	border-color: var(--beauty-color-accent);
	background-color: var(--beauty-color-surface);
	color: var(--beauty-color-text);
}

.beauty-studio-core-cta__note {
	margin-right: auto;
	margin-left: auto;
	color: color-mix(
		in srgb,
		currentColor 66%,
		transparent
	);
	font-size: 0.66rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Final responsive balance */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-page-hero h1 {
		max-width: 11.5ch;
	}

	.beauty-studio-core-service {
		min-height: 20rem;
	}

	.beauty-studio-core-testimonial {
		padding-right: 0.75rem;
		padding-left: 0.75rem;
	}
}

@media (max-width: 47.9375rem) {
	:root {
		--beauty-core-section: clamp(4.5rem, 17vw, 6.25rem);
	}

	.beauty-studio-core-page-hero,
	.beauty-studio-core-page-hero--compact {
		min-height: 0;
		padding-top: 4.75rem;
		padding-bottom: 4.75rem;
	}

	.beauty-studio-core-page-hero h1,
	.beauty-studio-core-page-hero--compact h1 {
		max-width: 10.75ch;
		font-size: clamp(3.15rem, 14vw, 4.45rem);
	}

	.beauty-studio-core-service,
	.beauty-studio-core-value {
		min-height: 0;
	}

	.beauty-studio-core-testimonial {
		min-height: 0;
		padding-right: 0;
		padding-left: 0;
	}

	.beauty-studio-core-cta--compact {
		min-height: 0;
		padding-top: 4.5rem;
		padding-bottom: 4.5rem;
	}

	.beauty-studio-core-cta h2,
	.beauty-studio-core-cta--compact h2 {
		max-width: 10.5ch;
		font-size: clamp(3rem, 13.5vw, 4.25rem);
	}

	.beauty-studio-core-cta::before,
	.beauty-studio-core-cta::after {
		width: 2rem;
		opacity: 0.12;
	}
}

@media (max-width: 26.875rem) {
	.beauty-studio-core-button {
		width: 100%;
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.beauty-studio-core-page-hero h1,
	.beauty-studio-core-page-hero--compact h1 {
		font-size: clamp(2.9rem, 13.5vw, 3.75rem);
	}

	.beauty-studio-core-cta h2,
	.beauty-studio-core-cta--compact h2 {
		font-size: clamp(2.8rem, 13vw, 3.7rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-button::before,
	.beauty-studio-core-price-item::before {
		transition: none;
	}
}

/* =========================================================
   LUNEA — REFINED PRICING ARCHITECTURE
   Compact membership, unified treatment grid, slim add-ons,
   consultation note and FAQ. Scoped to Pricing Menu only.
   ========================================================= */

.beauty-studio-core-pricing-menu--refined {
	--lunea-pricing-line: color-mix(in srgb, var(--beauty-color-border) 86%, transparent);
	--lunea-pricing-soft: color-mix(in srgb, var(--beauty-color-accent) 6%, var(--beauty-color-surface));
	--lunea-pricing-warm: color-mix(in srgb, var(--beauty-color-accent) 10%, var(--beauty-color-background));
	--lunea-pricing-dark: color-mix(in srgb, var(--beauty-color-text) 95%, #120c09);
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-top: clamp(5rem, 7vw, 7.5rem);
	padding-bottom: clamp(6rem, 8vw, 9rem);
	background:
		radial-gradient(circle at 94% 5%, color-mix(in srgb, var(--beauty-color-accent) 7%, transparent), transparent 24rem),
		var(--beauty-color-surface);
}

.beauty-studio-core-pricing-menu--refined::before {
	position: absolute;
	top: 0;
	right: max(var(--beauty-core-gutter), calc((100vw - var(--beauty-core-wide)) / 2));
	z-index: -1;
	width: 1px;
	height: clamp(8rem, 14vw, 14rem);
	background: linear-gradient(180deg, var(--lunea-pricing-line), transparent);
	content: "";
}

.beauty-studio-core-pricing-menu__intro {
	display: grid;
	grid-template-columns: minmax(17rem, 0.78fr) minmax(25rem, 1.22fr);
	gap: clamp(2.5rem, 6vw, 7rem);
	align-items: end;
	margin-bottom: clamp(3rem, 5vw, 5rem);
	padding-bottom: clamp(2rem, 3vw, 3rem);
	border-bottom: 1px solid var(--lunea-pricing-line);
}

.beauty-studio-core-pricing-menu__intro h2 {
	max-width: 10.5ch;
	margin: 0;
	font-family: var(--beauty-font-heading);
	font-size: clamp(3.25rem, 4.6vw, 5.8rem);
	font-weight: 400;
	letter-spacing: -0.055em;
	line-height: 0.91;
	text-wrap: balance;
}

.beauty-studio-core-pricing-menu__intro > p {
	justify-self: end;
	max-width: 33rem;
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: clamp(0.96rem, 0.92rem + 0.15vw, 1.08rem);
	line-height: 1.78;
}

/* Compact featured membership */
.beauty-studio-core-pricing-membership-refined {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 0.85fr);
	min-height: clamp(25rem, 31vw, 32rem);
	margin-bottom: clamp(5rem, 7vw, 7.5rem);
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--beauty-color-surface) 12%, transparent);
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--beauty-color-accent-dark) 15%, transparent), transparent 52%),
		var(--lunea-pricing-dark);
	color: var(--beauty-color-surface);
	box-shadow: 0 1.8rem 5rem color-mix(in srgb, var(--beauty-color-text) 10%, transparent);
}

.beauty-studio-core-pricing-membership-refined::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--beauty-color-accent) 66%, transparent), transparent);
	content: "";
}

.beauty-studio-core-pricing-membership-refined__content {
	position: relative;
	z-index: 2;
	display: flex;
	max-width: 48rem;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2.75rem, 5vw, 5rem);
}

.beauty-studio-core-pricing-membership-refined .beauty-studio-core-eyebrow {
	color: color-mix(in srgb, var(--beauty-color-accent) 90%, var(--beauty-color-surface));
}

.beauty-studio-core-pricing-membership-refined h3 {
	max-width: 10ch;
	margin: 0;
	color: var(--beauty-color-surface);
	font-family: var(--beauty-font-heading);
	font-size: clamp(3rem, 4.4vw, 5.4rem);
	font-weight: 400;
	letter-spacing: -0.055em;
	line-height: 0.9;
	text-wrap: balance;
}

.beauty-studio-core-pricing-membership-refined__description {
	max-width: 38rem;
	margin: clamp(1.25rem, 2vw, 1.8rem) 0 0;
	color: color-mix(in srgb, var(--beauty-color-surface) 70%, transparent);
	font-size: 0.98rem;
	line-height: 1.75;
}

.beauty-studio-core-pricing-membership-refined__details {
	display: grid;
	grid-template-columns: minmax(8rem, 0.58fr) minmax(16rem, 1.42fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
	padding-top: clamp(1.5rem, 2.5vw, 2rem);
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-surface) 14%, transparent);
}

.beauty-studio-core-pricing-membership-refined__price {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.beauty-studio-core-pricing-membership-refined__price strong {
	color: var(--beauty-color-surface);
	font-family: var(--beauty-font-heading);
	font-size: clamp(2.65rem, 3.6vw, 4.25rem);
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 0.9;
	white-space: nowrap;
	word-break: keep-all;
	font-variant-numeric: tabular-nums;
}

.beauty-studio-core-pricing-membership-refined__price span {
	color: color-mix(in srgb, var(--beauty-color-surface) 52%, transparent);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.beauty-studio-core-pricing-membership-refined ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem 1.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.beauty-studio-core-pricing-membership-refined li {
	position: relative;
	padding-left: 1rem;
	color: color-mix(in srgb, var(--beauty-color-surface) 76%, transparent);
	font-size: 0.78rem;
	line-height: 1.55;
}

.beauty-studio-core-pricing-membership-refined li::before {
	position: absolute;
	top: 0.68em;
	left: 0;
	width: 0.32rem;
	height: 1px;
	background: var(--beauty-color-accent);
	content: "";
}

.beauty-studio-core-pricing-membership-refined .beauty-studio-core-button--light {
	align-self: flex-start;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
	border-color: var(--beauty-color-surface);
	background: var(--beauty-color-surface);
	color: var(--beauty-color-text);
}

.beauty-studio-core-pricing-membership-refined .beauty-studio-core-button--light::before {
	background: var(--beauty-color-accent);
}

.beauty-studio-core-pricing-membership-refined__media,
.beauty-studio-core-pricing-membership-refined__mark {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border-left: 1px solid color-mix(in srgb, var(--beauty-color-surface) 12%, transparent);
}

.beauty-studio-core-pricing-membership-refined__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, color-mix(in srgb, var(--lunea-pricing-dark) 34%, transparent), transparent 38%);
	content: "";
	pointer-events: none;
}

.beauty-studio-core-pricing-membership-refined__image,
.beauty-studio-core-pricing-membership-refined__media > .beauty-studio-core-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	filter: saturate(0.82) contrast(1.03);
	transition: transform 900ms var(--beauty-core-ease-final), filter 500ms ease;
}

.beauty-studio-core-pricing-membership-refined__mark {
	display: grid;
	place-content: center;
	padding: 2rem;
	text-align: center;
}

.beauty-studio-core-pricing-membership-refined__mark::before,
.beauty-studio-core-pricing-membership-refined__mark::after {
	position: absolute;
	border: 1px solid color-mix(in srgb, var(--beauty-color-accent) 21%, transparent);
	border-radius: 50%;
	content: "";
}

.beauty-studio-core-pricing-membership-refined__mark::before {
	inset: 13%;
}

.beauty-studio-core-pricing-membership-refined__mark::after {
	inset: 29%;
}

.beauty-studio-core-pricing-membership-refined__mark span,
.beauty-studio-core-pricing-membership-refined__mark small {
	position: relative;
	z-index: 1;
}

.beauty-studio-core-pricing-membership-refined__mark span {
	color: color-mix(in srgb, var(--beauty-color-accent) 64%, var(--beauty-color-surface));
	font-family: var(--beauty-font-heading);
	font-size: clamp(3.25rem, 5vw, 5.5rem);
	font-style: italic;
	line-height: 0.9;
}

.beauty-studio-core-pricing-membership-refined__mark small {
	margin-top: 0.85rem;
	color: color-mix(in srgb, var(--beauty-color-surface) 46%, transparent);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
	.beauty-studio-core-pricing-membership-refined--has-image:hover .beauty-studio-core-pricing-membership-refined__image {
		filter: saturate(0.92) contrast(1.04);
		transform: scale(1.018);
	}
}

/* Unified treatment collection */
.beauty-studio-core-pricing-treatments {
	margin-bottom: clamp(5rem, 7vw, 8rem);
}

.beauty-studio-core-pricing-treatments__header {
	display: grid;
	grid-template-columns: minmax(18rem, 0.85fr) minmax(25rem, 1.15fr);
	gap: clamp(2.5rem, 5vw, 5rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

.beauty-studio-core-pricing-treatments__header h3,
.beauty-studio-core-pricing-enhancements-refined h3,
.beauty-studio-core-pricing-note-refined h3,
.beauty-studio-core-pricing-faq-refined h3 {
	max-width: 11ch;
	margin: 0;
	font-family: var(--beauty-font-heading);
	font-size: clamp(2.65rem, 3.8vw, 4.8rem);
	font-weight: 400;
	letter-spacing: -0.052em;
	line-height: 0.92;
	text-wrap: balance;
}

.beauty-studio-core-pricing-treatments__header > p {
	justify-self: end;
	max-width: 31rem;
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: 0.96rem;
	line-height: 1.75;
}

.beauty-studio-core-pricing-treatments__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--lunea-pricing-line);
	border-left: 1px solid var(--lunea-pricing-line);
}

.beauty-studio-core-pricing-treatment-card {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border-right: 1px solid var(--lunea-pricing-line);
	border-bottom: 1px solid var(--lunea-pricing-line);
	background: color-mix(in srgb, var(--beauty-color-background) 20%, transparent);
	transition: background-color 450ms var(--beauty-core-ease-final), box-shadow 450ms var(--beauty-core-ease-final);
}

.beauty-studio-core-pricing-treatment-card::after {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	z-index: 2;
	width: 2.5rem;
	height: 1px;
	background: var(--lunea-pricing-line);
	content: "";
	transition: width 450ms var(--beauty-core-ease-final), background-color 450ms var(--beauty-core-ease-final);
}

.beauty-studio-core-pricing-treatment-card:hover {
	background: color-mix(in srgb, var(--beauty-color-accent) 5%, var(--beauty-color-surface));
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--beauty-color-accent-dark) 7%, transparent);
}

.beauty-studio-core-pricing-treatment-card:hover::after {
	width: 4rem;
	background: var(--beauty-color-accent-dark);
}

.beauty-studio-core-pricing-treatment-card--highlight {
	background: var(--lunea-pricing-warm);
}

.beauty-studio-core-pricing-treatment-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	margin: 0;
	overflow: hidden;
	background: var(--beauty-color-background);
}

.beauty-studio-core-pricing-treatment-card__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 58%, color-mix(in srgb, var(--beauty-color-text) 16%, transparent));
	content: "";
	pointer-events: none;
}

.beauty-studio-core-pricing-treatment-card__image,
.beauty-studio-core-pricing-treatment-card__media > .beauty-studio-core-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.86) contrast(1.02);
	transition: transform 850ms var(--beauty-core-ease-final), filter 450ms ease;
}

.beauty-studio-core-pricing-treatment-card__body {
	display: flex;
	min-height: 26rem;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.65rem, 2.5vw, 2.6rem);
}

.beauty-studio-core-pricing-treatment-card:not(.beauty-studio-core-pricing-treatment-card--has-image) .beauty-studio-core-pricing-treatment-card__body {
	min-height: 30rem;
	padding-top: clamp(2.2rem, 4vw, 4rem);
}

.beauty-studio-core-pricing-treatment-card__topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: clamp(2rem, 3vw, 3rem);
}

.beauty-studio-core-pricing-treatment-card__topline > span {
	color: color-mix(in srgb, var(--beauty-color-accent-dark) 48%, transparent);
	font-family: var(--beauty-font-heading);
	font-size: 0.85rem;
	font-style: italic;
	letter-spacing: 0.12em;
}

.beauty-studio-core-pricing-treatment-card__topline small {
	color: var(--beauty-color-accent-dark);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.beauty-studio-core-pricing-treatment-card h4 {
	max-width: 12ch;
	margin: 0;
	font-family: var(--beauty-font-heading);
	font-size: clamp(2rem, 2.5vw, 3.1rem);
	font-weight: 400;
	letter-spacing: -0.046em;
	line-height: 0.95;
	text-wrap: balance;
}

.beauty-studio-core-pricing-treatment-card__description {
	max-width: 31rem;
	margin: 1rem 0 0;
	color: var(--beauty-color-muted);
	font-size: 0.92rem;
	line-height: 1.68;
}

.beauty-studio-core-pricing-treatment-card__inclusions {
	max-width: 31rem;
	margin: 1.4rem 0 0;
	color: color-mix(in srgb, var(--beauty-color-muted) 84%, var(--beauty-color-text));
	font-size: 0.72rem;
	line-height: 1.7;
}

.beauty-studio-core-pricing-treatment-card__inclusions span {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--beauty-color-accent-dark);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.beauty-studio-core-pricing-treatment-card__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-top: auto;
	padding-top: clamp(1.5rem, 2.5vw, 2rem);
	border-top: 1px solid var(--lunea-pricing-line);
}

.beauty-studio-core-pricing-treatment-card__footer > div {
	display: flex;
	align-items: baseline;
	gap: 1rem;
}

.beauty-studio-core-pricing-treatment-card__footer span {
	color: var(--beauty-color-muted);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.beauty-studio-core-pricing-treatment-card__footer strong {
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.45rem, 1.7vw, 1.95rem);
	font-weight: 400;
	letter-spacing: -0.03em;
	line-height: 1;
}

.beauty-studio-core-pricing-treatment-card__link {
	position: relative;
	padding-bottom: 0.28rem;
	color: var(--beauty-color-accent-dark);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-decoration: none;
	text-transform: uppercase;
}

.beauty-studio-core-pricing-treatment-card__link::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: currentColor;
	content: "";
	transform: scaleX(0.35);
	transform-origin: left;
	transition: transform 350ms var(--beauty-core-ease-final);
}

.beauty-studio-core-pricing-treatment-card__link:hover::after,
.beauty-studio-core-pricing-treatment-card__link:focus-visible::after {
	transform: scaleX(1);
}

@media (hover: hover) and (pointer: fine) {
	.beauty-studio-core-pricing-treatment-card:hover .beauty-studio-core-pricing-treatment-card__image {
		filter: saturate(0.96) contrast(1.03);
		transform: scale(1.018);
	}
}

/* Slim enhancements */
.beauty-studio-core-pricing-enhancements-refined {
	margin-bottom: clamp(5rem, 7vw, 7.5rem);
	padding: clamp(2.5rem, 4vw, 4rem);
	border: 1px solid var(--lunea-pricing-line);
	background: var(--lunea-pricing-soft);
}

.beauty-studio-core-pricing-enhancements-refined > header {
	display: grid;
	grid-template-columns: minmax(17rem, 0.78fr) minmax(24rem, 1.22fr);
	gap: clamp(2.5rem, 5vw, 5rem);
	align-items: end;
	margin-bottom: clamp(2rem, 3vw, 3rem);
}

.beauty-studio-core-pricing-enhancements-refined > header > p {
	justify-self: end;
	max-width: 30rem;
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: 0.9rem;
	line-height: 1.72;
}

.beauty-studio-core-pricing-enhancements-refined__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--lunea-pricing-line);
	border-left: 1px solid var(--lunea-pricing-line);
}

.beauty-studio-core-pricing-enhancements-refined__list article {
	display: flex;
	min-width: 0;
	min-height: 10rem;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.25rem, 2vw, 1.9rem);
	border-right: 1px solid var(--lunea-pricing-line);
	border-bottom: 1px solid var(--lunea-pricing-line);
	transition: background-color 350ms var(--beauty-core-ease-final);
}

.beauty-studio-core-pricing-enhancements-refined__list article:hover {
	background: var(--beauty-color-surface);
}

.beauty-studio-core-pricing-enhancements-refined__list h4 {
	margin: 0 0 0.55rem;
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.25rem, 1.5vw, 1.75rem);
	font-weight: 400;
	letter-spacing: -0.03em;
	line-height: 1;
}

.beauty-studio-core-pricing-enhancements-refined__list p {
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: 0.74rem;
	line-height: 1.55;
}

.beauty-studio-core-pricing-enhancements-refined__list strong {
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-heading);
	font-size: 1.45rem;
	font-weight: 400;
	letter-spacing: -0.025em;
}

/* Compact consultation note */
.beauty-studio-core-pricing-note-refined {
	display: grid;
	grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
	gap: clamp(2.5rem, 5vw, 5.5rem);
	align-items: stretch;
	margin-bottom: clamp(5rem, 7vw, 7.5rem);
	padding: clamp(2.5rem, 4.5vw, 4.5rem);
	background: var(--lunea-pricing-warm);
}

.beauty-studio-core-pricing-note-refined:not(.beauty-studio-core-pricing-note-refined--has-image) {
	grid-template-columns: 1fr;
}

.beauty-studio-core-pricing-note-refined__media {
	position: relative;
	min-height: clamp(22rem, 28vw, 28rem);
	overflow: hidden;
}

.beauty-studio-core-pricing-note-refined__media::after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 38%;
	height: 38%;
	border-right: 1px solid var(--beauty-color-border);
	border-bottom: 1px solid var(--beauty-color-border);
	content: "";
	transform: translate(0.8rem, 0.8rem);
}

.beauty-studio-core-pricing-note-refined__image,
.beauty-studio-core-pricing-note-refined__media > .beauty-studio-core-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.beauty-studio-core-pricing-note-refined__content {
	display: grid;
	grid-template-columns: minmax(16rem, 0.82fr) minmax(23rem, 1.18fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
}

.beauty-studio-core-pricing-note-refined--has-image .beauty-studio-core-pricing-note-refined__content {
	grid-template-columns: 1fr;
	align-content: center;
}

.beauty-studio-core-pricing-note-refined__content > div > p:last-child {
	max-width: 34rem;
	margin: 1.25rem 0 0;
	color: var(--beauty-color-muted);
	font-size: 0.92rem;
	line-height: 1.75;
}

.beauty-studio-core-pricing-note-refined ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0;
	margin: 0;
	border-top: 1px solid var(--lunea-pricing-line);
	border-left: 1px solid var(--lunea-pricing-line);
	list-style: none;
}

.beauty-studio-core-pricing-note-refined li {
	min-width: 0;
	padding: clamp(1.2rem, 1.8vw, 1.7rem);
	border-right: 1px solid var(--lunea-pricing-line);
	border-bottom: 1px solid var(--lunea-pricing-line);
}

.beauty-studio-core-pricing-note-refined li > span {
	display: block;
	margin-bottom: 1.6rem;
	color: color-mix(in srgb, var(--beauty-color-accent-dark) 50%, transparent);
	font-family: var(--beauty-font-heading);
	font-size: 0.78rem;
	font-style: italic;
	letter-spacing: 0.1em;
}

.beauty-studio-core-pricing-note-refined li strong {
	display: block;
	font-family: var(--beauty-font-heading);
	font-size: 1.3rem;
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1;
}

.beauty-studio-core-pricing-note-refined li p {
	margin: 0.6rem 0 0;
	color: var(--beauty-color-muted);
	font-size: 0.7rem;
	line-height: 1.55;
}

/* Pricing FAQ */
.beauty-studio-core-pricing-faq-refined {
	display: grid;
	grid-template-columns: minmax(18rem, 0.72fr) minmax(28rem, 1.28fr);
	gap: clamp(3rem, 6vw, 7rem);
	align-items: start;
}

.beauty-studio-core-pricing-faq-refined > header {
	position: sticky;
	top: 2rem;
}

.admin-bar .beauty-studio-core-pricing-faq-refined > header {
	top: calc(2rem + 32px);
}

.beauty-studio-core-pricing-faq-refined > header > p {
	max-width: 28rem;
	margin: 1.25rem 0 0;
	color: var(--beauty-color-muted);
	font-size: 0.9rem;
	line-height: 1.72;
}

.beauty-studio-core-pricing-faq-refined__items {
	border-top: 1px solid var(--lunea-pricing-line);
}

.beauty-studio-core-pricing-faq-refined details {
	border-bottom: 1px solid var(--lunea-pricing-line);
}

.beauty-studio-core-pricing-faq-refined summary {
	position: relative;
	display: flex;
	min-height: 5rem;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 1.25rem 3rem 1.25rem 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.35rem, 1.6vw, 1.85rem);
	letter-spacing: -0.025em;
	line-height: 1.08;
}

.beauty-studio-core-pricing-faq-refined summary::-webkit-details-marker {
	display: none;
}

.beauty-studio-core-pricing-faq-refined summary::before,
.beauty-studio-core-pricing-faq-refined summary::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 0.9rem;
	height: 1px;
	background: var(--beauty-color-accent-dark);
	content: "";
	transition: transform 300ms var(--beauty-core-ease-final);
}

.beauty-studio-core-pricing-faq-refined summary::after {
	transform: rotate(90deg);
}

.beauty-studio-core-pricing-faq-refined details[open] summary::after {
	transform: rotate(0deg);
}

.beauty-studio-core-pricing-faq-refined details p {
	max-width: 42rem;
	padding: 0 3rem 1.5rem 0;
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: 0.9rem;
	line-height: 1.72;
}

.beauty-studio-core-pricing-faq-refined summary:focus-visible {
	outline: 1px solid var(--beauty-color-accent-dark);
	outline-offset: 0.35rem;
}

/* Remove only the obsolete generated pricing note on the live site. */
body:not(.elementor-editor-active)
	.elementor-element:has(.beauty-studio-core-pricing-menu--refined)
	~ .elementor-element:has(.beauty-studio-core-page-hero) {
	display: none;
}

body:not(.elementor-editor-active)
	.elementor-element:has(.beauty-studio-core-pricing-menu--refined)
	~ .elementor-element:has(.beauty-studio-core-values) {
	display: none;
}

/* Tablet */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-pricing-menu__intro,
	.beauty-studio-core-pricing-treatments__header,
	.beauty-studio-core-pricing-enhancements-refined > header,
	.beauty-studio-core-pricing-faq-refined {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.beauty-studio-core-pricing-menu__intro > p,
	.beauty-studio-core-pricing-treatments__header > p,
	.beauty-studio-core-pricing-enhancements-refined > header > p {
		justify-self: start;
	}

	.beauty-studio-core-pricing-membership-refined {
		grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.72fr);
	}

	.beauty-studio-core-pricing-membership-refined__details {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-pricing-treatment-card__body {
		min-height: 27rem;
	}

	.beauty-studio-core-pricing-enhancements-refined__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.beauty-studio-core-pricing-note-refined,
	.beauty-studio-core-pricing-note-refined__content {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-pricing-faq-refined > header {
		position: static;
	}
}

/* Mobile */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-pricing-menu--refined {
		padding-top: 4.5rem;
		padding-bottom: 6rem;
	}

	.beauty-studio-core-pricing-menu--refined::before {
		display: none;
	}

	.beauty-studio-core-pricing-menu__intro {
		margin-bottom: 2.75rem;
		padding-bottom: 1.75rem;
	}

	.beauty-studio-core-pricing-menu__intro h2 {
		max-width: 10ch;
		font-size: clamp(2.85rem, 13vw, 4.1rem);
	}

	.beauty-studio-core-pricing-membership-refined {
		grid-template-columns: 1fr;
		min-height: 0;
		margin-bottom: 4.5rem;
	}

	.beauty-studio-core-pricing-membership-refined__content {
		padding: 2.4rem 1.3rem 2.75rem;
	}

	.beauty-studio-core-pricing-membership-refined h3 {
		max-width: 9ch;
		font-size: clamp(2.9rem, 13.5vw, 4.3rem);
	}

	.beauty-studio-core-pricing-membership-refined ul {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-pricing-membership-refined .beauty-studio-core-button--light {
		width: 100%;
	}

	.beauty-studio-core-pricing-membership-refined__media,
	.beauty-studio-core-pricing-membership-refined__mark {
		min-height: 18rem;
		order: -1;
		border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-surface) 12%, transparent);
		border-left: 0;
	}

	.beauty-studio-core-pricing-membership-refined__media::after {
		background: linear-gradient(180deg, transparent 62%, color-mix(in srgb, var(--lunea-pricing-dark) 42%, transparent));
	}

	.beauty-studio-core-pricing-treatments {
		margin-bottom: 4.5rem;
	}

	.beauty-studio-core-pricing-treatments__grid {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-pricing-treatment-card__body,
	.beauty-studio-core-pricing-treatment-card:not(.beauty-studio-core-pricing-treatment-card--has-image) .beauty-studio-core-pricing-treatment-card__body {
		min-height: 0;
		padding: 1.75rem 1.25rem;
	}

	.beauty-studio-core-pricing-treatment-card__topline {
		margin-bottom: 2.5rem;
	}

	.beauty-studio-core-pricing-treatment-card h4 {
		font-size: clamp(2rem, 9vw, 2.75rem);
	}

	.beauty-studio-core-pricing-treatment-card__footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.beauty-studio-core-pricing-enhancements-refined,
	.beauty-studio-core-pricing-note-refined {
		margin-bottom: 4.5rem;
		padding: 2.25rem 1.25rem;
	}

	.beauty-studio-core-pricing-enhancements-refined__list {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-pricing-enhancements-refined__list article {
		min-height: 0;
	}

	.beauty-studio-core-pricing-note-refined__media {
		min-height: 21rem;
	}

	.beauty-studio-core-pricing-note-refined ol {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-pricing-faq-refined {
		gap: 2.25rem;
	}

	.beauty-studio-core-pricing-faq-refined summary {
		min-height: 4.5rem;
		padding-right: 2.5rem;
		font-size: clamp(1.3rem, 7vw, 1.75rem);
	}

	.beauty-studio-core-pricing-faq-refined details p {
		padding-right: 1rem;
	}
}

@media (max-width: 26.875rem) {
	.beauty-studio-core-pricing-menu__intro h2,
	.beauty-studio-core-pricing-membership-refined h3,
	.beauty-studio-core-pricing-treatments__header h3,
	.beauty-studio-core-pricing-enhancements-refined h3,
	.beauty-studio-core-pricing-note-refined h3,
	.beauty-studio-core-pricing-faq-refined h3,
	.beauty-studio-core-pricing-treatment-card h4 {
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-pricing-membership-refined__image,
	.beauty-studio-core-pricing-treatment-card,
	.beauty-studio-core-pricing-treatment-card::after,
	.beauty-studio-core-pricing-treatment-card__image,
	.beauty-studio-core-pricing-treatment-card__link::after,
	.beauty-studio-core-pricing-enhancements-refined__list article,
	.beauty-studio-core-pricing-faq-refined summary::before,
	.beauty-studio-core-pricing-faq-refined summary::after {
		transition: none;
	}
}

/* =========================================================
   LUNEA — FINAL SERVICES, CTA & RESPONSIVE HARDENING
   Keeps the approved editorial architecture while improving
   service readability, compacting the global close, preventing
   mid-word heading breaks and strengthening responsive behavior.
   ========================================================= */

/* Safe global flow */
html,
body {
	max-width: 100%;
	overflow-x: clip;
}

.elementor,
.elementor-section,
.elementor-container,
.elementor-widget,
.elementor-widget-container,
.beauty-studio-core-page-hero,
.beauty-studio-core-detail-list,
.beauty-studio-core-detail-list__items,
.beauty-studio-core-detail-service,
.beauty-studio-core-detail-service__content,
.beauty-studio-core-detail-service__media,
.beauty-studio-core-pricing-menu,
.beauty-studio-core-editorial-split,
.beauty-studio-core-testimonials,
.beauty-studio-core-contact-details,
.beauty-studio-core-form-placeholder,
.beauty-studio-core-cta,
.beauty-studio-core-cta__inner {
	min-width: 0;
}

/* Editorial headings may wrap only between words. */
:is(
	.beauty-studio-core-page-hero h1,
	.beauty-studio-core-section-header h2,
	.beauty-studio-core-editorial-split h2,
	.beauty-studio-core-detail-service h3,
	.beauty-studio-core-pricing-menu h2,
	.beauty-studio-core-pricing-menu h3,
	.beauty-studio-core-pricing-menu h4,
	.beauty-studio-core-contact-details h2,
	.beauty-studio-core-form-placeholder h2,
	.beauty-studio-core-testimonials h2,
	.beauty-studio-core-cta h2
) {
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

:is(
	.beauty-studio-core-detail-service p,
	.beauty-studio-core-section-header p,
	.beauty-studio-core-editorial-split p,
	.beauty-studio-core-cta p
) {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
}

/* ---------------------------------------------------------
   Services — wider editorial copy and calmer horizontal rhythm
   --------------------------------------------------------- */

.beauty-studio-core-detail-list .beauty-studio-core-section-header {
	grid-template-columns: minmax(18rem, 0.72fr) minmax(28rem, 1.28fr);
	gap: clamp(3rem, 7vw, 8rem);
	align-items: end;
}

.beauty-studio-core-detail-list .beauty-studio-core-section-header h2 {
	max-width: 11.5ch;
}

.beauty-studio-core-detail-list .beauty-studio-core-section-header p {
	max-width: 35rem;
}

.beauty-studio-core-detail-service,
.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even) {
	grid-template-columns: minmax(19rem, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(3.5rem, 7vw, 8rem);
	align-items: center;
	min-height: auto;
	padding-top: clamp(4rem, 6.5vw, 7rem);
	padding-bottom: clamp(4rem, 6.5vw, 7rem);
}

.beauty-studio-core-detail-service__media,
.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even)
	.beauty-studio-core-detail-service__media {
	width: min(100%, 31rem);
	justify-self: start;
}

.beauty-studio-core-detail-service__media {
	order: 1;
}

.beauty-studio-core-detail-service__content {
	order: 2;
	width: min(100%, 42rem);
	max-width: 42rem;
	justify-self: start;
}

.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even) {
	grid-template-columns: minmax(0, 1.18fr) minmax(19rem, 0.82fr);
}

.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even)
	.beauty-studio-core-detail-service__content {
	order: 1;
	width: min(100%, 42rem);
	max-width: 42rem;
	justify-self: start;
}

.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even)
	.beauty-studio-core-detail-service__media {
	order: 2;
	justify-self: end;
}

.beauty-studio-core-detail-service h3 {
	max-width: 18ch;
	margin-top: 0.9rem;
	font-size: clamp(2.75rem, 3.65vw, 4.65rem);
	line-height: 0.94;
	letter-spacing: -0.052em;
}

.beauty-studio-core-detail-service p {
	max-width: 34rem;
	margin-top: 1.2rem;
	font-size: clamp(0.98rem, 0.94rem + 0.15vw, 1.1rem);
	line-height: 1.76;
}

.beauty-studio-core-detail-service .beauty-studio-core-service__meta {
	display: flex;
	max-width: 35rem;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.6rem;
	margin-top: clamp(1.6rem, 2.5vw, 2.2rem);
	padding-top: 1rem;
}

.beauty-studio-core-detail-service .beauty-studio-core-service__meta span {
	position: relative;
	white-space: nowrap;
}

.beauty-studio-core-detail-service
	.beauty-studio-core-service__meta
	span
	+ span {
	padding-left: 1.2rem;
}

.beauty-studio-core-detail-service
	.beauty-studio-core-service__meta
	span
	+ span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 0.42rem;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.48;
}

.beauty-studio-core-detail-service .beauty-studio-core-text-link {
	display: inline-flex;
	width: fit-content;
	margin-top: 1.35rem;
	white-space: nowrap;
}

/* ---------------------------------------------------------
   Compact global close — no longer a second full-screen hero
   --------------------------------------------------------- */

.beauty-studio-core-cta--compact {
	min-height: 0;
	padding: 0;
	border-top-color: color-mix(
		in srgb,
		var(--beauty-color-surface) 10%,
		transparent
	);
}

.beauty-studio-core-cta--compact::before,
.beauty-studio-core-cta--compact::after {
	display: none;
}

.beauty-studio-core-cta--compact .beauty-studio-core-cta__inner {
	display: grid;
	grid-template-columns:
		minmax(17rem, 0.78fr)
		minmax(24rem, 1.12fr)
		auto;
	grid-template-areas:
		"eyebrow copy actions"
		"heading copy actions"
		"heading note note";
	gap: 0.65rem clamp(2.5rem, 6vw, 7rem);
	align-items: center;
	width: min(
		calc(100% - (2 * var(--beauty-core-gutter))),
		var(--beauty-core-wide)
	);
	max-width: none;
	margin: 0 auto;
	padding-top: clamp(3.8rem, 5.5vw, 5.5rem);
	padding-bottom: clamp(3.8rem, 5.5vw, 5.5rem);
	text-align: left;
}

.beauty-studio-core-cta--compact .beauty-studio-core-cta__inner::before {
	display: none;
}

.beauty-studio-core-cta--compact .beauty-studio-core-eyebrow {
	grid-area: eyebrow;
	justify-content: flex-start;
	margin: 0 0 0.45rem;
}

.beauty-studio-core-cta--compact h2 {
	grid-area: heading;
	max-width: 10.5ch;
	margin: 0;
	font-size: clamp(3rem, 4vw, 4.85rem);
	line-height: 0.9;
	letter-spacing: -0.055em;
}

.beauty-studio-core-cta--compact .beauty-studio-core-cta__copy {
	grid-area: copy;
	align-self: center;
	max-width: 37rem;
	margin: 0;
	font-size: clamp(0.98rem, 0.94rem + 0.14vw, 1.08rem);
	line-height: 1.78;
}

.beauty-studio-core-cta--compact .beauty-studio-core-cta__actions {
	grid-area: actions;
	align-self: center;
	justify-content: flex-end;
	margin: 0;
}

.beauty-studio-core-cta--compact .beauty-studio-core-cta__button {
	min-width: max-content;
	white-space: nowrap;
}

.beauty-studio-core-cta--compact .beauty-studio-core-cta__note {
	grid-area: note;
	max-width: 37rem;
	margin: 0.9rem 0 0;
	text-align: left;
}

.beauty-studio-core-cta--compact.beauty-studio-core-cta--dark {
	background:
		linear-gradient(
			115deg,
			color-mix(in srgb, var(--beauty-color-accent-dark) 10%, transparent),
			transparent 48%
		),
		color-mix(in srgb, var(--beauty-color-text) 97%, #130d0a);
}

.beauty-studio-core-cta--compact.beauty-studio-core-cta--dark
	.beauty-studio-core-cta__button {
	border-color: var(--beauty-color-surface);
	background: var(--beauty-color-surface);
	color: var(--beauty-color-text);
}

/* ---------------------------------------------------------
   Responsive hardening
   --------------------------------------------------------- */

@media (max-width: 63.9375rem) {
	.beauty-studio-core-detail-list .beauty-studio-core-section-header {
		grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.28fr);
		gap: 3rem;
	}

	.beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) {
		grid-template-columns: minmax(15rem, 0.74fr) minmax(0, 1.26fr);
		gap: clamp(2.5rem, 5vw, 4.5rem);
	}

	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) {
		grid-template-columns: minmax(0, 1.26fr) minmax(15rem, 0.74fr);
	}

	.beauty-studio-core-detail-service h3 {
		max-width: 16ch;
		font-size: clamp(2.55rem, 4.7vw, 3.8rem);
	}

	.beauty-studio-core-detail-service
		.beauty-studio-core-service__meta {
		gap: 0.65rem 1rem;
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__inner {
		grid-template-columns: minmax(17rem, 0.9fr) minmax(0, 1.1fr);
		grid-template-areas:
			"eyebrow copy"
			"heading copy"
			"heading actions"
			"note note";
		gap: 0.55rem 3.5rem;
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__actions {
		justify-content: flex-start;
		margin-top: 1rem;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-detail-list .beauty-studio-core-section-header {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) {
		grid-template-columns: 1fr;
		gap: 2.25rem;
		padding-top: 3.75rem;
		padding-bottom: 3.75rem;
	}

	.beauty-studio-core-detail-service__media,
	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even)
		.beauty-studio-core-detail-service__media {
		order: 1;
		width: min(100%, 34rem);
		justify-self: start;
		padding: 0;
	}

	.beauty-studio-core-detail-service__media,
	.beauty-studio-core-detail-service__image,
	.beauty-studio-core-detail-service__media
		> .beauty-studio-core-placeholder {
		min-height: 0;
	}

	.beauty-studio-core-detail-service__media {
		aspect-ratio: 4 / 5;
	}

	.beauty-studio-core-detail-service__content,
	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even)
		.beauty-studio-core-detail-service__content {
		order: 2;
		width: 100%;
		max-width: none;
		justify-self: stretch;
	}

	.beauty-studio-core-detail-service h3 {
		max-width: 14ch;
		font-size: clamp(2.75rem, 12vw, 4rem);
	}

	.beauty-studio-core-detail-service p {
		max-width: 31rem;
	}

	.beauty-studio-core-detail-service
		.beauty-studio-core-service__meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.55rem;
	}

	.beauty-studio-core-detail-service
		.beauty-studio-core-service__meta
		span
		+ span {
		padding-left: 0;
	}

	.beauty-studio-core-detail-service
		.beauty-studio-core-service__meta
		span
		+ span::before {
		display: none;
	}

	.beauty-studio-core-detail-service .beauty-studio-core-text-link {
		white-space: normal;
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__inner {
		display: flex;
		width: min(
			calc(100% - (2 * var(--beauty-core-gutter))),
			36rem
		);
		flex-direction: column;
		align-items: stretch;
		padding-top: 4rem;
		padding-bottom: 4rem;
		text-align: left;
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-eyebrow {
		align-self: flex-start;
	}

	.beauty-studio-core-cta--compact h2 {
		max-width: 11ch;
		font-size: clamp(2.85rem, 12.5vw, 4rem);
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__copy {
		margin-top: 1.25rem;
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__actions {
		width: 100%;
		margin-top: 1.5rem;
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__button {
		width: 100%;
		min-width: 0;
		white-space: normal;
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__note {
		margin-top: 1rem;
	}
}

@media (max-width: 26.875rem) {
	.beauty-studio-core-detail-service h3,
	.beauty-studio-core-cta--compact h2 {
		overflow-wrap: normal !important;
		word-break: normal !important;
		hyphens: none !important;
	}

	.beauty-studio-core-detail-service
		.beauty-studio-core-service__meta
		span {
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-detail-service__image,
	.beauty-studio-core-cta--compact .beauty-studio-core-button::before {
		transition: none;
	}
}

/* =========================================================
   LUNEA - PAGE ARCHITECTURE DIFFERENTIATION PASS
   Scoped refinements for Home, About and Services only.
   ========================================================= */

:is(
	.beauty-studio-core-hero__heading,
	.beauty-studio-core-page-hero h1,
	.beauty-studio-core-intro h2,
	.beauty-studio-core-split h2,
	.beauty-studio-core-story h2,
	.beauty-studio-core-section-header h2,
	.beauty-studio-core-cta h2,
	.beauty-studio-core-service h3,
	.beauty-studio-core-detail-service h3,
	.beauty-studio-core-value h3
) {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: balance;
}

:is(.beauty-studio-core-copy, .beauty-studio-core-service p, .beauty-studio-core-detail-service p, .beauty-studio-core-value p, .beauty-studio-core-cta__copy) {
	overflow-wrap: anywhere;
}

/* Shared Elementor section transitions without flattening all wrappers. */
.elementor-widget-container:has(
	> :is(
		.beauty-studio-core-hero,
		.beauty-studio-core-page-hero,
		.beauty-studio-core-intro,
		.beauty-studio-core-services,
		.beauty-studio-core-split,
		.beauty-studio-core-story,
		.beauty-studio-core-values,
		.beauty-studio-core-detail-list,
		.beauty-studio-core-testimonials,
		.beauty-studio-core-cta
	)
) {
	background: var(--beauty-color-background);
}

.elementor-element:has(.beauty-studio-core-page-hero)
	+ .elementor-element:has(
		:is(
			.beauty-studio-core-story,
			.beauty-studio-core-detail-list,
			.beauty-studio-core-services
		)
	) {
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-text) 9%, transparent);
}

.elementor-element:has(
	:is(
		.beauty-studio-core-services,
		.beauty-studio-core-story,
		.beauty-studio-core-values,
		.beauty-studio-core-detail-list,
		.beauty-studio-core-split,
		.beauty-studio-core-testimonials
	)
)
	+ .elementor-element:has(
		:is(
			.beauty-studio-core-services,
			.beauty-studio-core-story,
			.beauty-studio-core-values,
			.beauty-studio-core-detail-list,
			.beauty-studio-core-split,
			.beauty-studio-core-testimonials,
			.beauty-studio-core-cta
		)
	) {
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 68%, transparent);
}

/* Home: asymmetric treatment preview instead of equal repeated cards. */
.home #treatments.beauty-studio-core-services {
	padding-top: clamp(5rem, 7vw, 7.5rem);
	padding-bottom: clamp(5rem, 7vw, 7.75rem);
	background: var(--beauty-color-background);
}

.home #treatments.beauty-studio-core-services .beauty-studio-core-section-header {
	display: grid;
	grid-template-columns: minmax(16rem, 0.68fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 6rem);
	align-items: end;
	max-width: var(--beauty-core-wide);
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-bottom: clamp(2rem, 3vw, 3rem);
	border-bottom: 1px solid var(--beauty-core-line);
}

.home #treatments.beauty-studio-core-services .beauty-studio-core-section-header h2 {
	max-width: 10.5ch;
	font-size: clamp(3.3rem, 5.2vw, 6.4rem);
	line-height: 0.9;
	letter-spacing: -0.052em;
}

.home #treatments.beauty-studio-core-services .beauty-studio-core-section-header p {
	max-width: 32rem;
	justify-self: end;
}

.home #treatments .beauty-studio-core-services__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
	gap: 0 clamp(3rem, 6vw, 7rem);
	max-width: var(--beauty-core-wide);
	margin: 0 auto;
	border: 0;
	background: transparent;
}

.home #treatments .beauty-studio-core-service {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas:
		"number title"
		"number copy"
		"number meta"
		"number link";
	gap: 0 clamp(1.35rem, 2.4vw, 2.25rem);
	align-content: center;
	min-height: 0;
	padding: clamp(1.45rem, 2.2vw, 2.2rem) 0;
	border: 0;
	border-bottom: 1px solid var(--beauty-core-line);
	background: transparent;
	box-shadow: none;
}

.home #treatments .beauty-studio-core-service::before,
.home #treatments .beauty-studio-core-service::after {
	display: none;
}

.home #treatments .beauty-studio-core-service__number {
	grid-area: number;
	min-width: 2.6rem;
	color: color-mix(in srgb, var(--beauty-color-accent-dark) 62%, transparent);
	font-size: clamp(0.86rem, 0.8rem + 0.16vw, 1rem);
}

.home #treatments .beauty-studio-core-service h3 {
	grid-area: title;
	max-width: 16ch;
	margin: 0;
	font-size: clamp(1.65rem, 2.1vw, 2.55rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.home #treatments .beauty-studio-core-service p {
	grid-area: copy;
	max-width: 30rem;
	margin-top: 0.85rem;
	color: var(--beauty-color-muted);
	font-size: clamp(0.95rem, 0.91rem + 0.12vw, 1.04rem);
	line-height: 1.75;
}

.home #treatments .beauty-studio-core-service__meta {
	grid-area: meta;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1.1rem;
	margin-top: 1.05rem;
	padding-top: 0.85rem;
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 74%, transparent);
}

.home #treatments .beauty-studio-core-service .beauty-studio-core-text-link {
	grid-area: link;
	width: fit-content;
	margin-top: 1.05rem;
}

.home #treatments .beauty-studio-core-service:first-child {
	grid-row: 1 / 4;
	grid-template-columns: 1fr;
	grid-template-areas:
		"number"
		"title"
		"copy"
		"meta"
		"link";
	align-content: end;
	min-height: clamp(30rem, 42vw, 42rem);
	padding: clamp(2.5rem, 4vw, 4.75rem);
	border: 1px solid var(--beauty-core-line);
	background:
		linear-gradient(
			180deg,
			color-mix(in srgb, var(--beauty-color-surface) 82%, transparent),
			color-mix(in srgb, var(--beauty-color-accent) 5%, var(--beauty-color-background))
		);
}

.home #treatments .beauty-studio-core-service:first-child .beauty-studio-core-service__number {
	min-width: 0;
	margin-bottom: clamp(5rem, 10vw, 10rem);
	font-size: clamp(1rem, 0.88rem + 0.35vw, 1.25rem);
}

.home #treatments .beauty-studio-core-service:first-child h3 {
	max-width: 10.5ch;
	font-size: clamp(3.15rem, 5vw, 6rem);
	line-height: 0.88;
	letter-spacing: -0.055em;
}

.home #treatments .beauty-studio-core-service:first-child p {
	max-width: 31rem;
	margin-top: clamp(1.35rem, 2vw, 1.8rem);
	font-size: clamp(1rem, 0.94rem + 0.18vw, 1.12rem);
}

.home #treatments .beauty-studio-core-service:first-child .beauty-studio-core-service__meta {
	max-width: 30rem;
	margin-top: clamp(1.55rem, 2.3vw, 2.25rem);
}

.home #treatments .beauty-studio-core-service:not(:first-child):hover,
.home #treatments .beauty-studio-core-service:not(:first-child):focus-within {
	background: color-mix(in srgb, var(--beauty-color-surface) 36%, transparent);
}

/* Services: four editorial treatment chapters. */
.beauty-studio-core-detail-list {
	padding-top: clamp(5rem, 7.5vw, 8rem);
	padding-bottom: clamp(5rem, 7.5vw, 8rem);
	background: var(--beauty-color-background);
}

.beauty-studio-core-detail-list .beauty-studio-core-section-header {
	grid-template-columns: minmax(15rem, 0.58fr) minmax(0, 1fr);
	gap: clamp(2rem, 5.5vw, 7rem);
	align-items: end;
	max-width: var(--beauty-core-wide);
	margin-right: auto;
	margin-bottom: clamp(3rem, 5vw, 5.5rem);
	margin-left: auto;
	padding-bottom: clamp(2rem, 3vw, 3rem);
	border-bottom: 1px solid var(--beauty-core-line);
}

.beauty-studio-core-detail-list .beauty-studio-core-section-header h2 {
	max-width: 12.5ch;
	font-size: clamp(3.15rem, 4.8vw, 6.1rem);
	line-height: 0.9;
}

.beauty-studio-core-detail-list__items {
	max-width: var(--beauty-core-wide);
	margin-right: auto;
	margin-left: auto;
	border-top: 0;
}

.beauty-studio-core-detail-service,
.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even) {
	position: relative;
	grid-template-columns: minmax(17rem, 0.74fr) minmax(0, 1.26fr);
	gap: clamp(3rem, 7vw, 8.5rem);
	align-items: center;
	min-height: 0;
	padding-top: clamp(4rem, 6vw, 6.75rem);
	padding-bottom: clamp(4rem, 6vw, 6.75rem);
	border-bottom: 1px solid var(--beauty-core-line);
}

.beauty-studio-core-detail-service::before {
	position: absolute;
	top: clamp(4rem, 6vw, 6.75rem);
	left: 0;
	width: 1px;
	height: clamp(3rem, 6vw, 5.25rem);
	background: color-mix(in srgb, var(--beauty-color-accent-dark) 54%, transparent);
	content: "";
}

.beauty-studio-core-detail-service__media,
.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even)
	.beauty-studio-core-detail-service__media {
	width: min(100%, 34rem);
	justify-self: start;
	box-shadow: none;
}

.beauty-studio-core-detail-service__content,
.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even)
	.beauty-studio-core-detail-service__content {
	width: min(100%, 45rem);
	max-width: 45rem;
	justify-self: start;
}

.beauty-studio-core-detail-service__content::before {
	display: none;
}

.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even) {
	grid-template-columns: minmax(0, 1.26fr) minmax(17rem, 0.74fr);
}

.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even)
	.beauty-studio-core-detail-service__media {
	justify-self: end;
}

.beauty-studio-core-detail-service h3 {
	max-width: 13.75ch;
	margin-top: 1rem;
	font-size: clamp(3.15rem, 4.35vw, 5.85rem);
	line-height: 0.88;
	letter-spacing: -0.055em;
}

.beauty-studio-core-detail-service p {
	max-width: 38rem;
	margin-top: clamp(1.25rem, 2vw, 1.75rem);
	font-size: clamp(1rem, 0.95rem + 0.16vw, 1.12rem);
	line-height: 1.8;
}

.beauty-studio-core-detail-service .beauty-studio-core-service__meta {
	max-width: 38rem;
	margin-top: clamp(1.5rem, 2.5vw, 2.25rem);
	padding-top: 0.95rem;
}

.beauty-studio-core-detail-service .beauty-studio-core-service__number {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	color: color-mix(in srgb, var(--beauty-color-accent-dark) 72%, transparent);
	font-size: clamp(0.9rem, 0.84rem + 0.18vw, 1.05rem);
}

.beauty-studio-core-detail-service .beauty-studio-core-service__number::after {
	width: clamp(2.5rem, 5vw, 5rem);
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.42;
}

/* Booking CTA: compact editorial band for global page closes. */
.beauty-studio-core-cta--compact {
	min-height: 0;
	padding: 0;
	background-image: none;
}

.beauty-studio-core-cta--compact .beauty-studio-core-cta__inner {
	display: grid;
	grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1fr);
	grid-template-areas:
		"eyebrow copy"
		"heading copy"
		"heading actions"
		"note note";
	gap: 0.65rem clamp(3rem, 7vw, 8rem);
	align-items: center;
	width: min(calc(100% - (2 * var(--beauty-core-gutter))), var(--beauty-core-wide));
	padding-top: clamp(3.5rem, 5vw, 5.25rem);
	padding-bottom: clamp(3.5rem, 5vw, 5.25rem);
	text-align: left;
}

.beauty-studio-core-cta--compact h2 {
	max-width: 11ch;
	font-size: clamp(2.85rem, 4.2vw, 5.25rem);
	line-height: 0.9;
}

.beauty-studio-core-cta--compact .beauty-studio-core-cta__copy {
	max-width: 35rem;
	font-size: clamp(0.98rem, 0.94rem + 0.13vw, 1.08rem);
	line-height: 1.78;
}

.beauty-studio-core-cta--compact .beauty-studio-core-cta__actions {
	justify-content: flex-start;
}

.beauty-studio-core-cta--compact.beauty-studio-core-cta--dark {
	background: color-mix(in srgb, var(--beauty-color-text) 96%, #140e0b);
}

.beauty-studio-core-cta--compact.beauty-studio-core-cta--dark .beauty-studio-core-cta__button {
	border-color: var(--beauty-color-surface);
	background: var(--beauty-color-surface);
	color: var(--beauty-color-text);
}

@media (max-width: 63.9375rem) {
	.home #treatments.beauty-studio-core-services .beauty-studio-core-section-header,
	.elementor-element:has(.beauty-studio-core-story)
		+ .elementor-element:has(.beauty-studio-core-values)
		.beauty-studio-core-section-header,
	.beauty-studio-core-detail-list .beauty-studio-core-section-header {
		grid-template-columns: 1fr;
		gap: 1.6rem;
	}

	.home #treatments.beauty-studio-core-services .beauty-studio-core-section-header p {
		justify-self: start;
	}

	.home #treatments .beauty-studio-core-services__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.home #treatments .beauty-studio-core-service:first-child {
		grid-row: auto;
		min-height: 0;
		margin-bottom: 0.75rem;
	}

	.home #treatments .beauty-studio-core-service:first-child .beauty-studio-core-service__number {
		margin-bottom: clamp(3rem, 9vw, 5rem);
	}

	.elementor-element:has(.beauty-studio-core-page-hero)
		+ .elementor-element:has(.beauty-studio-core-story)
		.beauty-studio-core-story,
	.elementor-element:has(.beauty-studio-core-story)
		~ .elementor-element:has(.beauty-studio-core-values)
		+ .elementor-element:has(.beauty-studio-core-split)
		.beauty-studio-core-split {
		grid-template-columns: 1fr;
	}

	.elementor-element:has(.beauty-studio-core-page-hero)
		+ .elementor-element:has(.beauty-studio-core-story)
		.beauty-studio-core-story__media,
	.elementor-element:has(.beauty-studio-core-story)
		~ .elementor-element:has(.beauty-studio-core-values)
		+ .elementor-element:has(.beauty-studio-core-split)
		.beauty-studio-core-split__media {
		width: min(100%, 38rem);
		justify-self: start;
	}

	.elementor-element:has(.beauty-studio-core-story)
		+ .elementor-element:has(.beauty-studio-core-values)
		.beauty-studio-core-values__grid {
		grid-template-columns: 1fr;
	}

	.elementor-element:has(.beauty-studio-core-story)
		+ .elementor-element:has(.beauty-studio-core-values)
		.beauty-studio-core-value {
		border-right: 0;
		border-bottom: 1px solid var(--beauty-core-line);
	}

	.elementor-element:has(.beauty-studio-core-story)
		+ .elementor-element:has(.beauty-studio-core-values)
		.beauty-studio-core-value:last-child {
		border-bottom: 0;
	}

	.beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) {
		grid-template-columns: minmax(14rem, 0.68fr) minmax(0, 1.32fr);
		gap: clamp(2.25rem, 5vw, 4rem);
	}

	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) {
		grid-template-columns: minmax(0, 1.32fr) minmax(14rem, 0.68fr);
	}
}

@media (max-width: 47.9375rem) {
	.home #treatments.beauty-studio-core-services,
	.elementor-element:has(.beauty-studio-core-story)
		+ .elementor-element:has(.beauty-studio-core-values)
		.beauty-studio-core-values,
	.beauty-studio-core-detail-list {
		padding-top: 4.5rem;
		padding-bottom: 4.75rem;
	}

	.home #treatments.beauty-studio-core-services .beauty-studio-core-section-header h2,
	.elementor-element:has(.beauty-studio-core-story)
		+ .elementor-element:has(.beauty-studio-core-values)
		.beauty-studio-core-section-header h2,
	.beauty-studio-core-detail-list .beauty-studio-core-section-header h2 {
		max-width: 11.5ch;
		font-size: clamp(2.8rem, 12vw, 4rem);
		line-height: 0.9;
	}

	.home #treatments .beauty-studio-core-service,
	.home #treatments .beauty-studio-core-service:first-child {
		grid-template-columns: 1fr;
		grid-template-areas:
			"number"
			"title"
			"copy"
			"meta"
			"link";
		padding-right: 0;
		padding-left: 0;
	}

	.home #treatments .beauty-studio-core-service:first-child {
		padding: 2.25rem 1.25rem;
	}

	.home #treatments .beauty-studio-core-service:first-child h3 {
		max-width: 10ch;
		font-size: clamp(2.8rem, 13vw, 4.15rem);
	}

	.home #treatments .beauty-studio-core-service:not(:first-child) h3 {
		max-width: 14ch;
	}

	.elementor-element:has(.beauty-studio-core-page-hero)
		+ .elementor-element:has(.beauty-studio-core-story)
		.beauty-studio-core-story,
	.elementor-element:has(.beauty-studio-core-story)
		~ .elementor-element:has(.beauty-studio-core-values)
		+ .elementor-element:has(.beauty-studio-core-split)
		.beauty-studio-core-split {
		padding-top: 4.5rem;
		padding-bottom: 4.75rem;
	}

	.elementor-element:has(.beauty-studio-core-page-hero)
		+ .elementor-element:has(.beauty-studio-core-story)
		.beauty-studio-core-story h2,
	.elementor-element:has(.beauty-studio-core-story)
		~ .elementor-element:has(.beauty-studio-core-values)
		+ .elementor-element:has(.beauty-studio-core-split)
		.beauty-studio-core-split h2 {
		max-width: 10.5ch;
		font-size: clamp(3rem, 13vw, 4.3rem);
	}

	.elementor-element:has(.beauty-studio-core-story)
		+ .elementor-element:has(.beauty-studio-core-values)
		.beauty-studio-core-value span {
		margin-bottom: 2.5rem;
		font-size: clamp(3.25rem, 16vw, 4.6rem);
	}

	.beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) {
		grid-template-columns: 1fr;
		gap: 2.25rem;
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.beauty-studio-core-detail-service::before {
		top: 3.5rem;
		height: 2.5rem;
	}

	.beauty-studio-core-detail-service__media,
	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even)
		.beauty-studio-core-detail-service__media {
		order: 1;
		width: min(100%, 34rem);
		justify-self: start;
	}

	.beauty-studio-core-detail-service__content,
	.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even)
		.beauty-studio-core-detail-service__content {
		order: 2;
		width: 100%;
		max-width: none;
	}

	.beauty-studio-core-detail-service h3 {
		max-width: 12.5ch;
		font-size: clamp(2.85rem, 13vw, 4.2rem);
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"eyebrow"
			"heading"
			"copy"
			"actions"
			"note";
		gap: 0;
		width: min(calc(100% - (2 * var(--beauty-core-gutter))), 36rem);
		padding-top: 3.75rem;
		padding-bottom: 3.75rem;
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__copy {
		margin-top: 1.25rem;
	}

	.beauty-studio-core-cta--compact .beauty-studio-core-cta__actions {
		width: 100%;
		margin-top: 1.5rem;
	}
}

@media (max-width: 26.875rem) {
	:is(
		.beauty-studio-core-hero__heading,
		.beauty-studio-core-page-hero h1,
		.beauty-studio-core-intro h2,
		.beauty-studio-core-split h2,
		.beauty-studio-core-story h2,
		.beauty-studio-core-section-header h2,
		.beauty-studio-core-cta h2,
		.beauty-studio-core-service h3,
		.beauty-studio-core-detail-service h3,
		.beauty-studio-core-value h3
	) {
		overflow-wrap: normal !important;
		word-break: normal !important;
		hyphens: none !important;
	}
}

/* =========================================================
   LUNEA — ABOUT PAGE EDITORIAL SIGNATURE V2
   Stronger visual hierarchy, human connection and page rhythm.
   Explicit classes only; no sibling guessing or negative overlap.
   ========================================================= */

/* ---------------------------------------------------------
   About hero — luxury editorial cover, not a utility card.
   --------------------------------------------------------- */
.beauty-studio-core-page-hero--about {
	display: block;
	min-height: 0;
	padding-top: clamp(5rem, 7vw, 7.5rem);
	padding-bottom: clamp(4.5rem, 6.5vw, 6.75rem);
	overflow: hidden;
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 72%, transparent);
	background:
		linear-gradient(
			135deg,
			#FFFFFF 0%,
			#FBFBF9 56%,
			#F7F5F2 100%
		);
}

.beauty-studio-core-page-hero--about::before {
	position: absolute;
	top: 0;
	right: max(var(--beauty-core-gutter), calc((100vw - var(--beauty-core-wide)) / 2));
	bottom: 0;
	width: 1px;
	background: color-mix(in srgb, var(--beauty-color-border) 54%, transparent);
	content: "";
	pointer-events: none;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__about-shell {
	display: grid;
	grid-template-columns: minmax(22rem, 0.9fr) minmax(26rem, 1.1fr);
	gap: clamp(3rem, 7vw, 8rem);
	align-items: center;
	width: min(100%, var(--beauty-core-wide));
	margin: 0 auto;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__content {
	position: relative;
	z-index: 2;
	max-width: 49rem;
	padding: clamp(1rem, 3vw, 3rem) 0;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-eyebrow {
	margin-bottom: clamp(1.4rem, 2.2vw, 2rem);
}

.beauty-studio-core-page-hero--about h1 {
	max-width: 9.2ch;
	margin: 0;
	font-size: clamp(4.4rem, 6.4vw, 7.9rem);
	line-height: 0.86;
	letter-spacing: -0.064em;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: balance;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-lede {
	max-width: 35rem;
	margin-top: clamp(1.6rem, 2.6vw, 2.25rem);
	font-size: clamp(1.03rem, 0.97rem + 0.2vw, 1.18rem);
	line-height: 1.8;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__media,
.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__editorial-card {
	position: relative;
	width: 100%;
	margin: 0;
	overflow: hidden;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__editorial-card {
	min-height: clamp(34rem, 49vw, 50rem);
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__media {
	aspect-ratio: 4 / 5;
	min-height: 0;
	border: 1px solid color-mix(in srgb, var(--beauty-color-border) 76%, transparent);
	background: transparent;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__image,
.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__media > .beauty-studio-core-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	aspect-ratio: auto;
	margin: 0;
	object-fit: cover;
	filter: saturate(0.92) contrast(1.02);
	transition: transform 1000ms cubic-bezier(0.22, 1, 0.36, 1);
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__media:hover .beauty-studio-core-page-hero__image {
	transform: scale(1.018);
}

.beauty-studio-core-page-hero__media-caption {
	position: absolute;
	right: 1.5rem;
	bottom: 1.5rem;
	margin: 0;
	padding: 0.72rem 0.9rem;
	background: color-mix(in srgb, var(--beauty-color-surface) 88%, transparent);
	color: var(--beauty-color-text);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	backdrop-filter: blur(10px);
}

.beauty-studio-core-page-hero__editorial-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(2.75rem, 5vw, 5.25rem);
	border: 1px solid color-mix(in srgb, var(--beauty-color-surface) 12%, transparent);
	background:
		linear-gradient(145deg, transparent 0 64%, color-mix(in srgb, var(--beauty-color-accent-dark) 20%, transparent) 64% 65%, transparent 65%),
		radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--beauty-color-accent-dark) 27%, transparent), transparent 34%),
		var(--beauty-color-text);
	color: var(--beauty-color-surface);
}

.beauty-studio-core-page-hero__editorial-card::before,
.beauty-studio-core-page-hero__editorial-card::after {
	position: absolute;
	content: "";
	pointer-events: none;
}

.beauty-studio-core-page-hero__editorial-card::before {
	top: clamp(2rem, 4vw, 4rem);
	right: clamp(2rem, 4vw, 4rem);
	width: clamp(4rem, 9vw, 8rem);
	height: clamp(4rem, 9vw, 8rem);
	border: 1px solid color-mix(in srgb, var(--beauty-color-surface) 12%, transparent);
	border-radius: 50%;
}

.beauty-studio-core-page-hero__editorial-card::after {
	top: 0;
	right: 22%;
	width: 1px;
	height: 100%;
	background: color-mix(in srgb, var(--beauty-color-surface) 10%, transparent);
}

.beauty-studio-core-page-hero__monogram {
	position: absolute;
	top: 50%;
	right: -0.04em;
	transform: translateY(-44%);
	color: currentColor;
	font-family: var(--beauty-font-heading);
	font-size: clamp(17rem, 26vw, 29rem);
	font-weight: 400;
	letter-spacing: -0.1em;
	line-height: 0.72;
	opacity: 0.045;
	pointer-events: none;
}

.beauty-studio-core-page-hero__panel-label {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	width: fit-content;
	margin: 0 0 auto;
	color: color-mix(in srgb, var(--beauty-color-surface) 70%, transparent);
	font-size: 0.69rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.25;
	text-transform: uppercase;
}

.beauty-studio-core-page-hero__panel-label::before {
	width: 2.25rem;
	height: 1px;
	background: currentColor;
	content: "";
}

.beauty-studio-core-page-hero__panel-heading {
	position: relative;
	z-index: 2;
	max-width: 10ch;
	margin: clamp(6rem, 11vw, 11rem) 0 0;
	color: var(--beauty-color-surface);
	font-family: var(--beauty-font-heading);
	font-size: clamp(3.1rem, 4.8vw, 6.1rem);
	font-weight: 400;
	letter-spacing: -0.052em;
	line-height: 0.9;
	text-wrap: balance;
}

.beauty-studio-core-page-hero__panel-note {
	position: relative;
	z-index: 2;
	max-width: 31rem;
	margin: clamp(1.5rem, 2.6vw, 2.25rem) 0 0;
	color: color-mix(in srgb, var(--beauty-color-surface) 64%, transparent);
	font-size: clamp(0.96rem, 0.92rem + 0.12vw, 1.04rem);
	line-height: 1.75;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(100%, var(--beauty-core-wide));
	margin: clamp(3rem, 5vw, 4.75rem) auto 0;
	padding: 0;
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 74%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 74%, transparent);
	list-style: none;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__details li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1rem, 1.5vw, 1.4rem);
	align-items: center;
	padding: clamp(1.65rem, 2.7vw, 2.35rem) clamp(1.2rem, 2.8vw, 2.8rem);
	border-right: 1px solid color-mix(in srgb, var(--beauty-color-border) 68%, transparent);
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__details li:last-child {
	border-right: 0;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__details span {
	color: color-mix(in srgb, var(--beauty-color-accent-dark) 68%, transparent);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.55rem, 2vw, 2.25rem);
	font-style: italic;
	line-height: 1;
}

.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__details strong {
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-body);
	font-size: clamp(0.84rem, 0.8rem + 0.1vw, 0.94rem);
	font-weight: 700;
	letter-spacing: 0.085em;
	line-height: 1.45;
	text-transform: uppercase;
}

/* ---------------------------------------------------------
   Founder story — real human connection, no repeated split card.
   --------------------------------------------------------- */
.beauty-studio-core-story--founder {
	display: block;
	padding-top: clamp(6rem, 9vw, 9.5rem);
	padding-bottom: clamp(6rem, 9vw, 9.5rem);
	background: var(--beauty-color-surface);
}

.beauty-studio-core-story--founder .beauty-studio-core-story__founder-shell {
	display: grid;
	grid-template-columns: minmax(22rem, 0.88fr) minmax(25rem, 1.12fr);
	grid-template-rows: auto auto;
	gap: clamp(2.75rem, 6vw, 6.75rem) clamp(4rem, 8vw, 9rem);
	align-items: start;
	width: min(100%, var(--beauty-core-wide));
	margin: 0 auto;
}

.beauty-studio-core-story--founder .beauty-studio-core-story__portrait {
	position: relative;
	grid-row: 1 / 3;
	width: min(100%, 40rem);
	margin: 0;
	padding: 0 clamp(1rem, 2vw, 2rem) clamp(1rem, 2vw, 2rem) 0;
}

.beauty-studio-core-story--founder .beauty-studio-core-story__portrait::before {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 58%;
	height: 52%;
	border-right: 1px solid color-mix(in srgb, var(--beauty-color-border) 82%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 82%, transparent);
	content: "";
	pointer-events: none;
}

.beauty-studio-core-story__portrait-image,
.beauty-studio-core-story__portrait > .beauty-studio-core-placeholder {
	display: block;
	width: 100%;
	min-height: clamp(37rem, 55vw, 56rem);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	filter: saturate(0.9) contrast(1.02);
}

.beauty-studio-core-story--founder .beauty-studio-core-story__founder-content {
	position: relative;
	max-width: 49rem;
	padding-top: clamp(1rem, 3vw, 3.5rem);
}

.beauty-studio-core-story--founder .beauty-studio-core-story__founder-content::before {
	position: absolute;
	top: 0;
	left: clamp(-2.5rem, -3vw, -1.25rem);
	width: 1px;
	height: clamp(4rem, 8vw, 7rem);
	background: color-mix(in srgb, var(--beauty-color-accent-dark) 42%, transparent);
	content: "";
}

.beauty-studio-core-story--founder h2 {
	max-width: 10.5ch;
	margin: 0;
	font-size: clamp(3.75rem, 5.6vw, 7rem);
	line-height: 0.88;
	letter-spacing: -0.058em;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: balance;
}

.beauty-studio-core-story--founder .beauty-studio-core-copy {
	max-width: 40rem;
	font-size: clamp(1.02rem, 0.96rem + 0.2vw, 1.16rem);
	line-height: 1.82;
}

.beauty-studio-core-story--founder .beauty-studio-core-signature {
	max-width: 26ch;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
	font-size: clamp(1.55rem, 2vw, 2.25rem);
}

.beauty-studio-core-story__founder-meta {
	display: grid;
	gap: 0.35rem;
	margin-top: clamp(2.25rem, 4vw, 3.5rem);
	padding-top: 1.25rem;
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 76%, transparent);
}

.beauty-studio-core-story__founder-meta strong {
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.55rem, 1.9vw, 2.1rem);
	font-weight: 400;
	letter-spacing: -0.03em;
}

.beauty-studio-core-story__founder-meta span {
	color: var(--beauty-color-muted);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.beauty-studio-core-story--founder .beauty-studio-core-story__atmosphere {
	position: relative;
	width: min(100%, 34rem);
	margin: 0 0 0 auto;
}

.beauty-studio-core-story__atmosphere-image,
.beauty-studio-core-story__atmosphere > .beauty-studio-core-placeholder {
	display: block;
	width: 100%;
	min-height: clamp(13rem, 18vw, 18rem);
	aspect-ratio: 16 / 8;
	object-fit: cover;
}

/* ---------------------------------------------------------
   Values — editorial manifesto list instead of three cards.
   --------------------------------------------------------- */
.beauty-studio-core-values--manifesto-list {
	display: block;
	padding-top: clamp(6rem, 9vw, 9rem);
	padding-bottom: clamp(6rem, 9vw, 9rem);
	overflow: hidden;
	background:
		radial-gradient(circle at 10% 15%, color-mix(in srgb, var(--beauty-color-accent-dark) 13%, transparent), transparent 32%),
		var(--beauty-color-text);
	color: var(--beauty-color-surface);
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-values__manifesto-shell {
	display: grid;
	grid-template-columns: minmax(19rem, 0.72fr) minmax(28rem, 1.28fr);
	gap: clamp(4rem, 9vw, 10rem);
	align-items: start;
	width: min(100%, var(--beauty-core-wide));
	margin: 0 auto;
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-values__manifesto-header {
	position: relative;
	padding-top: 0.5rem;
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-values__manifesto-header::after {
	display: block;
	width: clamp(4rem, 8vw, 8rem);
	height: 1px;
	margin-top: clamp(3rem, 6vw, 6rem);
	background: color-mix(in srgb, var(--beauty-color-surface) 22%, transparent);
	content: "";
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-eyebrow,
.beauty-studio-core-values--manifesto-list .beauty-studio-core-eyebrow::before {
	color: color-mix(in srgb, var(--beauty-color-surface) 68%, transparent);
}

.beauty-studio-core-values--manifesto-list h2 {
	max-width: 9.5ch;
	margin: 0;
	color: var(--beauty-color-surface);
	font-family: var(--beauty-font-heading);
	font-size: clamp(3.7rem, 5.5vw, 6.8rem);
	font-weight: 400;
	letter-spacing: -0.058em;
	line-height: 0.88;
	text-wrap: balance;
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-values__manifesto-header > p:last-child {
	max-width: 30rem;
	margin: clamp(1.5rem, 2.5vw, 2rem) 0 0;
	color: color-mix(in srgb, var(--beauty-color-surface) 58%, transparent);
	font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.06rem);
	line-height: 1.75;
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-values__manifesto-list {
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-surface) 18%, transparent);
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-value {
	display: grid;
	grid-template-columns: clamp(4.5rem, 7vw, 7rem) minmax(10rem, 0.55fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 3.5rem);
	align-items: center;
	min-height: clamp(10rem, 15vw, 14rem);
	padding: clamp(2rem, 3.4vw, 3.5rem) 0;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-surface) 18%, transparent);
	background: transparent;
	color: var(--beauty-color-surface);
	transition: padding-left 500ms cubic-bezier(0.22, 1, 0.36, 1), background-color 500ms ease;
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-value:hover {
	padding-left: clamp(0.5rem, 1vw, 1rem);
	background: color-mix(in srgb, var(--beauty-color-surface) 3.5%, transparent);
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-value__index {
	margin: 0;
	padding: 0;
	color: color-mix(in srgb, var(--beauty-color-surface) 24%, transparent);
	font-family: var(--beauty-font-heading);
	font-size: clamp(3.6rem, 6vw, 6.3rem);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.06em;
	line-height: 0.8;
	text-transform: none;
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-value__body {
	display: contents;
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-value h3 {
	max-width: 13ch;
	margin: 0;
	color: var(--beauty-color-surface);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.9rem, 2.4vw, 2.8rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 0.98;
}

.beauty-studio-core-values--manifesto-list .beauty-studio-core-value p {
	max-width: 34rem;
	margin: 0;
	color: color-mix(in srgb, var(--beauty-color-surface) 60%, transparent);
	font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.06rem);
	line-height: 1.76;
}

/* ---------------------------------------------------------
   Philosophy — immersive image + editorial content studio.
   --------------------------------------------------------- */
.beauty-studio-core-split--about-editorial {
	display: block;
	padding-top: clamp(6rem, 9vw, 9.5rem);
	padding-bottom: clamp(6rem, 9vw, 9.5rem);
	overflow: hidden;
	background:
		linear-gradient(
			90deg,
			var(--beauty-color-background) 0 54%,
			color-mix(in srgb, var(--beauty-color-accent) 8%, var(--beauty-color-surface)) 54% 100%
		);
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__about-shell {
	display: grid;
	grid-template-columns: minmax(28rem, 1.12fr) minmax(22rem, 0.88fr);
	gap: clamp(3.5rem, 7vw, 8rem);
	align-items: center;
	width: min(100%, var(--beauty-core-wide));
	margin: 0 auto;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media::before {
	display: none;
	content: none;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__image,
.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media > .beauty-studio-core-placeholder {
	min-height: clamp(36rem, 54vw, 55rem);
	aspect-ratio: 4 / 5;
	filter: saturate(0.92) contrast(1.02);
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__small {
	right: auto;
	bottom: clamp(1.25rem, 2.5vw, 2.5rem);
	left: clamp(1.25rem, 2.5vw, 2.5rem);
	width: clamp(8.5rem, 13vw, 13.5rem);
	border-color: var(--beauty-color-background);
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__content {
	max-width: 42rem;
	justify-self: start;
}

.beauty-studio-core-split--about-editorial h2 {
	max-width: 9.4ch;
	margin: 0;
	font-size: clamp(3.8rem, 5.6vw, 6.9rem);
	line-height: 0.87;
	letter-spacing: -0.058em;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: balance;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-copy {
	max-width: 35rem;
	font-size: clamp(1.02rem, 0.96rem + 0.2vw, 1.16rem);
	line-height: 1.82;
}

.beauty-studio-core-split__notes {
	display: grid;
	margin-top: clamp(2.5rem, 4vw, 3.75rem);
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 78%, transparent);
}

.beauty-studio-core-split__note {
	display: grid;
	grid-template-columns: minmax(6.5rem, 0.34fr) minmax(0, 1fr);
	gap: 1.25rem;
	align-items: baseline;
	padding: 1.1rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 78%, transparent);
}

.beauty-studio-core-split__note strong {
	color: var(--beauty-color-accent-dark);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.beauty-studio-core-split__note span {
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.35rem, 1.7vw, 1.85rem);
	letter-spacing: -0.025em;
	line-height: 1.1;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-button {
	width: fit-content;
	margin-top: clamp(2rem, 3vw, 2.75rem);
}

/* About section typography should remain readable at listing scale. */
:is(
	.beauty-studio-core-page-hero--about,
	.beauty-studio-core-story--founder,
	.beauty-studio-core-values--manifesto-list,
	.beauty-studio-core-split--about-editorial
) :is(p, span, strong) {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-page-hero--about::before {
		display: none;
	}

	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__about-shell {
		grid-template-columns: minmax(0, 0.94fr) minmax(20rem, 1.06fr);
		gap: clamp(2.5rem, 5vw, 4.5rem);
	}

	.beauty-studio-core-page-hero--about h1 {
		font-size: clamp(3.8rem, 8.4vw, 5.8rem);
	}

	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__media,
	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__editorial-card {
		min-height: 34rem;
	}

	.beauty-studio-core-story--founder .beauty-studio-core-story__founder-shell {
		grid-template-columns: minmax(19rem, 0.85fr) minmax(0, 1.15fr);
		gap: 3rem 4rem;
	}

	.beauty-studio-core-story--founder h2,
	.beauty-studio-core-values--manifesto-list h2,
	.beauty-studio-core-split--about-editorial h2 {
		font-size: clamp(3.4rem, 7vw, 5rem);
	}

	.beauty-studio-core-values--manifesto-list .beauty-studio-core-values__manifesto-shell {
		grid-template-columns: minmax(17rem, 0.68fr) minmax(0, 1.32fr);
		gap: 4rem;
	}

	.beauty-studio-core-values--manifesto-list .beauty-studio-core-value {
		grid-template-columns: 4.5rem minmax(9rem, 0.55fr) minmax(0, 1fr);
		gap: 1.5rem;
	}

	.beauty-studio-core-split--about-editorial {
		background: color-mix(in srgb, var(--beauty-color-accent) 6%, var(--beauty-color-background));
	}

	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__about-shell {
		grid-template-columns: minmax(22rem, 1fr) minmax(20rem, 1fr);
		gap: 4rem;
	}
}

/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-page-hero--about {
		padding-top: 4.25rem;
		padding-bottom: 4.5rem;
	}

	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__about-shell {
		grid-template-columns: 1fr;
		gap: 2.75rem;
	}

	.beauty-studio-core-page-hero--about h1 {
		max-width: 9.4ch;
		font-size: clamp(3.25rem, 14.5vw, 4.65rem);
	}

	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__media,
	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__editorial-card {
		min-height: 29rem;
	}

	.beauty-studio-core-page-hero__editorial-card {
		padding: 2rem;
	}

	.beauty-studio-core-page-hero__panel-heading {
		margin-top: 6rem;
		font-size: clamp(2.75rem, 12vw, 3.8rem);
	}

	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__details {
		grid-template-columns: 1fr;
		margin-top: 2.75rem;
	}

	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__details li {
		padding-right: 0;
		padding-left: 0;
		border-right: 0;
		border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 68%, transparent);
	}

	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__details li:last-child {
		border-bottom: 0;
	}

	.beauty-studio-core-story--founder {
		padding-top: 4.75rem;
		padding-bottom: 5rem;
	}

	.beauty-studio-core-story--founder .beauty-studio-core-story__founder-shell {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 3rem;
	}

	.beauty-studio-core-story--founder .beauty-studio-core-story__portrait {
		grid-row: auto;
		width: calc(100% - 1rem);
		padding-right: 1rem;
		padding-bottom: 1rem;
	}

	.beauty-studio-core-story__portrait-image,
	.beauty-studio-core-story__portrait > .beauty-studio-core-placeholder {
		min-height: 0;
		aspect-ratio: 4 / 5;
	}

	.beauty-studio-core-story--founder .beauty-studio-core-story__founder-content {
		padding-top: 0;
	}

	.beauty-studio-core-story--founder .beauty-studio-core-story__founder-content::before {
		display: none;
	}

	.beauty-studio-core-story--founder h2 {
		max-width: 9.8ch;
		font-size: clamp(3rem, 13.5vw, 4.25rem);
	}

	.beauty-studio-core-story--founder .beauty-studio-core-story__atmosphere {
		width: 86%;
		margin-left: auto;
	}

	.beauty-studio-core-values--manifesto-list {
		padding-top: 4.75rem;
		padding-bottom: 5rem;
	}

	.beauty-studio-core-values--manifesto-list .beauty-studio-core-values__manifesto-shell {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.beauty-studio-core-values--manifesto-list h2 {
		max-width: 9.2ch;
		font-size: clamp(3rem, 13.5vw, 4.25rem);
	}

	.beauty-studio-core-values--manifesto-list .beauty-studio-core-value {
		grid-template-columns: 4.5rem minmax(0, 1fr);
		gap: 1.25rem;
		padding: 2rem 0;
	}

	.beauty-studio-core-values--manifesto-list .beauty-studio-core-value:hover {
		padding-left: 0;
	}

	.beauty-studio-core-values--manifesto-list .beauty-studio-core-value__body {
		display: block;
	}

	.beauty-studio-core-values--manifesto-list .beauty-studio-core-value h3 {
		max-width: 15ch;
		font-size: clamp(1.75rem, 7.5vw, 2.25rem);
	}

	.beauty-studio-core-values--manifesto-list .beauty-studio-core-value p {
		margin-top: 0.85rem;
	}

	.beauty-studio-core-split--about-editorial {
		padding-top: 4.75rem;
		padding-bottom: 5rem;
		background: color-mix(in srgb, var(--beauty-color-accent) 6%, var(--beauty-color-background));
	}

	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__about-shell {
		grid-template-columns: 1fr;
		gap: 3.25rem;
	}

	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media {
		width: calc(100% - 1rem);
		padding-right: 1rem;
		padding-bottom: 1rem;
	}

	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__image,
	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media > .beauty-studio-core-placeholder {
		min-height: 0;
		aspect-ratio: 4 / 5;
	}

	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__small {
		left: 1rem;
		bottom: 1rem;
		width: clamp(7.5rem, 31vw, 10.5rem);
	}

	.beauty-studio-core-split--about-editorial h2 {
		max-width: 9.5ch;
		font-size: clamp(3rem, 13.5vw, 4.25rem);
	}

	.beauty-studio-core-split__note {
		grid-template-columns: 1fr;
		gap: 0.45rem;
	}

	.beauty-studio-core-split--about-editorial .beauty-studio-core-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__image,
	.beauty-studio-core-values--manifesto-list .beauty-studio-core-value {
		transition: none;
	}

	.beauty-studio-core-page-hero--about .beauty-studio-core-page-hero__media:hover .beauty-studio-core-page-hero__image {
		transform: none;
	}
}

/* ==========================================================================
   LUNEA HOME — CLEAN PREMIUM FINAL
   The Home page is intentionally restrained: one visual focus per section,
   no dark utility strips, no asymmetric testimonial puzzle and no second hero.
   ========================================================================== */

:is(
	.beauty-studio-core-hero--clean h1,
	.beauty-studio-core-services--clean-collection h2,
	.beauty-studio-core-services--clean-collection h3,
	.beauty-studio-core-split--home-clean h2,
	.beauty-studio-core-testimonials--clean-grid h2,
	.beauty-studio-core-testimonials--clean-grid blockquote,
	.beauty-studio-core-cta--clean-close h2
) {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: balance;
}

/* Hero ------------------------------------------------------------------- */
.beauty-studio-core-hero--clean {
	grid-template-columns: minmax(22rem, 1fr) minmax(28rem, 1fr);
	gap: clamp(2.75rem, 5vw, 5rem);
	min-height: min(88vh, 62rem);
	padding-top: clamp(5rem, 8vw, 8rem);
	padding-bottom: clamp(5.5rem, 8vw, 8rem);
	background: linear-gradient(
		180deg,
		#FFFFFF 0%,
		#F7F5F2 100%
	);
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__content {
	width: 100%;
	min-width: 0;
	max-width: 41rem;
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__kicker-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	align-items: center;
	justify-content: space-between;
	margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
}

.beauty-studio-core-hero--clean .beauty-studio-core-eyebrow {
	margin-bottom: 0;
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__edition {
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: 0.67rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.35;
	text-transform: uppercase;
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__heading {
	max-width: 100%;
	font-size: clamp(4rem, 5.2vw, 6.5rem);
	letter-spacing: -0.058em;
	line-height: 0.9;
}

.beauty-studio-core-hero--clean .beauty-studio-core-lede {
	max-width: 31rem;
	font-size: clamp(1rem, 0.96rem + 0.2vw, 1.15rem);
	line-height: 1.75;
}

.beauty-studio-core-hero--clean .beauty-studio-core-actions {
	margin-top: 2rem;
}

.beauty-studio-core-hero--clean .beauty-studio-core-note {
	max-width: 30rem;
	margin-top: 1.4rem;
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__media {
	width: min(100%, 48rem);
	min-width: 0;
	padding: 0;
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__media::before {
	display: none;
	content: none;
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__image,
.beauty-studio-core-hero--clean .beauty-studio-core-hero__media > .beauty-studio-core-placeholder {
	min-height: clamp(37rem, 56vw, 52rem);
	aspect-ratio: 4 / 5;
	filter: saturate(0.92) contrast(1.02);
	transition: filter 650ms ease;
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__media:hover .beauty-studio-core-hero__image {
	filter: saturate(0.98) contrast(1.03);
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__accent {
	left: clamp(-1.4rem, -2vw, -0.5rem);
	bottom: clamp(2.5rem, 4vw, 4.25rem);
	width: min(27%, 11.5rem);
	border-width: clamp(0.45rem, 0.65vw, 0.7rem);
}

/* Treatments ------------------------------------------------------------- */
.beauty-studio-core-services--clean-collection {
	padding-top: clamp(6.5rem, 9vw, 9rem);
	padding-bottom: clamp(6.5rem, 9vw, 9rem);
	background: color-mix(in srgb, var(--beauty-color-surface) 44%, var(--beauty-color-background));
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-services__header {
	display: grid;
	grid-template-columns: minmax(19rem, 0.9fr) minmax(20rem, 0.72fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: end;
	margin-bottom: clamp(3.5rem, 6vw, 5.5rem);
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-services__header-main h2 {
	max-width: 10ch;
	margin: 0;
	font-size: clamp(3.7rem, 5.5vw, 6.5rem);
	letter-spacing: -0.055em;
	line-height: 0.91;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-services__header-side {
	justify-self: end;
	max-width: 31rem;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-services__header-side > p {
	margin: 0 0 1.25rem;
	color: var(--beauty-color-muted);
	line-height: 1.75;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-services__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
	grid-template-rows: repeat(3, minmax(10.5rem, auto));
	gap: 0 clamp(2rem, 5vw, 5.5rem);
	border-top: 1px solid var(--beauty-color-border);
	border-bottom: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service {
	min-height: 0;
	padding: clamp(1.8rem, 2.6vw, 2.6rem) 0;
	border: 0;
	border-bottom: 1px solid var(--beauty-color-border);
	background: transparent;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service:last-child {
	border-bottom: 0;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service::after {
	display: none;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service:hover {
	background: transparent;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service--featured {
	grid-row: 1 / span 3;
	justify-content: flex-end;
	min-height: clamp(32rem, 45vw, 43rem);
	padding: clamp(3rem, 5vw, 5rem);
	border: 1px solid var(--beauty-color-border);
	background: linear-gradient(
		145deg,
		color-mix(in srgb, var(--beauty-color-accent) 7%, var(--beauty-color-surface)),
		var(--beauty-color-background)
	);
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service__topline {
	margin-bottom: auto;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service__number {
	margin: 0;
	color: color-mix(in srgb, var(--beauty-color-accent-dark) 50%, transparent);
	font-family: var(--beauty-font-heading);
	font-size: 1.2rem;
	font-style: italic;
	font-weight: 400;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service h3 {
	max-width: 17ch;
	margin: 0 0 0.75rem;
	font-size: clamp(2rem, 2.5vw, 3.15rem);
	line-height: 0.98;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service--featured h3 {
	max-width: 7.5ch;
	font-size: clamp(4rem, 6vw, 6.5rem);
	letter-spacing: -0.06em;
	line-height: 0.84;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service > p {
	max-width: 31rem;
	margin: 0;
	color: var(--beauty-color-muted);
	line-height: 1.7;
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service__footer {
	display: flex;
	gap: 1.25rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-services--clean-collection .beauty-studio-core-service__duration {
	color: var(--beauty-color-muted);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

/* Home method ------------------------------------------------------------ */
.beauty-studio-core-split--home-clean {
	grid-template-columns: minmax(25rem, 1.06fr) minmax(21rem, 0.94fr);
	gap: clamp(3.5rem, 7vw, 7rem);
	align-items: center;
	padding-top: clamp(6.5rem, 9vw, 9rem);
	padding-bottom: clamp(6.5rem, 9vw, 9rem);
	background: var(--beauty-color-background);
}

.beauty-studio-core-split--home-clean .beauty-studio-core-split__media {
	padding: 0;
}

.beauty-studio-core-split--home-clean .beauty-studio-core-split__media::before {
	display: none;
	content: none;
}

.beauty-studio-core-split--home-clean .beauty-studio-core-split__image,
.beauty-studio-core-split--home-clean .beauty-studio-core-split__media > .beauty-studio-core-placeholder {
	min-height: clamp(33rem, 45vw, 46rem);
	aspect-ratio: 4 / 5;
}

.beauty-studio-core-split--home-clean .beauty-studio-core-split__small {
	left: 1rem;
	bottom: 1rem;
	width: min(28%, 10.5rem);
}

.beauty-studio-core-split--home-clean .beauty-studio-core-split__content {
	max-width: 37rem;
	padding: 0;
	background: transparent;
}

.beauty-studio-core-split--home-clean h2 {
	max-width: 9.5ch;
	font-size: clamp(4rem, 5.7vw, 6.6rem);
	letter-spacing: -0.058em;
	line-height: 0.9;
}

.beauty-studio-core-split--home-clean .beauty-studio-core-copy {
	max-width: 30rem;
	line-height: 1.75;
}

/* Testimonials ----------------------------------------------------------- */
.beauty-studio-core-testimonials--clean-grid {
	padding-top: clamp(6.5rem, 9vw, 9rem);
	padding-bottom: clamp(6.5rem, 9vw, 9rem);
	background: color-mix(in srgb, var(--beauty-color-surface) 36%, var(--beauty-color-background));
}

.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-section-header {
	display: grid;
	grid-template-columns: minmax(10rem, 0.42fr) minmax(20rem, 1fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	margin-bottom: clamp(3.5rem, 6vw, 5.25rem);
}

.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-section-header h2 {
	max-width: 10ch;
	margin: 0;
	font-size: clamp(3.8rem, 5.6vw, 6.4rem);
	letter-spacing: -0.055em;
	line-height: 0.9;
}

.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--beauty-color-border);
	border-bottom: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial {
	min-height: 24rem;
	padding: clamp(2rem, 3vw, 3.25rem);
	border: 0;
	background: transparent;
}

.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial + .beauty-studio-core-testimonial {
	border-left: 1px solid var(--beauty-color-border);
}

.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-rating {
	margin-bottom: 2rem;
	color: var(--beauty-color-accent-dark);
	font-size: 0.7rem;
	letter-spacing: 0.2em;
}

.beauty-studio-core-testimonials--clean-grid blockquote {
	margin: 0;
	font-family: var(--beauty-font-heading);
	font-size: clamp(2rem, 2.7vw, 3.2rem);
	letter-spacing: -0.045em;
	line-height: 0.98;
}

.beauty-studio-core-testimonials--clean-grid figcaption {
	margin-top: auto;
}

/* Final CTA -------------------------------------------------------------- */
.beauty-studio-core-cta--clean-close {
	display: block;
	min-height: 0;
	padding: clamp(5.5rem, 8vw, 8rem) var(--beauty-core-gutter);
	border-top: 1px solid var(--beauty-color-border);
	border-bottom: 1px solid var(--beauty-color-border);
	background:
		linear-gradient(
			180deg,
			#FBFBF9 0%,
			#F8F5F1 100%
		) !important;
	color: var(--beauty-color-text) !important;
	text-align: center;
}

.beauty-studio-core-cta--clean-close::before,
.beauty-studio-core-cta--clean-close::after {
	display: none;
}

.beauty-studio-core-cta--clean-close .beauty-studio-core-cta__inner {
	display: flex;
	align-items: center;
	flex-direction: column;
	width: min(100%, 52rem);
	max-width: none;
	margin: 0 auto;
}

.beauty-studio-core-cta--clean-close .beauty-studio-core-eyebrow {
	color: var(--beauty-color-accent-dark);
}

.beauty-studio-core-cta--clean-close h2 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(3.8rem, 5.7vw, 6.6rem);
	letter-spacing: -0.06em;
	line-height: 0.9;
}

.beauty-studio-core-cta--clean-close .beauty-studio-core-cta__copy {
	max-width: 36rem;
	margin: 1.5rem auto 0;
	color: var(--beauty-color-muted);
	font-size: 1.05rem;
	line-height: 1.75;
}

.beauty-studio-core-cta--clean-close .beauty-studio-core-cta__actions {
	justify-content: center;
	margin-top: 2rem;
}

.beauty-studio-core-cta--clean-close .beauty-studio-core-cta__button {
	background: var(--beauty-color-accent-dark);
	color: var(--beauty-color-surface);
}

.beauty-studio-core-cta--clean-close .beauty-studio-core-cta__note {
	margin-top: 1.25rem;
	color: var(--beauty-color-muted);
}

@media (max-width: 63.9375rem) {
	.beauty-studio-core-hero--clean {
		grid-template-columns: 1fr;
		gap: 3rem;
		min-height: 0;
	}

	.beauty-studio-core-hero--clean .beauty-studio-core-hero__content {
		max-width: 40rem;
	}

	.beauty-studio-core-hero--clean .beauty-studio-core-hero__heading {
		max-width: 9ch;
		font-size: clamp(3.75rem, 8vw, 5.25rem);
	}

	.beauty-studio-core-hero--clean .beauty-studio-core-hero__media {
		width: min(100%, 44rem);
		justify-self: start;
	}

	body.home
		.beauty-studio-core-testimonials--clean-grid
		.beauty-studio-core-testimonials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.home
		.beauty-studio-core-testimonials--clean-grid
		.beauty-studio-core-testimonial:last-child {
		grid-column: 1 / -1;
		border-top: 1px solid var(--beauty-color-border);
		border-left: 0;
	}

	.beauty-studio-core-services--clean-collection .beauty-studio-core-services__grid {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.9fr);
		gap: 0 3rem;
	}

	.beauty-studio-core-split--home-clean {
		grid-template-columns: minmax(21rem, 1fr) minmax(19rem, 0.9fr);
		gap: 3.5rem;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-hero--clean,
	.beauty-studio-core-split--home-clean {
		grid-template-columns: 1fr;
		gap: 3rem;
		min-height: 0;
		padding-top: 4.25rem;
		padding-bottom: 4.75rem;
	}

	.beauty-studio-core-hero--clean .beauty-studio-core-hero__heading {
		font-size: clamp(3.7rem, 16vw, 5.2rem);
	}

	.beauty-studio-core-hero--clean .beauty-studio-core-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-hero--clean .beauty-studio-core-button,
	.beauty-studio-core-split--home-clean .beauty-studio-core-button,
	.beauty-studio-core-cta--clean-close .beauty-studio-core-cta__button {
		width: 100%;
	}

	.beauty-studio-core-hero--clean .beauty-studio-core-hero__media,
	.beauty-studio-core-split--home-clean .beauty-studio-core-split__media {
		width: calc(100% - 0.75rem);
		padding-right: 0.75rem;
		padding-bottom: 0.75rem;
	}

	.beauty-studio-core-hero--clean .beauty-studio-core-hero__image,
	.beauty-studio-core-split--home-clean .beauty-studio-core-split__image,
	.beauty-studio-core-hero--clean .beauty-studio-core-hero__media > .beauty-studio-core-placeholder,
	.beauty-studio-core-split--home-clean .beauty-studio-core-split__media > .beauty-studio-core-placeholder {
		min-height: 0;
		aspect-ratio: 4 / 5;
	}

	.beauty-studio-core-services--clean-collection {
		padding-top: 4.75rem;
		padding-bottom: 4.75rem;
	}

	.beauty-studio-core-services--clean-collection .beauty-studio-core-services__header,
	.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-section-header {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.beauty-studio-core-services--clean-collection .beauty-studio-core-services__header-main h2,
	.beauty-studio-core-split--home-clean h2,
	.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-section-header h2,
	.beauty-studio-core-cta--clean-close h2 {
		font-size: clamp(3.2rem, 14vw, 4.6rem);
	}

	.beauty-studio-core-services--clean-collection .beauty-studio-core-services__header-side {
		justify-self: start;
	}

	.beauty-studio-core-services--clean-collection .beauty-studio-core-services__grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 0;
	}

	.beauty-studio-core-services--clean-collection .beauty-studio-core-service,
	.beauty-studio-core-services--clean-collection .beauty-studio-core-service--featured {
		grid-row: auto;
		min-height: 0;
		padding: 2rem 0;
		border: 0;
		border-bottom: 1px solid var(--beauty-color-border);
		background: transparent;
	}

	.beauty-studio-core-services--clean-collection .beauty-studio-core-service:last-child {
		border-bottom: 0;
	}

	.beauty-studio-core-services--clean-collection .beauty-studio-core-service--featured h3 {
		font-size: clamp(3.4rem, 15vw, 4.8rem);
	}

	.beauty-studio-core-testimonials--clean-grid {
		padding-top: 4.75rem;
		padding-bottom: 4.75rem;
	}

	.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonials__grid {
		grid-template-columns: 1fr;
	}

	body.home
		.beauty-studio-core-testimonials--clean-grid
		.beauty-studio-core-testimonial:last-child {
		grid-column: auto;
	}

	.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial {
		min-height: 0;
		padding: 2rem 0;
	}

	.beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial + .beauty-studio-core-testimonial {
		border-top: 1px solid var(--beauty-color-border);
		border-left: 0;
	}

	.beauty-studio-core-testimonials--clean-grid blockquote {
		font-size: clamp(2.4rem, 11vw, 3.5rem);
	}

	.beauty-studio-core-cta--clean-close {
		padding-top: 4.75rem;
		padding-bottom: 4.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-hero--clean .beauty-studio-core-hero__image {
		transition: none;
	}
}


/* ========================================================================
   Home testimonials — equal three-column editorial row
   Resets legacy grid spans that made the cards stack on wide screens.
   ======================================================================== */
.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonials__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial,
.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial:first-child,
.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial:nth-child(2) {
	grid-column: auto !important;
	grid-row: auto !important;
	min-width: 0;
	min-height: clamp(22rem, 25vw, 27rem);
}

.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial blockquote,
.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial:first-child blockquote {
	max-width: 20ch;
	font-size: clamp(1.8rem, 2.15vw, 2.6rem);
	line-height: 1.02;
}

@media (max-width: 63.9375rem) and (min-width: 48rem) {
	.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial,
	.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial:first-child,
	.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial:nth-child(2) {
		min-height: 20rem;
		padding-right: 1.5rem;
		padding-left: 1.5rem;
	}

	.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial blockquote,
	.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial:first-child blockquote {
		font-size: clamp(1.45rem, 2.7vw, 2rem);
	}
}

@media (max-width: 47.9375rem) {
	.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonials__grid {
		grid-template-columns: 1fr;
	}

	.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial,
	.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial:first-child,
	.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial:nth-child(2) {
		min-height: 0;
		padding-right: 0;
		padding-left: 0;
	}
}

/* =========================================================
   LUNEA — HOME CLEAN IVORY RHYTHM
   Flat warm-ivory surfaces replace the muddy beige gradients.
   Section changes remain visible through restrained tonal shifts
   and hairline rules rather than brown haze or glow.
   ========================================================= */

body.home .beauty-studio-core-services--clean-collection,
body.home .beauty-studio-core-split--home-clean,
body.home .beauty-studio-core-testimonials--clean-grid,
body.home .beauty-studio-core-cta--clean-close {
	position: relative;
	border-top: 1px solid rgba(112, 70, 53, 0.09) !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

body.home .beauty-studio-core-services--clean-collection {
	background: #FBFBF9 !important;
}

body.home .beauty-studio-core-split--home-clean {
	background: #FFFFFF !important;
}

body.home .beauty-studio-core-testimonials--clean-grid {
	background: #FBFBF9 !important;
}

body.home .beauty-studio-core-cta--clean-close {
	background: #FFFFFF !important;
}

/* No brown haze or pseudo-shadow at section starts. */
body.home .beauty-studio-core-services--clean-collection::before,
body.home .beauty-studio-core-split--home-clean::before,
body.home .beauty-studio-core-testimonials--clean-grid::before,
body.home .beauty-studio-core-cta--clean-close::before {
	display: none !important;
	content: none !important;
}

body.home .beauty-studio-core-services--clean-collection .beauty-studio-core-services__grid,
body.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonials__grid {
	border-top-color: rgba(112, 70, 53, 0.14) !important;
	border-bottom-color: rgba(112, 70, 53, 0.14) !important;
}

body.home .beauty-studio-core-services--clean-collection .beauty-studio-core-service,
body.home .beauty-studio-core-services--clean-collection .beauty-studio-core-service__footer,
body.home .beauty-studio-core-testimonials--clean-grid .beauty-studio-core-testimonial {
	border-color: rgba(112, 70, 53, 0.13) !important;
}

/* The featured treatment stays layered, but no longer looks dusty or pink. */
body.home
	.beauty-studio-core-services--clean-collection
	.beauty-studio-core-service--featured {
	border-color: rgba(112, 70, 53, 0.17) !important;
	background: linear-gradient(
		145deg,
		#FFFFFF 0%,
		#F7F5F2 100%
	) !important;
	box-shadow:
		0 1.25rem 3.25rem rgba(58, 38, 27, 0.035);
}

/* ==========================================================================
   LUNEA ABOUT — FINAL CLEAN EDITORIAL PASS
   Keeps the hero and manifesto, removes repeated inset imagery, compacts the
   philosophy transition and presents client notes in one calm desktop row.
   ========================================================================== */

/* Founder: one portrait and one story. No third atmosphere image. */
.beauty-studio-core-story--founder {
	padding-top: clamp(5.25rem, 8vw, 8rem);
	padding-bottom: clamp(5.25rem, 8vw, 8rem);
	background:
		linear-gradient(
			180deg,
			var(--beauty-color-surface) 0%,
			color-mix(in srgb, var(--beauty-color-accent) 3%, var(--beauty-color-surface)) 100%
		);
}

.beauty-studio-core-story--founder .beauty-studio-core-story__founder-shell {
	grid-template-columns: minmax(21rem, 0.88fr) minmax(25rem, 1.12fr);
	grid-template-rows: auto;
	gap: clamp(3.5rem, 7vw, 8rem);
	align-items: center;
}

.beauty-studio-core-story--founder .beauty-studio-core-story__portrait {
	grid-row: auto;
}

.beauty-studio-core-story--founder .beauty-studio-core-story__founder-content {
	padding-top: 0;
}

.beauty-studio-core-story--founder .beauty-studio-core-story__atmosphere {
	display: none !important;
}

/* Manifesto: keep complete words intact at every viewport. */
.beauty-studio-core-values--manifesto-list h2,
.beauty-studio-core-values--manifesto-list h3,
.beauty-studio-core-values--manifesto-list p {
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
}

.beauty-studio-core-values--manifesto-list h2 {
	max-width: 11.5ch;
	font-size: clamp(3.35rem, 4.75vw, 6rem);
	text-wrap: balance;
}

/* Philosophy: a short visual bridge, not a repeated second manifesto. */
.beauty-studio-core-split--about-editorial {
	padding-top: clamp(4.75rem, 7vw, 7.5rem);
	padding-bottom: clamp(4.75rem, 7vw, 7.5rem);
	border-top: 0;
	border-bottom: 0;
	background:
		linear-gradient(
			180deg,
			color-mix(in srgb, var(--beauty-color-accent) 6%, var(--beauty-color-background)) 0%,
			var(--beauty-color-background) 44%,
			color-mix(in srgb, var(--beauty-color-surface) 72%, var(--beauty-color-background)) 100%
		) !important;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__about-shell {
	grid-template-columns: minmax(25rem, 1.18fr) minmax(18rem, 0.82fr);
	gap: clamp(3.5rem, 7vw, 7.5rem);
	align-items: center;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media {
	padding: 0;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media::before {
	display: none;
	content: none;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__image,
.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media > .beauty-studio-core-placeholder {
	min-height: clamp(25rem, 34vw, 37rem);
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__small,
.beauty-studio-core-split--about-editorial .beauty-studio-core-split__notes,
.beauty-studio-core-split--about-editorial .beauty-studio-core-button {
	display: none !important;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-split__content {
	max-width: 34rem;
	padding: clamp(1rem, 2vw, 2rem) 0;
}

.beauty-studio-core-split--about-editorial h2 {
	max-width: 9.25ch;
	font-size: clamp(3.15rem, 4.6vw, 5.6rem);
	line-height: 0.9;
}

.beauty-studio-core-split--about-editorial .beauty-studio-core-copy {
	max-width: 29rem;
	margin-top: clamp(1.35rem, 2.2vw, 2rem);
	font-size: clamp(1rem, 0.96rem + 0.14vw, 1.12rem);
	line-height: 1.78;
}

/* About client notes: tighter intro and three equal notes on desktop. */
.site-main:has(.beauty-studio-core-page-hero--about) .beauty-studio-core-testimonials {
	padding-top: clamp(4.75rem, 7vw, 7.25rem) !important;
	padding-bottom: clamp(4.75rem, 7vw, 7.25rem) !important;
	border-top: 0 !important;
	background:
		linear-gradient(
			180deg,
			color-mix(in srgb, var(--beauty-color-surface) 72%, var(--beauty-color-background)) 0%,
			var(--beauty-color-surface) 100%
		) !important;
}

.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonials .beauty-studio-core-section-header {
	grid-template-columns: minmax(9rem, 0.45fr) minmax(20rem, 1fr);
	gap: clamp(2.5rem, 6vw, 6.5rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 4.5vw, 4.25rem) !important;
}

.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonials .beauty-studio-core-section-header h2 {
	max-width: 9.5ch;
	font-size: clamp(3.2rem, 4.8vw, 5.9rem);
	line-height: 0.89;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonials__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 0 !important;
	align-items: stretch !important;
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 72%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 72%, transparent);
}

.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonial {
	display: flex !important;
	grid-column: auto !important;
	grid-row: auto !important;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	justify-content: space-between;
	gap: clamp(1.5rem, 2.4vw, 2.25rem);
	margin: 0 !important;
	padding: clamp(1.75rem, 2.8vw, 2.8rem) !important;
	border: 0 !important;
	border-left: 1px solid color-mix(in srgb, var(--beauty-color-border) 68%, transparent) !important;
	background: transparent !important;
	box-shadow: none !important;
}

.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonial:first-child {
	border-left: 0 !important;
}

.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonial blockquote {
	max-width: 17ch;
	margin: 0;
	font-size: clamp(1.35rem, 1.6vw, 1.95rem);
	line-height: 1.06;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonial figcaption {
	margin-top: auto;
}

@media (max-width: 63.9375rem) {
	.beauty-studio-core-story--founder .beauty-studio-core-story__founder-shell {
		grid-template-columns: minmax(18rem, 0.86fr) minmax(0, 1.14fr);
		gap: 3.5rem;
	}

	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__about-shell {
		grid-template-columns: minmax(20rem, 1.08fr) minmax(18rem, 0.92fr);
		gap: 3.5rem;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonial:nth-child(3) {
		grid-column: 1 / -1 !important;
		border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 68%, transparent) !important;
		border-left: 0 !important;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-story--founder,
	.beauty-studio-core-split--about-editorial,
	.site-main:has(.beauty-studio-core-page-hero--about) .beauty-studio-core-testimonials {
		padding-top: 4.5rem !important;
		padding-bottom: 4.75rem !important;
	}

	.beauty-studio-core-story--founder .beauty-studio-core-story__founder-shell,
	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__about-shell {
		grid-template-columns: 1fr;
		gap: 2.75rem;
	}

	.beauty-studio-core-story--founder .beauty-studio-core-story__portrait,
	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media {
		width: 100%;
		padding: 0;
	}

	.beauty-studio-core-values--manifesto-list h2 {
		max-width: 100%;
		font-size: clamp(2.85rem, 12vw, 4rem);
	}

	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__image,
	.beauty-studio-core-split--about-editorial .beauty-studio-core-split__media > .beauty-studio-core-placeholder {
		aspect-ratio: 4 / 3;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonials .beauty-studio-core-section-header {
		grid-template-columns: 1fr;
		gap: 1.25rem;
		margin-bottom: 2.25rem !important;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonials__grid {
		grid-template-columns: 1fr !important;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonial {
		border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 68%, transparent) !important;
		border-left: 0 !important;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonial:first-child {
		border-top: 0 !important;
	}
}



/* ==========================================================================
   LUNEA ABOUT — FINAL MICRO REFINEMENTS
   Stronger founder title, calmer manifesto wrapping and less cramped client notes.
   ========================================================================== */

/* Founder attribution: clearer hierarchy without adding another visual block. */
.beauty-studio-core-story--founder .beauty-studio-core-story__founder-meta {
	gap: 0.5rem;
	margin-top: clamp(2rem, 3.4vw, 3rem);
	padding-top: clamp(1rem, 1.6vw, 1.35rem);
}

.beauty-studio-core-story--founder .beauty-studio-core-story__founder-meta strong {
	max-width: 22ch;
	font-size: clamp(1.45rem, 1.65vw, 1.95rem);
	line-height: 1.05;
	text-wrap: balance;
}

.beauty-studio-core-story--founder .beauty-studio-core-story__founder-meta span {
	font-size: 0.7rem;
	letter-spacing: 0.16em;
}

/* Values headline: preserve whole words and create a cleaner editorial rhythm. */
.beauty-studio-core-values--manifesto-list h2 {
	max-width: 13.75ch !important;
	font-size: clamp(3.15rem, 4.35vw, 5.55rem) !important;
	line-height: 0.92 !important;
	letter-spacing: -0.052em;
	white-space: normal !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

/* About client notes: retain three columns on wide screens, but give quotes room. */
.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonials__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonial {
	gap: clamp(1.35rem, 2vw, 1.9rem) !important;
	padding: clamp(1.55rem, 2.25vw, 2.35rem) !important;
}

.site-main:has(.beauty-studio-core-page-hero--about)
	.beauty-studio-core-testimonial blockquote {
	width: 100%;
	max-width: 23ch !important;
	font-size: clamp(1.18rem, 1.22vw, 1.62rem) !important;
	line-height: 1.12 !important;
	letter-spacing: -0.025em;
	text-wrap: pretty;
}

/* Move to 2 + 1 earlier so medium screens never squeeze the copy. */
@media (max-width: 74.9375rem) {
	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonial:nth-child(3) {
		grid-column: 1 / -1 !important;
		border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 68%, transparent) !important;
		border-left: 0 !important;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonial:nth-child(3) blockquote {
		max-width: 34ch !important;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-values--manifesto-list h2 {
		max-width: 12.5ch !important;
		font-size: clamp(2.75rem, 11.5vw, 3.9rem) !important;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonials__grid {
		grid-template-columns: 1fr !important;
	}

	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonial blockquote,
	.site-main:has(.beauty-studio-core-page-hero--about)
		.beauty-studio-core-testimonial:nth-child(3) blockquote {
		max-width: 25ch !important;
		font-size: clamp(1.25rem, 5.2vw, 1.55rem) !important;
	}
}

/* ==========================================================================
   LUNEA SERVICES — FINAL EDITORIAL ARCHITECTURE
   A compact two-column hero, purposeful treatment-menu intro, balanced service
   chapters and a restrained treatment-approach close.
   ========================================================================== */

/* Services hero ----------------------------------------------------------- */
.beauty-studio-core-page-hero--services {
	display: block !important;
	min-height: 0 !important;
	padding-top: clamp(5rem, 7.25vw, 7.5rem) !important;
	padding-bottom: clamp(4.25rem, 6.5vw, 6.75rem) !important;
	overflow: hidden;
	border-bottom: 0 !important;
	background:
		radial-gradient(
			circle at 88% 14%,
			color-mix(in srgb, var(--beauty-color-accent-dark) 8%, transparent),
			transparent 28rem
		),
		linear-gradient(
			135deg,
			color-mix(in srgb, var(--beauty-color-surface) 64%, var(--beauty-color-background)) 0%,
			var(--beauty-color-background) 54%,
			color-mix(in srgb, var(--beauty-color-accent) 5%, var(--beauty-color-background)) 100%
		) !important;
}

.beauty-studio-core-page-hero--services::before {
	position: absolute;
	top: 0;
	right: max(var(--beauty-core-gutter), calc((100vw - var(--beauty-core-wide)) / 2));
	bottom: 0;
	width: 1px;
	background: color-mix(in srgb, var(--beauty-color-border) 46%, transparent);
	content: "";
	pointer-events: none;
}

.beauty-studio-core-page-hero--services .beauty-studio-core-page-hero__services-shell {
	display: grid;
	grid-template-columns: minmax(27rem, 1.12fr) minmax(22rem, 0.88fr);
	gap: clamp(4rem, 8vw, 9rem);
	align-items: end;
	width: min(100%, var(--beauty-core-wide));
	margin: 0 auto;
}

.beauty-studio-core-page-hero--services .beauty-studio-core-page-hero__content {
	max-width: 58rem;
}

.beauty-studio-core-page-hero--services h1 {
	max-width: 12.25ch !important;
	margin: 0;
	font-size: clamp(4.35rem, 5.85vw, 7.2rem) !important;
	line-height: 0.89 !important;
	letter-spacing: -0.06em !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

.beauty-studio-core-page-hero__services-context {
	position: relative;
	max-width: 37rem;
	padding: clamp(1.5rem, 3vw, 3rem) 0 clamp(0.35rem, 1vw, 0.75rem) clamp(2rem, 4vw, 4.5rem);
	border-left: 1px solid color-mix(in srgb, var(--beauty-color-border) 72%, transparent);
}

.beauty-studio-core-page-hero__services-label {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	margin: 0 0 clamp(1.4rem, 2.4vw, 2rem);
	color: var(--beauty-color-accent-dark);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.beauty-studio-core-page-hero__services-label::before {
	width: 2rem;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.72;
}

.beauty-studio-core-page-hero__services-copy {
	max-width: 32rem;
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: clamp(1.04rem, 0.98rem + 0.22vw, 1.2rem);
	line-height: 1.82;
	text-wrap: pretty;
}

.beauty-studio-core-page-hero__services-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(100%, var(--beauty-core-wide));
	margin: clamp(3.5rem, 5.5vw, 5.5rem) auto 0;
	padding: 0;
	border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 72%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 72%, transparent);
}

.beauty-studio-core-page-hero__services-facts > div {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.75rem);
	align-items: center;
	min-width: 0;
	padding: clamp(1.35rem, 2.3vw, 2rem) clamp(1rem, 2.5vw, 2.5rem);
	border-right: 1px solid color-mix(in srgb, var(--beauty-color-border) 64%, transparent);
}

.beauty-studio-core-page-hero__services-facts > div:last-child {
	border-right: 0;
}

.beauty-studio-core-page-hero__services-facts dt,
.beauty-studio-core-page-hero__services-facts dd {
	margin: 0;
}

.beauty-studio-core-page-hero__services-facts dt {
	color: color-mix(in srgb, var(--beauty-color-accent-dark) 76%, transparent);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.75rem, 2.2vw, 2.6rem);
	font-style: italic;
	letter-spacing: -0.035em;
	line-height: 1;
}

.beauty-studio-core-page-hero__services-facts dd {
	color: var(--beauty-color-text);
	font-size: clamp(0.72rem, 0.69rem + 0.06vw, 0.78rem);
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1.45;
	text-transform: uppercase;
}

/* Treatment catalogue ----------------------------------------------------- */
.beauty-studio-core-detail-list--catalogue {
	padding-top: clamp(4.25rem, 6.5vw, 6.75rem) !important;
	padding-bottom: clamp(5.5rem, 8vw, 8.5rem) !important;
	background:
		linear-gradient(
			180deg,
			color-mix(in srgb, var(--beauty-color-surface) 54%, var(--beauty-color-background)) 0%,
			var(--beauty-color-surface) 18%,
			var(--beauty-color-surface) 100%
		) !important;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__header {
	display: grid;
	grid-template-columns: minmax(21rem, 0.95fr) minmax(24rem, 1.05fr) !important;
	gap: clamp(3rem, 7vw, 8rem) !important;
	align-items: end !important;
	margin-bottom: 0 !important;
	padding-bottom: clamp(2.75rem, 4.5vw, 4.25rem);
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 74%, transparent);
}

.beauty-studio-core-detail-list__heading-group {
	min-width: 0;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-eyebrow {
	margin-bottom: clamp(1.2rem, 2vw, 1.7rem);
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__header h2 {
	max-width: 10.5ch !important;
	margin: 0;
	font-size: clamp(3.65rem, 4.8vw, 5.9rem) !important;
	line-height: 0.91 !important;
	letter-spacing: -0.055em !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__intro {
	justify-self: end !important;
	max-width: 32rem !important;
	margin: 0 0 0.4rem !important;
	font-size: clamp(1rem, 0.95rem + 0.18vw, 1.13rem) !important;
	line-height: 1.78 !important;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__items {
	gap: 0 !important;
	border-top: 0 !important;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service {
	grid-template-columns: minmax(18rem, 0.76fr) minmax(24rem, 1.24fr) !important;
	gap: clamp(3rem, 6vw, 7rem) !important;
	min-height: clamp(28rem, 37vw, 37rem) !important;
	padding-top: clamp(4rem, 5.75vw, 5.75rem) !important;
	padding-bottom: clamp(4rem, 5.75vw, 5.75rem) !important;
	border-bottom-color: color-mix(in srgb, var(--beauty-color-border) 72%, transparent) !important;
	background: transparent;
	transition: background-color 550ms ease;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service:hover {
	background: color-mix(in srgb, var(--beauty-color-accent) 3%, transparent);
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service::before {
	top: clamp(4rem, 5.75vw, 5.75rem) !important;
	width: 2.15rem;
	opacity: 0.56;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media {
	width: min(100%, 31rem) !important;
	margin: 0;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__image,
.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media > .beauty-studio-core-placeholder {
	min-height: clamp(22rem, 29vw, 31rem) !important;
	aspect-ratio: 4 / 5 !important;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__content {
	max-width: 41rem !important;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-service__number {
	margin-bottom: clamp(1.35rem, 2vw, 1.9rem) !important;
	padding-bottom: 0 !important;
	color: color-mix(in srgb, var(--beauty-color-accent-dark) 72%, transparent);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1rem, 1.15vw, 1.25rem) !important;
	font-style: italic;
	font-weight: 400 !important;
	letter-spacing: 0.04em !important;
	line-height: 1;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service h3 {
	max-width: 13ch !important;
	margin-bottom: clamp(1.15rem, 1.8vw, 1.55rem) !important;
	font-size: clamp(3rem, 3.8vw, 4.65rem) !important;
	line-height: 0.94 !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service p {
	max-width: 37rem;
	font-size: clamp(0.98rem, 0.94rem + 0.14vw, 1.09rem);
	line-height: 1.76;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-service__meta {
	gap: 0.6rem 1.3rem;
	margin-top: clamp(1.55rem, 2.6vw, 2.2rem);
	padding-top: 0.95rem;
	color: var(--beauty-color-text);
	font-size: 0.72rem;
	letter-spacing: 0.085em;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-text-link {
	margin-top: clamp(1.35rem, 2.2vw, 1.9rem);
}

.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even) {
	grid-template-columns: minmax(24rem, 1.24fr) minmax(18rem, 0.76fr) !important;
}

/* Treatment approach ------------------------------------------------------ */
.beauty-studio-core-values--services-approach {
	display: block !important;
	padding-top: clamp(5.25rem, 7.5vw, 7.75rem) !important;
	padding-bottom: clamp(5.25rem, 7.5vw, 7.75rem) !important;
	border-top: 1px solid rgba(195, 135, 98, 0.18) !important;
	border-bottom: 1px solid rgba(195, 135, 98, 0.18) !important;
	background: #292320 !important;
	color: #F7F4EF !important;
	box-shadow: none !important;
}

.beauty-studio-core-values--services-approach .beauty-studio-core-values__approach-shell {
	width: min(100%, var(--beauty-core-wide));
	margin: 0 auto;
}

.beauty-studio-core-values--services-approach .beauty-studio-core-values__approach-header {
	display: grid;
	grid-template-columns: minmax(10rem, 0.4fr) minmax(24rem, 1fr) !important;
	gap: clamp(3rem, 7vw, 8rem) !important;
	align-items: start !important;
	margin-bottom: clamp(3rem, 5vw, 4.75rem) !important;
}

.beauty-studio-core-values--services-approach .beauty-studio-core-values__approach-header > div {
	max-width: 54rem;
}

.beauty-studio-core-values--services-approach .beauty-studio-core-values__approach-header h2 {
	max-width: 15ch !important;
	margin: 0;
	font-size: clamp(3.65rem, 4.8vw, 5.8rem) !important;
	line-height: 0.92 !important;
	letter-spacing: -0.052em !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

.beauty-studio-core-values--services-approach .beauty-studio-core-values__approach-header p:not(.beauty-studio-core-eyebrow) {
	max-width: 35rem;
	margin-top: clamp(1.25rem, 2vw, 1.75rem);
	font-size: clamp(0.98rem, 0.94rem + 0.14vw, 1.08rem);
	line-height: 1.76;
}

.beauty-studio-core-values--services-approach .beauty-studio-core-values__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	border-color: color-mix(in srgb, var(--beauty-color-border) 70%, transparent);
	background: color-mix(in srgb, var(--beauty-color-surface) 34%, transparent);
}

.beauty-studio-core-values--services-approach .beauty-studio-core-value {
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: clamp(14rem, 18vw, 18rem);
	padding: clamp(2rem, 3vw, 3rem);
	border-color: color-mix(in srgb, var(--beauty-color-border) 70%, transparent);
	background: transparent;
	transition: background-color 450ms ease;
}

.beauty-studio-core-values--services-approach .beauty-studio-core-value:hover {
	background: color-mix(in srgb, var(--beauty-color-accent) 4%, var(--beauty-color-surface));
}

.beauty-studio-core-values--services-approach .beauty-studio-core-value__index {
	margin: 0 0 clamp(2.5rem, 4vw, 4rem);
	color: color-mix(in srgb, var(--beauty-color-accent-dark) 66%, transparent);
	font-family: var(--beauty-font-heading);
	font-size: 0.92rem;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.beauty-studio-core-values--services-approach .beauty-studio-core-value h3 {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(1.75rem, 2.1vw, 2.45rem);
	line-height: 1.02;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.beauty-studio-core-values--services-approach .beauty-studio-core-value p {
	max-width: 27rem;
	margin: 0.85rem 0 0;
	font-size: clamp(0.92rem, 0.89rem + 0.1vw, 1rem);
	line-height: 1.68;
}

/* Tablet ------------------------------------------------------------------ */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-page-hero--services::before {
		display: none;
	}

	.beauty-studio-core-page-hero--services .beauty-studio-core-page-hero__services-shell {
		grid-template-columns: 1fr;
		gap: 2.75rem;
	}

	.beauty-studio-core-page-hero--services h1 {
		max-width: 11.5ch !important;
		font-size: clamp(4rem, 9vw, 5.9rem) !important;
	}

	.beauty-studio-core-page-hero__services-context {
		max-width: 42rem;
		padding: 2rem 0 0;
		border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 68%, transparent);
		border-left: 0;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__header,
	.beauty-studio-core-values--services-approach .beauty-studio-core-values__approach-header {
		grid-template-columns: 1fr !important;
		gap: 1.75rem !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__intro {
		justify-self: start !important;
		margin-bottom: 0 !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) {
		grid-template-columns: 1fr !important;
		gap: 2.75rem !important;
		min-height: 0 !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media,
	.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__media {
		order: 1;
		width: min(72%, 31rem) !important;
		justify-self: start;
		padding-right: clamp(0.75rem, 1.6vw, 1.5rem);
		padding-left: 0;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__content {
		order: 2;
	}

	.beauty-studio-core-values--services-approach .beauty-studio-core-values__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.beauty-studio-core-values--services-approach .beauty-studio-core-value {
		padding: 1.75rem;
	}
}

/* Mobile ------------------------------------------------------------------ */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-page-hero--services {
		padding-top: 4.25rem !important;
		padding-bottom: 4.5rem !important;
	}

	.beauty-studio-core-page-hero--services h1 {
		max-width: 10.75ch !important;
		font-size: clamp(3.35rem, 14.8vw, 4.7rem) !important;
	}

	.beauty-studio-core-page-hero__services-facts {
		grid-template-columns: 1fr;
		margin-top: 2.75rem;
	}

	.beauty-studio-core-page-hero__services-facts > div {
		padding-right: 0;
		padding-left: 0;
		border-right: 0;
		border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 64%, transparent);
	}

	.beauty-studio-core-page-hero__services-facts > div:last-child {
		border-bottom: 0;
	}

	.beauty-studio-core-detail-list--catalogue {
		padding-top: 4rem !important;
		padding-bottom: 4.75rem !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__header {
		padding-bottom: 2.5rem;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__header h2,
	.beauty-studio-core-values--services-approach .beauty-studio-core-values__approach-header h2 {
		max-width: 12ch !important;
		font-size: clamp(3rem, 13.5vw, 4.2rem) !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service {
		padding-top: 3.25rem !important;
		padding-bottom: 3.5rem !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service::before {
		top: 3.25rem !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media,
	.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) .beauty-studio-core-detail-service__media {
		width: 100% !important;
		padding-right: 0.75rem;
		padding-bottom: 0.75rem;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service h3 {
		max-width: 15ch !important;
		font-size: clamp(2.65rem, 12vw, 3.75rem) !important;
	}

	.beauty-studio-core-values--services-approach {
		padding-top: 4.5rem !important;
		padding-bottom: 4.75rem !important;
	}

	.beauty-studio-core-values--services-approach .beauty-studio-core-values__grid {
		grid-template-columns: 1fr !important;
	}

	.beauty-studio-core-values--services-approach .beauty-studio-core-value {
		min-height: 0;
		padding: 2rem 0;
		border-right: 0;
	}

	.beauty-studio-core-values--services-approach .beauty-studio-core-value__index {
		margin-bottom: 1.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service,
	.beauty-studio-core-values--services-approach .beauty-studio-core-value {
		transition: none;
	}
}


/* ========================================================================
   LUNEA SERVICES — COMPACT FIRST-VIEW CORRECTION
   Keeps the approved editorial language while removing the oversized empty
   right field and bringing the first treatment image into view sooner.
   ======================================================================== */

@media (min-width: 64rem) {
	.beauty-studio-core-page-hero--services {
		display: grid !important;
		grid-template-columns: minmax(0, 1.06fr) minmax(22rem, 0.94fr);
		grid-template-areas:
			"services-title services-context"
			"services-title services-facts";
		column-gap: clamp(3.5rem, 6vw, 7rem);
		row-gap: clamp(1.75rem, 2.75vw, 2.75rem);
		align-items: center;
		min-height: 0 !important;
		padding: clamp(3.75rem, 5.5vw, 5.75rem)
			max(
				var(--beauty-core-gutter),
				calc((100vw - var(--beauty-core-wide)) / 2)
			) clamp(3.5rem, 5vw, 5rem) !important;
	}

	.beauty-studio-core-page-hero--services::before {
		display: none;
	}

	.beauty-studio-core-page-hero--services .beauty-studio-core-page-hero__services-shell {
		display: contents !important;
	}

	.beauty-studio-core-page-hero--services .beauty-studio-core-page-hero__content {
		grid-area: services-title;
		align-self: center;
		width: 100%;
		max-width: 62rem;
	}

	.beauty-studio-core-page-hero--services h1 {
		width: 100% !important;
		max-width: none !important;
		font-size: clamp(3.35rem, 3.6vw, 4.6rem) !important;
		line-height: 0.94 !important;
		letter-spacing: -0.052em !important;
		text-wrap: balance !important;
	}

	.beauty-studio-core-page-hero__services-context {
		grid-area: services-context;
		align-self: end;
		width: 100%;
		max-width: none;
		padding: clamp(1.75rem, 2.6vw, 2.5rem) clamp(1.5rem, 2.5vw, 2.5rem);
		border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 66%, transparent);
		border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 66%, transparent);
		border-left: 0;
		background: color-mix(in srgb, var(--beauty-color-surface) 34%, transparent);
	}

	.beauty-studio-core-page-hero__services-label {
		margin-bottom: 1.15rem;
	}

	.beauty-studio-core-page-hero__services-copy {
		max-width: 38rem;
		font-size: clamp(0.98rem, 0.94rem + 0.14vw, 1.08rem);
		line-height: 1.72;
	}

	.beauty-studio-core-page-hero__services-facts {
		grid-area: services-facts;
		grid-template-columns: 1fr;
		align-self: start;
		width: 100%;
		margin: 0;
		border-top: 0;
		border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 70%, transparent);
	}

	.beauty-studio-core-page-hero__services-facts > div {
		grid-template-columns: minmax(4.75rem, auto) minmax(0, 1fr);
		gap: 1.25rem;
		padding: 1.15rem 0;
		border-right: 0;
		border-top: 1px solid color-mix(in srgb, var(--beauty-color-border) 62%, transparent);
	}

	.beauty-studio-core-page-hero__services-facts dt {
		font-size: clamp(1.45rem, 1.8vw, 2rem);
	}

	.beauty-studio-core-detail-list--catalogue {
		padding-top: clamp(2.75rem, 4vw, 4.25rem) !important;
		padding-right: max(
			var(--beauty-core-gutter),
			calc((100vw - 118rem) / 2)
		) !important;
		padding-left: max(
			var(--beauty-core-gutter),
			calc((100vw - 118rem) / 2)
		) !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__header {
		grid-template-columns: minmax(24rem, 0.92fr) minmax(24rem, 1.08fr) !important;
		gap: clamp(3rem, 6vw, 7rem) !important;
		align-items: center !important;
		padding-bottom: clamp(2rem, 3vw, 3rem);
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__header h2 {
		max-width: 15ch !important;
		font-size: clamp(3.2rem, 4vw, 5rem) !important;
		line-height: 0.93 !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__intro {
		justify-self: start !important;
		max-width: 36rem !important;
		margin: 0 !important;
		padding: 1.35rem 0 1.35rem clamp(1.5rem, 3vw, 3rem);
		border-left: 1px solid color-mix(in srgb, var(--beauty-color-border) 68%, transparent);
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service {
		min-height: clamp(24rem, 32vw, 33rem) !important;
		padding-top: clamp(2.75rem, 4vw, 4rem) !important;
		padding-bottom: clamp(2.75rem, 4vw, 4rem) !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service::before {
		top: clamp(2.75rem, 4vw, 4rem) !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__image,
	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media > .beauty-studio-core-placeholder {
		min-height: clamp(20rem, 26vw, 28rem) !important;
	}
}

@media (min-width: 80rem) {
	.beauty-studio-core-page-hero--services {
		grid-template-columns: minmax(34rem, 1.2fr) minmax(26rem, 0.8fr);
	}
}

@media (max-width: 63.9375rem) {
	.beauty-studio-core-page-hero--services {
		padding-top: clamp(4.25rem, 7vw, 5.25rem) !important;
		padding-bottom: clamp(3.75rem, 6vw, 4.75rem) !important;
	}

	.beauty-studio-core-page-hero__services-facts {
		margin-top: 2.25rem;
	}

	.beauty-studio-core-detail-list--catalogue {
		padding-top: clamp(3.25rem, 6vw, 4.25rem) !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__header {
		padding-bottom: 2.25rem;
	}
}

/* ========================================================================
   LUNEA SERVICES — EDITORIAL IVORY TREATMENT CARDS
   Four restrained catalogue panels with hairline borders, warm low-opacity
   shadows and a quiet layered image treatment. Services page only.
   ======================================================================== */

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__items {
	display: grid !important;
	gap: clamp(1.4rem, 2.2vw, 2.35rem) !important;
	padding-top: clamp(2rem, 3.25vw, 3.25rem);
	border-top: 0 !important;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service,
.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even) {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: clamp(23rem, 30vw, 31rem) !important;
	padding: clamp(1.35rem, 2.25vw, 2.35rem) !important;
	border: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 78%,
		rgba(255, 255, 255, 0.52)
	) !important;
	background:
		linear-gradient(
			135deg,
			color-mix(in srgb, var(--beauty-color-surface) 94%, white) 0%,
			color-mix(in srgb, var(--beauty-color-background) 90%, white) 58%,
			color-mix(in srgb, var(--beauty-color-surface) 84%, var(--beauty-color-background)) 100%
		) !important;
	box-shadow:
		0 1.15rem 2.5rem rgba(60, 35, 20, 0.04),
		inset 0 1px 0 rgba(255, 255, 255, 0.72);
	transition:
		border-color 420ms ease,
		box-shadow 520ms ease,
		background-color 420ms ease;
}

.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
	.beauty-studio-core-detail-service:nth-child(even) {
	background:
		linear-gradient(
			225deg,
			color-mix(in srgb, var(--beauty-color-surface) 94%, white) 0%,
			color-mix(in srgb, var(--beauty-color-background) 90%, white) 58%,
			color-mix(in srgb, var(--beauty-color-surface) 84%, var(--beauty-color-background)) 100%
		) !important;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service:hover {
	border-color: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 28%,
		var(--beauty-color-border)
	) !important;
	background-color: color-mix(
		in srgb,
		var(--beauty-color-accent) 2.5%,
		var(--beauty-color-surface)
	) !important;
	box-shadow:
		0 1.4rem 3.2rem rgba(60, 35, 20, 0.072),
		inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

/* Replace the old full-width separator with a short editorial accent rule. */
.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service::before {
	top: clamp(1.35rem, 2.25vw, 2.35rem) !important;
	left: clamp(1.35rem, 2.25vw, 2.35rem) !important;
	width: clamp(1.8rem, 2.4vw, 2.45rem) !important;
	height: 1px !important;
	background: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 48%,
		transparent
	) !important;
	opacity: 1 !important;
}

/* Quiet offset frame behind each photograph. */
.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media {
	position: relative;
	z-index: 1;
	overflow: visible;
	width: min(100%, 29rem) !important;
	margin: 0 !important;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media::before {
	position: absolute;
	top: clamp(0.55rem, 0.85vw, 0.8rem);
	right: clamp(-0.7rem, -0.7vw, -0.5rem);
	bottom: clamp(-0.7rem, -0.7vw, -0.5rem);
	left: clamp(0.55rem, 0.85vw, 0.8rem);
	z-index: -1;
	border: 1px solid color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 18%,
		var(--beauty-color-border)
	);
	background: color-mix(
		in srgb,
		var(--beauty-color-accent) 4%,
		var(--beauty-color-background)
	);
	content: "";
	pointer-events: none;
	transition:
		border-color 420ms ease,
		transform 520ms ease;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__image,
.beauty-studio-core-detail-list--catalogue
	.beauty-studio-core-detail-service__media > .beauty-studio-core-placeholder {
	position: relative;
	z-index: 1;
	min-height: clamp(18rem, 23vw, 25rem) !important;
	aspect-ratio: 4 / 5 !important;
	box-shadow: 0 0.9rem 2rem rgba(60, 35, 20, 0.055);
	transition:
		transform 650ms cubic-bezier(0.2, 0.72, 0.2, 1),
		filter 500ms ease,
		box-shadow 500ms ease;
}

.beauty-studio-core-detail-list--catalogue
	.beauty-studio-core-detail-service:hover
	.beauty-studio-core-detail-service__media::before {
	border-color: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 32%,
		var(--beauty-color-border)
	);
	transform: translate3d(0.12rem, 0.12rem, 0);
}

.beauty-studio-core-detail-list--catalogue
	.beauty-studio-core-detail-service:hover
	.beauty-studio-core-detail-service__image {
	transform: scale(1.012);
	filter: saturate(1.02) contrast(1.012);
	box-shadow: 0 1.1rem 2.45rem rgba(60, 35, 20, 0.075);
}

/* Give the copy its own measured editorial zone inside the panel. */
.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__content {
	position: relative;
	z-index: 2;
	max-width: 38rem !important;
	padding: clamp(0.35rem, 0.8vw, 0.75rem) 0;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service h3 {
	max-width: 14ch !important;
	margin-bottom: clamp(0.85rem, 1.35vw, 1.2rem) !important;
	font-size: clamp(2.65rem, 3.2vw, 4rem) !important;
	line-height: 0.95 !important;
	text-wrap: balance;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service p {
	max-width: 34rem;
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-service__meta {
	margin-top: clamp(1.25rem, 1.85vw, 1.75rem);
	padding-top: 0.9rem;
	border-top: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 68%,
		transparent
	);
}

.beauty-studio-core-detail-list--catalogue .beauty-studio-core-text-link {
	margin-top: clamp(1rem, 1.55vw, 1.4rem);
}

/* Tablet: preserve the card treatment without oversized shadows. */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__items {
		gap: 1.35rem !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) {
		gap: 2.3rem !important;
		padding: clamp(1.25rem, 3vw, 1.9rem) !important;
		box-shadow:
			0 0.9rem 2rem rgba(60, 35, 20, 0.038),
			inset 0 1px 0 rgba(255, 255, 255, 0.7);
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service::before {
		top: clamp(1.25rem, 3vw, 1.9rem) !important;
		left: clamp(1.25rem, 3vw, 1.9rem) !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media,
	.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even)
		.beauty-studio-core-detail-service__media {
		width: min(70%, 28rem) !important;
		padding: 0 !important;
	}
}

/* Mobile: one calm panel per treatment, with a lighter offset frame. */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-list__items {
		gap: 1rem !important;
		padding-top: 1.6rem;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even) {
		padding: 1rem !important;
		border-color: color-mix(
			in srgb,
			var(--beauty-color-border) 72%,
			transparent
		) !important;
		box-shadow:
			0 0.7rem 1.55rem rgba(60, 35, 20, 0.032),
			inset 0 1px 0 rgba(255, 255, 255, 0.68);
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service::before {
		top: 1rem !important;
		left: 1rem !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media,
	.beauty-studio-core-detail-list--catalogue.beauty-studio-core-detail-list--alternate
		.beauty-studio-core-detail-service:nth-child(even)
		.beauty-studio-core-detail-service__media {
		width: calc(100% - 0.45rem) !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media::before {
		top: 0.42rem;
		right: -0.42rem;
		bottom: -0.42rem;
		left: 0.42rem;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service h3 {
		font-size: clamp(2.35rem, 10.8vw, 3.35rem) !important;
	}

	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-service__meta {
		flex-wrap: wrap;
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service,
	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__media::before,
	.beauty-studio-core-detail-list--catalogue .beauty-studio-core-detail-service__image {
		transition: none !important;
	}
}

/* ========================================================================
   LUNEA SERVICES — SINGLE CLEAN IMAGE FRAME
   Removes the stacked/duplicate photo frames created by legacy ::after,
   the offset ::before layer and inherited media padding.
   ======================================================================== */

.beauty-studio-core-detail-list--catalogue
	.beauty-studio-core-detail-service__media {
	padding: 0 !important;
	overflow: visible !important;
}

/* Remove both decorative layers: one clean image frame only. */
.beauty-studio-core-detail-list--catalogue
	.beauty-studio-core-detail-service__media::before,
.beauty-studio-core-detail-list--catalogue
	.beauty-studio-core-detail-service__media::after {
	display: none !important;
	content: none !important;
}

/* One restrained hairline frame and one soft shadow on the image itself. */
.beauty-studio-core-detail-list--catalogue
	.beauty-studio-core-detail-service__image,
.beauty-studio-core-detail-list--catalogue
	.beauty-studio-core-detail-service__media > .beauty-studio-core-placeholder {
	display: block;
	width: 100%;
	border: 1px solid color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 14%,
		var(--beauty-color-border)
	) !important;
	background: var(--beauty-color-surface);
	box-shadow:
		0 1rem 2.2rem rgba(60, 35, 20, 0.052),
		0 0.18rem 0.5rem rgba(60, 35, 20, 0.025) !important;
}

/* Keep the hover quiet: focus, not movement. */
.beauty-studio-core-detail-list--catalogue
	.beauty-studio-core-detail-service:hover
	.beauty-studio-core-detail-service__image {
	transform: scale(1.008) !important;
	box-shadow:
		0 1.2rem 2.65rem rgba(60, 35, 20, 0.068),
		0 0.22rem 0.65rem rgba(60, 35, 20, 0.03) !important;
}

/* Remove obsolete pseudo-layer transitions from reduced-motion targeting. */
@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-detail-list--catalogue
		.beauty-studio-core-detail-service__media::before,
	.beauty-studio-core-detail-list--catalogue
		.beauty-studio-core-detail-service__media::after {
		transition: none !important;
	}
}

/* ========================================================================
   LUNEA PRICING — CONSOLIDATED SALES-READY SYSTEM
   One maintained Pricing layer: stronger commercial hierarchy without
   duplicate override blocks or extra visual sections.
   ======================================================================== */

/* Pricing hero: editorial copy on the left, three practical buying cues right. */
.beauty-studio-core-page-hero--pricing {
	display: block !important;
	min-height: 0 !important;
	padding-top: clamp(3.4rem, 4.8vw, 5rem) !important;
	padding-bottom: clamp(3.6rem, 5vw, 5.25rem) !important;
	background:
		linear-gradient(
			135deg,
			color-mix(in srgb, var(--beauty-color-surface) 58%, var(--beauty-color-background)) 0%,
			var(--beauty-color-background) 66%,
			color-mix(in srgb, var(--beauty-color-accent) 3%, var(--beauty-color-background)) 100%
		) !important;
}

.beauty-studio-core-page-hero--pricing
	.beauty-studio-core-page-hero__pricing-shell {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(16rem, 0.75fr);
	gap: clamp(3rem, 7vw, 8rem);
	align-items: end;
	width: min(100%, 76rem);
	margin-inline: auto;
}

.beauty-studio-core-page-hero--pricing
	.beauty-studio-core-page-hero__content {
	width: auto !important;
	max-width: 52rem !important;
	margin: 0 !important;
}

.beauty-studio-core-page-hero--pricing h1 {
	max-width: 10.5ch !important;
	font-size: clamp(3.6rem, 5vw, 6rem) !important;
	letter-spacing: -0.052em !important;
	line-height: 0.92 !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

.beauty-studio-core-page-hero--pricing
	.beauty-studio-core-lede {
	max-width: 38rem;
	margin-top: clamp(1.2rem, 1.8vw, 1.65rem);
	font-size: clamp(1rem, 0.95rem + 0.13vw, 1.1rem);
	line-height: 1.68;
}

.beauty-studio-core-page-hero__pricing-details {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 82%,
		transparent
	);
}

.beauty-studio-core-page-hero__pricing-details li {
	padding: 1rem 0;
	border-bottom: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 82%,
		transparent
	);
	color: var(--beauty-color-text);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* Pricing body: one clean layer, no legacy final-polish/final-clean stacking. */
.beauty-studio-core-pricing-menu--sales-ready {
	padding-top: clamp(0.85rem, 1.5vw, 1.5rem) !important;
	padding-bottom: clamp(4.5rem, 6.5vw, 7rem) !important;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-membership-refined {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-height: clamp(27rem, 34vw, 35rem);
	margin-bottom: clamp(3.8rem, 5.2vw, 5.25rem);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-membership-refined__content {
	max-width: none;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-membership-refined__details {
	grid-template-columns: minmax(8.75rem, 0.62fr) minmax(16rem, 1.38fr);
	gap: clamp(1.75rem, 3vw, 3rem);
	margin-top: clamp(1.8rem, 2.8vw, 2.5rem);
	padding-top: clamp(1.45rem, 2.2vw, 1.9rem);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-membership-refined__price strong {
	font-size: clamp(3.25rem, 4.5vw, 5.25rem);
	line-height: 0.84;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-membership-refined__price span {
	font-size: 0.62rem;
	letter-spacing: 0.16em;
}

.beauty-studio-core-pricing-membership-refined__fit-note {
	max-width: 32rem;
	margin: clamp(1.5rem, 2.2vw, 2rem) 0 0;
	padding-top: 1rem;
	border-top: 1px solid color-mix(
		in srgb,
		var(--beauty-color-surface) 18%,
		transparent
	);
	color: color-mix(in srgb, var(--beauty-color-surface) 72%, transparent);
	font-size: clamp(0.82rem, 0.78rem + 0.08vw, 0.9rem);
	font-style: italic;
	line-height: 1.65;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-membership-refined
	.beauty-studio-core-button--light {
	min-width: min(100%, 17rem);
	justify-content: center;
	margin-top: clamp(1.65rem, 2.5vw, 2.2rem);
	padding: 1.05rem 1.9rem;
}

/* Treatments: clear choice guidance, price-led hierarchy, full-card link. */
.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatments {
	margin-bottom: clamp(3.5rem, 5vw, 5.2rem);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatments__header {
	gap: clamp(2rem, 4vw, 4rem);
	margin-bottom: clamp(2rem, 3vw, 3rem);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	transition:
		border-color 360ms ease,
		background-color 360ms ease,
		box-shadow 420ms ease;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card--clickable {
	cursor: pointer;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card--clickable:hover,
.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card--clickable:has(
		.beauty-studio-core-pricing-treatment-card__hit-area:focus-visible
	) {
	z-index: 2;
	border-color: color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 30%,
		var(--beauty-color-border)
	);
	background: color-mix(
		in srgb,
		var(--beauty-color-accent) 2.8%,
		var(--beauty-color-surface)
	);
	box-shadow: 0 1.15rem 2.65rem rgba(60, 35, 20, 0.055);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__hit-area {
	position: absolute;
	inset: 0;
	z-index: 4;
	border-radius: inherit;
	outline: 0;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__hit-area:focus-visible {
	box-shadow: inset 0 0 0 2px color-mix(
		in srgb,
		var(--beauty-color-accent-dark) 58%,
		transparent
	);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card:not(.beauty-studio-core-pricing-treatment-card--has-image)
	.beauty-studio-core-pricing-treatment-card__body {
	min-height: clamp(20rem, 22vw, 24rem) !important;
	padding: clamp(2rem, 2.8vw, 2.75rem) !important;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__description {
	max-width: 38rem;
	font-size: clamp(0.95rem, 0.91rem + 0.1vw, 1.03rem) !important;
	line-height: 1.68 !important;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__selection-note {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 1rem 0 0;
	color: var(--beauty-color-accent-dark);
	font-size: 0.63rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-transform: uppercase;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__selection-note::before {
	width: 1.35rem;
	height: 1px;
	background: currentColor;
	content: "";
}

/* Keep the card commercially focused: the editable inclusion field remains
   available in Elementor, but is not shown in this compact Pricing layout. */
.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__inclusions {
	display: none;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__footer {
	position: relative;
	z-index: 2;
	align-items: flex-end;
	gap: clamp(1.2rem, 2vw, 2rem);
	padding-top: clamp(1.55rem, 2.4vw, 2rem);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__footer strong {
	color: var(--beauty-color-text);
	font-size: clamp(1.95rem, 2.5vw, 2.9rem) !important;
	font-weight: 500;
	letter-spacing: -0.048em;
	line-height: 0.94;
	white-space: nowrap;
	word-break: keep-all;
	font-variant-numeric: tabular-nums;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__footer
	> div
	> span {
	color: var(--beauty-color-muted);
	font-size: 0.62rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__link {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--beauty-color-accent-dark);
	font-size: 0.63rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	white-space: nowrap;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__link::after {
	width: 1.45rem;
	height: 1px;
	background: currentColor;
	content: "";
	transition: width 300ms ease;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card--clickable:hover
	.beauty-studio-core-pricing-treatment-card__link::after {
	width: 2.15rem;
}

/* Enhancements: slim menu, responsive 4 → 2 → 1. */
.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-enhancements-refined {
	margin-bottom: clamp(3.5rem, 5vw, 5rem);
	padding: clamp(1.8rem, 2.8vw, 2.75rem);
	border-color: color-mix(
		in srgb,
		var(--beauty-color-border) 36%,
		transparent
	);
	background: color-mix(
		in srgb,
		var(--beauty-color-accent) 2.5%,
		var(--beauty-color-surface)
	);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-enhancements-refined
	> header {
	grid-template-columns: minmax(14rem, 0.72fr) minmax(20rem, 1.28fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	margin-bottom: clamp(1.35rem, 2vw, 1.9rem);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-enhancements-refined h3 {
	max-width: none;
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: keep-all;
	hyphens: none;
	font-size: clamp(2.25rem, 3vw, 3.65rem);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-enhancements-refined__list {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	border: 0;
	border-top: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 70%,
		transparent
	);
	border-bottom: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 70%,
		transparent
	);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-enhancements-refined__list article {
	min-height: 7.75rem;
	padding: clamp(1rem, 1.55vw, 1.4rem);
	border: 0;
	border-right: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 70%,
		transparent
	);
	background: transparent;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-enhancements-refined__list article:last-child {
	border-right: 0;
}

/* FAQ remains the single objection-handling close. */
.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-faq-refined {
	padding-top: clamp(2.6rem, 4vw, 4rem);
	border-top: 1px solid color-mix(
		in srgb,
		var(--beauty-color-border) 72%,
		transparent
	);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-faq-refined summary {
	min-height: 4.25rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

/* Global page close: a soft ivory fade into the espresso footer. */
.beauty-studio-core-cta--dark,
.beauty-studio-core-cta--compact.beauty-studio-core-cta--dark,
.beauty-studio-core-cta--pricing {
	position: relative;
	margin: 0 !important;
	margin-bottom: -1px !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	background:
		linear-gradient(
			180deg,
			#FBFBF9 0%,
			#FAF8F5 24%,
			#F6F1EC 68%,
			#F1E8E1 100%
		) !important;
	background-image:
		linear-gradient(
			180deg,
			#FBFBF9 0%,
			#FAF8F5 24%,
			#F6F1EC 68%,
			#F1E8E1 100%
		) !important;
	color: var(--beauty-color-text) !important;
	box-shadow: none !important;
}

.beauty-studio-core-cta--dark::before,
.beauty-studio-core-cta--dark::after,
.beauty-studio-core-cta--pricing::before,
.beauty-studio-core-cta--pricing::after {
	display: none !important;
	content: none !important;
}

.beauty-studio-core-cta--pricing .beauty-studio-core-cta__inner {
	max-width: 76rem;
}

.beauty-studio-core-cta--pricing h2 {
	max-width: 12ch;
}

.beauty-studio-core-cta--dark h2,
.beauty-studio-core-cta--pricing h2 {
	color: var(--beauty-color-text) !important;
}

.beauty-studio-core-cta--dark .beauty-studio-core-cta__copy,
.beauty-studio-core-cta--pricing .beauty-studio-core-cta__copy {
	color: var(--beauty-color-muted) !important;
}

.beauty-studio-core-cta--dark .beauty-studio-core-eyebrow,
.beauty-studio-core-cta--pricing .beauty-studio-core-eyebrow {
	color: var(--beauty-color-accent-dark) !important;
}

.beauty-studio-core-cta--dark .beauty-studio-core-cta__button,
.beauty-studio-core-cta--pricing .beauty-studio-core-cta__button {
	border-color: var(--beauty-color-accent-dark) !important;
	background: var(--beauty-color-accent-dark) !important;
	color: var(--beauty-color-surface) !important;
}

.beauty-studio-core-cta--dark .beauty-studio-core-cta__button:hover,
.beauty-studio-core-cta--dark .beauty-studio-core-cta__button:focus-visible,
.beauty-studio-core-cta--pricing .beauty-studio-core-cta__button:hover,
.beauty-studio-core-cta--pricing .beauty-studio-core-cta__button:focus-visible {
	border-color: var(--beauty-color-text) !important;
	background: var(--beauty-color-text) !important;
	color: var(--beauty-color-surface) !important;
}

/* Remove Elementor frames so the CTA gradient reaches both edges cleanly. */
.elementor-element:has(.beauty-studio-core-cta--dark),
.elementor-element:has(.beauty-studio-core-cta--dark) > .elementor-widget-container,
.elementor-element:has(.beauty-studio-core-cta--pricing),
.elementor-element:has(.beauty-studio-core-cta--pricing) > .elementor-widget-container {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.elementor-section:has(.beauty-studio-core-cta--pricing),
.elementor-section:has(.beauty-studio-core-cta--pricing) > .elementor-container,
.elementor-section:has(.beauty-studio-core-cta--pricing) > .elementor-container > .elementor-column,
.elementor-section:has(.beauty-studio-core-cta--pricing)
	> .elementor-container
	> .elementor-column
	> .elementor-element-populated {
	width: 100% !important;
	max-width: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

@media (max-width: 63.9375rem) {
	.beauty-studio-core-page-hero--pricing
		.beauty-studio-core-page-hero__pricing-shell {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.beauty-studio-core-page-hero__pricing-details {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.beauty-studio-core-page-hero__pricing-details li {
		padding: 1rem;
		border-right: 1px solid color-mix(
			in srgb,
			var(--beauty-color-border) 82%,
			transparent
		);
	}

	.beauty-studio-core-page-hero__pricing-details li:last-child {
		border-right: 0;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-membership-refined {
		grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.82fr);
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-membership-refined__details {
		grid-template-columns: 1fr;
		gap: 1.35rem;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined
		> header {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined__list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined__list article {
		border-bottom: 1px solid color-mix(
			in srgb,
			var(--beauty-color-border) 70%,
			transparent
		);
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined__list article:nth-child(2n) {
		border-right: 0;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined__list article:nth-last-child(-n + 2) {
		border-bottom: 0;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-page-hero--pricing {
		padding-top: 2.8rem !important;
		padding-bottom: 3rem !important;
	}

	.beauty-studio-core-page-hero--pricing h1 {
		max-width: 10.5ch !important;
		font-size: clamp(3rem, 14vw, 4.2rem) !important;
	}

	.beauty-studio-core-page-hero__pricing-details {
		display: block;
	}

	.beauty-studio-core-page-hero__pricing-details li {
		padding-inline: 0;
		border-right: 0;
	}

	.beauty-studio-core-pricing-menu--sales-ready {
		padding-top: 0.65rem !important;
		padding-bottom: 4rem !important;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-membership-refined {
		grid-template-columns: 1fr;
		margin-bottom: 3rem;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-membership-refined
		.beauty-studio-core-button--light {
		width: 100%;
		min-width: 0;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-treatment-card:not(.beauty-studio-core-pricing-treatment-card--has-image)
		.beauty-studio-core-pricing-treatment-card__body {
		min-height: 0 !important;
		padding: 1.85rem 1.3rem !important;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-treatment-card__footer {
		align-items: flex-start;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined {
		padding: 1.5rem 1rem;
		margin-bottom: 3rem;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined__list {
		grid-template-columns: 1fr !important;
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined__list article,
	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined__list article:nth-child(2n),
	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined__list article:nth-last-child(-n + 2) {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid color-mix(
			in srgb,
			var(--beauty-color-border) 70%,
			transparent
		);
	}

	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-enhancements-refined__list article:last-child {
		border-bottom: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-treatment-card,
	.beauty-studio-core-pricing-menu--sales-ready
		.beauty-studio-core-pricing-treatment-card__link::after {
		transition: none !important;
	}
}

/* =========================================================
   LUNEA — FINAL CLEAN CONTRAST SYSTEM
   Neutral alabaster canvas, white editorial surfaces and one
   deliberate espresso contrast block. No yellow haze.
   ========================================================= */

/* Global canvas */
body,
.site-main,
.elementor,
.elementor-section-wrap {
	background: #FBFBF9;
}

/* Header remains white; the existing premium shadow is preserved. */
.site-header {
	background: rgba(255, 255, 255, 0.97);
}

/* Page openings: fresh white rather than cream-on-cream. */
.beauty-studio-core-page-hero:not(.beauty-studio-core-page-hero--dark),
.beauty-studio-core-hero--clean {
	background: linear-gradient(
		135deg,
		#FFFFFF 0%,
		#FFFFFF 58%,
		#F7F5F2 100%
	) !important;
}

/* Regular page canvases */
.beauty-studio-core-intro,
.beauty-studio-core-detail-list,
.beauty-studio-core-pricing-menu,
.beauty-studio-core-contact-details,
.beauty-studio-core-form-placeholder {
	background: #FBFBF9 !important;
}

/* Alternating editorial surfaces */
.beauty-studio-core-story--founder,
.beauty-studio-core-split--surface,
.beauty-studio-core-split--about-editorial,
.beauty-studio-core-split--home-clean,
.beauty-studio-core-testimonials,
.beauty-studio-core-cta--light,
.beauty-studio-core-cta--clean-close {
	background: #FFFFFF !important;
	background-image: none !important;
}

/* Home rhythm: white and alabaster only. */
body.home .beauty-studio-core-services--clean-collection {
	background: #FFFFFF !important;
}

body.home .beauty-studio-core-split--home-clean {
	background: #FBFBF9 !important;
}

body.home .beauty-studio-core-testimonials--clean-grid {
	background: #FFFFFF !important;
}

body.home .beauty-studio-core-cta--clean-close {
	background:
		linear-gradient(
			180deg,
			#FBFBF9 0%,
			#F8F5F1 100%
		) !important;
}

/* Cards: clean white sheets, never yellow panels. */
.beauty-studio-core-detail-service,
.beauty-studio-core-pricing-treatment-card,
.beauty-studio-core-pricing-enhancements-refined,
body.home .beauty-studio-core-service--featured {
	background: #FFFFFF !important;
	background-image: none !important;
	border-color: rgba(112, 70, 53, 0.15) !important;
	box-shadow:
		0 1rem 2.8rem rgba(28, 25, 23, 0.035) !important;
}

.beauty-studio-core-detail-service:hover,
.beauty-studio-core-pricing-treatment-card:hover {
	border-color: rgba(112, 70, 53, 0.24) !important;
	box-shadow:
		0 1.35rem 3.4rem rgba(28, 25, 23, 0.055) !important;
}

/* Stop old tinted pseudo layers from dirtying light sections. */
:is(
	.beauty-studio-core-page-hero:not(.beauty-studio-core-page-hero--dark),
	.beauty-studio-core-story--founder,
	.beauty-studio-core-split--about-editorial,
	.beauty-studio-core-split--home-clean,
	.beauty-studio-core-testimonials--clean-grid
)::before {
	background-image: none;
}

/* Services approach: the deliberate dark rhythm change. */
.beauty-studio-core-values--services-approach {
	background: #292320 !important;
	color: #F7F4EF !important;
}

.elementor-element:has(.beauty-studio-core-values--services-approach),
.elementor-element:has(.beauty-studio-core-values--services-approach)
	> .elementor-widget-container {
	margin: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	background: #292320 !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-eyebrow {
	color: #C38762 !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-values__approach-header h2,
.beauty-studio-core-values--services-approach
	.beauty-studio-core-value h3 {
	color: #F7F4EF !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-values__approach-header
	p:not(.beauty-studio-core-eyebrow),
.beauty-studio-core-values--services-approach
	.beauty-studio-core-value p {
	color: #C9BEB5 !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-values__grid {
	border-color: rgba(247, 244, 239, 0.18) !important;
	background: transparent !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-value {
	border-color: rgba(247, 244, 239, 0.18) !important;
	background: transparent !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-value:hover {
	background: rgba(247, 244, 239, 0.045) !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-value__index {
	color: #C38762 !important;
}

/* Clean, quiet section boundaries. */
.elementor-element:has(
	:is(
		.beauty-studio-core-page-hero,
		.beauty-studio-core-story,
		.beauty-studio-core-services,
		.beauty-studio-core-detail-list,
		.beauty-studio-core-values,
		.beauty-studio-core-split,
		.beauty-studio-core-testimonials,
		.beauty-studio-core-pricing-menu,
		.beauty-studio-core-contact-details,
		.beauty-studio-core-form-placeholder,
		.beauty-studio-core-cta
	)
)
	+ .elementor-element:has(
		:is(
			.beauty-studio-core-story,
			.beauty-studio-core-services,
			.beauty-studio-core-detail-list,
			.beauty-studio-core-values,
			.beauty-studio-core-split,
			.beauty-studio-core-testimonials,
			.beauty-studio-core-pricing-menu,
			.beauty-studio-core-contact-details,
			.beauty-studio-core-form-placeholder,
			.beauty-studio-core-cta
		)
	) {
	border-top-color: rgba(112, 70, 53, 0.1);
}

/* Mobile keeps the dark approach readable without oversized empty space. */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-values--services-approach {
		padding-top: 4rem !important;
		padding-bottom: 4rem !important;
	}

	.beauty-studio-core-values--services-approach
		.beauty-studio-core-values__grid {
		border-top: 1px solid rgba(247, 244, 239, 0.18) !important;
		border-bottom: 1px solid rgba(247, 244, 239, 0.18) !important;
	}
}

/* Final layout safety: grid children shrink, complete words stay intact. */
:is(
	.beauty-studio-core-hero__content,
	.beauty-studio-core-hero__media,
	.beauty-studio-core-page-hero__content,
	.beauty-studio-core-page-hero__media,
	.beauty-studio-core-intro__content,
	.beauty-studio-core-intro__media,
	.beauty-studio-core-split__content,
	.beauty-studio-core-split__media,
	.beauty-studio-core-section-header > *,
	.beauty-studio-core-story > *,
	.beauty-studio-core-detail-service > *,
	.beauty-studio-core-pricing-membership-refined > *
) {
	min-width: 0;
}

:is(
	.beauty-studio-core-hero__heading,
	.beauty-studio-core-page-hero h1,
	.beauty-studio-core-intro h2,
	.beauty-studio-core-split h2,
	.beauty-studio-core-story h2,
	.beauty-studio-core-section-header h2,
	.beauty-studio-core-service h3,
	.beauty-studio-core-detail-service h3,
	.beauty-studio-core-value h3,
	.beauty-studio-core-testimonial blockquote,
	.beauty-studio-core-pricing-treatment-card h3,
	.beauty-studio-core-cta h2
) {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

/* ==========================================================
   Final pre-packaging visual and interaction safeguards
   ========================================================== */

/* About hero: an empty Elementor caption must not leave a white chip. */
.beauty-studio-core-page-hero--about
	.beauty-studio-core-page-hero__media-caption:empty {
	display: none !important;
}

/* Home hero: remove the decorative rail that visually cuts behind the photo. */
.beauty-studio-core-hero--clean::before {
	display: none !important;
	content: none !important;
}

.beauty-studio-core-hero--clean .beauty-studio-core-hero__media {
	position: relative;
	z-index: 2;
	isolation: isolate;
	background: var(--beauty-color-background);
}

/* Dark treatment approach: prevent the generic white hover wash. */
.beauty-studio-core-values--services-approach
	.beauty-studio-core-value::before {
	display: none !important;
	content: none !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-value:hover,
.beauty-studio-core-values--services-approach
	.beauty-studio-core-value:focus-within {
	background: rgba(247, 244, 239, 0.065) !important;
	box-shadow: inset 0 0 0 1px rgba(247, 244, 239, 0.1) !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-value:hover h3,
.beauty-studio-core-values--services-approach
	.beauty-studio-core-value:focus-within h3 {
	color: #F7F4EF !important;
}

.beauty-studio-core-values--services-approach
	.beauty-studio-core-value:hover p,
.beauty-studio-core-values--services-approach
	.beauty-studio-core-value:focus-within p {
	color: #D8CDC5 !important;
}

/* Contact: stronger alignment and a calmer editorial information rhythm. */
.beauty-studio-core-page-hero--contact .beauty-studio-core-page-hero__content {
	max-width: 52rem;
}

.beauty-studio-core-contact-details {
	grid-template-columns: minmax(24rem, 0.92fr) minmax(26rem, 1.08fr) !important;
	gap: clamp(3.75rem, 6vw, 7rem) !important;
	align-items: center !important;
}

.beauty-studio-core-contact-details__content {
	width: 100%;
	max-width: 46rem;
	padding-right: clamp(0rem, 1.5vw, 1.5rem);
}

.beauty-studio-core-contact-details__content > .beauty-studio-core-copy {
	max-width: 36rem;
	margin-top: 1.2rem;
	line-height: 1.76;
}

.beauty-studio-core-contact-details__list {
	max-width: 46rem;
	margin-top: clamp(2.4rem, 4vw, 3.5rem);
}

.beauty-studio-core-contact-details__item {
	grid-template-columns: minmax(7.75rem, 0.3fr) minmax(0, 0.7fr);
	gap: clamp(1.4rem, 2.6vw, 2.6rem);
	align-items: start;
}

.beauty-studio-core-contact-details__media {
	align-self: center;
	justify-self: end;
}

.beauty-studio-core-contact-details__media figcaption:empty {
	display: none;
}

.beauty-studio-core-form-placeholder {
	grid-template-columns: minmax(23rem, 0.8fr) minmax(32rem, 1.2fr) !important;
	gap: clamp(4rem, 6vw, 7rem) !important;
}

.beauty-studio-core-form-placeholder__intro {
	max-width: 42rem;
	padding-top: 0.15rem;
}

@media (max-width: 63.9375rem) {
	.beauty-studio-core-contact-details,
	.beauty-studio-core-form-placeholder {
		grid-template-columns: 1fr !important;
	}

	.beauty-studio-core-contact-details__content {
		max-width: 48rem;
		padding-right: 0;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-contact-details__item {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
}


/* ========================================================================
   LUNEA — FINAL ALL-PAGE EDITORIAL POLISH
   Scoped to Pricing, Gallery and Contact. Home, About and Services retain
   their approved architecture.
   ======================================================================== */

:root {
	--beauty-polish-line: rgba(112, 70, 53, 0.14);
	--beauty-polish-line-strong: rgba(112, 70, 53, 0.22);
	--beauty-polish-shadow: 0 1.4rem 3.8rem rgba(45, 32, 28, 0.055);
}

/* Generic editorial openings used by Gallery and Contact. */
.beauty-studio-core-page-hero--contact,
.beauty-studio-core-page-hero--no-image:not(
	.beauty-studio-core-page-hero--about,
	.beauty-studio-core-page-hero--services,
	.beauty-studio-core-page-hero--pricing
) {
	min-height: 0 !important;
	padding-top: clamp(4.5rem, 6.5vw, 6.75rem) !important;
	padding-bottom: clamp(4.5rem, 6.5vw, 6.75rem) !important;
	border-bottom: 1px solid var(--beauty-polish-line) !important;
	background:
		linear-gradient(135deg, #FFFFFF 0%, #FFFFFF 62%, #F7F5F2 100%) !important;
}

.beauty-studio-core-page-hero--contact
	.beauty-studio-core-page-hero__content,
.beauty-studio-core-page-hero--no-image:not(
	.beauty-studio-core-page-hero--about,
	.beauty-studio-core-page-hero--services,
	.beauty-studio-core-page-hero--pricing
)
	.beauty-studio-core-page-hero__content {
	width: min(100%, 76rem) !important;
	max-width: 76rem !important;
	margin-inline: auto !important;
}

.beauty-studio-core-page-hero--contact h1,
.beauty-studio-core-page-hero--no-image:not(
	.beauty-studio-core-page-hero--about,
	.beauty-studio-core-page-hero--services,
	.beauty-studio-core-page-hero--pricing
) h1 {
	max-width: 13ch !important;
	font-size: clamp(3.6rem, 5.2vw, 6.35rem) !important;
	line-height: 0.91 !important;
	letter-spacing: -0.052em !important;
}

.beauty-studio-core-page-hero--contact .beauty-studio-core-lede,
.beauty-studio-core-page-hero--no-image:not(
	.beauty-studio-core-page-hero--about,
	.beauty-studio-core-page-hero--services,
	.beauty-studio-core-page-hero--pricing
) .beauty-studio-core-lede {
	max-width: 42rem;
	font-size: clamp(1rem, 0.95rem + 0.16vw, 1.12rem);
	line-height: 1.72;
}

/* Pricing: increase confidence without adding more boxes or CTAs. */
.beauty-studio-core-pricing-menu--sales-ready {
	--beauty-core-wide: 78rem;
}

.beauty-studio-core-page-hero--pricing
	.beauty-studio-core-page-hero__pricing-shell {
	width: min(100%, 78rem) !important;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-membership-refined {
	border-color: var(--beauty-polish-line-strong) !important;
	box-shadow: var(--beauty-polish-shadow);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-membership-refined__media::after {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card {
	border-color: var(--beauty-polish-line) !important;
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-treatment-card__topline {
	padding-bottom: 0.9rem;
	border-bottom: 1px solid color-mix(in srgb, var(--beauty-color-border) 72%, transparent);
}

.beauty-studio-core-pricing-menu--sales-ready
	.beauty-studio-core-pricing-faq-refined {
	padding-top: clamp(3rem, 4.5vw, 4.5rem);
	border-top: 1px solid var(--beauty-polish-line);
}

/* Gallery: stronger editorial wall and better visual rhythm. */
.beauty-studio-core-gallery {
	--beauty-core-wide: 80rem;
	padding-top: clamp(5rem, 7vw, 7.5rem) !important;
	padding-bottom: clamp(5.5rem, 8vw, 8rem) !important;
	background: #FBFBF9 !important;
}

.beauty-studio-core-gallery .beauty-studio-core-section-header {
	grid-template-columns: minmax(15rem, 0.4fr) minmax(0, 0.6fr) !important;
	gap: clamp(2.5rem, 6vw, 7rem) !important;
	align-items: end !important;
	padding-bottom: clamp(2.25rem, 3.5vw, 3.25rem);
	margin-bottom: clamp(2.25rem, 3.5vw, 3.25rem) !important;
	border-bottom: 1px solid var(--beauty-polish-line);
}

.beauty-studio-core-gallery .beauty-studio-core-section-header h2 {
	max-width: 11.5ch !important;
}

.beauty-studio-core-gallery .beauty-studio-core-section-header p {
	align-self: end;
	margin: 0 0 0.3rem !important;
}

.beauty-studio-core-gallery__grid {
	gap: clamp(1rem, 1.7vw, 1.5rem) !important;
}

.beauty-studio-core-gallery__item {
	background: #FFFFFF;
	box-shadow: 0 1rem 2.6rem rgba(45, 32, 28, 0.035);
}

.beauty-studio-core-gallery__item::after {
	border-color: var(--beauty-polish-line) !important;
}

.beauty-studio-core-gallery--editorial
	.beauty-studio-core-gallery__item:nth-child(6n + 2),
.beauty-studio-core-gallery--editorial
	.beauty-studio-core-gallery__item:nth-child(6n + 4) {
	margin-top: clamp(1.5rem, 3vw, 3rem);
}

.beauty-studio-core-gallery__image {
	filter: saturate(0.93) contrast(1.02) !important;
}

.beauty-studio-core-gallery__item:hover .beauty-studio-core-gallery__image {
	transform: scale(1.022) !important;
	filter: saturate(1) contrast(1.025) !important;
}

/* Contact: turn the request area into one calm editorial sheet. */
.beauty-studio-core-contact-details {
	--beauty-core-wide: 78rem;
	padding-top: clamp(5rem, 7vw, 7.5rem) !important;
	padding-bottom: clamp(5.5rem, 8vw, 8rem) !important;
}

.beauty-studio-core-contact-details__media {
	overflow: visible !important;
}

.beauty-studio-core-contact-details__media::before {
	display: block !important;
	position: absolute;
	top: 1rem;
	right: -1rem;
	bottom: -1rem;
	left: 1rem;
	z-index: 0;
	border: 1px solid var(--beauty-polish-line);
	background: #F3EEE9;
	content: "" !important;
}

.beauty-studio-core-contact-details__image,
.beauty-studio-core-contact-details__media > .beauty-studio-core-placeholder {
	box-shadow: var(--beauty-polish-shadow);
}

.beauty-studio-core-form-placeholder {
	--beauty-core-wide: 78rem;
	padding-top: clamp(5.5rem, 8vw, 8rem) !important;
	padding-bottom: clamp(5.5rem, 8vw, 8rem) !important;
}

.beauty-studio-core-demo-form {
	position: relative;
	gap: clamp(2rem, 3.5vw, 3rem) !important;
	padding: clamp(2rem, 3.5vw, 3.5rem) !important;
	border: 1px solid var(--beauty-polish-line);
	background: #FFFFFF;
	box-shadow: var(--beauty-polish-shadow);
}

.beauty-studio-core-demo-form::before {
	position: absolute;
	top: 0;
	left: clamp(2rem, 3.5vw, 3.5rem);
	width: clamp(3rem, 6vw, 5rem);
	height: 2px;
	background: var(--beauty-color-accent-dark);
	content: "";
}

.beauty-studio-core-choice {
	transition:
		background-color var(--beauty-transition),
		color var(--beauty-transition);
}

.beauty-studio-core-choice:hover,
.beauty-studio-core-choice:focus-within {
	background: color-mix(in srgb, var(--beauty-color-accent) 4%, #FFFFFF);
}

.beauty-studio-core-choice:has(input:checked) {
	background: color-mix(in srgb, var(--beauty-color-accent) 6%, #FFFFFF);
}

.beauty-studio-core-choice:has(input:checked) span::before {
	box-shadow: inset 0 0 0 0.22rem #FFFFFF;
	background: var(--beauty-color-accent-dark);
}

.beauty-studio-core-demo-form :is(input, textarea, select) {
	transition:
		border-color var(--beauty-transition),
		background-color var(--beauty-transition),
		color var(--beauty-transition) !important;
}

.beauty-studio-core-demo-form :is(input, textarea, select):focus-visible {
	background: color-mix(in srgb, var(--beauty-color-accent) 2.5%, transparent);
}

.beauty-studio-core-contact-faq {
	padding-top: clamp(3rem, 5vw, 5rem);
	border-top: 1px solid var(--beauty-polish-line);
}

.beauty-studio-core-contact-faq__item summary {
	min-height: 3.7rem;
}

/* Desktop-only image-wall offsets. */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-gallery .beauty-studio-core-section-header {
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
		align-items: start !important;
	}

	.beauty-studio-core-gallery .beauty-studio-core-section-header p {
		margin: 0 !important;
	}

	.beauty-studio-core-gallery--editorial
		.beauty-studio-core-gallery__item:nth-child(n) {
		margin-top: 0;
	}

	.beauty-studio-core-contact-details__media::before {
		right: -0.75rem;
		bottom: -0.75rem;
		left: 0.75rem;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-page-hero--contact,
	.beauty-studio-core-page-hero--no-image:not(
		.beauty-studio-core-page-hero--about,
		.beauty-studio-core-page-hero--services,
		.beauty-studio-core-page-hero--pricing
	) {
		padding-top: 3.75rem !important;
		padding-bottom: 3.75rem !important;
	}

	.beauty-studio-core-page-hero--contact h1,
	.beauty-studio-core-page-hero--no-image:not(
		.beauty-studio-core-page-hero--about,
		.beauty-studio-core-page-hero--services,
		.beauty-studio-core-page-hero--pricing
	) h1 {
		max-width: 11ch !important;
		font-size: clamp(2.85rem, 13vw, 4.2rem) !important;
	}

	.beauty-studio-core-gallery {
		padding-top: 4.25rem !important;
		padding-bottom: 4.75rem !important;
	}

	.beauty-studio-core-gallery .beauty-studio-core-section-header {
		padding-bottom: 2rem;
		margin-bottom: 2rem !important;
	}

	.beauty-studio-core-contact-details__media::before {
		top: 0.65rem;
		right: -0.5rem;
		bottom: -0.5rem;
		left: 0.5rem;
	}

	.beauty-studio-core-demo-form {
		padding: 1.5rem !important;
	}

	.beauty-studio-core-demo-form::before {
		left: 1.5rem;
	}
}

/* ========================================================================
   LUNEA HOME CTA — SCOPED FULL BLEED
   Targets only the final Home CTA section created by the bundled template.
   No ancestor sections, preceding content or footer dimensions are changed.
   ======================================================================== */

.elementor-element.elementor-element-5b597ee {
	position: relative !important;
	left: 50% !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 0 -1px !important;
	padding: 0 !important;
	transform: translateX(-50%) !important;
	background: var(--beauty-color-surface) !important;
	border: 0 !important;
	overflow: hidden !important;
}

.elementor-element.elementor-element-5b597ee > .elementor-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-element.elementor-element-5b597ee
	.elementor-element.elementor-element-a426834,
.elementor-element.elementor-element-5b597ee
	.elementor-element.elementor-element-a426834
	> .elementor-widget-wrap,
.elementor-element.elementor-element-5b597ee
	.elementor-element.elementor-element-e3260bd,
.elementor-element.elementor-element-5b597ee
	.elementor-element.elementor-element-e3260bd
	> .elementor-widget-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.elementor-element.elementor-element-5b597ee .beauty-studio-core-cta {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
	background-color: var(--beauty-color-surface) !important;
}

/* Keep only the text/content constrained; the CTA background remains full width. */
.elementor-element.elementor-element-5b597ee
	.beauty-studio-core-cta--compact
	.beauty-studio-core-cta__inner {
	width: min(
		calc(100% - (2 * var(--beauty-core-gutter))),
		var(--beauty-core-wide)
	) !important;
	max-width: var(--beauty-core-wide) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

@media (max-width: 47.9375rem) {
	.elementor-element.elementor-element-5b597ee
		.beauty-studio-core-cta--compact
		.beauty-studio-core-cta__inner {
		width: calc(100% - 2rem) !important;
	}
}

/* ========================================================================
   LUNEA IMMERSIVE HOME HERO — FINAL
   Full-bleed editorial hero used by the updated Beauty Hero widget.
   ======================================================================== */

/* Remove Elementor's boxed wrappers from the bundled Home hero only. */
.elementor-element.elementor-element-233b19f {
	position: relative !important;
	left: 50% !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateX(-50%) !important;
	overflow: visible !important;
	background: #f5efe8 !important;
	border: 0 !important;
}

.elementor-element.elementor-element-233b19f > .elementor-container,
.elementor-element.elementor-element-233b19f
	.elementor-element.elementor-element-db84952,
.elementor-element.elementor-element-233b19f
	.elementor-element.elementor-element-db84952
	> .elementor-widget-wrap,
.elementor-element.elementor-element-233b19f
	.elementor-element.elementor-element-be47b97,
.elementor-element.elementor-element-233b19f
	.elementor-element.elementor-element-be47b97
	> .elementor-widget-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

/* Main immersive shell. */
.beauty-studio-core-hero.beauty-studio-core-hero--immersive {
	position: relative !important;
	display: block !important;
	isolation: isolate;
	width: 100% !important;
	max-width: none !important;
	min-height: clamp(46rem, calc(100svh - 4.75rem), 59rem) !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	background: #d8c0aa !important;
	color: var(--beauty-color-text);
}

/* Disable decorative line inherited from the former two-column hero. */
.beauty-studio-core-hero.beauty-studio-core-hero--immersive::before {
	display: none !important;
	content: none !important;
}

/* Full-bleed image layer. */
.beauty-studio-core-hero--immersive .beauty-studio-core-hero__background {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
	background: #d8c0aa;
}

.beauty-studio-core-hero--immersive
	.beauty-studio-core-hero__background
	> :is(
		.beauty-studio-core-hero__image,
		.beauty-studio-core-placeholder
	) {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: var(--beauty-core-hero-image-fit, contain) !important;
	object-position: var(--beauty-core-hero-image-position, right center) !important;
	filter: saturate(0.94) contrast(1.02) brightness(1.02);
	transform: none;
}

/* The soft editorial fade keeps text readable without looking like a card. */
.beauty-studio-core-hero--immersive .beauty-studio-core-hero__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			rgba(251, 249, 246, 0.99) 0%,
			rgba(251, 249, 246, 0.985) 25%,
			rgba(251, 249, 246, 0.91) 39%,
			rgba(251, 249, 246, 0.55) 50%,
			rgba(251, 249, 246, 0.13) 63%,
			rgba(251, 249, 246, 0) 76%
		),
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.07) 0%,
			rgba(255, 255, 255, 0) 65%,
			rgba(39, 24, 17, 0.04) 100%
		);
}

/* Content alignment and width. */
.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	width: min(
		calc(100% - (2 * var(--beauty-core-gutter))),
		92rem
	);
	min-height: clamp(46rem, calc(100svh - 4.75rem), 59rem);
	align-items: center;
	margin: 0 auto;
	padding:
		clamp(4.5rem, 7vw, 7.5rem)
		0
		clamp(8.75rem, 12vw, 11.5rem);
}

.beauty-studio-core-hero--immersive .beauty-studio-core-hero__content {
	position: relative;
	z-index: 3;
	width: min(100%, 38rem);
	max-width: 38rem !important;
	margin: 0;
	padding: 0;
	text-align: left;
}

/* Editorial kicker row. */
.beauty-studio-core-hero--immersive .beauty-studio-core-hero__kicker-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem clamp(1.4rem, 3vw, 3.25rem);
	margin-bottom: clamp(1.55rem, 2.3vw, 2.25rem);
}

.beauty-studio-core-hero--immersive .beauty-studio-core-eyebrow,
.beauty-studio-core-hero--immersive .beauty-studio-core-hero__edition {
	margin: 0;
	color: var(--beauty-color-accent-dark);
	font-family: var(--beauty-font-body);
	font-size: clamp(0.67rem, 0.64rem + 0.08vw, 0.76rem);
	font-weight: 700;
	letter-spacing: 0.145em;
	line-height: 1.25;
	text-transform: uppercase;
}

.beauty-studio-core-hero--immersive .beauty-studio-core-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
}

.beauty-studio-core-hero--immersive .beauty-studio-core-eyebrow::before {
	width: 1.9rem;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.72;
}

/* Headline rhythm matches the premium mockup. */
.beauty-studio-core-hero--immersive .beauty-studio-core-hero__heading {
	max-width: 8.9ch !important;
	margin: 0 !important;
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-heading);
	font-size: clamp(4.7rem, 6.45vw, 7.55rem) !important;
	font-weight: 400;
	letter-spacing: -0.061em !important;
	line-height: 0.89 !important;
	text-wrap: balance;
}

.beauty-studio-core-hero--immersive .beauty-studio-core-hero__highlight {
	max-width: 16ch;
	margin: clamp(1rem, 1.8vw, 1.55rem) 0 0;
	color: var(--beauty-color-accent-dark);
	font-family: var(--beauty-font-heading);
	font-size: clamp(1.65rem, 2vw, 2.5rem);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.03em;
	line-height: 1.04;
}

.beauty-studio-core-hero--immersive .beauty-studio-core-lede {
	max-width: 31rem !important;
	margin: clamp(1.55rem, 2.2vw, 2rem) 0 0 !important;
	color: color-mix(in srgb, var(--beauty-color-text) 72%, transparent);
	font-size: clamp(1rem, 0.94rem + 0.24vw, 1.17rem);
	line-height: 1.66;
}

.beauty-studio-core-hero--immersive .beauty-studio-core-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: clamp(1.7rem, 2.8vw, 2.35rem);
}

.beauty-studio-core-hero--immersive .beauty-studio-core-button {
	min-height: 3.35rem;
	padding: 1rem clamp(1.35rem, 2vw, 1.85rem);
	font-size: 0.74rem;
	letter-spacing: 0.095em;
	box-shadow: none;
}

.beauty-studio-core-hero--immersive .beauty-studio-core-button--outline {
	border-color: rgba(112, 70, 53, 0.42);
	background: rgba(255, 253, 250, 0.38);
	backdrop-filter: blur(7px);
}

.beauty-studio-core-hero--immersive .beauty-studio-core-note {
	max-width: 31rem;
	margin: clamp(1.15rem, 1.8vw, 1.55rem) 0 0;
	color: color-mix(in srgb, var(--beauty-color-text) 58%, transparent);
	font-size: clamp(0.73rem, 0.7rem + 0.08vw, 0.81rem);
	letter-spacing: 0.01em;
	line-height: 1.55;
}

/* Accent image is intentionally removed in the final immersive desktop hero. */
.beauty-studio-core-hero--immersive .beauty-studio-core-hero__accent {
	display: none !important;
}

/* Floating feature panel. */
.beauty-studio-core-hero--immersive .beauty-studio-core-hero-features {
	position: absolute;
	right: max(
		var(--beauty-core-gutter),
		calc((100vw - 92rem) / 2)
	);
	bottom: clamp(1.35rem, 2.6vw, 2.4rem);
	left: max(
		var(--beauty-core-gutter),
		calc((100vw - 92rem) / 2)
	);
	z-index: 4;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: auto;
	max-width: none;
	margin: 0 !important;
	padding: 0.5rem 0;
	overflow: hidden;
	border: 1px solid rgba(112, 70, 53, 0.13);
	background: rgba(255, 253, 250, 0.91);
	box-shadow:
		0 1.2rem 3.25rem rgba(49, 31, 22, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(17px);
}

.beauty-studio-core-hero--immersive .beauty-studio-core-hero-feature {
	position: relative;
	display: grid;
	min-width: 0;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.85rem;
	align-items: center;
	padding: clamp(1.15rem, 1.8vw, 1.55rem)
		clamp(1rem, 1.8vw, 1.65rem);
}

.beauty-studio-core-hero--immersive
	.beauty-studio-core-hero-feature:not(:last-child)::after {
	position: absolute;
	top: 17%;
	right: 0;
	bottom: 17%;
	width: 1px;
	background: rgba(112, 70, 53, 0.15);
	content: "";
}

.beauty-studio-core-hero--immersive
	.beauty-studio-core-hero-feature__icon {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	flex: 0 0 auto;
	place-items: center;
	color: var(--beauty-color-accent-dark);
	font-family: var(--beauty-font-heading);
	font-size: 1.4rem;
	line-height: 1;
}

.beauty-studio-core-hero--immersive
	.beauty-studio-core-hero-feature__copy {
	min-width: 0;
}

.beauty-studio-core-hero--immersive
	.beauty-studio-core-hero-feature h2 {
	margin: 0;
	color: var(--beauty-color-text);
	font-family: var(--beauty-font-body);
	font-size: clamp(0.66rem, 0.63rem + 0.08vw, 0.74rem);
	font-weight: 700;
	letter-spacing: 0.105em;
	line-height: 1.3;
	text-transform: uppercase;
}

.beauty-studio-core-hero--immersive
	.beauty-studio-core-hero-feature p {
	margin: 0.3rem 0 0;
	color: color-mix(in srgb, var(--beauty-color-text) 62%, transparent);
	font-size: clamp(0.72rem, 0.69rem + 0.06vw, 0.79rem);
	line-height: 1.42;
}

/* Left-image option remains functional. */
.beauty-studio-core-hero--immersive.beauty-studio-core-image-left
	.beauty-studio-core-hero__background
	> :is(
		.beauty-studio-core-hero__image,
		.beauty-studio-core-placeholder
	) {
	object-position: 30% 43% !important;
}

.beauty-studio-core-hero--immersive.beauty-studio-core-image-left
	.beauty-studio-core-hero__veil {
	background:
		linear-gradient(
			270deg,
			rgba(251, 249, 246, 0.99) 0%,
			rgba(251, 249, 246, 0.985) 25%,
			rgba(251, 249, 246, 0.91) 39%,
			rgba(251, 249, 246, 0.55) 50%,
			rgba(251, 249, 246, 0.13) 63%,
			rgba(251, 249, 246, 0) 76%
		);
}

.beauty-studio-core-hero--immersive.beauty-studio-core-image-left
	.beauty-studio-core-hero__inner {
	justify-content: flex-end;
}

/* Elementor editor: prevent the selected section outline from clipping content. */
.elementor-editor-active
	.elementor-element.elementor-element-233b19f {
	overflow: visible !important;
}

/* Tablet */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-hero.beauty-studio-core-hero--immersive {
		min-height: 52rem !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		width: calc(100% - 3rem);
		min-height: 52rem;
		padding-top: 5rem;
		padding-bottom: 10.5rem;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__content {
		width: min(100%, 34rem);
		max-width: 34rem !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__heading {
		font-size: clamp(4.2rem, 8.8vw, 6rem) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__veil {
		background:
			linear-gradient(
				90deg,
				rgba(251, 249, 246, 0.99) 0%,
				rgba(251, 249, 246, 0.95) 38%,
				rgba(251, 249, 246, 0.64) 57%,
				rgba(251, 249, 246, 0.08) 78%
			);
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero__background
		> :is(
			.beauty-studio-core-hero__image,
			.beauty-studio-core-placeholder
		) {
		object-position: var(--beauty-core-hero-image-position, right center) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero-features {
		right: 1.5rem;
		bottom: 1.5rem;
		left: 1.5rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero-feature:nth-child(2n)::after {
		display: none;
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero-feature:nth-child(-n + 2) {
		border-bottom: 1px solid rgba(112, 70, 53, 0.13);
	}
}

/* Mobile */
@media (max-width: 47.9375rem) {
	.elementor-element.elementor-element-233b19f {
		background: #f7f2ec !important;
	}

	.beauty-studio-core-hero.beauty-studio-core-hero--immersive {
		display: flex !important;
		min-height: 0 !important;
		flex-direction: column;
		background: #f7f2ec !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__background {
		position: relative;
		order: 2;
		height: clamp(27rem, 112vw, 38rem);
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero__background
		> :is(
			.beauty-studio-core-hero__image,
			.beauty-studio-core-placeholder
		) {
		object-position: var(--beauty-core-hero-image-position, right center) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__veil {
		display: none;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		order: 1;
		display: block;
		width: 100%;
		min-height: 0;
		padding: 4.25rem 1.15rem 3.5rem;
		background: #faf8f5;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__content {
		width: 100%;
		max-width: none !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__kicker-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.7rem;
		margin-bottom: 1.35rem;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__heading {
		max-width: 9ch !important;
		font-size: clamp(3.55rem, 16.5vw, 5rem) !important;
		line-height: 0.91 !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-lede {
		max-width: 29rem !important;
		font-size: 1rem;
		line-height: 1.64;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-actions {
		flex-direction: column;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-button {
		width: 100%;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero-features {
		position: relative;
		right: auto;
		bottom: auto;
		left: auto;
		order: 3;
		grid-template-columns: 1fr;
		width: calc(100% - 2rem);
		margin: -1.65rem auto 0 !important;
		padding: 0.25rem 0;
		background: rgba(255, 253, 250, 0.98);
		box-shadow: 0 1rem 2.75rem rgba(49, 31, 22, 0.09);
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero-feature {
		padding: 1rem 1.15rem;
		border-bottom: 1px solid rgba(112, 70, 53, 0.12);
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero-feature:last-child {
		border-bottom: 0;
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero-feature::after {
		display: none !important;
	}
}

/* ========================================================================
   LUNEA HERO — CLEAN FINAL PASS
   Removes the mockup-style feature strip and restores a subtle premium
   shadow beneath the real site header.
   ======================================================================== */

.beauty-studio-core-hero--immersive .beauty-studio-core-hero-features {
	display: none !important;
}

.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
	padding-bottom: clamp(4.5rem, 7vw, 7rem) !important;
}

.site-header,
.site-header.is-sticky,
.site-header.site-header--sticky,
#masthead,
header.site-header,
.elementor-location-header {
	position: relative;
	z-index: 100;
	background: rgba(255, 253, 250, 0.96);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	box-shadow:
		0 1px 0 rgba(112, 70, 53, 0.08),
		0 12px 32px rgba(45, 30, 20, 0.08);
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		padding-bottom: 3.5rem !important;
	}
}

/* ========================================================================
   LUNEA MOBILE QA — FINAL RESPONSIVE PASS
   Covers all bundled Elementor widgets without changing desktop styling.
   ======================================================================== */

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

.elementor,
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.elementor-widget-container {
	min-width: 0;
}

:is(
	.beauty-studio-core-hero,
	.beauty-studio-core-intro,
	.beauty-studio-core-services,
	.beauty-studio-core-split,
	.beauty-studio-core-testimonials,
	.beauty-studio-core-cta,
	.beauty-studio-core-page-hero,
	.beauty-studio-core-story,
	.beauty-studio-core-values,
	.beauty-studio-core-detail-list,
	.beauty-studio-core-pricing-menu,
	.beauty-studio-core-gallery,
	.beauty-studio-core-contact-details,
	.beauty-studio-core-form-placeholder
) {
	max-width: 100%;
	overflow-wrap: anywhere;
}

/* Tablet */
@media (max-width: 63.9375rem) {
	:root {
		--beauty-core-gutter: clamp(1.25rem, 4vw, 2rem);
		--beauty-core-section: clamp(4.5rem, 9vw, 6.5rem);
		--beauty-core-section-compact: clamp(3.25rem, 7vw, 4.75rem);
	}

	.beauty-studio-core-section-header {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		align-items: start;
	}

	.beauty-studio-core-section-header p {
		justify-self: start;
		margin-top: 0;
	}

	.beauty-studio-core-services__grid,
	.beauty-studio-core-services--cols-3 .beauty-studio-core-services__grid,
	.beauty-studio-core-values__grid,
	.beauty-studio-core-values--cols-2 .beauty-studio-core-values__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.beauty-studio-core-testimonials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem;
	}

	.beauty-studio-core-testimonial,
	.beauty-studio-core-testimonial:first-child,
	.beauty-studio-core-testimonial:nth-child(2) {
		grid-column: auto;
	}

	.beauty-studio-core-gallery__item,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(n) {
		grid-column: span 6;
	}

	.beauty-studio-core-price-item {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

/* Mobile */
@media (max-width: 47.9375rem) {
	:root {
		--beauty-core-gutter: 1.25rem;
		--beauty-core-section: clamp(4rem, 16vw, 5.75rem);
		--beauty-core-section-compact: clamp(3rem, 12vw, 4.25rem);
	}

	:is(
		.beauty-studio-core-hero,
		.beauty-studio-core-intro,
		.beauty-studio-core-services,
		.beauty-studio-core-split,
		.beauty-studio-core-testimonials,
		.beauty-studio-core-cta,
		.beauty-studio-core-page-hero,
		.beauty-studio-core-story,
		.beauty-studio-core-values,
		.beauty-studio-core-detail-list,
		.beauty-studio-core-pricing-menu,
		.beauty-studio-core-gallery,
		.beauty-studio-core-contact-details,
		.beauty-studio-core-form-placeholder
	) {
		padding-right: var(--beauty-core-gutter);
		padding-left: var(--beauty-core-gutter);
	}

	/* Hero */
	.elementor-element.elementor-element-233b19f {
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
	}

	.beauty-studio-core-hero.beauty-studio-core-hero--immersive {
		display: flex !important;
		width: 100% !important;
		min-height: 0 !important;
		flex-direction: column;
		overflow: hidden !important;
		background: #f8f3ed !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		order: 1;
		display: block;
		width: 100%;
		min-height: 0;
		padding:
			clamp(3.25rem, 13vw, 4.5rem)
			var(--beauty-core-gutter)
			clamp(3rem, 11vw, 4rem) !important;
		background: #fbf8f4;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__content {
		width: 100%;
		max-width: 31rem !important;
		margin: 0 auto;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__kicker-row {
		display: flex;
		flex-direction: column;
		gap: 0.65rem;
		align-items: flex-start;
		margin-bottom: 1.4rem;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-eyebrow,
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__edition {
		font-size: 0.69rem;
		letter-spacing: 0.135em;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__heading {
		max-width: 9ch !important;
		font-size: clamp(3.25rem, 15.5vw, 4.85rem) !important;
		line-height: 0.91 !important;
		letter-spacing: -0.054em !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-lede {
		max-width: 29rem !important;
		margin-top: 1.5rem !important;
		font-size: 1rem;
		line-height: 1.62;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.75rem;
		margin-top: 1.75rem;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-button {
		width: 100%;
		min-height: 3.35rem;
		padding: 0.95rem 1.2rem;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-note {
		max-width: 29rem;
		margin-top: 1rem;
		font-size: 0.78rem;
		line-height: 1.5;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__background {
		position: relative;
		order: 2;
		width: 100%;
		height: clamp(25rem, 108vw, 35rem);
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero__background
		> :is(
			.beauty-studio-core-hero__image,
			.beauty-studio-core-placeholder
		) {
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		object-fit: var(--beauty-core-hero-image-fit, contain) !important;
		object-position: var(--beauty-core-hero-image-position, right center) !important;
		transform: none;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__veil,
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero-features,
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__accent {
		display: none !important;
	}

	/* Intro and editorial split */
	.beauty-studio-core-intro,
	.beauty-studio-core-split,
	.beauty-studio-core-story,
	.beauty-studio-core-contact-details,
	.beauty-studio-core-form-placeholder,
	.beauty-studio-core-page-hero,
	.beauty-studio-core-detail-service {
		grid-template-columns: 1fr !important;
		gap: clamp(2rem, 9vw, 3.5rem);
	}

	.beauty-studio-core-intro__media,
	.beauty-studio-core-image-right .beauty-studio-core-intro__media,
	.beauty-studio-core-split__media,
	.beauty-studio-core-split--reverse .beauty-studio-core-split__media,
	.beauty-studio-core-story__media,
	.beauty-studio-core-contact-details__media {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		justify-self: stretch !important;
		margin: 0 !important;
	}

	.beauty-studio-core-intro__content,
	.beauty-studio-core-split__content,
	.beauty-studio-core-story__content,
	.beauty-studio-core-contact-details__content {
		order: 2 !important;
		width: 100%;
		max-width: none;
		justify-self: stretch !important;
	}

	.beauty-studio-core-intro__image,
	.beauty-studio-core-intro__media > .beauty-studio-core-placeholder,
	.beauty-studio-core-split__image,
	.beauty-studio-core-split__media > .beauty-studio-core-placeholder,
	.beauty-studio-core-story__image,
	.beauty-studio-core-story__media > .beauty-studio-core-placeholder,
	.beauty-studio-core-contact-details__image,
	.beauty-studio-core-contact-details__media > .beauty-studio-core-placeholder {
		width: 100%;
		min-height: 0 !important;
		aspect-ratio: 4 / 5;
		object-fit: cover;
	}

	.beauty-studio-core-intro h2,
	.beauty-studio-core-split h2,
	.beauty-studio-core-story h2,
	.beauty-studio-core-section-header h2,
	.beauty-studio-core-cta h2,
	.beauty-studio-core-page-hero h1,
	.beauty-studio-core-pricing-menu h2,
	.beauty-studio-core-contact-details h2,
	.beauty-studio-core-form-placeholder h2 {
		max-width: 11ch;
		font-size: clamp(2.85rem, 12.5vw, 4.25rem) !important;
		line-height: 0.94;
	}

	.beauty-studio-core-copy,
	.beauty-studio-core-lede,
	.beauty-studio-core-section-header p,
	.beauty-studio-core-cta p {
		font-size: 1rem;
		line-height: 1.68;
	}

	/* Services */
	.beauty-studio-core-services__grid,
	.beauty-studio-core-services--cols-3 .beauty-studio-core-services__grid {
		grid-template-columns: 1fr;
		border-left: 0;
	}

	.beauty-studio-core-service {
		min-height: 0;
		padding: 2rem 0;
		border-right: 0;
	}

	.beauty-studio-core-service::after {
		top: 2rem;
		right: 0;
	}

	.beauty-studio-core-service__media {
		margin-bottom: 1.5rem;
	}

	.beauty-studio-core-service h3 {
		max-width: 14ch;
		font-size: clamp(2rem, 9vw, 2.75rem);
	}

	/* Testimonials */
	.beauty-studio-core-testimonials__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.beauty-studio-core-testimonial,
	.beauty-studio-core-testimonial:first-child,
	.beauty-studio-core-testimonial:nth-child(2) {
		grid-column: auto;
		min-height: 0;
		padding: 2.25rem 0;
	}

	.beauty-studio-core-testimonial blockquote,
	.beauty-studio-core-testimonial:first-child blockquote {
		max-width: 22ch;
		padding-right: 2rem;
		font-size: clamp(1.75rem, 8vw, 2.45rem);
	}

	/* Values */
	.beauty-studio-core-values__grid,
	.beauty-studio-core-values--cols-2 .beauty-studio-core-values__grid {
		grid-template-columns: 1fr;
		border-left: 0;
	}

	.beauty-studio-core-value {
		min-height: 0;
		padding: 2rem 0;
		border-right: 0;
	}

	/* Gallery */
	.beauty-studio-core-gallery__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.beauty-studio-core-gallery__item,
	.beauty-studio-core-gallery--editorial .beauty-studio-core-gallery__item:nth-child(n) {
		grid-column: auto;
	}

	/* Pricing and contact */
	.beauty-studio-core-price-item,
	.beauty-studio-core-contact-details__list {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.beauty-studio-core-price-item__meta {
		min-width: 0;
		align-items: flex-start;
	}

	/* CTA */
	.beauty-studio-core-cta {
		min-height: 0;
		padding-top: clamp(4.5rem, 16vw, 6rem);
		padding-bottom: clamp(4.5rem, 16vw, 6rem);
	}

	.beauty-studio-core-cta .beauty-studio-core-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

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

	/* Prevent decorative images from escaping the viewport. */
	.beauty-studio-core-hero__accent,
	.beauty-studio-core-split__small,
	.beauty-studio-core-story__small {
		max-width: 8rem;
	}
}

/* Narrow phones */
@media (max-width: 23.75rem) {
	:root {
		--beauty-core-gutter: 1rem;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__heading {
		font-size: clamp(3rem, 15.5vw, 4rem) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		padding-top: 3rem !important;
		padding-right: 1rem !important;
		padding-left: 1rem !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__background {
		height: 27rem;
	}
}

/* ========================================================================
   LUNEA MOBILE HERO IMAGE — FOCAL POINT FIX
   Keeps the treatment face visually centered on narrow screens.
   ======================================================================== */

@media (max-width: 47.9375rem) {
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__background {
		height: clamp(27rem, 118vw, 36rem) !important;
		overflow: hidden;
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero__background
		> :is(
			.beauty-studio-core-hero__image,
			.beauty-studio-core-placeholder
		) {
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		object-fit: var(--beauty-core-hero-image-fit, contain) !important;
		object-position: var(--beauty-core-hero-image-position, right center) !important;
		transform: none !important;
		transform-origin: var(--beauty-core-hero-image-position, right center);
	}
}

@media (max-width: 23.75rem) {
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__background {
		height: 29rem !important;
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero__background
		> :is(
			.beauty-studio-core-hero__image,
			.beauty-studio-core-placeholder
		) {
		object-position: var(--beauty-core-hero-image-position, right center) !important;
		transform: none !important;
		transform-origin: var(--beauty-core-hero-image-position, right center);
	}
}

/* ========================================================================
   LUNEA MOBILE HERO — TRUE BACKGROUND OVERLAY FIX
   The image now sits behind the complete mobile hero content.
   ======================================================================== */

@media (max-width: 47.9375rem) {
	.elementor-element.elementor-element-233b19f {
		position: relative !important;
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
		overflow: hidden !important;
	}

	.beauty-studio-core-hero.beauty-studio-core-hero--immersive {
		position: relative !important;
		display: block !important;
		isolation: isolate;
		width: 100% !important;
		min-height: clamp(45rem, 176vw, 53rem) !important;
		overflow: hidden !important;
		background: #f7f1ea !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__background {
		position: absolute !important;
		inset: 0 !important;
		z-index: 0 !important;
		display: block !important;
		order: initial !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		margin: 0 !important;
		overflow: hidden !important;
		pointer-events: none;
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero__background
		> :is(
			.beauty-studio-core-hero__image,
			.beauty-studio-core-placeholder
		) {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		aspect-ratio: auto !important;
		object-fit: var(--beauty-core-hero-image-fit, contain) !important;
		object-position: var(--beauty-core-hero-image-position, right center) !important;
		opacity: 1 !important;
		filter: saturate(0.9) contrast(1.01) brightness(1.04) !important;
		transform: none !important;
		transform-origin: var(--beauty-core-hero-image-position, right center) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__veil {
		position: absolute !important;
		inset: 0 !important;
		z-index: 1 !important;
		display: block !important;
		pointer-events: none;
		background:
			linear-gradient(
				180deg,
				rgba(250, 247, 243, 0.98) 0%,
				rgba(250, 247, 243, 0.96) 15%,
				rgba(250, 247, 243, 0.90) 34%,
				rgba(250, 247, 243, 0.77) 56%,
				rgba(250, 247, 243, 0.57) 74%,
				rgba(250, 247, 243, 0.42) 100%
			),
			linear-gradient(
				90deg,
				rgba(250, 247, 243, 0.40) 0%,
				rgba(250, 247, 243, 0.18) 58%,
				rgba(250, 247, 243, 0.04) 100%
			) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		position: relative !important;
		z-index: 2 !important;
		display: flex !important;
		order: initial !important;
		width: 100% !important;
		min-height: clamp(45rem, 176vw, 53rem) !important;
		align-items: flex-start !important;
		margin: 0 !important;
		padding:
			clamp(3.2rem, 12vw, 4.4rem)
			1.25rem
			clamp(3.75rem, 14vw, 5rem) !important;
		background: transparent !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__content {
		position: relative !important;
		z-index: 3 !important;
		width: 100% !important;
		max-width: 31rem !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__kicker-row {
		margin-bottom: 1.35rem !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__heading {
		max-width: 8.8ch !important;
		font-size: clamp(3.2rem, 15vw, 4.75rem) !important;
		line-height: 0.91 !important;
		letter-spacing: -0.054em !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-lede {
		max-width: 28rem !important;
		margin-top: 1.45rem !important;
		color: rgba(31, 25, 22, 0.78) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.75rem !important;
		margin-top: 1.7rem !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-button {
		width: 100% !important;
		background-clip: padding-box;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-button--outline {
		background: rgba(255, 253, 250, 0.66) !important;
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-note {
		max-width: 28rem !important;
		color: rgba(31, 25, 22, 0.62) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero-features,
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__accent {
		display: none !important;
	}
}

@media (max-width: 23.75rem) {
	.beauty-studio-core-hero.beauty-studio-core-hero--immersive,
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		min-height: 46rem !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		padding:
			3rem
			1rem
			3.5rem !important;
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero__background
		> :is(
			.beauty-studio-core-hero__image,
			.beauty-studio-core-placeholder
		) {
		object-position: var(--beauty-core-hero-image-position, right center) !important;
		transform: none !important;
		transform-origin: var(--beauty-core-hero-image-position, right center) !important;
	}
}

/* ========================================================================
   LUNEA HEADER — PREMIUM SHADOW TRANSITION
   Adds a soft visual separation between the navigation and hero.
   ======================================================================== */

.site-header,
#masthead,
header.site-header {
	position: relative;
	z-index: 120;
	background: rgba(255, 253, 250, 0.97);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(112, 70, 53, 0.08);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.85),
		0 8px 22px rgba(49, 31, 22, 0.07),
		0 18px 46px rgba(49, 31, 22, 0.05);
}

.site-header::after,
#masthead::after,
header.site-header::after {
	position: absolute;
	right: 0;
	bottom: -1.15rem;
	left: 0;
	height: 1.15rem;
	background: linear-gradient(
		180deg,
		rgba(55, 34, 22, 0.055) 0%,
		rgba(55, 34, 22, 0.018) 42%,
		rgba(55, 34, 22, 0) 100%
	);
	content: "";
	pointer-events: none;
}

@media (max-width: 47.9375rem) {
	.site-header,
	#masthead,
	header.site-header {
		box-shadow:
			0 1px 0 rgba(112, 70, 53, 0.09),
			0 8px 20px rgba(49, 31, 22, 0.07);
	}

	.site-header::after,
	#masthead::after,
	header.site-header::after {
		bottom: -0.85rem;
		height: 0.85rem;
	}
}

/* ========================================================================
   LUNEA MOBILE HERO — IMAGE VISIBILITY BALANCE
   Makes the treatment photo more visible while keeping text readable.
   ======================================================================== */

@media (max-width: 47.9375rem) {
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__veil {
		background:
			linear-gradient(
				180deg,
				rgba(250, 247, 243, 0.90) 0%,
				rgba(250, 247, 243, 0.84) 16%,
				rgba(250, 247, 243, 0.70) 35%,
				rgba(250, 247, 243, 0.54) 56%,
				rgba(250, 247, 243, 0.35) 75%,
				rgba(250, 247, 243, 0.22) 100%
			),
			linear-gradient(
				90deg,
				rgba(250, 247, 243, 0.26) 0%,
				rgba(250, 247, 243, 0.10) 60%,
				rgba(250, 247, 243, 0.02) 100%
			) !important;
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero__background
		> :is(
			.beauty-studio-core-hero__image,
			.beauty-studio-core-placeholder
		) {
		filter: saturate(0.96) contrast(1.03) brightness(1.01) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-eyebrow,
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__edition {
		color: rgba(117, 73, 54, 0.82) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__heading {
		color: rgba(28, 25, 23, 0.93) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-lede {
		color: rgba(31, 25, 22, 0.72) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-note {
		color: rgba(31, 25, 22, 0.55) !important;
	}
}

@media (max-width: 23.75rem) {
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__veil {
		background:
			linear-gradient(
				180deg,
				rgba(250, 247, 243, 0.92) 0%,
				rgba(250, 247, 243, 0.84) 18%,
				rgba(250, 247, 243, 0.68) 38%,
				rgba(250, 247, 243, 0.48) 60%,
				rgba(250, 247, 243, 0.28) 82%,
				rgba(250, 247, 243, 0.18) 100%
			) !important;
	}
}

/* ========================================================================
   LUNEA CONSULTATION FORM — STATUS NOTICES
   ======================================================================== */

.beauty-studio-core-form-status {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.95rem;
	align-items: start;
	padding: clamp(1.1rem, 2vw, 1.4rem);
	margin: 0 0 clamp(1.4rem, 2.5vw, 2rem);
	border: 1px solid rgba(112, 70, 53, 0.16);
	background: rgba(250, 247, 243, 0.94);
	box-shadow:
		0 1rem 2.8rem rgba(49, 31, 22, 0.07),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);
	color: #2d241f;
}

.beauty-studio-core-form-status__mark {
	position: relative;
	display: grid;
	width: 2.15rem;
	height: 2.15rem;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	opacity: 0.82;
}

.beauty-studio-core-form-status__mark::before {
	font-family: var(--beauty-core-font-body, sans-serif);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1;
}

.beauty-studio-core-form-status__copy {
	min-width: 0;
}

.beauty-studio-core-form-status__copy strong {
	display: block;
	margin: 0;
	font-family: var(--beauty-core-font-body, sans-serif);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.105em;
	line-height: 1.35;
	text-transform: uppercase;
}

.beauty-studio-core-form-status__copy p {
	max-width: 34rem;
	margin: 0.35rem 0 0;
	color: rgba(45, 36, 31, 0.68);
	font-size: 0.84rem;
	line-height: 1.62;
}

.beauty-studio-core-form-status--success {
	border-color: rgba(91, 119, 91, 0.22);
	background:
		linear-gradient(135deg, rgba(224, 235, 222, 0.62), rgba(250, 247, 243, 0.96));
	color: #4f6d53;
}

.beauty-studio-core-form-status--success
	.beauty-studio-core-form-status__mark::before {
	content: "✓";
}

.beauty-studio-core-form-status--warning {
	border-color: rgba(169, 119, 76, 0.25);
	background:
		linear-gradient(135deg, rgba(242, 225, 205, 0.68), rgba(250, 247, 243, 0.96));
	color: #8a5d39;
}

.beauty-studio-core-form-status--warning
	.beauty-studio-core-form-status__mark::before {
	content: "!";
}

.beauty-studio-core-form-status--error {
	border-color: rgba(150, 84, 70, 0.22);
	background:
		linear-gradient(135deg, rgba(239, 216, 209, 0.66), rgba(250, 247, 243, 0.96));
	color: #8d5147;
}

.beauty-studio-core-form-status--error
	.beauty-studio-core-form-status__mark::before {
	content: "×";
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-form-status {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 0.8rem;
		padding: 1rem;
	}

	.beauty-studio-core-form-status__mark {
		width: 1.9rem;
		height: 1.9rem;
	}

	.beauty-studio-core-form-status__copy p {
		font-size: 0.81rem;
	}
}

/* ========================================================================
   LUNEA CONSULTATION FORM — FIELD VALIDATION
   ======================================================================== */

.beauty-studio-core-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.beauty-studio-core-field--invalid > input,
.beauty-studio-core-field--invalid > select,
.beauty-studio-core-field--invalid > textarea,
.beauty-studio-core-field--invalid .beauty-studio-core-choice {
	border-color: rgba(151, 82, 67, 0.72) !important;
	background: rgba(245, 228, 222, 0.42) !important;
}

.beauty-studio-core-field--invalid > span:first-child,
.beauty-studio-core-field--invalid > legend {
	color: #8d5147 !important;
}

.beauty-studio-core-field-error {
	display: block;
	grid-column: 1 / -1;
	margin-top: 0.45rem;
	color: #8d5147;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 1.45;
}

.beauty-studio-core-demo-form button[aria-busy="true"] {
	cursor: wait;
	opacity: 0.76;
}

.beauty-studio-core-demo-form input[aria-invalid="true"],
.beauty-studio-core-demo-form select[aria-invalid="true"],
.beauty-studio-core-demo-form textarea[aria-invalid="true"] {
	outline: 2px solid rgba(151, 82, 67, 0.16);
	outline-offset: 2px;
}

/* Consultation form — premium service interest cards */
.beauty-studio-core-demo-form__choices {
	margin: 0;
	padding: 0;
	border: 0;
}

.beauty-studio-core-demo-form__choices legend {
	width: 100%;
	margin: 0 0 1rem;
	padding: 0;
	color: var(--beauty-color-accent-dark);
	font-family: var(--beauty-font-body);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.35;
	text-transform: uppercase;
}

.beauty-studio-core-demo-form__choice-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.65rem;
	width: 100%;
}

.beauty-studio-core-choice {
	position: relative;
	display: block;
	min-width: 0;
	margin: 0;
	padding: 0;
	cursor: pointer;
}

.beauty-studio-core-choice input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.beauty-studio-core-choice__surface {
	position: relative;
	display: flex;
	min-height: 7.2rem;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 0.72rem;
	padding: 1rem 0.75rem;
	border: 1px solid var(--beauty-color-border);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.5), transparent 48%),
		var(--beauty-color-surface);
	color: var(--beauty-color-text);
	text-align: center;
	transition:
		border-color var(--beauty-transition),
		background-color var(--beauty-transition),
		box-shadow var(--beauty-transition),
		color var(--beauty-transition),
		transform var(--beauty-transition);
}

.beauty-studio-core-choice__surface::before {
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	width: 0.48rem;
	height: 0.48rem;
	border: 1px solid var(--beauty-color-border);
	border-radius: 50%;
	background: transparent;
	content: "";
	transition:
		border-color var(--beauty-transition),
		background-color var(--beauty-transition),
		box-shadow var(--beauty-transition);
}

.beauty-studio-core-choice__icon {
	display: inline-flex;
	width: 2.1rem;
	height: 2.1rem;
	align-items: center;
	justify-content: center;
	color: var(--beauty-color-accent-dark);
}

.beauty-studio-core-choice__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.25;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.beauty-studio-core-choice__label {
	display: block;
	color: inherit;
	font-family: var(--beauty-font-body);
	font-size: clamp(0.68rem, 0.62rem + 0.12vw, 0.76rem);
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 1.35;
	text-wrap: balance;
}

.beauty-studio-core-choice:hover .beauty-studio-core-choice__surface {
	border-color: color-mix(in srgb, var(--beauty-color-accent-dark) 45%, var(--beauty-color-border));
	background-color: color-mix(in srgb, var(--beauty-color-surface) 88%, var(--beauty-color-background));
	box-shadow: 0 0.8rem 2rem rgba(66, 42, 31, 0.07);
	transform: translateY(-2px);
}

.beauty-studio-core-choice input:focus-visible + .beauty-studio-core-choice__surface {
	outline: 2px solid var(--beauty-color-accent-dark);
	outline-offset: 3px;
}

.beauty-studio-core-choice input:checked + .beauty-studio-core-choice__surface {
	border-color: var(--beauty-color-accent-dark);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.62), transparent 54%),
		color-mix(in srgb, var(--beauty-color-accent) 7%, var(--beauty-color-surface));
	box-shadow:
		inset 0 0 0 1px color-mix(in srgb, var(--beauty-color-accent-dark) 18%, transparent),
		0 0.9rem 2.2rem rgba(66, 42, 31, 0.08);
	color: var(--beauty-color-accent-dark);
}

.beauty-studio-core-choice input:checked + .beauty-studio-core-choice__surface::before {
	border-color: var(--beauty-color-accent-dark);
	background: var(--beauty-color-accent-dark);
	box-shadow: inset 0 0 0 2px var(--beauty-color-surface);
}

.beauty-studio-core-field--invalid .beauty-studio-core-choice__surface,
.beauty-studio-core-demo-form__choices.beauty-studio-core-field--invalid .beauty-studio-core-choice__surface {
	border-color: #b76848;
}

@media (max-width: 980px) {
	.beauty-studio-core-demo-form__choice-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.beauty-studio-core-demo-form__choice-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.beauty-studio-core-choice__surface {
		min-height: 6.6rem;
		padding: 0.9rem 0.65rem;
	}
}

@media (max-width: 390px) {
	.beauty-studio-core-demo-form__choice-grid {
		grid-template-columns: 1fr;
	}

	.beauty-studio-core-choice__surface {
		min-height: 5.5rem;
		flex-direction: row;
		justify-content: flex-start;
		padding-inline: 1rem;
		text-align: left;
	}

	.beauty-studio-core-choice__surface::before {
		top: 50%;
		right: 1rem;
		left: auto;
		transform: translateY(-50%);
	}
}

/* Consultation form — refined service cards override */
.beauty-studio-core-demo-form__choice-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 0.75rem !important;
	width: 100% !important;
}

.beauty-studio-core-choice {
	position: relative !important;
	display: block !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

.beauty-studio-core-choice:nth-child(5) {
	grid-column: 1 / -1 !important;
}

.beauty-studio-core-choice > input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.beauty-studio-core-choice > span,
.beauty-studio-core-choice > span::before,
.beauty-studio-core-choice > span::after {
	box-sizing: border-box !important;
}

.beauty-studio-core-choice > span::before,
.beauty-studio-core-choice > span::after,
.beauty-studio-core-choice .beauty-studio-core-choice__icon::before,
.beauty-studio-core-choice .beauty-studio-core-choice__icon::after,
.beauty-studio-core-choice .beauty-studio-core-choice__label::before,
.beauty-studio-core-choice .beauty-studio-core-choice__label::after {
	display: none !important;
	content: none !important;
}

.beauty-studio-core-choice__surface {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 2.55rem minmax(0, 1fr) 0.8rem !important;
	min-height: 5.6rem !important;
	align-items: center !important;
	gap: 0.95rem !important;
	padding: 1rem 1.05rem !important;
	border: 1px solid color-mix(in srgb, var(--beauty-color-border) 88%, transparent) !important;
	background: rgba(255, 253, 249, 0.72) !important;
	box-shadow: none !important;
	color: var(--beauty-color-text) !important;
	text-align: left !important;
	transform: none !important;
	transition:
		border-color var(--beauty-transition),
		background-color var(--beauty-transition),
		box-shadow var(--beauty-transition),
		transform var(--beauty-transition) !important;
}

.beauty-studio-core-choice__surface::after {
	position: static !important;
	display: block !important;
	width: 0.62rem !important;
	height: 0.62rem !important;
	border: 1px solid color-mix(in srgb, var(--beauty-color-accent-dark) 55%, var(--beauty-color-border)) !important;
	border-radius: 50% !important;
	background: transparent !important;
	content: "" !important;
}

.beauty-studio-core-choice__icon {
	display: inline-flex !important;
	width: 2.55rem !important;
	height: 2.55rem !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid color-mix(in srgb, var(--beauty-color-accent-dark) 22%, var(--beauty-color-border)) !important;
	border-radius: 50% !important;
	background: color-mix(in srgb, var(--beauty-color-surface) 88%, var(--beauty-color-background)) !important;
	color: var(--beauty-color-accent-dark) !important;
}

.beauty-studio-core-choice__icon svg {
	display: block !important;
	width: 1.35rem !important;
	height: 1.35rem !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.35 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.beauty-studio-core-choice__label {
	display: block !important;
	min-width: 0 !important;
	color: inherit !important;
	font-family: var(--beauty-font-body) !important;
	font-size: 0.76rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.055em !important;
	line-height: 1.35 !important;
	text-align: left !important;
	text-transform: uppercase !important;
	text-wrap: balance !important;
}

.beauty-studio-core-choice:hover .beauty-studio-core-choice__surface {
	border-color: color-mix(in srgb, var(--beauty-color-accent-dark) 52%, var(--beauty-color-border)) !important;
	background: var(--beauty-color-surface) !important;
	box-shadow: 0 0.7rem 1.8rem rgba(70, 45, 32, 0.07) !important;
	transform: translateY(-1px) !important;
}

.beauty-studio-core-choice > input:focus-visible + .beauty-studio-core-choice__surface {
	outline: 2px solid color-mix(in srgb, var(--beauty-color-accent-dark) 75%, transparent) !important;
	outline-offset: 3px !important;
}

.beauty-studio-core-choice > input:checked + .beauty-studio-core-choice__surface {
	border-color: var(--beauty-color-accent-dark) !important;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--beauty-color-accent) 7%, transparent), transparent 62%),
		var(--beauty-color-surface) !important;
	box-shadow:
		inset 3px 0 0 var(--beauty-color-accent-dark),
		0 0.8rem 2rem rgba(70, 45, 32, 0.08) !important;
	color: var(--beauty-color-accent-dark) !important;
}

.beauty-studio-core-choice > input:checked + .beauty-studio-core-choice__surface::after {
	border-color: var(--beauty-color-accent-dark) !important;
	background: var(--beauty-color-accent-dark) !important;
	box-shadow: inset 0 0 0 2px var(--beauty-color-surface) !important;
}

.beauty-studio-core-choice > input:checked + .beauty-studio-core-choice__surface .beauty-studio-core-choice__icon {
	border-color: color-mix(in srgb, var(--beauty-color-accent-dark) 42%, var(--beauty-color-border)) !important;
	background: color-mix(in srgb, var(--beauty-color-accent) 10%, var(--beauty-color-surface)) !important;
}

.beauty-studio-core-demo-form__choices.beauty-studio-core-field--invalid .beauty-studio-core-choice__surface {
	border-color: #b76848 !important;
}

@media (max-width: 640px) {
	.beauty-studio-core-demo-form__choice-grid {
		grid-template-columns: 1fr !important;
	}

	.beauty-studio-core-choice:nth-child(5) {
		grid-column: auto !important;
	}

	.beauty-studio-core-choice__surface {
		min-height: 5.25rem !important;
		padding: 0.9rem 0.95rem !important;
	}
}



/* Consultation service icons — optical centering fix */
.beauty-studio-core-choice__icon {
	position: relative !important;
	display: inline-grid !important;
	place-items: center !important;
	line-height: 0 !important;
}

.beauty-studio-core-choice__icon svg {
	display: block !important;
	width: 1.28rem !important;
	height: 1.28rem !important;
	margin: 0 !important;
	overflow: visible !important;
	transform: none !important;
	transform-origin: center !important;
}

.beauty-studio-core-choice__icon svg > * {
	vector-effect: non-scaling-stroke;
}

/* Beauty Hero image rendering controls. */
.beauty-studio-core-hero--image-fit-cover {
	--beauty-core-hero-image-fit: cover;
}

.beauty-studio-core-hero--image-fit-contain {
	--beauty-core-hero-image-fit: contain;
}

.beauty-studio-core-hero--image-position-center-center {
	--beauty-core-hero-image-position: center center;
}

.beauty-studio-core-hero--image-position-center-right {
	--beauty-core-hero-image-position: right center;
}

.beauty-studio-core-hero--image-position-center-left {
	--beauty-core-hero-image-position: left center;
}

.beauty-studio-core-hero--image-position-top-center {
	--beauty-core-hero-image-position: center top;
}

.beauty-studio-core-hero.beauty-studio-core-hero--immersive {
	min-height: var(--beauty-core-hero-min-height, clamp(46rem, calc(100svh - 4.75rem), 59rem)) !important;
}

.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
	min-height: var(--beauty-core-hero-min-height, clamp(46rem, calc(100svh - 4.75rem), 59rem)) !important;
}

.beauty-studio-core-hero--immersive
	.beauty-studio-core-hero__background
	> :is(
		.beauty-studio-core-hero__image,
		.beauty-studio-core-placeholder
	) {
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	object-fit: var(--beauty-core-hero-image-fit, contain) !important;
	object-position: var(--beauty-core-hero-image-position, right center) !important;
	transform: none !important;
	transform-origin: var(--beauty-core-hero-image-position, right center) !important;
}

@media (max-width: 63.9375rem) {
	.beauty-studio-core-hero.beauty-studio-core-hero--immersive,
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		min-height: var(--beauty-core-hero-min-height-tablet, var(--beauty-core-hero-min-height, 52rem)) !important;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-hero.beauty-studio-core-hero--immersive,
	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__inner {
		min-height: var(--beauty-core-hero-min-height-mobile, clamp(45rem, 176vw, 53rem)) !important;
	}

	.beauty-studio-core-hero--immersive .beauty-studio-core-hero__background {
		height: 100% !important;
		min-height: 100% !important;
	}

	.beauty-studio-core-hero--immersive
		.beauty-studio-core-hero__background
		> :is(
			.beauty-studio-core-hero__image,
			.beauty-studio-core-placeholder
		) {
		object-fit: var(--beauty-core-hero-image-fit, contain) !important;
		object-position: var(--beauty-core-hero-image-position, right center) !important;
		transform: none !important;
		transform-origin: var(--beauty-core-hero-image-position, right center) !important;
	}
}


/* ==========================================================================
   FINAL RESPONSIVE QA — TESTIMONIALS
   Mobile/tablet-only repair. Desktop layout remains unchanged.
   ========================================================================== */

@media (max-width: 63.9375rem) {
	.beauty-studio-core-testimonials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0 !important;
		border-top: 1px solid var(--beauty-color-border);
		border-left: 1px solid var(--beauty-color-border);
	}

	.beauty-studio-core-testimonial,
	.beauty-studio-core-testimonial:first-child,
	.beauty-studio-core-testimonial:nth-child(2) {
		grid-column: auto !important;
		min-width: 0 !important;
		min-height: 0 !important;
		padding: clamp(2rem, 4vw, 2.75rem) !important;
		border-top: 0 !important;
		border-right: 1px solid var(--beauty-color-border) !important;
		border-bottom: 1px solid var(--beauty-color-border) !important;
	}

	.beauty-studio-core-testimonial:first-child {
		grid-column: 1 / -1 !important;
	}

	.beauty-studio-core-testimonial blockquote,
	.beauty-studio-core-testimonial:first-child blockquote {
		max-width: 28ch !important;
		padding-right: clamp(2rem, 5vw, 3rem) !important;
		font-size: clamp(1.7rem, 3.4vw, 2.35rem) !important;
		line-height: 1.08 !important;
		text-wrap: pretty !important;
	}

	.beauty-studio-core-testimonial::before {
		top: clamp(1.6rem, 3vw, 2.2rem) !important;
		right: clamp(1.5rem, 3vw, 2.25rem) !important;
		font-size: clamp(3rem, 7vw, 4.5rem) !important;
	}

	.beauty-studio-core-testimonial figcaption {
		margin-top: clamp(1.75rem, 4vw, 2.5rem) !important;
		padding-top: 1.25rem !important;
		border-top: 1px solid var(--beauty-core-line) !important;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-testimonials {
		padding-top: clamp(4.5rem, 14vw, 6rem) !important;
		padding-bottom: clamp(4.5rem, 14vw, 6rem) !important;
	}

	.beauty-studio-core-testimonials__grid {
		grid-template-columns: 1fr !important;
		gap: 0 !important;
		border-left: 0 !important;
	}

	.beauty-studio-core-testimonial,
	.beauty-studio-core-testimonial:first-child,
	.beauty-studio-core-testimonial:nth-child(2) {
		grid-column: auto !important;
		display: flex !important;
		min-width: 0 !important;
		min-height: 0 !important;
		gap: 1.35rem !important;
		padding: 2.35rem 0 2.5rem !important;
		border-top: 0 !important;
		border-right: 0 !important;
		border-bottom: 1px solid var(--beauty-color-border) !important;
	}

	.beauty-studio-core-testimonial:first-child {
		grid-column: auto !important;
		padding-top: 1.75rem !important;
	}

	.beauty-studio-core-testimonial:last-child {
		border-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	.beauty-studio-core-testimonial blockquote,
	.beauty-studio-core-testimonial:first-child blockquote {
		max-width: 18ch !important;
		margin: 0 !important;
		padding: 0 2.25rem 0 0 !important;
		font-size: clamp(1.78rem, 8.2vw, 2.35rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.045em !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
		hyphens: none !important;
		text-wrap: pretty !important;
	}

	.beauty-studio-core-testimonial::before {
		top: 1.8rem !important;
		right: 0 !important;
		font-size: 3.35rem !important;
		line-height: 0.6 !important;
	}

	.beauty-studio-core-testimonial figcaption {
		gap: 0.3rem !important;
		margin-top: 0.4rem !important;
		padding-top: 1.15rem !important;
		border-top: 1px solid var(--beauty-core-line) !important;
		font-size: 0.82rem !important;
	}

	.beauty-studio-core-testimonial small,
	.beauty-studio-core-rating {
		font-size: 0.66rem !important;
		letter-spacing: 0.13em !important;
	}

	.beauty-studio-core-rating {
		order: -1;
		margin-bottom: 0.25rem !important;
	}
}

/* Gallery collection below the page hero. */
.beauty-studio-core-gallery__collection-header {
	display: grid;
	grid-template-columns: minmax(20rem, 0.9fr) minmax(23rem, 1.1fr);
	gap: clamp(2.75rem, 7vw, 7rem);
	align-items: end;
	margin-bottom: clamp(3rem, 5vw, 5.25rem);
}

.beauty-studio-core-gallery__collection-header h2 {
	max-width: 11ch;
	margin: 0;
	font-family: var(--beauty-font-heading);
	font-size: clamp(3rem, 4.4vw, 5.35rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.94;
	text-wrap: balance;
}

.beauty-studio-core-gallery__collection-header > p {
	max-width: 34rem;
	margin: 0;
	color: var(--beauty-color-muted);
	font-size: clamp(0.98rem, 0.94rem + 0.14vw, 1.08rem);
	line-height: 1.75;
}

.beauty-studio-core-gallery__item {
	overflow: hidden;
}

.beauty-studio-core-gallery__image {
	transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1), filter 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

.beauty-studio-core-gallery__item:hover .beauty-studio-core-gallery__image {
	filter: saturate(0.96) contrast(1.015);
	transform: scale(1.018);
}

@media (max-width: 63.9375rem) {
	.beauty-studio-core-gallery__collection-header {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

@media (max-width: 47.9375rem) {
	.beauty-studio-core-gallery__collection-header {
		margin-bottom: 2.75rem;
	}

	.beauty-studio-core-gallery__collection-header h2 {
		font-size: clamp(2.75rem, 13vw, 4.25rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.beauty-studio-core-gallery__image {
		transition: none;
	}

	.beauty-studio-core-gallery__item:hover .beauty-studio-core-gallery__image {
		transform: none;
	}
}

/* ========================================================================== 
   Gallery hero: final seamless editorial composition
   One visual canvas, restrained type, and a soft image-to-copy transition.
   ========================================================================== */
:is(
	.beauty-studio-core-page-hero--gallery,
	body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
) {
	position: relative !important;
	display: block !important;
	min-height: clamp(29rem, 39vw, 35rem) !important;
	padding: 0 max(var(--beauty-core-gutter), calc((100vw - var(--beauty-core-wide)) / 2)) !important;
	overflow: hidden !important;
	border-bottom: 1px solid var(--beauty-core-line) !important;
	background: var(--beauty-color-background) !important;
}

:is(
	.beauty-studio-core-page-hero--gallery,
	body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
) .beauty-studio-core-page-hero__content {
	position: relative !important;
	z-index: 4 !important;
	display: flex !important;
	width: min(100%, 27rem) !important;
	max-width: 27rem !important;
	min-height: inherit !important;
	flex-direction: column !important;
	justify-content: center !important;
	padding: clamp(4rem, 6vw, 5.5rem) 0 !important;
}

:is(
	.beauty-studio-core-page-hero--gallery,
	body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
) .beauty-studio-core-eyebrow {
	margin-bottom: clamp(1rem, 1.6vw, 1.35rem) !important;
	font-size: 0.66rem !important;
	letter-spacing: 0.15em !important;
}

:is(
	.beauty-studio-core-page-hero--gallery,
	body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
) .beauty-studio-core-page-hero__content h1 {
	max-width: 9.7ch !important;
	margin: 0 !important;
	font-size: clamp(3.05rem, 4vw, 4.45rem) !important;
	line-height: 0.94 !important;
	letter-spacing: -0.048em !important;
	text-wrap: balance !important;
}

:is(
	.beauty-studio-core-page-hero--gallery,
	body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
) .beauty-studio-core-lede {
	max-width: 25rem !important;
	margin-top: clamp(1.15rem, 1.8vw, 1.5rem) !important;
	font-size: clamp(0.88rem, 0.86rem + 0.08vw, 0.96rem) !important;
	line-height: 1.68 !important;
}

:is(
	.beauty-studio-core-page-hero--gallery,
	body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
) .beauty-studio-core-page-hero__media {
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

:is(
	.beauty-studio-core-page-hero--gallery,
	body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
) .beauty-studio-core-page-hero__image,
:is(
	.beauty-studio-core-page-hero--gallery,
	body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
) .beauty-studio-core-page-hero__media > .beauty-studio-core-placeholder {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	object-position: center right !important;
	border: 0 !important;
	box-shadow: none !important;
	filter: saturate(0.94) contrast(1.01) !important;
}

:is(
	.beauty-studio-core-page-hero--gallery,
	body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
) .beauty-studio-core-page-hero__media::before {
	position: absolute !important;
	inset: 0 !important;
	z-index: 2 !important;
	display: block !important;
	background:
		linear-gradient(
			90deg,
			var(--beauty-color-background) 0%,
			rgba(250, 247, 243, 0.99) 24%,
			rgba(250, 247, 243, 0.95) 34%,
			rgba(250, 247, 243, 0.74) 44%,
			rgba(250, 247, 243, 0.38) 55%,
			rgba(250, 247, 243, 0.12) 65%,
			transparent 74%
		),
		linear-gradient(
			180deg,
			rgba(250, 247, 243, 0.06) 0%,
			transparent 24%,
			transparent 76%,
			rgba(250, 247, 243, 0.08) 100%
		) !important;
	content: "" !important;
	pointer-events: none !important;
}

.beauty-studio-core-page-hero--gallery .beauty-studio-core-page-hero__gallery-veil {
	display: none !important;
}

@media (max-width: 63.9375rem) {
	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) {
		min-height: clamp(27rem, 52vw, 33rem) !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__content {
		width: min(100%, 24rem) !important;
		max-width: 24rem !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__content h1 {
		font-size: clamp(2.85rem, 6vw, 3.9rem) !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__media::before {
		background: linear-gradient(
			90deg,
			var(--beauty-color-background) 0%,
			rgba(250, 247, 243, 0.98) 29%,
			rgba(250, 247, 243, 0.8) 43%,
			rgba(250, 247, 243, 0.34) 58%,
			transparent 72%
		) !important;
	}
}

@media (max-width: 47.9375rem) {
	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) {
		display: flex !important;
		min-height: 0 !important;
		flex-direction: column !important;
		padding: 0 !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__content {
		width: 100% !important;
		max-width: none !important;
		min-height: 0 !important;
		padding: 3.5rem var(--beauty-core-gutter) 2.75rem !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__content h1 {
		max-width: 9.5ch !important;
		font-size: clamp(2.8rem, 12vw, 3.9rem) !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__media {
		position: relative !important;
		inset: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: clamp(21rem, 88vw, 29rem) !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery) .beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__media::before {
		background: linear-gradient(
			180deg,
			var(--beauty-color-background) 0%,
			rgba(250, 247, 243, 0.72) 12%,
			rgba(250, 247, 243, 0.2) 28%,
			transparent 46%
		) !important;
	}
}

/* ==========================================================================
   GALLERY HERO — FINAL MOBILE FLOW FIX
   Keeps the approved desktop composition and removes the reserved empty
   media height on phones.
   ========================================================================== */
@media (max-width: 47.9375rem) {
	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) {
		display: flex !important;
		height: auto !important;
		min-height: 0 !important;
		flex-direction: column !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__content {
		width: 100% !important;
		max-width: none !important;
		min-height: 0 !important;
		flex: 0 0 auto !important;
		padding: 2.85rem var(--beauty-core-gutter) 2.25rem !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-eyebrow {
		margin-bottom: 1.15rem !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__content h1 {
		max-width: 9.15ch !important;
		font-size: clamp(2.65rem, 11.25vw, 3.45rem) !important;
		line-height: 0.94 !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-lede {
		max-width: 31rem !important;
		margin-top: 1.25rem !important;
		font-size: 0.93rem !important;
		line-height: 1.68 !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__media {
		position: relative !important;
		inset: auto !important;
		display: block !important;
		width: calc(100% - (var(--beauty-core-gutter) * 2)) !important;
		max-width: none !important;
		height: clamp(13.5rem, 58vw, 18rem) !important;
		min-height: 0 !important;
		flex: 0 0 auto !important;
		margin: 0 var(--beauty-core-gutter) 3.75rem !important;
		overflow: hidden !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__image,
	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__media > .beauty-studio-core-placeholder {
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		aspect-ratio: auto !important;
		object-fit: cover !important;
		object-position: 72% center !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__media::before {
		background:
			linear-gradient(
				180deg,
				var(--beauty-color-background) 0%,
				rgba(250, 247, 243, 0.5) 10%,
				rgba(250, 247, 243, 0.12) 23%,
				transparent 40%
			) !important;
	}
}

/* ==========================================================================
   GALLERY HERO — MOBILE BOTTOM GAP HARD FIX
   Removes the remaining reserved space below the hero image.
   ========================================================================== */
@media (max-width: 47.9375rem) {
	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	:is(
		.beauty-studio-core-page-hero--gallery,
		body:has(.beauty-studio-core-gallery)
			.beauty-studio-core-page-hero:has(.beauty-studio-core-page-hero__media)
	) .beauty-studio-core-page-hero__media {
		margin: 0 var(--beauty-core-gutter) 0 !important;
	}

	.elementor-element:has(
		> .elementor-widget-container
		> .beauty-studio-core-page-hero--gallery
	),
	.elementor-element:has(
		.beauty-studio-core-page-hero--gallery
	) {
		min-height: 0 !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	.elementor-element:has(.beauty-studio-core-page-hero--gallery)
		+ .elementor-element {
		margin-top: 0 !important;
	}
}

/* ==========================================================================
   GALLERY PAGE — RELEASE RHYTHM PASS
   Final spacing and mobile typography refinements. Hero remains untouched.
   ========================================================================== */

/* Desktop / tablet collection intro */
.beauty-studio-core-gallery {
	padding-top: clamp(4.75rem, 6.5vw, 6.75rem) !important;
	padding-bottom: clamp(4.75rem, 6.5vw, 6.75rem) !important;
}

.beauty-studio-core-gallery__collection-header {
	margin-bottom: clamp(2.4rem, 4vw, 3.75rem) !important;
}

.beauty-studio-core-gallery__collection-header h2 {
	max-width: 9.75ch !important;
	font-size: clamp(2.85rem, 3.7vw, 4.65rem) !important;
	line-height: 0.94 !important;
}

.beauty-studio-core-gallery__collection-header > p {
	max-width: 29rem !important;
	align-self: end !important;
	margin-bottom: 0.35rem !important;
	font-size: clamp(0.92rem, 0.9rem + 0.08vw, 1rem) !important;
	line-height: 1.68 !important;
}

/* Keep the image wall closer to the intro and footer */
.beauty-studio-core-gallery__grid {
	margin-top: 0 !important;
}

.elementor-element:has(.beauty-studio-core-gallery)
	+ .elementor-element:has(.beauty-studio-core-cta) {
	margin-top: 0 !important;
}

/* Tablet */
@media (max-width: 63.9375rem) {
	.beauty-studio-core-gallery {
		padding-top: 4.75rem !important;
		padding-bottom: 5rem !important;
	}

	.beauty-studio-core-gallery__collection-header {
		gap: 1.15rem !important;
		margin-bottom: 2.5rem !important;
	}

	.beauty-studio-core-gallery__collection-header h2 {
		max-width: 10.5ch !important;
		font-size: clamp(2.8rem, 6.2vw, 4rem) !important;
	}

	.beauty-studio-core-gallery__collection-header > p {
		max-width: 32rem !important;
		margin: 0 !important;
	}
}

/* Mobile */
@media (max-width: 47.9375rem) {
	.beauty-studio-core-gallery {
		padding-top: 3.5rem !important;
		padding-bottom: 3.75rem !important;
	}

	.beauty-studio-core-gallery__collection-header {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		margin-bottom: 1.75rem !important;
	}

	.beauty-studio-core-gallery__collection-header .beauty-studio-core-eyebrow {
		margin-bottom: 0.9rem !important;
	}

	.beauty-studio-core-gallery__collection-header h2 {
		max-width: 8.85ch !important;
		font-size: clamp(2.55rem, 11.6vw, 3.35rem) !important;
		line-height: 0.93 !important;
		letter-spacing: -0.045em !important;
	}

	.beauty-studio-core-gallery__collection-header > p {
		max-width: 100% !important;
		margin: 0 !important;
		font-size: 0.91rem !important;
		line-height: 1.62 !important;
	}

	.beauty-studio-core-gallery__grid {
		gap: 0.65rem !important;
	}

	.beauty-studio-core-gallery__item {
		margin: 0 !important;
	}

	/* Keep the footer visually attached to the gallery wall */
	.site-footer {
		margin-top: 0 !important;
	}

	.elementor-element:has(.beauty-studio-core-gallery) {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
}

