.home-header{position:sticky;top:0;z-index:50;transition:background .25s,box-shadow .25s}
.home-header.is-scrolled,.home-header.is-menu-open{background:rgba(255,255,255,.83);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(96,86,116,.09)}
.mega-menu{position:absolute;top:100%;left:0;width:100%;max-height:calc(100dvh - 88px);overflow-y:auto;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--purple-line);box-shadow:0 16px 24px #34333808;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:mega-enter .18s ease-out}
.mega-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;max-width:1360px;padding-block:38px 44px;text-align:center}
.mega-column{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:var(--text-body-small);line-height:1.6}
.mega-column a{padding:5px 0;transition:color .2s}
.mega-column .mega-title{font-size:var(--text-body-medium);font-weight:600;color:var(--purple-ink);margin-bottom:5px}
.mega-column a:hover{color:var(--purple);text-decoration:underline;text-underline-offset:5px}
.desktop-nav [aria-expanded=true]:hover{color:var(--purple)}
.mobile-menu{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.mobile-menu details{border-bottom:1px solid var(--line)}
.mobile-menu summary{padding:15px 0;cursor:pointer;color:var(--ink);list-style:none;display:flex;justify-content:space-between}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary::after{content:'+';color:var(--purple);font-size:var(--text-card);line-height:1.3}
.mobile-menu details[open] summary::after{content:'−'}
.mobile-menu details>div{padding:0 0 14px 15px}
.mobile-menu details a{font-size:var(--text-small);padding:8px 0;border:0;color:var(--body)}
@keyframes mega-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

.principle-row{width:100%;padding:0;border-right:0;border-left:0;border-bottom:0;border-radius:0;background:var(--paper);text-align:left;color:var(--ink);font:inherit}
.principle-title{display:block;font-size:var(--type-card);font-weight:var(--weight-medium);line-height:1.45;letter-spacing:-.045em}
.principle-row>img{position:absolute;right:0;top:0;width:55%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);mask-image:linear-gradient(to right,transparent,black 40%);-webkit-mask-image:linear-gradient(to right,transparent,black 40%);opacity:0;transform:translateX(16px);transition:opacity .4s ease,transform .55s ease;pointer-events:none}
.principle-row.is-active>img{opacity:1;transform:none}
.principle-row:focus-visible{outline-offset:-4px}

