/* Shared interaction and responsive safeguards, loaded after page styles. */
html{scroll-padding-top:100px}
body{font-size:16px;line-height:1.6}
main :is(p,li){overflow-wrap:anywhere}
:is(h1,h2,h3,h4,h5,h6){text-wrap:balance}
main :is(img,video,iframe){max-width:100%}
:is(button,input,select,textarea){font:inherit}
:is(button,[role="button"],.w-btn,.button,.girls-button,.contacts-button,.etiquette-button,.verified-reviews__button){min-height:48px;max-width:100%;white-space:normal;line-height:1.4;touch-action:manipulation}
:is(.button,.w-btn,.girls-button,.contacts-button,.etiquette-button,.verified-reviews__button){text-align:center;font-size:14px!important;overflow-wrap:anywhere}
a,button{touch-action:manipulation}
.unified-header .menu-toggle{width:48px;height:48px;flex-shrink:0}
.unified-header .main-nav a{display:flex;align-items:center;min-height:48px}
.unified-header .phone{display:flex;align-items:center;min-height:48px}
.w-sharing-item{min-width:48px;min-height:48px}
.footer-top nav a,.site-footer .footer-bottom a,.l-footer a{display:inline-flex;align-items:center;min-height:44px}
.profile-gallery--slider img{min-height:0;object-fit:contain}
.girls-grid,.masters-grid,.programs-grid{min-width:0}
.girl-card,.master-card,.program-card{min-width:0}
@media(max-width:1100px){
 .unified-header,.unified-header.is-fixed{height:72px}
 .unified-header .header-shell{gap:16px}
 .unified-header .header-actions{margin-left:auto}
 .unified-header .menu-toggle{display:block}
 .unified-header .main-nav{position:fixed;z-index:1001;inset:72px 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px 24px 24px;background:#080808;border-bottom:1px solid #665030;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;pointer-events:none;transform:none;transition:opacity .15s}
 .unified-header .main-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
 .unified-header .main-nav a{padding:14px 4px;font-size:18px;line-height:1.3;white-space:normal;border-bottom:1px solid #30271d}
 body.menu-is-open{overflow:hidden}
}
@media(min-width:1101px){.unified-header .header-shell{gap:20px}.unified-header .main-nav{gap:18px}.unified-header .status{display:none}.unified-header .main-nav a{font-size:13px;letter-spacing:.05em}}
@media(max-width:600px){
 main :is(p,li){font-size:16px;line-height:1.65}
 .girl-card,.girl-card--wide,.girl-card--tall{min-height:0;aspect-ratio:3/4}
 .girl-card:first-child{min-height:0}
 .master-card,.master-card:nth-child(n+6){height:auto;aspect-ratio:3/4}
 .program-card{height:auto;min-height:360px;aspect-ratio:4/5}
 .hero{height:auto!important;min-height:720px;padding-bottom:40px}
 .girls-hero__meta{flex-wrap:wrap}
 .contact-phone{font-size:clamp(22px,7vw,29px)}
}
@media(max-width:560px){.unified-header .phone{display:none}.unified-header .header-shell{gap:12px}.unified-header .header-actions{gap:0}}
@media(orientation:landscape) and (max-height:500px){.profile-gallery--slider img{height:75vh}.photo-viewer__stage{min-height:0}.hero{height:auto!important;min-height:640px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.profile-gallery{scroll-behavior:auto}.unified-header{animation:none!important}}

/* One gutter at the page edge: nested legacy rows must not subtract width. */
@media(max-width:1100px){
 .l-main>.l-section,.l-footer>.l-section{padding-inline:14px!important}
 .l-main .l-section .l-section,.l-footer .l-section .l-section{padding-inline:0!important}
 .l-main .g-cols,.l-footer .g-cols{width:100%!important;margin-inline:0!important}
 .l-main .vc_column-inner,.l-footer .vc_column-inner{padding-inline:0!important}
 .l-main .l-section-h,.l-footer .l-section-h{max-width:none!important;width:100%!important}
 .l-main .wpb_wrapper,.l-main .post_content{width:100%;min-width:0}
 .shell,.girls-shell,.contacts-shell{width:calc(100% - 28px);max-width:none;margin-inline:auto}
 .profile-gallery.profile-gallery--slider{width:100%;align-items:flex-start;overflow-y:hidden}
 .profile-gallery--slider a{flex:0 0 100%;box-sizing:border-box}
 .profile-gallery.profile-gallery--slider img{width:100%;height:auto!important;max-height:none;min-height:0;aspect-ratio:auto;object-fit:contain}
 .profile-gallery__controls{width:100%;justify-content:space-between;gap:8px}
 .profile-gallery__controls button{flex:0 0 auto}
}
@media(max-width:767px){.l-main .g-cols>.wpb_column,.l-footer .g-cols>.wpb_column{width:100%!important;flex-basis:100%!important}.l-main .g-cols{row-gap:18px}}
