/* Bush Capital Paediatrics — shared styles */
/* Header responsive navigation */
.nav-toggle { display: none; }
@media (max-width: 1279px) {
  .nav-desktop { display: none !important; }
  .nav-toggle { display: flex !important; }
}
.nav-mobile { display: none; }
.site-header.menu-open .nav-mobile { display: flex; }
.site-header > div { gap: 20px !important; }
.site-header > div > a > span { font-size: clamp(15px, calc((92vw - 130px) * 0.091), 24px) !important; }
/* Footer responsive */
@media (max-width: 1239px) {
  #footer-base { flex-direction: column !important; }
  #footer-base .f-cr { order: 2 !important; margin-top: 20px !important; }
  #footer-base .f-legal { order: 1 !important; }
}
@media (max-width: 1023px) {
  main section > div, main section > ul, main section > div > div, main section > div > ul { max-width: 100% !important; }
  .f-brand { max-width: none !important; }
  .f-brand p { max-width: 75%; }
  .f-nav { margin-top: 16px !important; }
  .f-main { flex-direction: column !important; gap: 34px 64px !important; }
  .f-brand { flex: 0 1 auto !important; }
  .f-nav { order: 2 !important; align-items: flex-start !important; text-align: left !important; }
  .f-contact { order: 3 !important; flex: 0 1 auto !important; }
  .f-legal { flex-direction: column !important; }
}
/* Home page responsive */
@media (max-width: 1023px) {
  body.pg-home .hero-col { max-width: 100% !important; }
  body.pg-home .hero-img-inline { display: block !important; }
  body.pg-home .hero-img-side { display: none !important; }
  body.pg-home .home-cta { align-items: flex-start !important; text-align: left !important; }
  body.pg-home .home-cta-btns { justify-content: flex-start !important; }
  body.pg-home .band-btns { gap: 28px 18px !important; }
}
@media (max-width: 699px) {
  body.pg-home .svc-row { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  body.pg-home .svc-note { white-space: normal !important; }
}
/* Skip link */
.skip-link:focus { left: 0 !important; top: 0 !important; }

/* Hover / active / focus states */
.ps0:hover { color: #7A9B8A !important; }
.ps1:active { text-decoration: underline !important; text-underline-offset: 4px !important; }
.ps2:hover { background: #3D5C4E !important; color: #FAFAF7 !important; }
.ps3:hover { color: #A8B5A0 !important; }
.ps4:hover { color: #F5F1E8 !important; }
.ps5:active { text-decoration: underline !important; text-underline-offset: 3px !important; }
.ps6:focus-visible { left: 0 !important; top: 0 !important; }
.ps7:hover { padding-left: 20px !important; }
.ps8:hover { background: #FAFAF7 !important; color: #2F4A3F !important; }
.ps9:focus-visible { outline: 2px solid #A8B5A0 !important; outline-offset: 3px !important; }
.ps10:focus-visible { outline: 2px solid #7A9B8A !important; outline-offset: 1px !important; }
.ps11:hover { background: #3D5C4E !important; }

/* ---- index.html ---- */
body.pg-home { margin: 0; background: #FAFAF7; font-family: 'Figtree', sans-serif; color: #333A36; }
body.pg-home a { color: #2F4A3F; }
body.pg-home a:hover { color: #7A9B8A; }
body.pg-home a:focus, body.pg-home button:focus, body.pg-home summary:focus { outline: none; }
body.pg-home a:focus-visible, body.pg-home button:focus-visible, body.pg-home summary:focus-visible { outline: 2px solid #7A9B8A; outline-offset: 3px; }
@media (max-width: 1023px) {
body.pg-home main p, body.pg-home main li, body.pg-home main dd, body.pg-home main dt, body.pg-home main span:not([style*="Source Serif"]):not([style*="monospace"]):not(h1 span):not(h2 span):not(h3 span), body.pg-home main a:not([style*="border-radius: 999px"]):not([style*="Source Serif"]) { font-size: 19px !important; line-height: 1.6 !important; }
}
@media (max-width: 1023px) {
body.pg-home main > section { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 1023px) {
body.pg-home main h1 { font-size: clamp(40px, 6.6vw, 52px) !important; line-height: 1.18 !important; }
body.pg-home #page-subheading { font-size: 22px !important; }
}
@media (max-width: 1023px) {
body.pg-home #intro-band { padding-bottom: 8px !important; }
}
@media (min-width: 700px) and (max-width: 1023px) {
body.pg-home #home-portraits { justify-content: flex-start !important; }
body.pg-home #home-photo-powell, body.pg-home #home-photo-obrien { max-width: 50% !important; flex: 0 1 calc(50% - 28px) !important; }
}
@media (max-width: 699px) {
body.pg-home main h1 { font-size: 46px !important; line-height: 1.15 !important; }
body.pg-home #home-portraits { justify-content: flex-start !important; }
body.pg-home #home-photo-obrien { margin-top: 0 !important; }
body.pg-home #home-photo-powell, body.pg-home #home-photo-obrien { max-width: 50% !important; flex: 1 1 100% !important; }
}
body.pg-home main h2 { line-height: 1.32 !important; }
body.pg-home a, body.pg-home button, body.pg-home summary { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}

/* ---- about.html ---- */
body.pg-about { margin: 0; background: #FAFAF7; font-family: 'Figtree', sans-serif; color: #333A36; }
body.pg-about a { color: #2F4A3F; }
body.pg-about a:hover { color: #7A9B8A; }
body.pg-about a:focus, body.pg-about button:focus, body.pg-about summary:focus { outline: none; }
body.pg-about a:focus-visible, body.pg-about button:focus-visible, body.pg-about summary:focus-visible { outline: 2px solid #7A9B8A; outline-offset: 3px; }
@media (max-width: 1023px) {
body.pg-about main p, body.pg-about main li, body.pg-about main dd, body.pg-about main dt, body.pg-about main span:not([style*="Source Serif"]):not([style*="monospace"]):not(h1 span):not(h2 span):not(h3 span), body.pg-about main a:not([style*="border-radius: 999px"]):not([style*="Source Serif"]) { font-size: 19px !important; line-height: 1.6 !important; }
}
@media (max-width: 1023px) {
body.pg-about main > section { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 1023px) {
body.pg-about main h1 { font-size: clamp(40px, 6.6vw, 52px) !important; line-height: 1.18 !important; }
body.pg-about #page-subheading { font-size: 22px !important; }
body.pg-about #about-hero-media { display: none !important; }
body.pg-about main section[aria-labelledby="dr-powell"] { padding-top: 0 !important; }
}
@media (max-width: 699px) {
body.pg-about #photo-powell, body.pg-about #photo-obrien { max-width: 50% !important; }
}
body.pg-about main h2 { line-height: 1.32 !important; }
body.pg-about a, body.pg-about button, body.pg-about summary { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}

/* ---- services.html ---- */
body.pg-services { margin: 0; background: #FAFAF7; font-family: 'Figtree', sans-serif; color: #333A36; }
body.pg-services a { color: #2F4A3F; }
body.pg-services a:hover { color: #7A9B8A; }
body.pg-services a:focus, body.pg-services button:focus, body.pg-services summary:focus { outline: none; }
body.pg-services a:focus-visible, body.pg-services button:focus-visible, body.pg-services summary:focus-visible { outline: 2px solid #7A9B8A; outline-offset: 3px; }
@media (max-width: 1023px) {
body.pg-services main p, body.pg-services main li, body.pg-services main dd, body.pg-services main dt, body.pg-services main span:not([style*="Source Serif"]):not([style*="monospace"]):not(h1 span):not(h2 span):not(h3 span), body.pg-services main a:not([style*="border-radius: 999px"]):not([style*="Source Serif"]) { font-size: 19px !important; line-height: 1.6 !important; }
}
@media (max-width: 1023px) {
body.pg-services main > section { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 1023px) {
body.pg-services main h1 { font-size: clamp(40px, 6.6vw, 52px) !important; line-height: 1.18 !important; }
body.pg-services #page-subheading { font-size: 22px !important; }
}
@media (max-width: 1023px) {
body.pg-services #page-hero-media { max-width: 100% !important; flex-basis: 100% !important; }
body.pg-services main h2 { font-size: 30px !important; }
body.pg-services main section div[id] > h2 { font-size: 24px !important; }
body.pg-services main > section:first-of-type { gap: 56px 88px !important; }
body.pg-services #general-paediatrics { border-top: none !important; padding-top: 0 !important; }
body.pg-services #services-note-desktop { display: none !important; }
body.pg-services #services-note-portrait { display: block !important; }
body.pg-services #services-note-portrait { margin-bottom: 0 !important; }
body.pg-services main > section:first-of-type { padding-bottom: 56px !important; }
body.pg-services main > section:nth-of-type(2) { padding-top: 0 !important; }
}
body.pg-services main h2 { line-height: 1.32 !important; }
@media (max-width: 1023px) {
body.pg-services main > section:nth-of-type(2) > div[id] { flex-basis: 100% !important; }
}
@media (min-width: 1024px) and (max-width: 1150px) {
body.pg-services main > section:nth-of-type(2) > div[id] { flex-basis: 40% !important; }
}
body.pg-services a, body.pg-services button, body.pg-services summary { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}

/* ---- appointments.html ---- */
body.pg-appointments { margin: 0; background: #FAFAF7; font-family: 'Figtree', sans-serif; color: #333A36; }
body.pg-appointments a { color: #2F4A3F; }
body.pg-appointments a:hover { color: #7A9B8A; }
body.pg-appointments details summary { cursor: pointer; }
body.pg-appointments details summary::-webkit-details-marker { display: none; }
body.pg-appointments details[open] summary .acc-icon { transform: rotate(45deg); }
body.pg-appointments a:focus, body.pg-appointments button:focus, body.pg-appointments summary:focus { outline: none; }
body.pg-appointments a:focus-visible, body.pg-appointments button:focus-visible, body.pg-appointments summary:focus-visible { outline: 2px solid #7A9B8A; outline-offset: 3px; }
@media (max-width: 1023px) {
body.pg-appointments main p, body.pg-appointments main li, body.pg-appointments main dd, body.pg-appointments main dt, body.pg-appointments main span:not([style*="Source Serif"]):not([style*="monospace"]):not(h1 span):not(h2 span):not(h3 span), body.pg-appointments main a:not([style*="border-radius: 999px"]):not([style*="Source Serif"]) { font-size: 19px !important; line-height: 1.6 !important; }
}
@media (max-width: 1023px) {
body.pg-appointments main > section { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 1023px) {
body.pg-appointments main h1 { font-size: clamp(40px, 6.6vw, 52px) !important; line-height: 1.18 !important; }
body.pg-appointments #page-subheading { font-size: 22px !important; }
}
@media (max-width: 1100px) {
body.pg-appointments #steps-row { grid-template-columns: 1fr !important; }
}
@media (max-width: 1023px) {
body.pg-appointments main > section:first-of-type { padding-bottom: 0 !important; }
body.pg-appointments #steps-row { padding-top: 56px !important; }
body.pg-appointments #page-hero-media { max-width: 100% !important; flex-basis: 100% !important; }
body.pg-appointments main > section:first-of-type { gap: 28px 88px !important; }
}
body.pg-appointments main h2 { line-height: 1.32 !important; }
body.pg-appointments a, body.pg-appointments button, body.pg-appointments summary { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}

/* ---- patient-information.html ---- */
body.pg-patient-information { margin: 0; background: #FAFAF7; font-family: 'Figtree', sans-serif; color: #333A36; }
body.pg-patient-information a { color: #2F4A3F; }
body.pg-patient-information a:hover { color: #7A9B8A; }
body.pg-patient-information a:focus, body.pg-patient-information button:focus, body.pg-patient-information summary:focus { outline: none; }
body.pg-patient-information a:focus-visible, body.pg-patient-information button:focus-visible, body.pg-patient-information summary:focus-visible { outline: 2px solid #7A9B8A; outline-offset: 3px; }
@media (max-width: 1023px) {
body.pg-patient-information main p, body.pg-patient-information main li, body.pg-patient-information main dd, body.pg-patient-information main dt, body.pg-patient-information main span:not([style*="Source Serif"]):not([style*="monospace"]):not(h1 span):not(h2 span):not(h3 span), body.pg-patient-information main a:not([style*="border-radius: 999px"]):not([style*="Source Serif"]) { font-size: 19px !important; line-height: 1.6 !important; }
}
@media (max-width: 1023px) {
body.pg-patient-information main > section { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 1023px) {
body.pg-patient-information main h1 { font-size: clamp(40px, 6.6vw, 52px) !important; line-height: 1.18 !important; }
body.pg-patient-information #page-subheading { font-size: 22px !important; }
}
@media (max-width: 1023px) {
body.pg-patient-information #page-hero-media { max-width: 100% !important; flex-basis: 100% !important; }
body.pg-patient-information main > section:first-of-type { gap: 56px 88px !important; padding-bottom: 0 !important; }
body.pg-patient-information main > section:nth-of-type(2) { padding-top: 56px !important; }
body.pg-patient-information .doc-row { flex-wrap: wrap !important; }
body.pg-patient-information .doc-row > div { flex-basis: 100% !important; }
body.pg-patient-information .doc-row .doc-chip { flex: 0 0 auto !important; align-self: flex-start !important; white-space: normal !important; width: fit-content; }
}
@media (max-width: 1100px) {
body.pg-patient-information #info-trio { grid-template-columns: 1fr !important; }
}
body.pg-patient-information main h2 { line-height: 1.32 !important; }
body.pg-patient-information a, body.pg-patient-information button, body.pg-patient-information summary { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}

/* ---- contact.html ---- */
body.pg-contact { margin: 0; background: #FAFAF7; font-family: 'Figtree', sans-serif; color: #333A36; }
body.pg-contact a { color: #2F4A3F; }
body.pg-contact a:hover { color: #7A9B8A; }
body.pg-contact a:focus, body.pg-contact button:focus, body.pg-contact summary:focus { outline: none; }
body.pg-contact a:focus-visible, body.pg-contact button:focus-visible, body.pg-contact summary:focus-visible { outline: 2px solid #7A9B8A; outline-offset: 3px; }
@media (max-width: 1023px) {
body.pg-contact main p, body.pg-contact main li, body.pg-contact main dd, body.pg-contact main dt, body.pg-contact main span:not([style*="Source Serif"]):not([style*="monospace"]):not(h1 span):not(h2 span):not(h3 span), body.pg-contact main a:not([style*="border-radius: 999px"]):not([style*="Source Serif"]) { font-size: 19px !important; line-height: 1.6 !important; }
}
@media (max-width: 1023px) {
body.pg-contact main > section { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 1023px) {
body.pg-contact main h1 { font-size: clamp(40px, 6.6vw, 52px) !important; line-height: 1.18 !important; }
body.pg-contact #page-subheading { font-size: 22px !important; }
}
body.pg-contact main h2 { line-height: 1.32 !important; }
@media (max-width: 1023px) {
body.pg-contact main > section:first-of-type { padding-top: 56px !important; padding-bottom: 0 !important; }
body.pg-contact #contact-top { padding-top: 48px !important; gap: 48px !important; }
body.pg-contact #contact-details, body.pg-contact #contact-form-card, body.pg-contact #finding-text, body.pg-contact #map-col { flex-basis: 100% !important; max-width: 100% !important; }
body.pg-contact #finding-row { gap: 40px !important; }
}
@media (max-width: 699px) {
body.pg-contact #contact-form-card { padding: 32px 20px !important; }
}
body.pg-contact a, body.pg-contact button, body.pg-contact summary { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}

/* ---- privacy-policy.html ---- */
body.pg-privacy { margin: 0; background: #FAFAF7; font-family: 'Figtree', sans-serif; color: #333A36; }
body.pg-privacy a { color: #2F4A3F; }
body.pg-privacy a:hover { color: #7A9B8A; }
body.pg-privacy a:focus, body.pg-privacy button:focus, body.pg-privacy summary:focus { outline: none; }
body.pg-privacy a:focus-visible, body.pg-privacy button:focus-visible, body.pg-privacy summary:focus-visible { outline: 2px solid #7A9B8A; outline-offset: 3px; }
@media (max-width: 1023px) {
body.pg-privacy main p, body.pg-privacy main li, body.pg-privacy main dd, body.pg-privacy main dt, body.pg-privacy main span:not([style*="Source Serif"]):not([style*="monospace"]):not(h1 span):not(h2 span):not(h3 span), body.pg-privacy main a:not([style*="border-radius: 999px"]):not([style*="Source Serif"]) { font-size: 19px !important; line-height: 1.6 !important; }
}
@media (max-width: 1023px) {
body.pg-privacy main > section { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 1023px) {
body.pg-privacy main h1 { font-size: clamp(40px, 6.6vw, 52px) !important; line-height: 1.18 !important; }
body.pg-privacy #page-subheading { font-size: 22px !important; }
}
body.pg-privacy main h2 { line-height: 1.32 !important; }
body.pg-privacy a, body.pg-privacy button, body.pg-privacy summary { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}

/* ---- terms-and-conditions.html ---- */
body.pg-terms { margin: 0; background: #FAFAF7; font-family: 'Figtree', sans-serif; color: #333A36; }
body.pg-terms a { color: #2F4A3F; }
body.pg-terms a:hover { color: #7A9B8A; }
body.pg-terms a:focus, body.pg-terms button:focus, body.pg-terms summary:focus { outline: none; }
body.pg-terms a:focus-visible, body.pg-terms button:focus-visible, body.pg-terms summary:focus-visible { outline: 2px solid #7A9B8A; outline-offset: 3px; }
@media (max-width: 1023px) {
body.pg-terms main p, body.pg-terms main li, body.pg-terms main dd, body.pg-terms main dt, body.pg-terms main span:not([style*="Source Serif"]):not([style*="monospace"]):not(h1 span):not(h2 span):not(h3 span), body.pg-terms main a:not([style*="border-radius: 999px"]):not([style*="Source Serif"]) { font-size: 19px !important; line-height: 1.6 !important; }
}
@media (max-width: 1023px) {
body.pg-terms main > section { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 1023px) {
body.pg-terms main h1 { font-size: clamp(40px, 6.6vw, 52px) !important; line-height: 1.18 !important; }
body.pg-terms #page-subheading { font-size: 22px !important; }
}
body.pg-terms main h2 { line-height: 1.32 !important; }
body.pg-terms a, body.pg-terms button, body.pg-terms summary { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}

/* ---- website-disclaimer.html ---- */
body.pg-disclaimer { margin: 0; background: #FAFAF7; font-family: 'Figtree', sans-serif; color: #333A36; }
body.pg-disclaimer a { color: #2F4A3F; }
body.pg-disclaimer a:hover { color: #7A9B8A; }
body.pg-disclaimer a:focus, body.pg-disclaimer button:focus, body.pg-disclaimer summary:focus { outline: none; }
body.pg-disclaimer a:focus-visible, body.pg-disclaimer button:focus-visible, body.pg-disclaimer summary:focus-visible { outline: 2px solid #7A9B8A; outline-offset: 3px; }
@media (max-width: 1023px) {
body.pg-disclaimer main p, body.pg-disclaimer main li, body.pg-disclaimer main dd, body.pg-disclaimer main dt, body.pg-disclaimer main span:not([style*="Source Serif"]):not([style*="monospace"]):not(h1 span):not(h2 span):not(h3 span), body.pg-disclaimer main a:not([style*="border-radius: 999px"]):not([style*="Source Serif"]) { font-size: 19px !important; line-height: 1.6 !important; }
}
@media (max-width: 1023px) {
body.pg-disclaimer main > section { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 1023px) {
body.pg-disclaimer main h1 { font-size: clamp(40px, 6.6vw, 52px) !important; line-height: 1.18 !important; }
body.pg-disclaimer #page-subheading { font-size: 22px !important; }
}
body.pg-disclaimer main h2 { line-height: 1.32 !important; }
body.pg-disclaimer a, body.pg-disclaimer button, body.pg-disclaimer summary { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}

@media (max-width: 900px) {
body.pg-about #photo-powell, body.pg-about #photo-obrien { max-width: 40% !important; min-width: 220px !important; }
}
@media (max-width: 699px) {
body.pg-about #photo-powell, body.pg-about #photo-obrien { max-width: 50% !important; min-width: 0 !important; }
}


@media (max-width: 699px) {
  footer .f-brand, footer .f-contact, footer .f-nav, footer .f-brand p { max-width: 100% !important; flex-basis: 100% !important; flex-grow: 1 !important; }
}

@media (max-width: 380px) { footer .f-brand span[style*="nowrap"] { font-size: 20px !important; } }