.hm-ba{--ba-width:min(760px,65vw)}
.hm-ba__track{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:calc((100% - var(--ba-width))/2);padding-block:4px 12px;scroll-behavior:smooth;cursor:grab;user-select:none;overscroll-behavior-x:contain}
.hm-ba__track::-webkit-scrollbar{display:none}
.hm-ba__track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.hm-ba__track img{-webkit-user-drag:none}
.hm-ba__card{flex:0 0 var(--ba-width);min-width:0;text-align:center;scroll-snap-align:center;opacity:.38;transform:scale(.94);transition:opacity .3s,transform .3s}
.hm-ba__card.is-active,.hm-ba__card:first-child:not(.is-ready){opacity:1;transform:none}
.hm-ba__pair{display:grid;grid-template-columns:1fr 1fr;position:relative;aspect-ratio:1.9;border-radius:28px;overflow:hidden;background:var(--purple-line)}
.hm-ba__slot{display:block;position:relative;overflow:hidden}
.hm-ba__slot--after{border-left:1px solid #ffffff80}
.hm-ba__slot img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 35%}
.hm-ba__slot img[src*="home-model-bun-left"]{object-position:6% center}
.hm-ba__slot img[src*="home-model-wide"]{object-position:50% center}
.hm-ba__slot>span{position:absolute;left:22px;bottom:18px;padding:5px 15px;border-radius:999px;background:#ffffffe6;color:var(--purple-ink);font-size:var(--text-caption-small);letter-spacing:0}
.hm-ba__slot--after>span{left:auto;right:22px}
.hm-ba__card h3{margin-top:22px;font-size:var(--text-body-medium);font-weight:500;letter-spacing:-.02em;color:var(--purple-ink)}

.hm-ba__controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:26px}
.hm-ba__controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--purple-line);border-radius:50%;background:transparent;color:var(--purple-ink);font-size:var(--text-card);cursor:pointer}
.hm-ba__controls button:hover:not(:disabled){background:var(--purple-line)}
.hm-ba__controls button:disabled{opacity:.3;cursor:default}
.hm-ba__controls [data-ba-pause]{width:36px;height:36px;border:0;font-size:var(--text-body)}
.hm-ba__status{font-size:var(--text-caption-small);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--body)}
.hm-ba__track:focus-visible{outline:2px solid var(--purple);outline-offset:-3px}
@media(max-width:1350px){.mega-grid{gap:16px}.mega-column{font-size:var(--text-small)}.mega-column .mega-title{font-size:var(--text-body-small)}}
@media(max-width:1050px){.mega-menu{display:none!important}html{scroll-padding-top:104px}}
@media(max-width:760px){html{scroll-padding-top:96px}.mobile-menu{max-height:calc(100dvh - 72px)}.principle-title{font-size:var(--text-lead);max-width:72%}.principle-row>img{width:58%;mask-image:linear-gradient(to right,transparent,black 75%);-webkit-mask-image:linear-gradient(to right,transparent,black 75%)}.principle-row.is-active>img{opacity:.7}.hm-ba{--ba-width:84vw}.hm-ba__track{gap:14px}.hm-ba__pair{aspect-ratio:1.3;border-radius:22px}.hm-ba__slot>span{left:12px;bottom:12px;font-size:var(--text-tiny);padding:4px 12px}.hm-ba__slot--after>span{left:auto;right:12px}.hm-ba__slot img[src*="home-model-bun-left"]{object-position:13% center}.hm-ba__card h3{font-size:var(--text-body-small);margin-top:18px}.hm-ba__controls{margin-top:20px;gap:18px}}
@media(prefers-reduced-motion:reduce){.hm-ba__track{scroll-behavior:auto}.mega-menu{animation:none}.principle-row>img,.hm-ba__card{transition:none}}

.event-thumbnail{display:block;aspect-ratio:1;overflow:hidden;background:var(--purple-soft);scroll-snap-align:start}
.event-thumbnail img{width:100%;height:100%;object-fit:contain;transition:transform .35s}
.event-thumbnail:hover img{transform:scale(1.025)}
.visit.section{width:100%;max-width:none;margin:0;background:var(--purple-soft);padding-block:64px}
.visit-grid.shell{background:transparent;padding:0}
.facts-grid [data-count]{font-variant-numeric:tabular-nums}
@media(max-width:760px){.visit.section{padding-block:32px}}

.hm-ba__track{display:block;overflow:hidden;padding:4px 0 12px;scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-y pinch-zoom}
.hm-ba__rail{display:flex;gap:30px;width:100%;will-change:transform}
.hm-ba__card,.hm-ba__card.is-active{transform:none;scroll-snap-align:none;transition:opacity .35s}
.hm-ba__card .hm-ba__pair{transform:scale(.94);transition:transform .35s}
.hm-ba__card.is-active .hm-ba__pair{transform:scale(1)}
@media(max-width:760px){.hm-ba__rail{gap:14px}}
@media(prefers-reduced-motion:reduce){.hm-ba__card .hm-ba__pair{transition:none}}

.opening-decoration{position:absolute;inset:0 0 auto;height:600px;overflow:hidden;pointer-events:none;z-index:0}
.opening-decoration>.shell{position:relative;height:100%}
.opening-decoration .hero-mark{top:-132px}
.home-header:not(.is-scrolled):not(.is-menu-open){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.hero{z-index:1}
.hero-photo{position:relative;overflow:hidden;isolation:isolate}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-position:50% 16%;opacity:0;transform-origin:center;will-change:transform,opacity}
.hero-photo img:first-child{opacity:1}
.hero-photo img:nth-child(2){object-position:50% 40%}
.hero-photo img:nth-child(3){object-position:50% 45%}
@media(max-width:1050px){.opening-decoration .hero-mark{top:-140px}}
@media(max-width:760px){.opening-decoration{height:450px}.opening-decoration .hero-mark{top:-8px}.hero-photo img:first-child{object-position:57% 45%}}
@media(prefers-reduced-motion:reduce){.hero-photo img{transform:none!important;will-change:auto}}

