/* Screen-specific rules deliberately follow every imported WordPress style. */
.mobile-background-image { display: none; }
.mobile-copy, .day-time-mobile, .day-infant-mobile { display: none; }
#main-content .elementor-widget-image-gallery .gallery { align-items: start; }
#main-content .elementor-widget-image-gallery .gallery-item { margin: 0 !important; }
#main-content .elementor-widget-image-gallery .gallery-icon { line-height: 0; }
#main-content .elementor-widget-image-gallery .gallery-icon a { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 18px; }
#main-content .elementor-widget-image-gallery .gallery-item img.uniform-gallery-photo { display: block; width: 100% !important; height: 100% !important; aspect-ratio: 4 / 3; object-fit: cover; }
.contact-photo-panel { background-position: center top !important; }
.noninteractive-event-photo,
.noninteractive-event-photo img { cursor: default !important; }
#main-content [data-id="4a12032"] { width: 100% !important; }

@media (max-width: 900px) {
  #main-content .mobile-photo-first { gap: 24px !important; }
  #main-content .mobile-photo-first > .mobile-activity-photo { order: 0 !important; }
  #main-content .mobile-photo-first > .mobile-activity-copy { order: 1 !important; }
  /* The daily-life photos remain readable as a horizontal strip on phones. */
  #main-content [data-id="4a12032"] .swiper-slide {
    width: min(82%, 520px) !important;
    flex: 0 0 min(82%, 520px) !important;
    max-width: none !important;
  }
  #main-content [data-id="4a12032"] .swiper-slide-image {
    display: block; width: 100% !important; height: auto !important;
  }
  #main-content .mobile-intro-illustrations.e-con {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px !important; align-items: center !important;
  }
  #main-content .mobile-intro-illustrations > :not(.mobile-art-illustration) { grid-column: 1 / -1; }
  #main-content .mobile-intro-illustrations > .mobile-art-illustration { grid-row: auto; margin: 0 !important; }
  #main-content .mobile-intro-illustrations.e-con .mobile-background-image { width: 80px !important; max-height: 80px !important; }
  body.preview-site #main-content a.mobile-sitemap-card.e-con {
    display: flex !important; flex-direction: column !important;
    border: 2px solid #e97b0a !important; border-radius: 24px !important;
    padding: 12px 12px 22px !important; gap: 14px !important; overflow: hidden;
    height: auto !important; min-height: 0 !important;
  }
  #main-content .mobile-sitemap-card .e-con:not(.mobile-art-illustration) { display: contents !important; }
  #main-content .mobile-sitemap-card .mobile-sitemap-photo { order: 1; margin: 0 !important; }
  #main-content .mobile-sitemap-card .mobile-sitemap-photo .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
  #main-content .mobile-sitemap-card .mobile-sitemap-photo img { display: block; width: 100% !important; height: auto !important; border-radius: 18px !important; }
  #main-content .mobile-sitemap-card .mobile-art-illustration { order: 2; margin: 0 !important; flex: 0 0 auto !important; }
  #main-content .mobile-sitemap-card .mobile-art-illustration .mobile-background-image { width: 60px !important; height: 60px !important; max-height: 60px !important; }
  #main-content .mobile-sitemap-card .mobile-sitemap-label { order: 3; width: 100% !important; text-align: center !important; margin: 0 !important; }
  #main-content .mobile-sitemap-card .mobile-sitemap-label .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
  #main-content .mobile-sitemap-card .mobile-sitemap-label .elementor-heading-title { text-align: center !important; margin: 0 !important; }
  #main-content .mobile-sitemap-card .mobile-sitemap-label br { display: none !important; }
  body.preview-site #main-content .mobile-secondary-links.e-con { gap: 14px !important; padding: 12px 0 !important; margin: 0 !important; }
  #main-content .mobile-secondary-links .elementor-widget-button.mobile-surface { padding: 0 !important; margin: 0 !important; }
  #main-content .mobile-secondary-links .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
  #main-content .mobile-secondary-links .elementor-button { width: 240px !important; max-width: 100% !important; }
  body.preview-site .original-footer-shell .mobile-footer-english .elementor-heading-title { padding-top: 10px !important; }
  #main-content .mobile-greeting .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
  #main-content .mobile-greeting.elementor-widget-text-editor p { text-align: left !important; margin: 0 0 14px !important; line-height: 1.95 !important; color: #444; }
  #main-content .mobile-greeting.elementor-widget-text-editor p:empty { display: none; }
  body.preview-site #main-content .mobile-policy-card.e-con { padding: 24px 20px !important; gap: 22px !important; }
  #main-content .mobile-policy-card .e-con { padding: 0 !important; gap: 18px !important; }
  #main-content .mobile-policy-card .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
  #main-content .mobile-policy-card .elementor-widget-heading { margin: 8px 0 0 !important; }
  #main-content .mobile-policy-card .elementor-heading-title { text-align: left !important; }
  #main-content .mobile-policy-card .elementor-widget-text-editor p { text-align: left !important; margin: 0 0 14px !important; }
  #main-content .mobile-policy-card ul { margin: 12px 0 18px !important; padding-left: 1.3em !important; }
  #main-content .mobile-copy { display: block; }
  #main-content .desktop-copy, #main-content .day-time-desktop, #main-content .day-infant-desktop { display: none !important; }
  #main-content .day-time-mobile { display: inline; }
  #main-content .day-infant-mobile { display: block; }
  body.preview-site #main-content .mobile-day-card.e-con,
  body.preview-site #main-content .mobile-admission-card.e-con { display: flex !important; flex-direction: column !important; padding: 22px 20px !important; gap: 12px !important; }
  #main-content .mobile-day-card .e-con:not(.mobile-day-clock):not(.mobile-day-infant),
  #main-content .mobile-admission-card .e-con:not(.mobile-art-illustration) { display: contents !important; }
  #main-content .mobile-day-card .elementor-widget,
  #main-content .mobile-admission-card .elementor-widget { margin: 0 !important; padding: 0 !important; }
  #main-content .mobile-day-card .elementor-widget-container,
  #main-content .mobile-admission-card .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
  #main-content .mobile-day-clock { order: 1; flex: 0 0 auto !important; margin: 0 !important; }
  #main-content .mobile-day-card .mobile-day-clock .mobile-background-image { width: 70px !important; height: 70px !important; }
  #main-content .mobile-day-time { order: 2; }
  #main-content .mobile-day-time p.mobile-time-range { margin: 0 0 6px !important; }
  #main-content .mobile-day-title { order: 3; }
  #main-content .mobile-day-body { order: 4; }
  #main-content .mobile-day-title .elementor-heading-title { text-align: left !important; margin: 0 !important; }
  #main-content .mobile-day-body p { text-align: left !important; margin: 0 0 6px !important; }
  body.preview-site #main-content .mobile-day-infant.e-con { order: 5; display: flex !important; padding: 16px !important; gap: 10px !important; margin: 4px 0 0 !important; }
  #main-content .mobile-day-infant .mobile-day-title { order: 0; }
  #main-content .mobile-day-infant p { text-align: left !important; margin: 0 !important; padding: 0 !important; }
  #main-content .mobile-admission-card .mobile-art-illustration { order: 0; margin: 0 !important; }
  #main-content .mobile-admission-card .mobile-art-illustration .mobile-background-image { width: 70px !important; height: 70px !important; max-height: 70px !important; }
  #main-content .mobile-admission-card .elementor-widget-heading { order: 1; }
  #main-content .mobile-admission-card .elementor-widget-text-editor { order: 2; }
  #main-content .mobile-admission-card .elementor-heading-title { text-align: left !important; margin: 0 !important; }
  #main-content .mobile-admission-card p { text-align: left !important; margin: 0 0 10px !important; }
}

