:root { --urgent: #b72c3c; --urgent-dark: #942331; --urgent-light: #fff3f2; }
.assurance { width: 100%; text-align: left; }
.header-emergency { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 10px 12px; border: 1px solid #efd5d8; border-radius: 5px; background: #fff8f7; color: var(--urgent); font: 700 10px/1.4 var(--font); white-space: nowrap; }
.header-emergency svg { width: 17px; height: 17px; }
.header-emergency:hover { background: var(--urgent-light); border-color: #dca0a8; }
.floating-emergency { position: fixed; right: 27px; bottom: 101px; z-index: 31; display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 13px 18px; border: 1px solid #e8bdc3; border-left: 4px solid var(--urgent); border-radius: 9px; background: #fff9f7; color: var(--urgent); text-align: left; box-shadow: 0 5px 25px #38202c18; }
.floating-emergency>i:first-child svg { width: 28px; height: 28px; }
.floating-emergency>i:last-child svg { width: 15px; height: 15px; }
.floating-emergency b { display: block; font: 700 11px/1.5 var(--font); }
.floating-emergency small { display: block; color: #8f646b; font-size: 9px; margin-top: 3px; }
.floating-emergency:hover { border-color: var(--urgent); background: var(--urgent-light); }
.ambulance-band-link { margin-top: 10px; min-height: 36px; }

#content-dialog[data-view="emergency"] { width: min(810px, calc(100% - 32px)); }
#content-dialog[data-view="emergency"] .dialog-top { border-top: 3px solid var(--urgent); }
#content-dialog[data-view="emergency"] #dialog-title { font-size: 30px; margin-bottom: 13px; }
.emergency-intro { max-width: 660px; }
.emergency-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: #f5f8f7; margin: 24px 0; }
.emergency-tabs button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; border: 1px solid transparent; border-radius: 5px; font: 700 12px/1.5 var(--font); color: var(--muted); padding: 10px 12px; }
.emergency-tabs button[aria-selected="true"] { background: white; border-color: #dce8e3; color: var(--brand-teal-dark); box-shadow: 0 3px 10px #123c4010; }
.emergency-tabs #emergency-tab[aria-selected="true"] { color: var(--urgent); border-color: #edcbd0; }
.emergency-tabs svg { width: 23px; height: 23px; }
.urgent-panel { display: grid; grid-template-columns: 1.08fr 1fr; gap: 23px; align-items: start; }
.urgent-contact-card { border: 1px solid #efcfd2; background: #fff6f4; border-radius: 8px; padding: 24px; }
.urgent-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 21px; }
.urgent-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid #edc7cc; background: white; border-radius: 10px; color: var(--urgent); flex-shrink: 0; }
.urgent-icon svg { width: 25px; height: 25px; }
.availability-label { display: inline-flex; align-items: center; gap: 6px; font-size: 9px; color: #8b4b55; line-height: 1.7; text-align: right; }
.availability-label>span { width: 6px; height: 6px; border-radius: 50%; background: #4e9238; flex-shrink: 0; }
.urgent-contact-card h3 { font-size: 20px; line-height: 1.4; letter-spacing: -.6px; }
.urgent-contact-card>p { font-size: 12px; line-height: 1.9; margin-top: 9px; }
.urgent-number { display: block; font: 800 29px/1.3 var(--font); letter-spacing: -.8px; color: var(--urgent); margin-top: 23px; padding: 4px 0; white-space: nowrap; }
.urgent-contact-card>small { display: block; font-size: 9px; color: #8f6b71; line-height: 1.8; margin-top: 4px; }
.urgent-contact-card>.button { width: 100%; min-height: 50px; margin-top: 22px; padding: 13px 15px; font-size: 11px; gap: 10px; }
.urgent-contact-card>.button.emergency-call { background: var(--urgent); border-color: var(--urgent); }
.urgent-contact-card>.button.emergency-call:hover { background: var(--urgent-dark); border-color: var(--urgent-dark); }
.emergency-other-contacts h3 { font-size: 14px; line-height: 1.5; margin: 4px 0 11px; }
.emergency-contact-row { display: flex; align-items: center; justify-content: space-between; gap: 9px; border-bottom: 1px solid var(--line); padding: 12px 0; }
.emergency-contact-row>a { display: flex; flex: 1; flex-direction: column; justify-content: center; min-height: 48px; }
.emergency-contact-row>a>span { display: block; font-size: 10px; line-height: 1.7; color: var(--muted); }
.emergency-contact-row b { font: 700 18px/1.7 var(--font); color: var(--navy); white-space: nowrap; }
.copy-contact { width: 44px; height: 44px; color: var(--brand-teal-dark); border: 1px solid var(--line); background: white; flex-shrink: 0; }
.copy-contact svg { width: 17px; height: 17px; }
.ambulance-contact-card { background: #f0faf6; border-color: #c7e3d7; }
.ambulance-contact-card .urgent-icon { color: var(--brand-teal-dark); border-color: #c7e3d7; }
.ambulance-contact-card .availability-label { color: #407a6d; }
.ambulance-contact-card .urgent-number { color: var(--brand-teal-dark); }
.ambulance-contact-card>small { color: #638579; }
.ambulance-checklist { padding: 5px 0; }
.ambulance-checklist h3 { font-size: 15px; line-height: 1.5; margin-bottom: 14px; }
.ambulance-checklist ol { list-style: none; padding: 0; margin: 0; }
.ambulance-checklist li { display: flex; gap: 13px; align-items: flex-start; padding: 13px 0; border-bottom: 1px solid var(--line); }
.ambulance-checklist li>b { color: var(--brand-teal-dark); background: #edf6ec; border-radius: 50%; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; font-size: 9px; flex-shrink: 0; }
.ambulance-checklist li>span { font-size: 12px; color: var(--muted); line-height: 1.9; }
.ambulance-note { font-size: 11px; line-height: 1.9; grid-column: 1/-1; padding: 13px 17px; background: #f5f9f4; border-left: 2px solid var(--brand-green); margin-top: -3px; }
#ambulance-panel>.emergency-other-contacts { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: -10px; }
.emergency-location { display: flex; gap: 14px; align-items: flex-start; border-top: 1px solid var(--line); margin-top: 25px; padding-top: 24px; }
.emergency-location>span { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #edf7f3; color: var(--brand-teal-dark); flex-shrink: 0; }
.emergency-location svg { width: 19px; height: 19px; }
.emergency-location b { font: 700 13px/1.7 var(--font); }
.emergency-location p { font-size: 11px; line-height: 1.9; margin-top: 4px; }
.emergency-location .text-link { font-size: 11px; margin-top: 11px; min-height: 32px; }
#content-dialog[data-view="emergency"] .source-link { margin-top: 17px; padding-top: 13px; }

@media(max-width:1100px) and (min-width:1025px) { .header-emergency span { display: none; } .header-emergency { width: 44px; padding: 10px; } }
@media(max-width:1024px) {
  .header-inner { gap: 12px; }
  .nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: white; border-top: 1px solid var(--line); padding: 14px 24px 22px; max-height: min(75dvh, 650px); overflow: auto; overscroll-behavior: contain; box-shadow: 0 20px 30px #102d5012; }
  .nav.open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-link { width: 100%; min-height: 48px; font-size: 14px; padding: 12px 0; justify-content: space-between; }
  .nav-link.active:after { display: none; }
  .dropdown-panel { position: static; width: 100%; box-shadow: none; padding: 3px 0 10px 16px; border: 0; border-radius: 0; }
  .dropdown-panel a,.dropdown-panel button { min-height: 44px; font-size: 13px; padding: 10px 0; }
  .header-actions { gap: 7px; }
  .mobile-toggle { display: flex; width: 44px; height: 44px; padding: 10px; margin: 0; }
  .site-search { display: flex; width: 38px; }
  .header-actions>.button { min-height: 44px; }
  .header-emergency { min-height: 44px; }
}

@media(max-width:820px) {
  html { max-width: 100%; overflow-x: clip; scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
  body { max-width: 100%; padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .container { min-width: 0; }
  main section,.about-grid>* ,.appointment-grid>* ,.facilities-grid>* ,.video-grid>* ,.visit-grid>* ,.faq-grid>* ,.footer-grid>* { min-width: 0; }
  .brand--header .brand-logo { width: clamp(200px, 33vw, 260px); }
  .header-emergency { width: 44px; padding: 10px; }
  .header-emergency span { display: none; }
  .topbar { height: 40px; }
  .topbar-right>a { min-height: 36px; }
  .language-switch button { min-width: 30px; min-height: 36px; font-size: 11px; }
  .floating-emergency,.floating-help { display: none; }
  .mobile-care { position: fixed; bottom: 0; left: 0; right: 0; z-index: 45; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; min-height: 64px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); background: #fffffff7; backdrop-filter: blur(16px); border-top: 1px solid var(--line); box-shadow: 0 -4px 24px #0e345212; }
  .mobile-care>a,.mobile-care>button { min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 6px; border: 1px solid #d4e7df; border-radius: 5px; background: white; font: 700 11px/1.4 var(--font); color: var(--brand-teal-dark); text-align: center; }
  .mobile-care>.mobile-emergency { color: var(--urgent); background: #fff4f2; border-color: #efd1d5; }
  .mobile-care>a:last-child { background: var(--brand-teal-dark); color: white; border-color: var(--brand-teal-dark); }
  .mobile-care svg { width: 18px; height: 18px; }
  .form-field-focused .mobile-care { display: none; }
  .footer { padding-bottom: 20px; }
  .button { min-height: 48px; font-size: 13px; }
  .icon-button,.dialog-close { min-width: 44px; min-height: 44px; }
  .text-link { min-height: 44px; font-size: 12px; align-items: center; }
  input:not([type=checkbox]),select,textarea,.search-box input { min-height: 48px; font-size: 16px; padding: 12px; }
  .search-box input { min-height: 30px; padding: 4px 0; }
  .search-box { min-height: 48px; }
  .form-grid label,.dialog-form label { font-size: 12px; gap: 8px; }
  .form-grid label>span>small { font-size: 11px; }
  .form-grid { gap: 18px 14px; }
  .appointment-form>.button { font-size: 13px; min-height: 50px; }
  .appointment-form .form-note { font-size: 11px; }
  .eyebrow { font-size: 10px; line-height: 1.8; letter-spacing: 1.2px; }
  .section-side>p,.section-intro,.patient-section .section-top .section-intro { font-size: 13px; line-height: 1.85; }
  .section-side>.text-link { font-size: 11px; }
  .assurance { min-height: 66px; }
  .assurance b { font-size: 11px; line-height: 1.6; }
  .assurance small { font-size: 10px; line-height: 1.7; max-width: none; }
  .specialty-card { min-height: 215px; }
  .specialty-card h3 { font-size: 15px; }
  .specialty-card p { font-size: 12px; line-height: 1.85; }
  .specialty-card .text-link { font-size: 11px; margin-top: 12px; min-height: 36px; }
  .care-help { font-size: 12px; line-height: 1.9; }
  .care-help .text-link { font-size: 11px; }
  .department-result { min-height: 48px; font-size: 13px; }
  .about-copy>p:not(.eyebrow) { font-size: 13px; line-height: 1.95; }
  .about-links .text-link,.about-links .subtle-link { font-size: 11px; }
  .stats small { font-size: 10px; line-height: 1.7; }
  .doctor-info h3 { font-size: 14px; line-height: 1.6; }
  .doctor-info>p { font-size: 12px; line-height: 1.8; min-height: 0; }
  .doctor-info>.doctor-qualification { font-size: 11px; line-height: 1.8; min-height: 0; }
  .doctor-info .text-link { font-size: 11px; min-height: 44px; }
  .doctor-info h3 button { min-height: 44px; }
  .doctor-department span { font-size: 8px; line-height: 1.8; }
  .doctor-directory-cta,.doctor-directory-cta .text-link { font-size: 12px; }
  .facility-services h3 { font-size: 14px; line-height: 1.65; }
  .facility-services p { font-size: 12px; line-height: 1.85; }
  .facility-footnote,.facility-footnote .text-link { font-size: 11px; line-height: 1.8; }
  .facility-caption>b { font-size: 21px; }
  .facility-caption>span { font-size: 12px; }
  .patient-card h3 { font-size: 19px; line-height: 1.5; }
  .patient-card p { font-size: 13px; line-height: 1.9; }
  .patient-card .text-link { font-size: 12px; }
  .patient-card>small { font-size: 10px; }
  .resource-number { font-size: 9px; }
  .video-copy>p:not(.eyebrow) { font-size: 13px; line-height: 1.9; }
  .video-copy .text-link,.video-copy .subtle-link { font-size: 12px; }
  .appointment-copy>p:not(.eyebrow) { font-size: 13px; line-height: 1.9; }
  .appointment-contact small { font-size: 11px; }
  .appointment-contact a { font-size: 16px; min-height: 40px; }
  .appointment-hours b,.appointment-hours span { font-size: 12px; }
  .official-booking { font-size: 12px; min-height: 44px; }
  .journal-card h3 { font-size: 18px; line-height: 1.6; }
  .journal-card>.text-link { font-size: 12px; }
  .journal-meta { font-size: 9px; line-height: 1.8; }
  .newsletter-card p { font-size: 13px; line-height: 1.9; }
  .newsletter-card>.text-link { font-size: 12px; }
  .faq-list summary { font-size: 14px; line-height: 1.7; min-height: 44px; }
  .faq-list details>p { font-size: 13px; line-height: 1.9; }
  .faq-list details>.text-link { font-size: 12px; }
  .faq-grid>div>p:not(.eyebrow) { font-size: 13px; }
  .faq-grid>div>.text-link { font-size: 13px; }
  .visit-card address { font-size: 14px; line-height: 1.9; }
  .visit-contact>a { font-size: 13px; line-height: 1.7; min-height: 44px; white-space: normal; }
  .visit-contact svg { width: 16px; height: 16px; }
  .visit-contact { grid-template-columns: 1fr; gap: 3px; }
  .visit-card>.text-link { font-size: 13px; }
  .emergency-band b { font-size: 14px; line-height: 1.7; }
  .emergency-band small { font-size: 12px; line-height: 1.9; }
  .ambulance-band-link { font-size: 12px; min-height: 44px; margin-top: 8px; }
  .closing-cta p { font-size: 13px; }
  .closing-cta .button { min-height: 48px; font-size: 12px; }
  .footer-brand p { font-size: 12px; line-height: 1.9; }
  .footer-column h3 { font-size: 13px; }
  .footer-column>a,.footer-column>button { font-size: 12px; min-height: 38px; margin-top: 4px; line-height: 1.8; padding: 7px 0; overflow-wrap: anywhere; }
  .social-links a { width: 40px; height: 40px; font-size: 16px; }
  .social-links svg { width: 20px; height: 20px; }
  .footer-bottom,.footer-bottom button { font-size: 10px; line-height: 1.9; }
  .footer-bottom>div>a,.footer-bottom button { min-height: 40px; display: inline-flex; align-items: center; }
  .toast { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); font-size: 13px; }
  dialog { max-height: calc(var(--visual-viewport-height, 100dvh) - 24px); max-width: calc(100% - 24px); top: calc(var(--visual-viewport-offset, 0px) + var(--visual-viewport-height, 100dvh)/2); bottom: auto; left: 0; right: 0; transform: translateY(-50%); margin: 0 auto; overscroll-behavior: contain; }
  #dialog-content { padding: 25px 25px 30px; }
  #dialog-content>.dialog-intro,.dialog-body p { font-size: 14px; line-height: 1.9; }
  .dialog-body li,.service-list li { font-size: 13px; line-height: 1.9; }
  .dialog-actions .button { font-size: 12px; min-height: 48px; }
  .dialog-actions .text-link { font-size: 12px; }
  .dialog-board { gap: 23px 17px; }
  .board-person h3 { font-size: 13px; }
  .board-person p { font-size: 11px; }
  .profile-qualification { font-size: 13px; }
  .directory-filters .search-box input,.directory-filters select { font-size: 16px; }
  .directory-row { min-height: 75px; }
  .directory-name { font-size: 14px; }
  .directory-meta { font-size: 12px; line-height: 1.85; }
  .directory-count { font-size: 12px; }
  .search-result { font-size: 14px; min-height: 48px; }
  .search-results h3 { font-size: 11px; }
  .resource-tile p { font-size: 13px; }
  .resource-tile h3 { font-size: 17px; }
  .dialog-callout { font-size: 13px; line-height: 1.9; }
  .review-item small { font-size: 10px; }
  .review-item b { font-size: 14px; }
  .checklist-list li { font-size: 13px; }
  .checklist-list small { font-size: 12px; }
  .source-link { font-size: 11px; line-height: 1.9; }
  .source-link a { display: inline-flex; align-items: center; min-height: 38px; }
  .course-table { display: block; width: 100%; overflow-x: auto; font-size: 12px; }
  .course-table th { font-size: 11px; }
  .pill-label { font-size: 11px; padding: 7px 11px; }
  .gallery-thumbs button { width: 70px; height: 48px; }
  .gallery-controls { font-size: 12px; line-height: 1.9; }
}

@media(max-width:700px) {
  .patient-grid { grid-template-columns: 1fr; }
  .patient-card { padding: 25px; }
  .patient-card p { max-width: none; }
  .section-top { align-items: flex-start; }
  .section-side { max-width: none; flex-wrap: wrap; }
  .section-side>p { max-width: 280px; }
  .section-side>.text-link { white-space: normal; }
  .about-grid,.facilities-grid,.video-grid,.appointment-grid,.faq-grid,.visit-grid { grid-template-columns: 1fr; }
  .about-copy>p:not(.eyebrow) { max-width: none; }
  .about-visual>img { height: 290px; }
  .facility-services p { max-width: none; }
  .facility-photo { height: 300px; min-height: 0; }
  .video-poster { height: 300px; }
  .appointment-grid { gap: 35px; }
  .appointment-copy>p:not(.eyebrow) { max-width: none; }
  .form-grid { grid-template-columns: 1fr 1fr; }
  .form-grid .full { grid-column: 1/-1; }
  .visit-map,.visit-map iframe { min-height: 280px; height: 280px; }
  .urgent-panel { grid-template-columns: 1fr; gap: 20px; }
  #ambulance-panel>.emergency-other-contacts { grid-template-columns: 1fr; gap: 0; }
  .urgent-contact-card { padding: 24px; }
  .urgent-contact-card h3 { font-size: 23px; }
  .urgent-contact-card>p { font-size: 14px; }
  .urgent-number { font-size: clamp(26px, 7.5vw, 36px); margin-top: 18px; min-height: 48px; }
  .urgent-contact-card>small { font-size: 11px; }
  .urgent-contact-card>.button { min-height: 52px; font-size: 13px; }
  .availability-label { font-size: 11px; }
  .emergency-tabs { gap: 5px; padding: 5px; margin: 21px 0; }
  .emergency-tabs button { font-size: 12px; flex-direction: column; gap: 5px; padding: 10px 7px; min-height: 74px; }
  .emergency-tabs svg { width: 24px; height: 24px; }
  .emergency-other-contacts h3,.ambulance-checklist h3 { font-size: 16px; }
  .emergency-contact-row>a>span { font-size: 12px; }
  .emergency-contact-row b { font-size: 21px; }
  .ambulance-checklist li>span { font-size: 14px; }
  .ambulance-note { font-size: 13px; margin: 0; }
  .emergency-location b { font-size: 14px; }
  .emergency-location p,.emergency-location .text-link { font-size: 13px; }
  #content-dialog[data-view="emergency"] { width: calc(100% - 24px); }
  #content-dialog[data-view="emergency"] #dialog-title { font-size: 27px; line-height: 1.35; }
  #content-dialog[data-view="emergency"] #dialog-content { padding: 23px 20px 25px; }
}

@media(max-width:620px) {
  .container { width: calc(100% - 40px); }
  .header-inner { gap: 8px; }
  .brand--header .brand-logo { width: min(280px, calc(100vw - 150px)); }
  .header-actions { gap: 6px; }
  .header-actions>.button,.header-actions .site-search { display: none; }
  .header-emergency,.mobile-toggle { width: 44px; min-width: 44px; height: 44px; }
  .header-emergency svg { width: 20px; height: 20px; }
  .nav { padding-left: 20px; padding-right: 20px; }
  .top-promise { font-size: 9px; }
  .topbar-right>a { font-size: 10px; }
  .hero { min-height: 0; display: flex; flex-direction: column; }
  .hero-art { position: relative; inset: auto; order: 2; width: 100%; height: 300px; margin-top: -10px; }
  .hero-art>img { object-position: 50% 60%; }
  .hero-container { position: static; order: 1; min-height: 0; display: block; padding-bottom: 0; }
  .hero-content { padding: 30px 0 20px; width: 100%; }
  .hero .eyebrow { font-size: 10px; margin-bottom: 17px; }
  .hero h1 { font-size: clamp(32px, 10vw, 48px); letter-spacing: -1.6px; line-height: 1.2; }
  .hero-description { font-size: 15px; line-height: 1.9; margin-top: 20px; }
  .hero-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
  .hero .button { min-height: 52px; font-size: 12px; padding: 13px 12px; gap: 10px; }
  .hero-location { font-size: 11px; line-height: 1.8; margin-top: 20px; align-items: flex-start; }
  .hero-location svg { width: 15px; height: 15px; margin-top: 3px; }
  .hero-note { bottom: 48px; left: 20px; right: 20px; max-width: 340px; margin: 0 auto; padding: 14px 17px; min-height: 64px; }
  .hero-note b { font-size: 12px; }
  .hero-note small { font-size: 10px; }
  .hero-note .play-icon { width: 38px; height: 38px; }
  .assurance-wrap { margin-top: -24px; }
  .assurance-strip { padding: 22px 8px; gap: 20px 0; }
  .assurance { padding: 0 9px; gap: 8px; align-items: flex-start; }
  .assurance .icon-well { width: 30px; height: 30px; }
  .assurance .icon-well svg { width: 18px; height: 18px; }
  .assurance b { font-size: 11px; }
  .assurance small { font-size: 10px; }
  .section-side { display: block; margin-top: 19px; }
  .section-side>p { max-width: none; font-size: 13px; }
  .section-side>.text-link { font-size: 12px; margin-top: 10px; }
  .section-side>p br,.section-intro br { display: none; }
  .about-links { flex-wrap: wrap; gap: 8px 20px; }
  .stats { gap: 10px; }
  .stats strong { font-size: 23px; }
  .stats small { font-size: 10px; }
  .doctor-info { padding: 17px 14px; }
  .doctor-info h3 { font-size: 14px; }
  .doctor-info>p { font-size: 12px; }
  .doctor-info .text-link { font-size: 11px; gap: 5px; }
  .doctor-info .text-link svg { width: 14px; height: 14px; }
  .doctor-photo { height: 190px; }
  .doctor-department { left: 9px; top: 9px; right: 9px; }
  .doctor-department span { font-size: 8px; padding: 5px 7px; }
  .facility-services { gap: 26px 22px; }
  .patient-card h3 { margin-right: 40px; }
  .journal-image { height: auto; aspect-ratio: 16/9; }
  .newsletter-card p { max-width: none; }
  .emergency-band { padding: 23px; }
  .emergency-band>a { margin-left: 0; flex-wrap: wrap; font-size: clamp(19px, 5.8vw, 25px); }
  .emergency-band>a>span { font-size: 9px; }
  .closing-cta h2 { font-size: 20px; line-height: 1.5; }
  .closing-cta p { font-size: 13px; line-height: 1.85; }
  .closing-cta .button { font-size: 13px; }
  .footer-grid { gap: 29px 24px; }
  .footer-column>a,.footer-column>button { min-height: 44px; }
  .footer-column:last-child { gap: 0 20px; }
  .footer-bottom>div { flex-wrap: wrap; gap: 4px 20px; }
  .resource-tile p,.city-centres p { font-size: 13px; }
  .dialog-form label { font-size: 12px; }
  .directory-filters { grid-template-columns: 1fr; }
  .dialog-board { grid-template-columns: 1fr 1fr; }
}
@media(max-width:380px) {
  .container { width: calc(100% - 32px); }
  .hero-buttons { grid-template-columns: 1fr; }
  .assurance-strip { grid-template-columns: 1fr; padding: 20px; gap: 17px; }
  .assurance { padding: 0 0 16px; border-right: 0; border-bottom: 1px solid var(--line); min-height: 54px; gap: 13px; }
  .assurance:nth-child(2) { border-bottom: 1px solid var(--line); }
  .assurance:last-child { padding-bottom: 0; border: 0; }
  .assurance .icon-well { width: 37px; height: 37px; }
  .assurance b { font-size: 12px; }
  .assurance small { font-size: 11px; }
  .specialty-card { padding: 19px 14px; }
  .specialty-card h3 { font-size: 14px; }
  .doctor-grid { grid-template-columns: 1fr; }
  .doctor-photo { height: 280px; }
  .doctor-info h3 { font-size: 17px; }
  .doctor-department span { font-size: 10px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-column:last-child { grid-template-columns: 1fr; }
  .footer-column:last-child h3 { grid-column: auto; }
  .mobile-care { padding-left: 8px; padding-right: 8px; gap: 6px; }
  .mobile-care>a,.mobile-care>button { flex-direction: column; gap: 4px; font-size: 10px; min-height: 52px; padding: 7px 4px; }
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  #content-dialog[data-view="emergency"] #dialog-content { padding: 20px 16px 24px; }
  .urgent-contact-card { padding: 20px; }
  .urgent-contact-card h3 { font-size: 21px; }
  .urgent-contact-card>.button { font-size: 12px; padding: 13px 9px; }
  .emergency-tabs button { font-size: 11px; }
  .emergency-contact-row b { font-size: 19px; }
}