.events-grid{width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px) and (min-width:761px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.events-grid{grid-template-columns:repeat(4,80%)}}

.overline{font-size:var(--type-card);font-weight:500;letter-spacing:0}
.hero-intro h1{font-size:var(--type-hero);line-height:1.42}
.youtube-action{display:flex;justify-content:center;margin-top:48px}
@media(max-width:760px){.overline{font-size:var(--text-card-small)}.hero-intro h1{font-size:var(--text-hero-mobile);max-width:560px;line-height:1.45}.youtube-action{margin-top:32px}}
@media(max-width:380px){.hero-intro h1{font-size:var(--text-hero-mobile-small)}}

.hero{--hero-header-height:88px;overflow:visible}
.hero-copy{position:sticky;top:var(--hero-header-height);z-index:3;background:var(--paper)}
.hero-copy .opening-decoration{top:calc(-1 * var(--hero-header-height));height:calc(100% + var(--hero-header-height))}
.hero-photo{z-index:1}
@media(max-width:1050px){.hero{--hero-header-height:80px}}
@media(max-width:760px){.hero{--hero-header-height:72px}.hero-copy{position:relative;top:auto}}
@media(max-height:650px),(prefers-reduced-motion:reduce){.hero-copy{position:relative;top:auto}}

.ink-reveal{color:var(--purple);background:linear-gradient(100deg,var(--purple) 0%,var(--purple) 42%,var(--ink) 58%,var(--ink) 100%);background-size:280% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-position 2.4s cubic-bezier(.22,.61,.36,1)}
.ink-reveal.is-revealed{background-position:0% 0}
@media(prefers-reduced-motion:reduce){.ink-reveal{transition:none}}

@media(min-width:761px){
  .hero-facts .facts-grid{width:100%;max-width:none;grid-template-columns:repeat(4,minmax(0,1fr))}
  .hero-facts .facts-grid>div,.hero-facts .facts-grid>div:first-child{padding:24px clamp(24px,3.5vw,68px)}
}