@media (max-width: 900px) {
  #main-content .original-page-title { display: none !important; }
  #main-content .page-heading { display: flex; margin-bottom: 28px; }
  #main-content .page-label { flex-direction: row; gap: 16px; padding: 10px 20px; width: 100%; min-height: 80px; }
  #main-content .page-label img { width: 60px; height: 60px; flex: none; }
  #main-content .page-label h1 { font-size: clamp(23px, 5.9vw, 28px); line-height: 1.5; letter-spacing: .04em; }
  #main-content .page-photo { width: 100%; min-height: 0; height: clamp(230px, 65vw, 390px); border-radius: 40px 0 0 0; padding: 16px; background-position: center 35%; }
  #main-content .page-english { font-size: clamp(24px, 6.8vw, 40px); letter-spacing: .04em; line-height: 1.2; white-space: nowrap; }

  #main-content .preview-content > .e-con {
    width: 100% !important; max-width: 100% !important; min-height: 0 !important;
    --width: 100% !important; --content-width: 100% !important; --min-height: 0px !important;
    --margin-left: 0px !important; --margin-right: 0px !important;
    --padding-left: 20px !important; --padding-right: 20px !important;
    margin-left: 0 !important; margin-right: 0 !important;
  }
  #main-content .e-con:not(.e-atomic-element) {
    flex-direction: column !important; flex-wrap: nowrap !important;
    --flex-direction: column !important; --flex-wrap: nowrap !important;
    --width: 100% !important; --container-widget-width: 100% !important;
    --container-widget-align-self: stretch !important; --container-widget-flex-grow: 0 !important;
    --margin-left: 0px !important; --margin-right: 0px !important;
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  }
  #main-content .e-con-inner {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    flex-direction: column !important; align-items: stretch !important;
    gap: 24px !important;
  }
  #main-content .e-con.e-child:not(.e-atomic-element) {
    --min-height: 0px !important; --padding-left: 0px !important; --padding-right: 0px !important;
    min-height: 0 !important; margin-left: 0 !important; margin-right: 0 !important;
  }
  #main-content .elementor-widget {
    min-width: 0 !important; max-width: 100% !important;
    --container-widget-width: 100% !important; --container-widget-flex-grow: 0 !important;
  }
  #main-content .elementor-widget-text-editor { width: 100% !important; }
  #main-content .elementor-widget-text-editor p,
  #main-content .e-paragraph-base {
    max-width: 100% !important; font-size: 16px !important;
    line-height: 1.95 !important; letter-spacing: .02em !important;
    overflow-wrap: anywhere; word-break: normal;
  }
  #main-content .elementor-widget-text-editor br { display: initial; }
  #main-content .elementor-widget-heading .elementor-heading-title {
    max-width: 100% !important; font-size: clamp(20px, 5.4vw, 25px) !important;
    line-height: 1.65 !important; letter-spacing: .04em !important;
  }
  #main-content .elementor-widget-image { max-width: 100% !important; }
  #main-content .mobile-expand-image { width: 100% !important; max-width: 100% !important; height: auto !important; }
  #main-content .elementor-widget-spacer .elementor-spacer-inner { height: 20px !important; }
  #main-content .mobile-surface {
    padding: 22px 20px !important; --padding-top: 22px !important; --padding-bottom: 22px !important;
    --padding-left: 20px !important; --padding-right: 20px !important;
    gap: 16px !important; min-height: 0 !important; --min-height: 0px !important;
  }
  #main-content .mobile-surface .elementor-widget-container { padding-left: 0 !important; padding-right: 0 !important; }
  #main-content .mobile-background-art {
    background-image: none !important; padding: 0 !important;
    --padding-top: 0px !important; --padding-bottom: 0px !important;
    --padding-left: 0px !important; --padding-right: 0px !important;
    --min-height: 0px !important; min-height: 0 !important; height: auto !important;
    align-items: center !important; justify-content: center !important;
    overflow: hidden;
  }
  #main-content .mobile-background-image {
    display: block; flex: 0 0 auto; width: 100%; max-width: 100%; height: auto !important;
    object-fit: contain; border-radius: inherit; margin: 0 auto;
  }
  #main-content .mobile-art-clock .mobile-background-image { width: 100px !important; height: 100px !important; }
  #main-content .mobile-art-illustration .mobile-background-image { width: 140px !important; max-height: 160px; object-fit: contain; }
  #main-content .mobile-art-banner .mobile-background-image { width: 100% !important; }

  /* Do not let the more specific tablet 50% rule win on phones. */
  body.preview-site #main-content .elementor-widget-eael-post-grid .eael-grid-post {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    float: none !important; flex: 0 0 100% !important; padding: 12px 0 !important;
  }
  #main-content .eael-post-grid { display: block !important; margin: 0 !important; width: 100% !important; }
  #main-content .eael-grid-post-holder, #main-content .eael-grid-post-holder-inner,
  #main-content .eael-entry-media, #main-content .eael-entry-thumbnail,
  #main-content .eael-entry-wrapper { width: 100% !important; max-width: 100% !important; }
  #main-content .eael-entry-thumbnail, #main-content .eael-entry-media { height: auto !important; aspect-ratio: 4 / 3; }
  #main-content .eael-entry-thumbnail img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 35%; }
  #main-content .eael-entry-title { font-size: 21px !important; line-height: 1.65 !important; letter-spacing: .02em !important; }
  #main-content .eael-grid-post-excerpt, #main-content .eael-grid-post-excerpt p { font-size: 16px !important; line-height: 1.95 !important; letter-spacing: .02em !important; }
  #main-content .eael-entry-meta { font-size: 12px; }
  #main-content .eael-post-elements-readmore-btn { display: inline-block; padding: 10px 0; min-height: 40px; }

  #main-content .mobile-data-row { padding: 20px 0 !important; gap: 12px !important; }
  #main-content .mobile-data-label, #main-content .mobile-data-value {
    width: 100% !important; min-width: 0 !important; max-width: 100% !important;
    flex: 0 0 auto !important; padding: 12px 16px !important;
  }
  #main-content .mobile-data-label p, #main-content .mobile-data-value p {
    width: 100% !important; max-width: none !important; min-width: 0 !important;
    margin: 0 !important; font-size: 16px !important; line-height: 1.9 !important;
    letter-spacing: 0 !important; padding: 0 !important;
  }
  #main-content .mobile-data-label p { font-weight: 600 !important; }
  #main-content .mobile-data-value { padding-top: 0 !important; }
  #main-content .elementor-widget-button .elementor-button {
    max-width: 100% !important; min-height: 48px; font-size: 17px !important;
    line-height: 1.6 !important; letter-spacing: .02em !important; padding: 13px 24px !important;
  }
  #main-content .elementor-button-content-wrapper { white-space: normal; }
  #main-content .preview-form { margin-top: 24px; }
  #main-content .preview-form input:not([type='checkbox']),
  #main-content .preview-form textarea, #main-content .preview-form select {
    font-size: 16px !important; min-height: 48px; width: 100%;
  }
  #main-content details { margin-bottom: 12px; }
  #main-content summary { padding: 10px 0; }
  #main-content [data-e-type='e-accordion-item-content'] { padding: 12px 0 20px !important; }
  #main-content [data-e-type='e-accordion-item-content'] .e-paragraph-base { padding-left: 0 !important; }
  #main-content .elementor-widget-image-gallery .gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }

  /* The original orange footer and its pale rounded panel remain intact. */
  body.preview-site .original-footer-shell > .e-con { margin-top: 56px !important; --margin-top: 56px !important; padding: 28px 20px !important; --padding-top: 28px !important; --padding-bottom: 28px !important; }
  body.preview-site .original-footer-shell .e-con-inner { gap: 20px !important; width: 100% !important; padding: 0 !important; }
  body.preview-site .original-footer-shell .mobile-footer-card { margin: 0 !important; width: 100% !important; --width: 100% !important; padding: 24px 18px !important; --padding-left: 18px !important; --padding-right: 18px !important; border-radius: 24px !important; gap: 18px !important; }
  body.preview-site .original-footer-shell .footer-illustration { width: 105px !important; min-width: 105px !important; max-width: 105px !important; min-height: 105px !important; height: 105px !important; --min-height: 105px !important; background-size: contain !important; margin: 0 auto !important; }
  body.preview-site .original-footer-shell .e-con.e-child { max-width: 100% !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  body.preview-site .original-footer-shell .elementor-widget { width: 100% !important; min-width: 0 !important; max-width: 100% !important; margin: 0 !important; }
  body.preview-site .original-footer-shell .elementor-widget-container { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }
  body.preview-site .original-footer-shell .elementor-widget-text-editor p { font-size: 14px !important; letter-spacing: 0 !important; line-height: 1.9 !important; margin: 0 !important; padding: 0 !important; white-space: normal !important; }
  body.preview-site .original-footer-shell .elementor-widget-text-editor br { display: initial; }
  body.preview-site .original-footer-shell .mobile-footer-english .elementor-heading-title { font-size: 14px !important; letter-spacing: .12em !important; line-height: 1.4 !important; }
  body.preview-site .original-footer-shell .mobile-footer-phone .elementor-heading-title { font-size: clamp(20px,5.6vw,25px) !important; letter-spacing: 0 !important; line-height: 1.5 !important; white-space: nowrap !important; }
  body.preview-site .original-footer-shell .mobile-footer-hours p { font-size: 12px !important; line-height: 1.8 !important; }
  body.preview-site .original-footer-shell .elementor-button { padding: 12px 24px !important; font-size: 20px !important; min-height: 48px; }
  body.preview-site .original-footer-shell .elementor-widget-button:has(.elementor-button[href*='maps']) .elementor-button { font-size: 15px !important; padding: 10px 20px !important; }
  body.preview-site .original-footer-shell .elementor-hidden-mobile { display: flex !important; width: 100% !important; }
  body.preview-site .original-footer-shell .eael-simple-menu-container > ul.eael-simple-menu { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px 12px; padding: 12px 0 !important; }
  body.preview-site .original-footer-shell .eael-simple-menu > li > a { font-size: 13px !important; line-height: 1.7 !important; min-height: 40px; display: flex; align-items: center; justify-content: center; padding: 0 4px !important; }
  body.preview-site .original-footer-shell .mobile-footer-copyright .elementor-heading-title { font-size: 10px !important; letter-spacing: 0 !important; line-height: 1.8 !important; padding-bottom: 12px; }
}

