/* Small-screen layout corrections for the shared Elementor classes. */
@media (max-width: 1024px) {
  body.sl-macon-custom .elementor .sl-menu-wrapper { margin: 0; padding: .75rem 1rem; position: relative; z-index: 1000; }
  body.sl-macon-custom .elementor .sl-menu { display: grid; grid-template-columns: minmax(0, 1fr) 44px; width: 100%; gap: .75rem; margin: 0; }
  body.sl-macon-custom .sl-menu > .e-con { width: auto; min-width: 0; gap: 0; }
  body.sl-macon-custom .sl-menu > .e-image-link-base { justify-self: start; width: 96px; }
  body.sl-macon-custom .sl-menu > .menu-desktop { display: none; }
  body.sl-macon-custom .sl-menu > .elementor-widget-n-menu { width: 44px; justify-self: end; --n-menu-toggle-icon-distance-from-dropdown: 38px; }
  body.sl-macon-custom .sl-menu > .e-image-link-base img { width: 96px; height: auto; padding: 0; }
  body.sl-macon-custom .sl-menu [data-id="6efef8c"] { display: none; }
  body.sl-macon-custom .sl-menu .e-n-menu-toggle { width: 44px; height: 44px; padding: 10px; background: transparent; color: var(--sl-color-maroon); box-shadow: none; transform: none; }
  body.sl-macon-custom .sl-menu .e-n-menu-wrapper { background: var(--sl-color-paper); border-radius: 0 0 8px 8px; box-shadow: 0 8px 12px #23151318; }
  body.sl-macon-custom .sl-menu .elementor-widget-n-menu .e-n-menu-title-text { color: var(--sl-color-maroon); font-family: var(--font-heading, "Teko"), sans-serif; font-size: 1.5rem; line-height: 1.2; }
  body.sl-macon-custom .sl-menu .elementor-widget-n-menu :is(.e-current,.e-n-menu-title-container:hover,.e-n-menu-title-container:focus-visible) .e-n-menu-title-text { color: var(--sl-color-red); }
  body.sl-macon-custom .sl-menu .e-n-menu-title-container { min-height: 48px; padding: .75rem 1rem; }
  body.sl-macon-custom .sl-menu .elementor-widget-n-menu .e-n-menu-heading { gap: 0; padding: .5rem 0; background: var(--sl-color-paper); max-height: calc(100dvh - 120px); overflow-y: auto; }
  body.sl-macon-custom .sl-menu .e-n-menu-title,
  body.sl-macon-custom .sl-menu .e-n-menu-title-container { width: 100%; }
  body.sl-macon-custom .sl-menu .e-button-base { flex-shrink: 0; font-size: 1.25rem; min-height: 44px; padding: .5rem 2.75rem .5rem .875rem; }
  body.sl-macon-custom .sl-menu .e-button-base::before { width: 1.75rem; height: 1.75rem; right: .4rem; }
  body.sl-macon-custom .sl-menu .e-button-base::after { width: .875rem; height: .875rem; right: .84rem; }
  body.sl-macon-custom .elementor :is(.home-hero, .gc-hero, .sl-about-hero) { margin-block-start: 0; }
  body.sl-macon-custom .elementor .heading-boxed { width: 100%; max-width: 100%; }
  body.sl-macon-custom .elementor .home-hero .sl-hero-h1 { font-size: 5rem; line-height: 1; width: 100%; }
  body.sl-macon-custom .elementor .sl-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.sl-macon-custom .elementor .e-con:has(> :is(.sl-button-dark,.sl-button-light,.sl-button-outline-dark,.sl-button-outline-light)) { flex-wrap: wrap; }
  body.sl-macon-custom :is(a,button):is(.sl-button-dark,.sl-button-light,.sl-button-outline-dark,.sl-button-outline-light) { flex-shrink: 0; }
  body.sl-macon-custom .elementor .sl-about-hero-inner .sl-badge { position: static; inset: auto; width: 10rem; margin-top: 1rem; align-self: flex-end; }
  body.sl-macon-custom .elementor [data-id="31f105b"] { flex-direction: column; padding: 2rem 1rem; gap: 1rem; }
  body.sl-macon-custom .elementor [data-id="31f105b"] > .sl-badge { position: static; inset: auto; width: 9rem; margin: .5rem auto 0; }
  body.sl-macon-custom .elementor .sl-footer-wrapper { padding: 4rem 1.5rem; }
  body.sl-macon-custom .elementor .sl-footer-inner { width: 100%; gap: 2rem; }
  body.sl-macon-custom .elementor .sl-footer-inner > * { min-width: 0; width: 100%; }
  body.sl-macon-custom .elementor .sl-footer-inner > :is(a,button).e-button-base { width: fit-content; flex: 0 1 auto; align-self: center; margin-inline: auto; }
}

@media (max-width: 767px) {
  body.sl-macon-custom .elementor :is(.e-con, .e-heading-base, .e-paragraph-base, .e-image-link-base) { min-width: 0; }
  body.sl-macon-custom .elementor :is(h1,h2,h3,h4,h5,h6,p) { max-width: 100%; overflow-wrap: anywhere; }
  body.sl-macon-custom .elementor :is(.sl-hero-h1,.sl-hero,.sl-hero-display) { font-size: 3.5rem; line-height: 1; width: 100%; text-wrap: balance; }
  body.sl-macon-custom .elementor .home-hero .sl-hero-h1 { font-size: 3.5rem; }
  body.sl-macon-custom .elementor :is(.sl-script-large,.sl-script,.mc-callout-script) { font-size: 2.75rem; line-height: 1.15; }
  body.sl-macon-custom .elementor .sl-script-eyebrow { line-height: 1.2; }
  body.sl-macon-custom .elementor .heading-script-offset { position: static; inset: auto; margin: 0 0 1rem; }
  body.sl-macon-custom .elementor .sl-inner { width: 100%; }
  body.sl-macon-custom .elementor :is(.sl-2-col,.sl-about-hero-inner,.home-callout-inner,.cta-bg-image-align):not(:where(.hnr-details-wrapper *)) { flex-direction: column; gap: 2rem; align-items: stretch; }
  body.sl-macon-custom .elementor :is(.sl-2-col,.sl-about-hero-inner,.home-callout-inner,.cta-bg-image-align):not(:where(.hnr-details-wrapper *)) > * { width: 100%; max-width: 100%; flex-basis: auto; }
  body.sl-macon-custom .elementor .sl-row:not(:where(.hnr-details-wrapper *)) { flex-wrap: wrap; gap: 1rem; }
  body.sl-macon-custom .elementor :is(.sl-grid-3,.sl-grid-4,.gb-promo-carousel) { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  body.sl-macon-custom .elementor .home-image-cols.sl-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; }
  body.sl-macon-custom .elementor .home-image-cols img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; }
  body.sl-macon-custom .elementor .sl-2-col > img,
  body.sl-macon-custom .elementor .sl-2-col > .e-image-link-base img { width: 100%; height: auto; max-height: 30rem; aspect-ratio: 4 / 3; object-fit: cover; }
  body.sl-macon-custom .elementor .home-hero-inner { padding: 0 1rem; gap: 1.25rem; width: 100%; }
  body.sl-macon-custom .home-hero > .e-con { --min-height: 30rem; --padding-top: 3rem; --padding-bottom: 3rem; min-height: 30rem; }
  body.sl-macon-custom .elementor .home-hero .sl-script-large { font-size: 2.5rem; }
  body.sl-macon-custom .elementor .home-callout-inner { min-height: 32rem; padding: 2rem 1.25rem; justify-content: space-between; }
  body.sl-macon-custom .elementor .home-callout-inner .sl-badge { width: 11rem; align-self: flex-end; }
  body.sl-macon-custom .elementor :is(.cta-dark,.cta-light) .sl-row { justify-content: center; }
  body.sl-macon-custom .elementor .cta-bg-image { height: auto; min-height: 32rem; padding-block: 4rem; }
  body.sl-macon-custom .elementor .sl-footer-wrapper { padding: 3rem 1rem; }
  body.sl-macon-custom .sl-footer-inner .elementor-widget-theme-site-logo { max-width: 8rem; }
  body.sl-macon-custom .sl-footer-inner .elementor-icon-list-item a { min-height: 44px; align-items: center; }
  body.sl-macon-custom .elementor .sl-subfooter { padding: 1.5rem 1rem; text-align: center; }
  body.sl-macon-custom .elementor .sl-subfooter-byline { font-size: 1.1rem; }
  body.sl-macon-custom .elementor .sl-about-hero-inner > .e-con { padding: 2rem 1.25rem; }
  body.sl-macon-custom .elementor .sl-about-hero-inner > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
  body.sl-macon-custom .elementor .sl-about-hero-inner p { width: 100%; }
  body.sl-macon-custom .elementor .sl-about-hero-inner .sl-badge { position: static; inset: auto; width: 10rem; margin-top: 1rem; align-self: flex-end; }
  body.sl-macon-custom .elementor [data-id="fb64b25"] { flex-direction: column; gap: 1.5rem; }
  body.sl-macon-custom .elementor [data-id="fb64b25"] > * { width: 100%; }
  body.sl-macon-custom .elementor [data-id="cfefd81"] { padding: 4rem 1rem; gap: 2rem; }
  body.sl-macon-custom .elementor .script-list .elementor-icon-list-text { font-size: 2rem; }
  body.sl-macon-custom .elementor :is(.mc-callout-inner,.mc-callout-head-row) { padding: 1.5rem; }
  body.sl-macon-custom .elementor .mc-callout-inner > * { grid-column: auto; }
  body.sl-macon-custom .elementor .gift-box-wrapper { padding: 4rem 1rem; gap: 2rem; }
  body.sl-macon-custom .elementor [data-id="3781586"] { flex-direction: column; gap: 2rem; padding: 0; }
  body.sl-macon-custom .elementor [data-id="3781586"] > * { width: 100%; }
  body.sl-macon-custom .elementor [data-id="290e030"] { margin-block-start: 0; }
  body.sl-macon-custom .elementor .elementor-widget-google_maps iframe { height: 20rem; }
  body.sl-macon-custom .elementor :is(input,select,textarea) { max-width: 100%; font-size: 1rem; }
  body.sl-macon-custom .elementor .sl-badge { max-width: 100%; }
  body.sl-macon-custom .elementor-widget-divider { max-width: 100%; --container-widget-width: 100%; }
  body.sl-macon-custom :is(a,button):is(.sl-button-dark,.sl-button-light,.sl-button-outline-dark,.sl-button-outline-light) { flex-shrink: 0; white-space: normal; }
}

