/* Header transparent styling controlled by global.css */
.treatments-header .nav-link { position: relative; display: inline-block; font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.treatments-header .nav-link::after { position: absolute; right: 0; bottom: -.45rem; left: 0; height: 1px; background: var(--color-gold); content: ""; transform: scaleX(0); transform-origin: right; transition: transform 220ms ease; }
.treatments-header .nav-link:hover::after, .treatments-header .nav-link[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }

.section-lotus { width: 2.6rem; height: 2.6rem; margin-inline: auto; border-radius: 0; }
.section-eyebrow { color: var(--color-gold); font-size: .68rem; font-weight: 700; letter-spacing: .21em; text-transform: uppercase; }

.treatments-hero { position: relative; isolation: isolate; display: grid; min-height: 100svh; overflow: hidden; place-items: center; color: var(--color-forest); }
.treatments-hero::after { display: none !important; }
.treatments-hero-media { position: absolute; z-index: -2; inset: 0; }
.treatments-hero-media picture { display: contents; }
.treatments-hero-media img { width: 100%; height: 100%; border-radius: 0; object-fit: cover; object-position: center; animation: treatments-hero-enter 1.4s cubic-bezier(.22, 1, .36, 1) both; }
.treatments-hero-content { padding-block: clamp(7rem, 16vh, 10rem) 5rem; text-align: center; }
.treatments-hero-content .section-eyebrow { margin: .75rem 0 0; }
.treatments-hero-content h1 { max-width: none; margin: 1rem auto 0; font-size: clamp(3.25rem, 7vw, 6.2rem); font-weight: 500; letter-spacing: -.025em; line-height: .98; }
.treatments-hero-content h1 span { display: block; }
.treatments-hero-content > p:last-of-type { max-width: 43rem; margin: 1.5rem auto 0; color: var(--color-olive); font-size: clamp(1rem, 1.5vw, 1.12rem); line-height: 1.8; }
.hero-finder-link { display: inline-flex; min-height: 3.15rem; align-items: center; gap: .8rem; margin-top: 2rem; padding: .8rem 1.55rem; border: 1px solid var(--color-forest); border-radius: 999px; background: var(--color-forest); color: var(--color-ivory); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: background-color 240ms ease, transform 240ms ease; }
.hero-finder-link:hover { background: rgb(37 57 43 / 88%); transform: translateY(-2px); }
@keyframes treatments-hero-enter { from { opacity: 0; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }

.treatment-finder-section { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(4.5rem, 8vw, 7.5rem); background: rgb(223 230 210 / 70%); }
.treatment-finder-section::before { position: absolute; z-index: 0; top: -14rem; right: -10rem; width: min(62rem, 76vw); height: min(62rem, 76vw); background: url("../assets/images/home/home-botanical-background.webp") right top / contain no-repeat; content: ""; opacity: .32; pointer-events: none; transform: rotate(12deg); }
.finder-layout { position: relative; z-index: 1; display: grid; align-items: start; gap: clamp(2.5rem, 6vw, 6rem); }
.finder-intro { position: sticky; top: 7rem; text-align: center; }
.finder-intro .section-eyebrow { margin: .7rem 0 0; }
.finder-intro h2 { max-width: 13ch; margin: .85rem auto 0; font-size: clamp(2.4rem, 4.5vw, 4.15rem); font-weight: 500; line-height: 1.02; }
.finder-intro > p { max-width: 34rem; margin: 1.25rem auto 0; color: var(--color-olive); line-height: 1.8; }
.finder-note { display: flex; max-width: 31rem; align-items: flex-start; gap: .8rem; margin: 1.5rem auto 0; padding-top: 1.15rem; border-top: 1px solid rgb(62 80 56 / 18%); color: var(--color-olive); text-align: left; }
.finder-note > span { color: var(--color-gold); }
.finder-note p { margin: 0; font-size: .82rem; line-height: 1.7; }

.treatment-wizard { position: relative; overflow: hidden; padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid rgb(201 167 92 / 46%); border-radius: calc(var(--radius-image) + .35rem); background: rgb(247 243 232 / 86%); box-shadow: 0 24px 58px rgb(37 57 43 / 10%); }
.wizard-progress { margin-bottom: 2rem; }
.wizard-progress-label { display: flex; justify-content: space-between; gap: 1rem; color: var(--color-olive); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.wizard-progress-label span:last-child { color: var(--color-gold); }
.wizard-progress-track { height: 2px; overflow: hidden; margin-top: .75rem; background: rgb(62 80 56 / 14%); }
.wizard-progress-track span { display: block; width: 33.333%; height: 100%; background: var(--color-gold); transition: width 500ms cubic-bezier(.22, 1, .36, 1); }
.wizard-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.wizard-step[hidden], .wizard-results[hidden] { display: none; }
.wizard-step.is-active { animation: wizard-step-enter .55s cubic-bezier(.22, 1, .36, 1) both; }
.wizard-step legend { width: 100%; padding: 0; color: var(--color-forest); font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.35rem); font-weight: 600; line-height: 1.12; }
.wizard-help { margin: .55rem 0 1.35rem; color: var(--color-olive); font-size: .78rem; }
.wizard-options { display: grid; gap: .75rem; }
.wizard-options-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wizard-option { position: relative; display: block; min-width: 0; cursor: pointer; }
.wizard-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.wizard-option > span { position: relative; display: flex; min-height: 4.85rem; flex-direction: column; justify-content: center; padding: .95rem 2.8rem .95rem 1rem; border: 1px solid rgb(62 80 56 / 18%); border-radius: 1rem; background: rgb(255 255 255 / 32%); transition: border-color 250ms ease, background-color 250ms ease, box-shadow 250ms ease, transform 250ms ease; }
.wizard-option > span::after { position: absolute; top: 50%; right: 1rem; display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border: 1px solid rgb(62 80 56 / 30%); border-radius: 50%; color: var(--color-ivory); content: "✓"; font-size: .7rem; transform: translateY(-50%); }
.wizard-option strong { color: var(--color-forest); font-size: .84rem; font-weight: 600; line-height: 1.45; }
.wizard-option small { margin-top: .2rem; color: var(--color-olive); font-size: .68rem; line-height: 1.45; }
.wizard-option:hover > span { border-color: rgb(201 167 92 / 68%); transform: translateY(-1px); }
.wizard-option input:focus-visible + span { outline: 3px solid var(--color-gold); outline-offset: 2px; }
.wizard-option input:checked + span { border-color: var(--color-gold); background: rgb(201 167 92 / 12%); box-shadow: inset 0 0 0 1px rgb(201 167 92 / 20%); }
.wizard-option input:checked + span::after { border-color: var(--color-gold); background: var(--color-gold); }
.wizard-option input:disabled + span { opacity: .48; cursor: not-allowed; }
.wizard-time-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wizard-error { min-height: 1.4rem; margin: .8rem 0 0; color: #8b3b32; font-size: .75rem; font-weight: 600; }
.wizard-actions, .results-actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; margin-top: 1rem; }
.wizard-actions [data-wizard-back] { margin-right: auto; }
.treatment-wizard .button-primary,
.treatment-wizard .button-secondary {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: .7rem 1.2rem;
  border: 1px solid transparent;
  border-radius: .45rem;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}
.treatment-wizard .button-primary {
  border-color: var(--color-gold);
  background: var(--color-gold);
  color: var(--color-forest);
}
.treatment-wizard .button-primary:hover,
.treatment-wizard .button-primary:focus-visible { border-color: #ae8532; background: #ae8532; }
.treatment-wizard .button-secondary {
  border-color: rgb(62 80 56 / 30%);
  background: transparent;
  color: var(--color-olive);
}
.treatment-wizard .button-secondary:hover,
.treatment-wizard .button-secondary:focus-visible { border-color: rgb(62 80 56 / 52%); background: rgb(62 80 56 / 7%); color: var(--color-forest); }
.wizard-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .65rem; padding: .75rem 1.45rem; border-radius: 999px; font-family: var(--font-body); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: background-color 240ms ease, border-color 240ms ease, color 240ms ease, transform 240ms ease; }
.wizard-button:hover { transform: translateY(-2px); }
.wizard-button-next { margin-left: auto; border: 1px solid var(--color-forest); background: var(--color-forest); color: var(--color-ivory); }
.wizard-button-back { border: 1px solid rgb(62 80 56 / 38%); background: transparent; color: var(--color-olive); }
@keyframes wizard-step-enter { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: translateX(0); } }

.wizard-results { animation: results-enter .65s cubic-bezier(.22, 1, .36, 1) both; }
.wizard-results .section-eyebrow { margin: 0; }
.wizard-results h3 { margin: .55rem 0 0; color: var(--color-forest); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; line-height: 1.05; }
.results-lede { margin: .75rem 0 1.5rem; color: var(--color-olive); }
.results-grid { display: grid; gap: .85rem; }
.result-card { position: relative; padding: 1.15rem 1.25rem; border: 1px solid rgb(62 80 56 / 18%); border-radius: 1rem; background: rgb(255 255 255 / 38%); }
.result-card.is-best { border-color: rgb(201 167 92 / 72%); background: rgb(201 167 92 / 10%); }
.result-rank { margin: 0; color: var(--color-gold); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.result-card h4 { margin: .35rem 0 0; color: var(--color-forest); font-family: var(--font-display); font-size: 1.42rem; font-weight: 600; line-height: 1.1; }
.result-card > p:not(.result-rank) { margin: .45rem 0 0; color: var(--color-olive); font-size: .78rem; line-height: 1.5; }
.result-meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: .75rem; color: var(--color-forest); font-size: .72rem; font-weight: 700; }
.result-meta span + span { padding-left: 1rem; border-left: 1px solid rgb(201 167 92 / 48%); color: var(--color-gold); }
.result-links { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .8rem; }
.result-links a { display: inline-flex; min-height: 2.55rem; align-items: center; padding: .55rem 1rem; border: 1px solid var(--color-forest); border-radius: 999px; background: var(--color-forest); color: var(--color-ivory); font-size: .62rem; font-weight: 700; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
@keyframes results-enter { from { opacity: 0; transform: translateY(16px); } }

.treatments-catalogue { position: relative; overflow: hidden; padding-block: clamp(4.5rem, 8vw, 7.5rem); background: var(--color-ivory); }
.catalogue-header { max-width: 48rem; margin: 0 auto clamp(2.5rem, 5vw, 4rem); text-align: center; }
.catalogue-header .section-eyebrow { margin: .7rem 0 0; }
.catalogue-header h2 { margin: .8rem auto 0; font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 500; line-height: 1; }
.catalogue-header > p:last-child { max-width: 38rem; margin: 1.1rem auto 0; color: var(--color-olive); }
.treatments-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.treatment-detail { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgb(201 167 92 / 46%); border-radius: var(--radius-image); background: rgb(247 243 232 / 72%); box-shadow: 0 12px 30px rgb(37 57 43 / 7%); transition: border-color 420ms cubic-bezier(.22, 1, .36, 1), box-shadow 420ms cubic-bezier(.22, 1, .36, 1), transform 420ms cubic-bezier(.22, 1, .36, 1); }
.treatment-detail figure { aspect-ratio: 4 / 3; overflow: hidden; margin: 0; }
.treatment-detail figure img { width: 100%; height: 100%; border-radius: 0; object-fit: cover; transition: transform 480ms cubic-bezier(.22, 1, .36, 1); }
.treatment-detail-body { display: flex; flex: 1; flex-direction: column; padding: 1.35rem; }
.treatment-detail-body > span { color: var(--color-gold); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.treatment-detail h3 { margin: .65rem 0 0; color: var(--color-forest); font-size: 1.8rem; font-weight: 600; line-height: 1.05; }
.treatment-detail-body > p:not(.treatment-caution) { margin: .7rem 0 0; color: var(--color-olive); font-size: .82rem; line-height: 1.65; }
.treatment-detail dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: auto 0 0; padding: 1.25rem 0 .8rem; }
.treatment-detail dl div { position: relative; text-align: center; }
.treatment-detail dl div + div::before { position: absolute; top: 50%; left: 0; width: 1px; height: 1.8rem; background: rgb(201 167 92 / 48%); content: ""; transform: translateY(-50%); }
.treatment-detail dt { color: var(--color-olive); font-size: .58rem; font-weight: 600; text-transform: uppercase; }
.treatment-detail dd { margin: .05rem 0 0; color: var(--color-gold); font-size: .92rem; font-weight: 700; }
.treatment-caution { margin: .8rem 0 0; padding: .7rem; border-left: 2px solid var(--color-gold); background: rgb(201 167 92 / 9%); color: var(--color-olive); font-size: .67rem; line-height: 1.55; }
.treatment-detail-body > a { align-self: center; margin-top: .75rem; color: var(--color-forest); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-decoration-color: var(--color-gold); text-underline-offset: .3rem; text-transform: uppercase; }
@media (hover: hover) and (pointer: fine) { .treatment-detail:hover { border-color: rgb(201 167 92 / 76%); box-shadow: 0 20px 42px rgb(37 57 43 / 12%); transform: translateY(-4px); } .treatment-detail:hover figure img { transform: scale(1.025); } }

.treatments-cta { position: relative; isolation: isolate; display: grid; min-height: 32rem; overflow: hidden; place-items: center; padding-block: 5rem; background: var(--color-forest) url("../assets/images/home/hero-treatment-room.webp") center / cover no-repeat; color: var(--color-ivory); text-align: center; }
.treatments-cta::before { position: absolute; z-index: -1; inset: 0; background: rgb(9 28 17 / 62%); content: ""; }
.treatments-cta .section-eyebrow { margin: .65rem 0 0; }
.treatments-cta h2 { max-width: 16ch; margin: .75rem auto 0; font-size: clamp(2.3rem, 5vw, 4.25rem); font-weight: 500; line-height: 1; text-shadow: 0 2px 18px rgb(0 0 0 / 35%); }
.treatments-cta p:not(.section-eyebrow) { max-width: 36rem; margin: 1rem auto 0; color: rgb(247 243 232 / 82%); }
.treatments-cta div > div { display: flex; flex-wrap: wrap; justify-content: center; gap: .85rem; margin-top: 1.6rem; }
.cta-primary, .cta-secondary { display: inline-flex; min-width: 12rem; min-height: 3rem; align-items: center; justify-content: center; padding: .75rem 1.4rem; border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.cta-primary { border: 1px solid var(--color-gold); background: var(--color-gold); color: var(--color-forest); }
.cta-secondary { border: 1px solid rgb(247 243 232 / 60%); color: var(--color-ivory); }

@media (min-width: 768px) { .finder-layout { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 4vw, 4.5rem); } }
@media (max-width: 1023px) { .treatments-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .finder-intro { position: static; } }
@media (max-width: 767px) {
  .treatments-header .site-container { row-gap: 0; }
  .treatments-header .site-nav ul { border-top: 1px solid rgb(201 167 92 / 28%); }
  .treatments-header .header-booking-button { width: 100%; }
  .treatments-hero { min-height: 100svh; }
  .treatments-hero-media img { object-position: center; }
  .treatments-hero-content { padding-block: 6.5rem 4rem; }
  .treatments-hero-content h1 { font-size: clamp(2.65rem, 12vw, 3.7rem); }
  .treatments-hero-content > p:last-of-type { font-size: .92rem; line-height: 1.7; }
  .hero-desc-more { display: none; }
  .treatment-finder-section::before { top: -8rem; right: -20rem; bottom: -10rem; width: 54rem; height: 54rem; opacity: .23; transform: rotate(12deg); }
  .wizard-options-grid, .wizard-time-options { grid-template-columns: 1fr; }
  .wizard-option > span { min-height: 4.5rem; }
  .treatments-list { grid-template-columns: 1fr; }
  .treatment-detail figure { aspect-ratio: 4 / 3; }
  .treatments-cta { min-height: 30rem; background-image: url("../assets/images/home/hero-treatment-room.webp"); }
}
@media (max-width: 420px) { .treatment-wizard { padding: 1rem; border-radius: var(--radius-image); } .wizard-button { padding-inline: 1.1rem; } .result-links { display: grid; } }
@media (prefers-reduced-motion: reduce) { .treatments-hero-media img, .wizard-step.is-active, .wizard-results { animation: none; } .wizard-progress-track span, .wizard-option > span, .wizard-button, .treatment-detail, .treatment-detail figure img, .hero-finder-link { transition: none; } }
/* Home-aligned typography, spacing, and botanical refinement */
.section-eyebrow { display: flex; align-items: center; justify-content: center; gap: .75rem; color: var(--color-gold); }
.section-eyebrow::before, .section-eyebrow::after { width: 2.4rem; height: 1px; flex: 0 0 auto; background: currentColor; content: ""; opacity: .72; }
.treatments-hero-content h1 { font-size: clamp(3rem, 6vw, 5.75rem); }
.treatment-finder-section, .treatments-catalogue { padding-block: clamp(3.5rem, 6vw, 5.5rem); }
.finder-intro h2, .catalogue-header h2, .treatments-cta h2 { font-size: clamp(1.8rem, 3vw, 2.75rem); line-height: 1.06; }
.finder-intro > p, .catalogue-header > p:last-child { margin-top: 1rem; line-height: 1.7; }
.catalogue-header { margin-bottom: clamp(2rem, 4vw, 3rem); }
.treatments-cta { min-height: 26rem; padding-block: clamp(3.5rem, 6vw, 5rem); }
.treatment-wizard { padding: clamp(1.25rem, 2.5vw, 2rem); }

.treatment-finder-section::after { position: absolute; z-index: 0; bottom: -7rem; left: -10rem; width: min(44rem, 58vw); height: min(44rem, 58vw); background: url("../assets/images/home/home-hero-orchid-ornament.webp") left bottom / contain no-repeat; content: ""; opacity: .11; pointer-events: none; transform: rotate(-5deg); }
.finder-layout { z-index: 1; }
.treatments-catalogue::before { position: absolute; z-index: 0; top: 9rem; right: -12rem; width: min(43rem, 54vw); height: min(43rem, 54vw); background: url("../assets/images/home/home-hero-orchid-ornament.webp") right center / contain no-repeat; content: ""; opacity: .085; pointer-events: none; transform: scaleX(-1) rotate(-6deg); }
.treatments-catalogue .site-container { position: relative; z-index: 1; }

.treatment-summary { min-height: 0; }
.treatment-more { margin-top: .55rem; color: var(--color-olive); font-size: .73rem; }
.treatment-more summary { display: inline-flex; align-items: center; gap: .45rem; color: #9b7837; font-size: .65rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; list-style: none; }
.treatment-more summary::-webkit-details-marker { display: none; }
.treatment-more summary::after { content: "+"; color: var(--color-gold); font-size: .9rem; font-weight: 500; }
.treatment-more[open] summary::after { content: "−"; }
.treatment-more p { margin: .65rem 0 0; color: var(--color-olive); line-height: 1.65; }
.treatment-more summary:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 3px; }

@media (min-width: 1024px) {
  .finder-intro h2, .catalogue-header h2, .treatments-cta h2 { font-size: calc(2.75rem + 6px); }
}
@media (max-width: 767px) {
  .section-eyebrow { gap: .55rem; font-size: .62rem; letter-spacing: .15em; }
  .section-eyebrow::before, .section-eyebrow::after { width: 1.35rem; }
  .treatment-finder-section, .treatments-catalogue { padding-block: 3.5rem; }
  .finder-intro h2, .catalogue-header h2, .treatments-cta h2 { font-size: clamp(1.8rem, 8.5vw, 2.35rem); }
  .treatment-finder-section::after { bottom: -3rem; left: -13rem; width: 34rem; height: 34rem; opacity: .08; }
  .treatments-catalogue::before { top: 18rem; right: -15rem; width: 34rem; height: 34rem; opacity: .065; }
  .treatments-cta { min-height: 25rem; padding-block: 3.5rem; }
}
/* Fixed two-line section headings */
.has-fixed-lines { max-width: none !important; }
.heading-line { display: block; white-space: nowrap; }
@media (max-width: 380px) {
  .treatments-hero-content .has-fixed-lines { font-size: 2.45rem; }
  .finder-intro .has-fixed-lines, .treatments-cta .has-fixed-lines { font-size: 1.7rem; }
}
/* Finder intro above a horizontal desktop/tablet wizard */
.finder-layout { display: block; }
.finder-intro { position: static; max-width: 52rem; margin-inline: auto; }
.finder-note { justify-content: center; max-width: 42rem; text-align: center; }
.treatment-wizard { width: 100%; margin-top: clamp(2rem, 4vw, 3rem); }
@media (min-width: 768px) {
  .wizard-options-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wizard-step[data-wizard-step="2"] .wizard-options, .wizard-time-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wizard-option > span { min-height: 6rem; }
}
/* Centered, streamlined Finder introduction */
.finder-intro { text-align: center; }
.finder-heading-single { max-width: none !important; white-space: nowrap; }
.finder-description { max-width: none !important; }
.finder-note { display: block; text-align: center; }
.finder-note > span { display: block; margin-bottom: .35rem; }
.treatment-finder-section::after, .treatments-catalogue::before { display: none; }
@media (min-width: 768px) {
  .finder-description { white-space: nowrap; }
}
@media (max-width: 767px) {
  .finder-heading-single { font-size: clamp(1.05rem, 5vw, 1.55rem) !important; }
}
/* Remove all Finder/Catalogue botanical overlays and lock eyebrow styling */
.treatment-finder-section::before,
.treatment-finder-section::after,
.treatments-catalogue::before { display: none !important; background-image: none !important; }
.finder-intro > .section-eyebrow {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  margin-right: auto;
  margin-left: auto;
  color: var(--color-gold) !important;
  text-align: center;
}
.finder-intro > .section-eyebrow::before,
.finder-intro > .section-eyebrow::after {
  background: var(--color-gold) !important;
  color: var(--color-gold) !important;
}
/* Airier treatment catalogue and inline guidance icon */
.finder-note { display: flex; align-items: center; justify-content: center; gap: .55rem; max-width: 44rem; text-align: left; }
.finder-note > span { display: inline; flex: 0 0 auto; margin: 0; color: var(--color-gold); }
.finder-note p { flex: 0 1 auto; }
.treatments-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); }
.treatment-detail-body { padding: clamp(1.4rem, 2.5vw, 1.85rem); }
.treatment-detail h3 { margin-top: .75rem; font-size: clamp(1.85rem, 3vw, 2.2rem); line-height: 1.08; }
.treatment-detail-body > p:not(.treatment-caution) { margin-top: .85rem; font-size: .86rem; line-height: 1.72; }
.treatment-summary { min-height: 2.95em; }
.treatment-more { margin-top: .8rem; }
.treatment-more p { margin-top: .8rem; line-height: 1.72; }
.treatment-detail dl { margin-top: auto; padding: 1.15rem 0; border-top: 1px solid rgb(62 80 56 / 14%); border-bottom: 1px solid rgb(62 80 56 / 14%); }
.treatment-detail dt { font-size: .62rem; letter-spacing: .06em; }
.treatment-detail dd { margin-top: .12rem; font-size: 1.05rem; }
.treatment-detail-body > a { margin-top: 1.1rem; padding-bottom: .15rem; }
@media (min-width: 1024px) {
  .catalogue-header > p:last-child, .treatments-cta p:not(.section-eyebrow) { max-width: none; white-space: nowrap; }
}
@media (max-width: 767px) {
  .treatments-list { grid-template-columns: 1fr; }
  .finder-note { align-items: center; justify-content: center; text-align: center; }
  .treatment-summary { display: block; overflow: visible; min-height: 0; -webkit-line-clamp: unset; line-clamp: unset; }
}