@media (min-width: 601px) and (max-width: 900px) {
  #main-content .preview-content > .e-con { --padding-left: 32px !important; --padding-right: 32px !important; }
  #main-content .eael-post-grid { display: flex !important; flex-wrap: wrap; gap: 20px; }
  body.preview-site #main-content .elementor-widget-eael-post-grid .eael-grid-post { width: calc(50% - 10px) !important; flex-basis: calc(50% - 10px) !important; }
}

@media (max-width: 360px) {
  .site-brand > img { width: 52px; height: 52px; }
  .brand-name { font-size: 18px; letter-spacing: 1px; }
  .brand-sub { font-size: 7px; }
  .site-brand { gap: 7px; }
  .site-nav-link { padding: 10px 8px; font-size: 13px; }
}
.document-view-help { display: none; }
.mobile-document-control { display: none; }
.image-dialog.document-view { width: 95vw; max-width: 1100px; overflow: visible; }
.image-dialog.document-view .document-view-help { display: block; margin: 0 0 10px; font-size: 14px; }
.image-dialog.document-view .dialog-image-scroll { max-width: 100%; max-height: calc(90svh - 120px); overflow: auto; overscroll-behavior: contain; }
.image-dialog.document-view img { width: 960px; max-width: none !important; max-height: none !important; height: auto; }
@media (max-width: 900px) {
  #main-content .preview-content > .e-con { margin-top: 0 !important; margin-bottom: 0 !important; --margin-top: 0px !important; --margin-bottom: 0px !important; padding-top: 24px !important; padding-bottom: 24px !important; --padding-top: 24px !important; --padding-bottom: 24px !important; }
  #main-content .elementor-widget-spacer, #main-content .mobile-empty-space { display: none !important; }
  #main-content .mobile-time-range { font-size: 16px !important; line-height: 1.6 !important; white-space: nowrap; text-align: center; margin: 8px 0 !important; }
  #main-content .mobile-time-range br { display: none !important; }
  #main-content .mobile-background-art { padding-top: 0 !important; padding-bottom: 0 !important; }
  #main-content .mobile-document-control { display: block; margin: 14px auto; font: 500 15px/1.5 var(--round); color: #943f00; background: #fff8e8; border: 1px solid #cf8d50; border-radius: 25px; padding: 11px 22px; min-height: 44px; }
  body.preview-site .original-footer-shell.preview-content .mobile-footer-card.e-con { padding: 24px 18px !important; gap: 20px !important; }
  body.preview-site .original-footer-shell.preview-content .mobile-footer-content.e-con { gap: 14px !important; --gap: 14px !important; --row-gap: 14px !important; }
  body.preview-site .original-footer-shell.preview-content .footer-illustration.e-con { width: 105px !important; min-width: 105px !important; max-width: 105px !important; height: 105px !important; min-height: 105px !important; flex: 0 0 105px !important; }
}