.principle-row{background:linear-gradient(105deg,#fff 0%,#faf9fc 34%,#eeeaf5 72%,#ddd5e9 100%);padding-block:38px;min-height:235px}
.principle-row:nth-child(2){background:linear-gradient(105deg,#fff 0%,#faf9fc 34%,#ede8f3 72%,#e1d8eb 100%)}
.principle-row:nth-child(3){background:linear-gradient(105deg,#fff 0%,#faf9fc 34%,#eeecf5 72%,#dbd8e9 100%)}
.principle-description{display:block;margin-top:14px;max-width:65%;font-size:var(--type-eyebrow);line-height:1.75;font-weight:400;color:var(--body);letter-spacing:-.025em}
.principle-row>img{mask-image:linear-gradient(to right,transparent,black 65%);-webkit-mask-image:linear-gradient(to right,transparent,black 65%)}
@media(max-width:760px){.principle-row{padding-block:30px;min-height:210px}.principle-description{max-width:88%;font-size:var(--text-body-small);margin-top:12px}.principle-row>img,.principle-row.is-active>img{opacity:.38;transform:none}}

.signature-card--cellcode img{filter:none;object-position:50% 50%}

/* Section entries use the individual translate property to preserve existing transforms. */
.scroll-reveal{opacity:0;translate:0 26px;transition:opacity .8s ease var(--reveal-delay,0ms),translate .8s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms)}
.scroll-reveal.is-visible{opacity:1;translate:0 0}
@media(max-width:760px){.scroll-reveal{translate:0 18px}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;translate:none;transition:none}}
@media print{.scroll-reveal{opacity:1;translate:none}}

.philosophy{background:linear-gradient(115deg,rgba(94,80,120,.78),rgba(101,123,149,.72)),url('../img/textures/white-lavender-marble.webp') center/cover;color:#fff}
.philosophy blockquote,.philosophy h2,.philosophy h2 span{color:#fff}
.philosophy .vertical-rule{background:rgba(255,255,255,.45)}

.reservation{position:relative;border-top:0;padding-top:clamp(56px,5vw,96px)}
.reservation::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--purple-line);box-shadow:0 0 0 100vmax var(--purple-line);clip-path:inset(0 -100vmax);pointer-events:none}

.hero-photo img.hero-model{object-position:50% 0%;transform-origin:50% 0%;filter:none}

.hero-purple-light{color:#78509b;background-image:linear-gradient(105deg,#78509b 0%,#78509b 34%,#9865bb 43%,#b782d7 50%,#9865bb 57%,#78509b 66%,#78509b 100%);background-size:260% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:hero-purple-light 5.5s ease-in-out infinite alternate}
@keyframes hero-purple-light{from{background-position:100% 50%}to{background-position:0% 50%}}
.principle-row .principle-title,.principle-row .principle-description{color:var(--purple-ink)}
.principle-row .index-number{color:var(--purple)}
@media(prefers-reduced-motion:reduce){.hero-purple-light{animation:none;background:none;-webkit-text-fill-color:currentColor}}

.signature-card img{filter:none}
.signature-card[href="thread-lifting.html"] img{object-position:center}
.signature-card[href="side-effect.html"] img{object-position:58% center}

#philosophy-title{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.3vw,25px)}
#philosophy-title em{font-style:italic;min-width:0}
#philosophy-title .philosophy-brace{font-size:1.8em;line-height:1;font-style:normal;font-weight:400;margin:0;flex-shrink:0}

.doctor-slideshow{position:relative}
.doctor-slideshow-track{display:flex;width:100%;height:100%;transition:transform 400ms cubic-bezier(.22,.61,.36,1)}
.doctor-slideshow-track>img{flex:0 0 100%;min-width:0;height:100%;object-position:center}
.doctor-slideshow-track>img:first-child{object-position:66% 50%}
@media(prefers-reduced-motion:reduce){.doctor-slideshow-track{transition:none}}

@media(min-width:1051px){
 .doctor-grid:has(.doctor-slideshow){align-items:center}
 .doctor-grid:has(.doctor-slideshow)>.doctor-profile{margin-block:24px}
 .doctor-slideshow{aspect-ratio:auto;align-self:stretch;min-height:clamp(560px,36vw,700px)}
 .doctor-slideshow .doctor-slideshow-track{position:absolute;inset:0}
}
@media(min-width:761px) and (max-width:1050px){.doctor-slideshow{aspect-ratio:1.35}}
@media(max-width:760px){.doctor-slideshow{aspect-ratio:1}}

.expertise-media{position:relative;aspect-ratio:2.15;overflow:hidden;background:#f4f3f5}
.expertise .expertise-media img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;filter:none}
.expertise-media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);pointer-events:none}
.expertise .expertise-media--materials img{object-fit:contain;background:#fff}
@media(max-width:760px){.expertise-media{aspect-ratio:1.9}}

@media(min-width:761px){
 .reservation--sticky{align-items:start}
 .reservation--sticky>.reservation-intro{position:sticky;top:112px;align-self:start;padding-top:0}
}

.doctor-action{display:flex;justify-content:center;margin-top:var(--space-heading)}

.events--band{background:var(--purple-soft);border:0}
.events--band + .reservation{border-top:0}
.events--band + .reservation::before{content:none;display:none}

.event-coming-soon{display:none;aspect-ratio:1;border:1px solid var(--purple-line);background:var(--soft);place-items:center;text-align:center}
#main .event-coming-soon p{font-size:var(--text-lead);font-weight:500;color:var(--purple-ink)}
@media(min-width:761px){.events-grid:has(>.event-thumbnail:nth-of-type(3)):not(:has(>.event-thumbnail:nth-of-type(4)))>.event-coming-soon{display:grid}}
@media(max-width:760px){.events-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%}}

/* Coordinate the existing treatment photo with the blue signature illustrations. */
.signature-card[href="side-effect.html"] figure{position:relative;isolation:isolate;background:#d9eafb}
.signature-card[href="side-effect.html"] img{filter:saturate(.35);opacity:.82}
.signature-card[href="side-effect.html"] figure::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(181,216,249,.42),rgba(113,176,231,.30));pointer-events:none}

#principle-title .ink-reveal{color:#8960AD;background:none;-webkit-text-fill-color:#8960AD;transition:none}
