/* Step 24 homepage-only mobile hardening candidate. */
@media (max-width: 560px) {
  .accueco-home .accueco-cinematic-hero {
    overflow-x: clip;
  }

  .accueco-home .accueco-cinematic-hero .accueco-hero-content {
    width: min(100%, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
  }

  .accueco-home .accueco-cinematic-hero h2 {
    width: min(100%, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    overflow-wrap: normal;
    word-break: normal;
  }

  .accueco-home .accueco-cinematic-hero h2 > span {
    display: block;
    width: 100%;
    max-width: 100%;
    font-size: clamp(2.35rem, 12vw, 3rem) !important;
    line-height: 0.98;
    letter-spacing: 0.018em;
    white-space: normal;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .accueco-home .accueco-cinematic-hero .horizontal-list {
    box-sizing: border-box;
    width: min(100%, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    justify-items: stretch;
  }

  .accueco-home .accueco-cinematic-hero .horizontal-list li {
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 8px 10px;
    text-align: center;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  .accueco-home .accueco-cinematic-hero .horizontal-list li:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 210px);
  }

  .accueco-home .accueco-cinematic-hero .accueco-hero-cta {
    box-sizing: border-box;
    width: min(100%, 290px);
    max-width: calc(100vw - 32px);
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 360px) {
  .accueco-home .accueco-cinematic-hero .hero-icons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accueco-home .accueco-cinematic-hero .hero-icons > div {
    min-height: 84px;
  }

  .accueco-home .accueco-cinematic-hero .hero-icons span {
    font-size: 0.62rem !important;
    line-height: 1.28;
  }
}

/* Step 26: neutralize horizontal service-card reveal only below 390px. */
@media (max-width: 389px) {
  .accueco-home .content-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
  }

  .accueco-home .content-grid > .card {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-right: 0;
    margin-left: 0;
    box-sizing: border-box;
  }

  .accueco-home.accueco-scroll-reveals-active
    .content-grid > .card.accueco-scroll-reveal--left,
  .accueco-home.accueco-scroll-reveals-active
    .content-grid > .card.accueco-scroll-reveal--right {
    --accueco-reveal-x: 0px;
  }
}
/* Step 28 R2 — keep pre-reveal service cards inside sub-390px viewports. */
@media (max-width: 389px) {
  .accueco-home .content-grid > .card.accueco-scroll-reveal--left,
  .accueco-home .content-grid > .card.accueco-scroll-reveal--right {
    --accueco-reveal-x: 0px !important;
  }
}

/* Step 47A: keep the homepage hero and Energy Review CTA inside narrow viewports. */
@media (max-width: 560px) {
  .accueco-home .accueco-cinematic-hero {
    box-sizing: border-box;
    padding-inline: 16px;
  }

  .accueco-home .accueco-cinematic-hero .accueco-hero-content,
  .accueco-home .accueco-cinematic-hero h2,
  .accueco-home .accueco-cinematic-hero .accueco-hero-lead {
    box-sizing: border-box;
    margin-inline: auto;
    max-width: 100%;
    width: 100%;
  }

  .accueco-home .accueco-cinematic-hero h2 {
    font-size: clamp(2rem, 12vw, 3.2rem);
    line-height: 1.16;
    overflow-wrap: normal;
    word-break: normal;
  }

  .accueco-home .accueco-cinematic-hero h2 > span {
    font-size: clamp(1.85rem, 10.5vw, 2.7rem);
    line-height: 1.18;
  }

  .accueco-home .accueco-cinematic-hero .accueco-hero-lead {
    font-size: clamp(0.98rem, 4.5vw, 1.12rem);
    line-height: 1.45;
  }

  .accueco-home .accueco-cinematic-hero .accueco-lead-review-cta {
    background: #f8d35f;
    border: 2px solid #fff1a8;
    color: #08261e;
    line-height: 1.18;
    max-width: min(100%, 310px);
    padding: 12px 16px;
    text-align: center;
    text-shadow: none;
    white-space: normal;
  }
}
