
/* LAMEDISTA Motion Studio — dimensional interactive visual language */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}body{overflow-x:hidden}
header{transition:background .5s,box-shadow .5s}header.scrolled{box-shadow:0 15px 55px #0002}
.hero-media{animation:heroZoom 18s alternate infinite,photoBreath 12s ease-in-out infinite;will-change:transform,filter}
@keyframes photoBreath{0%,100%{filter:saturate(.8) brightness(.9)}50%{filter:saturate(1.18) brightness(1.08)}}
.hero-content h1{animation:riseGrand 1.3s var(--motion-ease) both}.hero-content .kicker{animation:riseGrand 1s .15s var(--motion-ease) both}
@keyframes riseGrand{from{opacity:0;transform:translate3d(0,65px,0);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
.reveal{transition:opacity 1s var(--motion-ease),transform 1s var(--motion-ease),filter 1s var(--motion-ease)}
.reveal:not(.visible){filter:blur(8px)}.reveal.visible{filter:blur(0)}
.studio{position:relative;isolation:isolate}.studio:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 25% 35%,#8ebfa127,transparent 50%),radial-gradient(ellipse at 75% 75%,#bfa77923,transparent 45%);animation:ambient 9s ease-in-out infinite alternate}
@keyframes ambient{to{transform:scale(1.15) translate(2%,-3%);filter:hue-rotate(16deg)}}
.studio-grid{overflow:visible}.studio-main{min-width:0}.focus-hint{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.1em;opacity:.75;margin:10px 0 14px}
.focus-hint:before{content:'◎';font-size:22px}.visual-stage{position:relative;perspective:1100px;overflow:hidden;min-height:310px;border:1px solid var(--border);border-radius:18px;background:radial-gradient(ellipse at 45% 10%,#9bbba51f,transparent 65%);padding:28px 12px;display:flex;flex-direction:column;justify-content:center;transition:box-shadow .6s}
.visual-stage:after{content:'';position:absolute;inset:-40%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,#ffffff12 48%,transparent 59%);transform:translateX(-100%);animation:scanShine 8s ease-in-out infinite}
@keyframes scanShine{0%,35%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
.visual-stage .jaw,.visual-stage .teeth{position:relative;z-index:1}.teeth{transform-style:preserve-3d;transition:transform .85s var(--motion-ease);will-change:transform}
.tooth{position:relative;transform-style:preserve-3d;transition:transform .45s var(--motion-ease),filter .4s,box-shadow .4s;box-shadow:0 7px 0 -2px #7c9e8b45,0 12px 20px #0001;transform:translateZ(4px) rotateX(8deg)}
.tooth svg{filter:drop-shadow(0 3px 2px #0002)}.tooth:hover{transform:translateY(-10px) translateZ(30px) rotateX(-9deg) scale(1.12);z-index:4}.tooth.selected{transform:translateY(-9px) translateZ(35px) rotateX(-8deg);filter:drop-shadow(0 0 12px #70d6a36e);z-index:5}
.tooth.pulse-pick{animation:toothPick .65s var(--motion-ease)}@keyframes toothPick{0%{filter:brightness(2);transform:translateZ(70px) scale(1.4)}100%{filter:none}}
.zoom-controls{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:14px;position:relative;z-index:3}.zoom-controls button{border:1px solid var(--border);background:transparent;color:inherit;border-radius:7px;width:34px;height:34px;font-size:20px;cursor:pointer}.zoom-controls button:hover{background:#8baf9540}.zoom-value{font-size:11px;opacity:.7;min-width:42px;text-align:center}
.body-figure{perspective:900px;overflow:hidden;border-radius:18px;position:relative;background:radial-gradient(circle at 50% 35%,#93bb9e23,transparent 65%);padding:12px}
.body-figure svg{filter:drop-shadow(16px 24px 18px #0003);transform:rotateY(-13deg) rotateX(7deg);transition:transform .85s var(--motion-ease);transform-origin:50% 50%;max-height:430px;cursor:crosshair}
.body-figure:hover svg{transform:rotateY(8deg) rotateX(4deg)}.body-figure svg.zoomed{transform:scale(1.75) rotateY(-3deg)!important}
.zone{transition:fill .35s,stroke .35s,filter .35s;cursor:pointer}.zone:hover{filter:brightness(1.4) drop-shadow(0 0 6px #83e3ae)}.zone.selected{filter:drop-shadow(0 0 9px #6ce8a0)}
.hair-visual{position:relative;margin:10px auto 18px;max-width:370px;perspective:900px}.hair-visual svg{width:100%;max-height:300px;filter:drop-shadow(15px 25px 18px #0003);transform:rotateX(18deg) rotateY(-9deg);transition:transform .8s var(--motion-ease)}.hair-visual:hover svg{transform:rotateX(10deg) rotateY(10deg) scale(1.07)}.hair-visual path[data-region]{cursor:pointer;transition:fill .3s,filter .3s}.hair-visual path[data-region]:hover{fill:#71bd92!important;filter:drop-shadow(0 0 9px #70d9a0)}.hair-visual path.active{fill:#56ba88!important;filter:drop-shadow(0 0 12px #58db99)}
.studio-side .number,.studio-side .estimate{transition:transform .35s var(--motion-ease)}.studio-side.updated .number,.studio-side.updated .estimate{animation:countPop .48s var(--motion-ease)}@keyframes countPop{50%{transform:scale(1.15);filter:brightness(1.3)}}
@media(max-width:700px){.visual-stage{padding:18px 4px;min-height:260px}.tooth:hover{transform:translateY(-4px) scale(1.05)}.hair-visual{max-width:260px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

