/* Shared mobile/tablet repairs. Desktop keeps the captured Elementor layout. */
@media (max-width: 1024px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .elementor .e-con, .elementor .elementor-widget { min-width: 0; }
  .elementor-location-header.elementor-34 { position: relative !important; top: auto !important; }
  .elementor-34 .elementor-element.elementor-element-37669c4 {
    flex-direction: column !important;
    margin-bottom: 0 !important;
    --margin-bottom: 0px;
    padding: 8px 12px 12px !important;
  }
  .elementor-34 .elementor-element.elementor-element-156b8fc { display: none !important; }
  .elementor-34 .elementor-element.elementor-element-2da42f7 { width: 100% !important; --width: 100%; }
  .elementor-34 .elementor-element.elementor-element-1f8c854 {
    flex-direction: row !important; flex-wrap: nowrap !important;
    align-items: center !important; justify-content: space-between !important;
    gap: 12px !important; padding: 0 !important;
  }
  .elementor-34 .elementor-element.elementor-element-9f3f435 {
    display: block !important; width: clamp(115px, 23vw, 160px) !important;
    max-width: 160px !important; flex: none !important;
  }
  .elementor-34 .elementor-element-9f3f435 img { width: 100% !important; max-width: 160px !important; height: auto !important; }
  .elementor-34 .elementor-element-1f8c854 .elementor-icon-list-icon svg { width: 24px !important; height: 24px !important; }
  .elementor-34 .elementor-element.elementor-element-10ae3d2 { width: auto !important; flex: 1; }
  .elementor-34 .elementor-element-10ae3d2 .elementor-icon-list-text { display: none !important; }
  .elementor-34 .elementor-element-10ae3d2 .elementor-icon-list-items { justify-content: flex-end !important; flex-wrap: nowrap !important; }
  .elementor-34 .elementor-element.elementor-element-bc9004c { display: flex !important; width: auto !important; }
  .elementor-34 .elementor-element.elementor-element-0e8125f,
  .elementor-34 .elementor-element.elementor-element-46067d4 { display: none !important; }
  .elementor-34 .elementor-element.elementor-element-1c561ea { padding: 8px 0 0 !important; width: 100% !important; }
  .elementor-34 .elementor-element.elementor-element-19643a2 { width: 100% !important; --width: 100%; }
  .elementor-34 .elementor-widget-nav-menu { width: 100% !important; }
  .elementor-34 .elementor-menu-toggle { margin-left: auto !important; }
  .elementor-34 .elementor-shape-top { pointer-events: none; }

  /* Show complete portraits rather than cropping a 500px-tall slice. */
  .elementor .elementor-widget-theme-post-featured-image img {
    height: auto !important; max-height: none !important;
    object-fit: contain !important; width: 100% !important;
    transform: none !important;
  }
  .elementor-widget-video .elementor-wrapper { aspect-ratio: var(--video-aspect-ratio, 16 / 9); width: 100%; }
  .elementor iframe[src*="youtube.com/embed"],
  .elementor iframe[src*="youtube-nocookie.com/embed"],
  .elementor iframe[src*="player.vimeo.com/video"] {
    display: block !important; width: 100% !important; max-width: 100% !important;
    height: auto !important; aspect-ratio: 16 / 9;
  }
  .elementor .e-con:has(> .elementor-widget-form),
  .elementor .e-con:has(> .e-con-inner > .elementor-widget-form) {
    padding-left: 14px !important; padding-right: 14px !important;
  }
  .elementor-widget-form .e-form-slot { min-width: 0; width: 100%; padding: 0 !important; }
  .elementor-192 .elementor-element.elementor-element-7533fb8 {
    padding-left: 16px !important; padding-right: 16px !important;
  }
  .elementor-412 .footer-copyright { flex-wrap: nowrap; white-space: nowrap; gap: .3em; }
  .elementor-412 .elementor-widget-theme-site-logo img { max-width: 210px; height: auto; }

  .elementor .elementor-widget-image img {
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }
  .elementor-412 .elementor-element-6eb9c4f img,
  .elementor-412 .elementor-element-e8b966f img {
    width: min(100%, 200px) !important;
    max-height: 80px !important;
    object-fit: contain !important;
  }
  .elementor .elementor-widget-text-editor p,
  .elementor .elementor-widget-theme-post-content p,
  .classic-content p {
    text-align: start;
    overflow-wrap: break-word;
    line-height: 1.6;
  }
  .elementor .elementor-widget-button .elementor-button {
    max-width: 100% !important;
    min-height: 44px;
    padding: 12px 22px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }
  .elementor .elementor-button-text { overflow-wrap: break-word; }
  .elementor .wp-block-column { min-width: 0; }

  /* Fixed 300px portrait heights must shrink with their column widths. */
  .wp-block-column .wp-block-image.has-custom-border:has(img[style*="border-radius:1000px"]),
  .wp-block-column .wp-block-image.has-custom-border:has(img[style*="border-radius:300px"]) {
    width: min(100%, 300px) !important;
    margin-inline: auto !important;
  }
  .wp-block-column .wp-block-image.has-custom-border img[style*="border-radius:1000px"],
  .wp-block-column .wp-block-image.has-custom-border img[style*="border-radius:300px"] {
    width: min(100%, 300px) !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    margin-inline: auto;
  }
}

