/* Shared responsive typography, controls and connected RTB services. */
.btn{min-height:46px;line-height:1.5;text-align:center}
.menu{min-width:44px}
.navlinks a{display:inline-flex;align-items:center;min-width:44px;min-height:44px}
.field{font-size:13px;gap:8px}
input:not([type="checkbox"]),select,textarea{font-size:16px;min-height:48px;line-height:1.5}
.form-note,.consent{font-size:13px;line-height:1.75}
.form-note{margin:0}
.branch-booking{display:flex;align-items:center;min-height:44px;margin-top:8px;text-decoration:underline;text-underline-offset:4px}
.news button{display:inline-flex;align-items:center;min-height:44px}
.faq-layout summary{align-items:center;min-height:44px;line-height:1.65;gap:16px}
.doctor-general{font-size:11px}
.doctor-name-en{font-size:13px}
.team-card dl{font-size:13px}
.team-card dt{font-size:12px}
.doctor-branches{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.doctor-branches li{margin:0;overflow-wrap:anywhere}
.doctor-details,.doctor-details p,.doctor-details h4{font-size:13px}
.team-info-note,.center-draft{font-size:13px;line-height:1.8}
.footer-top a:not(.logo){display:flex;align-items:center;min-height:44px;font-size:13px;margin:0;line-height:1.65}
.footer-brand .logo small{font-size:12px;line-height:1.65;letter-spacing:0}
.footer-top h3{margin-bottom:8px}
.footer-bottom{font-size:11px;line-height:1.8}
/* Compact footer: navigation, contact and familiar online-channel icons. */
.footer-top{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.85fr);gap:36px;padding-bottom:24px}
.footer-brand .logo{gap:12px;align-items:center}
.footer-brand .brand-mark{width:64px;height:44px;flex:none;object-fit:contain}
.footer-top .footer-brand p{margin:10px 0 0;font-size:13px;line-height:1.7}
.footer-explore{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;align-content:start}
.footer-explore h3{grid-column:1/-1}
.footer-top .footer-contact a[href^="tel:"]{font-size:17px;font-weight:600;color:var(--green)}
.footer-channels{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding-top:10px}
.footer-top a.footer-channel{display:inline-flex;align-items:center;gap:7px;min-width:44px;min-height:44px;margin:0;padding:4px 0;color:var(--green);font-size:12px;line-height:1.5}
.footer-channel svg{width:20px;height:20px;flex:none}
.footer-channel:hover span{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{align-items:center;gap:8px 24px;padding-top:12px;padding-bottom:16px}
.footer-disclosures{max-width:520px}
.footer-disclosures summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;cursor:pointer;list-style:none;font-size:12px;color:var(--muted)}
.footer-disclosures summary::-webkit-details-marker{display:none}
.footer-disclosures summary::after{content:'+';font-size:18px}
.footer-disclosures[open] summary::after{content:'−'}
.footer-disclosures p{margin:0 0 8px;font-size:11px;line-height:1.8;text-align:right;color:var(--muted)}
.app-section{padding-top:56px;padding-bottom:56px}
.app-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:center;padding:36px;background:var(--blush);border:1px solid var(--line);border-radius:26px}
.app-copy h2{font-size:clamp(28px,3vw,38px);margin-bottom:14px}
.app-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);max-width:400px;margin-bottom:12px}
.app-copy .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:12px}
.app-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.app-platform{display:grid;justify-items:center;align-content:start;gap:12px;padding:18px 16px;border-radius:18px;border:1px solid var(--line);background:#fffefa;min-width:0}
.app-platform img{width:160px;height:160px;max-width:100%;object-fit:contain;background:#fff;image-rendering:pixelated;border-radius:6px}
.app-platform h3{font-size:14px;margin:0;line-height:1.5;text-align:center}
.app-platform .btn{width:100%;padding:10px 12px;font-size:13px;gap:8px}
@media(max-width:1000px){.app-panel{padding:28px;gap:24px}.app-platform{padding:16px 12px}.app-platform img{width:140px;height:140px}}
@media(max-width:760px){
 .topbar{display:none}
 .wrap{padding-left:20px;padding-right:20px}
 .nav{gap:8px}
 .section{padding-top:52px;padding-bottom:52px}
 .team-section{padding-top:16px}
 .team-directory{padding-top:28px}
 .section-head{margin-bottom:24px}
 .eyebrow{letter-spacing:.1em;line-height:1.8}
 .hero{padding-top:28px}
 .hospital-intro{font-size:11px;letter-spacing:0}
 .hero-aside{margin-top:18px}
 .hero-aside .appointment-link{font-size:14px}
 .about{padding:24px}
 .center{padding:20px}
 .center-heading{gap:13px}
 .center-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px;align-items:stretch}
 .center-actions button,.center-actions .btn{min-width:0;min-height:46px;margin:0;padding:10px 8px;font-size:13px;line-height:1.6;text-align:center;justify-content:center}
 .center .clinic-english{overflow-wrap:anywhere}
 .center .center-kicker{letter-spacing:.03em}
 .center-topics{margin-bottom:18px}
 .branches>.wrap{padding-left:18px;padding-right:18px}
 .branch-body{padding:20px}
 .branch .branch-description,.branch .branch-address{font-size:14px;line-height:1.8}
 .branch .branch-hours{font-size:13px!important;line-height:1.7}
 .branch-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .branch-actions a{min-width:0;min-height:46px;padding:9px 8px;justify-content:center;text-align:center;line-height:1.6}
 .branch-booking{justify-content:center;font-size:13px}
 .contact{padding:22px}
 .contact .phone{font-size:clamp(30px,8.5vw,37px);overflow-wrap:anywhere}
 input,select,textarea{font-size:16px;min-height:48px;padding:12px;line-height:1.5}
 .form-grid{gap:18px}
 .consent{gap:10px;align-items:flex-start}
 .consent input{width:20px;min-width:20px;height:20px;min-height:20px;margin-top:3px;padding:0}
 .team-card h3{font-size:19px}
 .team-card-body{padding:18px}
 .team-info-note{padding:14px 16px}
 .team-filter-bar{padding:18px;gap:16px}
 .team-directory-cta{margin-top:24px;padding-top:24px}
 .cta{padding:26px;margin-top:42px;margin-bottom:40px}
 .cta-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
 dialog{width:calc(100% - 32px);padding:24px;max-height:calc(100dvh - 32px);overflow-y:auto}
 dialog h2{font-size:25px;line-height:1.45;overflow-wrap:anywhere}
 dialog .btn{display:flex;width:100%;margin-top:12px}
 .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding-bottom:16px}
 .footer-explore{grid-template-columns:minmax(0,1fr)}
 .footer-top a:not(.logo){min-height:44px;font-size:13px}
 .footer-top h3{font-size:13px;margin-bottom:6px}
 .footer-top p,.footer-bottom{font-size:12px}
 .footer-channels{padding-top:8px;gap:4px 14px}
 .footer-bottom{align-items:flex-start;gap:0;padding-bottom:12px}
 .footer-disclosures{max-width:100%}
 .footer-disclosures summary{justify-content:flex-start}
 .footer-disclosures p{text-align:left}
 .app-section{padding-top:40px;padding-bottom:40px}
 .app-panel{grid-template-columns:minmax(0,1fr);gap:22px;padding:20px;border-radius:22px}
 .app-copy h2{font-size:28px}
 .app-downloads{grid-template-columns:minmax(0,1fr);gap:12px}
 .app-platform{grid-template-columns:128px minmax(0,1fr);gap:10px 14px;align-items:center;padding:12px;justify-items:stretch}
 .app-platform img{width:128px;height:128px;grid-row:1/span 2;grid-column:1}
 .app-platform h3{font-size:13px;align-self:end;grid-column:2}
 .app-platform .btn{font-size:12px;padding:9px 8px;align-self:start;grid-column:2;gap:4px}
}
@media(max-width:360px){
 .hospital-brand{gap:7px}.brand-name{padding-left:7px}.brand-name>span{font-size:10px}.brand-name strong{font-size:16px}
 .center{padding:18px}.center .clinic-icon{width:56px;height:56px;flex-basis:56px;border-radius:16px}.clinic-icon svg{width:32px;height:32px}
 .branch-body{padding:18px}.branch-actions{grid-template-columns:1fr}
 .app-panel{padding:16px}.app-platform{padding:10px;column-gap:10px}
 .footer-top{gap:22px 16px}
}

/* Clear keyboard navigation on both pages. */
.skip-link{position:fixed;top:8px;left:16px;z-index:1000;transform:translateY(-160%);background:var(--green);color:#fff;padding:12px 18px;border-radius:8px;min-height:46px;line-height:1.5}
.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b40b58;outline-offset:4px}
main:focus{outline:none}
