/* The next portrait peeks from the screen edge, without a fading inner mask. */
.doctor-gallery-viewport{--gallery-edge-space:max(52px,calc((100vw - 1296px)/2));position:relative;min-width:0;width:calc(100% + var(--gallery-edge-space));max-width:none;margin-right:calc(-1 * var(--gallery-edge-space));isolation:isolate}
.doctors-track{--doctor-columns:3;--doctor-gap:22px;position:relative;gap:var(--doctor-gap);margin-right:0;padding:7px 9px 17px 3px;scroll-padding-left:3px;scroll-padding-right:9px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;align-items:stretch}
.doctor-card{flex:0 0 calc((100% - 132px)/3);min-width:0;scroll-snap-stop:normal}
.doctors-track[data-gallery-overflow=false]>.doctor-card{flex-basis:calc((100% - 44px)/3)}
@media(max-width:1200px){.doctor-gallery-viewport{--gallery-edge-space:35px}}
@media(max-width:600px){.doctor-gallery-viewport{--gallery-edge-space:21px}}
/* An explicit image box avoids an intrinsic-height/percentage-height cycle. */
.doctor-image{height:auto;min-height:0;aspect-ratio:4/5.15;padding:0;border-radius:23px 23px 65px 23px;isolation:isolate}
.doctor-image>img,.doctor-card:hover .doctor-image>img{position:absolute;inset:12px 10px 0;width:calc(100% - 20px);height:calc(100% - 12px);max-width:none;object-fit:contain;object-position:center bottom;transform:none;transition:none;will-change:auto}
.doctor-number{z-index:2;background:#f9faf0cc;border-radius:20px;padding:5px 8px;top:15px;left:14px}
.doctor-image .circle-link{right:15px;bottom:15px}
.profile-top img{object-fit:contain;object-position:center top}
.gallery-navigation{display:flex;align-items:center;gap:28px;margin:22px 0 12px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gallery-navigation[hidden],.scroll-row-hint[hidden]{display:none}
.gallery-caption{display:flex;gap:14px;align-items:baseline;white-space:nowrap}.gallery-caption>span{font-size:12px;font-weight:500}.gallery-count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--purple)}
.gallery-caption>small{font-size:10px;color:var(--muted)}.gallery-caption>small>span{margin-left:8px}
.gallery-progress{height:2px;background:var(--line);flex:1;position:relative;border-radius:4px;overflow:hidden;min-width:35px}.gallery-progress>i{position:absolute;top:0;bottom:0;background:var(--purple);border-radius:4px;min-width:15px}
.gallery-controls{display:flex;gap:8px;flex-shrink:0}.gallery-controls>button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;font-size:23px;color:var(--ink);background:transparent;transition:background .2s,color .2s}.gallery-controls>button:hover:enabled{background:var(--purple);color:var(--button-ink)}.gallery-controls>button:disabled{opacity:.3;cursor:default}
.scroll-row-hint{font-size:9px;color:var(--muted);letter-spacing:.3px;margin:22px 0 -15px}
.doctor-filters+.doctors-track{margin-top:0}
@media(max-width:1000px){.doctors-track{--doctor-columns:2}.doctor-card{flex-basis:calc((100% - 102px)/2)}.doctors-track[data-gallery-overflow=false]>.doctor-card{flex-basis:calc((100% - 22px)/2)}.gallery-caption>small{display:none}.gallery-navigation{gap:18px}}
@media(max-width:700px){.doctors-track{--doctor-columns:1;--doctor-gap:16px;margin-right:0;padding-right:9px}.doctor-card{flex-basis:calc(100% - 58px)}.doctors-track[data-gallery-overflow=false]>.doctor-card{flex-basis:100%}.doctor-image{height:auto;aspect-ratio:4/5.1;padding:0;border-bottom-right-radius:60px}.gallery-navigation{gap:12px;margin-top:17px;padding:14px 0}.gallery-caption{gap:7px;flex-wrap:wrap;max-width:130px;white-space:normal}.gallery-caption>span{width:100%;font-size:11px}.gallery-count{font-size:11px}.gallery-controls>button{width:44px;height:44px}.gallery-caption>small{display:block;font-size:9px}.gallery-caption>small>span{display:none}.gallery-caption>small{width:100%}.gallery-progress{margin:0 3px}.situation-tabs,.doctor-filters{scrollbar-width:thin;scrollbar-color:var(--purple) transparent;padding-bottom:10px}.situation-tabs::-webkit-scrollbar,.doctor-filters::-webkit-scrollbar{display:block;height:3px}.situation-tabs::-webkit-scrollbar-thumb,.doctor-filters::-webkit-scrollbar-thumb{background:var(--purple);border-radius:3px}}
body.readable .gallery-caption>span,body.readable .gallery-count{font-size:16px}
/* The three real case pairs stay visible together; no horizontal gallery. */
.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;overflow:visible;scroll-snap-type:none;padding:5px 0 0;margin-right:0}
.works-grid>.work-card{min-width:0;width:auto;scroll-snap-align:none}
@media(max-width:900px){.works-grid{grid-template-columns:1fr;gap:34px}}
.comparison img{max-width:none;transform-origin:50% 50%;image-rendering:auto}
.comparison[data-alignment=ortho]>.comparison-before{transform:scale(1.18)}
.comparison[data-alignment=ortho]>.comparison-after>img{transform:translate(-1%,-4%) scale(1.1)}
.comparison[data-alignment=restoration]>.comparison-before{transform:scale(1.18)}
.comparison[data-alignment=restoration]>.comparison-after>img{transform:translate(-2%,5%) scale(1.21)}
.comparison[data-alignment=hygiene]>.comparison-before{transform:scale(1.14)}
.comparison[data-alignment=hygiene]>.comparison-after>img{transform:translate(.8%,-5%) scale(1.14)}
.comparison-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:9px;color:var(--muted)}
.comparison-controls>span{display:flex;gap:7px;align-items:center}.comparison-controls>span>i{font-size:16px;font-style:normal;color:var(--purple)}
.comparison-controls>div{display:flex;border:1px solid var(--line);border-radius:25px;padding:3px}
.comparison-controls button{font-size:9px;min-height:30px;padding:6px 10px;border-radius:20px;background:transparent;color:var(--ink)}
.comparison-controls button[aria-pressed=true]{background:var(--purple);color:var(--button-ink)}
@media(max-width:700px){.works-grid{gap:32px}.comparison-controls{align-items:flex-start;gap:8px;font-size:8px}.comparison-controls>span{max-width:90px;line-height:1.5}.comparison-controls button{font-size:8px;padding:5px 9px;min-height:32px}}