/* Match Home hero height (100svh). */
.treatments-hero { min-height: 100svh; }
@media (min-width: 1024px) {
  .treatments-hero-media img { object-position: left center; }
  .treatments-hero-content { margin-left: auto; margin-right: 0; max-width: 44rem; transform: translateX(-20%); }
}
/* Align this CTA's height with Home's “Make space for yourself” section. */
.treatments-cta { min-height: clamp(32rem, 55vw, 44rem); padding-block: clamp(4rem, 7vw, 6rem); }
@media (max-width: 767px) { .treatments-cta { min-height: 30.6rem; } }

/* Duo massage menu highlight and promotional pricing */
.treatments-list .duo-treatment { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-color: rgb(201 167 92 / 72%); background: rgb(247 243 232 / 92%); }
.duo-treatment figure { min-height: 22rem; aspect-ratio: 4 / 3; }
.duo-treatment figure img { object-position: center; }
.duo-treatment .treatment-detail-body > span { color: #9b7837; }
.duo-treatment h3 { font-size: clamp(2rem, 3.5vw, 2.8rem); }
.duo-treatment .treatment-summary { min-height: 0; }
.duo-treatment dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.duo-treatment dd { display: flex; flex-direction: column; align-items: center; gap: .08rem; }
.duo-treatment dd del { color: #7c8178; font-size: .72rem; font-weight: 500; }
.duo-treatment dd strong { color: #9b7837; font-size: 1.2rem; }
@media (max-width: 767px) {
  .treatments-list .duo-treatment { grid-column: auto; display: flex; }
  .duo-treatment figure { min-height: 0; aspect-ratio: 4 / 3; }
  .duo-treatment h3 { font-size: clamp(1.85rem, 7vw, 2.2rem); }
}
