/* Readable typography at every breakpoint. Editorial serif is reserved for large titles. */
body{font-size:18px;font-weight:450;line-height:1.75}
.section-index,.role-label,.review-context{font-size:14px;font-weight:650;letter-spacing:.09em;line-height:1.6}
.text-link,.button,.light-button{font-size:17px;line-height:1.6;font-weight:600}
.atelier-nav{font-size:16px;font-weight:500;gap:25px}
.header-book{font-size:15px;gap:20px;min-height:48px}
.atelier-brand small{font-size:11px;letter-spacing:.12em}
.hero-caption{font-size:13px;letter-spacing:.1em}
.hero-overline{font-size:17px}
.hero-description{font-size:20px;max-width:380px}
.hero-core>.light-button{font-size:17px}
.hero-bottom,.scroll-cue{font-size:14px}
.vision-toolbar button{font-size:14px;font-weight:500;min-height:44px}
.vision-status{font-size:12px}
.intro-kicker{font-size:14px;letter-spacing:.13em}
.intro-line{font-size:17px;max-width:420px}
.trust-ribbon{font-size:15px;gap:22px;line-height:1.65}
.trust-ribbon>a{font-size:15px;font-weight:500}
.section-topline>span:last-child{font-size:14px}
.manifesto-bottom p{font-size:19px;line-height:1.85}
.manifesto-bottom .text-link{font-size:17px}
.institute-gallery figcaption{font-size:16px;line-height:1.6}
.institute-gallery figcaption span{font-size:13px;letter-spacing:.06em;font-weight:600}
.care-heading p,.care-detail>div{font-size:18px}
.care-detail summary{font:550 clamp(21px,1.8vw,26px)/1.45 Manrope,Arial,sans-serif;letter-spacing:0;grid-template-columns:30px minmax(0,1fr) 24px;gap:16px;padding:27px 0}
.care-number{font:600 14px/1.5 Manrope,Arial,sans-serif;color:#53634f}
.care-detail>div{padding-left:46px;padding-right:24px}
.care-detail .text-link{font-size:17px}
.display-heading>p{font-size:19px}
.doctor-info .role-label,.colleague .role-label{font-size:13px}
.registration,.colleague .registration{font-size:15px;letter-spacing:.02em;font-weight:500}
.doctor-info .specialties{font:500 24px/1.5 Manrope,Arial,sans-serif}
.doctor-info>p:not(.registration):not(.specialties),.colleague p{font-size:18px;line-height:1.85}
.doctor-info .button,.colleague .text-link,.colleague-secondary .text-link{font-size:16px}
.colleague p strong{font-weight:600}
.colleague{grid-template-columns:.8fr 1.2fr;gap:28px}
.precision-copy>p{font-size:18px;color:#d5dfd4}
.precision-links .text-link{font-size:17px}
.precision-photo{display:flex;align-items:center;justify-content:center;padding:0 20px}
.precision-image-frame{position:relative;width:min(100%,476px);flex:none}
.precision-photo img{width:100%;height:auto;object-fit:contain}
.precision-credit{position:absolute;bottom:0;left:0;right:0;margin:0;padding:55px 24px 22px;color:white;font-size:16px;font-weight:500;letter-spacing:0;line-height:1.6;background:linear-gradient(transparent,#0a211ce8);text-shadow:0 1px 5px #0005}
.split-heading>p,.split-heading>div>p,.voices-section .split-heading>p{font-size:18px;line-height:1.85}
.split-heading .text-link{font-size:17px}
.coverage-search label{font:600 24px/1.45 Manrope,Arial,sans-serif;letter-spacing:0}
.search-field input{font-size:18px;font-weight:500}
.search-field input::placeholder{color:#58685f;opacity:1}
.search-field button{font-size:16px;font-weight:600}
.coverage-search>p:not(.sr-only){font-size:16px;color:#45594e;line-height:1.7}
.coverage-toggle{font-size:18px;font-weight:600;min-height:64px}
.coverage-columns{gap:clamp(30px,4vw,65px)}
.coverage-title{gap:18px;flex-wrap:wrap;align-items:baseline}
.coverage-title h3{font:600 25px/1.45 Manrope,Arial,sans-serif;letter-spacing:0}
.coverage-title>span{font-size:15px;font-weight:500;color:#45594e}
.coverage-list li{font-size:18px;font-weight:500;line-height:1.65;padding:15px 0;overflow-wrap:anywhere}
.coverage-list li small{font-size:16px;font-weight:450;color:#45594e;margin-top:5px}
.coverage-caption,.coverage-empty,.plan-others,.notice{font-size:16px;line-height:1.8;color:#45594e}
.notice strong{font-weight:650}
.review-context{font-size:14px}
.review-attribution strong{font-size:18px;font-weight:650}
.review-attribution p,.review-attribution .text-link,.review-controls{font-size:15px}
.guide-layout>div>p,.patient-faq details p,.hub-invitation p{font-size:18px}
.patient-faq summary{font-size:19px;font-weight:550;line-height:1.65}
.hub-invitation .button{font-size:17px}
.hub-invitation .section-index{font-size:14px}
.appointment-section .section-index{font-size:14px}
.appointment-section p{font-size:21px;max-width:580px;line-height:1.7}
.appointment-section .button{font-size:18px;min-height:62px}
.appointment-phone{font-size:18px;max-width:100%;line-height:1.6}
.arrival-grid .role-label{font-size:13px}
.arrival-grid h3{font:550 25px/1.45 Manrope,Arial,sans-serif}
.arrival-grid p{font-size:18px}
.arrival-grid .text-link,.arrival-grid .parking-note{font-size:16px}
.facade-photo figcaption{font-size:15px}
.footer-links{font-size:16px;flex-wrap:wrap}
.brand small{font-size:11px;letter-spacing:.12em}
.legal{font-size:14px;line-height:1.85}
.floating{font-size:15px;min-height:48px}
/* Content is visible by default. JS opts only offscreen blocks into the pilot reveal. */
.reveal{transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal-pending{opacity:0;transform:translateY(28px)}
.reveal-pending:focus-within{opacity:1;transform:none}
@media(max-width:1200px){
 .atelier-header{gap:18px}.atelier-nav{font-size:15px;gap:18px}.header-book{font-size:14px;gap:12px}.atelier-brand>span{font-size:18px}
 .colleague{display:block}.colleague-portrait{margin-bottom:28px}
}
@media(max-width:980px){
 .atelier-nav{font-size:21px}.menu-button{font-size:15px}
 .trust-ribbon,.trust-ribbon>a{font-size:15px}
 .care-layout{grid-template-columns:1fr;gap:35px}.care-heading h2 br{display:none}.care-heading h2 br:after{content:' '}.care-heading h2{max-width:650px}.care-heading p{max-width:620px}
 .care-list{margin-top:0}.care-detail summary{font-size:23px}
 .precision-section{grid-template-columns:.9fr 1.1fr}.precision-copy{padding-left:28px}.precision-copy h2{font-size:48px}.precision-photo{min-height:0;max-height:none;padding:35px 10px 35px 24px}.precision-credit{font-size:15px;padding:40px 16px 18px}
 .coverage-title h3{font-size:23px}.coverage-title{display:block}.coverage-title>span{display:block;margin-top:7px}.coverage-columns{grid-template-columns:1.25fr 1fr}
 .coverage-search{column-gap:30px}.coverage-search label{font-size:22px}
 .split-heading,.voices-section .split-heading{gap:35px}
 .guide-layout{display:block}.guide-layout>div>p{max-width:600px}.patient-faq{margin-top:35px}
 .footer-top{align-items:start}.footer-links{gap:10px 20px}
}
@media(max-width:640px){
 body{font-size:17px}
 .atelier-header{gap:14px;padding:0 18px}.atelier-brand>span{font-size:15px}.atelier-brand small{font-size:10px;letter-spacing:.08em}.atelier-brand .brand-mark{width:33px;height:33px}.header-book{display:none}.menu-button{min-width:44px;justify-content:center;margin-left:auto}.menu-button>span:first-child{display:block;font-size:14px;margin-right:9px}.atelier-nav{font-size:21px}
 .hero-caption{font-size:12px;letter-spacing:.08em}.hero-overline{font-size:15px}.hero-description{font-size:18px;max-width:300px;bottom:112px}.hero-core>.light-button{font-size:16px;gap:30px;padding:15px 18px}
 .hero-bottom{gap:12px;align-items:center}.scroll-cue{font-size:13px;max-width:170px;gap:9px}.vision-toolbar button{font-size:13px;line-height:1.5;min-height:44px;padding:7px 0}.scroll-circle{width:32px;height:32px}.hero-bottom .vision-toolbar{max-width:135px;text-align:right}.intro-kicker{font-size:13px}.intro-line{font-size:16px;max-width:300px}
 .trust-ribbon{font-size:14px;padding:24px;gap:14px 0}.trust-ribbon>a{font-size:14px}.trust-ribbon>span{padding:0 10px}
 .section-index{font-size:13px;letter-spacing:.08em}.manifesto-bottom p{font-size:18px}.manifesto-bottom .text-link{font-size:16px}
 .institute-gallery{gap:14px}.institute-gallery figcaption{font-size:15px}.institute-gallery figcaption span{font-size:12px;letter-spacing:.03em}.gallery-wide img{height:290px}.gallery-tall img{height:240px}
 .care-heading p,.care-detail>div{font-size:17px}.care-heading h2 br:nth-child(2){display:none}.care-list{margin-top:30px}.care-detail summary{font-size:21px;line-height:1.5;grid-template-columns:25px minmax(0,1fr) 20px;gap:10px;padding:23px 0}.care-number{font-size:14px}.care-detail>div{padding:0 10px 25px 35px}.care-detail .text-link{font-size:16px}
 .display-heading>p{font-size:18px}.doctor-info .role-label,.colleague .role-label{font-size:13px}.registration,.colleague .registration{font-size:14px}.doctor-info .specialties{font-size:23px}.doctor-info>p:not(.registration):not(.specialties),.colleague p{font-size:17px}.doctor-info .button,.colleague .text-link,.colleague-secondary .text-link{font-size:16px;gap:16px;max-width:100%}
 .precision-section{display:flex;flex-direction:column-reverse}.precision-copy{padding:65px 24px 35px}.precision-copy>p{font-size:17px}.precision-links .text-link{font-size:16px;gap:20px}.precision-photo{padding:0;margin:0 24px 35px;height:auto;min-height:0;max-height:none}.precision-image-frame{width:min(100%,360px)}.precision-credit{font-size:15px;padding:45px 18px 20px}
 .split-heading>p,.split-heading>div>p,.voices-section .split-heading>p{font-size:17px;max-width:none}.split-heading .text-link{font-size:16px}.coverage-search label{font-size:23px}.search-field input{font-size:18px}.coverage-search>p:not(.sr-only){font-size:16px}.coverage-toggle{font-size:17px}.coverage-columns{grid-template-columns:1fr;gap:35px}.coverage-title{display:flex;gap:12px;align-items:baseline}.coverage-title h3{font-size:23px}.coverage-title>span{font-size:14px;margin:0}.coverage-list{grid-template-columns:1fr;gap:0}.coverage-list li{font-size:18px}.coverage-list li small{font-size:16px}.coverage-caption,.coverage-empty,.plan-others,.notice{font-size:16px}
 .review-context{font-size:13px}.review-attribution strong{font-size:18px}.review-attribution p,.review-attribution .text-link,.review-controls{font-size:15px}
 .guide-layout>div>p,.patient-faq details p,.hub-invitation p{font-size:17px}.patient-faq summary{font-size:18px}.hub-invitation .button{font-size:16px}.hub-invitation .section-index{font-size:13px}
 .appointment-section .section-index{font-size:13px}.appointment-section h2{font-size:clamp(59px,15vw,90px);line-height:1.07}.appointment-section p{font-size:19px;max-width:340px}.appointment-section .button{font-size:17px;min-width:0;width:100%;max-width:335px;gap:20px;padding:16px 20px}.appointment-phone{font-size:17px}
 .arrival-grid .role-label{font-size:13px}.arrival-grid h3{font-size:24px}.arrival-grid p{font-size:17px}.arrival-grid .text-link,.arrival-grid .parking-note{font-size:16px}.facade-photo figcaption{font-size:14px}
 .footer-links{font-size:16px;line-height:1.6}.legal{font-size:14px}.floating{font-size:14px;padding:12px 15px}
}
@media(max-width:360px){
 :root{--gutter:20px}.atelier-header{padding:0 14px;gap:10px}.atelier-brand>span{font-size:14px}.atelier-brand .brand-mark{width:30px;height:30px}.menu-button>span:first-child{display:none}.hero-core{left:20px;right:20px}.hero-core h1{font-size:51px}.hero-core>.light-button{font-size:16px;gap:20px}.hero-bottom{left:20px;right:20px}.hero-bottom .scroll-cue{max-width:135px;font-size:13px}.vision-toolbar button{font-size:12px}.care-detail summary{font-size:20px}.care-detail>div{padding-left:0}.precision-copy h2{font-size:44px}.coverage-title h3{font-size:22px}.institute-gallery{padding-left:20px;padding-right:20px}.institute-gallery figcaption{font-size:14px}.institute-gallery figcaption span{font-size:12px}.footer-top .brand strong{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-pending{opacity:1;transform:none;transition:none}}
@media print{.reveal,.reveal-pending{opacity:1;transform:none;transition:none}}
