/* Massage Practice — Body Study, original UI. All rules scoped to this feature. */
.body-explorer{--be-ink:#153c4c;--be-muted:#577481;--be-line:#163e5029;--be-aqua:#91d9e8;--be-studio:#102f40;position:relative;padding:clamp(4rem,7vw,7rem) 0 2.2rem;background:#edf4f5;color:var(--be-ink);isolation:isolate;scroll-margin-top:110px}
.body-explorer__heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.8rem}
.body-explorer__heading .eyebrow{font-size:.7rem;margin-bottom:1.35rem;letter-spacing:.18em;color:#22617a}
.body-explorer__heading .section-title{font-size:clamp(3.3rem,5.5vw,5.3rem);line-height:1.02;font-weight:400;letter-spacing:-.035em}
.body-explorer__heading em{font-weight:400;color:#437586}
.body-explorer__heading>p{font-size:.96rem;line-height:1.8;color:var(--be-muted);margin:0 0 .25rem;max-width:25rem}
.body-explorer__track{position:relative}
.body-explorer__layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:clamp(2rem,5vw,5.2rem);align-items:stretch}
.body-explorer__studio{position:relative;min-width:0;height:700px;max-height:82svh;min-height:570px;overflow:hidden;background:radial-gradient(ellipse at 47% 38%,#315969 0,#183d4e 38%,#0c2637 100%);border-radius:3px;isolation:isolate;color:#d9e9eb}
.body-explorer__studio:before{content:"";position:absolute;z-index:0;inset:9% 8% 15%;border:1px solid #bcecf112;border-radius:50%;pointer-events:none}
.body-explorer__studio:after{content:"";position:absolute;z-index:0;bottom:5%;left:18%;right:18%;height:9%;border-radius:50%;background:radial-gradient(ellipse,#061b2788,transparent 65%);pointer-events:none;filter:blur(8px)}
.body-explorer__studio-top{position:absolute;z-index:3;top:1.6rem;left:1.8rem;right:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.body-explorer__edition{font-size:.58rem;letter-spacing:.17em;line-height:1.8;font-weight:500}
.body-explorer__edition>span{display:block;color:#aac4ce;letter-spacing:.12em;font-size:.54rem;margin-top:.2rem}
.body-explorer button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.body-explorer button:focus-visible,.body-explorer a:focus-visible{outline:2px solid #007dcc;outline-offset:4px}
.body-explorer__studio button:focus-visible{outline-color:#c0f3f4}
.body-explorer__reset{background:transparent;border:0;color:#d9e9eb;display:flex;gap:.45rem;align-items:center;min-height:44px;padding:.4rem .15rem;font-size:1.2rem}
.body-explorer__reset span{font-size:.65rem;letter-spacing:.03em}
.body-explorer__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;z-index:1;transition:opacity .6s}
.body-explorer__canvas{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .7s;touch-action:pan-y}
.body-explorer__canvas canvas{display:block;width:100%;height:100%}
.body-explorer.is-3d-ready .body-explorer__canvas{opacity:1}
.body-explorer.is-3d-ready .body-explorer__poster{opacity:0}
.body-explorer__studio-bottom{position:absolute;z-index:3;left:1.6rem;right:1.6rem;bottom:1.45rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem}
.body-explorer__layers{display:inline-flex;background:#091f2c99;padding:3px;border:1px solid #e7fcff2d;border-radius:30px;backdrop-filter:blur(8px)}
.body-explorer__layers button{background:transparent;color:#d9e9eb;border:0;border-radius:25px;min-height:42px;padding:0 1.05rem;font-size:.7rem;transition:color .25s,background .25s}
.body-explorer__layers button[aria-pressed=true]{background:#e2f0ef;color:#173a49}
.body-explorer__orbit{display:flex;gap:6px}
.body-explorer__orbit button{width:43px;height:43px;border-radius:50%;background:#0c28377d;border:1px solid #e7fcff38;color:#e4f1f2;font-size:1.05rem}
.body-explorer__view-label{position:absolute;left:1.7rem;bottom:5.45rem;font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;z-index:2;color:#d4e5eb;background:#0c2938ad;padding:4px 7px;border-radius:2px;backdrop-filter:blur(4px)}
.body-explorer__hotspots{position:absolute;inset:0;z-index:2;pointer-events:none}
.body-explorer__hotspot{position:absolute;width:44px;height:44px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);transition:opacity .3s;pointer-events:auto}.body-explorer__hotspot.label-left:after{left:auto;right:38px}.body-explorer__hotspot:before{content:"";position:absolute;left:18px;top:18px;width:8px;height:8px;background:#dff7f2;border-radius:50%;box-shadow:0 0 0 5px #bceaf329}.body-explorer__hotspot:hover:before{box-shadow:0 0 0 7px #bceaf34a}.body-explorer__hotspot[hidden]{display:none}
.body-explorer__hotspot:after{content:attr(data-label);position:absolute;left:38px;top:50%;transform:translateY(-50%);font-family:var(--font-sans);font-size:9px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;color:#e0f3f3;text-shadow:0 1px 8px #0a2538;background:#0b293675;padding:2px 4px;border-radius:2px}
.body-explorer__loading{position:absolute;top:50%;left:0;width:100%;text-align:center;z-index:4;font-size:.75rem;color:white}
.body-explorer__panel{padding:.6rem 0;display:flex;flex-direction:column;min-width:0}
.body-explorer__step{font-size:.6rem;letter-spacing:.14em;color:#486774;margin:0 0 1.35rem}
.body-explorer__step>span{color:#0d5678;margin-right:1.4rem}
.body-explorer__regions{display:flex;flex-direction:column;border-top:1px solid var(--be-line)}
.body-explorer__regions button{position:relative;text-align:left;display:flex;align-items:center;gap:1.25rem;width:100%;padding:.72rem .45rem .72rem .05rem;min-height:57px;border:0;border-bottom:1px solid var(--be-line);background:transparent;color:#234755;font-family:var(--font-serif);font-size:1.6rem;line-height:1.3;transition:background .3s,color .3s,padding .3s}
.body-explorer__regions button>span:first-child{font-family:var(--font-sans);font-size:.6rem;color:#4f6d7a;letter-spacing:.02em}
.body-explorer__regions button>span:last-child{margin-left:auto;font-family:var(--font-sans);font-size:1rem;color:#6e909b;transition:transform .3s}
.body-explorer__regions button[aria-pressed=true]{background:#d6e8eb;color:#0b5573;padding-left:.8rem;padding-right:.8rem}
.body-explorer__regions button[aria-pressed=true]>span:last-child{transform:rotate(45deg);color:#0b5573}
.body-explorer__detail{margin-top:clamp(1.5rem,2.8vw,2.75rem);min-height:207px}
.body-explorer__detail-label{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:#427689;margin:0 0 .9rem}
.body-explorer__detail h3{font-family:var(--font-serif);font-size:clamp(1.9rem,2.65vw,2.5rem);font-weight:400;line-height:1.08;letter-spacing:-.026em;margin:0 0 .8rem;max-width:22rem}
.body-explorer__detail>p:not(.body-explorer__detail-label){font-size:.85rem;line-height:1.75;color:#4c6c79;margin:0 0 1.2rem;max-width:27rem}
.body-explorer__link{display:inline-flex;gap:1.7rem;align-items:center;text-decoration:none;font-size:.76rem;font-weight:600;min-height:44px;color:#0c6286;border-bottom:1px solid #6695a5;padding:0 .1rem .2rem}
.body-explorer__link>span{font-size:1.1rem;transition:transform .25s}
.body-explorer__caption{font-size:.64rem;line-height:1.7;color:#4d6a77;margin:auto 0 0;padding-top:1.6rem}
.body-explorer__more{margin-top:1.8rem;padding:1.3rem 0 0;display:flex;gap:1.5rem;justify-content:space-between;align-items:center;border-top:1px solid var(--be-line);font-size:.72rem;line-height:1.5;flex-wrap:wrap}
.body-explorer__more>span{color:#4c6b78}
.body-explorer__more a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:.8rem}
.body-explorer__studio button:disabled{opacity:.4;cursor:default}
@media(hover:hover){.body-explorer__regions button:hover{background:#dfedef}.body-explorer__link:hover>span{transform:translate(3px,-3px)}.body-explorer__more a:hover{text-decoration:underline}.body-explorer__orbit button:hover{background:#426b7d}.body-explorer__reset:hover{color:#fff}}
@media(min-width:1000px) and (min-height:780px) and (prefers-reduced-motion:no-preference){.body-explorer.is-enhanced .body-explorer__track{padding-bottom:180px}.body-explorer.is-enhanced .body-explorer__layout{position:sticky;top:100px}.body-explorer__studio{height:min(710px,calc(100svh - 140px));min-height:620px}}
@media(max-width:1100px){.body-explorer__layout{gap:2rem;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr)}.body-explorer__studio{height:670px;min-height:610px}.body-explorer__detail{min-height:210px}.body-explorer__more{gap:.8rem 1.4rem}.body-explorer__more>span{width:100%}}
@media(max-width:760px){.body-explorer .container{width:calc(100% - 2rem)}.body-explorer__heading{display:block;margin-bottom:1.9rem}.body-explorer__heading .section-title{font-size:clamp(3.2rem,10.6vw,4.5rem)}.body-explorer__heading>p{margin-top:1.1rem;font-size:.84rem}.body-explorer__layout{display:flex;flex-direction:column;gap:1.5rem}.body-explorer__studio{height:clamp(430px,118vw,590px);max-height:none;min-height:0}.body-explorer__studio-top{top:1.1rem;left:1.2rem;right:1.1rem}.body-explorer__studio-bottom{left:1.1rem;right:1.1rem;bottom:1.1rem}.body-explorer__view-label{left:1.25rem;bottom:4.9rem}.body-explorer__panel{padding:0}.body-explorer__step{margin-bottom:1rem}.body-explorer__regions{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px;border:0}.body-explorer__regions button{width:auto;border:1px solid var(--be-line);border-radius:24px;min-height:44px;gap:.65rem;font-family:var(--font-sans);font-size:.75rem;padding:.65rem .85rem;flex:1 0 auto;justify-content:center}.body-explorer__regions button>span:first-child{font-size:.55rem}.body-explorer__regions button>span:last-child{display:none}.body-explorer__regions button[aria-pressed=true]{padding:.65rem .85rem;border-color:#8eb7c4}.body-explorer__detail{margin-top:1.6rem;min-height:210px}.body-explorer__detail h3{font-size:2.2rem;max-width:none}.body-explorer__detail>p:not(.body-explorer__detail-label){max-width:36rem}.body-explorer__caption{font-size:.62rem;padding-top:.8rem}.body-explorer__caption br{display:none}.body-explorer__more{margin-top:1.4rem;display:grid;grid-template-columns:1fr;gap:0}.body-explorer__more>span{margin-bottom:.4rem}.body-explorer__more a{justify-content:space-between;border-bottom:1px solid var(--be-line);min-height:48px}.body-explorer__hotspot:after{font-size:8px;left:35px}}
@media(prefers-reduced-motion:reduce){.body-explorer *,.body-explorer *:before,.body-explorer *:after{animation:none!important;transition:none!important}.body-explorer__track{padding-bottom:0!important}}
@media print{.body-explorer__canvas,.body-explorer__studio-bottom,.body-explorer__reset,.body-explorer__hotspots{display:none!important}.body-explorer__poster{opacity:1!important}.body-explorer__studio{height:400px;min-height:0}.body-explorer__track{padding-bottom:0!important}}

/* Keep the interactive controls clear of the floating contact shortcut. */
body.body-explorer-in-view .whatsapp-float{opacity:0;visibility:hidden;pointer-events:none}
.body-explorer:not(.is-3d-ready) .body-explorer__orbit{visibility:hidden}
@media(min-width:761px) and (max-height:600px){
 .body-explorer__studio{position:sticky;top:96px;align-self:start;height:max(270px,calc(100svh - 110px));min-height:0;max-height:none}
 .body-explorer__studio-top{top:.5rem;left:.9rem;right:.9rem}
 .body-explorer__studio-bottom{left:.8rem;right:.8rem;bottom:.65rem}
 .body-explorer__layers button{padding:0 .8rem;font-size:.65rem}
 .body-explorer__view-label{left:.9rem;bottom:4rem;font-size:.5rem}
 .body-explorer__edition{font-size:.48rem}.body-explorer__edition>span{font-size:.45rem}
}
