:root{color-scheme:dark;--ink:#f4ede3;--muted:#c6c8cc;--teal:#efb76b;--paper:#393c41;--line:#5b5e63}
.doctor-portrait{margin:0;overflow:hidden;border-radius:18px;border:1px solid #71757b;background:#50545a}
.doctor-portrait img{display:block;width:100%;height:auto}
.detail-dialog .doctor-portrait{margin:0 0 28px;border-radius:10px}
.detail-dialog .doctor-portrait img{height:280px;object-fit:cover;object-position:50% 32%}
@media(max-width:760px){.doctor-portrait{max-width:420px;margin:0 auto}.detail-dialog .doctor-portrait img{height:240px;object-position:50% 32%}}
body{background:#393c41;color:var(--ink)}
::selection{background:#e6aa59;color:#100c07}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#ffc57a}
.draft-bar{background:#303338;color:#c3ac8d;border-bottom:1px solid #53565b}
.header{height:90px}.brand{color:#f4ede3}.brand svg{stroke:#edb36b}.brand small{color:#c7c6c3}
.header nav{color:#c8c1b8}.button-dark{background:#efb76b;color:#130d06;border:1px solid #efb76b}
.button-dark:hover{background:#ffcc89;color:#100c07}.header-cta{padding:13px 23px}
.hero{background:#393c41;isolation:isolate}.hero-heading{padding:14px 20px 0;pointer-events:none}
.hero-heading .eyebrow{margin-bottom:12px;color:#dfc49f;font-size:12px;letter-spacing:2.4px}
.hero h1{font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.045em}
.hero-intro{font-size:14px;line-height:1.6;margin:12px auto 0;color:#cecdca}
.anatomy-stage{height:570px;margin:0 auto;max-width:1280px}
.ear-center{width:535px;height:450px;top:48%;z-index:2}
.ear-visual{position:relative;isolation:isolate}.ear-visual img{position:relative;z-index:1}
/* Lightweight, nonrepresentational light layers; no additional image downloads. */
.ear-visual::before,.journey-ear::before{content:'';position:absolute;inset:-35%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at center,#ffe4a575 0%,#ffb94765 22%,#f46b253d 38%,#cf47131a 49%,#9c300608 60%,transparent 72%);border-radius:50%;animation:solar-breathe 7s ease-in-out infinite}
.ear-visual::after,.journey-ear::after{content:'';position:absolute;z-index:0;left:6%;right:6%;top:-2%;bottom:-2%;border-radius:50%;border:1px solid #f8b75b25;box-shadow:0 0 38px 10px #f9a33c25,inset 0 0 35px #fca74514;pointer-events:none;animation:solar-corona 9s ease-in-out infinite}
.ear-shadow{display:none}
.orbit{border-color:#a9773526}.orbit-one{width:560px;height:510px;opacity:.55}.orbit-two{width:670px;height:610px;opacity:.35}
.axis{background:#b9833510}.coordinate{color:#c5b294;font-size:12px;letter-spacing:1.8px}.coordinate-one{left:32%;top:8%}.coordinate-two{right:26%;bottom:9%}
.connectors path{stroke:#bd88434d;stroke-dasharray:2 5}.connectors path.active{stroke:#ffd18e}
.hotspot{width:247px;padding:15px 12px}.hotspot strong{font-size:20px;font-weight:500;color:#f5eee3}.hotspot small{color:#d3c3ac;font-size:12px;letter-spacing:.9px}.node-number{color:#d1b58e;font-size:12px}.node-plus{color:#f5c480;border-color:#9e723c80;background:#45494f}
.hotspot:hover,.hotspot:focus-visible{background:#51555be8;box-shadow:0 8px 35px #0004}.hotspot:hover .node-plus{background:#efb76b;color:#120b04}
.hotspot-one{left:4%;top:16%}.hotspot-two{left:1%;top:43%}.hotspot-three{left:5%;top:70%}.hotspot-four{right:4%;top:16%}.hotspot-five{right:1%;top:43%}.hotspot-six{right:5%;top:70%}
.scene-controls{bottom:0}.scene-controls button,.scene-hint{color:#d1c4b2;font-size:12px}.pause-icon{border-color:#71542d}.hero-foot{padding-top:18px;padding-bottom:25px;color:#c9c4bd}.scroll-track{border-color:#8c683f}.scroll-track i{background:#ecc18c}
.trust-strip{color:#d4cec5;background:#34373c}.trust-strip>span{color:#695038}
.content-section{border-color:var(--line)}.section-body>p:not(.lead),.doctor-copy>p:not(.lead):not(.eyebrow),.service-list p,.faq details p{color:#d0ccc5}
.doctor-monogram{background:#42464b}.doctor-monogram:before,.doctor-monogram:after{border-color:#79512b55}.doctor-monogram>span{color:#c99a60}.doctor-monogram small{color:#c09b6e}
.cas-badge span{border-color:#735532}.booking-section{background:#3d4147;color:#f4ede3;border-top:1px solid #62656b;border-bottom:1px solid #62656b}
.booking-section h2 em{color:#efb76b}.booking-section>p:not(.eyebrow),.booking-card p{color:#d6cec1}.booking-card{background:#50545a;border-color:#70747a}.booking-card:hover{background:#5c6067}.booking-icon{color:#f2be78}.booking-label{border-color:#987449}.contact-grid span{color:#efb76b}
footer{background:#393c41;color:#c9c5bf}.footer-brand{color:#f4ede3}.skip{background:#edba78;color:#120d06}
.journey-wash{background:radial-gradient(ellipse at 28% 48%,#494b50,#393c41 72%)}
.journey-ear{isolation:isolate}.journey-ear>img{position:relative;display:block;width:100%;height:auto;z-index:1}
.journey-ear::before,.journey-ear::after{animation:none}
.journey-open #ear-visual::before,.journey-open #ear-visual::after{visibility:hidden;animation-play-state:paused}
.scene-idle .ear-visual::before,.scene-idle .ear-visual::after,.page-idle .ear-visual::before,.page-idle .ear-visual::after{animation-play-state:paused}
.journey-panel{background:#474b51;border-color:#71757b;box-shadow:0 15px 45px #0005;color:#f4ede3}
.detail-dialog .booking-section{background:#3d4147;color:#f4ede3;border-color:#62656b}
.journey-panel .close-dialog{background:#50545a;color:#f4c382}.journey-panel .dialog-top{border-color:#696d73;color:#dfc7a7}
.journey-target span{background:#454950f2;border-color:#bc86494d;color:#ffe2b5}.journey-target i{border-color:#ffd799;box-shadow:0 0 0 9px #ffae3820,0 0 0 10px #f8c07955;background:#ffb84730}
.journey-note{color:#c8a575}.credits-dialog{background:#474b51;color:#eee4d7;border:1px solid #71757b}.credits-dialog::backdrop{background:#0009;backdrop-filter:none}
@keyframes solar-breathe{0%,100%{opacity:.8;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
@keyframes solar-corona{0%,100%{opacity:.6;transform:scale(.98)}50%{opacity:1;transform:scale(1.035)}}
@media(min-width:1500px){.hero-heading{padding-top:20px}.anatomy-stage{height:640px}.ear-center{width:600px;height:500px}}
@media(max-width:1050px) and (min-width:761px){.ear-center{width:430px;height:370px}.hotspot{width:215px}.hotspot strong{font-size:17px}.hotspot small{font-size:12px;letter-spacing:0}.hotspot-one,.hotspot-three{left:1%}.hotspot-four,.hotspot-six{right:1%}}
@media(max-width:760px){
 .header{height:82px;padding:0 20px}.header-cta{padding:11px 13px;font-size:12px}.hero-heading{padding:12px 22px 0}.hero-heading .eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:12px}.hero h1{font-size:29px;max-width:330px;margin:auto}.hero-intro{font-size:13px;max-width:300px;margin-top:10px}
 .anatomy-stage{height:auto;max-width:100%;margin:0;padding:325px 18px 65px;gap:6px 12px}.ear-center{width:330px;max-width:90%;height:280px;top:162px}.scene-backdrop{height:320px;overflow:visible}.orbit-one{width:300px;height:290px}.orbit-two{width:360px;height:340px}.coordinate-one{left:10%;top:13%;font-size:10px}.coordinate-two{right:10%;bottom:7%;font-size:10px}
 .hotspot{position:relative;inset:auto;width:100%;padding:12px 3px;gap:7px;border-color:#64462166}.hotspot strong{font-size:15px}.hotspot small{font-size:10px;letter-spacing:.2px}.node-number{font-size:10px}.node-plus{width:23px;height:23px}.scene-controls{bottom:3px}.hero-foot{padding:16px 20px 22px}.hero-foot>span{display:none}.coordinate-two{letter-spacing:1px}.trust-strip{font-size:12px}
 .journey-wash{background:radial-gradient(ellipse at 50% 20%,#494b50,#393c41 70%)}.journey-note{color:#d2b184;font-size:10px}.journey-panel{border-color:#71757b}
}
@media(prefers-reduced-motion:reduce){.ear-visual::before,.ear-visual::after{animation:none}}
/* Crisp typography on the existing graphite/gold palette. */
:root{--ink:#fff;--muted:#e8eaed}
body,.journey-panel,.booking-section,.detail-dialog .booking-section{color:#fff}
h1,h2,h3,.hotspot strong{font-weight:650;color:#fff}
.header nav,.brand small,.hero-intro,.hero-foot,.scene-hint,.scene-controls button,.trust-strip,footer,.hotspot small,.section-body>p:not(.lead),.doctor-copy>p:not(.lead):not(.eyebrow),.service-list p,.faq details p,.booking-section>p:not(.eyebrow),.booking-card p{color:#edf0f3}
.draft-bar,.coordinate,.node-number,.journey-note,.journey-panel .dialog-top{color:#ffe0b4}
.hotspot strong{font-weight:650}.hotspot small,.header nav{font-weight:550}
.hero-heading .eyebrow{color:#ffdaaa}.brand,.footer-brand{color:#fff}footer>small{opacity:1}
.contact-map{grid-column:1/-1;min-width:0;border:1px solid #7d8187;border-radius:12px;overflow:hidden;background:#474b51;margin-top:-30px}
.contact-map iframe{display:block;width:100%;height:340px;border:0;color-scheme:normal}
.contact-map p{margin:0;padding:14px 18px;color:#edf0f3;font-size:14px;line-height:1.6}
.detail-dialog .contact-map{margin-top:24px}.detail-dialog .contact-map iframe{height:300px}
@media(max-width:760px){.contact-map{margin-top:0}.contact-map iframe,.detail-dialog .contact-map iframe{height:280px}.contact-map p{padding:12px;font-size:13px}}