.gallery-navigation{position:sticky;top:84px;z-index:6;background:var(--paper);margin:0 0 18px;padding:12px 0}.doctor-filters{margin-bottom:15px}@media(max-width:700px){.gallery-navigation{top:71px;padding:10px 0;margin-bottom:16px}.gallery-caption{max-width:135px}.gallery-caption>small{display:none}}
/* Match the displayed case size to the detail available in the original photos. */
.works-grid{max-width:1120px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.works-grid{max-width:380px;margin-left:auto;margin-right:auto}}

/* Original portrait colours and backgrounds, without blending or retouch. */
.doctor-card .doctor-image,.doctor-card:nth-child(2n) .doctor-image,.doctor-card:nth-child(3n) .doctor-image{background:#fff}
.doctor-image>img{mix-blend-mode:normal}
.hero-portrait,.floating-function>img,.profile-top>img{background:#fff}

.doctor-image>img,.hero-portrait>img,.floating-function>img,.profile-top>img{filter:none;mix-blend-mode:normal;image-rendering:auto}

/* Compact portraits adapt to the available viewport; object-fit keeps every photo whole. */
.doctor-gallery-toolbar{position:sticky;top:var(--doctor-header-height,84px);z-index:10;background:var(--paper);padding:8px 0 0;margin:0}
.doctor-gallery-toolbar .doctor-filters{margin:0 0 8px;padding-bottom:5px}
.doctor-gallery-toolbar .gallery-navigation{position:static;margin:0;padding:8px 0;gap:20px}
.doctor-gallery-toolbar .scroll-row-hint{margin:0 0 5px}
#doctors .doctor-image{height:var(--doctor-photo-height,clamp(180px,calc(100svh - 360px),360px));aspect-ratio:auto}
#doctors .doctor-card h3{font-size:21px;line-height:1.17;margin:13px 0 7px}
#doctors .doctor-card p{font-size:12px;line-height:1.55;margin:0 0 6px;min-height:37px}
#doctors .doctor-book{min-height:40px;display:inline-flex;align-items:center;max-width:100%;font-size:12px;padding:6px 0}
@media(max-width:700px){.doctor-gallery-toolbar{top:var(--doctor-header-height,71px)}.doctor-gallery-toolbar .gallery-navigation{gap:12px}.doctor-gallery-toolbar .gallery-caption>small{display:none}#doctors .doctor-card h3{font-size:20px;line-height:1.13;margin-top:12px}#doctors .doctor-card p{font-size:11px;min-height:34px}}
#doctors .doctor-filters>button{min-height:44px;font-size:11px}
#doctors .doctor-book{min-height:44px}
