/* Large, calm motion that preserves the source salon's editorial design. */
:root { --salon-reveal-ease: cubic-bezier(.16, 1, .3, 1); }
.closure-notice { max-width: 680px; margin: 0 0 30px; padding: 20px 24px; border: 1px solid #b58491; border-left: 5px solid #8a5664; background: #fffaf5f5; color: #50303a; text-align: left; box-shadow: 0 12px 36px #6d404e12; }
.closure-notice > strong { display: block; font-size: 18px; font-weight: 700; line-height: 1.6; margin-bottom: 7px; }
.closure-notice > p { margin: 0; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.closure-notice > .closure-notice__phone { margin-top: 9px; font-size: 14px; }
.closure-notice__phone a { display: inline-block; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.access__copy .closure-notice { margin-bottom: 24px; }
.footer__address .footer-closure-notice { color: #fff; font-size: 14px; line-height: 1.8; border-left: 2px solid #b79a64; padding-left: 14px; }
@media (max-width: 820px) {
  .closure-notice { padding: 16px; margin-bottom: 25px; }
  .closure-notice > strong { font-size: 16px; }
  .closure-notice > p { font-size: 15px; }
}
.hero { overflow: hidden; }
.reveal {
  opacity: 0;
  transform: translate3d(0, 100px, 0) scale(.94);
  transition: opacity 1s ease, transform 1.45s var(--salon-reveal-ease);
}
.reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.concerns__visual.reveal, .therapist__portrait.reveal, .access__visual.reveal {
  transform: translate3d(-115px, 65px, 0) scale(.9);
}
.insight__visual.reveal, .future__visual.reveal {
  transform: translate3d(115px, 65px, 0) scale(.9);
}
.concerns__visual.reveal.is-visible, .therapist__portrait.reveal.is-visible,
.access__visual.reveal.is-visible, .insight__visual.reveal.is-visible,
.future__visual.reveal.is-visible { transform: translate3d(0, 0, 0) scale(1); }
.hero__image { animation: salon-hero-zoom 3.2s var(--salon-reveal-ease) both; }
.hero .reveal { transform: translate3d(0, 82px, 0); }
.hero .reveal.is-visible { transform: translate3d(0, 0, 0); }
.hero__kicker.reveal { transition-delay: .15s !important; }
.hero h1.reveal { transition-delay: .3s !important; transition-duration: 1.15s, 1.6s; }
.hero__lead.reveal { transition-delay: .48s !important; }
.hero__actions.reveal { transition-delay: .65s !important; }
.care-point:nth-child(2) { transition-delay: .15s !important; }
.care-point:nth-child(3) { transition-delay: .3s !important; }
.care__stage > img { transform: scale(1.16); transition: transform 2.4s var(--salon-reveal-ease); }
.care__stage.is-visible > img { transform: scale(1); }
.room__card.reveal { transform: translate3d(-90px, 70px, 0) scale(.94); }
.room__card.reveal.is-visible { transform: translate3d(0, 0, 0) scale(1); }
.menu-item__image img { transition: transform 1.15s var(--salon-reveal-ease); }
.scroll-cue svg { animation: salon-scroll-cue 2.4s ease-in-out infinite; }
.phone-cta, .final-phone { transition: transform .35s var(--salon-reveal-ease), background-color .3s, box-shadow .35s; }
.site-shell [id] { scroll-margin-top: 92px; }
.line-mark { font-family: Arial, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: -.04em; }
.hero__actions { flex-wrap: wrap; gap: 18px; }
.hero__actions > p { flex-basis: 100%; }
.social-instagram { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 10px 20px; border: 1px solid currentColor; font-size: 15px; line-height: 1.4; transition: background .3s, transform .35s var(--salon-reveal-ease); }
.social-instagram:hover { background: #8a566414; transform: translateY(-3px); }
.final-social-links { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 30px; }
.final-social-links .social-instagram { min-height: 64px; }
.footer__address .social-instagram { margin-bottom: 20px; font-size: 15px; text-decoration: none; }
@media (hover: hover) {
  .menu-item:hover .menu-item__image img { transform: scale(1.09); }
  .phone-cta:hover, .final-phone:hover { transform: translateY(-5px); box-shadow: 0 20px 42px #6d404e40; }
}
@keyframes salon-hero-zoom { from { transform: scale(1.18); } to { transform: scale(1); } }
@keyframes salon-scroll-cue { 0%, 100% { transform: translateY(-4px); } 50% { transform: translateY(12px); } }
@media (max-width: 820px) {
  .reveal { transform: translate3d(0, 76px, 0) scale(.95); transition-duration: .9s, 1.25s; }
  .concerns__visual.reveal, .therapist__portrait.reveal, .access__visual.reveal { transform: translate3d(-55px, 55px, 0) scale(.92); }
  .insight__visual.reveal, .future__visual.reveal { transform: translate3d(55px, 55px, 0) scale(.92); }
  .room__card.reveal { transform: translate3d(0, 76px, 0) scale(.95); }
  .care-point:nth-child(2), .care-point:nth-child(3) { transition-delay: 0s !important; }
  .hero h1.reveal { transition-delay: .2s !important; }
  .hero__lead.reveal { transition-delay: .35s !important; }
  .hero__actions.reveal { transition-delay: .5s !important; }
  .hero__image { animation-duration: 2.7s; }
  .hero__actions .social-instagram { display: flex; width: 100%; min-height: 48px; margin-top: 12px; }
  .final-social-links { display: grid; grid-template-columns: 1fr; }
  .final-social-links .phone-cta { justify-content: center; }
  nav.mobile-phone-bar { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 0; padding: 0 0 env(safe-area-inset-bottom, 0px); background: var(--ebicha-dark); }
  nav.mobile-phone-bar > a { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 66px; margin: 0; padding: 10px 5px; font-size: 14px; font-weight: 700; line-height: 1.2; color: #fff; border-right: 1px solid #ffffff35; background: transparent; }
  nav.mobile-phone-bar > a:last-child { border-right: 0; }
  nav.mobile-phone-bar > .mobile-line { background: #078344; }
  body { padding-bottom: calc(67px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal, .reveal.is-visible, .hero .reveal, .hero__image, .scroll-cue svg,
  .care__stage > img, .menu-item__image img, .phone-cta, .final-phone, .social-instagram {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}
