
:root{--navy:#001448;--green:#1A8F45;--action:#14703A;--bright:#37B34A;--mint:#EAF6EE;--pale:#F5FAF7;--blue:#E8ECF5;--shadow:0 10px 30px rgba(0,20,72,.08)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:110px}body{font:16px/1.75 'Inter',sans-serif;color:var(--navy);background:white}a{color:var(--action);text-underline-offset:5px}a:hover{color:var(--navy)}button,summary{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}svg{width:24px;height:24px;flex-shrink:0}h1,h2,h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;line-height:1.2;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(42px,4.6vw,66px);line-height:1.12}h2{font-size:36px}h3{font-size:22px}p+p{margin-top:20px}::selection{background:var(--mint);color:var(--navy)}:focus-visible{outline:3px solid var(--green);outline-offset:5px}.wrap{width:min(1200px,calc(100% - 48px));margin-inline:auto}.section{padding-block:88px}.section-head{margin-bottom:36px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:16px 24px;border-radius:999px;min-height:54px;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;background:var(--action);color:white;border:1px solid var(--action)}.btn:hover{background:var(--navy);border-color:var(--navy);color:white}.btn.outline{color:var(--action);background:white;border-color:#b4cdbd}.btn.outline:hover{background:var(--mint)}.btn.white{background:white;border-color:white;color:var(--navy)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.skip{position:fixed;left:16px;top:-80px;padding:12px;background:white;z-index:100}.skip:focus{top:8px}
header{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid #e7eeea}.header-inner{min-height:96px;display:flex;align-items:center;gap:32px}.brand{margin-right:auto;flex-shrink:0}.brand img{height:52px;width:auto}.desktop-nav{display:flex;gap:34px;align-items:center}.desktop-nav>a,.nav-group>button{font-size:15px;font-weight:600;text-decoration:none;color:var(--navy)}.nav-group{position:relative}.nav-group>button{border:0;background:none;padding:20px 0}.nav-group span{margin-left:6px}.dropdown{display:none;position:absolute;top:100%;left:-20px;width:245px;padding:12px;background:white;box-shadow:var(--shadow);border-radius:16px;border:1px solid var(--mint)}.dropdown a{display:block;padding:8px 12px;text-decoration:none;font-size:15px}.dropdown a:hover{background:var(--mint);border-radius:8px}.nav-group:hover .dropdown,.nav-group:focus-within .dropdown{display:block}.header-phone{font-size:15px;font-weight:700;text-decoration:none;color:var(--navy)}.mobile-nav{display:none}
.hero{padding:44px 0 54px;min-height:calc(88vh - 0px);display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.eyebrow{font-size:14px;font-weight:700;color:var(--action);margin-bottom:24px;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:9px;height:9px;background:var(--bright);border-radius:50%;flex-shrink:0}.hero h2{font-family:'Inter',sans-serif;font-size:20px;font-weight:400;line-height:1.7;letter-spacing:0;text-wrap:pretty;margin-top:24px}.hero-art{position:relative;height:610px;isolation:isolate}.blob{position:absolute;inset:48px 8px 38px 16px;border-radius:48% 42% 28% 34%;background:var(--mint);z-index:-1;transform:rotate(-5deg)}.hero-art picture{position:absolute;bottom:3px;left:45px;width:430px}.hero-art picture img{width:100%;height:auto}.float{position:absolute;border-radius:20px;background:white;box-shadow:var(--shadow);padding:16px 18px;font-size:13px;line-height:1.55;width:192px;z-index:2}.float strong{display:block;font-size:18px;margin-top:2px}.float.hours{right:-6px;top:26px;width:205px}.float.phone{left:0;bottom:60px;width:193px}.float.insured{right:-7px;bottom:4px;width:187px}.dot{position:absolute;background:var(--bright);opacity:.25;width:30px;height:30px;border-radius:50%;right:14px;top:235px}.leaf{position:absolute;top:14px;left:24px;width:45px;height:24px;background:var(--mint);border-radius:0 80% 0 80%;transform:rotate(22deg)}
.quote-band{background:var(--mint);padding:44px 0}.quote-grid{display:grid;grid-template-columns:270px 1fr;gap:60px;align-items:center}.quote-band h2{font-size:24px}.job{font-size:14px;margin-top:10px;line-height:1.6}.hospital-logo{width:190px;height:auto;margin-top:24px}.quote-band blockquote{font-size:18px;line-height:1.8}.updates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.article{display:flex;flex-direction:column;border:1px solid #dfe9e3;border-radius:24px;padding:28px;background:var(--pale);text-decoration:none;color:var(--navy)}.article time{font-size:14px;color:var(--action);margin-bottom:20px}.article h3{font-size:23px;line-height:1.45;flex:1}.article .arrow{margin-top:24px;align-self:flex-end}.must-read{display:flex;gap:32px;align-items:center;background:var(--blue);border-radius:24px;padding:24px 30px;margin-top:20px;text-decoration:none;color:var(--navy)}.must-read strong{white-space:nowrap}.must-read span{flex:1}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service{background:var(--mint);padding:28px 24px;border-radius:24px;text-decoration:none;color:var(--navy);display:flex;flex-direction:column;align-items:flex-start;gap:26px}.service:nth-child(even){background:var(--blue)}.service>svg{width:48px;height:48px;color:var(--action)}.service h3{font-size:21px;line-height:1.4;flex:1}.learn{font-size:14px;font-weight:700;color:var(--action);display:flex;align-items:center;gap:12px}.contact{background:var(--pale)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.contact h2{margin-bottom:24px}.call-label{font-size:18px}.big-phone{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:42px;text-decoration:none;letter-spacing:-.04em}.hours-copy{margin-top:18px}.contact-card{background:white;border:1px solid #dbe8df;border-radius:24px;padding:32px}.contact-card h3{font-size:23px;margin-bottom:20px}.contact-card a:not(.btn){overflow-wrap:anywhere}.contact-card .insurance{border-top:1px solid #dbe8df;padding-top:24px;margin-top:28px}.hospital{border-top:1px solid #dbe8df;margin-top:48px;padding-top:32px;display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:center}.hospital .hospital-logo{margin:0;width:210px}.hospital p{font-size:14px;line-height:1.8}footer{padding:40px 0;background:white}.footer-line{display:flex;gap:24px;justify-content:space-between;font-size:14px}.disclaimer{font-size:13px;line-height:1.9;color:#42516f;margin-top:24px}.footer-name{font-size:13px;margin-top:18px;color:#42516f}
@media(max-width:1100px){.header-inner{gap:22px}.header-phone{display:none}.hero-art{height:560px}.hero-art picture{width:375px;left:20px}.float.hours{right:0}.float.insured{right:0;bottom:-4px}.float.phone{left:0;bottom:95px}.hero h1{font-size:54px}}
@media(max-width:850px){.desktop-nav,.header-inner>.btn{display:none}.header-inner{min-height:80px}.mobile-nav{display:block}.mobile-nav>summary{list-style:none;width:46px;height:46px;display:grid;place-content:center;cursor:pointer;border:1px solid #dbe8df;border-radius:50%}.mobile-nav>summary::-webkit-details-marker{display:none}.hamburger,.hamburger:before,.hamburger:after{width:18px;height:2px;background:var(--navy);display:block;position:relative}.hamburger:before,.hamburger:after{content:'';position:absolute;top:-6px}.hamburger:after{top:6px}.mobile-panel{position:absolute;top:80px;left:0;right:0;background:white;padding:24px;box-shadow:var(--shadow);max-height:calc(100dvh - 80px);overflow-y:auto}.mobile-panel a{display:block;padding:8px 0}.mobile-panel details{margin-bottom:12px}.mobile-panel details a{padding-left:18px}.hero{min-height:auto;padding:52px 0}.hero-grid{grid-template-columns:1fr;gap:24px}.hero h1{font-size:58px}.hero-grid>*{min-width:0}.hero-art{width:min(560px,100%);margin:auto;height:580px}.hero-art picture{width:405px;left:70px}.float.phone{bottom:65px}.float.insured{bottom:12px}.quote-grid{grid-template-columns:1fr;gap:26px}.quote-band .hospital-logo{margin-top:18px}.updates-grid{gap:14px}.article{padding:22px}.article h3{font-size:19px}.contact-grid{grid-template-columns:1fr;gap:32px}.services-grid{grid-template-columns:repeat(2,1fr)}.hospital{grid-template-columns:1fr;gap:24px}.footer-line{flex-direction:column;gap:8px}}
@media(max-width:520px){.wrap{width:calc(100% - 32px)}.section{padding-block:56px}h2{font-size:30px}.brand img{height:48px}.hero{padding:36px 0 42px}.hero-grid{gap:22px}.eyebrow{font-size:12px;margin-bottom:20px;gap:8px}.hero h1{font-size:42px;letter-spacing:-.04em}.hero h2{font-size:18px;line-height:1.65;margin-top:20px}.actions{gap:12px;margin-top:24px}.hero .actions{flex-direction:column;align-items:stretch}.hero .btn{font-size:13px}.hero-art{height:485px;margin-top:12px}.hero-art picture{width:300px;left:calc(50% - 150px);bottom:59px}.blob{inset:48px 0 85px 0}.float{font-size:11px;padding:12px 14px;border-radius:16px}.float.hours{top:-24px;right:0;width:167px}.float.phone{left:0;bottom:22px;width:167px}.float.phone strong{font-size:17px}.float.insured{bottom:0;right:0;width:163px}.dot{top:230px;right:0;width:20px;height:20px}.leaf{top:30px;left:8px}.quote-band{padding:32px 0}.quote-band blockquote{font-size:16px}.quote-grid{gap:24px}.quote-band h2{font-size:23px}.updates-grid{grid-template-columns:1fr}.article{padding:24px}.article time{margin-bottom:14px}.article h3{font-size:22px}.article .arrow{margin-top:14px}.must-read{align-items:flex-start;flex-wrap:wrap;gap:10px;padding:24px}.must-read strong{width:100%}.must-read span{flex-basis:80%}.services-grid{gap:12px}.service{padding:24px 18px;gap:22px}.service h3{font-size:18px;letter-spacing:-.025em}.learn{font-size:13px;gap:6px}.service>svg{width:40px;height:40px}.contact-card{padding:24px}.big-phone{font-size:38px}.hospital{margin-top:36px}.section-head{margin-bottom:28px}}
/* B2: one authored stage, 1832 × 858. Header is outside the reference hero. */
header{position:relative}.header-inner{min-height:86px}.desktop-nav{gap:24px}.desktop-nav>a,.nav-group>button{font-size:13px}.header-inner>.btn{display:none}.header-phone{white-space:nowrap}.wrap{width:min(1280px,calc(100% - 64px))}.section{padding-block:58px}h2{font-size:34px}.section-head{margin-bottom:28px}
.hero{display:block;padding:0;min-height:0;position:relative;height:46.834061vw;overflow:hidden;background:url('hero/hero-banner-watercolour.webp') center/100% 100% no-repeat;isolation:isolate}.hero-copy{position:absolute;left:7.31%;top:17.25%;width:36%;z-index:4}.hero .eyebrow{font-size:.88vw;letter-spacing:.12em;margin-bottom:1.55vw;text-transform:uppercase;line-height:1.2}.hero .eyebrow:before{width:.5vw;height:.5vw}.hero h1{font-size:4.27vw;line-height:1.075;font-weight:700;letter-spacing:-.055em;text-wrap:initial}.hero h1 strong{display:block;font-weight:800;white-space:nowrap}.hero h2{font-size:1.31vw;line-height:1.35;letter-spacing:-.018em;margin-top:1.3vw;font-weight:400;text-wrap:initial;color:#495167}.hero .actions{margin-top:1.55vw;gap:1.1vw;flex-wrap:nowrap}.hero .btn{font-size:.94vw;padding:.78vw 1.3vw;min-height:3.4vw;white-space:nowrap}.hero .btn:first-child{flex:1}.hero .btn span{font-size:1.65vw;line-height:1;margin-left:.5vw}.hero-art{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:1}.hero-art img{position:absolute;max-width:none}.hero-doctor{width:42.33%;left:45.91%;top:13.52%;z-index:2}.organs{left:51.5%;top:5%;width:43%;height:86%;object-fit:fill}.hero-card{z-index:3}.card-ear{left:86.7%;top:22%;width:11%}.card-nose{left:44.9%;top:40%;width:12%}.card-throat{left:84.8%;top:63.8%;width:13.8%}.mobile-composite,.hero-mobile-badges{display:none}.features{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2.2vw;gap:1vw}.feature{display:flex;gap:.65vw;align-items:center;font-size:.72vw;line-height:1.35}.feature svg{width:4.6vw;height:4.6vw;border-radius:50%;padding:.9vw;background:#eaf6ee;color:#14703a}.feature strong{font-size:.8vw;display:block;margin-bottom:.3vw}.feature span{color:#596171}.quote-band{padding:38px 0;background:linear-gradient(90deg,#eaf6ee 55%,#eaf6ee80)}.quote-grid{grid-template-columns:280px 1fr;gap:65px}.quote-band blockquote{font-size:16px}.quote-band h2{font-size:25px}.hospital-logo{width:175px}.article{padding:0 0 24px;overflow:hidden;border:0;border-radius:20px;background:#f2f8f5}.article-photo{width:100%;height:150px;object-fit:cover}.article time{margin:18px 22px 8px;font-size:12px}.article h3{margin:0 22px;font-size:21px;line-height:1.35}.article .arrow{margin:14px 22px 0}.must-read{border-radius:14px;padding:18px 24px;font-size:14px}.services-grid{gap:20px}.service{position:relative;overflow:hidden;padding:0 22px 24px;gap:12px;border-radius:18px}.service-photo{width:calc(100% + 44px);max-width:none;margin:0 -22px;height:150px;object-fit:cover}.service>svg{width:36px;height:36px}.service h3{font-size:20px;line-height:1.3;flex:0}.service-desc{font-size:13px;line-height:1.6;flex:1}.service .learn{font-size:12px;margin-top:6px}.contact{background:var(--mint);border-radius:60px 0 0 0}.contact-grid{grid-template-columns:.8fr 1.2fr;gap:60px}.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:28px;border-radius:24px}.hospital-photo{grid-column:1;grid-row:1/5;width:100%;height:100%;object-fit:cover;border-radius:14px}.contact-card h3,.contact-card p{grid-column:2;margin:0}.contact-card h3{font-size:19px}.contact-card p{font-size:13px;overflow-wrap:anywhere}.hours-copy{font-size:15px}.hospital{margin-top:45px;padding-top:28px}.hospital p{font-size:12px}.faq{background:#f7faf8}.faq h2{font-size:30px;margin-bottom:28px}.faq-list{margin-bottom:22px}.faq details{background:white;border:1px solid #dce9df;border-radius:14px;margin-bottom:10px;padding:0 24px}.faq summary{cursor:pointer;list-style:none;font-weight:600;padding:20px 36px 20px 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;font-size:24px;top:14px;color:var(--action)}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 0 24px;font-size:15px}.insurers{text-align:center;padding-block:40px}.insurers h2{font-size:25px}.insurance-link{display:block;text-decoration:none;font-size:14px}.marquee{overflow:hidden;padding:28px 0}.marquee-track{display:flex;width:max-content;animation:insurance-slide 105s linear infinite}.marquee ul{list-style:none;display:flex;gap:20px;padding-right:20px}.marquee li{width:180px;height:90px;border:1px solid #e0e8e3;border-radius:12px;padding:14px;background:#fff;display:grid;place-items:center}.marquee img{width:100%;height:100%;object-fit:contain}.marquee:hover .marquee-track,.insurance-link:focus .marquee-track{animation-play-state:paused}@keyframes insurance-slide{to{transform:translateX(-50%)}}.footer-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding-bottom:35px}.footer-nav h2{font-size:19px;margin-bottom:15px}.footer-nav a{display:block;font-size:13px;padding-block:4px}.footer-line{border-top:1px solid #dfe8e2;padding-top:24px}footer{padding-top:38px}.disclaimer{font-size:12px}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;width:auto}.marquee ul{display:grid;grid-template-columns:repeat(3,1fr);width:100%;padding:0;gap:14px}.marquee li{width:auto}.marquee ul[aria-hidden]{display:none}}
@media(min-width:1024px) and (max-width:1250px){.header-inner{gap:18px}.desktop-nav{gap:18px}.brand img{height:44px}}
@media(max-width:1023px){.desktop-nav,.header-phone{display:none}.mobile-nav{display:block}.header-inner{min-height:76px}.mobile-panel{top:76px}.hero{height:auto;background:white;padding:40px 0 0}.hero-copy{position:relative;left:auto;top:auto;width:calc(100% - 64px);margin:auto}.hero .eyebrow{font-size:12px;margin-bottom:16px}.hero .eyebrow:before{width:6px;height:6px}.hero h1{font-size:56px}.hero h2{font-size:20px;margin-top:20px}.hero .actions{margin-top:24px;gap:14px}.hero .btn{font-size:14px;padding:14px 22px;min-height:48px}.hero .btn span{font-size:22px}.features{margin-top:25px;gap:20px}.feature{font-size:13px;gap:12px}.feature strong{font-size:14px;margin-bottom:5px}.feature svg{width:58px;height:58px;padding:13px}.hero-art{position:relative;height:620px;margin:20px auto 0;width:650px;max-width:100%}.hero-art .organs,.hero-art .hero-doctor{display:none}.hero-art .mobile-composite{display:block;width:100%;height:100%;object-fit:contain;left:0;top:0}.hero-art .card-ear{left:73%;top:17%;width:26%}.hero-art .card-nose{left:0;top:40%;width:25%}.hero-art .card-throat{left:70%;top:69%;width:30%}.hero-mobile-badges{display:flex;position:absolute;bottom:5%;left:5%;right:5%;justify-content:space-between;z-index:4}.hero-mobile-badges>div{font-size:12px;line-height:1.5;background:white;padding:12px 15px;border-radius:14px;box-shadow:var(--shadow)}.hero-mobile-badges a{display:block;font-weight:700;font-size:17px}.quote-grid{grid-template-columns:240px 1fr;gap:35px}.updates-grid{gap:14px}.article h3{font-size:18px}.services-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:68px}.brand img{height:42px}.mobile-panel{top:68px}.hero{padding:25px 0 0}.hero-copy{width:calc(100% - 48px)}.hero .eyebrow{font-size:9px;letter-spacing:.055em;margin-bottom:13px;gap:7px}.hero h1{font-size:9.1vw;line-height:1.06;letter-spacing:-.052em}.hero h1 strong{display:block}.hero h2{font-size:3.85vw;line-height:1.35;margin-top:13px}.hero .actions{flex-direction:column;margin-top:12px;gap:9px}.hero .btn{font-size:11px;min-height:35px;padding:8px 12px}.hero .btn span{font-size:20px}.features{margin-top:14px;gap:8px}.feature{display:flex;flex-direction:column;gap:6px;text-align:center;font-size:10px;line-height:1.22}.feature svg{width:46px;height:46px;padding:10px}.feature strong{font-size:11px;margin-bottom:3px}.hero-art{width:100%;height:101vw;margin-top:4px}.hero-art .card-ear{left:72%;top:16%;width:27%}.hero-art .card-nose{left:0;top:42%;width:27%}.hero-art .card-throat{left:68%;top:66%;width:32%}.hero-mobile-badges{left:6%;right:6%;bottom:5%}.hero-mobile-badges>div{font-size:9px;padding:10px 12px;border-radius:13px}.hero-mobile-badges a{font-size:13px}.section{padding-block:36px}h2{font-size:27px}.quote-grid{grid-template-columns:1fr;gap:20px}.quote-band{padding:28px 0;background:var(--mint)}.quote-band h2{font-size:23px}.quote-band blockquote{font-size:15px}.quote-band .hospital-logo{width:150px}.updates-grid{grid-template-columns:1fr}.article-photo{height:180px}.article h3{font-size:21px}.article{padding-bottom:15px}.must-read{padding:18px;font-size:13px}.services-grid{gap:12px}.service{padding:0 15px 20px;gap:10px}.service-photo{margin:0 -15px;width:calc(100% + 30px);height:125px}.service>svg{width:30px;height:30px}.service h3{font-size:17px}.service-desc{font-size:12px}.service .learn{font-size:11px;gap:4px}.contact{border-radius:35px 0 0 0}.contact-card{padding:20px;grid-template-columns:1fr;gap:14px}.hospital-photo{grid-column:1;grid-row:auto;height:200px}.contact-card h3,.contact-card p{grid-column:1}.contact-card h3{font-size:21px}.contact-card p{font-size:14px}.hospital{gap:20px;margin-top:30px}.faq h2{font-size:25px}.faq details{padding:0 18px}.faq summary{font-size:14px;line-height:1.55}.faq details p{font-size:14px}.insurers h2{font-size:23px}.marquee li{width:145px;height:75px}.footer-nav{grid-template-columns:1fr 1fr;gap:25px}.footer-nav>div:last-child{grid-column:1/-1}.footer-nav h2{font-size:18px}.footer-nav a{font-size:13px}.footer-line{gap:10px}.insurers .insurance-link>span{font-size:12px}}

/* Optical corrections after first screenshot review. */
@media(min-width:1024px){.hero{background-image:linear-gradient(90deg,#fff 0%,#ffffffee 24%,#ffffffc9 38%,#ffffff00 58%),url('hero/hero-banner-watercolour.webp')}.hero .eyebrow{margin-bottom:1.12vw}.hero h1{font-weight:400}.hero h1 strong{font-weight:800}.hero h2{font-size:1.36vw}.hero-copy{width:34.6%}.hero .btn:first-child{flex:none;width:19.6vw}.hero .btn.outline{width:13.8vw}.features{width:39.5vw;gap:1.2vw}.feature{font-size:.71vw}.feature strong{font-size:.82vw}.organs{top:-4%;height:96%;left:50.5%}.hero-art:after{content:'';position:absolute;left:0;right:0;bottom:0;height:16%;background:linear-gradient(transparent,#ffffffab);z-index:3;pointer-events:none}}
@media(max-width:640px){.hero-art{margin-top:-16px}.hero-art .card-throat{top:58%;left:68%;width:32%}}
@media(min-width:1024px){.hero h1{font-size:4.55vw;line-height:1}.hero h1::first-line{font-weight:800}.hero h1 strong{font-size:1.055em}.hero-copy{width:33%}.hero h2{font-size:1.32vw}.hero .actions{width:34.5vw}.hero .btn{font-weight:700}.hero .btn span{font-size:1.5vw;font-weight:400}}.marquee img{min-width:0;flex:0 1 auto;max-width:100%;max-height:100%;object-fit:contain}@media(max-width:1023px){.services-grid{grid-auto-rows:1fr}}@media(min-width:1600px){.wrap{width:calc(100% - 160px);max-width:1550px}}.marquee img{width:100%;height:100%;min-height:0;min-width:0;object-fit:contain}
/* overlay header */
header{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:0;z-index:30}
.header-inner{min-height:0;padding:14px 0}
.brand img{height:clamp(58px,5.3vw,100px);width:auto}
.nav-group>a.nav-trigger{font-size:15px;font-weight:600;text-decoration:none;color:var(--navy);display:block;padding:20px 0}
.nav-group>a.nav-trigger span{margin-left:6px}
.desktop-nav>a:hover,.nav-group>button:hover,.nav-group>a.nav-trigger:hover{color:var(--green)}
@media(max-width:1180px){.nav-group>a.nav-trigger{font-size:13px}}
@media(max-width:1023px){.brand img{height:60px}.mobile-panel{top:100%;margin-top:6px}.hero{padding-top:108px}}
@media(max-width:480px){.brand img{height:54px}.hero{padding-top:96px}}

/* overlay header v2 */
header .desktop-nav>a,header .desktop-nav .nav-group>button,header .desktop-nav .nav-group>a.nav-trigger{font-size:15px;font-weight:600;font-family:inherit;line-height:1.2;padding:20px 0;display:inline-flex;align-items:center;gap:7px;color:var(--navy);text-decoration:none;cursor:pointer}
header .desktop-nav .nav-group>a.nav-trigger span,header .desktop-nav .nav-group>button span{margin:0}
.chev{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);display:inline-block}
.header-inner{padding-left:max(24px,7.31vw);padding-right:max(24px,7.31vw)}
.header-inner.wrap{max-width:none;width:100%}
@media(max-width:1180px){header .desktop-nav>a,header .desktop-nav .nav-group>button,header .desktop-nav .nav-group>a.nav-trigger{font-size:13px}}
@media(max-width:1023px){.header-inner{padding-left:20px;padding-right:20px}}
.dropdown a{color:var(--navy);font-weight:500}.dropdown a:hover{color:var(--green)}.mobile-panel a,.mobile-panel summary{color:var(--navy);font-weight:600}.mobile-panel details a{font-weight:500}
.mobile-panel a{text-decoration:none}

/* hero: vertical centre + floating loop */
@media(min-width:1024px){.hero-copy{top:50%;transform:translateY(-50%)}}
@keyframes float-a{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes float-b{0%,100%{translate:0 0}50%{translate:0 -11px}}
@keyframes float-c{0%,100%{translate:0 0}50%{translate:0 -16px}}
@keyframes float-org{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -9px;rotate:.6deg}}
.hero-card{will-change:translate}
.hero-art .card-ear{animation:float-a 5.2s ease-in-out infinite}
.hero-art .card-nose{animation:float-b 6.1s ease-in-out -1.8s infinite}
.hero-art .card-throat{animation:float-c 5.6s ease-in-out -3.1s infinite}
.hero-art .organs{animation:float-org 8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.hero-art .hero-card,.hero-art .organs{animation:none}}

/* hero v3: taller hero, art kept at original proportions, cards closer to doctor */
@media(min-width:1024px){
.hero{height:calc(46.834061vw + 6.5vw);background-size:100% auto;background-position:center bottom;background-color:#fff}
.hero-art{inset:auto 0 0 0;height:46.834061vw}
.hero-copy{top:calc(50% + 3.2vw)}
.hero-art .card-ear{left:83.2%}
.hero-art .card-throat{left:81.3%}
}
@media(max-width:1023px){.hero{padding-top:128px}}
@media(max-width:480px){.hero{padding-top:112px}}

/* header v3: nav beside logo, language switcher + Contact Us CTA right */
.header-inner{gap:0}
.brand{margin-right:clamp(28px,3.6vw,64px)}
.desktop-nav{margin-right:auto;gap:clamp(18px,2.2vw,34px)}
.lang-switch{position:relative;margin-right:14px}
.lang-switch>summary{list-style:none;display:flex;align-items:center;gap:7px;height:44px;padding:0 14px;border:1px solid #cfe3d6;border-radius:999px;background:#ffffffd9;backdrop-filter:blur(6px);color:var(--navy);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.lang-switch>summary::-webkit-details-marker{display:none}
.lang-switch>summary:hover,.lang-switch[open]>summary{border-color:var(--green);color:var(--green)}
.lang-switch .chev{margin-left:1px;transition:transform .2s}
.lang-switch[open] .chev{transform:rotate(225deg) translateY(-1px)}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);width:230px;padding:8px;background:#fff;border:1px solid var(--mint);border-radius:16px;box-shadow:var(--shadow);z-index:40}
.lang-opt{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;border:0;background:none;border-radius:10px;font:inherit;font-size:15px;font-weight:500;color:var(--navy);cursor:pointer;text-align:left}
.lang-opt b{font-size:12px;letter-spacing:.06em;color:#6b7c74;font-weight:700}
.lang-opt:hover,.lang-opt:focus-visible{background:var(--mint);color:var(--green)}
.lang-opt[aria-current="true"]{background:var(--mint);font-weight:700}
.header-cta{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 26px;border-radius:999px;background:var(--action,#176c38);color:#fff;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.header-cta:hover,.header-cta:focus-visible{background:var(--navy);color:#fff;transform:translateY(-1px)}
.panel-cta{display:flex!important;justify-content:center;margin-top:18px;padding:14px 20px!important;border-radius:999px;background:var(--action,#176c38);color:#fff!important;text-align:center}
.mobile-nav{margin-left:12px}
@media(max-width:1180px){.header-cta{padding:0 18px;font-size:13px;height:40px}.lang-switch>summary{height:40px;padding:0 11px;font-size:13px}.lang-switch{margin-right:10px}}
@media(max-width:1023px){.brand{margin-right:auto}.header-cta{display:none}.lang-switch{margin-right:0}.lang-switch>summary{height:44px}}
@media(min-width:1024px){.panel-cta{display:none!important}}

/* ===== mobile sizing + side drawer ===== */
.menu-toggle,.drawer,.drawer-scrim{display:none}
@media(max-width:1023px){
.menu-toggle{display:grid;place-content:center;width:48px;height:48px;margin-left:12px;border:1px solid #cfe3d6;border-radius:50%;background:#ffffffd9;backdrop-filter:blur(6px);cursor:pointer;padding:0;flex-shrink:0}
.menu-toggle:active{transform:scale(.94)}
.lang-switch>summary{height:48px}
.drawer-scrim{display:block;position:fixed;inset:0;background:rgba(0,20,72,.45);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .45s cubic-bezier(.22,1,.36,1),visibility 0s linear .45s;z-index:90}
.drawer{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:min(90vw,400px);background:#fff;z-index:100;transform:translateX(-102%);visibility:hidden;transition:transform .5s cubic-bezier(.22,1,.36,1),visibility 0s linear .5s;box-shadow:24px 0 60px rgba(0,20,72,.18);border-radius:0 28px 28px 0;overflow:hidden;overscroll-behavior:contain}
html.drawer-open{overflow:hidden}
/* Frosted glass lives on a pseudo-element, never on <header> itself: a backdrop-filter on the header makes it the containing block of the fixed drawer inside it (drawer collapses to header height, then jumps full-size). */
header,header.is-stuck{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);transition:opacity .35s ease}
header.is-stuck::before{opacity:1}
html.drawer-open .drawer{transform:none;visibility:visible;transition:transform .5s cubic-bezier(.22,1,.36,1),visibility 0s}
html.drawer-open .drawer-scrim{opacity:1;visibility:visible;transition:opacity .45s cubic-bezier(.22,1,.36,1),visibility 0s}
.drw-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;flex-shrink:0}
.drw-brand img{height:56px;width:auto;display:block}
.drw-close{width:46px;height:46px;border-radius:50%;border:1px solid #dbe8df;background:#fff;color:var(--navy);display:grid;place-content:center;cursor:pointer;padding:0;transition:background .2s,transform .3s cubic-bezier(.22,1,.36,1)}
.drw-close:focus-visible{outline:2px solid var(--action);outline-offset:2px}.drw-close:hover{background:var(--mint);transform:rotate(90deg)}
.drw-body{flex:1;overflow-y:auto;padding:4px 20px 20px;-webkit-overflow-scrolling:touch}
.drw-card{display:flex;align-items:flex-end;gap:12px;background:linear-gradient(135deg,#eaf6ee,#f6fbf8);border-radius:22px;padding:16px 16px 0 16px;overflow:hidden;margin-bottom:18px;min-height:132px}
.drw-card img{width:46%;height:auto;align-self:flex-end;margin-bottom:0;display:block}
.drw-card>div{padding-bottom:16px;align-self:center}
.drw-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--action);margin-bottom:6px;line-height:1.3}
.drw-card strong{display:block;font-size:17px;line-height:1.2;color:var(--navy);margin-bottom:5px}
.drw-card small{display:block;font-size:12.5px;line-height:1.4;color:#596171}
.drw-group{margin-bottom:6px}
.drw-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:14px 4px 10px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7c74;cursor:pointer}
.drw-group>summary::-webkit-details-marker{display:none}
.drw-group>summary .chev{width:8px;height:8px;transition:transform .3s cubic-bezier(.22,1,.36,1);transform:rotate(45deg) translateY(-2px)}
.drw-group:not([open])>summary .chev{transform:rotate(-45deg)}
.drw-sub{display:grid;gap:4px}
.drw-flat{margin-top:6px;padding-top:10px;border-top:1px solid #e7eeea}
.drw-row{display:flex;align-items:center;gap:14px;padding:12px;border-radius:16px;text-decoration:none;color:var(--navy);min-height:64px;transition:background .2s,transform .2s}
.drw-row:active{background:var(--mint);transform:scale(.985)}
.drw-ico{flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:var(--mint);color:var(--action);display:grid;place-content:center}
.drw-txt{flex:1;min-width:0}
.drw-txt b{display:block;font-size:16.5px;line-height:1.25;font-weight:700}
.drw-txt small{display:block;font-size:13px;line-height:1.35;color:#596171;margin-top:2px}
.row-chev{color:#9bb3a5;flex-shrink:0}
.drw-info{display:grid;gap:12px;margin-top:18px;padding:16px;border-radius:20px;background:#f6faf7;border:1px solid #e3efe7}
.drw-info>div{display:flex;gap:12px;align-items:flex-start}
.drw-info .drw-ico{flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#fff}
.drw-info p{margin:0;font-size:14px;line-height:1.55;color:#3b4658}
.drw-info b{color:var(--navy)}
.drw-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid #e7eeea;background:#fff;flex-shrink:0}
.drw-call{display:flex;align-items:center;gap:10px;padding:0 14px;min-height:56px;border-radius:999px;border:1px solid #b4cdbd;color:var(--action);text-decoration:none}
.drw-call span{display:flex;flex-direction:column;line-height:1.2}
.drw-call small{font-size:11px;color:#6b7c74}
.drw-call b{font-size:14.5px;color:var(--navy);white-space:nowrap}
.drw-cta{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:999px;background:var(--action);color:#fff;font-size:16px;font-weight:700;text-decoration:none}
.drw-cta:active{background:var(--navy)}
/* staggered entrance */
.drw-card,.drw-group,.drw-flat,.drw-info{opacity:0;transform:translateX(-18px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1)}
html.drawer-open .drw-card,html.drawer-open .drw-group,html.drawer-open .drw-flat,html.drawer-open .drw-info{opacity:1;transform:none}
html.drawer-open .drw-card{transition-delay:.12s}
html.drawer-open .drw-group:nth-of-type(1){transition-delay:.18s}
html.drawer-open .drw-group:nth-of-type(2){transition-delay:.24s}
html.drawer-open .drw-flat{transition-delay:.30s}
html.drawer-open .drw-info{transition-delay:.36s}
}
/* ---- mobile-friendly sizing of hero elements ---- */
@media(max-width:480px){
.hero .eyebrow{font-size:12.5px;letter-spacing:.09em;margin-bottom:16px;gap:9px}
.hero .eyebrow:before{width:8px;height:8px}
.hero h1{font-size:40px}
.hero h2{font-size:17.5px;line-height:1.55;margin-top:16px}
.hero .actions{margin-top:22px;gap:12px}
.hero .btn{font-size:15.5px;min-height:56px;padding:14px 22px;letter-spacing:.01em}
.hero .btn span{font-size:26px}
.features{margin-top:26px;gap:10px}
.feature{gap:9px;font-size:13px;line-height:1.35}
.feature br{display:none}
.feature svg{width:60px;height:60px;padding:13px}
.feature strong{font-size:15px;margin-bottom:4px}
.hero-mobile-badges>div{font-size:12.5px;padding:12px 14px;border-radius:16px;line-height:1.45}
.hero-mobile-badges a{font-size:17px}
.brand img{height:58px}
.drw-foot{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.drawer,.drawer-scrim,.drw-card,.drw-group,.drw-flat,.drw-info{transition-duration:.01s!important;transition-delay:0s!important}}

/* drawer card v2: doctor head level with the eyebrow */
@media(max-width:1023px){
.drw-card{align-items:flex-start;padding:16px 16px 0 14px;gap:10px;min-height:0}
.drw-card img{width:48%;align-self:stretch;height:auto;object-fit:cover;object-position:50% 0;margin-top:0}
.drw-card>div{align-self:flex-start;padding:0 0 16px}
}

/* hide Ear/Nose/Throat Care row on desktop, keep on mobile/tablet */
@media(min-width:1024px){.hero .features{display:none}}

/* floating Ear/Nose/Throat cards: desktop only */
@media(max-width:1023px){.hero-art .hero-card{display:none}}

/* sticky header: transparent over hero, solid + shrunk logo once scrolled */
header{position:fixed;transition:background-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}
html{scroll-padding-top:84px}
.header-inner{transition:padding .35s cubic-bezier(.22,1,.36,1)}
.brand img{transition:height .35s cubic-bezier(.22,1,.36,1)}
header.is-stuck{background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 6px 24px rgba(0,20,72,.09)}
header.is-stuck .header-inner{padding-top:7px;padding-bottom:7px}
header.is-stuck .brand img{height:clamp(40px,3.4vw,54px)}
header.is-stuck .desktop-nav>a,header.is-stuck .desktop-nav .nav-group>button,header.is-stuck .desktop-nav .nav-group>a.nav-trigger{padding-block:14px}
@media(max-width:1023px){header.is-stuck .brand img{height:42px}header.is-stuck .header-inner{padding-top:6px;padding-bottom:6px}}
@media(max-width:480px){header.is-stuck .brand img{height:38px}}
@media(prefers-reduced-motion:reduce){header,.header-inner,.brand img{transition:none}}





/* Language switcher is pushed to the right edge of the header row. */
.lang-switch{margin-left:auto;margin-right:10px}

@media(max-width:1180px){.lang-switch{margin-right:8px}}
@media(max-width:1023px){.lang-switch{margin-right:8px}}

/* Must read: calm, on-brand highlight (mint + flat green + navy) */
.mustread-band{padding:44px 0 8px;background:#fff}
.mr-card{display:flex;align-items:center;gap:28px;padding:32px 38px;border-radius:28px;background:var(--mint);border:1px solid #cfe6d7;color:var(--navy);text-decoration:none;transition:background .3s ease,border-color .3s ease}
.mr-card:hover{background:#e0f1e6;border-color:#a9d6b9}
.mr-card:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.mr-icon{flex:none;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#fff;color:var(--green)}
.mr-icon svg{width:32px;height:32px}
.mr-body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.mr-badge{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--action)}
.mr-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}
.mr-title{font-size:clamp(21px,2.1vw,29px);line-height:1.3;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.mr-cta{flex:none;display:inline-flex;align-items:center;gap:12px;height:52px;padding:0 28px;border-radius:999px;background:var(--action);color:#fff;font-size:15px;font-weight:700;white-space:nowrap;transition:background .25s ease}
.mr-cta svg{width:20px;height:20px;transition:transform .3s ease}
.mr-card:hover .mr-cta{background:var(--navy)}
.mr-card:hover .mr-cta svg{transform:translateX(3px)}
#updates{padding-top:56px}
@media(max-width:1023px){.mustread-band{padding:28px 0 4px}.mr-card{gap:22px;padding:28px}.mr-icon{width:60px;height:60px}.mr-icon svg{width:28px;height:28px}}
@media(max-width:700px){.mr-card{flex-direction:column;align-items:flex-start;gap:16px;padding:26px 22px 24px;border-radius:24px}.mr-icon{width:56px;height:56px}.mr-badge{font-size:12.5px}.mr-title{font-size:22px}.mr-cta{width:100%;justify-content:center;height:56px;font-size:16px}#updates{padding-top:44px}}
@media(prefers-reduced-motion:reduce){.mr-card,.mr-cta,.mr-cta svg{transition:none}}

/* Must read v3: compact one-line bar, half-overlapping the hero */
.mustread-band{position:relative;z-index:6;background:transparent;padding:0;margin-top:-48px}
.mr-card{gap:22px;padding:20px 30px;border-radius:24px;box-shadow:0 18px 40px -22px rgba(0,20,72,.28)}
.mr-icon{width:54px;height:54px}.mr-icon svg{width:26px;height:26px}
.mr-body{gap:6px}
.mr-badge{font-size:12px}
.mr-title{font-size:clamp(15px,1.5vw,21px);line-height:1.3;white-space:nowrap;font-weight:700}
.mr-cta{height:46px;padding:0 24px;font-size:14.5px}
#updates{padding-top:64px}
@media(max-width:1100px){.mr-title{white-space:normal}}
@media(max-width:1023px){.mustread-band{margin-top:-58px}.mr-card{padding:20px 22px}.mr-title{font-size:18px}}
@media(max-width:700px){.mustread-band{margin-top:-28px}.mr-card{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 20px 18px;border-radius:22px}.mr-icon{display:none}.mr-title{font-size:18px}.mr-cta{width:100%;height:50px;font-size:15px}#updates{padding-top:44px}}

/* Unified page gutters: every .wrap shares the hero/header left+right edge (margins, so band backgrounds stay inside the gutters) */
.wrap{width:auto;max-width:none;margin-left:max(24px,7.31%);margin-right:max(24px,7.31%);padding-left:0;padding-right:0}
.header-inner.wrap{width:100%;margin-left:0;margin-right:0;padding-left:max(24px,7.31%);padding-right:max(24px,7.31%)}
@media(max-width:1023px){.wrap{margin-left:32px;margin-right:32px}.header-inner.wrap{padding-left:32px;padding-right:32px}}
@media(max-width:700px){.wrap{margin-left:24px;margin-right:24px}.header-inner.wrap{padding-left:24px;padding-right:24px}}

/* headings: default letter-spacing everywhere */
h1,h2,h3,h4,h5,h6,.hero h1,.hero h2,.service h3,.big-phone,.mr-title{letter-spacing:normal}

/* desktop: keep hero headline on 2 lines now that tracking is default */
@media(min-width:1024px){.hero h1{white-space:nowrap}}

/* FAQ: 2 columns, same grid as "Meet Dr Puvan" (heading col 360px | content col, 48px gap) */
.faq-band{display:grid;grid-template-columns:360px 1fr;gap:48px;align-items:start}
.faq-band>h2{margin:0;font-size:29px;line-height:1.25;position:sticky;top:110px}
.faq-band .faq-list{margin:0;min-width:0}
.faq-band .faq-list details:last-child{margin-bottom:0}
@media(max-width:1023px){.faq-band{grid-template-columns:250px 1fr;gap:28px}.faq-band>h2{font-size:26px;top:90px}}
@media(max-width:640px){.faq-band{grid-template-columns:1fr;gap:24px}.faq-band>h2{position:static;font-size:26px}}

/* FAQ: white bg like "Meet Dr Puvan"; "Read the full FAQ post" in the right column, right-aligned */
.faq{background:#fff}
.faq-band .faq-more{grid-column:2;justify-self:end;font-weight:700;color:var(--action);text-decoration:none;margin-top:-26px}
.faq-band .faq-more:hover{color:var(--navy);text-decoration:underline}
@media(max-width:640px){.faq-band .faq-more{grid-column:1;margin-top:-8px}}

/* B3: friendly lower-page typography; approved header/hero/must-read excluded. */
:is(#updates,#ent,#informed,#services,#faq,#contact,#insurance,footer){
 --type-section:clamp(30px,2.5vw,40px);--type-lead:26px;--type-card:20px;
 --type-body:16px;--type-ui:16px;--type-meta:14px;--type-footer:18px;
 font-family:'Inter',sans-serif;font-size:var(--type-body);line-height:1.65;
}
:is(#updates,#ent,#informed,#services,#faq,#contact,#insurance,footer) *{letter-spacing:normal;text-transform:none}
:is(#updates,#ent,#services,#faq,#contact,#insurance) h2{
 font-size:var(--type-section);font-weight:800;line-height:1.2;text-wrap:balance;
}
#informed h2{font-size:var(--type-lead);font-weight:800;line-height:1.35;text-wrap:balance}
:is(#updates,#ent,#informed,#services,#faq,#contact,#insurance) h3{
 font-size:var(--type-card);font-weight:800;line-height:1.3;text-wrap:balance;
}
:is(#updates,#ent,#informed,#services,#faq,#contact,#insurance,footer) :is(p,blockquote){
 font-size:var(--type-body);font-weight:400;line-height:1.65;max-width:none;
}
:is(#updates,#ent,#informed,#services,#faq,#contact,#insurance,footer) :is(.btn,.learn,.faq-more,summary,.insurance-link,.insurance-link>span),
#contact .contact-card a,footer .footer-nav a,footer .footer-line a{
 font-family:'Inter',sans-serif;font-size:var(--type-ui);font-weight:600;line-height:1.4;
}
#updates time,footer :is(.footer-line p,.disclaimer,.footer-name){font-size:var(--type-meta);font-weight:400;line-height:1.5}
#contact .big-phone{font-size:var(--type-section);font-weight:800;line-height:1.2}
footer .footer-nav h2{font-family:'Inter',sans-serif;font-size:var(--type-footer);font-weight:700;line-height:1.3;text-wrap:balance}
footer .footer-nav a{min-height:44px;display:flex;align-items:center}
#contact .contact-card a,#contact .big-phone,footer .footer-line a{min-height:44px;display:inline-flex;align-items:center;max-width:100%;overflow-wrap:anywhere}
#insurance .insurance-link>span{display:inline-flex;align-items:center;min-height:44px}
#faq .faq-more{min-height:44px;display:inline-flex;align-items:center}
/* Keep readable card titles intact instead of shrinking the common scale. */
@media(max-width:1100px){#services .services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){:is(#updates,#ent,#informed,#services,#faq,#contact,#insurance,footer){--type-section:28px}}
@media(max-width:640px){
 :is(#updates,#ent,#informed,#services,#faq,#contact,#insurance,footer){--type-section:28px;--type-lead:22px}
 #services .services-grid{grid-template-columns:1fr;grid-auto-rows:auto}
 #services .service h3{width:100%}
}

/* Must read: no overlap on tablet/mobile (hero badges sit at the bottom there) - keep a clear gap instead */
@media(max-width:1023px){.mustread-band{margin-top:0}}
@media(max-width:700px){.mustread-band{margin-top:12px}}

/* Article cards: taller image, circular arrow overlay on the image, animated on card hover */
.article .article-media{position:relative;display:block;overflow:hidden;border-radius:20px 20px 0 0}
.article .article-photo{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.article .article-media .arrow{position:absolute;right:16px;bottom:16px;margin:0;align-self:auto;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 20px -8px rgba(0,20,72,.35);transition:background .35s ease,color .35s ease,transform .45s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}
.article .article-media .arrow svg{width:22px;height:22px}
.article{padding-bottom:26px;transition:box-shadow .4s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.article h3{margin-bottom:0}
@media(hover:hover){
.article:hover,.article:focus-visible{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(0,20,72,.35)}
.article:hover .article-photo,.article:focus-visible .article-photo{transform:scale(1.06)}
.article:hover .arrow,.article:focus-visible .arrow{background:var(--action);color:#fff;transform:scale(1.1);box-shadow:0 12px 24px -10px rgba(20,112,58,.6)}
.article:hover .arrow svg,.article:focus-visible .arrow svg{animation:arrow-through .6s cubic-bezier(.22,1,.36,1)}
}
@keyframes arrow-through{0%{transform:translateX(0)}45%{transform:translateX(160%);opacity:0}46%{transform:translateX(-160%);opacity:0}100%{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.article,.article .article-photo,.article .arrow{transition:none}.article:hover .arrow svg{animation:none}.article:hover,.article:focus-visible{transform:none}.article:hover .article-photo{transform:none}}
@media(max-width:640px){.article .article-media .arrow{width:48px;height:48px;right:14px;bottom:14px}}

/* B4: ENT sample composition; all additions stay inside the two section roots. */
#ent{padding:12px 0 0;background:#fff;overflow-x:clip}
#ent .ent-grid{display:grid;grid-template-columns:50% 1fr;gap:4.5%;padding-right:7.31%;align-items:center}
#ent .ent-panel{position:relative;min-width:0;height:clamp(500px,37vw,700px);isolation:isolate;--px:0px;--py:0px}
#ent .ent-image{position:absolute;inset:0;overflow:hidden;border-radius:0 56px 56px 0;background:#082b50;z-index:-2;mask-image:linear-gradient(125deg,#000 84%,#000d 93%,#0003)}
#ent .ent-image img{width:100%;height:100%;max-width:none;object-fit:cover;transform:translate(var(--px),var(--py)) scale(1.035);will-change:transform}
#ent .ent-image:after{content:"";position:absolute;inset:auto 0 0;height:45px;background:linear-gradient(transparent,#fff);pointer-events:none}
#ent .ent-leaves{position:absolute;right:-6px;top:0;width:80px;height:auto;transform:rotate(-20deg);pointer-events:none;z-index:3}
#ent .ent-copy{padding:32px 0}
#ent .eyebrow{font-size:var(--type-meta);line-height:1.5;margin-bottom:12px}
#ent .eyebrow:before{display:none}
#ent h2{margin:0}
#ent .ent-rule{width:40px;height:3px;background:#b4dfbf;margin:16px 0}
#ent .ent-conditions{border:1px solid #dce9e8;border-radius:28px;background:linear-gradient(125deg,#f2f8f7,#e6f0f5);box-shadow:inset 0 0 28px #ffffff80;margin-top:28px;padding:26px}
#ent .ent-card-title{display:block;font:700 var(--type-footer)/1.3 'Plus Jakarta Sans',sans-serif;margin-bottom:7px}
#ent .ent-card-lines{font-size:var(--type-meta);display:block;line-height:1.45}
#ent .ent-card-lines span{display:block}
#ent .ent-detail{font-size:var(--type-meta);line-height:1.45;margin-top:12px;padding-top:10px;border-top:1px solid #ffffff40}
#ent .ent-detail[hidden]{display:none}
#ent .ent-detail a{color:#fff;display:inline-flex;align-items:center;min-height:44px;font-weight:700}
#ent .ent-marker:focus-visible{outline:3px solid #fff;outline-offset:2px}
#ent .ent-marker{position:absolute;left:var(--ox);top:var(--oy);width:44px;height:44px;transform:translate(-50%,-50%);border:0;background:transparent;border-radius:50%;z-index:1;cursor:pointer}
#ent .ent-marker:before{content:'';position:absolute;inset:15px;border:1px solid #fff3d9;border-radius:50%;background:#ffdcac33}
#ent .ent-marker:after{content:'';position:absolute;inset:10px;border:1px solid #fff3d9;border-radius:50%;animation:ent-pulse 2.4s ease-out infinite}
#ent .ent-glow{position:absolute;left:var(--ox);top:var(--oy);width:100px;height:100px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#ffd69a80,transparent 68%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:0}
#ent .ent-panel[data-active="ear"] .ent-glow[data-organ="ear"],#ent .ent-panel[data-active="nose"] .ent-glow[data-organ="nose"],#ent .ent-panel[data-active="throat"] .ent-glow[data-organ="throat"]{opacity:1}

/* B5: hotspot tooltips: appear on hover/focus (desktop) and on tap (touch); anchored to the glowing marker */
#ent .ent-panel{--tw:clamp(176px,27%,236px)}
#ent .ent-card{position:absolute;left:0;top:0;width:var(--tw);padding:14px 16px;border:1px dashed #a2becd;border-radius:12px;background:rgba(13,50,80,.93);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f4f9fc;line-height:1.4;z-index:5;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px) scale(.96);transition:opacity .28s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility 0s linear .28s}
#ent .ent-card.is-on{opacity:1;visibility:visible;pointer-events:auto;transform:none;border-style:solid;border-color:#cfe6f1;transition:opacity .28s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility 0s}
#ent .ent-card:before{content:"";position:absolute;border:0 dashed #c4dfeb;pointer-events:none}
#ent .ent-card[data-side="left"]:before{right:-22px;top:var(--ay);width:20px;border-top-width:1px}
#ent .ent-card[data-side="right"]:before{left:-22px;top:var(--ay);width:20px;border-top-width:1px}
#ent .ent-card[data-side="below"]:before{top:-22px;left:var(--ax);height:20px;border-left-width:1px}
#ent .ent-card[data-side="above"]:before{bottom:-22px;left:var(--ax);height:20px;border-left-width:1px}
#ent .ent-panel[data-active="ear"] .ent-marker[data-organ="ear"]:before,#ent .ent-panel[data-active="nose"] .ent-marker[data-organ="nose"]:before,#ent .ent-panel[data-active="throat"] .ent-marker[data-organ="throat"]:before{background:#ffdcac88;border-color:#fff}

/* B5b: stronger hotspot indicator + active state */
#ent .ent-marker{width:52px;height:52px;z-index:6}
#ent .ent-marker:before{inset:17px;border:2px solid #fff;background:rgba(255,255,255,.55);box-shadow:0 0 0 5px rgba(255,159,64,.38),0 0 16px 5px rgba(255,150,50,.85);transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s}
#ent .ent-marker:after{inset:6px;border:2px solid #ffe2b8;animation:ent-pulse 1.9s ease-out infinite}
#ent .ent-glow{width:120px;height:120px;background:radial-gradient(circle,rgba(255,210,140,.75),rgba(255,140,50,.28) 45%,transparent 70%);transition:opacity .35s,transform .45s cubic-bezier(.22,1,.36,1);transform:translate(-50%,-50%) scale(.7);z-index:0}
#ent .ent-image img{transition:filter .45s ease}
#ent .ent-panel[data-active] .ent-image img{filter:brightness(.8) saturate(1.08)}
#ent .ent-panel[data-active="ear"] .ent-glow[data-organ="ear"],#ent .ent-panel[data-active="nose"] .ent-glow[data-organ="nose"],#ent .ent-panel[data-active="throat"] .ent-glow[data-organ="throat"]{transform:translate(-50%,-50%) scale(1.7)}
#ent .ent-panel[data-active="ear"] .ent-marker[data-organ="ear"]:before,#ent .ent-panel[data-active="nose"] .ent-marker[data-organ="nose"]:before,#ent .ent-panel[data-active="throat"] .ent-marker[data-organ="throat"]:before{transform:scale(1.45);background:#fff;border-color:#fff;box-shadow:0 0 0 6px rgba(255,170,70,.6),0 0 26px 10px rgba(255,160,60,.95)}
#ent .ent-panel[data-active="ear"] .ent-marker[data-organ="ear"]:after,#ent .ent-panel[data-active="nose"] .ent-marker[data-organ="nose"]:after,#ent .ent-panel[data-active="throat"] .ent-marker[data-organ="throat"]:after{border-color:#fff;animation-duration:1.1s}
@media(prefers-reduced-motion:reduce){#ent .ent-glow,#ent .ent-marker:before,#ent .ent-image img{transition:none}}

/* B5c: layering. Only the active marker sits above the tooltip; on phones the tooltip is a compact, tap-through label */
#ent .ent-marker{z-index:1}
#ent .ent-card{z-index:7}
#ent .ent-panel[data-active="ear"] .ent-marker[data-organ="ear"],#ent .ent-panel[data-active="nose"] .ent-marker[data-organ="nose"],#ent .ent-panel[data-active="throat"] .ent-marker[data-organ="throat"]{z-index:8}
@media(max-width:520px){#ent .ent-card,#ent .ent-card.is-on{pointer-events:none}#ent .ent-detail{display:none}}

/* B5d: glassmorphism tooltip */
#ent .ent-card,#ent .ent-card.is-on{background:linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,.08) 55%,rgba(255,255,255,.14));-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);border:1px solid rgba(255,255,255,.42);box-shadow:0 12px 36px rgba(2,18,46,.38),inset 0 1px 0 rgba(255,255,255,.55),inset 0 0 22px rgba(255,255,255,.07);color:#fff;text-shadow:0 1px 8px rgba(2,18,46,.45)}
#ent .ent-card .ent-detail{border-top-color:rgba(255,255,255,.35)}
#ent .ent-card:before{border-color:rgba(255,255,255,.7)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#ent .ent-card,#ent .ent-card.is-on{background:rgba(13,50,80,.88)}}
/* B5e: informed heading left-aligned on mobile */
@media(max-width:700px){#informed h2{text-align:left;margin-inline:0}}

/* B6: conditions card: icon header, accent bar, soft organ-tinted terms */
#ent .ent-conditions{position:relative;overflow:hidden;padding:28px 28px 28px 32px;border-color:#d4e6e2;box-shadow:0 14px 34px -22px rgba(0,20,72,.28),inset 0 0 28px #ffffff80;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
#ent .ent-conditions:before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(#37b34a,#1a8f45)}
#ent .ent-conditions:hover{transform:translateY(-3px);box-shadow:0 20px 40px -22px rgba(0,20,72,.34),inset 0 0 28px #ffffff80}
#ent .ent-cond-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #d4e6e2;position:relative;z-index:1}
#ent .ent-cond-head strong{font-weight:700;display:block;margin:0}
#ent .ent-cond-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--action);box-shadow:0 0 0 5px #e8f4ec,0 6px 14px -6px rgba(26,143,69,.5)}
#ent .ent-cond-icon svg{width:26px;height:26px}
#ent .ent-conditions p{position:relative;z-index:1;margin:0;line-height:1.9}
#ent .ent-cond-deco{position:absolute;right:-26px;bottom:-34px;width:150px;height:150px;color:#1a8f45;opacity:.08;pointer-events:none}
#ent .ent-term{background:transparent;color:inherit;padding:3px 9px;margin:0;white-space:nowrap;border-radius:7px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background .3s}
#ent .ent-term[data-g="ear"]{background:#dff2e5}
#ent .ent-term[data-g="nose"]{background:#e0edfa}
#ent .ent-term[data-g="throat"]{background:#fde9d8}
#ent .ent-conditions:hover .ent-term[data-g="ear"]{background:#cdebd7}
#ent .ent-conditions:hover .ent-term[data-g="nose"]{background:#cfe3f7}
#ent .ent-conditions:hover .ent-term[data-g="throat"]{background:#fbdcc3}
@media(max-width:520px){#ent .ent-conditions{padding:24px 20px 24px 24px}#ent .ent-cond-icon{width:44px;height:44px}#ent .ent-cond-head{gap:12px}}
@media(prefers-reduced-motion:reduce){#ent .ent-conditions,#ent .ent-term{transition:none}#ent .ent-conditions:hover{transform:none}}

/* B7: Specialist services: full-width band, taller photos, badge + note + circular arrow */
#services{background:linear-gradient(#f2f9f6,#fff 70%);padding-block:72px 80px}
#services .wrap{margin-inline:clamp(24px,2.5vw,40px)}
#services .services-grid{grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.6vw,28px);grid-auto-rows:1fr}
#services .service{position:relative;overflow:hidden;padding:0;gap:0;border-radius:24px;background:#fff;border:1px solid #dbe9e4;box-shadow:0 18px 40px -28px rgba(0,20,72,.4);align-items:stretch;--tone:#e8f4ec;--ink:var(--action);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .35s}
#services .service:nth-child(even){background:#fff}
#services .service[data-tone="nose"]{--tone:#e0edfa;--ink:#2468a8}
#services .service[data-tone="throat"]{--tone:#fde9d8;--ink:#c0601b}
#services .service[data-tone="kids"]{--tone:#e6f4ee;--ink:var(--action)}
#services .service:hover{transform:translateY(-6px);box-shadow:0 28px 48px -26px rgba(0,20,72,.5);border-color:#b9d8cb}
#services .svc-media{display:block;position:relative;overflow:hidden;aspect-ratio:4/3.1;background:var(--tone)}
#services .svc-media:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(0,20,72,.22));pointer-events:none}
#services .service-photo{display:block;width:100%;max-width:none;height:100%;margin:0;object-fit:cover;object-position:center 25%;transition:transform .8s cubic-bezier(.22,1,.36,1)}
#services .service:hover .service-photo{transform:scale(1.06)}
#services .svc-badge{position:relative;z-index:2;display:grid;place-items:center;width:60px;height:60px;margin:-30px 0 0 24px;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 0 0 6px var(--tone),0 10px 20px -10px rgba(0,20,72,.5);transition:transform .45s cubic-bezier(.22,1,.36,1),background .35s,color .35s}
#services .svc-badge svg{width:30px;height:30px}
#services .service:hover .svc-badge{transform:translateY(-3px) rotate(-6deg);background:var(--ink);color:#fff}
#services .svc-body{display:flex;flex-direction:column;gap:10px;padding:20px 24px 4px;flex:1}
#services .service h3{flex:0;margin:0}
#services .service-desc{margin:0;color:#2a3a5c}
#services .service-note{display:flex;gap:8px;align-items:flex-start;margin:auto 0 0;padding-top:12px;border-top:1px dashed #cfe0d9;font-size:var(--type-meta);line-height:1.5;color:#4a5b7a}
#services .service-note svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--ink)}
#services .service .learn{display:flex;align-items:center;justify-content:space-between;margin:0;padding:18px 24px 22px;font-size:var(--type-ui)}
#services .svc-go{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tone);color:var(--action);transition:background .35s,color .35s,transform .45s cubic-bezier(.22,1,.36,1)}
#services .svc-go svg{width:18px;height:18px;transition:transform .4s cubic-bezier(.22,1,.36,1)}
#services .service:hover .svc-go{background:var(--action);color:#fff;transform:scale(1.1)}
#services .service:hover .svc-go svg{transform:translateX(3px)}
#services .service:focus-visible{outline:3px solid var(--action);outline-offset:3px}
@media(max-width:1100px){#services .services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){#services{padding-block:48px 56px}#services .services-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:20px}#services .svc-media{aspect-ratio:4/3}#services .svc-body{padding:18px 20px 4px}#services .svc-badge{margin-left:20px}#services .service .learn{padding:16px 20px 20px}}
@media(prefers-reduced-motion:reduce){#services .service,#services .service-photo,#services .svc-badge,#services .svc-go,#services .svc-go svg{transition:none}#services .service:hover,#services .service:hover .service-photo,#services .service:hover .svc-badge,#services .service:hover .svc-go{transform:none}}
@keyframes ent-pulse{0%{transform:scale(.7);opacity:.8}85%,100%{transform:scale(1.6);opacity:0}}
#informed{position:relative;padding:40px 0 34px;background:linear-gradient(#ffffff90,#ffffff15 40%,#ffffff35),url('ent/clinic-lounge-bg.webp') center/cover no-repeat;text-align:center}
#informed h2{margin:0 9%;font-size:var(--type-lead)}
#informed .ent-benefits{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 4% 0;gap:24px;text-align:left}
#informed .ent-benefit{display:flex;align-items:center;gap:18px;min-width:0}
#informed .ent-benefit+.ent-benefit{border-left:1px solid #e1ece7;padding-left:24px}
#informed .ent-badge{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e8f4ec;flex:none;color:var(--action)}
#informed .ent-badge svg{width:34px;height:34px}
#informed .ent-benefit strong{font:700 var(--type-footer)/1.3 'Plus Jakarta Sans',sans-serif;display:block;margin-bottom:8px}
#informed .ent-benefit p{font-size:var(--type-meta);line-height:1.5}
#informed .actions{justify-content:center;margin-top:30px;gap:18px}
#informed .ent-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 26px;border:1px solid #a9cbb6;border-radius:999px;background:#fffffff2;color:var(--action);font-size:var(--type-meta);font-weight:700;line-height:1.5;text-decoration:none;transition:background .35s,color .35s}
#informed .ent-cta svg{width:20px;height:20px;transition:transform .35s}
#informed .ent-cta:hover{background:var(--action);color:white}
#informed .ent-cta:hover svg{transform:translateX(4px)}
@media(max-width:1200px) and (min-width:851px){#informed .ent-benefits{margin-inline:0;gap:16px}#informed .ent-benefit{gap:12px}#informed .ent-benefit+.ent-benefit{padding-left:16px}#informed .ent-badge{width:56px;height:56px}}
@media(max-width:1023px){#ent .ent-grid{padding-right:32px;gap:32px}#informed h2{margin-inline:0}}
@media(max-width:850px){#ent .ent-grid{display:block;padding:0}#ent .ent-panel{height:560px;width:100%}#ent .ent-copy{padding:36px 32px}#ent .ent-image img{object-fit:cover;object-position:center 46%}#informed .ent-benefits{margin-inline:0;gap:16px}#informed .ent-benefit{display:block}#informed .ent-benefit+.ent-benefit{padding-left:16px}#informed .ent-badge{margin-bottom:14px}}
@media(max-width:850px){#informed .ent-lead-break{display:none}}
@media(max-width:700px){#ent .ent-copy{padding-inline:24px}}
@media(max-width:520px){#ent{padding-top:0}#ent .ent-panel{height:340px;--tw:min(224px,calc(100% - 16px))}#ent .ent-image{border-radius:0 36px 36px 0}#ent .ent-image img{object-fit:cover}#ent .ent-leaves{width:64px;right:0}#ent .ent-marker,#ent .ent-glow{top:var(--mobile-oy)}#ent .ent-copy{padding-top:30px;padding-bottom:30px}#ent .ent-conditions{padding:24px;margin-top:24px}#informed{padding:32px 0;background-position:center}#informed .ent-benefits{grid-template-columns:1fr;gap:20px;margin-top:26px}#informed .ent-benefit{display:flex;gap:16px;align-items:flex-start}#informed .ent-benefit+.ent-benefit{border-left:0;border-top:1px solid #dce9e1;padding:20px 0 0}#informed .ent-badge{width:56px;height:56px;margin:0}#informed .ent-benefit strong{margin-bottom:6px}#informed .actions{flex-direction:column;gap:12px;margin-top:26px}#informed .ent-cta{width:100%;padding:14px 20px;min-height:52px}}
@media(prefers-reduced-motion:reduce){#ent .ent-marker:after{animation:none}#ent .ent-image img{transform:none!important;will-change:auto}#ent .ent-card,#ent .ent-card.is-on{transform:none}#ent .ent-card,#ent .ent-glow,#informed .ent-cta,#informed .ent-cta svg{transition:none}}

/* B6: page-wide spacing scale (trimmed) */
#updates{padding-block:72px}
#updates .section-head{margin-bottom:32px}
#ent{padding-block:64px}
#ent .ent-grid{padding-right:7.31%;gap:4.5%}
#informed{padding-block:64px 68px}
#informed .ent-lead-break{margin-bottom:32px}
#informed .ent-benefits{gap:32px 32px}
#informed .ent-badge{margin-bottom:20px}
#informed .actions{margin-top:32px}
#services{padding-block:72px}
#services .section-head{margin-bottom:32px}
#services .svc-body{padding:22px 24px 4px;gap:10px}
#services .service{padding-bottom:20px}
#services .svc-learn{padding:16px 24px 20px;gap:12px}
#faq{padding-block:72px}
#faq .section-head{margin-bottom:32px}
#faq .faq-list{gap:12px}
#contact{padding-block:72px}
#contact .contact-grid{gap:44px}
#insurance{padding-block:48px 52px}
footer{padding-block:52px 44px}
@media(max-width:1023px){
 #updates,#services,#faq,#contact{padding-block:56px}
 #ent{padding-block:52px}
 #informed{padding-block:52px}
 #insurance{padding-block:40px}
 footer{padding-block:44px 36px}
 #ent .ent-grid{padding-right:0;gap:32px}
 #informed .actions{margin-top:28px}
}
@media(max-width:640px){
 #updates,#services,#faq,#contact,#informed{padding-block:44px}
 #ent{padding-block:44px 40px}
 #insurance{padding-block:36px}
 footer{padding-block:40px 32px}
 #updates .section-head,#services .section-head,#faq .section-head,#informed .ent-lead-break{margin-bottom:24px}
 #services .svc-body{padding:18px 20px 4px}
 #services .svc-learn{padding:14px 20px 18px}
}

/* B7: FAQ polish, same 2-col grid as #about (.82fr | 1.18fr, 56px gap) */
#faq{background:#fff}
#faq .faq-band{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);column-gap:56px;row-gap:24px;align-items:start}
#faq .faq-intro{position:sticky;top:110px;padding-right:8px}
#faq .faq-intro::before{content:"FAQ";display:inline-flex;align-items:center;font:700 14px/1 'Inter',sans-serif;color:var(--action);background:#e7f4ec;border-radius:999px;padding:8px 14px;margin-bottom:18px}
#faq .faq-intro h2{margin:0 0 16px;font-size:var(--type-section);line-height:1.2;position:static}
#faq .faq-intro p{margin:0;color:#44546f;max-width:none}
#faq .faq-list{display:flex;flex-direction:column;gap:12px;margin:0;min-width:0}
#faq .faq-list details{margin:0;background:#fff;border:1px solid #dce9df;border-radius:16px;padding:0 24px;transition:border-color .25s,box-shadow .25s,background .25s}
#faq .faq-list details:hover{border-color:#b9dcc6;box-shadow:0 8px 22px rgba(0,20,72,.06)}
#faq .faq-list details[open]{background:#f4faf6;border-color:#9fd1b3;box-shadow:0 10px 26px rgba(26,143,69,.10)}
#faq .faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-weight:700;color:var(--navy);line-height:1.45}
#faq .faq-list summary::after{content:"+";position:static;flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e7f4ec;color:var(--action);font:500 22px/1 'Inter',sans-serif;transition:background .25s,color .25s,transform .25s}
#faq .faq-list details[open] summary::after{content:"\2212";background:var(--action);color:#fff}
#faq .faq-list summary:hover::after{transform:scale(1.08)}
#faq .faq-list summary:focus-visible{outline:3px solid #37B34A;outline-offset:4px;border-radius:8px}
#faq .faq-list details p{padding:0 0 22px;margin:0;color:#33425e;max-width:none}
#faq .faq-band .faq-more{grid-column:2;justify-self:end;margin-top:4px}
@media(max-width:1023px){#faq .faq-band{column-gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}#faq .faq-intro{top:90px}}
@media(max-width:850px){#faq .faq-band{grid-template-columns:1fr;row-gap:24px}#faq .faq-intro{position:static;padding:0}#faq .faq-band .faq-more{grid-column:1;justify-self:start}}
@media(max-width:640px){#faq .faq-list details{padding:0 18px;border-radius:14px}#faq .faq-list summary{padding:16px 0;gap:14px}#faq .faq-list summary::after{flex-basis:32px;width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){#faq .faq-list details,#faq .faq-list summary::after{transition:none}}

/* B8: contact + insurance + footer redesign (same 2-col grid as #about / #faq) */
#contact{background:var(--pale);border-radius:0;padding-block:72px}
#contact>.wrap{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);column-gap:56px;row-gap:40px;align-items:start}
#contact .contact-grid{display:contents}
#contact .contact-grid>div:first-child::before,#insurance>.wrap::before{content:"Contact";display:inline-flex;align-items:center;font:700 14px/1 'Inter',sans-serif;color:var(--action);background:#e7f4ec;border-radius:999px;padding:8px 14px;margin-bottom:18px}
#contact h2{margin:0 0 24px}
#contact .hotline{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #dce9df;border-radius:20px;padding:20px 24px;box-shadow:0 8px 22px rgba(0,20,72,.05)}
#contact .hotline::before{content:"";flex:0 0 52px;height:52px;border-radius:50%;background:#e7f4ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%2314703A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 8l7 9-5 5c3 7 6 10 13 13l5-5 9 7c-3 10-12 7-23-4S4 11 13 8'/%3E%3C/svg%3E") center/26px no-repeat}
#contact .call-label{margin:0 0 2px;color:#44546f}
#contact .big-phone{color:var(--action);text-decoration:none;border:0;min-height:0;display:block;line-height:1.2}
#contact .big-phone:hover{color:var(--navy)}
#contact .hours-copy{margin:22px 0 26px;padding-left:18px;border-left:3px solid #9fd1b3;color:#33425e}
#contact .contact-card{display:block;padding:0;overflow:hidden;border:1px solid #dce9df;border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(0,20,72,.07)}
#contact .hospital-photo{display:block;width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;border-radius:0}
#contact .contact-card h3{margin:26px 28px 10px;grid-column:auto}
#contact .contact-card p{margin:0 28px 12px;grid-column:auto;color:#33425e}
#contact .contact-card p:last-child{margin-bottom:28px}
#contact .contact-card a{display:inline-flex;align-items:center;border:1px solid #b9dcc6;border-radius:999px;padding:0 20px;background:#f4faf6;color:var(--action);font-weight:700;text-decoration:none;transition:background .25s,color .25s,border-color .25s}
#contact .contact-card a:hover{background:var(--action);border-color:var(--action);color:#fff}
#contact .hospital{grid-column:1/-1;display:flex;align-items:center;gap:28px;margin:0;padding:24px 28px;border:1px solid #dce9df;border-top:1px solid #dce9df;border-radius:20px;background:#fff}
#contact .hospital-logo{flex:0 0 auto;height:48px;width:auto;margin:0}
#contact .hospital p{margin:0;color:#33425e}
/* insurance */
#insurance{background:#fff;padding-block:64px 72px;text-align:center}
#insurance>.wrap::before{content:"Insurance";display:flex;width:fit-content;margin:0 auto 18px}
#insurance h2{margin:0 0 28px}
#insurance .marquee{padding:14px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
#insurance .marquee li{width:200px;height:100px;border:1px solid #e0ebe4;border-radius:18px;box-shadow:0 6px 18px rgba(0,20,72,.05);transition:transform .25s,box-shadow .25s}
#insurance .marquee li:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,20,72,.10)}
#insurance .insurance-link>span{margin-top:18px;padding:0 24px;border:1px solid #b9dcc6;border-radius:999px;background:#f4faf6;color:var(--action);font-weight:700;transition:background .25s,color .25s}
#insurance .insurance-link:hover>span{background:var(--action);border-color:var(--action);color:#fff}
/* footer */
footer{background:var(--navy);color:#cfdaee;padding-block:64px 32px}
footer>.wrap{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-areas:"brand nav" "name nav" "line line" "disc disc";column-gap:56px;align-items:start}
footer .footer-brand{grid-area:brand;justify-self:start;display:inline-flex;background:#fff;border-radius:18px;padding:10px 16px;box-shadow:0 10px 26px rgba(0,0,0,.18)}
footer .footer-brand img{display:block;height:58px;width:auto}
footer .footer-name{grid-area:name;margin:22px 0 0;max-width:20ch;font-size:20px;font-weight:700;line-height:1.35;color:#fff}
footer .footer-nav{grid-area:nav;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0}
footer .footer-nav h2{margin:0 0 12px;color:#fff}
footer .footer-nav a,footer .footer-line a{color:#cfdaee;text-decoration:none;border:0;background:none;transition:color .2s,transform .2s}
footer .footer-nav a:hover{color:#fff;transform:translateX(4px)}
footer .footer-line{grid-area:line;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);color:#a9bbd9}
footer .footer-line p{color:#a9bbd9}
footer .footer-line a{color:#fff;text-decoration:underline;text-underline-offset:3px}
footer .disclaimer{grid-area:disc;margin:20px 0 0;color:#9db0d0}
footer>.wrap{grid-template-rows:auto 1fr}
footer .footer-line{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px 10px}
footer .footer-line p{margin:0}
@media(max-width:1023px){#contact{padding-block:56px}#contact>.wrap{column-gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}#insurance{padding-block:48px 56px}footer{padding-block:52px 28px}footer>.wrap{column-gap:32px}footer .footer-nav{gap:20px}}
@media(max-width:850px){#contact>.wrap{grid-template-columns:1fr;row-gap:28px}footer>.wrap{grid-template-rows:none;grid-template-columns:1fr;grid-template-areas:"brand" "name" "nav" "line" "disc";row-gap:0}footer .footer-nav{margin-top:32px}footer .footer-name{max-width:none}}
@media(max-width:640px){#contact{padding-block:44px}#contact .hotline{padding:16px 18px}#contact .hospital{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}#contact .contact-card h3{margin:22px 20px 10px}#contact .contact-card p{margin:0 20px 12px}#contact .contact-card p:last-child{margin-bottom:22px}#insurance{padding-block:40px 44px}#insurance .marquee li{width:auto;height:80px}footer{padding-block:44px 28px}footer .footer-nav{grid-template-columns:1fr 1fr;gap:24px}footer .footer-nav>div:last-child{grid-column:1/-1}footer .footer-line{margin-top:36px}}
@media(prefers-reduced-motion:reduce){#contact .contact-card a,#insurance .marquee li,#insurance .insurance-link>span,footer .footer-nav a{transition:none}}

/* B9: hospital photo, inline contact pills, Columbia Asia link, smaller legal text */
#contact .hospital-photo{object-position:center 45%}
#contact .contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin:6px 28px 28px}
#contact .contact-card .contact-actions p{margin:0}
#contact .hospital-link{flex:0 0 auto;display:inline-flex;border-radius:12px;transition:transform .25s,opacity .25s}
#contact .hospital-link:hover{transform:translateY(-2px);opacity:.85}
#contact .hospital-link:focus-visible{outline:3px solid #37B34A;outline-offset:4px}
#contact .hospital-link .hospital-logo{display:block}
footer .footer-line,footer .disclaimer{--type-body:14px;--type-ui:14px}
footer .footer-line{margin-top:40px;padding-top:20px}
footer .disclaimer{margin-top:14px;line-height:1.6}
@media(max-width:640px){#contact .contact-actions{margin:6px 20px 22px}}
/* B10: about v2 — clinic story and personal introduction. */
#about{position:relative;padding-block:64px;background:var(--pale);font:16px/1.65 'Inter',sans-serif;color:var(--navy)}
#about .about-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);column-gap:56px;row-gap:32px;align-items:start}
#about .about-story{grid-column:2;grid-row:1;min-width:0}
#about .about-label{display:inline-flex;align-items:center;font:700 14px/1 'Inter',sans-serif;color:var(--action);background:#e7f4ec;border-radius:999px;padding:8px 14px;margin-bottom:18px}
#about h2{font-size:36px;font-weight:800;line-height:1.2;letter-spacing:normal;text-align:left;margin:0 0 20px}
#about h3{font-size:26px;font-weight:800;line-height:1.3;letter-spacing:normal;text-align:left;margin:0 0 20px}
#about .about-phrase{white-space:nowrap}
#about p,#about blockquote{font-size:16px;line-height:1.65;letter-spacing:normal;color:#33425e}
#about p+p{margin-top:16px}
#about .about-conclusion{display:flex;align-items:center;gap:16px;margin-top:24px;padding:20px 24px;border:1px solid #dce9df;border-radius:20px;background:white;box-shadow:0 8px 22px rgba(0,20,72,.05);color:var(--navy)}
#about .about-care-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#e7f4ec;color:var(--action)}
#about .about-care-icon svg{width:24px;height:24px}
#about .about-portrait{grid-column:1;grid-row:1 / 3;position:relative;align-self:center;margin:0;min-width:0}
#about .about-photo{overflow:hidden;border:1px solid #dce9df;border-radius:24px;background:white;box-shadow:0 14px 34px rgba(0,20,72,.07)}
#about .about-photo img{width:100%;height:auto;object-fit:cover;object-position:center top}
#about .about-leaves{position:absolute;right:-20px;top:-20px;width:64px;height:auto;transform:rotate(15deg);pointer-events:none}
#about .about-doctor{grid-column:2;grid-row:2;min-width:0;position:relative;padding:28px;border:1px solid #dce9df;border-radius:24px;background:white;box-shadow:0 14px 34px rgba(0,20,72,.07);transition:transform .25s,box-shadow .25s,border-color .25s}
#about .about-doctor:hover,#about .about-doctor:focus-within{transform:translateY(-3px);border-color:#b9dcc6;box-shadow:0 18px 40px rgba(0,20,72,.09)}
#about .about-quote{position:relative}
#about .about-quote-mark{display:block;width:24px;height:20px;color:var(--green);margin-bottom:12px}
#about .about-doctor .actions{margin-top:24px}
#about .btn{font-size:16px;line-height:1.4;font-weight:600;letter-spacing:normal;min-height:54px;transition:background .25s,transform .25s,box-shadow .25s}
#about .btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,20,72,.09)}
#about .btn:focus-visible{outline:3px solid var(--green);outline-offset:5px}
#about .about-anchor{display:block;position:absolute;width:0;height:0;padding:0;margin:0;scroll-margin-top:24px}
@media(max-width:1023px){#about{padding-block:52px}#about .about-layout{column-gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}#about .about-portrait{align-self:start}#about h2{font-size:28px}}
@media(max-width:850px){#about .about-layout{grid-template-columns:1fr;row-gap:32px}#about .about-portrait{grid-column:1;grid-row:1}#about .about-photo img{max-height:520px;object-fit:cover;object-position:center 20%;background:var(--mint)}#about .about-story{grid-column:1;grid-row:2}#about .about-doctor{grid-column:1;grid-row:3}}
@media(max-width:640px){#about{padding-block:44px}#about .about-layout{row-gap:28px}#about .about-photo img{max-height:none}#about .about-doctor{padding:24px 20px}#about .about-conclusion{padding:20px;gap:14px;align-items:flex-start}#about .btn{width:100%}#about .about-leaves{right:-12px;top:-16px}}
@media(prefers-reduced-motion:reduce){#about .about-doctor,#about .btn{transition:none}#about .about-doctor:hover,#about .about-doctor:focus-within,#about .btn:hover{transform:none}}

/* B11: ent+informed polish — the approved FAQ/contact card language. */
#ent{padding-block:64px;background:#fff;overflow:visible}
#ent .ent-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:56px;padding:0;margin-inline:7.31%;align-items:center}
#ent .ent-panel{height:auto;aspect-ratio:1457/1080;width:100%;min-width:0}
#ent .ent-image{border-radius:24px;mask-image:none;box-shadow:0 8px 22px rgba(0,20,72,.05)}
#ent .ent-image:after{display:none}
#ent .ent-image img{object-position:center}
#ent .ent-leaves{width:64px;right:-6px;top:-16px}
#ent .ent-copy{min-width:0;padding:0}
#ent .eyebrow{display:inline-flex;font:700 14px/1 'Inter',sans-serif;color:var(--action);background:#e7f4ec;border-radius:999px;padding:8px 14px;margin:0 0 18px}
#ent h2{font-size:36px;line-height:1.2;margin:0 0 20px;letter-spacing:normal}
#ent .ent-rule{display:none}
#ent .ent-copy>p{font-size:16px;line-height:1.65;color:#33425e}
#ent .ent-conditions{padding:24px;margin-top:24px;border:1px solid #dce9df;border-radius:24px;background:#fff;box-shadow:0 8px 22px rgba(0,20,72,.05);transition:transform .25s,box-shadow .25s,border-color .25s}
#ent .ent-conditions:before,#ent .ent-cond-deco{display:none}
#ent .ent-conditions:hover{transform:translateY(-4px);border-color:#b9dcc6;box-shadow:0 14px 34px rgba(0,20,72,.07)}
#ent .ent-cond-head{gap:14px;align-items:center;padding-bottom:16px;margin-bottom:16px;border-color:#dce9df}
#ent .ent-cond-head strong{font-size:16px;line-height:1.5}
#ent .ent-cond-icon{width:44px;height:44px;background:#e7f4ec;box-shadow:none}
#ent .ent-cond-icon svg{width:24px;height:24px}
#ent .ent-conditions p{font-size:16px;line-height:2}
#ent .ent-term{padding:3px 6px}
#informed{padding-block:64px;background:var(--pale);text-align:center}
#informed>.wrap{margin-inline:7.31%}
#informed h2{margin:0;font-size:26px;line-height:1.35;letter-spacing:normal}
#informed .ent-lead-break{margin:0}
#informed .ent-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0 0}
#informed .ent-benefit,#informed .ent-benefit+.ent-benefit{display:flex;align-items:flex-start;gap:16px;padding:24px;background:#fff;border:1px solid #dce9df;border-radius:24px;box-shadow:0 8px 22px rgba(0,20,72,.05);transition:transform .25s,box-shadow .25s,border-color .25s}
#informed .ent-benefit:hover{transform:translateY(-4px);border-color:#b9dcc6;box-shadow:0 14px 34px rgba(0,20,72,.07)}
#informed .ent-badge{width:48px;height:48px;margin:0;background:#e7f4ec}
#informed .ent-badge svg{width:26px;height:26px}
#informed .ent-benefit strong{font-size:18px;line-height:1.3;margin-bottom:8px}
#informed .ent-benefit p{font-size:16px;line-height:1.65;color:#33425e}
#informed .actions{margin-top:28px;gap:16px}
#informed .ent-cta{min-height:52px;padding:14px 24px;border:1px solid #b9dcc6;background:#f4faf6;color:var(--action);font-size:16px;font-weight:700;transition:transform .25s,background .25s,color .25s,box-shadow .25s}
#informed .ent-cta:hover{transform:translateY(-4px);background:var(--action);color:#fff;box-shadow:0 8px 22px rgba(0,20,72,.05)}
#informed .ent-cta:focus-visible{outline:3px solid var(--action);outline-offset:4px}
@media(max-width:1200px){#informed .ent-benefit,#informed .ent-benefit+.ent-benefit{flex-direction:column}}
@media(max-width:1023px){
 #ent,#informed{padding-block:52px}
 #ent .ent-grid{grid-template-columns:1fr;gap:32px;margin-inline:7.31%}
 #ent .ent-panel{width:100%;aspect-ratio:1457/1080}
 #ent h2{font-size:28px}
 #informed .ent-benefits{gap:24px}
 #informed .ent-benefit,#informed .ent-benefit+.ent-benefit{padding:20px}
}
@media(max-width:700px){
 #ent .ent-grid,#informed>.wrap{margin-inline:24px}
 #informed h2{text-align:left;font-size:26px}
 #informed .ent-benefits{grid-template-columns:1fr}
 #informed .ent-benefit,#informed .ent-benefit+.ent-benefit{flex-direction:row;gap:16px;padding:20px}
 #informed .actions{flex-direction:column;gap:12px}
 #informed .ent-cta{width:100%;text-align:left;justify-content:space-between;padding:14px 20px}
}
@media(max-width:640px){#ent,#informed{padding-block:44px}#ent .ent-conditions{padding:20px}#ent .ent-cond-head{align-items:flex-start}#ent .ent-grid{gap:28px}}
@media(max-width:520px){#ent .ent-marker,#ent .ent-glow{top:var(--oy)}#ent .ent-leaves{width:52px;top:-12px}}
@media(prefers-reduced-motion:reduce){#ent .ent-conditions,#informed .ent-benefit,#informed .ent-cta,#informed .ent-cta svg{transition:none}#ent .ent-conditions:hover,#informed .ent-benefit:hover,#informed .ent-cta:hover,#informed .ent-cta:hover svg{transform:none}}
/* B11b: hotspots stay reachable. Dots sit above tooltips; a hover-only tooltip never intercepts the pointer (pinned/detail cards stay interactive) */
#ent .ent-marker{z-index:7}
#ent .ent-card.is-on{pointer-events:none}
#ent .ent-card.is-on:has(.ent-detail:not([hidden])){pointer-events:auto}
@media(hover:none),(max-width:520px){#ent .ent-card.is-on{pointer-events:none}}
/* B12: footer disclaimer smaller, regular weight */
html body footer p.disclaimer{font-size:13px!important;font-weight:400!important;line-height:1.65}
/* B13: services eyebrow pill, same recipe as FAQ / About / ENT */
#services .services-label{display:inline-flex;align-items:center;font:700 14px/1 'Inter',sans-serif;color:var(--action);background:#e7f4ec;border-radius:999px;padding:8px 14px;margin:0 0 18px}
#services .section-head{margin-top:0}
/* B15: About gallery = crossfade + Ken Burns (stacked, same-size slides; no sliding track). Quote is clamped with a fade + expand. Columns share one height on desktop. */
#about .about-gallery{position:relative;aspect-ratio:4/5;background:var(--mint);isolation:isolate;touch-action:pan-y}
#about .gal-track{position:absolute;inset:0;overflow:hidden}
#about .gal-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden}
#about .gal-slide.is-prev{opacity:1;visibility:visible;z-index:1}
#about .gal-slide.is-active{opacity:1;visibility:visible;z-index:2;transition:opacity 1.3s ease}
#about .about-gallery .gal-slide img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 20%;display:block;transform-origin:50% 40%;-webkit-user-drag:none;user-select:none}
#about .gal-slide:nth-child(odd){--kx:1.8%;--ky:1.2%}
#about .gal-slide:nth-child(even){--kx:-1.8%;--ky:-1.2%}
#about .gal-slide.is-active img,#about .gal-slide.is-prev img{animation:gal-kb 9s ease-out both}
@keyframes gal-kb{from{transform:scale(1) translate(0,0)}to{transform:scale(1.11) translate(var(--kx),var(--ky))}}
#about .gal-btn{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(0,20,72,.18);color:var(--navy);cursor:pointer;opacity:0;transition:opacity .25s,background .2s,color .2s,transform .2s}
#about .gal-prev{left:12px}#about .gal-next{right:12px}
#about .gal-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
#about .about-gallery:hover .gal-btn,#about .gal-btn:focus-visible{opacity:1}
#about .gal-btn:hover{background:var(--action);color:#fff;transform:translateY(-50%) scale(1.06)}
#about .gal-btn:focus-visible,#about .gal-dot:focus-visible,#about .quote-toggle:focus-visible{outline:3px solid var(--action);outline-offset:3px}
#about .gal-dots{position:absolute;z-index:4;left:0;right:0;bottom:14px;display:flex;justify-content:center;align-items:center;gap:2px;pointer-events:none}
#about .gal-dot{pointer-events:auto;width:24px;height:24px;border:0;background:none;padding:0;display:grid;place-items:center;cursor:pointer}
#about .gal-dot:before{content:'';width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 0 0 1px rgba(0,20,72,.28);transition:width .3s cubic-bezier(.22,1,.36,1),background .25s}
#about .gal-dot[aria-selected="true"]:before{width:26px;background:#fff}
@media(hover:none){#about .gal-btn{opacity:1;width:40px;height:40px}}
@media(max-width:1023px){#about .about-gallery{aspect-ratio:4/4.6}}
@media(min-width:1024px){
#about .about-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:48px;align-items:stretch}
#about .about-portrait{grid-column:1;grid-row:1 / 3;align-self:stretch;display:flex;flex-direction:column}
#about .about-portrait .about-photo{flex:1 1 auto;min-height:480px}
#about .about-gallery{aspect-ratio:auto}
}
/* quote clamp */
#about .about-quote-body{position:relative;font-size:16px;line-height:1.65}
#about .about-quote.is-clamped .about-quote-body{max-height:calc(16px * 1.65 * 3);overflow:hidden;transition:max-height .5s cubic-bezier(.22,1,.36,1)}
#about .about-quote.is-clamped .about-quote-body:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3.2em;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 88%);pointer-events:none;transition:opacity .35s}
#about .about-quote.is-open .about-quote-body:after{opacity:0}
#about .quote-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:6px;min-height:44px;padding:0;border:0;background:none;color:var(--action);font:600 16px/1 'Inter',sans-serif;cursor:pointer}
#about .quote-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
#about .quote-toggle:hover{text-decoration:underline;text-underline-offset:4px}
#about .quote-toggle .qt-less{display:none}
#about .about-quote.is-open .quote-toggle .qt-more{display:none}
#about .about-quote.is-open .quote-toggle .qt-less{display:inline}
#about .about-quote.is-open .quote-toggle svg{transform:rotate(180deg)}
#about .about-doctor .actions{margin-top:12px}
@media(prefers-reduced-motion:reduce){
#about .gal-slide.is-active{transition:opacity .3s}
#about .gal-slide.is-active img,#about .gal-slide.is-prev img{animation:none}
#about .gal-dot:before,#about .gal-btn,#about .about-quote.is-clamped .about-quote-body,#about .quote-toggle svg{transition:none}
}
.nb,a[href^="tel:"],a[href^="mailto:"]{white-space:nowrap}/* mobile: footer link columns are hidden (header drawer already has the menu) */
@media(max-width:640px){footer .footer-nav{display:none!important}footer .footer-line{margin-top:28px}}
/* mobile: hero feature tiles show the title only, no description */
@media(max-width:640px){.hero .features .feature span{display:none}}
/* B16: layering. Tooltip card always sits above every hotspot dot (incl. the other organs' dots). Hover cards are pointer-events:none, so dots underneath stay clickable. */
#ent .ent-glow{z-index:0}
#ent .ent-marker,#ent .ent-panel[data-active] .ent-marker[data-organ]{z-index:1!important}
#ent .ent-card{z-index:7}
/* B17: benefit-card descriptions wrap to 2 balanced lines on wide screens */
#informed .ent-benefit p{max-width:27ch;text-wrap:balance}

/* Floating WhatsApp button, bottom-left. Replaces the old header button.
   z-index 60 sits above page content but below the drawer scrim (90), drawer
   (100) and gallery lightbox (200). Hover is guarded so a tap on touch screens
   does not leave it stuck enlarged. */
.wa-float{position:fixed;left:16px;bottom:16px;left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22);transition:transform .25s cubic-bezier(.22,1,.36,1),background .25s,opacity .25s,visibility 0s}
.wa-float svg{width:30px;height:30px}
@media(hover:hover){.wa-float:hover{background:#1ebe5a;transform:translateY(-2px) scale(1.06)}}
.wa-float:focus-visible{outline:3px solid var(--navy,#0b2a4a);outline-offset:3px}
html.drawer-open .wa-float{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:480px){.wa-float{width:54px;height:54px;left:calc(14px + env(safe-area-inset-left,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}.wa-float svg{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.wa-float{transition:none}}
/* Reserve room under the footer so the floating button never sits on its last line of text
   when the page is scrolled to the end (button spans 14-74px from the bottom edge). */
@media(max-width:900px){footer{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}}

/* Google reviews band (homepage, before insurers). Cards reuse the .article look; light-only like the rest. */
.greviews{background:var(--mint)}
.gr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px}
.gr-head .eyebrow{margin-bottom:12px}
.gr-head h2{margin:0}
.gr-rate{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}
.gr-score{display:flex;align-items:center;gap:10px}
.gr-score strong{font:800 40px/1 "Plus Jakarta Sans",sans-serif;color:var(--navy)}
.gr-score .gr-g{width:30px;height:30px}
.gr-rate p{margin:0;font-size:14px;color:#44546f}
.gr-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-top:6px}
.gr-actions .btn{min-height:46px;padding:12px 22px}
.gr-stars{display:inline-flex;gap:2px}
.gr-stars svg{width:18px;height:18px;fill:#FBBC04}
.gr-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.gr-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dfe9e3;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.gr-card[hidden]{display:none}
.gr-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--pale)}
.gr-media img{width:100%;height:100%;object-fit:cover;display:block}
.gr-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.gr-who{display:flex;align-items:center;gap:12px}
.gr-av{width:42px;height:42px;border-radius:50%;background:var(--mint);color:var(--action);font:800 18px/42px "Plus Jakarta Sans",sans-serif;text-align:center;flex-shrink:0}
.gr-name{flex:1;min-width:0;font:800 16px/1.25 "Plus Jakarta Sans",sans-serif;color:var(--navy);display:flex;flex-direction:column}
.gr-name small{font:400 12px/1.4 Inter,sans-serif;color:#5b6b83;margin-top:2px}
.gr-who .gr-g{width:22px;height:22px;flex-shrink:0}
.gr-text p{margin:0 0 10px;font-size:15px;line-height:1.65;color:#2c3a57}
.gr-text p:last-child{margin-bottom:0}
.gr-text.clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden}
.gr-read{align-self:flex-start;margin-top:auto;background:none;border:0;padding:0;font:700 14px/1.4 Inter,sans-serif;color:var(--action);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.gr-read:hover{color:var(--navy)}
.gr-more{display:flex;justify-content:center;margin-top:36px}
.gr-more[hidden]{display:none}
@media(max-width:1023px){.gr-grid{grid-template-columns:repeat(2,1fr)}.gr-head{flex-direction:column;align-items:flex-start}.gr-rate{align-items:flex-start;text-align:left}.gr-actions{justify-content:flex-start}}
@media(max-width:640px){.gr-grid{grid-template-columns:1fr;gap:18px}.gr-body{padding:18px}.gr-actions .btn{white-space:nowrap;padding:12px 14px;font-size:13px}.gr-head{margin-bottom:28px;gap:20px}}
.gr-note{margin:28px auto 0;max-width:760px;text-align:center;font-size:13px;line-height:1.6;color:#5b6b83}
.gr-note a{color:var(--action);text-decoration:underline;text-underline-offset:2px}

/* 4 Oct 2026 client request: new watercolour banner already carries the anatomy art, so the old 3D organs layer is hidden on desktop (mobile uses its own composite) */
@media(min-width:1024px){.hero-art .organs{display:none}}

/* 4 Oct 2026: floating cards moved off the banner artwork - each card sits beside its own anatomy (Ear left of the ear drawing, Nose top-right, Throat beside the spine; both right-aligned to the .wrap edge = Contact Us button); Nose/Ear swapped */
@media(min-width:1024px){.hero-art .card-ear{left:37.5%;top:7%}.hero-art .card-nose{left:auto;right:max(24px,7.31%);top:3%}.hero-art .card-throat{left:auto;right:max(24px,7.31%);top:58%}}
