/* Shared visual system, homepage and footer. */
body {
  --clean-frame: min(1480px, calc(100% - 48px));
  --clean-content: min(1216px, calc(100% - 112px));
  --clean-section-gap: clamp(32px, 4vw, 64px);
  --clean-radius: 22px;
  --clean-top: 20px;
  --clean-heading-size: clamp(2.5rem,4vw,4rem);
  color: #33373d;
  background: #fff;
  padding-bottom: 0;
}
.clean-home { font-family: var(--sans); }
.clean-home h1, .clean-home h2, .clean-home h3, .clean-home p { margin: 0; }
.clean-home h1, .clean-home h2 { font-family: var(--sans); font-style: normal; font-weight: 450; letter-spacing: -.05em; line-height: 1.06; }
.clean-home h2 { font-size: var(--clean-heading-size); overflow-wrap: break-word; }
.clean-home h3 { font-family: var(--sans); font-style: normal; font-weight: 550; letter-spacing: -.025em; }
.clean-home p { color: #686d70; font-size: 1rem; line-height: 1.8; }
.clean-home a, .clean-footer a { text-decoration: none; }
.clean-home img { display: block; width: 100%; height: 100%; object-fit: cover; }
.clean-home [id] { scroll-margin-top: 110px; }
.clean-home :focus-visible, .clean-footer :focus-visible { outline: 2px solid #a47735; outline-offset: 6px; }
.clean-container { width: var(--clean-content); margin-inline: auto; }
.clean-section { padding-block: clamp(80px,8vw,120px); }
/* Every section shares the hero's outer edges; content keeps its own inset. */
.clean-home > section, .clean-footer { width: var(--clean-frame); margin-inline: auto; border-radius: var(--clean-radius); }
.clean-products + .clean-reviews,
.clean-reviews + .clean-gift { margin-top: var(--clean-section-gap); }
.clean-button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 15px 25px; border: 0; border-radius: 100px; font-size: .875rem; font-weight: 550; line-height: 1.4; text-align: center; transition: background .2s,color .2s; }
.clean-button-light { color: #33373d; background: #fff; }
.clean-button-light:hover { background: #eee9df; }
.clean-button-dark { color: #fff; background: #33373d; }
.clean-button-dark:hover { background: #52575d; }
.clean-button-soft { color: #33373d; background: #ebe6dc; }
.clean-button-soft:hover { background: #e2d4bc; }
.clean-button-gold { color: #282c30; background: #f1b000; }
.clean-button-gold:hover { background: #ffca38; }
.clean-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 25px; }
.clean-text-link { display: inline-flex; align-items: center; min-height: 44px; color: #33373d; font-size: .875rem; font-weight: 500; }
.clean-text-link:hover { color: #87642e; }
.clean-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* Same top edge, same width. The header sits quietly over the film. */
body .modern-header { top: var(--clean-top); }
body .modern-header .header-inner { width: var(--clean-frame); min-height: 88px; padding: 0 36px; gap: 30px; color: #fff; background: transparent; border: 0; border-radius: 22px; box-shadow: none; backdrop-filter: none; }
body .modern-header .brand { gap: 13px; }
body .modern-header .maha-logo { display: block; width: 82px; height: 58px; object-fit: contain; padding: 3px; border-radius: 14px; background: #33373d; }
body[data-page="home"] .modern-header:not(.scrolled) .maha-logo { background: transparent; }
body .modern-header .brand b { font-size: 1.4rem; letter-spacing: .24em; }
body .modern-header .brand small { color: rgba(255,255,255,.75); }
body .modern-header .modern-nav { gap: 30px; }
body .modern-header .modern-nav>a,
body .modern-header .nav-group-label>a { color: #fff; font-size: .875rem; font-weight: 500; letter-spacing: 0; }
body .modern-header .modern-nav>a::after,
body .modern-header .nav-group-label>a::after { display: none; }
body .modern-header .nav-group-label button { color: #fff; }
body .modern-header .header-phone { display: none; }
body .modern-header .nav-cta { display: inline-flex; margin: 0; min-height: 46px; padding: 12px 23px; color: #fff; background: #33373d; border: 0; border-radius: 100px; font-size: .875rem; font-weight: 550; letter-spacing: 0; text-transform: none; }
body .modern-header .nav-cta i { display: none; }
body .modern-header .menu { color: #fff; }
body .modern-header.scrolled { top: 10px; }
body .modern-header.scrolled .header-inner { color: #33373d; background: #fff; box-shadow: 0 7px 28px rgba(30,33,37,.07); }
body .modern-header.scrolled .modern-nav>a,
body .modern-header.scrolled .nav-group-label>a,
body .modern-header.scrolled .nav-group-label button,
body .modern-header.scrolled .menu { color: #33373d; }
body .modern-header.scrolled .brand small { color: #7b7e7f; }
body .modern-header .mega-menu { grid-template-columns: 1fr; width: 360px; padding: 14px; border: 0; border-radius: 16px; }
body .modern-header .mega-intro { display: none; }
body .modern-header .mega-links { grid-template-columns: 1fr; padding: 0; }
body .modern-header .mega-links>a { grid-template-columns: 1fr; border: 0; padding: 13px 17px; }
body .modern-header .mega-links>a>span,
body .modern-header .mega-links small,
body .modern-header .mega-links i { display: none; }
body .modern-header .mega-links b { color: #33373d; font-size: .875rem; font-weight: 500; }

/* One headline, one sentence, one action. */
.clean-hero { position: relative; isolation: isolate; display: flex; align-items: flex-end; width: var(--clean-frame); min-height: clamp(650px,84svh,840px); margin: var(--clean-top) auto 0; padding: 170px clamp(36px,6vw,88px) 82px; color: #fff; background: #33373d; border-radius: 22px; overflow: hidden; }
.clean-film { position: absolute; inset: 0; z-index: -1; }
.clean-film img, .clean-film video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.clean-film video { opacity: 0; transition: opacity .6s; }
.clean-film video.is-playing { opacity: 1; }
.clean-film::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(25,29,32,.66),rgba(25,29,32,.31) 58%,rgba(25,29,32,.12)),linear-gradient(0deg,rgba(25,29,32,.3),transparent 60%,rgba(25,29,32,.17)); }
.clean-hero-content { max-width: 1050px; }
.clean-hero h1 { font-size: clamp(3.3rem,6.3vw,6.6rem); line-height: 1.05; }
.clean-hero-content>p { margin: 25px 0 30px; color: rgba(255,255,255,.84); font-size: 1.0625rem; }
.clean-film-toggle { position: absolute; bottom: 25px; right: 28px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: #fff; background: rgba(20,25,30,.2); border: 0; border-radius: 50%; font: .875rem var(--sans); cursor: pointer; }
.clean-film-toggle:hover { background: rgba(20,25,30,.5); }
.clean-film-toggle[hidden] { display: none; }

/* All seven categories, with useful descriptions and no decorative dividers. */
.clean-treatment { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(55px,7vw,110px); }
.clean-treatment-image { position: relative; height: 660px; border-radius: 18px; overflow: hidden; background: #eeeae4; }
.clean-treatment-image>img { object-position: 50% 28%; }
.clean-treatment-copy>p { max-width: 430px; margin-top: 22px; }
.clean-treatment-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 24px; margin: 34px 0; }
.clean-treatment-links>a { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 6px; min-height: 62px; color: #33373d; transition: color .2s; }
.clean-treatment-links h3 { font-size: 1.0625rem; line-height: 1.35; }
.clean-treatment-links>a>span { color: #686d70; font-size: .8125rem; line-height: 1.5; }
.clean-treatment-links>a:hover h3 { color: #87642e; }
.clean-treatment-copy .clean-button { margin-top: 5px; }
.clean-treatment-copy .clean-treatment-help { margin-top: 20px; font-size: .8125rem; }
.clean-treatment-help>a { display: inline-block; padding-block: 6px; color: #555b60; }
.clean-treatment-help>a:hover { color: #87642e; }

/* Feature moments keep the complete story, in quiet image-and-text layouts. */
.clean-feature { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); background: #f3efe7; border-radius: 22px; overflow: hidden; }
.clean-feature-copy { align-self: center; padding: clamp(40px,5vw,76px); }
.clean-feature h2 { font-size: var(--clean-heading-size); }
.clean-feature-copy>p { max-width: 415px; margin-block: 26px 30px; }
.clean-feature-image { min-height: 570px; }
.clean-feature-image>img { height: 100%; min-height: 570px; }
.clean-signature .clean-feature-image>img { object-position: 50% 30%; }
.clean-feature-copy .clean-signature-meta { margin: 0 0 30px; color: #33373d; font-size: 1rem; font-weight: 550; }

/* The person, experience and personal guidance behind the clinic. */
.clean-about { background: #fff; }
.clean-about-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(70px,9vw,140px); }
.clean-about-copy>p { max-width: 410px; margin-top: 26px; }
.clean-about-copy>p+p { margin-top: 16px; }
.clean-about-copy>.clean-button { margin-top: 30px; }
.clean-about-image { position: relative; height: 540px; border-radius: 18px; overflow: hidden; background: #eeeae4; }
.clean-about-image>img { object-position: 50% 36%; }

/* Products and customer voices stay visible without badges or extra labels. */
.clean-products { background: #f7f6f2; }
.clean-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 30px 70px; }
.clean-section-heading>div { min-width: 0; }
.clean-section-heading p { max-width: 475px; margin-top: 24px; }
.clean-section-heading>.clean-button { flex-shrink: 0; }
.clean-product-photos { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 45px; }
.clean-product-photos > a { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; min-width: 0; color: #33373d; }
.clean-product-photos > a > div { grid-column: 1/-1; aspect-ratio: 1.25; overflow: hidden; border-radius: 16px; }
.clean-product-photos > a > span { font-size: 1rem; font-weight: 550; }
.clean-product-photos small { display: block; margin-top: 4px; color: #686d70; font-size: .8125rem; font-weight: 400; }
.clean-product-photos img { object-position: center; }
.clean-brand-list { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 30px 40px; margin: 64px 0 0; padding: 0; list-style: none; color: #555b60; }
.clean-brand-list>li { font-family: var(--sans); font-size: clamp(1.2rem,1.9vw,1.65rem); font-weight: 500; letter-spacing: .04em; }
.clean-reviews { background: #f7f6f2; }
.clean-review-grid { --review-gap: 20px; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * var(--review-gap)) / 4); gap: var(--review-gap); margin-top: 40px; padding: 4px 2px 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: #d1ab78 #f3efe7; }
.clean-review-grid>figure { display: flex; flex-direction: column; gap: 22px; min-height: 320px; margin: 0; padding: 28px; border-radius: 18px; background: #fff; box-shadow: 0 3px 12px rgba(51,55,61,.025); scroll-snap-align: start; overflow-wrap: anywhere; }
.clean-review-grid figcaption { margin-top: auto; }
.clean-review-grid .clean-review-empty { color: #686d70; font-size: .9375rem; }
.clean-review-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 20px; }
.clean-review-controls>span { color: #686d70; font-size: .875rem; }
.clean-review-controls>div { display: flex; gap: 10px; }
.clean-review-controls button { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; color: #33373d; background: #ebe6dc; cursor: pointer; font: 1.35rem var(--sans); transition: background .2s; }
.clean-review-controls button:hover { background: #e2d4bc; }
.clean-review-controls button:disabled { opacity: .4; cursor: default; }
.clean-google-selection { color: #686d70; }
.clean-review-stars { color: #a47735; font-size: 1rem; letter-spacing: .14em; line-height: 1; }
.clean-reviews .clean-review-source { margin-top: 34px; font-size: .75rem; }
.clean-review-grid blockquote { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; margin: 0; padding: 0; color: #33373d; font: 450 1.0625rem/1.65 var(--sans); letter-spacing: -.015em; }
.clean-review-grid figcaption { color: #555b60; font-size: .875rem; font-weight: 500; line-height: 1.7; }
.clean-review-date { display: block; margin-top: 4px; color: #686d70; font-size: .75rem; font-weight: 400; }
.clean-review-read { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: #555b60; font-size: .8125rem; }
.clean-review-read:hover { color: #87642e; }
.clean-gift { background: #f7f6f2; }
.clean-gift .clean-feature-image, .clean-gift .clean-feature-image>img { min-height: 490px; }
.clean-feature-copy .clean-gift-note { margin: 20px 0 0; font-size: .8125rem; }
.clean-instagram h2 { font-size: var(--clean-heading-size); }
.clean-instagram-follow { gap: 10px; }
.clean-instagram-follow svg { width: 20px; height: 20px; flex-shrink: 0; }
.clean-instagram-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; margin-top: 40px; }
.clean-instagram-post { position: relative; display: block; aspect-ratio: 4/5; border-radius: 16px; overflow: hidden; background: #f3efe7; }
.clean-instagram-post>img { transition: transform .35s ease; }
.clean-instagram-post:hover>img { transform: scale(1.035); }
.clean-instagram-post-label { position: absolute; inset: auto 12px 12px; padding: 12px 8px; border-radius: 10px; color: #33373d; background: rgba(255,255,255,.96); font-size: .875rem; font-weight: 500; text-align: center; opacity: 0; transform: translateY(5px); transition: opacity .2s,transform .2s; }
.clean-instagram-post:hover .clean-instagram-post-label,.clean-instagram-post:focus-visible .clean-instagram-post-label { opacity: 1; transform: none; }
.clean-booking { width: var(--clean-frame); margin: 0 auto 24px; padding: clamp(48px,6vw,88px); border-radius: 22px; background: #efe7d9; }
.clean-booking-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 40px 70px; max-width: 1216px; margin-inline: auto; }
.clean-booking-copy>p { margin-top: 26px; color: #62666a; }
.clean-booking-actions { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.clean-booking-actions>.clean-button { min-height: 58px; min-width: 245px; font-size: .9375rem; }
.clean-booking-phone { display: inline-flex; align-items: center; min-height: 44px; color: #555b60; font-size: .875rem; text-align: center; }
.clean-booking-phone:hover { color: #87642e; }

/* Homepage footer only: essential information, no repeated sales sections. */
.clean-footer { margin-bottom: 24px; color: rgba(255,255,255,.78); background: #33373d; font-family: var(--sans); }
.clean-footer-main { display: grid; grid-template-columns: .8fr 1.1fr .7fr 1.15fr; align-items: start; gap: 46px; padding-block: 65px 55px; }
.clean-wordmark { display: grid; justify-content: start; gap: 7px; width: fit-content; color: #fff; line-height: 1; }
.clean-wordmark>span { font-size: 1.7rem; font-weight: 450; letter-spacing: .25em; }
.clean-wordmark .maha-footer-logo { width: 160px; height: 112px; margin: -18px 0 12px -12px; object-fit: contain; }
.clean-wordmark>small { font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; }
.clean-footer-contact,.clean-footer-nav,.clean-footer-hours { display: grid; gap: 10px; font-size: .875rem; line-height: 1.75; }
.clean-footer-contact>a { overflow-wrap: anywhere; }
.clean-footer a:hover { color: #e1c198; }
.clean-footer-hours { color: rgba(255,255,255,.6); }
.clean-footer-bottom { padding-bottom: 28px; color: rgba(255,255,255,.45); font-size: .75rem; line-height: 1.6; }

@media(max-width:1080px) {
  body { --clean-frame: calc(100% - 32px); --clean-content: calc(100% - 72px); --clean-top: 14px; }
  body .modern-header .maha-logo { width: 70px; height: 50px; }
  body .modern-header .header-inner { min-height: 76px; padding-inline: 24px; }
  body .modern-header .modern-nav { display: grid; gap: 0; top: 98px; bottom: 16px; right: 16px; left: 16px; border: 0; border-radius: 16px; }
  body .modern-header .modern-nav>a,
  body .modern-header .nav-group-label>a { color: #33373d; font-size: 1.5rem; }
  body .modern-header .nav-group-label button { color: #33373d; }
  body .modern-header .mega-menu { width: 100%; padding: 0; }
  body .modern-header .mega-links>a { padding-left: 0; }
  .clean-hero { min-height: 700px; padding-inline: 46px; padding-bottom: 65px; }
  .clean-hero h1 { font-size: clamp(3.4rem,7vw,5.3rem); }
  .clean-treatment { gap: 36px; grid-template-columns: .85fr 1.15fr; }
  .clean-treatment-image { height: 660px; }
  .clean-treatment-links { gap: 23px 20px; margin-block: 28px; }
  .clean-treatment-links h3 { font-size: 1rem; }
  .clean-feature-copy { padding: 38px; }
  .clean-feature h2 { font-size: var(--clean-heading-size); }
  .clean-about-grid { gap: 55px; }
  .clean-about-image { height: 520px; }
  .clean-review-grid { grid-auto-columns: calc((100% - var(--review-gap)) / 2); }
  .clean-footer-main { grid-template-columns: 1fr 1.2fr; gap: 40px 70px; }
}
@media(max-width:760px) {
  body { --clean-frame: calc(100% - 24px); --clean-content: calc(100% - 48px); --clean-top: 12px; --clean-radius: 18px; }
  body .modern-header .header-inner { min-height: 72px; padding: 0 16px; gap: 12px; border-radius: 18px; }
  body .modern-header .brand { gap: 8px; }
  body .modern-header .maha-logo { width: 62px; height: 45px; border-radius: 11px; }
  body .modern-header .brand b { font-size: 1.1rem; }
  body .modern-header .brand small { font-size: .5rem; }
  body .modern-header .header-actions { gap: 8px; }
  body .modern-header .nav-cta { min-height: 44px; padding: 11px 17px; font-size: .875rem; }
  body .modern-header .menu { justify-content: center; width: 44px; height: 44px; padding: 8px; }
  body .modern-header .modern-nav { top: 94px; right: 12px; left: 12px; bottom: max(12px,env(safe-area-inset-bottom)); max-height: calc(100dvh - 106px); overscroll-behavior: contain; }
  body { --clean-heading-size: clamp(2.25rem,8vw,3.25rem); }
  .clean-home h2 { font-size: var(--clean-heading-size); }
  .clean-section { padding-block: 65px; }
  .clean-hero { min-height: min(740px,calc(100svh - 24px)); padding: 150px 26px 82px; border-radius: 18px; }
  .clean-hero h1 { font-size: clamp(2.6rem,9vw,4.3rem); line-height: 1.06; overflow-wrap: break-word; }
  .clean-hero-content>p { max-width: 280px; margin: 24px 0 28px; font-size: 1rem; }
  .clean-film video { object-position: 58% center; }
  .clean-film::after { background: linear-gradient(90deg,rgba(25,29,32,.67),rgba(25,29,32,.28)),linear-gradient(0deg,rgba(25,29,32,.33),transparent 80%); }
  .clean-film-toggle { bottom: 19px; right: 19px; }
  .clean-treatment { grid-template-columns: 1fr; gap: 38px; }
  .clean-treatment-image { height: 420px; border-radius: 14px; }
  .clean-treatment-links { gap: 26px 24px; margin: 30px 0; }
  .clean-treatment-links>a { min-height: 54px; }
  .clean-treatment-copy>p { margin-top: 16px; }
  .clean-feature { grid-template-columns: 1fr; border-radius: 18px; }
  .clean-feature-copy { padding: 38px 26px 42px; }
  .clean-feature h2 { font-size: var(--clean-heading-size); }
  .clean-feature-image, .clean-feature-image>img { height: 420px; min-height: 0; }
  .clean-signature .clean-feature-image { order: -1; }
  .clean-feature-copy>p { margin-block: 22px 26px; }
  .clean-about-grid { grid-template-columns: 1fr; gap: 35px; }
  .clean-about-image { height: 430px; border-radius: 14px; order: -1; }
  .clean-about-copy>p { margin: 22px 0 0; }
  .clean-section-heading { align-items: flex-start; flex-direction: column; gap: 26px; }
  .clean-section-heading p { margin-top: 22px; }
  .clean-product-photos { grid-template-columns: 1fr; gap: 32px; margin-top: 32px; }
  .clean-product-photos > a > div { aspect-ratio: 1.5; }
  .clean-wordmark .maha-footer-logo { width: 128px; height: 90px; margin-left: -8px; }
  .clean-brand-list { justify-content: flex-start; gap: 27px 32px; margin-top: 44px; }
  .clean-brand-list>li { font-size: 1.15rem; }
  .clean-review-grid { grid-auto-columns: 88%; margin-top: 32px; }
  .clean-review-grid>figure { gap: 22px; min-height: 300px; padding: 26px; }
  .clean-review-grid blockquote { font-size: 1.0625rem; }
  .clean-instagram-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 32px; }
  .clean-instagram-post { border-radius: 12px; }
  .clean-gift .clean-feature-image, .clean-gift .clean-feature-image>img { height: 330px; min-height: 0; }
  .clean-booking { padding: 44px 26px 36px; margin-bottom: 12px; border-radius: 18px; }
  .clean-booking-inner { grid-template-columns: 1fr; gap: 30px; }
  .clean-booking-copy>p { margin-top: 22px; }
  .clean-booking-copy>p>br { display: none; }
  .clean-booking-actions { align-items: stretch; gap: 10px; }
  .clean-booking-actions>.clean-button { min-width: 0; width: 100%; }
  .clean-booking-phone { justify-content: center; }
  .clean-footer { margin-bottom: 12px; }
  .clean-footer-main { grid-template-columns: 1fr 1fr; gap: 35px 24px; padding-block: 45px; }
  .clean-footer-contact { grid-column: 1/-1; grid-row: 2; }
  .clean-footer-hours { grid-column: 1/-1; }
  .clean-footer-bottom { max-width: 100%; }
}
@media(max-width:420px) {
  .clean-home h1 { font-size: clamp(2.1rem,9vw,2.6rem); }
  .clean-footer-nav a, .clean-footer-contact a { min-height: 44px; display: flex; align-items: center; }
  body .modern-header .brand > span { display: none; }
  body .modern-header .maha-logo { width: 78px; height: 55px; }
  .clean-treatment-links { grid-template-columns: 1fr; gap: 22px; }
  .clean-treatment-links h3 { font-size: 1.125rem; }
  .clean-treatment-image { height: 370px; }
}
@media(prefers-reduced-motion:reduce) {
  .clean-home *, .clean-home *::before, .clean-home *::after { transition: none!important; animation: none!important; }
  .clean-review-grid { scroll-behavior: auto; }
}

/* The gallery reaches the shared frame edges on every page. */
.site-footer .clean-instagram-grid { width: 100%; }
.site-footer .clean-instagram { padding-bottom: clamp(48px,6vw,88px); }
.site-footer .clean-footer { border-radius: var(--clean-radius); }
.site-footer .clean-footer-main { color: rgba(255,255,255,.78); }

/* The facial subpages are available directly from the shared treatment menu. */
body .modern-header .mega-menu { max-height: min(72svh,650px); overflow-y: auto; overscroll-behavior: contain; }
.mega-facials { color: #33373d; }
.mega-facials > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; padding: 13px 17px; border-radius: 10px; font-size: .875rem; font-weight: 500; cursor: pointer; list-style: none; }
.mega-facials > summary::-webkit-details-marker { display: none; }
.mega-facials > summary:hover, .mega-facials[open] > summary { background: #f7f6f2; }
.mega-facials > summary > span { font-size: 1.2rem; }
.mega-facials[open] > summary > span { transform: rotate(45deg); }
.mega-subpages { display: grid; padding: 4px 0 10px 12px; }
.mega-subpages a { display: flex; align-items: center; min-height: 44px; padding: 10px 17px; border-radius: 9px; color: #555b60; font-size: .8125rem; line-height: 1.45; text-decoration: none; }
.mega-subpages a:hover, .mega-subpages a[aria-current="page"] { color: #785924; background: #f7f6f2; }
@media(max-width:1080px) {
  body .modern-header .mega-menu { max-height: none; overflow: visible; }
  .mega-facials > summary { padding-left: 0; }
  .mega-subpages { padding-left: 0; }
}

/* Personal introduction shared by every page, immediately above footer details. */
.site-footer > .clean-about{width:var(--clean-frame);margin:var(--clean-section-gap) auto 0;border-radius:var(--clean-radius)}

.clean-welcome-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center}.clean-welcome h2{font-size:var(--clean-heading-size)}.clean-welcome p{max-width:540px}.clean-welcome + .clean-section{padding-top:0}@media(max-width:760px){.clean-welcome-grid{grid-template-columns:1fr;gap:24px}}

/* Welcome: a personal portrait beside a short introduction. */
.clean-welcome-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(32px,6vw,88px)}
.clean-welcome-image{aspect-ratio:4/5;max-height:600px;overflow:hidden;border-radius:var(--clean-radius)}
.clean-welcome-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.clean-welcome-copy{display:grid;gap:24px;align-content:center}.clean-welcome-copy h2{max-width:620px}.clean-welcome-copy p{max-width:560px}.clean-welcome-copy .clean-text-link{justify-self:start}
@media(max-width:760px){.clean-welcome-grid{grid-template-columns:1fr;gap:32px}.clean-welcome-image{aspect-ratio:5/4;max-height:420px}.clean-welcome-copy{gap:20px}}

/* Full-width film and a softer framed welcome block. */
.clean-home > .clean-hero{width:100%;margin:0;border-radius:0}
.clean-welcome{padding-inline:clamp(24px,4vw,64px);background:#f3efe7;overflow:hidden}
.clean-welcome-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}
.clean-welcome-copy{order:1}.clean-welcome-image{order:2;justify-self:end;width:100%}
@media(max-width:760px){.clean-home > .clean-hero{min-height:100svh;border-radius:0}.clean-welcome{padding-inline:0}.clean-welcome-grid{grid-template-columns:1fr}.clean-welcome-copy{order:1}.clean-welcome-image{order:2;justify-self:stretch}}

/* Breathing room around the homepage introduction. */
.clean-home > .clean-welcome{margin-top:var(--clean-section-gap);margin-bottom:var(--clean-section-gap)}
@media(max-width:760px){.clean-home > .clean-welcome{margin-top:32px;margin-bottom:32px}}
