/* A large knee tile and four equally sized companion tiles. */
/* Keep torso, hand and hip visible together; crop only the empty left side. */
#design-7 .photo-3 img{position:absolute;left:auto;right:0;top:0;width:160%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:100% 65%!important;transform:none!important}
/* A native scroll surface, rather than an overflowing fixed-width canvas. */
#design-20.testimonial-carousel{height:auto!important;width:100%;max-width:1280px;margin:0 auto;box-sizing:border-box;padding:20px 24px 42px;overflow:hidden}
.testimonial-track{display:flex;position:relative;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;padding:0 0 12px;scrollbar-width:thin;scrollbar-color:#b8c7de transparent}
.testimonial-card{flex:0 0 calc((100% - 32px)/3);min-width:0;scroll-snap-align:start}
.testimonial-media{position:relative;aspect-ratio:9/13;border-radius:24px;overflow:hidden;background:#081b36;isolation:isolate}
.testimonial-media video{display:block;width:100%;height:100%;object-fit:cover;background:#081b36}
.testimonial-caption{position:absolute;bottom:0;left:0;right:0;padding:70px 22px 25px;color:#fff;background:linear-gradient(transparent,#041b36bb);pointer-events:none}
.testimonial-caption h3{font:500 25px/1.15 Arial,sans-serif;margin:0 0 8px}
.testimonial-caption p{font:400 16px/1.35 Arial,sans-serif;margin:0;color:#dbe9f6}
.testimonial-play{position:absolute;inset:0;width:100%;border:0;color:white;background:transparent;font:500 14px/1 Arial,sans-serif;cursor:pointer;touch-action:pan-x pan-y;text-indent:-9999px}
.testimonial-play:after{content:'';position:absolute;left:50%;top:42%;width:64px;height:64px;border:1px solid #ffffff70;border-radius:50%;transform:translate(-50%,-50%);background:#18344aaa;backdrop-filter:blur(8px)}
.testimonial-play:before{content:'';position:absolute;z-index:1;left:calc(50% - 7px);top:calc(42% - 12px);border-left:19px solid white;border-top:12px solid transparent;border-bottom:12px solid transparent}
.testimonial-card.is-playing .testimonial-play,.testimonial-card.is-playing .testimonial-caption{display:none}
.testimonial-controls{display:flex;justify-content:center;gap:12px;margin-top:12px}
.testimonial-controls button{min-height:44px;padding:10px 16px;border:1px solid #cbd9e9;border-radius:22px;background:white;color:#163152;font:14px/1.2 Arial,sans-serif}
.testimonial-controls button:disabled{opacity:.4;cursor:default}
.testimonial-play:focus-visible,.testimonial-controls button:focus-visible,.testimonial-track:focus-visible{outline:2px solid #2854ff;outline-offset:-4px}
@media(max-width:700px){
 #design-20.testimonial-carousel{padding:12px 14px 28px}
 .testimonial-card{flex-basis:78%}
 .testimonial-caption{padding:65px 18px 22px}.testimonial-caption h3{font-size:23px}.testimonial-caption p{font-size:14px}
 .testimonial-controls button{font-size:12px;padding:10px 13px}
 .anchor-home-top #design-11.directions-scene{padding-top:30px;padding-bottom:30px}
 #design-11.directions-scene .eyebrow{margin-bottom:14px}
 #design-11.directions-scene h2{font-size:34px;margin:0 0 20px}
 #design-11.directions-scene>div:first-child>p{margin-bottom:20px}
 #design-11.directions-scene.directions-scroll .directions-list{gap:8px}
 #design-11.directions-scene.directions-scroll summary{min-height:52px;padding:12px;font-size:17px}
 #design-11.directions-scene.directions-scroll ul{margin:0 14px 10px}
 #design-11.directions-scene.directions-scroll li{font-size:14px;line-height:1.35;padding:6px 0}
 .precision-hero{display:flex!important;flex-direction:column;box-sizing:border-box;padding:72px 18px 12px!important;min-height:var(--mobile-screen,100svh)!important;height:auto!important}
 .precision-hero__inner{flex:1;flex-direction:column;gap:0!important;width:100%!important;padding:0!important;min-height:0}
 .precision-hero__eyebrow{font-size:11px!important;line-height:1.3!important;margin:0 0 10px!important}
 .precision-hero .anchor-greeting{font-size:clamp(23px,6.7vw,29px)!important;margin:0 0 10px!important}
 .precision-hero h1{font-size:clamp(30px,8.8vw,38px)!important;line-height:1.03!important;margin:0 0 10px!important}
 .precision-hero__specialty{font-size:14px!important;line-height:1.35!important;margin:0 0 14px!important;max-width:350px!important;text-align:center}
 .precision-hero__actions{margin:0 0 6px!important;gap:10px!important}
 .precision-hero__actions a{min-height:44px!important;padding:12px 16px!important;font-size:13px!important}
 .precision-hero__visual{width:100%!important;min-height:0!important;height:clamp(135px,calc(var(--mobile-screen,100svh) - 500px),210px)!important;margin:0!important;flex:none}
 .precision-hero__portrait{height:100%!important;max-height:100%!important;width:auto!important;max-width:66%!important;right:5%!important;left:auto!important;bottom:0!important;transform:none!important}
 .precision-hero__quote{left:0!important;right:auto!important;bottom:9px!important;width:47%!important;max-width:180px!important;font-size:11px!important;line-height:1.35!important;padding:12px!important;margin:0!important}
 .precision-hero__members{font-size:10px!important;line-height:1.3!important;margin:6px 0 10px!important;gap:9px!important}
 .precision-hero__routes{flex:none!important;margin:0!important;width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;min-height:0!important;padding:0!important}
 .precision-hero__routes a{padding:9px 5px!important;min-height:60px!important}
 .precision-hero__routes strong{font-size:11px!important;line-height:1.2!important}
 .precision-hero__routes span{font-size:10px!important;line-height:1.3!important}
 .motion-tools{position:static!important;width:max-content;max-width:calc(100% - 16px);margin:12px 8px 0;box-shadow:none!important}
 .anchor-preview{position:static!important;display:inline-block;margin:4px 10px 10px}
}
/* Atmosphere stays behind the form; it never moves fields or captures input. */
#booking-15{position:relative;isolation:isolate;overflow:hidden}
#booking-15 .booking-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#booking-15 .booking-home-card{position:relative;z-index:1;box-shadow:0 18px 65px #16396b12}
#booking-15 .booking-orbit{position:absolute;display:block;width:clamp(240px,29vw,460px);aspect-ratio:1;border:1px solid #e5f8ff90;border-radius:50%;animation:booking-orbit 24s linear infinite;animation-play-state:paused}
#booking-15 .booking-orbit:before{content:'';position:absolute;inset:15%;border:1px solid #b4d2ff70;border-radius:50%;transform:scaleX(.64) rotate(28deg)}
#booking-15 .booking-orbit:after{content:'';position:absolute;top:50%;left:-4px;width:8px;height:8px;background:#daf76e;border:1px solid #f8ffcd;border-radius:50%;box-shadow:0 0 20px #d8f86866}
#booking-15 .booking-orbit-one{left:-10%;top:10%}
#booking-15 .booking-orbit-two{right:-9%;bottom:-15%;animation-duration:32s;animation-direction:reverse}
#booking-15 .booking-orbit-two:after{background:#d1f5ff;border-color:#fff}
#booking-15 .booking-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 16% 48%,#c4edff65,transparent 35%),radial-gradient(ellipse at 90% 70%,#dfe7ff50,transparent 35%);animation:booking-light 11s ease-in-out infinite alternate;animation-play-state:paused}
#booking-15.booking-in-view .booking-atmosphere>*{animation-play-state:running}
#booking-15:focus-within .booking-atmosphere>*,.motion-static #booking-15 .booking-atmosphere>*{animation-play-state:paused}
@keyframes booking-orbit{to{transform:rotate(360deg)}}
@keyframes booking-light{from{opacity:.45;transform:translate3d(-12px,0,0)}to{opacity:1;transform:translate3d(12px,-8px,0)}}
@media(max-width:600px){#booking-15 .booking-orbit-one{left:-150px;top:-90px}#booking-15 .booking-orbit-two{right:-165px;bottom:-70px}}
@media(prefers-reduced-motion:reduce){#booking-15 .booking-atmosphere>*{animation:none!important}}
/* One stable scroll track: disclosure transitions do not resize the page. */
#design-11.directions-scroll{align-items:start}
#design-11 .directions-track{min-width:0;position:relative}
#design-11.directions-scroll .directions-list{position:sticky;top:76px;justify-content:flex-start}
#design-11.directions-scroll details{flex-shrink:0;box-sizing:border-box}
#design-11.directions-scroll summary{min-height:62px;padding:16px 20px;font-size:20px;line-height:1.3}
#design-11.directions-scroll summary>small{width:28px;height:28px}
#design-11.directions-scroll ul{margin:0 20px 16px;padding:0}
#design-11.directions-scroll li{font-size:15px;line-height:1.4;padding:10px 0}
#design-11.directions-scroll details:not(.direction-current){box-shadow:none;border-color:#dbe6ef}
#design-11.directions-scroll details:not(.direction-current) summary>small{background:transparent;color:#6f8499;border-color:#d7e2ef}
#design-11.directions-scroll details:not(.direction-current) .disclosure-sign{transform:none}
@media(min-width:1001px){
 #design-11.directions-scroll ul{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
 #design-11.directions-scroll li:nth-child(2){border-top:1px solid #dce7f0}
}
@media(max-width:760px){
 #design-11.directions-scroll summary{font-size:18px;min-height:62px;padding:16px 12px;gap:10px}
 #design-11.directions-scroll ul{margin:0 14px 12px}
 #design-11.directions-scroll li{font-size:15px;line-height:1.35;padding:8px 0}
}
/* Compact only the inline booking section, not the booking dialog. */
#booking-15.booking-compact{padding:48px 24px!important;min-height:0!important;scroll-margin-top:80px}
#booking-15 .booking-home-card{width:min(760px,100%)!important;max-width:760px!important;min-height:0!important;height:auto!important;box-sizing:border-box;padding:32px!important;margin:0 auto!important}
#booking-15 .booking-display-title{font-size:clamp(30px,3.2vw,42px)!important;line-height:1.1!important;margin:0 0 12px!important}
#booking-15 .booking-home-card>p{font-size:16px!important;line-height:1.45!important;margin:0 0 22px!important}
#booking-15 .appointment-fields{display:grid!important;flex:none!important;height:auto!important;min-height:0!important;align-content:start;grid-template-columns:1fr 1fr;gap:10px 16px!important;margin:0!important}
#booking-15 .anchor-demo{grid-column:1/-1;margin:0 0 5px!important;font-size:12px!important;line-height:1.4}
#booking-15 .appointment-fields>input:not([type=checkbox]),#booking-15 .appointment-fields>select{width:100%!important;height:52px!important;min-height:52px!important;padding:12px 16px!important;border-radius:12px!important;font-size:16px!important;box-sizing:border-box;margin:0!important}
#booking-15 label[for=booking1_preferred_contact_time]{grid-column:1;grid-row:3}
#booking-15 label[for=booking1_preferred_contact_method]{grid-column:2;grid-row:3}
#booking-15 #booking1_preferred_contact_time{grid-column:1;grid-row:4}
#booking-15 #booking1_preferred_contact_method{grid-column:2;grid-row:4}
#booking-15 .booking-field-caption{font-size:12px!important;line-height:1.4!important;align-self:end;margin:0!important}
#booking-15 .dialog-consent{grid-column:1/-1;margin:2px 0!important;gap:10px!important;align-items:start!important;font-size:13px!important;line-height:1.4!important}
#booking-15 .dialog-consent input{width:20px!important;height:20px!important;min-width:20px!important;flex:0 0 20px;margin:0!important}
#booking-15 .appointment-fields>.button{grid-column:1/-1;justify-self:center;min-height:48px!important;height:auto!important;padding:12px 30px!important;font-size:16px!important;margin:6px 0 0!important}
#booking-15 .anchor-status{grid-column:1/-1;margin:0!important;font-size:13px!important}
#booking-15 .anchor-status:empty{display:none}
@media(max-width:600px){
 #booking-15.booking-compact{padding:32px 14px!important}
 #booking-15 .booking-home-card{padding:24px 18px!important}
 #booking-15 .appointment-fields{grid-template-columns:1fr;gap:9px!important}
 #booking-15 .appointment-fields>*{grid-column:1!important;grid-row:auto!important}
 #booking-15 .booking-field-caption{margin-top:4px!important}
}
.anchor-home-top .movement-composition{grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(350px,54svh,550px);gap:14px}
.anchor-home-top .photo-0{grid-column:1;grid-row:1/3}
.anchor-home-top .photo-1{grid-column:2;grid-row:1}
.anchor-home-top .photo-2{grid-column:3;grid-row:1}
.anchor-home-top .photo-3{grid-column:2;grid-row:2}
.anchor-home-top .photo-4{grid-column:3;grid-row:2}
.anchor-home-top .movement-photo img{transform:none!important}
.anchor-home-top .photo-1 img{object-position:50% 75%}
.anchor-home-top .photo-3 img{object-position:50% 78%}
.anchor-home-top .movement-photo>span{font-size:clamp(17px,1.5vw,23px);left:20px;right:18px;bottom:20px}
.anchor-home-top .photo-0>span{font-size:clamp(23px,2.2vw,31px)}
.anchor-home-top .movement-scene{padding-top:38px;padding-bottom:50px}
.anchor-home-top .movement-heading h2{font-size:clamp(36px,4vw,58px);margin:12px 0 28px}
.anchor-home-top .movement-scene .scene-label{margin-bottom:20px}
/* Keep all first-screen routes visible at ordinary desktop heights. */
@media(min-width:1001px) and (min-height:650px){
 .precision-hero{box-sizing:border-box;min-height:0!important;height:100svh!important;max-height:1050px;display:flex!important;flex-direction:column;padding-top:78px!important;padding-bottom:20px!important}
 .precision-hero__inner{flex:1;width:100%!important;max-width:none!important;box-sizing:border-box;min-height:0;padding-top:4px!important;padding-bottom:8px!important;gap:35px!important}
 .precision-hero__visual{height:100%;min-height:0!important;max-height:610px}
 .precision-hero__portrait{height:100%!important;max-height:min(63svh,550px)!important;width:auto;max-width:100%}
 .precision-hero__routes{flex:none;width:100%!important;max-width:none!important;box-sizing:border-box;margin-top:10px!important;padding:0!important;min-height:74px}
 .precision-hero__routes a{padding:14px 22px!important}
 .precision-hero__copy{padding-top:0!important}
 .precision-hero h1{font-size:clamp(43px,4.6vw,66px)!important;margin-bottom:16px!important}
 .precision-hero .anchor-greeting{font-size:clamp(28px,3vw,42px);margin-bottom:18px}
 .precision-hero__eyebrow{margin-bottom:14px!important}
 .precision-hero__members{margin-top:18px!important}
}
@media(min-width:1001px) and (max-height:760px){.precision-hero h1{font-size:46px!important}.precision-hero .anchor-greeting{font-size:30px;margin-bottom:12px}.precision-hero__specialty{font-size:16px!important;margin-bottom:16px!important}.precision-hero__members{margin-top:12px!important}.precision-hero__routes a{padding:10px 18px!important}}
.precision-hero__field:before{content:'';position:absolute;inset:12% 8%;border-radius:50%;background:radial-gradient(ellipse at 25% 35%,#9bdbec60,transparent 65%),radial-gradient(ellipse at 78% 72%,#bccbff65,transparent 60%);filter:blur(24px);animation:portrait-light 12s ease-in-out infinite alternate;pointer-events:none}
.precision-hero__field .precision-orbit{animation:portrait-orbit 28s linear infinite!important}
.precision-hero__field .precision-orbit--two{animation:portrait-orbit 36s linear infinite reverse!important}
@keyframes portrait-light{from{transform:translate3d(-10px,8px,0) scale(.93);opacity:.65}to{transform:translate3d(12px,-9px,0) scale(1.08);opacity:1}}
@keyframes portrait-orbit{from{rotate:0deg}to{rotate:360deg}}
.pointer-orbit{position:fixed;top:0;left:0;z-index:9998;pointer-events:none;opacity:0;transition:opacity .3s;will-change:transform}
.pointer-orbit.visible{opacity:1}.pointer-orbit i{position:absolute;width:30px;height:30px;left:-15px;top:-15px;border:1px solid #6c8cff70;border-radius:50%;transition:width .3s,height .3s,left .3s,top .3s;background:#dff4ff12}
.pointer-orbit i:nth-child(2){width:9px;height:9px;left:17px;top:7px;background:#b8e3ef80;border:0}.pointer-orbit i:nth-child(3){width:5px;height:5px;left:-22px;top:-13px;background:#2854ff60;border:0}.pointer-orbit.over-link i:first-child{width:44px;height:44px;left:-22px;top:-22px}
.motion-static .pointer-orbit{display:none}.motion-static .precision-hero__field *,.motion-static .precision-hero__field:before{animation:none!important}
@media(max-width:760px){
 .anchor-home-top .movement-composition{grid-template-columns:1.1fr 1fr;grid-template-rows:repeat(4,112px);height:auto;gap:9px}
 .anchor-home-top .photo-0{grid-column:1;grid-row:1/5}
 .anchor-home-top .photo-1{grid-column:2;grid-row:1}.anchor-home-top .photo-2{grid-column:2;grid-row:2}.anchor-home-top .photo-3{grid-column:2;grid-row:3}.anchor-home-top .photo-4{grid-column:2;grid-row:4}
 .anchor-home-top .movement-photo>span{font-size:12px;left:10px;right:8px;bottom:10px;line-height:1.2}.anchor-home-top .photo-0>span{font-size:20px;left:13px;right:12px;bottom:18px}
 .anchor-home-top .movement-photo small{font-size:9px;margin-bottom:5px}.anchor-home-top .photo-1 img{object-position:50% 75%}.anchor-home-top .photo-3 img{object-position:50% 75%}
 .anchor-home-top .movement-heading h2{font-size:32px;margin-bottom:14px}.anchor-home-top .movement-heading>a{font-size:13px;margin-bottom:18px}.anchor-home-top .movement-scene{padding:35px 16px}.anchor-home-top .movement-scene .scene-label{margin-bottom:14px}
 .pointer-orbit{display:none}.precision-hero__field:before{filter:blur(14px)}
}
@media(prefers-reduced-motion:reduce){.pointer-orbit{display:none!important}.precision-hero__field *,.precision-hero__field:before{animation:none!important}}

#booking-15 .appointment-fields>altcha-widget,#booking-15 .appointment-fields>noscript,#booking-15 .appointment-fields>.errorlist,#booking-15 .appointment-fields>[role=status]{grid-column:1/-1}
@media(max-width:639px){body.home-routes-visible #ods-medical-assistant .ods-ma__launcher{bottom:max(88px,calc(env(safe-area-inset-bottom) + 76px))}}
@media(min-width:601px){#booking-15 label[for=booking1_preferred_contact_time],#booking-15 label[for=booking1_preferred_contact_method]{grid-row:2}#booking-15 #booking1_preferred_contact_time,#booking-15 #booking1_preferred_contact_method{grid-row:3}}
/* Use the hero's spare vertical room for the portrait, not an empty spacer. */
@media(max-width:700px){
 .precision-hero__visual{flex:1 0 180px!important;height:auto!important;min-height:180px!important}
 .precision-hero__portrait{height:calc(100% + 70px)!important;max-height:none!important;max-width:76%!important;width:auto!important;right:-2%!important;top:0!important;bottom:auto!important;clip-path:inset(0 0 70px);mask-image:linear-gradient(to bottom,#000 38%,#000 56%,transparent calc(100% - 70px))}
 .precision-hero__members{flex:none!important;margin:5px 0 12px!important}
}
/* Disclosure changes stay inside a fixed track; no browser scroll anchoring. */
#design-11.directions-scroll .directions-track{overflow-anchor:none}
