/* Clinical Atelier / V2 — additive art direction, no external runtime. */
.header-inner{gap:22px}.header-actions{gap:12px}.desktop-nav .nav-links{gap:18px}
.header-book{background:transparent;color:var(--mineral);border:1px solid #a3b8ac}.header-book:hover{background:var(--mist);color:var(--ink)}
.menu-trigger{width:auto;min-width:114px;min-height:50px;padding:12px 17px;gap:18px;background:var(--mineral);color:#fff;border:1px solid var(--mineral);font-size:12px;font-weight:700;letter-spacing:.105em;line-height:1;transition:background .2s,box-shadow .2s}
.menu-trigger:hover{background:#164f48;box-shadow:0 4px 16px #103d2818}.menu-trigger:focus-visible{outline-offset:4px;outline-color:#123e38}
.menu-label-close{display:none}.site-menu[open] .menu-label-open{display:none}.site-menu[open] .menu-label-close{display:inline}
.menu-lines{width:22px;height:14px;border-width:2px}.menu-lines:after{content:'';position:absolute;top:4px;left:0;width:15px;height:2px;background:currentColor;transition:width .2s,transform .25s}
.menu-trigger:hover .menu-lines:after{width:22px}.site-menu[open] .menu-lines:before,.site-menu[open] .menu-lines:after{width:22px;height:2px}
.site-menu[open] .menu-trigger{background:var(--graphite);border-color:var(--graphite)}
.compact-nav{display:none}.menu-panel{border-top:1px solid var(--line);background:var(--paper);isolation:isolate}
.site-menu[open] .menu-panel{animation:dd-menu-in .3s var(--ease)}
@keyframes dd-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.menu-panel-inner{gap:36px;padding-block:30px 32px;grid-template-columns:1.16fr 1.08fr 1fr 1fr}
.menu-panel nav{gap:3px}.menu-panel nav>a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;min-height:40px;border-bottom:1px solid #ced8ce70;line-height:1.45;transition:color .18s,padding .2s}
.menu-panel nav>a:hover,.menu-panel nav>a[aria-current]{color:var(--mineral);padding-left:5px;text-decoration:none}.menu-link-arrow{font-size:17px;opacity:.4;transition:transform .2s,opacity .2s}.menu-panel nav>a:hover .menu-link-arrow{opacity:1;transform:translate(2px,-2px)}
.menu-panel nav>a[aria-current]{font-weight:700}.menu-panel nav>a[aria-current] .menu-link-arrow{opacity:1}
.menu-cover{display:block;position:relative;overflow:hidden;margin-bottom:22px;background:#e3e5e4}.menu-cover img{width:100%;aspect-ratio:1.42;object-fit:cover;object-position:center 33%;transition:transform .8s var(--ease)}.menu-cover:hover img{transform:scale(1.035)}
.menu-cover>span{position:absolute;bottom:0;left:0;right:0;padding:11px 13px;background:#1e352be8;color:#fff;font-size:10px;letter-spacing:.08em;display:flex;align-items:center;justify-content:space-between;gap:8px}.menu-cover .icon{width:15px;height:15px}.menu-intro .eyebrow{font-size:10px;margin-bottom:10px}.menu-intro>p:not(.eyebrow){font-size:27px}.menu-visit-column{min-width:0}
.menu-footer{display:flex;gap:24px;align-items:center;justify-content:space-between;padding-block:18px 24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.menu-footer a{display:inline-flex;gap:12px;align-items:center;min-height:38px;color:var(--ink)}.menu-footer a:hover{color:var(--mineral)}.menu-footer .icon{width:17px;height:17px}.menu-footer a[href^="tel"]{font-size:19px;white-space:nowrap}
.hero-photo{transition:transform .3s linear}.hero-scene .hero-arc{opacity:.85}.hero-room-marker{transition:background .25s,box-shadow .25s}.hero-room-marker:hover{background:#eaf0e8;box-shadow:0 8px 20px #12332515}.hero-arc path:not(.arc-axis){stroke-dasharray:1200;stroke-dashoffset:calc(250px * (1 - var(--photo-progress,1)));transition:stroke-dashoffset .4s linear}
.hero-photo:after{content:'';position:absolute;inset:13px;border:1px solid #ffffff36;pointer-events:none}
.portrait-ribbon{margin-top:74px;padding-top:34px;border-top:1px solid #9db7ae45}.portrait-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:26px}.portrait-heading .eyebrow{margin-bottom:12px}.portrait-heading h3{font-size:clamp(30px,3vw,45px)}.portrait-navigation{display:flex;align-items:center;gap:25px}.portrait-navigation p{font-size:12px}
.portrait-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:22px;align-items:start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#98ac9d transparent;padding:5px 1px 14px;overscroll-behavior-inline:contain}
.portrait-frame{min-width:0;scroll-snap-align:start}.portrait-frame:nth-child(even){padding-top:38px}.portrait-frame>a{display:block;position:relative;overflow:hidden;background:#dedfdf}.portrait-frame img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 20%;transition:transform 1s var(--ease)}.portrait-frame>a:hover img{transform:scale(1.035)}.portrait-frame figcaption{display:flex;justify-content:space-between;letter-spacing:.12em;font-size:10px}.portrait-frame .photo-expand{right:12px;bottom:12px;background:#f5f6eee8;color:var(--ink)}
.ribbon-controls{display:flex;gap:8px}.ribbon-controls[hidden]{display:none}.ribbon-controls button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #80968a;border-radius:50%;transition:background .2s}.ribbon-controls button:first-child .icon{transform:rotate(180deg)}.ribbon-controls button:hover{background:#869e8422}.ribbon-controls button:disabled{opacity:.3;cursor:default}.ribbon-controls .icon{width:18px;height:18px}.portrait-ribbon--light{margin-top:0;border-color:var(--line)}
.reception-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}.reception-collage{position:relative;padding:16px 0 50px 36px;isolation:isolate;min-width:0}.welcome-main{position:relative;z-index:2;width:87%;margin-left:auto;transform:translateY(calc(var(--collage-shift,0px) * -1))}.welcome-main>a,.welcome-detail>a{display:block;position:relative;background:var(--mist);overflow:hidden}.welcome-main img{width:100%;aspect-ratio:1.5;object-fit:contain}.welcome-detail{position:relative;z-index:3;width:52%;margin:-36px 0 0 -18px;padding:10px;background:var(--paper);transform:translateY(var(--collage-shift,0px))}.welcome-detail img{width:100%;height:auto}.welcome-detail figcaption{font-size:10px;margin-top:9px}.welcome-main figcaption{padding-left:calc(52% - 52px);font-size:10px}.welcome-line{position:absolute;inset:10% 12% -10% -5%;z-index:1;color:var(--mineral);opacity:.32;pointer-events:none;transform:rotate(-19deg)}.welcome-line svg{width:100%;height:100%}.photo-registration{position:absolute;right:0;bottom:34px;font-size:36px;color:var(--mineral);font-weight:300}.reception-collage .photo-expand{right:10px;bottom:10px}
.assembly-console{max-width:400px;padding:15px 18px;margin:0 0 22px;border:1px solid #75948770;background:#1c262180}.assembly-console[hidden]{display:none}.assembly-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;line-height:1.5}.assembly-label label{color:#f0f4ed}.assembly-label output{font-variant-numeric:tabular-nums;color:#bdd4c6;min-width:38px;text-align:right}.assembly-console input[type=range]{width:100%;margin:16px 0 6px;min-height:24px;accent-color:#b5cbb5;cursor:ew-resize;padding:0;background:transparent;border:0}.assembly-scale{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#d2ddd3}.assembly-console>button{font-size:11px;display:flex;align-items:center;gap:10px;margin-top:8px;min-height:32px;padding:0;color:#d2ddd3}.assembly-console>button:hover{color:#fff}.assembly-console>button span{font-size:19px}.implant-svg [data-implant-part]:not([data-implant-part=context]){cursor:pointer}.implant-svg [data-implant-part]:hover{filter:brightness(1.09)}
.implant-visual{perspective:1000px}.implant-svg{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s var(--ease)}.implant-controls button{transition:background .2s,border-color .2s}.implant-controls button[aria-pressed=true]{box-shadow:inset 0 -2px 0 #ced8b2}
.rooms-grid{perspective:1000px}.room-frame{transition:transform .55s var(--ease),opacity .3s}.room-frame.is-active>a{box-shadow:0 14px 30px #22332915}.room-frame.is-active figcaption{color:var(--mineral)}.room-selector button{transition:background .25s,color .25s,transform .25s}.room-selector button[aria-pressed=true]{transform:translateY(-3px)}.room-frame>a>img{transition:transform .65s var(--ease)}.room-frame>a:hover>img{transform:scale(1.03)}
.treatment-preview{overflow:hidden}.treatment-preview:after{content:'';position:absolute;inset:20px;border:1px solid #92ab9933;pointer-events:none}.treatment-row .icon{transition:transform .3s var(--ease)}.treatment-row:hover .icon,.treatment-row:focus-visible .icon{transform:translate(4px,-4px)}
.chapter-dock{position:fixed;z-index:50;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:2px;max-width:calc(100% - 40px);padding:6px 7px 6px 18px;background:#f7f6f2f5;border:1px solid #bfcbc1;border-radius:3px;box-shadow:0 8px 35px #19322215;font-size:12px;white-space:nowrap;backdrop-filter:blur(12px);animation:dd-menu-in .24s var(--ease)}.chapter-dock[hidden]{display:none}.chapter-dock-label{font-size:9px;letter-spacing:.1em;color:var(--muted);padding-right:15px}.chapter-dock>a{min-height:38px;display:flex;align-items:center;justify-content:center;padding:8px 13px;transition:background .18s}.chapter-dock>a:hover{background:var(--mist)}.chapter-dock>a[aria-current]{background:var(--mineral);color:#fff}.chapter-dock .chapter-top{font-size:20px;width:39px;border-left:1px solid var(--line);margin-left:5px}.menu-open .chapter-dock,.gallery-open .chapter-dock{display:none}
.article-aside nav>a{transition:color .2s,border-color .2s}.article-aside nav>a[aria-current]{color:var(--mineral);border-left:2px solid var(--mineral);padding-left:12px;font-weight:600}.article-content h2{scroll-margin-top:150px}
.faq-list>details[open] .faq-answer{animation:dd-menu-in .25s var(--ease)}.guide-card .guide-art .smile-arc{transition:transform .7s var(--ease)}.guide-card:hover .guide-art .smile-arc{transform:translateY(-4px) rotate(-3deg)}
.dark .reveal-ready{opacity:1}.motion-ready [data-reveal].reveal-ready{opacity:1}.motion-ready [data-reveal].is-visible{animation:dd-photo-in .65s var(--ease) both}@keyframes dd-photo-in{from{clip-path:inset(5% 0 0 0);transform:translateY(12px)}to{clip-path:inset(0);transform:translateY(0)}}
@media(min-width:1101px) and (min-height:721px){.motion-ready .implant-section.scene-track{min-height:145vh}.motion-ready .implant-section .scene-stage{min-height:min(800px,calc(100svh - 100px));padding-block:42px}.implant-copy h2{font-size:clamp(36px,3.3vw,53px)}.implant-copy .section-intro{font-size:16px;line-height:1.6;margin-top:20px}.implant-controls{margin-top:23px}.implant-explanations{margin-block:18px}.implant-visual .implant-svg{max-height:520px}.implant-section .implant-layout{gap:54px}}
@media(min-width:1281px){.nav-links{font-size:12px}}
@media(max-width:1280px){.desktop-nav{display:none}.compact-nav{display:flex;align-items:center;justify-content:center;gap:28px;border-top:1px solid #ccd3cd88;min-height:38px;padding-inline:18px;font-size:12px}.compact-nav>a{display:flex;align-items:center;min-height:38px;border-bottom:2px solid transparent}.compact-nav>a:hover,.compact-nav>a[aria-current]{color:var(--mineral);border-bottom-color:var(--mineral)}.menu-panel-inner{gap:24px}.menu-intro>p:not(.eyebrow){font-size:24px}.menu-cover{margin-bottom:17px}.menu-panel nav{font-size:13px}.header-inner{height:82px}.site-header{--header:120px}.portrait-navigation p{max-width:230px}.reception-layout{gap:38px}}
@media(max-width:1000px){.menu-panel-inner{grid-template-columns:1fr 1fr 1fr;gap:28px}.menu-intro{display:none}.menu-panel nav{font-size:14px}.menu-footer{flex-wrap:wrap;gap:7px 26px}.menu-footer>a:last-child{margin-left:auto}.portrait-track{grid-auto-columns:31%;gap:20px}.portrait-ribbon{margin-top:48px}.portrait-navigation{gap:14px}.portrait-heading{align-items:center}.reception-layout{grid-template-columns:1fr 1.1fr;gap:26px}.reception-collage{padding-left:12px}.welcome-main{width:95%}.welcome-detail{width:58%;margin-top:-17px}.chapter-dock{display:none!important}}
@media(max-width:760px){.header-inner{height:76px;gap:14px}.header-actions{gap:6px}.menu-trigger{min-width:102px;min-height:45px;height:45px;font-size:11px;padding:11px 13px;gap:12px}.header-book{display:none}.brand-name{font-size:35px}.brand-sub{font-size:6.7px;letter-spacing:.25em}.language-switch{min-width:32px;font-size:11px}.compact-nav{gap:0;justify-content:space-between;padding-inline:22px;font-size:11px}.compact-nav>a{min-height:37px}.site-header{--header:114px}.menu-panel{max-height:calc(100svh - 124px)}.menu-panel-inner{grid-template-columns:1fr 1fr;gap:30px 24px;padding-block:26px}.menu-panel nav{font-size:13px}.menu-panel nav>a{min-height:42px;padding-block:9px}.menu-panel h2{font-size:11px;margin-bottom:12px}.menu-visit-column{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.menu-search{margin-top:0}.menu-search input{max-width:100%;width:100%}.menu-footer{font-size:11px;display:block;padding-top:12px}.menu-footer>span{display:block;margin-bottom:5px}.menu-footer a{display:flex;font-size:12px}.menu-footer a[href^="tel"]{font-size:19px}.portrait-heading{align-items:start;gap:14px}.portrait-heading h3{font-size:32px}.portrait-heading .eyebrow{font-size:10px}.portrait-navigation{flex-direction:column;align-items:end}.portrait-navigation p{display:none}.portrait-track{grid-auto-columns:65%;gap:17px;scroll-padding-inline:0}.portrait-frame:nth-child(even){padding-top:26px}.portrait-ribbon{margin-top:44px;padding-top:29px}.portrait-frame img{aspect-ratio:3/4}.ribbon-controls button{width:38px;height:38px}.reception-layout{grid-template-columns:1fr;gap:40px}.reception-collage{padding:0 0 24px 16px}.welcome-main{width:94%}.welcome-detail{width:57%;margin-top:-15px;margin-left:-16px;padding:7px}.welcome-main figcaption{font-size:9px;padding-left:calc(56% - 34px)}.welcome-detail figcaption{font-size:9px}.photo-registration{font-size:28px;bottom:26px}.assembly-console{padding:12px 14px;margin-bottom:24px}.assembly-console input[type=range]{min-height:30px}.implant-visual .implant-svg{max-height:430px}.implant-copy .section-intro{font-size:16px}.implant-section .implant-layout{gap:24px}.hero-photo:after{inset:10px}.gallery-grid [data-gallery-group="people"] img{object-position:center 20%}}
@media(max-width:380px){.header-inner{gap:8px}.header-actions{gap:3px}.brand-name{font-size:33px}.brand-sub{font-size:6.3px}.menu-trigger{min-width:98px;padding-inline:11px}.language-switch{min-width:29px}.menu-panel-inner,.menu-visit-column{column-gap:17px}.menu-panel nav{font-size:12px}.menu-link-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.site-menu[open] .menu-panel,.faq-list>details[open] .faq-answer,.chapter-dock{animation:none}.portrait-frame img,.hero-photo,.implant-svg,.room-frame,.welcome-main,.welcome-detail{transition:none;transform:none!important}.motion-ready [data-reveal].is-visible{animation:none}.hero-arc path{stroke-dashoffset:0}}
.motion-reduced .menu-panel,.motion-reduced .faq-answer,.motion-reduced .chapter-dock{animation:none}.motion-reduced [data-reveal].is-visible{animation:none}.motion-reduced .implant-svg,.motion-reduced .welcome-main,.motion-reduced .welcome-detail{transform:none!important;transition:none}
@media print{.compact-nav,.chapter-dock,.assembly-console,.ribbon-controls,.menu-panel{display:none!important}.portrait-track{overflow:visible;grid-auto-columns:23%;gap:2%}.portrait-frame:nth-child(even){padding-top:0}}
/* Measured sticky-header offsets; fixed inner heights avoid resize feedback loops. */
@media(min-width:1281px){.header-inner{height:94px}}
@media(max-width:1280px){:root{--header:120px}}
@media(max-width:760px){:root{--header:114px}}
/* Keep every menu action within the visible screen, including the initial utility bar. */
.menu-panel{max-height:calc(100svh - var(--menu-top,calc(var(--header) + 34px)))}
@media(max-width:760px){.menu-visit-column{display:block}.menu-visit-column>nav{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:3px}.menu-visit-column>nav>h2{grid-column:1/-1}.menu-visit-column .menu-search{margin-top:24px}.menu-panel nav>a{min-width:0}.menu-search input{min-width:0}}
/* Avoid double-counting the sticky-header offset on article anchors. */
html{scroll-padding-top:calc(var(--header) + 18px)}
.article-content h2{scroll-margin-top:16px}
.related-grid{grid-template-columns:repeat(var(--related-count,3),minmax(0,1fr))}
@media(max-width:760px){.related-grid{grid-template-columns:1fr}}
