/* Responsive refinements for the approved-design preview. */
html{scroll-padding-top:85px;scroll-padding-bottom:100px}
body{padding-top:var(--review-height,0px)}
.review-bar{flex-wrap:wrap}
.review-hint{top:calc(var(--review-height,64px) + 10px)}
.explorer-photo[src*="atelier-spa-hero"]{object-position:80% center}
.header{height:auto;min-height:182px}
.hero-copy,.treatment,.approach>div,.visit>div,.explorer-copy{min-width:0}
.desktop-nav a{font-size:.875rem;letter-spacing:.1em;white-space:nowrap}
.button,.text-link{font-size:.875rem;letter-spacing:.1em;min-height:48px}
.treatment>p,.section-heading>p:last-child,.visit-details p:not(.eyebrow){font-size:1rem}
.eyebrow,.signature-item small,.menu-note,.hero-foot,.footer-bottom{font-size:.875rem}
.signature-item>div,.explorer-row>span:first-child{min-width:0;overflow-wrap:anywhere}
.signature-item{gap:14px}
.signature-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
.treatment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.explorer-content{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.explorer-close{flex-shrink:0;min-height:44px}
.explorer-tabs button{min-height:44px}
.explorer-row{gap:12px}
.explorer-head .eyebrow{letter-spacing:.12em}
.explorer-copy .button{max-width:100%;white-space:normal;text-align:center}
.treatment-dialog{max-height:88vh;max-height:88dvh;overscroll-behavior:contain}
body:has(.treatment-dialog[open]){overflow:hidden}
summary{min-height:44px;align-items:center;font-size:1rem}
.skip-link{z-index:10002}
.footer{padding-bottom:90px}
.review-ui button{min-height:44px}
.motion-progress{top:var(--review-height,0px)}
.motion-toggle{position:static;align-self:center;flex-shrink:0;min-height:44px}

@media(max-width:1000px){
  .header{min-height:148px;gap:20px}
  .header .brand img{width:106px;height:128px}
  .desktop-nav,.header-book{display:none}
  .menu-toggle{display:flex;align-items:center;gap:20px;border:0;background:none;color:var(--ink);font-size:.875rem;min-height:48px;padding:12px 0;text-transform:uppercase;letter-spacing:.12em}
  .menu-toggle span{font-size:1.3rem;color:var(--gold)}
  .mobile-nav:not([hidden]){display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#191915;padding:20px 6% 30px;border-bottom:1px solid var(--line)}
  .mobile-nav a{padding:12px 0;min-height:48px}
  .hero h1{font-size:clamp(3rem,6.1vw,4.5rem)}
  .treatment-grid{gap:22px}
  .treatment-name{align-items:flex-start}
  .explorer-content{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:22px;padding:24px}
}
@media(max-width:700px){
  html{scroll-padding-top:80px;scroll-padding-bottom:100px}
  .hero{min-height:640px;padding:130px 6% 90px;align-items:flex-end}
  .hero h1{font-size:clamp(2.6rem,10vw,4.4rem);line-height:1.08}
  .hero .eyebrow{font-size:.875rem;letter-spacing:.12em}
  .hero-lead{font-size:1rem}
  .hero-image{object-position:78% center}
  .hero-shade{background:linear-gradient(0deg,#11110f 0%,#11110fe8 22%,#11110f9c 63%,#11110f30)}
  .hero-foot{bottom:24px;font-size:.875rem}
  .actions{align-items:stretch;gap:12px}
  .actions .button{width:100%;padding:16px;gap:20px;font-size:.875rem}
  .actions .text-link{font-size:.875rem;min-height:48px}
  .mobile-book.button-gold{position:fixed;bottom:0;left:0;right:0;z-index:40;min-height:60px;padding:16px 20px calc(16px + env(safe-area-inset-bottom));font-size:.875rem}
  .motion-toggle{bottom:calc(76px + env(safe-area-inset-bottom));min-height:44px}
  .footer{padding-bottom:calc(160px + env(safe-area-inset-bottom))}
  .footer-top p{font-size:1.7rem}
  .footer-top .text-link{margin-left:0}
  .treatment-grid,.signature-menu,.explorer-content{grid-template-columns:minmax(0,1fr)}
  .treatment .image-frame:after{max-width:calc(100% - 80px);left:12px;bottom:16px;padding:8px;font-size:.875rem}
  .treatment-dialog{width:calc(100% - 20px);max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:14px}
  .explorer-head{padding:12px 16px;gap:10px}
  .explorer-content{padding:16px;gap:20px}
  .explorer-photo{position:static;aspect-ratio:2/1;max-height:180px;border-radius:12px}
  .explorer-copy h2{font-size:clamp(2.1rem,9vw,3.4rem);overflow-wrap:anywhere}
  .explorer-copy .button{width:100%;gap:10px;padding-inline:12px}
}
@media(hover:none),(pointer:coarse){
  .motion-ready .treatment{transform:none}
  .motion-ready .button{translate:none}
  .treatment .image-frame:after{opacity:1;translate:none}
}
@media(max-width:360px){.review-bar{gap:5px}.review-bar button{padding:8px 6px;font-size:13px}}

/* Match the full menu's six categories in the homepage browsing experience. */
.category-grid{row-gap:48px;padding-bottom:0}
.category-grid .treatment{margin-top:0}
.category-grid .treatment-name h3{font-size:clamp(1.75rem,2.6vw,2.5rem);line-height:1.15}
.category-grid .image-frame{aspect-ratio:1.45}
.category-grid [data-category="face-brow"] img,.explorer-photo[src*="category-face-brow"]{object-position:65% center}
.explorer-photo[src*="owner-face-brow"]{object-position:65% center}
.category-grid [data-category="packages"] img,.explorer-photo[src*="owner-packages"]{object-position:50% 72%}
.category-ribbon .ritual-track>span{display:flex;align-items:center;gap:0;font-size:clamp(1.75rem,3vw,3rem)}
.category-ribbon a{display:inline-block;padding:8px 0;min-height:48px;transition:color .2s}
.category-ribbon a:hover,.category-ribbon a:focus-visible{color:var(--ink)}
.category-ribbon:focus-within .ritual-track{animation:none;transform:none}
.category-ribbon:focus-within{overflow-x:auto}
.category-ribbon:hover .ritual-track{animation-play-state:paused}
.motion-ready .category-ribbon .ritual-track{animation-duration:65s}
.motion-paused .category-ribbon .ritual-track,.category-ribbon:focus-within .ritual-track{animation:none}
.motion-paused .category-ribbon{overflow-x:auto}
.motion-paused .category-ribbon .ritual-track>span[aria-hidden]{display:none}
@media(max-width:950px) and (min-width:701px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.category-ribbon{overflow-x:auto}.category-ribbon .ritual-track>span[aria-hidden]{display:none}}
