/* 4.1: readable type, service landing pages and authentic clinic photography. */
body{font-size:18px;font-weight:450;line-height:1.75}
.eyebrow{font-size:14px;letter-spacing:.09em;line-height:1.55}
.header-top .container{min-height:42px;font-size:14px;color:#52655a}
.header-inner{height:auto;min-height:96px;gap:22px;padding-block:16px}
.brand b{font-size:23px}.brand small{font-size:14px;color:#53656f;letter-spacing:0}
.brand img{width:52px;height:52px}.main-nav ul{gap:20px}.main-nav a{font-size:16px}
.header-contact a{font-size:18px}.header-contact small{font-size:14px}
.button,.button-small,.line-link,.inner-hero-actions .button,.inner-hero-actions .line-link{font-size:16px;line-height:1.5}
.button{min-height:54px}.button-small{gap:14px}
.hero-copy{max-width:720px}.hero-copy h1{font-size:clamp(44px,4.8vw,76px);letter-spacing:-.052em}
.hero-copy h1 em{font-size:.85em;max-width:680px;line-height:1.15}
.hero-copy .eyebrow{font-size:14px}.hero-lead{font-size:20px;line-height:1.7;max-width:540px}
.hero-proof>div>span:last-child{font-size:15px}.hero-location{max-width:400px}
.hero-location small,.hero-location>span:nth-child(2)>span{font-size:14px}
.hero-location b{font-size:17px}.trust-ribbon .container>div{font-size:15px;line-height:1.5}
.section-heading.split p{font-size:18px;line-height:1.75;max-width:460px}
.choice-copy p,.choice-card-2 p,.choice-card-4 p{font-size:17px;line-height:1.65}
.choice-copy small,.card-index{font-size:14px;letter-spacing:.065em;line-height:1.5}
.choice-grid{grid-template-rows:minmax(280px,auto) minmax(280px,auto)}
.choice-copy h3{letter-spacing:-.04em}.choice-card{min-width:0;padding:30px}.choice-copy{padding:0}
.choice-card-2,.choice-card-4{min-height:260px}.choice-card-1,.choice-card-3{min-height:540px}
.card-no{font-size:14px}.choice-card-3:after{background:linear-gradient(180deg,#102d430a 15%,#102d439c 52%,#102d43f5)}
.choice-card-1 p,.choice-card-3 p{color:#e2edf2}.choice-copy p{max-width:310px}
.choice-card-1 h3{font-size:46px}.choice-card-2 h3,.choice-card-4 h3{font-size:28px;line-height:1.2}
.large-text,.principles p{font-size:18px;line-height:1.75}.principles b{font-size:19px}
.media-caption small{font-size:14px;max-width:220px;line-height:1.5}
.about-media img{object-position:50% 65%}.service-card p,.entry-content .service-card p{font-size:17px;line-height:1.7}
.service-card h3,.entry-content .service-card h3{font-size:26px;line-height:1.2}
.card-link{font-size:15px}.service-card-body{padding:28px}
.doctor-role{font-size:19px}.doctor-intro{font-size:18px;line-height:1.8}
.doctor-details dt{font-size:14px}.doctor-details dd{font-size:17px}.doctor-service-note{font-size:16px;color:#d2e5ed}
.doctor-caption{font-size:16px}.process-grid p{font-size:17px;line-height:1.75}
.review-card blockquote{font-size:18px;line-height:1.8}.review-card figcaption small{font-size:14px}
.faq-grid>div>p,.faq-list details>div{font-size:18px;line-height:1.8}
.faq-list summary{font-size:19px;line-height:1.55}.post-card p{font-size:17px;line-height:1.75}
.faq-list summary>span.faq-icon{line-height:1}.faq-icon svg{display:block;width:16px;height:16px;stroke-width:2}
.post-card .post-meta{font-size:14px}.post-card .card-link{font-size:15px}
.appointment-grid>div>p{font-size:18px;line-height:1.75}.bz-appointment-form>label{font-size:16px}
.form-consent{font-size:15px!important;line-height:1.65!important;align-items:start}
.form-consent span{min-width:0}.form-consent input{flex-shrink:0;margin-top:5px}
.bz-appointment-form>small{font-size:14px;line-height:1.65}.form-status{font-size:16px}
.footer-grid>div>p,.footer-grid li a{font-size:16px;line-height:1.75}.footer-grid h3{font-size:18px}
.footer-grid .brand small{color:#c1d6df}.footer-grid .line-link,.footer-bottom{font-size:14px}
.breadcrumbs{font-size:14px}.inner-hero-copy>p,.entry-content,.contact-details p{font-size:18px;line-height:1.8}
.entry-content{max-width:820px}.entry-wide{max-width:none}.aside-card p{font-size:17px}
.price-note{font-size:17px}.price-table,.price-table td,.price-table th{font-size:16px}
.price-table-wrap{max-width:100%}
.clinic-gallery-section{background:#f0f4ef}.clinic-gallery{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:260px 260px;gap:20px}
.clinic-gallery-item{position:relative;margin:0;min-width:0;overflow:hidden;border-radius:10px;background:#dde9e3}
.clinic-gallery-main{grid-row:span 2}.clinic-gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center 62%;transition:transform .6s}
.clinic-gallery-item figcaption{position:absolute;inset:auto 0 0;padding:38px 22px 18px;color:white;background:linear-gradient(transparent,#102d43cf);font-size:16px;line-height:1.5}
.clinic-gallery-item:hover img{transform:scale(1.035)}
.local-contacts-section{position:relative;isolation:isolate;overflow:hidden;background:#eef3ef}
.local-contacts-map{position:absolute;inset:0;z-index:0}.local-contacts-map iframe{display:block;width:100%;height:100%;border:0}
.local-contacts-section:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fffffff7 0%,#fffffff0 32%,#ffffffc7 40%,#ffffff00 48%,#ffffff00 100%);pointer-events:none}
.local-contacts-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(100px,10vw,180px);align-items:center;pointer-events:none}
.local-contact-copy,.local-contact-card{min-width:0;pointer-events:auto}
.local-contact-copy{max-width:560px}.local-contact-card{width:100%;max-width:440px;justify-self:end}
.local-contacts-grid h2{font-size:clamp(32px,3.5vw,48px)}.local-contacts-grid p{max-width:580px;margin-top:26px}
.local-contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:30px}
.local-contact-card{background:#fff;border:1px solid #e1e9e4;padding:38px;border-radius:12px;box-shadow:0 18px 54px #102d431a}
.local-contact-card dl{margin:0 0 25px}.local-contact-card dl>div+div{margin-top:20px}
.local-contact-card dt{font-size:14px;color:var(--muted)}.local-contact-card dd{margin:6px 0 0;font-size:20px;font-weight:600;overflow-wrap:anywhere}
.local-contact-route{width:100%;gap:16px}
.service-hero{background:#eaf1eb;padding:42px 0 60px}.service-hero .inner-hero-grid{gap:64px;grid-template-columns:1.1fr 1fr}
.service-hero .inner-hero-copy h1{font-size:clamp(40px,4.2vw,64px);line-height:1.13}
.service-hero .inner-hero-media{position:relative;min-width:0}.service-hero .inner-hero-media img{height:510px;border-radius:60px 12px 12px 12px;object-position:50% 65%}
.service-photo-label{position:absolute;inset:auto 24px 24px;background:#fffef3ef;border:1px solid #fff;padding:12px 18px;border-radius:6px;font-size:14px;line-height:1.5}
.inner-hero-copy .service-hero-address{display:flex;align-items:center;gap:10px;font-size:16px;margin:26px 0 0;color:#425c4e}
.service-benefits-section{background:white;border-bottom:1px solid var(--line)}.service-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:40px}
.service-benefits article{display:flex;gap:20px}.service-benefits article>span{color:var(--teal);font-size:16px;font-weight:750;line-height:1.8}
.service-benefits h2{font-size:22px;line-height:1.35;letter-spacing:-.025em}.service-benefits p{font-size:17px;color:var(--muted);line-height:1.7;margin:12px 0 0}
.service-nav-shell{background:white;padding-block:20px;border-bottom:1px solid var(--line)}.service-jump-nav{display:flex;flex-wrap:wrap;gap:10px}
.service-jump-nav a{display:flex;align-items:center;padding:10px 18px;border-radius:6px;background:#f0f5f1;font-size:15px;line-height:1.5;min-height:44px}
.service-jump-nav a:hover{background:#dcefe5;color:#09666a}
.service-copy-block{background:white;padding-block:72px}.service-copy-tinted{background:#f3f6f1}
.service-copy-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:96px;align-items:start}
.service-block-heading h2{font-size:clamp(30px,3vw,44px);line-height:1.2;letter-spacing:-.04em;max-width:500px}
.service-block-heading .eyebrow{margin-bottom:20px}.service-editor-content{max-width:720px}
.service-detail-photo{width:100%;height:210px;margin-top:30px;object-fit:cover;object-position:50% 65%;border-radius:9px}
.service-situations{margin-top:30px;padding:26px 30px;background:#eaf4ee;border-left:3px solid var(--teal);border-radius:4px}
.service-situations h3{font-size:22px;letter-spacing:-.025em;line-height:1.3}.service-situations ul{margin:18px 0 0;padding-left:20px;font-size:17px}.service-situations li+li{margin-top:8px}
.service-inline-cta{display:flex;justify-content:space-between;align-items:center;gap:40px;background:var(--ink);color:white;padding:40px 48px;border-radius:10px;margin-block:40px}
.service-inline-cta h2{font-size:34px;letter-spacing:-.035em;line-height:1.25}.service-inline-cta .eyebrow{margin-bottom:14px}.service-inline-cta p{margin:14px 0 0;color:#d2e5ed;font-size:17px}.service-inline-cta .button{flex-shrink:0}
.service-prices-section{background:#e9f2ec}.service-prices-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:start}
.service-prices-grid h2{font-size:clamp(34px,3.6vw,50px)}.service-prices-grid>div>p{margin-top:24px;font-size:18px;line-height:1.8}
.service-prices-panel{background:white;padding:28px;border-radius:12px;border:1px solid #dce7dd;min-width:0}.service-prices-panel>p{font-size:17px;color:var(--muted);margin:20px 0 26px}
.service-price-table{min-width:0}.service-price-table th,.service-price-table td{padding:16px 18px}.service-price-table td:last-child,.service-price-table th:last-child{min-width:95px}
.service-prices-panel .service-price-note{font-size:14px;line-height:1.7;margin:20px 0 0}.service-price-phone{display:block;margin-top:24px;font-size:22px;font-weight:700}
.service-steps-section{background:white}.service-steps-section .section-heading>p{margin:25px 0 0;color:var(--muted)}
.service-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;margin:48px 0 0;padding:0;counter-reset:steps}
.service-steps li{border-top:1px solid #b3ccbc;padding-top:26px}.service-steps li>span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#e0f1e8;color:var(--teal);font-size:17px;font-weight:750;margin-bottom:26px}
.service-steps h3{font-size:24px;line-height:1.25;letter-spacing:-.035em}.service-steps p{font-size:17px;color:var(--muted);line-height:1.75;margin:18px 0 0}
.service-doctor-section .doctor-copy h2{font-size:clamp(38px,4vw,60px)}
@media(max-width:1180px){
 .main-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:46px;height:46px;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:5px;background:#fff;flex-shrink:0}
 .menu-toggle span{width:20px;height:1.5px;background:var(--ink);transition:transform .2s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
 .main-nav.is-open{display:flex;flex-direction:column;position:fixed;inset:138px 0 0;background:#f7f8f1;padding:40px 32px;overflow:auto}.site-header.is-scrolled .main-nav.is-open{top:96px}
 .main-nav.is-open ul{display:grid;gap:20px}.main-nav.is-open a{font-size:22px}.main-nav.is-open .sub-menu{position:static;display:grid;background:transparent;box-shadow:none;border:0;padding:14px 15px 0;gap:12px}.main-nav.is-open .sub-menu a{font-size:18px}
 .main-nav.is-open .nav-mobile-phone{display:block;margin-top:40px;color:var(--teal);font-size:20px}
 .choice-grid{grid-template-columns:1.1fr 1fr 1fr}.choice-card{padding:28px}.choice-copy{padding:0}.choice-card-1 h3{font-size:40px}.choice-card-2 h3,.choice-card-4 h3{font-size:25px}
 .service-hero .inner-hero-grid{gap:35px}.service-hero .inner-hero-media img{height:470px}.service-copy-grid{gap:56px}
 .service-benefits{gap:24px}.service-prices-grid{gap:40px}.service-steps{gap:24px}
}
@media(max-width:980px){
 .local-contacts-section{display:flex;flex-direction:column;padding-bottom:0;background:#fff}.local-contacts-section:before{display:none}
 .local-contacts-grid{grid-template-columns:1fr;gap:32px;order:1;margin-bottom:40px}.local-contact-card{max-width:600px;justify-self:start}
 .local-contacts-map{position:relative;inset:auto;order:2;height:360px;width:100%;flex-shrink:0}
 .hero-location{max-width:350px}.hero-inner{padding-bottom:145px}.choice-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:18px}
 .choice-card{grid-column:auto;grid-row:auto;min-height:320px}.choice-copy p{max-width:100%}.choice-card-1 h3{font-size:38px}
 .service-hero .inner-hero-grid{grid-template-columns:1fr 1fr}.service-hero .inner-hero-media img{height:440px}
 .service-benefits h2{font-size:20px}.service-benefits article{gap:12px}.service-benefits p{font-size:16px}
 .service-steps{grid-template-columns:1fr 1fr;gap:35px}.clinic-gallery{grid-template-rows:230px 230px;gap:14px}
 .service-prices-grid{grid-template-columns:1fr}.service-prices-panel{max-width:900px}.service-inline-cta{padding:36px;gap:30px}
}
@media(max-width:700px){
 body{font-size:17px}.container{width:calc(100% - 40px)}.header-inner{min-height:86px;padding-block:14px;gap:12px}.brand b{font-size:21px}.brand small{font-size:14px}.brand img{width:44px;height:44px}
 .main-nav.is-open,.site-header.is-scrolled .main-nav.is-open{top:86px;padding:28px 22px}.header-top{display:none}
 .hero-copy h1{font-size:clamp(36px,8.8vw,56px)}.hero-copy h1 em{font-size:.86em;max-width:100%}.hero-copy .eyebrow{font-size:14px;letter-spacing:.055em}
 .hero-inner{padding-top:48px;padding-bottom:170px}.hero-lead{font-size:18px;max-width:100%;line-height:1.75}
 .hero-actions{flex-wrap:wrap;gap:12px}.hero-actions .button{font-size:16px;padding:15px 18px;gap:14px;min-height:54px}
 .hero-proof{flex-wrap:wrap;gap:20px}.hero-proof>div>span:last-child{font-size:14px}.hero-location{left:0;right:0;bottom:26px;max-width:none;padding:17px;gap:15px}
 .hero-location b{font-size:17px}.hero-location small,.hero-location>span:nth-child(2)>span{font-size:14px}.trust-ribbon .container{gap:20px}.trust-ribbon .container>div{font-size:14px}
 .eyebrow{font-size:14px}.section-heading.split p,.large-text,.principles p{font-size:17px}.choice-grid{gap:14px}
 .choice-grid{grid-auto-flow:dense}.choice-card{min-height:300px;padding:24px}.choice-copy{padding:0}.choice-card-1,.choice-card-3{grid-column:span 2;min-height:330px}.choice-card-2,.choice-card-4{min-height:350px}
 .choice-card-1 h3{font-size:40px}.choice-card-2 h3,.choice-card-4 h3{font-size:24px}.choice-card-3 h3{font-size:34px}.choice-copy p,.choice-card-2 p,.choice-card-4 p{font-size:16px;line-height:1.6}
 .choice-copy small{font-size:14px;letter-spacing:.035em}.card-no{font-size:14px}.card-index{font-size:14px;letter-spacing:.035em}.card-link{font-size:15px}
 .service-card-body{padding:24px}.service-cards{grid-template-columns:1fr}.service-card h3,.entry-content .service-card h3{font-size:26px}.service-card p,.entry-content .service-card p{font-size:17px;line-height:1.75}
 .doctor-intro,.doctor-details dd,.process-grid p,.faq-grid>div>p,.faq-list details>div,.post-card p,.appointment-grid>div>p{font-size:17px}
 .review-card blockquote{font-size:17px}.faq-list summary{font-size:18px;line-height:1.5}.entry-content,.inner-hero-copy>p,.contact-details p{font-size:17px;line-height:1.8}
 .footer-grid>div>p,.footer-grid li a{font-size:16px}.footer-bottom,.footer-grid .line-link{font-size:14px}.mobile-actions a{font-size:16px}
 .service-hero{padding:30px 0 40px}.service-hero .inner-hero-grid{grid-template-columns:1fr;gap:35px}.service-hero .inner-hero-copy h1{font-size:clamp(35px,8.5vw,49px)}
 .service-hero .inner-hero-media img{height:350px;border-radius:35px 9px 9px 9px}.service-photo-label{inset:auto 18px 18px;padding:10px 14px}
 .inner-hero-copy .service-hero-address{font-size:16px}.service-benefits{grid-template-columns:1fr;padding-block:30px;gap:26px}.service-benefits article{gap:18px}.service-benefits h2{font-size:22px}.service-benefits p{font-size:17px}
 .service-jump-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.service-jump-nav a{justify-content:center;padding:10px 8px;font-size:14px}
 .service-copy-block{padding-block:48px}.service-copy-grid{grid-template-columns:1fr;gap:26px}.service-block-heading h2{font-size:32px;max-width:none}
 .service-detail-photo{height:220px;margin-top:24px}.service-situations{padding:23px;margin-top:26px}.service-situations ul{font-size:17px}
 .service-inline-cta{flex-direction:column;align-items:start;padding:30px 26px;gap:24px;margin-block:28px}.service-inline-cta h2{font-size:30px}.service-inline-cta p{font-size:17px}.service-inline-cta .button{width:100%}
 .service-prices-grid{gap:28px}.service-prices-grid h2{font-size:36px}.service-prices-grid>div>p{font-size:17px}.service-prices-panel{padding:20px}
 .price-table th,.price-table td{font-size:16px}.service-price-table th,.service-price-table td{padding:13px 12px}.service-price-table td:last-child,.service-price-table th:last-child{min-width:78px}.service-prices-panel .service-price-note{font-size:14px}
 .service-steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.service-steps li{position:relative;padding:25px 0 0 65px;min-height:140px}.service-steps li>span{position:absolute;top:25px;left:0;width:44px;height:44px}.service-steps h3{font-size:24px}
 .clinic-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px}.clinic-gallery-main{grid-column:span 2;grid-row:auto;height:430px}.clinic-gallery-item:not(.clinic-gallery-main){height:220px}.clinic-gallery-item figcaption{font-size:14px;padding:32px 14px 14px}
 .local-contacts-grid{grid-template-columns:1fr;gap:30px}.local-contacts-grid h2{font-size:34px}.local-contact-card{padding:28px}.local-contact-card dd{font-size:19px}
 .media-caption small{font-size:14px;max-width:180px}.brand-light small{font-size:14px}
}
@media(max-width:380px){.container{width:calc(100% - 32px)}.brand b{font-size:20px}.choice-card-2,.choice-card-4{grid-column:span 2;min-height:285px}.choice-card{padding:24px}.choice-copy{padding:0}.hero-copy h1{font-size:36px}.clinic-gallery-item:not(.clinic-gallery-main){height:190px}.service-prices-panel{padding:14px}}
/* 4.1.3: mobile contrast, compact card type and centered FAQ controls. */
@media(max-width:700px){
 .hero-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;padding:14px 16px;background:#f8f8f1f5;border:1px solid #102d431a;border-radius:9px}
 .hero-proof>div{min-width:0;align-items:flex-start;gap:8px}.hero-proof>div>span:last-child{font-size:14px;line-height:1.6;color:#455954}.hero-proof b{color:var(--ink)}
 .hero-proof .proof-check{flex-shrink:0;width:23px;height:23px;margin-top:1px;background:#fff;border-color:#809d91}
 .choice-copy small{display:block;font-size:14px;font-weight:650;line-height:1.5;letter-spacing:.02em;text-transform:none;opacity:1}
 .choice-card-2 .choice-copy small,.choice-card-4 .choice-copy small{color:#435c52}
 .choice-copy p{opacity:1;line-height:1.65}.choice-card-1 p,.choice-card-3 p{color:#eef6f3}
 .choice-card-2 h3,.choice-card-4 h3{font-size:22px;line-height:1.2;letter-spacing:-.035em;max-width:none;overflow-wrap:break-word;hyphens:auto}
 .faq-list summary{font-size:17px;line-height:1.55;gap:14px}.faq-list summary>span.faq-icon{width:30px;height:30px;background:#fff;border-color:#9fb7a9}
 .post-card h3{font-size:22px;line-height:1.35;letter-spacing:-.025em;overflow-wrap:break-word;hyphens:auto}
}
@media(max-width:380px){.hero-proof{grid-template-columns:1fr;gap:12px}.choice-card-2 h3,.choice-card-4 h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.clinic-gallery-item img{transition:none}.clinic-gallery-item:hover img{transform:none}}
@media print{.service-nav-shell,.service-inline-cta{display:none}.service-copy-block{padding-block:20px}.entry-content{font-size:12pt}.service-copy-grid{display:block}}