/* About Us: keep the editorial layout readable without desktop-sized gaps. */
@media (max-width: 1024px) {
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner { flex-direction: column; gap: 1.5rem; align-items: stretch; }
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner > * { width: 100%; max-width: 100%; flex-basis: auto; }
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner > .e-con { padding: 2rem 1.5rem; gap: 1.5rem; justify-content: flex-start; }
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner > .e-con > .e-con { gap: .75rem; }
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner h1 { font-size: 3.25rem; line-height: 1.05; }
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner p { width: 100%; }
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner > img { width: 100%; height: auto; max-height: 28rem; aspect-ratio: 4 / 3; object-fit: cover; }
  body.sl-macon-custom .elementor.elementor-14 .about-story-headings { padding: 0; gap: 1rem; }
  body.sl-macon-custom .elementor.elementor-14 .about-story-headings > .heading-script-offset { position: static; inset: auto; margin: 0; }
  body.sl-macon-custom .elementor.elementor-14 .about-story-headings > .sl-hero-h1 { line-height: 1; }
  body.sl-macon-custom .elementor.elementor-14 .about-story-headings > .elementor-widget-text-editor { margin: .5rem 0 0; }
  body.sl-macon-custom .elementor.elementor-14 .about-benefits-grid .single-benefit { padding: 1.5rem; gap: .75rem; justify-content: flex-start; }
  body.sl-macon-custom .elementor.elementor-14 .about-benefits-grid .single-benefit > :is(h2,h3) { font-size: 2.25rem; line-height: 1.1; }
}