/* Compact the home hero instead of inheriting the 923px desktop text panel. */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-39 .elementor-element.elementor-element-2e54978 { min-height: 560px !important; }
  .elementor-39 .elementor-element.elementor-element-059fcb6 {
    min-height: 560px !important; padding: 24px 0 !important;
    align-items: flex-end !important; justify-content: center !important;
  }
  .elementor-39 .elementor-element.elementor-element-df9a65e {
    width: 54% !important; --width: 54%; min-height: 0 !important;
    padding: 30px 24px 48px !important; margin-left: auto !important;
  }
  .elementor-39 .elementor-element-7b21758 .elementor-headline {
    font-size: clamp(44px, 6vw, 62px) !important;
    line-height: 1.04 !important; letter-spacing: -1.5px !important; word-spacing: 2px !important;
    text-shadow: 0 2px 12px rgb(0 60 50 / 40%);
  }
}
@media (max-width: 767px) {
  .elementor-39 .elementor-element.elementor-element-2e54978 {
    min-height: 0 !important;
    background-size: auto 420px !important;
    background-position: left top !important;
    background-color: #007466 !important;
  }
  .elementor-39 .elementor-element.elementor-element-059fcb6 {
    min-height: 0 !important; padding: 280px 0 0 !important;
  }
  .elementor-39 .elementor-element.elementor-element-df9a65e {
    width: 100% !important; min-height: 0 !important;
    padding: 20px 20px 52px !important;
    background: linear-gradient(180deg, transparent, #007466 30%);
  }
  .elementor-39 .elementor-element.elementor-element-076bddb { padding-top: 0 !important; }
  .elementor-39 .elementor-element-7b21758 .elementor-headline {
    font-size: clamp(38px, 10.8vw, 50px) !important;
    line-height: 1.05 !important; letter-spacing: -1px !important; word-spacing: 1px !important;
  }
}
@media (max-width: 1024px) {
  .elementor-39 .elementor-element-7b21758 .elementor-headline-dynamic-text { letter-spacing: -1px !important; }
  .elementor-39 .elementor-element-2e54978 > .elementor-shape-bottom svg,
  .elementor-39 .elementor-element-2e54978 > .e-con-inner > .elementor-shape-bottom svg { height: 36px !important; }
}

/* Contact information cards: balanced padding and readable text at narrow widths. */
@media (max-width: 1024px) {
  .elementor-192 .elementor-element.elementor-element-9d2bfb8 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 1fr;
    gap: 20px !important;
    padding-inline: 20px !important;
  }
  .elementor-192 .elementor-element-9d2bfb8 .e-con {
    min-height: 0 !important;
    min-width: 0 !important;
  }
  .elementor-192 .elementor-element-9d2bfb8 > .e-con {
    min-height: 270px !important;
    padding: 28px 24px !important;
    border-radius: 32px !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .elementor-192 .elementor-element-9d2bfb8 .elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }
  .elementor-192 .elementor-element-9d2bfb8 .elementor-widget-text-editor,
  .elementor-192 .elementor-element-9d2bfb8 .elementor-widget-text-editor p {
    width: 100%;
    font-size: 16px !important;
    line-height: 1.6 !important;
    text-align: center !important;
    margin-bottom: 0 !important;
  }
  .elementor-192 .elementor-element-8f858bb p {
    font-size: clamp(20px, 2.8vw, 26px) !important;
    white-space: nowrap;
    letter-spacing: 0 !important;
  }
  .elementor-192 .elementor-element-3d1ba02 p {
    text-align: left !important;
    white-space: nowrap;
  }
  .elementor-192 .elementor-element-3d1ba02 p ~ p { display: none; }
  .elementor-192 .elementor-element-9d2bfb8 .elementor-social-icons-wrapper {
    display: flex !important;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }
}
@media (max-width: 767px) {
  .elementor-192 .elementor-element.elementor-element-9d2bfb8 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .elementor-192 .elementor-element-9d2bfb8 > .e-con { min-height: 230px !important; }
}
