/*
 * Sitewide readability and owner-reference desktop scale — 2026-09-05
 *
 * This file is intentionally loaded last on every public page.
 * It keeps the existing visual identity while establishing one predictable
 * type system, readable minimum sizes and stronger secondary-text contrast.
 */

:root {
  --site-body-font: "Manrope", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --site-display-font: "Alegreya", Georgia, "Times New Roman", serif;
  --font-display: var(--site-display-font);
  --site-readable-ink: #173650;
  --site-readable-muted: #52697b;
  --site-blue-text: #075ca8;
  --site-coral-text: #a0473d;
  --site-readable-on-dark: rgba(255, 255, 255, 0.9);
  --site-focus-ring: #f2b91e;
  --site-type-body: clamp(1rem, 0.975rem + 0.1vw, 1.075rem);
  --site-type-label: 0.875rem;
  --site-type-meta: 0.875rem;
  --fc-body-font: var(--site-font, var(--site-body-font));
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Retire the old 94% / 91.5% global shrink rules from styles.css. */
html:has(body:not(.manage-page)) {
  font-size: 100% !important;
  zoom: var(--site-zoom, 1) !important;
}

body:not(.manage-page) {
  color: var(--ink, var(--site-readable-ink));
  font-family: var(--site-font, var(--site-body-font));
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body:not(.manage-page) :where(button, input, select, textarea) {
  font-family: inherit;
}

body:not(.manage-page) :where(h1, h2, h3) {
  font-family: var(--site-display-font);
  text-wrap: balance;
}

/* The first screen must never wait for app.js before it becomes visible.
   Motion remains available below the fold, while the Google landing view is
   painted as soon as its CSS and hero image arrive. */
body.home-page .hero .reveal {
  opacity: 1;
  filter: none;
  transform: none;
  will-change: auto;
}

body:not(.manage-page) :where(main p, main li) {
  text-wrap: pretty;
}

body:not(.manage-page) :where(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  [tabindex]
):focus-visible {
  outline: 3px solid var(--site-focus-ring);
  outline-offset: 3px;
}

/* Shared navigation, footer and utility UI. */
body:not(.manage-page) :where(.site-header, .nav-drawer, .site-footer, .cookie-banner) {
  font-family: var(--site-font, var(--site-body-font));
}

body:not(.manage-page) .site-header .main-nav > a,
body:not(.manage-page) .site-header .nav-dropdown-trigger {
  font-size: 0.95rem;
  line-height: 1.25;
}

/* Match the full-width header in the owner's screenshots on every page. */
@media (min-width: 901px) {
  html:has(body:not(.manage-page)) {
    --site-zoom: 0.8333333333333334;
  }

  body:not(.manage-page) .site-header,
  body:not(.manage-page) .site-header.compact {
    inset: 26px 32px auto !important;
    width: auto !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  body:not(.manage-page) .site-header .main-nav {
    flex-wrap: nowrap !important;
  }

  body:not(.manage-page) .site-header .main-nav > a,
  body:not(.manage-page) .site-header .nav-dropdown-trigger {
    white-space: nowrap;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  body:not(.manage-page) .site-header,
  body:not(.manage-page) .site-header.compact {
    gap: 12px !important;
  }

  body:not(.manage-page) .site-header .main-nav > a,
  body:not(.manage-page) .site-header .nav-dropdown-trigger {
    padding-inline: 6px !important;
  }
}

body:not(.manage-page) :where(input, select, textarea) {
  font-size: 1rem;
}

body:not(.manage-page) .nav-dropdown-panel a,
body:not(.manage-page) .nav-drawer .main-nav a {
  font-size: 0.9375rem;
  line-height: 1.35;
}

body:not(.manage-page) .nav-drawer .nav-drawer-title {
  font-size: var(--site-type-label) !important;
  line-height: 1.3 !important;
}

body:not(.manage-page) :where(.eyebrow, .section-eyebrow, .article-eyebrow, .detail-tag) {
  font-size: var(--site-type-label);
  line-height: 1.35;
}

body.home-page .hero-content > .eyebrow,
body.home-page .section-copy > .eyebrow,
body[data-page="activities"] .activities-intro .eyebrow,
body[data-page="basic-program"] .detail-hero > .eyebrow,
body[data-page="custom"] .detail-hero > .eyebrow {
  font-size: var(--site-type-label) !important;
  line-height: 1.35 !important;
}

body.home-page .section-copy > .eyebrow {
  color: var(--site-blue-text) !important;
}

body:not(.manage-page) :where(.site-footer small, .site-footer .footer-label) {
  color: var(--site-readable-on-dark);
  font-size: var(--site-type-meta);
  opacity: 1;
}

body:not(.manage-page) .site-footer :where(
  .footer-col > p,
  .footer-col > strong,
  .footer-col > small
) {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: var(--site-type-meta) !important;
  opacity: 1 !important;
}

body:not(.manage-page) .site-footer :where(p, a) {
  font-size: 0.9375rem;
  line-height: 1.55;
}

body:not(.manage-page) .site-footer a {
  color: rgba(255, 255, 255, 0.94);
}

body:not(.manage-page) .cookie-banner :where(p, a, button) {
  font-size: 0.875rem;
  line-height: 1.5;
}

body:not(.manage-page) :where(
  .cookie-settings-tag,
  .cookie-consent-eyebrow,
  .cookie-settings-note
) {
  color: var(--site-readable-muted) !important;
  font-size: var(--site-type-meta) !important;
  line-height: 1.45 !important;
}

body:not(.manage-page) .cookie-settings-link {
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: var(--site-type-label) !important;
  opacity: 1 !important;
}

body.home-page .site-footer.rich-footer .cookie-settings-link {
  font-size: var(--site-type-label) !important;
  opacity: 1 !important;
}

/* Home: compact labels remain secondary, but never become micro-copy. */
body.home-page .discover-label,
body.home-page .school-pathway-location,
body.home-page .school-pathway-kicker,
body.home-page .school-pathway-levels > span,
body.home-page .day-moment-time,
body.home-page .moment-tag,
body.home-page .moments-meta,
body.home-page .moment-meta {
  font-size: var(--site-type-meta) !important;
  line-height: 1.35 !important;
}

body.home-page .moment.is-story .moment-date-badge i {
  font-size: var(--site-type-meta) !important;
  line-height: 1 !important;
}

body.home-page .moment.is-story .moment-summary {
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
}

body.home-page .moment.is-story .moment-more {
  font-size: var(--site-type-label) !important;
  line-height: 1.35 !important;
}

body.home-page .day-story-entry-time,
body.home-page .day-story-entry-times span {
  font-size: 0.75rem !important;
  line-height: 1.3 !important;
}

body.home-page .site-footer.rich-footer .footer-cta .button {
  font-size: 0.9375rem !important;
  line-height: 1.4 !important;
}

body.home-page .site-footer.rich-footer .footer-col > :where(p, strong, small),
body.home-page .site-footer.rich-footer .footer-accreditation p {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: var(--site-type-meta) !important;
  line-height: 1.45 !important;
  opacity: 1 !important;
}

body.home-page .site-footer.rich-footer .footer-col.footer-col-brand > p,
body.home-page .site-footer.rich-footer .footer-col.footer-col-social > strong {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: var(--site-type-meta) !important;
  line-height: 1.45 !important;
  opacity: 1 !important;
}

body.home-page .discover-copy > strong,
body.home-page .school-pathway-copy,
body.home-page .day-moment-copy p,
body.home-page .learning-card p,
body.home-page .benefit-card p,
body.home-page .quick-info-card p {
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

body.home-page .moments-section .section-copy h2 {
  font-family: var(--site-display-font) !important;
}

body.home-page .school-pathway-copy {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* Activities and editorial pages. */
html body[data-page="activities"] {
  --activity-font: var(--site-font, var(--site-body-font));
  --activity-catalog-ink: var(--site-readable-ink);
  --activity-catalog-muted: var(--site-readable-muted);
}

html body[data-page="activities"] :is(.activities-intro .eyebrow, .activities-intro-copy, .activity-catalog-count) {
  color: var(--site-readable-muted) !important;
}

html body[data-page="activities"] .activities-intro h1 {
  color: var(--site-readable-ink) !important;
}

html body[data-page="activities"] :is(.activity-card-meta, .activity-card-meta time, .activity-card-reading) {
  color: var(--site-readable-muted) !important;
  font-size: var(--site-type-meta) !important;
}

body[data-page="activities"] :where(
  .activity-story-reading,
  .activity-card-reading,
  .activity-card-meta,
  .activity-story-meta,
  .activity-card-eyebrow,
  .activity-section-kicker,
  .activity-story-kicker,
  .activity-catalog-count,
  .activity-count,
  .activity-action
) {
  font-size: var(--site-type-meta) !important;
  line-height: 1.35 !important;
}

body[data-page="activities"] .activity-section-kicker,
body[data-page="activities"] .activity-catalog-count,
body[data-page="activities"] .activity-card-meta,
body[data-page="activities"] .activity-card-meta time,
body[data-page="activities"] .activity-card-reading,
body[data-page="activities"] .activity-card-open {
  font-size: var(--site-type-meta) !important;
  line-height: 1.35 !important;
}

body[data-page="activities"] .activity-section-kicker {
  color: var(--site-coral-text) !important;
}

body[data-page="activities"] .activity-card-meta time {
  color: var(--site-readable-muted) !important;
}

body[data-page="activities"] .activity-card-copy > p {
  color: var(--site-readable-muted) !important;
  font-size: 0.9375rem !important;
  line-height: 1.55 !important;
}

body[data-page="activities"] :where(
  .activity-card-summary,
  .activity-story-summary,
  .activity-card-copy > p,
  .activity-story-copy > p
) {
  color: var(--site-readable-muted) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

body[data-page="media"] :where(.media-meta, .media-card-meta, figcaption),
body[data-page="basic-program"] :where(.detail-tag, .block-kicker),
body[data-page="custom"] :where(.detail-tag, .block-kicker) {
  color: var(--site-readable-muted);
  font-size: var(--site-type-meta);
  line-height: 1.45;
}

body[data-page="basic-program"] .editable-blocks :where(p, li),
body[data-page="custom"] .editable-blocks :where(p, li) {
  font-size: var(--site-type-body);
  line-height: 1.72;
}

body[data-page="basic-program"] .detail-hero h1,
body[data-page="custom"] .detail-hero h1 {
  font-family: var(--site-display-font) !important;
}

/* Facilities: retain its warm palette, standardise only the typography. */
body[data-page="spaces"] .fac {
  --fc-body-font: var(--site-font, var(--site-body-font));
  font-family: var(--fc-body-font);
}

body[data-page="spaces"] .space-modal {
  font-family: var(--site-font, var(--site-body-font));
}

body[data-page="spaces"] :where(
  .fac-hero-eyebrow,
  .fac-eyebrow,
  .fac-kicker,
  .fac-section-kicker,
  .fac-tour-label,
  .fac-more,
  .fac-scrollcue,
  .fac-scroll-cue,
  .fac-hero-scroll,
  .fac-virtual-label,
  .fac-virtual-tour-orbit i,
  .fac-virtual-tour-copy small,
  .fac-virtual-tour-copy em
) {
  font-size: var(--site-type-label) !important;
  line-height: 1.4 !important;
}

body[data-page="spaces"] .fac-hero-eyebrow {
  font-size: var(--site-type-label) !important;
  line-height: 1.4 !important;
}

body[data-page="spaces"] :is(
  .fac-kicker,
  .fac-tour-label,
  .fac-more,
  .fac-scrollcue,
  .fac-virtual-tour-orbit i,
  .fac-virtual-tour-copy small,
  .fac-virtual-tour-copy em
) {
  font-size: var(--site-type-label) !important;
  line-height: 1.4 !important;
}

body[data-page="spaces"] :where(
  .fac-hero-lead,
  .fac-lead,
  .fac-tour-text,
  .fac-tour-body p,
  .fac-intro p,
  .fac-principle p,
  .fac-cta p
) {
  font-size: var(--site-type-body);
  line-height: 1.68;
}

body[data-page="spaces"] :is(
  .fac-hero-lead,
  .fac-lead,
  .fac-tour-text,
  .fac-tour-body p,
  .fac-intro p,
  .fac-principle p,
  .fac-cta p
) {
  font-size: var(--site-type-body) !important;
  line-height: 1.68 !important;
}

body[data-page="spaces"] :where(.fac-gallery-cap, .fac-btn) {
  font-size: 0.9375rem !important;
  line-height: 1.4 !important;
}

body[data-page="spaces"] :is(.fac-gallery-cap, .fac-btn) {
  font-size: 0.9375rem !important;
  line-height: 1.4 !important;
}

body[data-page="spaces"] .fac-virtual-tour-copy em {
  color: rgba(255, 255, 255, 0.92) !important;
  opacity: 1 !important;
}

body[data-page="spaces"] :where(.fac-tour-label, .fac-tour-index) {
  opacity: 1;
}

/* Childcare: Manrope for reading, Didot only for its intentional hero voice. */
body[data-page="childcare-static"] .dp-root {
  --dp-muted: #536276;
  font-family: var(--site-font, var(--site-body-font)) !important;
}

body[data-page="childcare-static"] .dp-root :where(
  .dp-hero-title,
  .dp-hero-subtitle,
  h1,
  h2,
  blockquote,
  .dp-section-number,
  .dp-stage-number,
  .dp-school-bridge__copy strong
) {
  font-family: "GFS Didot", var(--site-display-font);
}

body[data-page="childcare-static"] .dp-root h3 {
  font-family: var(--site-display-font);
}

body[data-page="childcare-static"] .dp-extra-kicker,
body[data-page="childcare-static"] .dp-root .dp-hero-eyebrow > span,
body[data-page="childcare-static"] .dp-school-bridge__kicker,
body[data-page="childcare-static"] .dp-school-bridge__label,
body[data-page="childcare-static"] .dp-photo-grid figcaption,
body[data-page="childcare-static"] .dp-icon-card figcaption,
body[data-page="childcare-static"] .dp-program-card strong,
body[data-page="childcare-static"] .dp-root .dp-foundation-card h3 {
  font-size: var(--site-type-label) !important;
  line-height: 1.4 !important;
}

body[data-page="childcare-static"] :where(
  .dp-extra-copy > p,
  .dp-extra-copy > ul > li,
  .dp-extra-list span,
  .dp-program-card span,
  .dp-program-card li,
  .dp-history-copy p,
  .dp-foundation-card p,
  .dp-school-bridge__copy p
) {
  color: var(--dp-muted) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

body[data-page="childcare-static"] .dp-blue :where(.dp-program-card span, .dp-program-card li) {
  color: rgba(255, 255, 255, 0.94) !important;
}

body[data-page="childcare-static"] .dp-blue .dp-extra-copy p {
  color: rgba(255, 255, 255, 0.92) !important;
}

body[data-page="childcare-static"] :is(#basic-program, #afternoon-life) .dp-program-card strong {
  font-size: 0.9375rem !important;
  line-height: 1.4 !important;
}

body[data-page="childcare-static"] :is(#basic-program, #afternoon-life) .dp-program-card :is(span, li) {
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

body[data-page="childcare-static"] .dp-journey-stage > span {
  color: #42556c !important;
  font-size: var(--site-type-meta) !important;
  line-height: 1.35 !important;
  opacity: 1 !important;
}

/* Kindergarten: undo the later compact layers that reduced reading copy. */
body[data-page="philosophy"] {
  --kg-muted: #4d6074;
  --kg-copy: #4d6074;
  font-family: var(--site-font, var(--site-body-font));
}

body[data-page="philosophy"] .kindergarten-kicker,
body[data-page="philosophy"] .kg-school-life-kicker,
body[data-page="philosophy"] .kg-school-life-card__eyebrow,
body[data-page="philosophy"] .kindergarten-parents-eyebrow,
body[data-page="philosophy"] .kb-eyebrow,
body[data-page="philosophy"] .kindergarten-basic-section .kb-journey .kb-stage-label,
body[data-page="philosophy"] .kg-school-life-uniform-badge,
body[data-page="philosophy"] .kb-departure-zone > span {
  font-family: var(--site-font, var(--site-body-font)) !important;
  font-size: var(--site-type-meta) !important;
  line-height: 1.4 !important;
}

body[data-page="philosophy"] .kindergarten-kicker {
  color: var(--site-coral-text) !important;
}

body[data-page="philosophy"] .kindergarten-basic-section .kb-journey .kb-stage-number {
  font-size: 0.75rem !important;
  line-height: 1 !important;
}

body[data-page="philosophy"] .philosophy-feature-copy > p,
body[data-page="philosophy"] .kb-overview-copy > p,
body[data-page="philosophy"] .kb-section-heading > p,
body[data-page="philosophy"] .kindergarten-basic-section .kb-journey .kb-stage-list li,
body[data-page="philosophy"] .kindergarten-basic-section .kb-journey .kb-stage-item-copy strong,
body[data-page="philosophy"] .kindergarten-basic-section .kb-journey .kb-stage-item-copy > span,
body[data-page="philosophy"] .kindergarten-basic-section .kb-subject p,
body[data-page="philosophy"] .kindergarten-afternoon-section .afternoon-card-copy p,
body[data-page="philosophy"] .kindergarten-afternoon-section .afternoon-checks li,
body[data-page="philosophy"] .kindergarten-parent-point p,
body[data-page="philosophy"] .kg-school-life-card__copy > p,
body[data-page="philosophy"] .kg-school-life-benefits li {
  font-family: var(--site-font, var(--site-body-font)) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

body[data-page="philosophy"] .philosophy-feature-copy > p,
body[data-page="philosophy"] .kb-overview-copy > p,
body[data-page="philosophy"] .kb-section-heading > p,
body[data-page="philosophy"] .kindergarten-basic-section .kb-journey .kb-stage-list li,
body[data-page="philosophy"] .kindergarten-basic-section .kb-journey .kb-stage-item-copy > span,
body[data-page="philosophy"] .kindergarten-basic-section .kb-subject p,
body[data-page="philosophy"] .kindergarten-afternoon-section .afternoon-card-copy p,
body[data-page="philosophy"] .kindergarten-afternoon-section .afternoon-checks li,
body[data-page="philosophy"] .kindergarten-parent-point p {
  color: var(--kg-copy) !important;
}

body[data-page="philosophy"] :where(
  .kg-school-life-media--celebrations figcaption,
  .kb-stage-item-copy,
  .kb-subject,
  .afternoon-card-copy,
  .kindergarten-parent-point
) {
  font-family: var(--site-font, var(--site-body-font)) !important;
}

body[data-page="philosophy"] .kg-school-life-card--celebrations .kg-school-life-media--celebrations figcaption {
  font-size: var(--site-type-meta) !important;
  line-height: 1.35 !important;
}

body[data-page="philosophy"] .kindergarten-parent-point h4 {
  font-size: 1rem !important;
  line-height: 1.35 !important;
}

body[data-page="philosophy"] .kb-departure-zone > span {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* The standalone Basic Programme route reuses the same component language. */
body[data-page="basic-program"] .kb-eyebrow,
body[data-page="basic-program"] .kb-stage-number,
body[data-page="basic-program"] .kb-stage-label,
body[data-page="basic-program"] .kb-departure-zone > span {
  font-family: var(--site-font, var(--site-body-font)) !important;
  font-size: var(--site-type-meta) !important;
  line-height: 1.4 !important;
}

body[data-page="basic-program"] .kb-overview-copy > p,
body[data-page="basic-program"] .kb-section-heading > p,
body[data-page="basic-program"] .kb-stage-list li,
body[data-page="basic-program"] .kb-stage-item-copy strong,
body[data-page="basic-program"] .kb-stage-item-copy > span,
body[data-page="basic-program"] .kb-subject p,
body[data-page="basic-program"] .afternoon-card-copy p,
body[data-page="basic-program"] .afternoon-checks li {
  font-family: var(--site-font, var(--site-body-font)) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

body[data-page="basic-program"] .kb-departure-zone > span {
  color: rgba(255, 255, 255, 0.92) !important;
}

body[data-page="basic-program"] .kb-stage-label {
  color: var(--site-coral-text) !important;
}

/* Custom pages can reuse the same managed kindergarten components. */
body[data-page="custom"] .kindergarten-kicker,
body[data-page="custom"] .kindergarten-parents-eyebrow,
body[data-page="custom"] .kb-eyebrow,
body[data-page="custom"] .kb-stage-number,
body[data-page="custom"] .kb-stage-label,
body[data-page="custom"] .kb-departure-zone > span {
  font-family: var(--site-font, var(--site-body-font)) !important;
  font-size: var(--site-type-meta) !important;
  line-height: 1.4 !important;
}

body[data-page="custom"] .kb-overview-copy > p,
body[data-page="custom"] .kb-section-heading > p,
body[data-page="custom"] .kb-stage-list li,
body[data-page="custom"] .kb-stage-item-copy strong,
body[data-page="custom"] .kb-stage-item-copy > span,
body[data-page="custom"] .kb-subject p,
body[data-page="custom"] .afternoon-card-copy p,
body[data-page="custom"] .afternoon-checks li,
body[data-page="custom"] .kindergarten-parent-point p {
  font-family: var(--site-font, var(--site-body-font)) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

body[data-page="custom"] .kindergarten-kicker,
body[data-page="custom"] .kb-stage-label {
  color: var(--site-coral-text) !important;
}

body[data-page="custom"] .kb-departure-zone > span {
  color: rgba(255, 255, 255, 0.92) !important;
}

@media (max-width: 900px) {
  body:not(.manage-page) .nav-drawer .main-nav a {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  body[data-page="childcare-static"] .dp-journey-stage > span {
    min-height: 3.5em !important;
  }
}

@media (max-width: 600px) {
  body[data-page="spaces"] .fac-cta-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-page="childcare-static"] :is(#basic-program, #afternoon-life) .dp-program-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-page="childcare-static"] .dp-journey-stage > span {
    font-size: 0.75rem !important;
  }
}

@media (max-width: 560px) {
  body[data-page="philosophy"] :where(
    .kindergarten-basic-section .kb-stage-grid,
    .kindergarten-basic-section .kb-subject-grid,
    .kindergarten-afternoon-section .afternoon-card-list,
    .kindergarten-parent-points
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-page="philosophy"] .kindergarten-basic-section .kb-stage,
  body[data-page="philosophy"] .kindergarten-basic-section .kb-stage:last-child {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }

  body[data-page="philosophy"] .kindergarten-basic-section .kb-subject {
    grid-template-columns: 46px minmax(0, 1fr) !important;
  }

  body[data-page="philosophy"] .kindergarten-basic-section .kb-stage-number {
    width: 27px !important;
    min-width: 27px !important;
    height: 21px !important;
  }

  body[data-page="basic-program"] :is(.kb-stage-grid, .kb-subject-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-page="custom"] :is(
    .kb-stage-grid,
    .kb-subject-grid,
    .afternoon-card-list,
    .kindergarten-parent-points
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --site-readable-muted: #3d5365;
    --site-readable-on-dark: #ffffff;
  }

  body[data-page="childcare-static"] .dp-root {
    --dp-muted: #415269;
  }

  body[data-page="philosophy"] {
    --kg-muted: #3f5368;
    --kg-copy: #3f5368;
  }
}

@media (forced-colors: active) {
  body :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline-color: Highlight;
  }
}