@media (max-width: 767px) {
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner > .e-con { padding: 1.5rem 1.25rem; }
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner h1 { font-size: 2.5rem; }
  body.sl-macon-custom .elementor.elementor-14 .sl-about-hero-inner .sl-badge { width: 8rem; margin-top: 0; }
  body.sl-macon-custom .elementor.elementor-14 .about-benefits-grid .single-benefit > :is(h2,h3) { font-size: 2rem; }
  body.sl-macon-custom .elementor.elementor-14 .cta-light .heading-boxed { font-size: 2.5rem; line-height: 1.1; }
}

@media (max-width: 359px) {
  body.sl-macon-custom .sl-menu > .elementor-widget-n-menu { --n-menu-toggle-icon-distance-from-dropdown: 28px; }
  body.sl-macon-custom .sl-menu .elementor-widget-n-menu .e-n-menu-heading { max-height: calc(100dvh - 100px); }
  body.sl-macon-custom .sl-menu > .e-image-link-base,
  body.sl-macon-custom .sl-menu > .e-image-link-base img { width: 76px; }
  body.sl-macon-custom .elementor :is(.sl-hero-h1,.sl-hero,.sl-hero-display) { font-size: 3rem; }
  body.sl-macon-custom .elementor .home-hero .sl-hero-h1 { font-size: 3rem; }
}
