/* Portrait and architecture are continuous scenes, with the approved framing. */
.professional{position:relative;isolation:isolate;overflow:hidden;min-height:780px;padding:0;background:var(--black);display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);grid-template-rows:auto 1fr;align-items:start}
.professional-intro,.professional-copy{position:relative;z-index:2;width:100%;grid-column:1}.professional-intro{grid-row:1;padding:90px 30px 0 7vw}.professional-intro .eyebrow{color:#aaa69e;font-size:13px;margin-bottom:24px}.professional-intro h2{font-size:clamp(72px,7.8vw,116px);line-height:.98;letter-spacing:-.04em}.professional-area{font-size:13px;letter-spacing:.04em;margin:24px 0 32px;color:#b9b4aa}.professional-copy{grid-row:2;padding:0 40px 90px 7vw}.professional-copy>p{max-width:380px;font-size:16px;line-height:1.85;color:#b9b4aa;margin-bottom:18px}.professional-copy .button{margin-top:18px}
.professional-portrait{position:relative;z-index:1;grid-column:2;grid-row:1 / 3;width:100%;height:100%;min-height:780px;align-self:stretch;margin:0;pointer-events:none;overflow:hidden}
.professional-photo{position:absolute;inset:0;overflow:hidden;background:#383431;-webkit-mask-image:none;mask-image:none}
.professional-photo img{position:absolute;width:100%;height:auto;max-width:none;transform:none}
.professional-portrait:after{content:none}
.clinic{position:relative;background:var(--black);color:var(--ivory);padding:35px 0 0;scroll-margin-top:35px}.clinic-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;padding:40px 7vw 55px;max-width:1600px;margin:auto}.clinic-intro .eyebrow{color:#aaa69e;font-size:13px;margin-bottom:22px}.clinic-intro h2{font-size:clamp(48px,6vw,86px);line-height:1.07;letter-spacing:-.025em}.clinic-intro>p{font-size:15px;line-height:1.85;color:#aaa69e;max-width:260px;padding-bottom:5px}
.clinic-tour{position:relative;background:var(--black);touch-action:pan-y pinch-zoom}
.clinic-scenes{position:relative;width:100%;height:clamp(640px,78svh,860px);margin:0;overflow:hidden}
.clinic-scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.clinic-scene.active{opacity:1}
.clinic-scene img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 70%;display:block;-webkit-mask-image:none;mask-image:none}
.clinic-scenes:after{content:none}
.clinic-caption{position:relative;z-index:2;margin:0 7vw;min-height:110px;padding:20px 0 26px;display:flex;justify-content:space-between;align-items:center;gap:25px}.clinic-count{display:block;font-size:11px;letter-spacing:.05em;color:#e0d9cd;margin-bottom:10px;font-variant-numeric:tabular-nums}.clinic-current-title{font:400 40px/1.15 var(--display);letter-spacing:-.015em}.clinic-arrows{display:flex;gap:12px}.clinic-arrows button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #eee9df80;background:#05050540;border-radius:50%;font-size:21px;transition:background .2s}.clinic-arrows button:hover{background:#eee9df;color:#050505}.clinic-navigation{display:flex;justify-content:space-between;gap:30px;margin:0 7vw;padding:4px 0 38px}.clinic-navigation button{flex:1;min-height:48px;padding:13px 8px;background:none;color:#aaa69e;font-size:13px;border-top:1px solid #eee9df30;transition:color .25s,border-color .25s}.clinic-navigation button.active{border-color:var(--ivory);color:var(--ivory)}.clinic-navigation button:hover{color:#fff;border-color:#eee9df80}.clinic-navigation button:focus-visible{outline-offset:2px}
/* A dedicated small portrait avoids downloading the full photograph for avatars. */
.post-avatar{position:relative}.post-avatar>img{position:absolute;max-width:none;width:116.4390244%;height:174.6341463%;left:-11.7073171%;top:-62.9268293%;object-fit:fill}
@media(min-width:1600px){.professional-intro,.professional-copy{padding-left:max(7vw,calc((100vw - 1380px)/2))}}
@media(max-width:1050px) and (min-width:701px){.professional-intro{padding:75px 25px 0 6vw}.professional-intro h2{font-size:clamp(58px,7.2vw,77px)}.professional-copy{padding:0 28px 80px 6vw}.professional-copy>p{font-size:14px}.clinic-intro{padding:35px 6vw 45px;gap:30px}.clinic-intro>p{max-width:220px;font-size:14px}.clinic-intro h2{font-size:57px}}
@media(max-width:700px){
 .professional{display:flex;flex-direction:column;padding:0;min-height:0;overflow:hidden}.professional-intro,.professional-copy{width:100%;max-width:none}.professional-intro{padding:35px 6vw 0}.professional-intro .eyebrow{font-size:12px;margin-bottom:18px}.professional-intro h2{font-size:clamp(64px,17vw,100px);line-height:1}.professional-area{font-size:12px;margin:20px 0 28px}.professional-portrait{width:100%;height:120vw;max-height:650px;min-height:0;margin:0;z-index:1}.professional-copy{padding:32px 6vw 65px;z-index:2}.professional-copy>p{font-size:15px;line-height:1.8;max-width:38ch;margin-bottom:18px}.professional-copy .button{margin-top:10px;font-size:12px}
 .clinic{padding:0;scroll-margin-top:20px}.clinic-intro{display:block;padding:35px 6vw 35px}.clinic-intro .eyebrow{font-size:12px;margin-bottom:18px}.clinic-intro h2{font-size:clamp(40px,10.8vw,66px)}.clinic-intro>p{font-size:14px;max-width:34ch;margin-top:24px;padding:0;line-height:1.75}.clinic-scenes{width:100%;height:clamp(430px,65svh,640px)}.clinic-caption{margin:0 6vw;min-height:108px;padding:18px 0 24px;gap:15px}.clinic-current-title{font-size:32px;max-width:200px}.clinic-count{font-size:10px;margin-bottom:8px}.clinic-arrows{gap:9px}.clinic-arrows button{width:44px;height:44px;font-size:19px}.clinic-navigation{margin:0 6vw;padding:0 0 35px;gap:8px}.clinic-navigation button{min-width:0;min-height:48px;padding:12px 0;font-size:12px}.clinic-navigation button:nth-child(4){flex:1.3}
}
@media(prefers-reduced-motion:reduce){.clinic-scene{transition:none}}

@media(max-width:360px){.clinic-navigation{gap:12px;overflow-x:auto;scrollbar-width:thin;padding-bottom:23px}.clinic-navigation button,.clinic-navigation button:nth-child(4){flex:0 0 auto;min-width:76px;padding:12px 8px}}
@media(max-width:700px){.clinic-intro h2{font-size:clamp(40px,12.5vw,68px);line-height:1.04;letter-spacing:-.03em}}

/* Location supplied by the site owner; typography follows the existing site. */
.clinic-location{padding:0 7vw 38px;max-width:1600px;margin:0 auto;color:#b9b4aa;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.clinic-location p{font-size:14px;line-height:1.7}
.clinic-location strong{color:var(--ivory);font-weight:500}
.clinic-location .text-link{color:var(--ivory);border-color:var(--line);white-space:nowrap}
@media(max-width:700px){.clinic-location{padding:0 6vw 30px;display:block}.clinic-location .text-link{margin-top:10px}}
