/* Extend the original Revive & Glow identity: retain its logo, leaves and palette. */
.studio-invitation{padding:3rem 0;background:rgba(240,232,214,.78)}
.studio-invitation>.container{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.studio-invitation h2{font:500 clamp(2rem,3.5vw,3rem)/1.1 var(--serif,Georgia,serif);margin:0 0 1rem;color:#223a2e}
.studio-invitation p{max-width:540px;color:#536252}.studio-invitation .btn{flex-shrink:0}
.studio-intro{display:flex;align-items:center;gap:3rem;padding:2rem 0}
.studio-intro>img{width:170px;height:auto;flex-shrink:0}.studio-intro h1{font-size:clamp(36px,5vw,60px)}.studio-intro p{max-width:680px}.studio-tour{padding:0 0 3rem}
@media(max-width:700px){.studio-invitation>.container{align-items:flex-start;flex-direction:column;gap:1rem}.studio-intro{flex-direction:column;gap:.5rem;text-align:center}.studio-intro>img{width:120px}}
/* Fill editorial frames; each photo's focal point keeps faces in view. */
body img.portrait-safe{object-fit:cover;background:none}
body .gallery-trigger:hover img.portrait-safe{transform:none}
/* User-approved crop: remove upper wall space while keeping heads and equipment. */
.hero-benefits-first .benefit-photo.duo{height:210px;aspect-ratio:auto;align-self:stretch}
.hero-benefits-first .benefit-photo.duo img{position:absolute;top:0;left:0;width:calc(50% - 1.5px);height:100%;min-height:0;object-fit:cover;object-position:50% 60%!important;background:#eee7d8}
.hero-benefits-first .benefit-photo.duo img:nth-child(2){left:auto;right:0}
@media(max-width:700px){.hero-benefits-first .benefit-photo.duo{height:200px}}
@media(min-width:500px) and (max-width:700px){.hero-benefits-first .benefit-photo.duo img{object-position:50% 25%!important}}
.hero-benefits-first .benefit-photo:not(.duo) img{object-fit:cover}
.hero-benefits-first .benefit-photo:not(.duo) img[src*="sauna-couple"]{object-position:50% 36%}
.hero-benefits-first .benefit-photo:not(.duo) img[src*="vibration-thaysa"]{object-position:50% 34%}
.benefit-section nav.benefit-nav{position:static;inset:auto;width:auto;height:auto;background:transparent;box-shadow:none;backdrop-filter:none;z-index:auto}
.hero.hero-benefits-first{min-height:0;display:block;padding:calc(var(--nav-h,84px) + 12px) 0 32px}
.hero-benefits-first .hero-inner{display:flex;align-items:center;justify-content:center;gap:40px;max-width:960px;text-align:left}
.hero-benefits-first>.hero-brand{position:absolute;top:calc(var(--nav-h,84px) - 4px);left:min(5vw,3rem);z-index:2;margin:0;width:clamp(150px,12.5vw,205px)}
.hero-benefits-first .hero-brand-logo{width:100%}
.hero-benefits-first h1{font-size:clamp(30px,3.5vw,46px);margin-bottom:10px}
.hero-benefits-first .hero-intro-copy .eyebrow{margin-bottom:10px;font-size:10px}
.hero-benefits-first .hero-intro-copy .lede{max-width:550px;margin:0;font-size:15px;line-height:1.6}
.hero-benefits-first .hero-experiences{padding:0;margin-top:16px;text-align:left}
.hero-benefits-first .benefit-grid{margin-top:0;gap:22px}
.hero-benefits-first .benefit-photo{height:210px}
.hero-benefits-first .benefit-body{padding:18px 20px}
.hero-benefits-first .benefit-body h3{font-size:27px}
.hero-benefits-first .hero-next-step{text-align:center;padding-top:28px}
.hero-benefits-first .hero-trust{margin:14px 0 0}
@media(min-width:701px) and (max-width:1100px){.hero-benefits-first .hero-inner{padding-left:175px}}
@media(max-width:700px){
 .hero-benefits-first .hero-inner{flex-direction:column;gap:2px;text-align:center}
 .hero-benefits-first>.hero-brand{width:150px;align-items:center}
 .hero-benefits-first .hero-brand-logo{width:105px}
 .hero-benefits-first .hero-inner{padding-top:105px}
 .hero-benefits-first .hero-intro-copy .eyebrow{font-size:9px;margin-bottom:6px}
 .hero-benefits-first h1{font-size:30px;margin-bottom:8px}
 .hero-benefits-first .hero-intro-copy .lede{font-size:13px;line-height:1.5}
 .hero-benefits-first .benefit-photo{height:200px}
 .hero-benefits-first .benefit-body{padding:15px 18px}
 .hero-benefits-first .hero-experiences{margin-top:20px}
}
[hidden]{display:none!important}
.benefit-section{padding:5rem 0;background:rgba(252,247,237,.64)}
.benefit-section .section-head{max-width:760px;margin-inline:auto;text-align:center}
.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem;margin-top:2.5rem}
.benefit-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(125,99,56,.22);border-radius:20px;background:rgba(255,253,247,.96);color:#223a2e;text-decoration:none;box-shadow:0 14px 34px -25px rgba(34,58,46,.55);transition:transform .2s,box-shadow .2s}
.benefit-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px -23px rgba(34,58,46,.55)}
.benefit-photo{position:relative;background:#e4dfcf;overflow:hidden;height:330px}
.benefit-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 43%;display:block}
.benefit-photo.duo{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.benefit-photo.duo img{min-width:0;object-position:50% 38%}
.benefit-body{padding:1.5rem 1.55rem 1.4rem;display:flex;flex:1;flex-direction:column}
.benefit-body .benefit-therapy{font:600 .63rem/1.6 var(--sans,Inter,Arial,sans-serif);letter-spacing:.09em;text-transform:uppercase;color:#85622f;margin-bottom:.7rem}
.benefit-body h3{font:500 clamp(1.65rem,2.4vw,2.05rem)/1.06 var(--serif,Georgia,serif);color:#223a2e;margin:0 0 .8rem}
.benefit-body p{font:400 .86rem/1.75 var(--sans,Inter,Arial,sans-serif);color:#566357;margin-bottom:1.2rem}
.benefit-link{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e3dfd3;padding-top:1rem;margin-top:auto;font:600 .74rem/1.6 var(--sans,Inter,Arial,sans-serif);color:#775b2e}
.benefit-photo-label{position:absolute;left:16px;bottom:15px;background:rgba(247,243,234,.95);padding:.35rem .7rem;border-radius:20px;font:600 .65rem var(--sans,Inter,Arial,sans-serif);color:#223a2e}
.benefit-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.5rem}
.benefit-nav a{font:500 .75rem/1.5 var(--sans,Inter,Arial,sans-serif);padding:.65rem 1rem;border:1px solid #d8ceb7;border-radius:99px;background:#fffcf4;color:#304635;text-decoration:none}
.benefit-nav a:hover{background:#e7ecdf}
.hero-offer-note{font:500 .78rem/1.6 var(--sans,Inter,Arial,sans-serif);color:#795927;margin:.85rem auto 0;max-width:460px}
.hero-offer-note strong{color:#223a2e}.hero-returning{font-size:.72rem;color:#566357;margin-top:1rem}.hero-returning a{text-decoration:underline;text-underline-offset:4px}
.offer-showcase{padding:3.5rem 0 4rem;background:rgba(240,232,214,.78)}
.offer-showcase .section-head{text-align:center;max-width:750px;margin-inline:auto}
.offer-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:2rem}
.offer-tile{display:grid;grid-template-columns:40% 1fr;overflow:hidden;border:1px solid #daceb4;border-radius:20px;background:#fffaf0;box-shadow:0 14px 30px -25px #223a2e}
.offer-tile>img{height:100%;min-height:380px;width:100%;object-fit:cover;object-position:50% 38%}
.offer-tile-copy{padding:1.6rem 1.5rem;display:flex;flex-direction:column;align-items:flex-start}
.offer-tile h3{font:500 2rem/1.1 var(--serif,Georgia,serif);margin:.4rem 0 .8rem;color:#223a2e}
.offer-tile .offer-tag{font:600 .63rem/1.5 var(--sans,Inter,Arial,sans-serif);text-transform:uppercase;letter-spacing:.1em;color:#795927}
.offer-tile p{font-size:.83rem;line-height:1.7;color:#536354;margin-bottom:.85rem}
.offer-tile .offer-price{font:500 2.7rem/1 var(--serif,Georgia,serif);color:#223a2e;margin:.4rem 0 .6rem}
.offer-price small{font:400 .72rem var(--sans,Inter,Arial,sans-serif)}
.offer-tile .offer-saving{font-size:.72rem;font-weight:600;color:#795927}.offer-tile .offer-terms{font-size:.69rem;line-height:1.6}
.offer-tile .btn{margin-top:auto;font-size:.72rem;letter-spacing:0;text-transform:none;white-space:normal;text-align:center}
.visit-options{margin-top:3rem;border-top:1px solid #d7c9ae;padding-top:2rem}.visit-options>h3{text-align:center;font:500 2rem var(--serif,Georgia,serif);color:#223a2e;margin-bottom:1.5rem}
.visit-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.visit-option{background:rgba(255,253,247,.8);border:1px solid #ded4bf;border-radius:16px;padding:1.5rem}
.visit-option h4{font:500 1.55rem var(--serif,Georgia,serif);color:#223a2e;margin:.4rem 0 .8rem}.visit-option p,.visit-option li{font-size:.8rem;line-height:1.7;color:#506251;margin-bottom:.7rem}.visit-option .option-rate{font-size:1.15rem;color:#223a2e;font-weight:600}.visit-option a{font-size:.8rem;font-weight:600;text-decoration:underline;text-underline-offset:4px;color:#765724}.visit-option details{font-size:.76rem;margin:.8rem 0}.visit-option summary{cursor:pointer;font-weight:600}.visit-option ul{padding-left:1.1rem;margin-top:.6rem}
.privacy-feature{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;border:1px solid #dcd2bb;border-radius:24px;padding:2rem;background:rgba(255,252,244,.94);margin-top:3rem}.privacy-feature img{width:100%;height:350px;object-fit:cover;border-radius:15px;object-position:50% 38%}.privacy-feature h3{font:500 2.3rem/1.1 var(--serif,Georgia,serif);color:#223a2e;margin-bottom:1rem}.privacy-feature p{font-size:.87rem;line-height:1.75;color:#516252}.privacy-feature .privacy-note{font-size:.75rem;margin-top:1rem}
.studio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem}.studio-gallery figure,.photo-gallery figure{margin:0;min-width:0}.gallery-trigger{display:block;position:relative;width:100%;padding:0;border:0;border-radius:16px;overflow:hidden;background:#e5dfd0;cursor:zoom-in}.gallery-trigger img{width:100%;height:330px;object-fit:cover;display:block;transition:transform .3s}.gallery-trigger:hover img{transform:scale(1.03)}.gallery-trigger::after{content:'↗';position:absolute;right:13px;bottom:13px;width:32px;height:32px;border-radius:50%;background:rgba(255,250,236,.93);color:#263e32;display:grid;place-items:center;font:20px Arial}.studio-gallery figcaption,.photo-gallery figcaption{font:400 .77rem/1.65 var(--sans,Inter,Arial,sans-serif);color:#536252;padding:.7rem .2rem}.studio-gallery figcaption strong{display:block;font:500 1.35rem var(--serif,Georgia,serif);color:#223a2e;margin-bottom:.2rem}
.photo-gallery-section{padding:3rem 0}.photo-gallery-section h2{font-family:var(--serif,Georgia,serif);font-size:clamp(2rem,4vw,3rem);color:#223a2e}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.7rem}.photo-gallery[data-count="1"]{max-width:600px;grid-template-columns:1fr}.photo-gallery[data-count="2"]{grid-template-columns:1fr 1fr}.photo-gallery .gallery-trigger img{height:390px;object-fit:cover}.photo-gallery .gallery-trigger img.full-room{object-position:center}
.photo-dialog{border:0;padding:0;background:#17251d;color:#fff;width:min(1100px,96vw);max-width:96vw;max-height:96dvh;border-radius:14px;box-shadow:0 20px 100px #0008}.photo-dialog::backdrop{background:rgba(10,18,12,.88)}.photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.photo-dialog-top{display:flex;justify-content:space-between;align-items:center;padding:12px 18px}.photo-dialog-top span{font:13px Inter,Arial,sans-serif}.photo-dialog button{background:#f8f3e8;color:#223a2e;border:0;border-radius:50%;width:44px;height:44px;font:22px Arial;cursor:pointer}.photo-dialog-stage{display:grid;grid-template-columns:55px minmax(0,1fr) 55px;gap:8px;align-items:center;padding:0 10px}.photo-dialog-stage img{display:block;width:100%;height:70dvh;object-fit:contain;min-width:0}.photo-dialog-caption{font:14px/1.6 Inter,Arial,sans-serif;text-align:center;padding:14px 20px;margin:0}.photo-dialog button:disabled{opacity:.35;cursor:default}
.service-benefits{padding:3rem 0;border-bottom:1px solid #ded7c7}.service-benefits h2,.pairing-section h2{font-size:clamp(2rem,4vw,3rem)}.service-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.service-benefit-item{background:rgba(255,252,244,.93);border:1px solid #ddd2bb;border-radius:17px;padding:1.5rem}.service-benefit-item h3{font-size:1.7rem;margin-bottom:.7rem}.service-benefit-item p{font-size:.87rem;line-height:1.8;margin:0;color:#536252}
.pairing-section{padding:3rem 0;border-bottom:1px solid #ded7c7}.pairing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.pairing-option{display:grid;grid-template-columns:100px 1fr;gap:1.2rem;border:1px solid #dcd1b8;border-radius:16px;background:#fffbf2;overflow:hidden;padding:1rem}.pairing-option img{width:100%;height:145px;object-fit:cover;border-radius:10px}.pairing-option h3{font-size:1.65rem;margin:.2rem 0 .6rem}.pairing-option p{font-size:.8rem;line-height:1.7;margin-bottom:.5rem}.pairing-option a{font-size:.77rem;font-weight:600;color:#795927}.pairing-section .small{margin-top:1rem}.research-note{font-size:.8rem;margin:1.5rem 0 3rem;border-top:1px solid #ded7c7;padding-top:1rem}.research-note summary{cursor:pointer;color:#536252;font-weight:500}.research-note p,.research-note li{font-size:.79rem;line-height:1.75;color:#536252}.research-note p{margin-top:1rem}.research-note ul{padding-left:1.2rem}
.service-tips{border-left:3px solid #b9863f;padding:1rem 1.4rem;background:rgba(239,232,215,.75);border-radius:0 12px 12px 0;margin:1rem 0 2rem}.service-tips h3{font-size:1.65rem;margin-bottom:.8rem}.service-tips li{font-size:.86rem;line-height:1.8;margin:.3rem 0}.service-tips ul{padding-left:1.2rem}
.therapy-sublinks{display:flex;gap:12px 22px;flex-wrap:wrap;justify-content:center;padding:1rem 0 1.5rem;font:500 .76rem var(--sans,Inter,Arial,sans-serif)}.therapy-sublinks a{color:#6f542a;text-underline-offset:5px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8a672f;outline-offset:5px}
@media(max-width:1050px){.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-tile{grid-template-columns:1fr}.offer-tile>img{height:280px;min-height:0}.offer-tile-copy{padding:1.5rem}.benefit-photo{height:360px}}
@media(max-width:700px){.benefit-section{padding:3.3rem 0}.benefit-grid{grid-template-columns:1fr;gap:1.5rem}.benefit-photo{height:370px}.benefit-photo img{object-position:50% 42%}.benefit-body{padding:1.4rem}.benefit-body h3{font-size:2rem}.benefit-body p{font-size:.88rem}.offer-pair,.visit-option-grid,.privacy-feature,.service-benefit-grid,.pairing-grid{grid-template-columns:1fr}.offer-tile{grid-template-columns:36% 1fr}.offer-tile>img{height:100%;min-height:390px}.offer-tile h3{font-size:1.8rem}.offer-tile-copy{padding:1.25rem 1rem}.offer-tile .btn{font-size:.68rem;padding:.8rem 1rem}.privacy-feature{padding:1.3rem;gap:1.5rem}.privacy-feature img{height:320px}.privacy-feature h3{font-size:2rem}.studio-gallery,.photo-gallery,.photo-gallery[data-count="2"]{grid-template-columns:1fr 1fr;gap:.8rem}.gallery-trigger img{height:250px}.photo-gallery .gallery-trigger img{height:280px}.studio-gallery figcaption{font-size:.7rem}.studio-gallery figcaption strong{font-size:1.15rem}.photo-dialog-stage{grid-template-columns:35px minmax(0,1fr) 35px;padding:0 5px;gap:2px}.photo-dialog-stage button{width:34px;height:42px}.photo-dialog-stage img{height:65dvh}.photo-dialog-caption{font-size:12px}.pairing-option{grid-template-columns:85px 1fr}.benefit-nav{gap:.5rem}.benefit-nav a{font-size:.7rem;padding:.5rem .7rem}}
@media(max-width:380px){.offer-tile{grid-template-columns:1fr}.offer-tile>img{height:270px;min-height:0}.studio-gallery,.photo-gallery,.photo-gallery[data-count="2"]{grid-template-columns:1fr}.gallery-trigger img{height:360px}}
@media(prefers-reduced-motion:reduce){.benefit-card,.gallery-trigger img{transition:none}.benefit-card:hover{transform:none}}
/* Consistent gallery frames with focal points shared by small companion cards. */
img[src*="/compression-guest-"]{--photo-position:50% 53%}
img[src*="/sauna-guest-"]{--photo-position:50% 44%}
img[src*="/sauna-couple-"]{--photo-position:50% 36%}
img[src*="/sauna-robe-"]{--photo-position:50% 32%}
img[src*="/couples-visit-"]{--photo-position:50% 23%}
img[src*="/light-guest-"]{--photo-position:50% 40%}
img[src*="/vibration-thaysa-"]{--photo-position:50% 30%}
img[src*="/vibration-guest-"]{--photo-position:50% 48%}
img[src*="/pet-care-"]{--photo-position:50% 50%}
img[src*="/pet-light-"]{--photo-position:50% 52%}
img[src*="/pnoe-active-"]{--photo-position:50% 10%}
img[src*="/pnoe-resting-front-"]{--photo-position:50% 45%}
img[src*="/pnoe-resting-side-"]{--photo-position:50% 65%}
body .photo-gallery .gallery-trigger img{height:auto;aspect-ratio:1;object-fit:cover;object-position:var(--photo-position,50% 50%)}
body .pairing-option>img{height:auto;aspect-ratio:3/4;align-self:start;object-fit:cover;object-position:var(--photo-position,50% 50%)}
