@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-italic-latin.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

:root {
  --blend-charcoal: #2b292d;
  --blend-charcoal-soft: #454149;
  --blend-forest: #4b4355;
  --blend-moss: #ac86a8;
  --blend-moss-light: #d6bfd3;
  --blend-bronze: #ac86a8;
  --blend-bronze-dark: #856782;
  --blend-taupe: #d8ccbc;
  --blend-sand: #e9dfd0;
  --blend-paper: #f7f0e3;
  --blend-ivory: #fff9ee;
  --blend-white: #fffcf7;
  --blend-ink: #2b292d;
  --blend-ink-soft: #625d66;
  --blend-line: rgba(43, 41, 45, .18);
  --blend-line-light: rgba(255, 249, 238, .22);
  --blend-shadow: 0 2.4rem 6rem rgba(43, 41, 45, .15);
  --blend-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --blend-sans: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --content: 82rem;
  --reading: 52rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--blend-ink);
  background: var(--blend-paper);
  font: 400 1rem/1.72 var(--blend-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
a { color: var(--blend-bronze-dark); text-decoration-thickness: .07em; text-underline-offset: .2em; }
a:hover { color: var(--blend-bronze); }
img { display: block; max-width: 100%; height: auto; }
picture { display: block; }
button, input, select, textarea { font: inherit; }
::selection { color: var(--blend-ivory); background: var(--blend-bronze); }

h1, h2, h3, h4 {
  margin: 0 0 .55em;
  color: var(--blend-charcoal);
  font-family: var(--blend-serif);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .98;
  text-wrap: balance;
}
h1 { font-size: clamp(3.4rem, 7vw, 7rem); }
h2 { font-size: clamp(2.6rem, 5.2vw, 5rem); }
h3 { font-size: clamp(1.65rem, 2.8vw, 2.35rem); line-height: 1.05; }
h4 { font-size: 1.45rem; }
p { margin: 0 0 1.2em; }
blockquote {
  margin: 2rem 0;
  padding: 1.5rem 1.75rem;
  border-left: .2rem solid var(--blend-bronze);
  color: var(--blend-ink-soft);
  background: var(--blend-ivory);
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 1rem;
  left: 1rem;
  transform: translateY(-200%);
  padding: .75rem 1rem;
  color: var(--blend-ivory);
  background: var(--blend-charcoal);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #c4a2c0; outline-offset: 4px; }
.site-frame { overflow: clip; }
.section-shell, .header-shell, .utility-shell, .footer-shell, .footer-bottom, .content-shell {
  width: min(calc(100% - 3rem), var(--content));
  margin-inline: auto;
}

.utility-bar { color: #eee6f3; background: #211f23; }
.utility-shell {
  min-height: 2.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  font-size: .66rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.utility-shell p { margin: 0; }
.utility-shell span { margin-inline: .5rem; color: var(--blend-bronze); }
.utility-shell a { color: #fff9ee; text-decoration: none; }

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgba(255, 249, 238, .14);
  color: var(--blend-ivory);
  background: var(--blend-charcoal);
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled { background: rgba(43, 41, 45, .96); box-shadow: 0 .8rem 2.5rem rgba(30, 27, 32, .22); backdrop-filter: blur(14px); }
.header-shell {
  min-height: 5.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.4rem;
}
.brand-lockup {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .1rem;
  color: var(--blend-ivory);
  text-decoration: none;
}
.brand-lockup:hover { color: var(--blend-ivory); }
.brand-mark { width: 3.25rem; height: 3.25rem; object-fit: contain; transform: translateY(-.29rem); }
.brand-type { display: grid; margin-left: -.45rem; line-height: 1; }
.brand-type strong { font: 500 1.72rem/.8 var(--blend-serif); letter-spacing: -.045em; }
.brand-type small { margin-top: .5rem; font: 700 .55rem/1 var(--blend-sans); letter-spacing: .28em; text-transform: uppercase; }
.primary-menu, .footer-menu { margin: 0; padding: 0; list-style: none; }
.primary-menu { display: flex; align-items: center; gap: clamp(.9rem, 2vw, 1.75rem); }
.primary-menu a {
  position: relative;
  color: #f1eaf4;
  font-size: .76rem;
  font-weight: 650;
  letter-spacing: .05em;
  text-decoration: none;
}
.primary-menu a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -.55rem;
  left: 0;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--blend-bronze);
  transition: transform .2s ease;
}
.primary-menu a:hover, .primary-menu .current-menu-item > a { color: #fff9ee; }
.primary-menu a:hover::after, .primary-menu .current-menu-item > a::after { transform: scaleX(1); }

.header-book, .button, button.button, input.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  display: inline-flex;
  min-height: 3.2rem;
  align-items: center;
  justify-content: center;
  padding: .86rem 1.45rem;
  border: 1px solid var(--blend-charcoal);
  border-radius: 0;
  color: var(--blend-ivory);
  background: var(--blend-charcoal);
  font: 700 .72rem/1 var(--blend-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.header-book { border-color: var(--blend-taupe); color: var(--blend-charcoal); background: var(--blend-taupe); }
.header-book:hover, .button:hover, button.button:hover, input.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover {
  color: var(--blend-ivory);
  border-color: var(--blend-bronze-dark);
  background: var(--blend-bronze-dark);
  transform: translateY(-2px);
}
.button-bronze { border-color: var(--blend-bronze-dark); background: var(--blend-bronze-dark); }
.button-outline { color: var(--blend-charcoal); background: transparent; }
.button-outline:hover { color: var(--blend-ivory); }
.button-ivory { color: var(--blend-charcoal); border-color: var(--blend-ivory); background: var(--blend-ivory); }
.menu-toggle { display: none; }

.blend-kicker, .blend-eyebrow {
  margin: 0 0 1.35rem;
  color: var(--blend-bronze-dark);
  font: 750 .67rem/1.45 var(--blend-sans);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.blend-kicker-light { color: #d3b2cf; }
.section-index { margin: 0 0 1.4rem; color: #7a6077; font: 650 .65rem/1.4 var(--blend-sans); letter-spacing: .16em; text-transform: uppercase; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  padding-bottom: .25rem;
  border-bottom: 1px solid currentColor;
  color: var(--blend-charcoal);
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .05em;
  text-decoration: none;
}
.text-link-light { color: var(--blend-ivory); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }

.home-hero {
  position: relative;
  min-height: clamp(43rem, calc(100vh - 7.95rem), 58rem);
  display: grid;
  grid-template-columns: minmax(25rem, .85fr) minmax(0, 1.15fr);
  color: var(--blend-ivory);
  background: var(--blend-charcoal);
}
.hero-media { position: relative; grid-column: 2; min-width: 0; overflow: hidden; }
.hero-picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-picture img { width: 100%; height: 100%; }
.hero-picture img { object-fit: cover; object-position: 66% center; }
.hero-media-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(43,41,45,.82) 0, rgba(75,67,85,.18) 38%, rgba(75,67,85,.06) 100%); }
.hero-copy {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(5rem, 8vw, 8.5rem) clamp(1.5rem, 4.8vw, 5.6rem) clamp(4rem, 7vw, 7rem) max(1.5rem, calc((100vw - var(--content)) / 2));
}
.hero-copy h1 { max-width: 9ch; color: var(--blend-ivory); font-size: clamp(4.2rem, 7.6vw, 8.25rem); line-height: .82; }
.hero-copy h1 em { color: #d3b2cf; font-weight: 400; }
.hero-lede { max-width: 35rem; margin: 1.75rem 0 2rem; color: #eee7f0; font-size: clamp(1.03rem, 1.5vw, 1.22rem); }
.hero-calendar { margin: 2.4rem 0 0; color: #c9bfcd; font-size: .72rem; }
.hero-calendar i { display: inline-block; width: .45rem; height: .45rem; margin-right: .55rem; border-radius: 50%; background: #c4a2c0; box-shadow: 0 0 0 .24rem rgba(196,162,192,.16); }

.trust-ribbon { border-bottom: 1px solid var(--blend-line); background: var(--blend-ivory); }
.trust-ribbon .section-shell { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-ribbon p { position: relative; display: grid; margin: 0; padding: 1.7rem 2rem 1.7rem 3.6rem; border-left: 1px solid var(--blend-line); }
.trust-ribbon p:last-child { border-right: 1px solid var(--blend-line); }
.trust-ribbon span { position: absolute; top: 1.78rem; left: 1.15rem; color: var(--blend-bronze); font: 500 .68rem/1 var(--blend-serif); }
.trust-ribbon strong { font: 500 1.18rem/1.2 var(--blend-serif); }
.trust-ribbon small { margin-top: .35rem; color: var(--blend-ink-soft); font-size: .64rem; letter-spacing: .04em; }

.home-intro {
  display: grid;
  grid-template-columns: .32fr 1fr .82fr;
  gap: clamp(2rem, 5vw, 6rem);
  padding-block: clamp(6rem, 11vw, 10.5rem);
  border-bottom: 1px solid var(--blend-line);
}
.intro-heading h2 { max-width: 8ch; }
.intro-copy { align-self: end; color: var(--blend-ink-soft); font-size: 1.03rem; }
.intro-copy p:first-child { color: var(--blend-charcoal); font-size: 1.12rem; }
.intro-copy .text-link { margin-top: 1rem; }

.home-services { padding-block: clamp(5.5rem, 9vw, 9rem); background: #eee5d8; }
.section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 3.3rem; }
.section-heading-row h2 { max-width: 13ch; font-size: clamp(2.8rem, 5vw, 4.8rem); }
.blend-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(43,41,45,.2); }
.blend-service-card {
  min-height: 15rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.7rem, 3vw, 2.5rem);
  background: var(--blend-ivory);
  transition: transform .25s ease, background .25s ease;
}
.blend-service-card:hover { position: relative; z-index: 2; transform: translateY(-7px); box-shadow: var(--blend-shadow); }
.blend-service-card:nth-child(2n) { color: #f1eaf4; background: var(--blend-forest); }
.blend-service-card:nth-child(2n) h3, .blend-service-card:nth-child(2n) p, .blend-service-card:nth-child(2n) strong, .blend-service-card:nth-child(2n) a { color: var(--blend-ivory); }
.blend-service-card:nth-child(2n) .blend-eyebrow { color: #d6b7d2; }
.blend-service-card h3 { max-width: 10ch; }
.blend-service-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid currentColor; }
.blend-service-footer a { font-size: .69rem; font-weight: 750; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.blend-service-modalities { display: grid; gap: clamp(2.5rem, 5vw, 4.5rem); }
.blend-service-modality { display: grid; grid-template-columns: minmax(17rem, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: stretch; padding-top: clamp(2.5rem, 4vw, 3.75rem); border-top: 1px solid var(--blend-line); }
.blend-service-modality:first-child { padding-top: 0; border-top: 0; }
.blend-service-modality-image { min-height: 16rem; height: 100%; display: block; overflow: hidden; background: #e7ddd0; }
.blend-service-modality-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.blend-service-modality--table .blend-service-modality-image img { object-position: 58% center; }
.blend-service-modality--thai .blend-service-modality-image img { object-position: center; }
.blend-service-modality--lymphatic .blend-service-modality-image img { object-position: center; }
.blend-service-modality-copy { align-self: start; }
.blend-service-modality-copy h3 { max-width: 15ch; margin: 0 0 .45em; font-size: clamp(1.85rem, 2.7vw, 2.65rem); }
.blend-service-modality-copy > p:not(.blend-kicker) { max-width: 31rem; color: var(--blend-ink-soft); font-size: .92rem; }
.blend-service-modality-copy .text-link { display: inline-block; margin-top: .65rem; font-size: .7rem; }
.blend-service-duration-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr)); gap: 1px; align-self: start; background: var(--blend-line); }
.blend-service-duration-card { min-height: 11.5rem; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.15rem, 2vw, 1.55rem); background: var(--blend-ivory); transition: transform .25s ease, box-shadow .25s ease; }
.blend-service-duration-card:nth-child(2n) { color: var(--blend-ivory); background: var(--blend-charcoal); }
.blend-service-duration-card:nth-child(2n) h4, .blend-service-duration-card:nth-child(2n) strong, .blend-service-duration-card:nth-child(2n) a { color: var(--blend-ivory); }
.blend-service-duration-card:hover { position: relative; z-index: 2; transform: translateY(-3px); box-shadow: var(--blend-shadow); }
.blend-service-duration-card h4 { margin: .25rem 0 0; font-size: clamp(1.4rem, 2vw, 1.85rem); }
.blend-service-duration-footer { display: grid; gap: .65rem; padding-top: .85rem; border-top: 1px solid currentColor; }
.blend-service-duration-footer strong { font: 500 1.3rem/1.2 var(--blend-serif); }
.blend-service-duration-footer a { font-size: .61rem; font-weight: 750; letter-spacing: .035em; line-height: 1.35; text-decoration: none; text-transform: uppercase; }
.compact-options { display: flex; justify-content: space-between; gap: 2rem; align-items: center; margin-block: clamp(3rem, 6vw, 5rem); padding: 1.5rem 0; border-block: 1px solid var(--blend-line); }
.compact-options p { max-width: 48rem; margin: 0; }
.service-essentials { max-width: 58rem; margin-block: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--blend-line); }
.service-essentials details { padding: 1.1rem 0; border-bottom: 1px solid var(--blend-line); }
.service-essentials summary { min-height: 2.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--blend-charcoal); font-weight: 750; cursor: pointer; list-style: none; }
.service-essentials summary::-webkit-details-marker { display: none; }
.service-essentials summary::after { content: "+"; color: var(--blend-bronze-dark); font-size: 1.3rem; }
.service-essentials details[open] summary::after { content: "−"; }
.service-essentials details p { max-width: 48rem; margin: .75rem 0 0; color: var(--blend-ink-soft); }

.editorial-pair { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; padding-block: clamp(6rem, 11vw, 11rem); }
.editorial-image { position: relative; min-height: 42rem; overflow: hidden; }
.editorial-picture, .editorial-picture img { width: 100%; height: 100%; }
.editorial-picture img { object-fit: cover; }
.editorial-image-tall { aspect-ratio: .77; }
.editorial-image-tall img { object-position: center; }
.editorial-image > span { position: absolute; right: 0; bottom: 0; padding: .8rem 1.1rem; color: var(--blend-ivory); background: var(--blend-charcoal); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }
.editorial-copy h2 { max-width: 11ch; }
.editorial-copy > p:not(.blend-kicker, .section-index) { max-width: 37rem; color: var(--blend-ink-soft); }
.editorial-points { margin: 2.6rem 0; border-top: 1px solid var(--blend-line); }
.editorial-points p { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; margin: 0; padding: 1rem 0; border-bottom: 1px solid var(--blend-line); }
.editorial-points strong { font: 500 1.2rem/1.3 var(--blend-serif); }
.editorial-points span { color: var(--blend-ink-soft); font-size: .84rem; }

.technique-story { padding-block: clamp(5rem, 9vw, 9rem); color: #f1eaf4; background: var(--blend-forest); }
.technique-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.technique-copy h2 { max-width: 8ch; color: var(--blend-ivory); }
.technique-copy > p:not(.blend-kicker, .section-index) { max-width: 32rem; }
.technique-story .section-index { color: #d6bfd3; }
.technique-image { aspect-ratio: 1.25; overflow: hidden; box-shadow: 2.2rem 2.2rem 0 rgba(214,191,211,.16); }
.technique-image img { object-position: center; }

.first-visit-feature { display: grid; grid-template-columns: 1fr .92fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; padding-block: clamp(6rem, 11vw, 11rem); }
.first-visit-copy h2 { max-width: 11ch; }
.first-visit-copy > p:not(.blend-kicker, .section-index) { max-width: 37rem; color: var(--blend-ink-soft); }
.first-visit-copy .hero-actions { margin-top: 2.2rem; }
.first-visit-image { min-height: 35rem; aspect-ratio: .9; overflow: hidden; }
.first-visit-image img { object-fit: cover; object-position: 63% center; }

.location-band { padding-block: clamp(5rem, 9vw, 8rem); color: #f1eaf4; background: var(--blend-charcoal); }
.location-band .section-shell { display: grid; grid-template-columns: 1fr .68fr; gap: clamp(3rem, 9vw, 9rem); align-items: end; }
.location-band h2 { max-width: 11ch; color: var(--blend-ivory); }
.location-band a { color: var(--blend-ivory); font: 500 1.4rem/1.2 var(--blend-serif); }

/* Interior pages */
.page-main { min-height: 60vh; background: var(--blend-paper); }
.page-hero { display: grid; grid-template-columns: .92fr 1.08fr; min-height: 38rem; color: var(--blend-ivory); background: var(--blend-charcoal); }
.page-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4.5rem, 8vw, 8rem) clamp(2rem, 6vw, 7rem) clamp(4rem, 7vw, 7rem) max(1.5rem, calc((100vw - var(--content)) / 2)); }
.page-hero-copy h1 { max-width: 10ch; color: var(--blend-ivory); font-size: clamp(3.7rem, 6.4vw, 6.7rem); }
.page-hero-copy > p:last-child { max-width: 36rem; color: #ddd5e0; font-size: 1.05rem; }
.page-hero-media { position: relative; min-width: 0; overflow: hidden; }
.page-hero-picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.page-hero-picture img { width: 100%; height: 100%; }
.page-hero-picture img { object-fit: cover; }
.page-hero--services .page-hero-picture img { object-position: 58% center; }
.page-hero--about .page-hero-picture img { object-position: center 42%; }
.page-hero--book .page-hero-picture img { object-position: 65% center; }
.page-hero--book { min-height: 32rem; }

.page-content { padding-block: clamp(4.5rem, 9vw, 8.5rem); }
.page-content.page-content--services { padding-top: 0; }
.page-content:not(.page-content--services, .page-content--about, .page-content--first-visit, .page-content--contact, .page-content--book, .page-content--shop) { max-width: var(--reading); }
.page-content > h1:first-child { font-size: clamp(3rem, 6vw, 5rem); }
.page-content h2 { margin-top: 1.55em; font-size: clamp(2rem, 4vw, 3.4rem); }
.page-content h3 { margin-top: 1.5em; }
.page-content ul, .page-content ol { padding-left: 1.4rem; }
.page-content li + li { margin-top: .5rem; }
.blend-lede { margin-bottom: clamp(2.5rem, 6vw, 5rem); color: var(--blend-ink-soft); font-size: clamp(1.15rem, 2.4vw, 1.4rem); }

.page-content--services > .blend-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: clamp(5rem, 9vw, 9rem); }
.page-content--services > section { padding-top: clamp(4rem, 8vw, 8rem); border-top: 1px solid var(--blend-line); }
.page-content--services > section > h2 { max-width: 11ch; margin: 0 0 .9em; }
.page-content--services > .page-section:first-child { padding-top: clamp(1.75rem, 3vw, 2.75rem); border-top: 0; }
.blend-copy-grid, .blend-contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 3rem 0; background: var(--blend-line); }
.blend-copy-grid section, .blend-contact-grid section { padding: clamp(1.6rem, 4vw, 2.5rem); background: var(--blend-ivory); }
.blend-copy-grid h2, .blend-contact-grid h2 { margin-top: 0; font-size: 2rem; }
.blend-copy-grid h3 { margin-top: 0; }
.blend-contact-link { color: var(--blend-charcoal); font: 500 clamp(1.3rem, 2.5vw, 1.9rem)/1.2 var(--blend-serif); }
.blend-note, .blend-notice { margin: 4rem 0 0; padding: clamp(2rem, 5vw, 3.2rem); border-left: .22rem solid var(--blend-bronze); background: #eee5d8; }
.blend-note h2, .blend-notice h2 { margin-top: 0; font-size: clamp(2rem, 4vw, 3rem); }
.blend-fineprint { margin-top: 2rem; color: var(--blend-ink-soft); font-size: .82rem; }

.page-content--about .blend-copy-grid { grid-template-columns: repeat(2, 1fr); }
.page-content--about .blend-copy-grid section:first-child { background: var(--blend-forest); }
.page-content--about .blend-copy-grid section:first-child h2, .page-content--about .blend-copy-grid section:first-child p { color: var(--blend-ivory); }
.page-content--about .page-section--tint { margin-block: clamp(2.5rem, 4vw, 4rem); padding: clamp(1.5rem, 3vw, 2.5rem); }
.page-content--about .page-section--tint + .page-section { margin-top: clamp(2.5rem, 4vw, 4rem); }
.page-content--about .page-section--tint .section-heading { margin-bottom: 1.5rem; }
.page-content--about .timeline article { min-height: 15rem; padding: 1.25rem; }
.page-content--about .timeline h3 { margin-top: 2rem; }
.blend-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 0 0 4rem; background: var(--blend-line); }
.blend-steps section { position: relative; min-height: 18rem; padding: clamp(1.8rem, 4vw, 2.8rem); overflow: hidden; background: var(--blend-ivory); }
.blend-steps section:nth-child(2), .blend-steps section:nth-child(3) { background: #eee5d8; }
.blend-steps span { position: absolute; right: 1rem; top: .3rem; color: rgba(172,134,168,.14); font: 400 7rem/1 var(--blend-serif); }
.blend-steps h2 { position: relative; max-width: 9ch; margin-top: 3rem; font-size: 2.2rem; }
.page-content--book { max-width: 66rem; padding-block: clamp(1.75rem, 3vw, 2.75rem) clamp(2.5rem, 4vw, 3.75rem); }
.page-content--book .booking-tool { margin-top: 0; }
.page-content--contact .blend-contact-grid { margin-top: 0; }
.error-page { padding-block: 7rem; text-align: center; }
.error-page .hero-actions { justify-content: center; }

/* Commerce */
.commerce-main { min-height: 60vh; padding-bottom: clamp(4rem, 8vw, 8rem); }
.commerce-hero { margin-bottom: clamp(4rem, 8vw, 7rem); padding-block: clamp(5rem, 10vw, 9rem); color: var(--blend-ivory); background: var(--blend-charcoal); }
.commerce-hero h1 { max-width: 11ch; color: var(--blend-ivory); }
.commerce-hero p:last-child { max-width: 42rem; color: #d4cbd7; }
.commerce-hero-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.commerce-hero-media { position: relative; min-height: 27rem; overflow: hidden; }
.commerce-hero-media .editorial-picture { position: absolute; inset: 0; }
.commerce-hero-media .editorial-picture img { object-fit: cover; }
.commerce-shell { max-width: var(--content); }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 2rem; color: var(--blend-ink-soft); font-size: .72rem; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 2rem 0; padding: 0; background: var(--blend-line); list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; margin: 0; padding: 1.5rem; background: var(--blend-ivory); }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.7rem; }
.woocommerce ul.products li.product .price { color: var(--blend-bronze-dark); font-weight: 750; }
.woocommerce form .form-row { margin-bottom: 1rem; }
.woocommerce form .form-row label { display: block; margin-bottom: .35rem; font-size: .78rem; font-weight: 700; }
.woocommerce form .input-text, .woocommerce form select, .woocommerce form textarea, .woocommerce .quantity .qty {
  width: 100%; min-height: 3.2rem; padding: .7rem .85rem; border: 1px solid #918a94; border-radius: 0; color: var(--blend-charcoal); background: var(--blend-white);
}
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; border: 1px solid var(--blend-line); background: var(--blend-ivory); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: .9rem; border-bottom: 1px solid var(--blend-line); text-align: left; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 0 0 1.5rem; padding: 1rem 1.2rem; border-left: .25rem solid var(--blend-moss); background: #eee5d8; list-style: none; }
.woocommerce-error { border-left-color: #9c433b; }
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.woocommerce-checkout #order_review_heading { margin-top: 3rem; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr); grid-template-areas: "customer heading" "customer review"; gap: 0 clamp(2rem, 5vw, 5rem); align-items: start; }
.woocommerce-checkout form.checkout #customer_details { grid-area: customer; }
.woocommerce-checkout form.checkout #order_review_heading { grid-area: heading; margin: 0 0 1rem; }
.woocommerce-checkout form.checkout #order_review { grid-area: review; position: sticky; top: 7rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--blend-line); background: var(--blend-ivory); }
.woocommerce-checkout form.checkout #order_review table.shop_table { border: 0; background: transparent; }
.woocommerce-checkout form.checkout #payment { background: transparent; }
.woocommerce-checkout form.checkout #place_order { width: 100%; justify-content: center; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout #order_review_heading { font-size: clamp(2rem, 3.5vw, 3rem); }
.woocommerce-checkout .woocommerce-account-fields { margin-top: 2rem; padding: 1.25rem; border: 1px solid var(--blend-line); background: #eee5d8; }
.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0 0 2rem; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation a { display: block; padding: .7rem .9rem; border: 1px solid var(--blend-line); background: var(--blend-ivory); text-decoration: none; }
.shop-live-products { margin-top: clamp(3rem, 7vw, 6rem); }
.shop-live-products > h2 { max-width: 12ch; font-size: clamp(2.5rem, 5vw, 4.5rem); }
.shop-live-products .products { max-width: 46rem; }
.shop-live-products .product_cat-gift-cards { min-height: 18rem; display: flex; flex-direction: column; justify-content: center; }
.shop-live-products .product_cat-gift-cards .woocommerce-loop-product__link img { display: none; }
.shop-live-products .product_cat-gift-cards .woocommerce-loop-product__title { max-width: 12ch; }
.gift-card-benefits article { min-height: 18rem; }
.single-product .product-type-pw-gift-card .woocommerce-product-gallery { display: none; }
.single-product .product-type-pw-gift-card .summary { width: min(100%, 48rem); float: none; margin: 0 auto; }
.single-product .product-type-pw-gift-card .product_title { max-width: 12ch; font-size: clamp(3rem, 7vw, 5.8rem); }
.single-product .product-type-pw-gift-card .price { color: var(--blend-bronze-dark); font: 600 clamp(1.35rem, 3vw, 2rem)/1.2 var(--blend-serif); }
.single-product .product-type-pw-gift-card form.cart { margin-block: 2.5rem; padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--blend-line); background: var(--blend-ivory); }
.single-product .product-type-pw-gift-card table.variations { width: 100%; margin-bottom: 1.5rem; border-collapse: collapse; }
.single-product .product-type-pw-gift-card table.variations th,
.single-product .product-type-pw-gift-card table.variations td { display: block; padding: 0; text-align: left; }
.single-product .product-type-pw-gift-card table.variations label,
.single-product .product-type-pw-gift-card .pwgc-label { display: block; margin-bottom: .4rem; color: var(--blend-charcoal); font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.single-product .product-type-pw-gift-card table.variations select,
.single-product .product-type-pw-gift-card .pwgc-input-text,
.single-product .product-type-pw-gift-card #pwgc-message { width: 100%; min-height: 3.2rem; padding: .75rem .85rem; border: 1px solid #777179; border-radius: 0; color: var(--blend-charcoal); background: var(--blend-white); font: inherit; }
.single-product .product-type-pw-gift-card #pwgc-message { min-height: 8rem; resize: vertical; }
.single-product .product-type-pw-gift-card .pwgc-field-container { margin-bottom: 1.25rem; }
.single-product .product-type-pw-gift-card .pwgc-subtitle { color: var(--blend-ink-soft); font-size: .72rem; }
.single-product .product-type-pw-gift-card .single_variation_wrap .woocommerce-variation-price { margin-bottom: 1rem; }
.single-product .product-type-pw-gift-card .single_add_to_cart_button { width: 100%; }
.single-product .product-type-pw-gift-card .product_meta { color: var(--blend-ink-soft); font-size: .72rem; }
.single-product .product-type-pw-gift-card .woocommerce-tabs { max-width: 58rem; margin: 4rem auto 0; }
.single-product .product-type-pw-gift-card .woocommerce-tabs .tabs { display: none; }
.single-product .product-type-pw-gift-card .woocommerce-tabs h2 { max-width: 17ch; }

/* Booking */
.blend-booking { max-width: none; gap: 1px; padding: 1px; background: var(--blend-line); }
.blend-booking-step { padding: clamp(1.5rem, 4vw, 2.5rem); border: 0; border-radius: 0; background: var(--blend-ivory); }
.blend-booking-step > label, .blend-booking-label { color: var(--blend-charcoal); font-size: .8rem; letter-spacing: .04em; }
.blend-booking select, .blend-booking input[type="date"], .blend-reschedule-panel input { border-radius: 0; }
.blend-slot { border-color: var(--blend-charcoal); border-radius: 0; color: var(--blend-charcoal); background: transparent; font-family: var(--blend-sans); }
.blend-slot:hover, .blend-slot:focus-visible, .blend-slot.is-selected { color: var(--blend-ivory); background: var(--blend-charcoal); outline-color: rgba(172,134,168,.45); }
.blend-checkout-consents { border-radius: 0; background: var(--blend-ivory); }

/* Footer */
.site-footer { color: #eee7f0; background: #211f23; }
.footer-shell { display: grid; grid-template-columns: 1fr; justify-items: center; gap: clamp(3rem, 9vw, 9rem); padding-block: clamp(5rem, 9vw, 8rem); text-align: center; }
.brand-lockup-footer .brand-type strong { font-size: 2.2rem; }
.footer-brand { display: grid; justify-items: center; }
.footer-brand > p { max-width: 26rem; margin-top: 1.6rem; color: #c9bfcd; }
.footer-address { max-width: 36rem; margin-top: 1.6rem; color: #c9bfcd; font-style: normal; }
.footer-address a { color: var(--blend-ivory); text-underline-offset: .18em; }
.footer-contact a { color: var(--blend-ivory); }
.footer-cta { padding-left: clamp(0rem, 5vw, 5rem); border-left: 1px solid var(--blend-line-light); }
.footer-cta h2 { max-width: 10ch; color: var(--blend-ivory); }
.footer-navigation { grid-column: 1 / -1; width: 100%; padding-top: 2.2rem; border-top: 1px solid var(--blend-line-light); }
.footer-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 1.8rem; }
.footer-menu a { color: #ddd3e2; font-size: .68rem; letter-spacing: .04em; text-decoration: none; }
.footer-bottom { padding-block: 1.4rem; border-top: 1px solid rgba(255,255,255,.1); color: #aaa0ae; font-size: .62rem; text-align: center; }
.footer-bottom p { margin: 0; }
.footer-support { display: flex; align-items: center; justify-content: center; gap: .8rem; margin: 0 0 .8rem; }
.footer-support svg { display: block; flex: 0 0 auto; filter: drop-shadow(0 .2rem .4rem rgba(0,0,0,.2)); }
.support-flag { width: 2.5rem; height: 1.5rem; }
.support-infinity { width: 3.75rem; height: 2.1rem; }
.site-footer--centered .footer-shell { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.site-footer--centered .footer-brand { display: grid; justify-items: center; }
.site-footer--centered .footer-navigation { width: 100%; }
.site-footer--centered .footer-menu { justify-content: center; }
.site-footer--centered .footer-bottom { text-align: center; }
.blend-page-book .footer-shell { gap: clamp(2rem, 4vw, 3.5rem); padding-block: clamp(3rem, 5vw, 4.5rem); }

@media (max-width: 70rem) {
  .header-shell { min-height: 5.15rem; }
  .header-book { margin-left: auto; }
  .menu-toggle {
    order: 4;
    width: 3.1rem;
    height: 3.1rem;
    display: grid;
    place-content: center;
    gap: .28rem;
    border: 1px solid var(--blend-line-light);
    color: var(--blend-ivory);
    background: transparent;
  }
  .menu-toggle span { width: 1.2rem; height: 1px; display: block; background: currentColor; }
  .menu-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .primary-navigation { position: fixed; z-index: 90; inset: 7.35rem 0 auto; display: none; padding: 2rem 1.5rem 3rem; background: var(--blend-charcoal); box-shadow: 0 2rem 3rem rgba(0,0,0,.25); }
  .primary-navigation.is-open { display: block; }
  .primary-menu { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; }
  .primary-menu li { border-bottom: 1px solid var(--blend-line-light); }
  .primary-menu a { display: block; padding: 1rem; font: 500 1.75rem/1 var(--blend-serif); }
  .primary-menu a::after { display: none; }
  .home-hero { grid-template-columns: minmax(23rem, .9fr) minmax(0, 1.1fr); }
  .hero-copy { padding-left: 2.5rem; }
  .hero-copy h1 { font-size: clamp(3.8rem, 8vw, 6.2rem); }
  .trust-ribbon .section-shell { width: 100%; }
  .home-intro { grid-template-columns: .22fr .9fr 1fr; }
  .blend-service-card { min-height: 14rem; }
  .page-hero-copy { padding-left: 2.5rem; }
}

@media (max-width: 70rem) {
  .blend-service-modality { grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr); }
  .blend-service-modality-image { min-height: 15rem; }
}

@media (max-width: 54rem) {
	.blend-service-modality { grid-template-columns: 1fr; gap: 1.4rem; }
  .blend-service-modality-image { min-height: 0; height: auto; aspect-ratio: 16 / 9; }
  .section-shell, .header-shell, .utility-shell, .footer-shell, .footer-bottom, .content-shell { width: min(calc(100% - 2rem), var(--content)); }
  .utility-shell { justify-content: center; }
  .utility-shell p { display: none; }
  .header-book { display: none; }
  .primary-navigation { inset-block-start: 7.35rem; }
  .home-hero { min-height: 0; display: flex; flex-direction: column; }
  .hero-media { min-height: 29rem; order: 1; }
  .hero-media-shade { background: linear-gradient(0deg, rgba(43,41,45,.82), transparent 50%); }
  .hero-copy { order: 2; padding: 4.5rem 1.5rem 5rem; }
  .hero-copy h1 { max-width: 10ch; font-size: clamp(4rem, 14vw, 6.2rem); }
  .trust-ribbon .section-shell { grid-template-columns: 1fr; }
  .trust-ribbon p, .trust-ribbon p:last-child { border: 0; border-bottom: 1px solid var(--blend-line); }
  .home-intro { grid-template-columns: 1fr; gap: 1.2rem; }
  .home-intro .section-index { margin-bottom: 2rem; }
  .intro-heading h2 { max-width: 10ch; }
  .section-heading-row { display: grid; }
  .blend-service-grid, .page-content--services > .blend-service-grid { grid-template-columns: 1fr; }
  .blend-service-card { min-height: 13rem; }
  .compact-options { align-items: stretch; flex-direction: column; }
  .editorial-pair, .technique-grid, .first-visit-feature, .location-band .section-shell, .commerce-hero-grid { grid-template-columns: 1fr; }
  .editorial-image { min-height: 34rem; }
  .technique-image { grid-row: 1; }
  .first-visit-image { grid-row: 1; min-height: 28rem; aspect-ratio: 1.2; }
  .page-hero { display: flex; min-height: 0; flex-direction: column-reverse; }
  .page-hero-media { min-height: 28rem; }
  .page-hero-copy { padding: 4rem 1.5rem 5rem; }
  .page-hero-copy h1 { max-width: 11ch; }
  .blend-copy-grid, .blend-contact-grid, .page-content--about .blend-copy-grid, .blend-steps { grid-template-columns: 1fr; }
  .blend-steps section:nth-child(3) { background: var(--blend-ivory); }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }
  .woocommerce-checkout form.checkout { display: block; }
  .woocommerce-checkout form.checkout #order_review_heading { margin-top: 3rem; }
  .woocommerce-checkout form.checkout #order_review { position: static; }
  .footer-shell { grid-template-columns: 1fr; }
  .footer-cta { padding: 3rem 0 0; border-top: 1px solid var(--blend-line-light); border-left: 0; }
}

@media (max-width: 34rem) {
  h2 { font-size: clamp(2.5rem, 13vw, 3.6rem); }
  .brand-type strong { font-size: 1.5rem; }
  .brand-type small { letter-spacing: .22em; }
  .primary-menu { grid-template-columns: 1fr; }
  .primary-navigation { inset-block-start: 7.35rem; overflow-y: auto; max-height: calc(100vh - 7.35rem); }
  .hero-media { min-height: 22rem; }
  .hero-copy { padding-inline: 1rem; }
  .hero-copy h1 { font-size: clamp(3.65rem, 18.5vw, 5rem); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button, .hero-actions .text-link { width: 100%; justify-content: center; }
  .home-intro, .home-services, .editorial-pair, .first-visit-feature { padding-block: 4.5rem; }
  .section-heading-row { gap: 1rem; }
  .editorial-image { min-height: 29rem; }
  .editorial-points p { grid-template-columns: 1fr; gap: .25rem; }
  .technique-story { padding-block: 4.5rem; }
  .technique-image { min-height: 18rem; aspect-ratio: 1; }
  .first-visit-image { min-height: 20rem; }
  .page-hero-media { min-height: 22rem; }
  .page-hero-copy { padding: 3.5rem 1rem 4rem; }
  .page-hero-copy h1 { font-size: clamp(3.5rem, 17vw, 4.8rem); }
  .page-content { padding-block: 4rem; }
  .page-content--book { padding-block: 1.5rem 2.5rem; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .footer-menu { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* 2026 editorial-conversion system */
.next-hero {
  min-height: min(54rem, calc(100svh - 7.95rem));
  display: grid;
  grid-template-columns: minmax(25rem, .92fr) minmax(0, 1.08fr);
  color: var(--blend-ivory);
  background: var(--blend-charcoal);
}
.next-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(4rem, 8vw, 8rem) clamp(2rem, 5vw, 6rem) clamp(4rem, 7vw, 7rem) max(1.5rem, calc((100vw - var(--content)) / 2));
}
.next-hero-copy h1 { max-width: 8ch; color: var(--blend-ivory); font-size: clamp(4.6rem, 7.3vw, 8rem); }
.next-hero-copy .blend-kicker { color: #d6b7d2; }
.next-hero-copy h1 em { color: #ac86a8; font-weight: 400; text-shadow: 0 .08em .5em rgba(33,31,35,.5); }
.next-hero-lede { max-width: 38rem; color: #eee7f0; font-size: clamp(1rem, 1.4vw, 1.18rem); }
.next-hero-proof { display: flex; flex-wrap: wrap; gap: 1px; margin-top: clamp(2rem, 5vw, 4.5rem); background: var(--blend-line-light); }
.next-hero-proof p { min-width: 12rem; flex: 1; display: grid; gap: .15rem; margin: 0; padding: 1rem 0; background: var(--blend-charcoal); }
.next-hero-proof strong { color: var(--blend-ivory); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.next-hero-proof span { color: #c9bfcd; font-size: .7rem; }
.next-hero-visual { position: relative; min-width: 0; overflow: hidden; }
.next-hero-visual > picture, .next-hero-visual > picture img { width: 100%; height: 100%; }
.next-hero-visual > picture img { object-fit: cover; object-position: 57% center; }
.next-hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(43,41,45,.34), transparent 32%), linear-gradient(0deg, rgba(33,31,35,.54), transparent 45%); pointer-events: none; }
.opening-panel { position: absolute; z-index: 3; right: clamp(1rem, 5vw, 4rem); bottom: clamp(1rem, 5vw, 4rem); width: min(26rem, calc(100% - 2rem)); padding: clamp(1.4rem, 3vw, 2.2rem); color: var(--blend-charcoal); background: rgba(255,249,238,.94); box-shadow: 0 2rem 5rem rgba(43,41,45,.28); backdrop-filter: blur(18px); }
.opening-panel > div:first-child { display: flex; align-items: center; gap: .65rem; }
.opening-panel .blend-eyebrow { margin: 0; }
.opening-panel h2 { margin-top: .85rem; font-size: clamp(2rem, 3vw, 2.8rem); }
.availability-pulse { width: .55rem; height: .55rem; flex: 0 0 auto; border-radius: 50%; background: var(--blend-bronze); box-shadow: 0 0 0 .35rem rgba(172,134,168,.17); }
.opening-list { display: grid; gap: 1px; margin: 1.4rem 0; background: var(--blend-line); }
.opening-list > p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: .75rem 0; background: rgba(255,249,238,.94); font-size: .78rem; }
.opening-list > p:only-child { display: block; color: var(--blend-ink-soft); }
.opening-action { display: flex; min-height: 2.75rem; align-items: center; justify-content: space-between; border-top: 1px solid var(--blend-line); color: var(--blend-charcoal); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }

.experience-index { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--blend-line); background: var(--blend-ivory); }
.experience-index a { min-width: 0; display: grid; grid-template-columns: 2.5rem 1fr; gap: 0 .65rem; padding: clamp(1.25rem, 2.6vw, 2rem); border-right: 1px solid var(--blend-line); color: var(--blend-charcoal); text-decoration: none; transition: color .2s ease, background .2s ease; }
.experience-index a:last-child { border-right: 0; }
.experience-index a:hover { color: var(--blend-ivory); background: var(--blend-forest); }
.experience-index a:hover span { color: #d6b7d2; }
.experience-index span { grid-row: 1 / 3; color: var(--blend-bronze-dark); font: 500 1.35rem/1 var(--blend-serif); }
.experience-index strong { font: 500 clamp(1.25rem, 2vw, 1.65rem)/1 var(--blend-serif); }
.experience-index small { overflow: hidden; margin-top: .4rem; color: var(--blend-ink-soft); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.experience-index a:hover small { color: #e0d7e5; }

.session-finder { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem, 9vw, 9rem); align-items: start; padding-block: clamp(6rem, 11vw, 11rem); }
.finder-intro { position: sticky; top: 9rem; }
.finder-intro h2 { max-width: 10ch; }
.finder-intro > p:last-child { max-width: 34rem; color: var(--blend-ink-soft); }
.finder-card { container-type: inline-size; display: grid; gap: 2rem; padding: clamp(1.4rem, 4vw, 3rem); border: 1px solid var(--blend-line); background: var(--blend-ivory); box-shadow: 2rem 2rem 0 rgba(172,134,168,.1); }
.finder-card fieldset { margin: 0; padding: 0; border: 0; }
.finder-card legend { margin-bottom: 1rem; color: var(--blend-charcoal); font: 500 clamp(1.45rem, 3vw, 2rem)/1.1 var(--blend-serif); }
.finder-choices, .finder-duration { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--blend-line); }
.finder-card label { position: relative; min-width: 0; background: var(--blend-white); cursor: pointer; }
.finder-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.finder-card label > span { min-height: 6.25rem; display: grid; align-content: center; gap: .35rem; padding: 1rem 1.15rem; border: 2px solid transparent; transition: border-color .2s ease, background .2s ease; }
.finder-card label:hover > span { background: #f1e9df; }
.finder-card input:checked + span { border-color: var(--blend-bronze); background: #f1e5ef; }
.finder-card input:focus-visible + span { outline: 3px solid #c4a2c0; outline-offset: -4px; }
.finder-card strong { color: var(--blend-charcoal); font-size: .8rem; text-transform: uppercase; }
.finder-card small { color: var(--blend-ink-soft); font-size: .7rem; }
.finder-card > .button { width: fit-content; }
.finder-result { min-height: 6rem; padding: 1.3rem; border-left: .22rem solid var(--blend-bronze); background: #eee5d8; }
.finder-result h3 { margin: .2rem 0 .5rem; font-size: 2rem; }
.finder-result > p:last-of-type { margin-bottom: .75rem; }
.finder-result > div { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }

.approach-manifesto { padding-block: clamp(6rem, 11vw, 11rem); color: #f1eaf4; background: var(--blend-forest); }
.approach-grid { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(3rem, 9vw, 9rem); }
.approach-grid h2 { max-width: 10ch; color: var(--blend-ivory); }
.approach-grid .section-index { color: #d6bfd3; }
.approach-copy > p { max-width: 34rem; font-size: 1.08rem; }
.approach-copy ol { margin: 3rem 0; padding: 0; border-top: 1px solid var(--blend-line-light); list-style: none; }
.approach-copy li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--blend-line-light); }
.approach-copy li span { color: #d6b7d2; font: 500 1.2rem/1 var(--blend-serif); }
.approach-copy li p { display: grid; gap: .25rem; margin: 0; color: #d2c8d6; font-size: .8rem; }
.approach-copy li strong { color: var(--blend-ivory); font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }

.modalities-showcase { padding-block: clamp(6rem, 11vw, 11rem); }
.modality-grid { display: grid; grid-template-columns: 1.18fr .82fr; grid-template-rows: repeat(2, minmax(19rem, 1fr)); gap: 1rem; }
.modality-card { position: relative; min-height: 19rem; overflow: hidden; color: var(--blend-ivory); background: var(--blend-charcoal); text-decoration: none; }
.modality-card--large { grid-row: 1 / 3; min-height: 40rem; }
.modality-card > picture, .modality-card > picture img { width: 100%; height: 100%; }
.modality-card > picture img { object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.modality-card:hover > picture img { transform: scale(1.025); }
.modality-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(33,31,35,.84), transparent 68%); }
.modality-overlay, .modality-card--text > span { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: grid; gap: .35rem; padding: clamp(1.4rem, 3vw, 2.4rem); }
.modality-card small { color: #dbc2d8; font-size: .63rem; font-style: normal; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.modality-card strong { color: var(--blend-ivory); font: 500 clamp(2rem, 4vw, 3.4rem)/.98 var(--blend-serif); }
.modality-card em { max-width: 32rem; color: #eee7f0; font-size: .75rem; font-style: normal; }
.modality-card--text { background: var(--blend-bronze-dark); }
.modality-card--text::after { background: radial-gradient(circle at 100% 0%, rgba(255,255,255,.18), transparent 48%); }

.practitioner-story { padding-block: clamp(6rem, 11vw, 11rem); background: #eee5d8; }
.practitioner-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 9vw, 9rem); align-items: center; }
.practitioner-image { position: relative; min-height: 42rem; overflow: hidden; box-shadow: 2.2rem 2.2rem 0 rgba(43,41,45,.09); }
.practitioner-image picture, .practitioner-image img { width: 100%; height: 100%; }
.practitioner-image img { object-fit: cover; object-position: center 42%; }
.practitioner-copy h2 { max-width: 11ch; }
.practitioner-copy > p:not(.blend-kicker,.section-index) { max-width: 42rem; color: var(--blend-ink-soft); }
.credential-row { display: flex; gap: 1px; margin: 2.5rem 0; background: transparent; }
.credential-row p { min-width: 12rem; display: grid; gap: .2rem; margin: 0; padding: 1.1rem; background: #eee5d8; }
.credential-row strong { font: 500 1.8rem/1 var(--blend-serif); }
.credential-row span { color: var(--blend-ink-soft); font-size: .62rem; text-transform: uppercase; }

.notes-preview { padding-block: clamp(6rem, 11vw, 11rem); }
.notes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--blend-line); }
.notes-grid a { min-height: 19rem; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.5rem, 3vw, 2.3rem); color: var(--blend-charcoal); background: var(--blend-ivory); text-decoration: none; transition: color .2s ease, background .2s ease; }
.notes-grid a:hover { color: var(--blend-ivory); background: var(--blend-forest); }
.notes-grid a:hover em { color: #d6b7d2; }
.notes-grid span, .notes-grid em { font-size: .63rem; font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.notes-grid strong { max-width: 12ch; font: 500 clamp(2rem, 3vw, 2.7rem)/1 var(--blend-serif); }
.notes-grid em { color: var(--blend-bronze-dark); }
.location-band-v3 { border-top: 1px solid rgba(255,255,255,.08); }

.blend-guide-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 3rem 0; background: var(--blend-line); }
.blend-guide-links a { min-height: 8rem; display: grid; align-content: center; gap: .4rem; padding: 1.4rem; color: var(--blend-charcoal); background: var(--blend-ivory); text-decoration: none; }
.blend-guide-links a:hover { color: var(--blend-ivory); background: var(--blend-forest); }
.blend-guide-links strong { font: 500 1.7rem/1 var(--blend-serif); }
.blend-guide-links span { color: var(--blend-ink-soft); font-size: .7rem; }
.blend-guide-links a:hover span { color: #e0d7e5; }

.blend-breadcrumbs { width: min(calc(100% - 3rem), var(--content)); margin: 1.4rem auto 0; display: flex; flex-wrap: wrap; gap: .55rem; color: var(--blend-ink-soft); font-size: .65rem; }
.page-hero--services + .blend-breadcrumbs { display: none; }
.blend-breadcrumbs a { color: inherit; }
.blend-page-thai-bodywork .blend-breadcrumbs { margin-top: .75rem; }
.page-content--thai-bodywork { padding-top: clamp(1.25rem, 2.5vw, 2rem); }
.service-options { width: 100%; display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(2rem, 7vw, 7rem); padding: clamp(4.5rem, 9vw, 8rem) max(1.5rem, calc((100vw - var(--content)) / 2)); color: var(--blend-ivory); background: var(--blend-charcoal); }
.service-options h2, .service-options h3 { color: var(--blend-ivory); }
.service-options > div:first-child h2 { max-width: 8ch; }
.service-option-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--blend-line-light); }
.service-option-grid article { display: flex; min-height: 20rem; flex-direction: column; align-items: flex-start; padding: clamp(1.5rem, 3vw, 2.4rem); background: var(--blend-forest); }
.service-option-grid article > p:nth-of-type(2) { color: #ddd3e2; font-size: .78rem; }
.service-option-grid .button { margin-top: auto; }
.service-options--contact { grid-template-columns: 1fr auto; align-items: end; }
.service-next-step { padding-block: clamp(5rem, 9vw, 8rem); }
.service-next-step h2 { max-width: 12ch; }
.service-next-step > p:not(.blend-kicker) { max-width: 44rem; color: var(--blend-ink-soft); }
.blend-service-footer > span { display: grid; justify-items: end; gap: .35rem; }
.blend-service-learn { opacity: .75; font-size: .58rem !important; }

.mobile-booking-rail { display: none; }

/* Complete-site page system: each route has its own composition and next step. */
.page-content--faq,
.page-content--booking-terms,
.page-content--sms-terms,
.page-content--privacy,
.page-content--shipping-returns,
.page-content--accessibility,
.page-content--cart,
.page-content--checkout,
.page-content--my-account { max-width: var(--content) !important; }
.page-section { margin-block: clamp(4rem, 8vw, 7.5rem); }
.page-section:first-child { margin-top: 0; }
.page-section--lead { max-width: 68rem; }
.page-section--lead h2 { max-width: 14ch; margin-top: 0; }
.section-lede, .article-deck { max-width: 52rem; color: var(--blend-ink-soft); font: 400 clamp(1.35rem, 2.4vw, 1.85rem)/1.35 var(--blend-serif); }
.page-section--tint { padding: clamp(2rem, 5vw, 4rem); background: #eee5d8; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .55fr); gap: 2rem; align-items: end; margin-bottom: 2.5rem; }
.section-heading h2 { max-width: 12ch; margin-top: 0; }
.section-heading > p { max-width: 32rem; color: var(--blend-ink-soft); }
.experience-grid, .feature-cards, .link-panels, .article-directory, .shop-preview-grid, .contact-facts, .account-benefits, .booking-overview, .commerce-context { display: grid; gap: 1px; background: var(--blend-line); }
.experience-grid { grid-template-columns: repeat(4, 1fr); margin-top: 3rem; }
.experience-grid a { min-height: 16rem; display: flex; flex-direction: column; padding: 1.5rem; color: var(--blend-charcoal); background: var(--blend-ivory); text-decoration: none; }
.experience-grid a:hover { color: var(--blend-ivory); background: var(--blend-forest); }
.experience-grid span, .card-number, .timeline span, .article-directory > a > span, .shop-preview-grid > article > span, .contact-facts > article > span, .visit-journey > article > span, .commerce-context span, .booking-overview span, .account-benefits span { color: var(--blend-bronze-dark); font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.experience-grid strong { max-width: 9ch; margin-block: auto 1rem; font: 500 clamp(1.7rem, 2.6vw, 2.4rem)/1 var(--blend-serif); }
.experience-grid p { margin: 0; color: var(--blend-ink-soft); font-size: .75rem; }
.experience-grid a:hover p { color: #ded5e2; }
.feature-cards { grid-template-columns: repeat(3, 1fr); }
.feature-cards article { min-height: 17rem; padding: clamp(1.4rem, 3vw, 2.2rem); background: var(--blend-ivory); }
.feature-cards h3 { margin-top: 3rem; }
.feature-cards h3 a { color: inherit; }
.feature-cards p { color: var(--blend-ink-soft); }
.decision-panel, .credential-panel, .service-expectations, .shop-status, .policy-summary { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; margin-block: clamp(4rem, 8vw, 7rem); padding: clamp(2rem, 5vw, 4.5rem); color: #f1eaf4; background: var(--blend-forest); }
.decision-panel h2, .credential-panel h2, .service-expectations h2, .shop-status h2, .policy-summary h2 { color: var(--blend-ivory); }
.decision-panel .blend-kicker, .credential-panel .blend-kicker, .service-expectations .blend-kicker, .shop-status .blend-kicker, .policy-summary .blend-kicker { color: #d6b7d2; }
.stacked-actions { display: grid; gap: .6rem; align-items: start; }
.stacked-actions .text-link { padding: .7rem 0; border-bottom: 1px solid var(--blend-line-light); color: var(--blend-ivory); }
.editorial-columns { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.editorial-columns blockquote { margin: 0; padding: 0 0 0 2rem; color: var(--blend-bronze-dark); background: none; font: italic 400 clamp(2rem, 4vw, 3.5rem)/1.08 var(--blend-serif); }
.timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--blend-line); }
.timeline article { min-height: 19rem; padding: 1.6rem; background: var(--blend-ivory); }
.timeline h3 { margin-top: 3.5rem; font-size: clamp(1.7rem, 2.4vw, 2.2rem); }
.timeline h3.timeline-title-compact { font-size: clamp(1.65rem, 2.15vw, 1.9rem); font-weight: 400; line-height: 1.05; letter-spacing: -.055em; white-space: nowrap; }
.timeline p { color: var(--blend-ink-soft); font-size: .78rem; }
.credential-panel { background: var(--blend-charcoal); }
.credential-panel .button { justify-self: end; }
.visit-journey { margin-block: clamp(3rem, 7vw, 6rem); border-top: 1px solid var(--blend-line); }
.visit-journey > article { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: clamp(1rem, 4vw, 4rem); padding: 2.2rem 0; border-bottom: 1px solid var(--blend-line); }
.visit-journey h2 { max-width: 18ch; margin-top: 0; font-size: clamp(2rem, 4vw, 3.4rem); }
.visit-journey article div > p { max-width: 48rem; color: var(--blend-ink-soft); }
.faq-preview, .faq-group { max-width: 66rem; margin: clamp(4rem, 8vw, 7rem) auto; }
.faq-preview > h2, .faq-group > h2 { margin-top: 0; }
.faq-preview details, .faq-group details { border-top: 1px solid var(--blend-line); }
.faq-preview details:last-of-type, .faq-group details:last-of-type { border-bottom: 1px solid var(--blend-line); }
.faq-preview summary, .faq-group summary { position: relative; padding: 1.35rem 3rem 1.35rem 0; color: var(--blend-charcoal); font: 500 clamp(1.35rem, 2.6vw, 1.85rem)/1.2 var(--blend-serif); cursor: pointer; list-style: none; }
.faq-preview summary::-webkit-details-marker, .faq-group summary::-webkit-details-marker { display: none; }
.faq-preview summary::after, .faq-group summary::after { content: "+"; position: absolute; right: .3rem; color: var(--blend-bronze-dark); font: 400 1.6rem/1 var(--blend-sans); }
.faq-preview details[open] summary::after, .faq-group details[open] summary::after { content: "−"; }
.faq-preview details p, .faq-group details p { max-width: 48rem; padding: 0 2rem 1.4rem 0; color: var(--blend-ink-soft); }
.faq-jump { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.faq-jump a { padding: .65rem .85rem; border: 1px solid var(--blend-line); background: var(--blend-ivory); font-size: .68rem; font-weight: 750; text-decoration: none; text-transform: uppercase; }
.service-fit { max-width: 66rem; }
.check-list { display: grid; gap: 0; }
.check-list p { margin: 0; padding: .9rem 0; border-bottom: 1px solid var(--blend-line-light); }
.contact-number { color: var(--blend-charcoal); font: 500 clamp(2.3rem, 5vw, 4.8rem)/1 var(--blend-serif); text-decoration: none; }
.button-secondary { border: 1px solid var(--blend-charcoal) !important; color: var(--blend-charcoal) !important; background: transparent !important; }
.button-secondary:hover { color: var(--blend-ivory) !important; background: var(--blend-charcoal) !important; }
.contact-facts { grid-template-columns: repeat(2, 1fr); margin-block: clamp(4rem, 8vw, 7rem); }
.contact-facts article { min-height: 19rem; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--blend-ivory); }
.contact-facts h2 { margin-top: 4rem; font-size: clamp(2rem, 3vw, 2.8rem); }
.contact-facts p { color: var(--blend-ink-soft); }
.link-panels { grid-template-columns: repeat(2, 1fr); }
.link-panels a { min-height: 10rem; display: grid; align-content: center; gap: .45rem; padding: 1.5rem; color: var(--blend-charcoal); background: var(--blend-ivory); text-decoration: none; }
.link-panels a:hover { color: var(--blend-ivory); background: var(--blend-forest); }
.link-panels strong { font: 500 1.8rem/1 var(--blend-serif); }
.link-panels span { color: var(--blend-ink-soft); font-size: .75rem; }
.link-panels a:hover span { color: #ddd4e1; }
.privacy-callout, .commerce-help { margin-block: 3rem; padding: 1.4rem 1.6rem; border-left: .25rem solid var(--blend-bronze); background: #eee5d8; }
.privacy-callout strong { color: var(--blend-charcoal); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.privacy-callout p, .commerce-help p { max-width: 52rem; margin: .4rem 0 0; color: var(--blend-ink-soft); }
.article-directory { grid-template-columns: repeat(2, 1fr); }
.article-directory > a { min-height: 23rem; display: flex; flex-direction: column; padding: clamp(1.6rem, 4vw, 3rem); color: var(--blend-charcoal); background: var(--blend-ivory); text-decoration: none; }
.article-directory > a:hover { color: var(--blend-ivory); background: var(--blend-forest); }
.article-directory h2 { margin-top: 4rem; font-size: clamp(2rem, 4vw, 3.2rem); }
.article-directory p { max-width: 30rem; color: var(--blend-ink-soft); }
.article-directory strong { margin-top: auto; color: var(--blend-bronze-dark); font-size: .68rem; text-transform: uppercase; }
.article-directory > a:hover p, .article-directory > a:hover strong { color: #dfd6e2; }
.article-deck { margin-bottom: 4rem; }
.article-section { margin-block: 4rem; }
.article-section h2 { max-width: 17ch; }
.comparison-table { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-block: 4rem; background: var(--blend-line); }
.comparison-table > div { padding: clamp(1.4rem, 4vw, 2.5rem); background: var(--blend-ivory); }
.comparison-table span { color: var(--blend-bronze-dark); font-size: .65rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.comparison-table h3 { margin-top: 2rem; }
.article-cards { margin-block: 4rem; }
.article-callout { margin-block: 3rem; }
.article-actions { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; margin-top: 4rem; }
.shop-preview-grid { grid-template-columns: repeat(3, 1fr); margin-block: clamp(4rem, 8vw, 7rem); }
.shop-preview-grid article { min-height: 23rem; display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--blend-ivory); }
.shop-preview-grid h2 { margin-top: 5rem; font-size: clamp(2rem, 3.5vw, 3rem); }
.shop-preview-grid p { color: var(--blend-ink-soft); }
.shop-preview-grid em { margin-top: auto; color: var(--blend-bronze-dark); font-size: .65rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.status-list p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: .9rem 0; border-bottom: 1px solid var(--blend-line-light); }
.status-list span { color: #c6bdca; }
.policy-summary { margin-top: 0; }
.policy-summary nav { display: grid; gap: 0; }
.policy-summary nav a { padding: .8rem 0; border-bottom: 1px solid var(--blend-line-light); color: var(--blend-ivory); text-decoration: none; }
.policy-summary--gated { background: var(--blend-bronze-dark); }
.policy-summary .button-secondary { justify-self: end; border-color: var(--blend-ivory) !important; color: var(--blend-ivory) !important; }
.policy-body { max-width: 62rem; margin-inline: auto; }
.policy-body > section { display: grid; grid-template-columns: minmax(14rem, .45fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 5rem); padding-block: 2rem; border-top: 1px solid var(--blend-line); }
.policy-body > section:last-child { border-bottom: 1px solid var(--blend-line); }
.policy-body h2 { margin-top: 0; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.policy-body blockquote { grid-column: 2; }
.commerce-context, .booking-overview, .account-benefits { grid-template-columns: repeat(3, 1fr); margin-bottom: 3rem; }
.commerce-context > div, .booking-overview > div, .account-benefits > div { padding: 1.25rem; background: var(--blend-ivory); }
.commerce-context strong { display: block; margin: .8rem 0 .25rem; font: 500 1.5rem/1 var(--blend-serif); }
.commerce-context p, .booking-overview p, .account-benefits p { margin: .35rem 0 0; color: var(--blend-ink-soft); font-size: .72rem; }
.booking-overview { margin-top: 0; }
.booking-overview > div, .account-benefits > div { min-height: 12rem; }
.booking-overview h2, .account-benefits h2 { margin-top: 2rem; font-size: 2rem; }
.booking-tool { margin-top: 3rem; }
.commerce-help h2 { margin-top: 0; font-size: 2rem; }
.error-page { max-width: 66rem; }

@container (max-width: 34rem) {
  .finder-choices, .finder-duration { grid-template-columns: 1fr; }
}

@media (max-width: 70rem) {
  .next-hero { grid-template-columns: minmax(22rem, .9fr) minmax(0, 1.1fr); }
  .next-hero-copy { padding-left: 2.5rem; }
  .next-hero-copy h1 { font-size: clamp(4rem, 8vw, 6.2rem); }
  .experience-index { grid-template-columns: repeat(2, 1fr); }
  .experience-index a:nth-child(2) { border-right: 0; }
  .experience-index a:nth-child(-n+2) { border-bottom: 1px solid var(--blend-line); }
  .experience-grid, .timeline { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 54rem) {
  .next-hero { min-height: 0; display: flex; flex-direction: column-reverse; }
  .next-hero-visual { min-height: 36rem; }
  .next-hero-copy { padding: 4.5rem 1.5rem 5rem; }
  .next-hero-copy h1 { font-size: clamp(4rem, 13.5vw, 6.4rem); }
  .session-finder, .approach-grid, .practitioner-grid, .service-options { grid-template-columns: 1fr; }
  .finder-intro { position: static; }
  .modality-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .modality-card, .modality-card--large { min-height: 30rem; grid-row: auto; }
  .modality-card--text { min-height: 19rem; }
  .practitioner-image { min-height: 34rem; }
  .notes-grid { grid-template-columns: 1fr; }
  .notes-grid a { min-height: 14rem; }
  .service-option-grid { grid-template-columns: 1fr; }
  .service-options--contact { align-items: start; }
  .blend-breadcrumbs { width: min(calc(100% - 2rem), var(--content)); }
  .section-heading, .editorial-columns, .decision-panel, .credential-panel, .service-expectations, .shop-status, .policy-summary { grid-template-columns: 1fr; }
  .feature-cards, .contact-facts, .shop-preview-grid { grid-template-columns: 1fr; }
  .article-directory, .link-panels { grid-template-columns: 1fr; }
  .policy-body > section { grid-template-columns: 1fr; }
  .policy-body blockquote { grid-column: auto; }
  .credential-panel .button, .policy-summary .button-secondary { justify-self: start; }
  .home-main-v3 { padding-bottom: 4.75rem; }
  .mobile-booking-rail { position: fixed; z-index: 80; right: .65rem; bottom: .65rem; left: .65rem; min-height: 3.9rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 1rem; color: var(--blend-ivory); background: rgba(43,41,45,.96); box-shadow: 0 1rem 3rem rgba(33,31,35,.32); text-decoration: none; backdrop-filter: blur(14px); }
  .mobile-booking-rail span { font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }
  .mobile-booking-rail strong { font-size: .76rem; }
}

@media (max-width: 34rem) {
  .next-hero-visual { min-height: 30rem; }
  .opening-panel { right: .7rem; bottom: .7rem; left: .7rem; width: auto; }
  .opening-panel h2 { font-size: 2rem; }
  .next-hero-copy { padding-inline: 1rem; }
  .next-hero-copy h1 { font-size: clamp(3.7rem, 17.5vw, 5.2rem); }
  .experience-index { grid-template-columns: 1fr; }
  .experience-index a { border-right: 0; border-bottom: 1px solid var(--blend-line); }
  .experience-index a:last-child { border-bottom: 0; }
  .finder-card { padding: 1rem; box-shadow: 1rem 1rem 0 rgba(172,134,168,.1); }
  .modality-card, .modality-card--large { min-height: 25rem; }
  .practitioner-image { min-height: 29rem; }
  .credential-row { display: grid; }
  .blend-guide-links { grid-template-columns: 1fr; }
  .service-options { padding-inline: 1rem; }
  .experience-grid, .timeline, .comparison-table, .commerce-context, .booking-overview, .account-benefits { grid-template-columns: 1fr; }
  .visit-journey > article { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .page-section--tint, .decision-panel, .credential-panel, .service-expectations, .shop-status, .policy-summary { padding-inline: 1.25rem; }
}
