.body-guide{position:relative;overflow:hidden;padding:110px 0;background:linear-gradient(145deg,#edf2ed,#f6f1e8);scroll-margin-top:82px}
.body-guide:before,.body-guide:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}
.body-guide:before{width:430px;height:430px;left:-230px;top:80px;background:radial-gradient(circle,rgba(125,150,133,.18),transparent 68%)}
.body-guide:after{width:380px;height:380px;right:-210px;bottom:-100px;background:radial-gradient(circle,rgba(197,164,107,.16),transparent 68%)}
.body-guide__head{position:relative;z-index:2;text-align:center;max-width:760px;margin:0 auto 42px}
.body-guide__head p{margin:15px auto}
.body-guide__layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(470px,1.2fr) minmax(330px,.8fr);gap:32px;align-items:center;perspective:1500px}
.body-figure{--tilt-x:0deg;--tilt-y:0deg;position:relative;min-height:0;padding-bottom:1px;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(250,247,239,.68));border:1px solid rgba(72,101,85,.16);box-shadow:0 32px 70px rgba(42,58,49,.14),inset 0 1px 0 rgba(255,255,255,.85);overflow:hidden;transform-style:preserve-3d;transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .22s ease,box-shadow .3s ease;will-change:transform;touch-action:pan-y}
.body-figure:hover{box-shadow:0 38px 85px rgba(42,58,49,.19),inset 0 1px 0 rgba(255,255,255,.9)}
.body-figure__glow{position:absolute;z-index:0;width:390px;height:320px;left:50%;top:45px;transform:translateX(-50%);border-radius:48%;background:radial-gradient(ellipse,rgba(72,101,85,.2),rgba(197,164,107,.11) 48%,transparent 72%);filter:blur(20px);animation:body-glow 5.5s ease-in-out infinite}
.body-figure__scene{--scene-x:0px;--scene-y:0px;position:relative;z-index:1;inset:auto;margin:72px 18px 0;aspect-ratio:2048/1143;transform-style:preserve-3d;transform:translate3d(var(--scene-x),var(--scene-y),24px);transition:transform .25s ease;will-change:transform}
.body-figure__orbit{position:absolute;left:50%;top:52%;border:1px solid rgba(72,101,85,.18);border-radius:50%;pointer-events:none;transform-style:preserve-3d}
.body-figure__orbit--one{width:390px;height:250px;transform:translate3d(-50%,-50%,-28px) rotateX(68deg) rotateZ(-12deg);animation:body-orbit-one 12s linear infinite}
.body-figure__orbit--two{width:310px;height:230px;border-color:rgba(197,164,107,.25);transform:translate3d(-50%,-50%,8px) rotateY(68deg) rotateZ(18deg);animation:body-orbit-two 14s linear infinite reverse}
.body-figure__floor{position:absolute;left:50%;bottom:-25px;width:72%;height:42px;border-radius:50%;background:radial-gradient(ellipse,rgba(38,51,45,.18),rgba(38,51,45,.03) 55%,transparent 72%);filter:blur(7px);transform:translate3d(-50%,0,-45px) rotateX(72deg)}
.body-model-wrap{position:absolute;inset:0;height:100%;perspective:1200px;touch-action:pan-y}
.body-model{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.2,.72,.22,1);will-change:transform;cursor:grab}
.body-model:active{cursor:grabbing}
.body-model.is-back{transform:rotateY(180deg)}
.body-model__face{position:absolute;inset:0;transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.body-model__face--front{transform:rotateY(0deg)}
.body-model__face--back{transform:rotateY(180deg)}
.body-model__face[aria-hidden="true"]{pointer-events:none}
.body-model__face picture{position:absolute;inset:0;display:block;transform-style:preserve-3d}
.body-model__photo{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;border-radius:25px;box-shadow:0 22px 48px rgba(38,51,45,.22);border:1px solid rgba(72,101,85,.2);transform:translateZ(18px);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.body-model__face:after{content:"";position:absolute;inset:0;border-radius:25px;background:linear-gradient(90deg,rgba(31,49,40,.12),transparent 38%,transparent 68%,rgba(31,49,40,.05));pointer-events:none;transform:translateZ(20px)}
.body-side-label{display:none;position:absolute;z-index:7;top:5px;left:50%;transform:translate3d(-50%,0,120px);padding:5px 12px;border:1px solid rgba(72,101,85,.18);border-radius:999px;background:rgba(255,253,248,.82);color:var(--sage-dark);font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;box-shadow:0 8px 18px rgba(38,51,45,.09);backdrop-filter:blur(8px)}
.silhouette{display:none;position:absolute;left:50%;top:33px;width:225px;height:470px;transform:translate3d(-50%,0,36px);transform-style:preserve-3d;animation:body-breathe 4.8s ease-in-out infinite;will-change:transform}
.sil-head,.sil-torso,.sil-arm,.sil-leg{position:absolute;border:1px solid rgba(72,101,85,.65);background:linear-gradient(115deg,#dce5de 0%,#b9c9be 48%,#9fb3a6 100%);box-shadow:inset 9px 5px 15px rgba(255,255,255,.48),inset -9px -8px 16px rgba(65,91,77,.12),0 12px 22px rgba(38,51,45,.13);transform-style:preserve-3d}
.sil-head{width:78px;height:94px;border-radius:48%;left:74px;transform:translateZ(22px)}
.sil-torso{width:134px;height:210px;border-radius:48px 48px 58px 58px;left:46px;top:88px;transform:translateZ(18px)}
.sil-arm{width:40px;height:215px;border-radius:30px;top:102px}
.sil-arm.left{left:8px;transform:translateZ(2px) rotate(7deg)}
.sil-arm.right{right:8px;transform:translateZ(2px) rotate(-7deg)}
.sil-leg{width:57px;height:205px;border-radius:30px;top:278px}
.sil-leg.left{left:52px;transform:translateZ(9px)}
.sil-leg.right{right:52px;transform:translateZ(9px)}
.sil-shadow{position:absolute;z-index:-1;left:42px;top:32px;width:150px;height:430px;border-radius:48%;background:rgba(38,51,45,.16);filter:blur(18px);transform:translate3d(16px,18px,-25px)}
.sil-light{position:absolute;z-index:3;left:81px;top:22px;width:24px;height:390px;border-radius:50%;background:linear-gradient(to bottom,rgba(255,255,255,.56),rgba(255,255,255,.08));filter:blur(5px);opacity:.72;transform:translateZ(28px) rotate(2deg);pointer-events:none}
.silhouette--back .sil-head,.silhouette--back .sil-torso,.silhouette--back .sil-arm,.silhouette--back .sil-leg{background:linear-gradient(245deg,#d7e1da 0%,#b7c7bc 50%,#9bad9f 100%)}
.sil-back-line{position:absolute;z-index:4;left:111px;top:111px;width:3px;height:160px;border-radius:999px;background:linear-gradient(to bottom,rgba(72,101,85,.08),rgba(72,101,85,.42),rgba(72,101,85,.08));transform:translateZ(29px);box-shadow:0 0 10px rgba(72,101,85,.18)}
.sil-shoulders{position:absolute;z-index:4;left:65px;top:120px;width:95px;height:36px;border-top:3px solid rgba(72,101,85,.25);border-radius:50%;transform:translateZ(29px);filter:blur(.2px)}
.body-hotspot{position:absolute;z-index:5;min-width:58px;height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(72,101,85,.72);background:rgba(255,253,248,.94);color:var(--sage-dark);font-size:.72rem;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(38,51,45,.25),inset 0 1px 0 #fff;transform:translate3d(-50%,-50%,92px);transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;backdrop-filter:blur(8px);-webkit-tap-highlight-color:transparent}
.body-hotspot span{position:relative;z-index:2}
.body-hotspot:before,.body-hotspot:after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.body-hotspot:before{inset:-6px;border:1px solid rgba(125,150,133,.55);animation:body-pulse 2.3s infinite}
.body-hotspot:after{inset:4px;background:linear-gradient(145deg,rgba(255,255,255,.55),transparent);opacity:.45}
.body-hotspot:hover,.body-hotspot.active,.body-hotspot:focus-visible{background:#486555;color:#fff;transform:translate3d(-50%,-50%,116px) scale(1.08);box-shadow:0 16px 32px rgba(38,51,45,.34),0 0 0 5px rgba(197,164,107,.22);outline:0}
.body-hotspot.active:before{border-color:var(--gold);animation:body-active-pulse 1.8s ease-out infinite}
.body-model__face--front .body-hotspot[data-zone="tete"]{left:23%;top:51%}
.body-model__face--front .body-hotspot[data-zone="visage"]{left:30%;top:59%}
.body-model__face--front .body-hotspot[data-zone="ventre"]{left:56%;top:68%}
.body-model__face--front .body-hotspot[data-zone="jambes"]{left:80%;top:78%}
.body-model__face--back .body-hotspot[data-zone="tete"]{left:29%;top:56%}
.body-model__face--back .body-hotspot[data-zone="dos"]{left:40%;top:62%}
.body-model__face--back .body-hotspot[data-zone="jambes"]{left:79%;top:78%}
.body-view-controls{position:absolute;z-index:10;left:50%;top:14px;display:grid;grid-template-columns:auto auto auto;align-items:center;gap:7px;transform:translate3d(-50%,0,95px);padding:6px;border:1px solid rgba(72,101,85,.14);border-radius:999px;background:rgba(255,253,248,.88);box-shadow:0 12px 30px rgba(38,51,45,.13);backdrop-filter:blur(12px)}
.body-view-button,.body-turn-button{min-height:38px;border:0;border-radius:999px;padding:0 13px;background:transparent;color:var(--ink);font:inherit;font-size:.78rem;font-weight:750;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.body-view-button.active{background:#486555;color:#fff;box-shadow:0 7px 16px rgba(38,51,45,.2)}
.body-turn-button{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(197,164,107,.45);background:#fffaf0;color:var(--sage-dark)}
.body-turn-button span{font-size:1.15rem;transition:transform .45s ease}
.body-turn-button:hover span,.body-turn-button:focus-visible span{transform:rotate(180deg)}
.body-view-button:focus-visible,.body-turn-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.body-view-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.zone-choices{position:relative;z-index:8;left:auto;right:auto;bottom:auto;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:20px 16px 0;transform:translateZ(70px)}
.zone-choice{border:1px solid rgba(72,101,85,.16);border-radius:999px;background:rgba(255,253,248,.9);padding:8px 13px;cursor:pointer;color:var(--ink);font-weight:650;box-shadow:0 7px 18px rgba(38,51,45,.08);backdrop-filter:blur(8px);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
.zone-choice:hover,.zone-choice:focus-visible{transform:translateY(-3px);box-shadow:0 10px 22px rgba(38,51,45,.14);outline:2px solid rgba(197,164,107,.42);outline-offset:2px}
.zone-choice.active{background:#486555;color:#fff;transform:translateY(-3px);box-shadow:0 12px 25px rgba(38,51,45,.22)}
.zone-choice--wide{border-color:var(--gold)}
.body-figure__hint{position:relative;z-index:9;left:auto;right:auto;bottom:auto;margin:12px 20px 17px;text-align:center;color:#718078;font-size:.72rem;letter-spacing:.02em}
.body-figure__hint-mobile{display:none}
.care-panel{position:relative;overflow:hidden;background:rgba(255,253,248,.93);border:1px solid rgba(72,101,85,.14);border-radius:30px;padding:clamp(26px,4vw,48px);box-shadow:0 30px 75px rgba(47,63,54,.13),inset 0 1px 0 rgba(255,255,255,.9);min-height:430px;display:flex;flex-direction:column;justify-content:center;transform:translateZ(24px);backdrop-filter:blur(12px)}
.care-panel:before{content:"";position:absolute;width:190px;height:190px;right:-110px;top:-95px;border-radius:50%;background:radial-gradient(circle,rgba(197,164,107,.18),transparent 70%);pointer-events:none}
.care-panel--revealed>*{animation:care-reveal .52s cubic-bezier(.2,.75,.25,1) both}
.care-panel--revealed>*:nth-child(2){animation-delay:.035s}
.care-panel--revealed>*:nth-child(3){animation-delay:.07s}
.care-panel--revealed>*:nth-child(4){animation-delay:.105s}
.care-panel--revealed>*:nth-child(5){animation-delay:.14s}
.care-panel__prompt{color:#68756d}
.care-panel__zone{color:var(--sage-dark);font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800}
.care-panel h3{font-size:clamp(2rem,4vw,3.2rem);margin:12px 0}
.care-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.care-meta span{padding:8px 13px;background:#edf2ed;border-radius:999px;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.care-result{border-left:3px solid var(--rose);padding-left:18px;margin:5px 0 24px}
.care-panel .button{align-self:flex-start}
.care-option+.care-option{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.care-whatsapp{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;margin-top:18px;border:1px solid var(--line);border-radius:999px;padding:11px 18px;color:var(--sage-dark);font-weight:700;text-decoration:none;transition:.2s}
.care-whatsapp:hover{background:var(--cream);border-color:var(--sage);transform:translateY(-2px)}
.care-note{font-size:.85rem;opacity:.7;margin-top:18px}
.body-guide:not(.is-visible) .body-figure,.body-guide:not(.is-visible) .body-figure__glow,.body-guide:not(.is-visible) .silhouette,.body-guide:not(.is-visible) .body-figure__orbit,.body-guide:not(.is-visible) .body-hotspot:before{animation-play-state:paused}
@keyframes body-glow{0%,100%{opacity:.65;transform:translateX(-50%) scale(.94)}50%{opacity:1;transform:translateX(-50%) scale(1.05)}}
@keyframes body-breathe{0%,100%{transform:translate3d(-50%,0,36px) rotateY(-1.2deg)}50%{transform:translate3d(-50%,-5px,42px) rotateY(1.2deg)}}
@keyframes body-orbit-one{to{transform:translate3d(-50%,-50%,-28px) rotateX(68deg) rotateZ(348deg)}}
@keyframes body-orbit-two{to{transform:translate3d(-50%,-50%,8px) rotateY(68deg) rotateZ(378deg)}}
@keyframes body-pulse{0%{transform:scale(.72);opacity:.75}75%,100%{transform:scale(1.65);opacity:0}}
@keyframes body-active-pulse{0%{transform:scale(.8);opacity:.9}80%,100%{transform:scale(1.9);opacity:0}}
@keyframes care-reveal{from{opacity:0;transform:translate3d(18px,12px,-20px)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes body-card-mobile{0%,100%{transform:perspective(1000px) rotateX(1deg) rotateY(-2deg) translateY(0)}50%{transform:perspective(1000px) rotateX(-1deg) rotateY(2deg) translateY(-4px)}}
@media(max-width:820px){
  .body-guide{padding:80px 0}
  .body-guide__layout{grid-template-columns:1fr;gap:28px}
  .body-figure{min-height:0;animation:body-card-mobile 7s ease-in-out infinite}
  .body-figure__scene{bottom:auto;margin:72px 14px 0}
  .body-figure__orbit--two{display:none}
  .body-view-controls{top:14px;bottom:auto}
  .zone-choices{bottom:auto;margin-top:18px}
  .care-panel{min-height:0;transform:none}
  .body-figure__hint-desktop{display:none}
  .body-figure__hint-mobile{display:inline}
  .body-figure__hint{min-height:58px;margin-bottom:18px;padding:0 82px 0 18px;text-align:left;display:flex;align-items:center;justify-content:flex-start}
}
@media(max-width:480px){
  .body-guide__head{margin-bottom:30px}
  .body-guide__head h2{font-size:clamp(2rem,11vw,3rem)}
  .body-figure{min-height:0;border-radius:27px}
  .body-figure__scene{transform:translate3d(var(--scene-x),var(--scene-y),24px) scale(.93);transform-origin:50% 25%}
  .body-figure__scene{margin:66px 8px 0}.body-model__photo{object-position:center center}
  .body-view-controls{top:12px;bottom:auto;gap:4px;padding:5px}
  .body-view-button,.body-turn-button{min-height:36px;padding:0 10px;font-size:.72rem}
  .zone-choices{left:9px;right:9px;bottom:42px;gap:6px}
  .zone-choice{padding:8px 11px;font-size:.82rem}
  .body-hotspot{min-width:48px;height:32px;padding:0 9px;font-size:.63rem}
  .care-panel{border-radius:25px;padding:28px 22px}
  .care-panel .button,.care-whatsapp{width:100%;justify-content:center;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .body-figure,.body-figure__glow,.silhouette,.body-figure__orbit,.body-hotspot:before,.care-panel--revealed>*{animation:none!important}
  .body-figure,.body-figure__scene,.body-model,.body-hotspot,.zone-choice,.care-whatsapp{transition:none!important}
}

