
.fc-header nav>a.mobile-book-link{display:none}
@media(max-width:700px){
:root{--mobile-header-height:76px;--mobile-section-nav-height:56px}html{scroll-padding-top:calc(var(--mobile-header-height) + 14px)}body{font-size:16px;line-height:1.6}.wrap,.wrap.content-page,.wrap.article-grid,.wrap.page-heading,.wrap.fee-area{padding-left:20px;padding-right:20px}main{min-width:0}main h1{font-size:clamp(36px,9.6vw,48px);letter-spacing:-1.3px;line-height:1.1;overflow-wrap:anywhere}main h2{font-size:clamp(29px,7.8vw,37px);line-height:1.15;letter-spacing:-.9px}main h3{line-height:1.2}.content-page{padding-top:30px;padding-bottom:32px}.content-page h1{font-size:clamp(36px,9.6vw,48px)}.content-page .lede{font-size:17px;line-height:1.6}.content-split,.article-grid,.two-col,.service-content,.profile-hero,.page-intro,.contact-list{grid-template-columns:minmax(0,1fr);gap:26px}.content-hero-image{height:auto;max-height:260px;aspect-ratio:3/2;border-radius:32px 0 0 0}.article-grid{padding-top:5px;padding-bottom:35px}.prose{font-size:16px;line-height:1.75;max-width:100%}.prose h2{font-size:29px;margin-top:30px}.prose ul,.prose ol{padding-left:21px}.prose li{margin-block:9px}.reading-aside{padding:23px}.reading-aside p{font-size:15px}.reading-aside .quiet-link{font-size:15px;min-height:44px;display:flex;align-items:center}.button{min-height:46px;font-size:15px;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;text-align:center}.actions{gap:12px 18px}.actions>.textlink,.actions>.quiet-link{min-height:44px;display:inline-flex;align-items:center;font-size:15px}.textlink{line-height:1.5}.eyebrow{font-size:11px;line-height:1.5;letter-spacing:1.7px}.breadcrumb{font-size:12px;line-height:1.6;padding-top:16px;padding-bottom:4px;overflow-wrap:anywhere}.draft-bar{font-size:10px;line-height:1.5;padding:7px 16px}.draft-bar>a{white-space:nowrap}
/* Header and booking remain available while reading. */
.fc-header{position:sticky;top:0;z-index:60;border-bottom:1px solid #d9e1d2}.fc-header nav.wrap{min-height:74px;padding:12px 18px;gap:8px;justify-content:flex-start;flex-wrap:nowrap}.fc-header nav>a:first-child{margin-right:auto;flex-shrink:1;min-width:0}.fc-header nav>a>img{width:clamp(132px,39vw,170px);max-width:100%;height:auto}.mobile-book-link{display:inline-flex!important;align-items:center;justify-content:center;min-width:56px;min-height:44px;padding:10px 13px;background:#28543a;color:#fff;border-radius:5px;font:600 14px/1.4 Arial,sans-serif;white-space:nowrap;flex-shrink:0}.fc-compact{min-height:44px;padding:10px 12px;font-size:14px;flex-shrink:0}.fc-header.menu-open .fc-nav{padding:12px 20px;max-height:calc(100dvh - var(--mobile-menu-offset,120px) - 12px);overscroll-behavior:contain}.fc-nav .fc-trigger{min-height:48px;font-size:18px}.fc-header .fc-panel{left:0;right:0;padding:18px 20px 24px;max-height:calc(100dvh - var(--mobile-menu-offset,120px) - 12px)!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fc-panel-back{min-height:44px;margin-bottom:7px;padding:8px 0 15px;font-size:15px}.fc-menu-title strong{font-size:26px}.fc-menu-title span{font-size:14px;line-height:1.5}.fc-menu-title>a{min-height:44px;display:flex;align-items:center;font-size:15px}.fc-roster{grid-template-columns:1fr;gap:24px}.fc-roster section+section{padding-left:0;border-left:0;border-top:1px solid #ccd7c0;padding-top:22px}.fc-roster section>div{grid-template-columns:1fr}.fc-roster a{font-size:16px;min-height:48px;gap:13px}.fc-roster img,.initials{width:44px;height:44px}.fc-panel h2{font-size:13px}.fc-clinic-grid>a{min-height:86px}.fc-services-grid>a{font-size:16px;min-height:62px;padding-block:10px}.fc-services-grid{grid-template-columns:1fr}.fc-patient-grid a{font-size:16px;min-height:44px;display:flex;align-items:center;margin:4px 0}.fc-work-grid{grid-template-columns:1fr;gap:0}.fc-work-grid a{font-size:24px;min-height:54px;align-items:center}.fc-patient-grid{grid-template-columns:1fr;gap:20px}
/* Browser-height sections can grow naturally; snapping stays gentle on touch screens. */
html.home-snap,html.clinic-snap{scroll-snap-type:y proximity;scroll-padding-top:var(--mobile-header-height)}.home-snap main>section,.clinic-snap main>section,.home-ending,.clinic-ending{scroll-snap-stop:normal!important}.home-snap .hero{min-height:calc(100svh - var(--home-chrome,120px));padding-inline:20px;justify-content:center;gap:0}.home-snap .hero .intro{padding-top:28px;padding-bottom:20px}.home-snap .hero h1{font-size:clamp(38px,10vw,50px);line-height:1.09}.home-snap .hero .intro p{font-size:17px;line-height:1.6}.home-snap .hero-media{border-radius:32px 0 0 0;margin-bottom:26px;max-height:none;aspect-ratio:16/9}.home-snap .locations{padding:38px 20px;min-height:calc(100svh - var(--mobile-header-height))}.home-snap .locations .clinic>img{height:195px}.clinic-content{padding:22px}.clinic-content h3{font-size:30px}.clinic-content p{font-size:15px}.clinic .actions{align-items:stretch}.clinic .actions .button{flex:1}.clinic .actions .textlink{min-height:44px;display:flex;align-items:center}.tour{font-size:14px;min-height:44px;padding-block:14px;margin-top:12px}.home-snap .services{padding-block:40px;min-height:calc(100svh - var(--mobile-header-height))}.home-snap .services>.wrap{padding-inline:20px}.home-snap .services h2{font-size:37px}.home-snap .services .service-group .service{font-size:21px;min-height:70px;padding-block:14px}.service-groups{gap:28px}.service-group h3{font-size:15px;margin-bottom:10px}.home-ending,.clinic-ending{min-height:0}.home-ending .full-footer,.clinic-ending .full-footer{padding-top:30px}
/* Compact clinic introduction, without clipping the tour or location details. */
.clinic-opening .page-intro{padding:22px 20px 26px;gap:22px}.clinic-opening .page-intro h1{font-size:clamp(38px,10vw,48px);margin-top:11px}.clinic-opening .page-intro p{font-size:16px;line-height:1.6}.clinic-opening .clinic-tour-hero{height:auto;aspect-ratio:16/9;min-height:0;max-height:260px;border-radius:32px 0 0 0}.clinic-opening .quick-info{grid-template-columns:1fr 1fr;padding:20px;gap:20px 16px;font-size:14px}.quick-info>div:first-child{grid-column:1/-1}.quick-info strong{font-size:11px;margin-bottom:6px}.quick-info a{display:inline-block;min-height:32px}.clinic-section-nav{top:var(--mobile-header-height);z-index:45}.clinic-section-nav .local-tabs{padding:7px 20px;gap:20px;scroll-padding-inline:20px;overscroll-behavior-x:contain;scrollbar-width:thin}.clinic-section-nav .local-tabs a{display:flex;align-items:center;min-height:42px;font-size:14px}.clinic-snap main>section:not(.clinic-opening){min-height:calc(100svh - var(--mobile-header-height) - var(--mobile-section-nav-height));padding:34px 20px;scroll-margin-top:calc(var(--mobile-section-nav-height) + 12px)}.clinic-snap #visit,.clinic-snap #doctors,.clinic-snap #fee-guide,.clinic-snap #book{scroll-margin-top:calc(var(--mobile-section-nav-height) + 12px)}.clinic-snap .section h2,.clinic-snap .fee-area h2{font-size:34px}.booking-section .section-title{gap:14px;margin-bottom:20px}.booking-section .section-title>.textlink{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #bbc9b1;border-radius:5px;background:white}.hotdoc-booking{height:780px!important;max-width:100%;border-radius:6px}.clinic-snap .clinic-gallery img{height:230px}.clinic-snap .two-col{gap:26px}.details{padding:23px}.two-col p{font-size:16px}.details p{font-size:15px}
/* More useful phone-sized doctor cards. */
.catalog-grid{gap:18px}.catalog-card .inside{padding:21px}.catalog-card h3{font-size:25px;letter-spacing:-.6px}.catalog-card p{font-size:15px;line-height:1.6}.catalog-card .textlink{font-size:15px;min-height:44px;display:flex;align-items:center}.clinic-snap #doctors .catalog-grid,.doctor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clinic-snap #doctors .catalog-card img,.clinic-snap #doctors .doctor-placeholder,.doctor-card>img{height:170px}.clinic-snap #doctors .catalog-card .inside,.doctor-body{padding:15px 13px}.clinic-snap #doctors .catalog-card h3,.doctor-body h3{font-size:21px;letter-spacing:-.5px;overflow-wrap:anywhere}.clinic-snap #doctors .catalog-card .inside>p,.doctor-body p{font-size:13px;line-height:1.55;margin:10px 0 12px}.clinic-snap #doctors .catalog-card .textlink,.doctor-body a{font-size:13px;line-height:1.5;min-height:44px}.doctor-body .eyebrow{font-size:10px}.related-doctor-grid{grid-template-columns:1fr}.related-doctor-grid img{height:240px}.profile-hero{padding-top:24px;padding-bottom:32px}.profile-hero>img{height:260px;width:100%;max-width:260px;margin:auto;border-radius:32px 0 0 0}.profile-hero h1{font-size:clamp(32px,8.9vw,43px);overflow-wrap:anywhere}.profile-hero .credential,.profile-hero .profile-clinic{font-size:15px}.filter-bar{align-items:stretch;gap:12px;padding-block:16px}.filter-bar label{display:flex;align-items:center;gap:10px;font-size:15px;max-width:100%}.filter-bar select,.fee-select{min-height:46px;font-size:16px;max-width:100%;margin-left:0}.filter-bar span{font-size:14px}.index-search input{font-size:16px;min-height:46px;min-width:0;width:100%}.contact-block{padding:24px}.contact-block p{font-size:16px}.request-card{padding:24px}.request-card p{font-size:16px}
/* Fees become labelled comparison cards; the same table remains available to assistive technology. */
.fee-scroll{overflow:visible;border-radius:0}.fee-scroll .fee-table{min-width:0;width:100%;display:block}.fee-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.fee-table tbody{display:grid;gap:14px}.fee-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 9px;padding:18px;border:1px solid #ccd8c1;border-radius:6px;background:#fff}.fee-table td{display:block;padding:0!important;border:0!important;min-width:0;font-size:17px;line-height:1.4;letter-spacing:0}.fee-table td:first-child{grid-column:1/-1;font-size:19px;font-family:Georgia,serif;color:#2c4533}.fee-table td:not(:first-child)::before{content:attr(data-label);display:block;min-height:34px;margin-bottom:7px;color:#63735a;font:11px/1.4 Arial,sans-serif}.fee-table td:last-child{color:#28543a}.fee-note{font-size:13px;line-height:1.65}.fee-area .section-title label{font-size:15px}.fee-area .section-title label select{display:block;margin-top:6px}.careers-form input,.careers-form select,.careers-form textarea{font-size:16px;min-height:48px}.careers-form label{font-size:14px}.careers-form-layout{gap:22px}.careers-form-layout h2{font-size:36px}.careers-form-layout .careers-form-note{font-size:14px;max-width:none}.careers-form-layout>div>p{max-width:none;font-size:16px}.careers-form button{width:100%;min-height:48px}.form-preview-caption{font-size:13px}.careers-role-grid>article{padding:24px;scroll-margin-top:calc(var(--mobile-header-height) + 15px)}.careers-role-grid a{min-height:48px;font-size:15px}.careers-role-grid p,.careers-role-grid li,.careers-support p{font-size:16px}.careers-enquire{scroll-margin-top:calc(var(--mobile-header-height) + 12px)}.careers-hero{padding-top:30px}.careers-hero h1{font-size:clamp(36px,9.6vw,47px)}.careers-hero>img{height:230px}.service-faqs summary,.menopause-questions summary,.prose summary{min-height:44px;line-height:1.6;padding-block:7px}.service-faqs details p{margin-top:12px}.footer-contact{grid-template-columns:1fr;gap:24px}.footer-contact>img{width:195px}.full-footer{font-size:14px}.footer-contact h3{font-size:16px}.footer-contact p{font-size:14px;line-height:1.7}.footer-contact a[href^="tel:"]{display:inline-block;min-height:32px}.footer-links{grid-template-columns:1fr;gap:0;padding-block:24px}.footer-about{font-size:14px;margin-bottom:24px}.footer-links section>a{font-size:15px;min-height:44px;display:flex;align-items:center;margin-bottom:0}.footer-services>div{grid-template-columns:1fr 1fr;gap:0 18px}.footer-services>div>a{font-size:14px;min-height:44px;padding-block:10px;line-height:1.6}.footer-mobile-group{border-top:1px solid #cbd6c1;padding:0;grid-column:1/-1}.footer-mobile-group>summary{display:flex;align-items:center;justify-content:space-between;min-height:54px;font:600 16px/1.5 Arial,sans-serif;list-style:none;cursor:pointer}.footer-mobile-group>summary::-webkit-details-marker{display:none}.footer-mobile-group>summary::after{content:'+';font-size:23px;font-weight:normal}.footer-mobile-group[open]>summary::after{content:'−'}.footer-mobile-group>section{padding:0 0 18px}.footer-mobile-group>section>h3{display:none}.footer-socials{margin-top:8px}.social-links{gap:9px}.social-links a{min-height:46px;font-size:14px;padding:10px 12px}.acknowledgement p{font-size:13px;line-height:1.7}.footer-legal{font-size:12px;line-height:1.7}.footer-legal a{min-height:36px;display:inline-flex;align-items:center}.concept{font-size:10px;line-height:1.6;padding:10px 18px}.section-title{align-items:flex-start;flex-direction:column;gap:14px}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:#cad8be}input,select,textarea{scroll-margin-top:calc(var(--mobile-header-height) + 20px)}.google-rating{font-size:13px}.rating-checked{font-size:12px}.micro{font-size:12px}
}
@media(min-width:701px){.footer-mobile-group{border:0;padding:0}.footer-mobile-group>summary{display:none}.footer-mobile-group>section{display:block}.footer-mobile-group{display:block}.footer-mobile-group.footer-services{grid-column:auto}}
@media(max-width:350px){.clinic-snap #doctors .catalog-grid,.doctor-grid{grid-template-columns:1fr}.clinic-snap #doctors .catalog-card img,.clinic-snap #doctors .doctor-placeholder{height:240px}.fc-header nav.wrap{padding-inline:14px;gap:6px}.mobile-book-link{min-width:50px;padding-inline:10px}.fc-compact{padding-inline:10px}.fc-header nav>a>img{width:130px}.fee-table tbody tr{padding:15px;column-gap:7px}.fee-table td{font-size:16px}.fee-table td:first-child{font-size:18px}.quick-info{font-size:13px}.social-links a{padding:10px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;scroll-snap-type:none!important}}

@media(max-width:700px){.fc-header.menu-open .fc-nav,.fc-header .fc-panel{position:fixed;top:var(--mobile-menu-offset,120px)}.careers-enquire{scroll-margin-top:12px}.careers-role-grid>article{scroll-margin-top:15px}}@media(min-width:701px) and (max-width:850px){.footer-mobile-group.footer-services{grid-column:1/-1}}

@media(max-width:1150px){input,select,textarea,.careers-form input,.careers-form select,.careers-form textarea,.filter-bar select,.fee-select{font-size:16px}}

/* Keep booking outside the collapsed navigation at every compact width. */
@media(min-width:701px) and (max-width:1150px){.fc-header nav>a:first-child{margin-right:auto}.fc-header nav>a.mobile-book-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;background:#28543a;color:#fff;border-radius:5px;font:600 15px/1.4 Arial,sans-serif;white-space:nowrap;flex:0 0 auto}}

/* Keep the shared navigation visible at every viewport width, above clinic tabs. */
.fc-header{position:sticky;top:0;z-index:60}
html,html.home-snap,html.clinic-snap{scroll-padding-top:var(--mobile-header-height,105px)}
.clinic-section-nav{top:var(--mobile-header-height,105px)}
