/* =========================================================
   ELO18 — V28
   Mobile: imagem acima + conteúdo em branco sólido
   nas três etapas de "Como ajudamos"
   ========================================================= */

@media (max-width: 720px) {
  .services .service-stack {
    gap: clamp(1.5rem, 6vw, 2.25rem);
  }

  .services .service-panel,
  .services .service-panel--reverse {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto;
    min-height: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(44, 61, 81, .10);
    border-radius: 24px;
    background: #fff !important;
    box-shadow: 0 20px 52px rgba(7, 20, 33, .12);
    isolation: isolate;
  }

  /* Desativa os filtros que colocavam o texto sobre a fotografia. */
  .services .service-panel::before,
  .services .service-panel::after,
  .services .service-panel--reverse::before,
  .services .service-panel--reverse::after {
    display: none !important;
    content: none !important;
  }

  /* A imagem passa a ocupar somente a parte superior do card. */
  .services .service-panel figure,
  .services .service-panel--reverse figure {
    position: relative !important;
    inset: auto !important;
    order: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    margin: 0 !important;
    overflow: hidden;
    background: #071421;
    border-radius: 0;
  }

  .services .service-panel picture,
  .services .service-panel img,
  .services .service-panel--reverse picture,
  .services .service-panel--reverse img {
    display: block;
    width: 100% !important;
    height: 100% !important;
  }

  .services .service-panel img,
  .services .service-panel--reverse img {
    object-fit: cover;
    object-position: center;
    opacity: 1 !important;
    filter: saturate(.92) contrast(1.03) brightness(.94) !important;
    transform: none !important;
  }

  /* Conteúdo em branco total, separado da imagem e sempre legível. */
  .services .service-copy,
  .services .service-panel--reverse .service-copy {
    position: relative !important;
    z-index: 3;
    order: 1 !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(2.35rem, 8vw, 3.1rem) clamp(1.35rem, 6vw, 2rem) clamp(2rem, 7vw, 2.7rem) !important;
    color: #071421 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Fusão suave entre a fotografia e o branco sólido. */
  .services .service-copy::before,
  .services .service-panel--reverse .service-copy::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    left: 0 !important;
    right: 0 !important;
    top: -64px !important;
    height: 66px !important;
    inset-inline: 0 !important;
    bottom: auto !important;
    border-radius: 0 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.34) 30%,
      rgba(255,255,255,.82) 70%,
      #fff 100%
    ) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events: none;
  }

  .services .service-index {
    margin-bottom: 1.35rem;
    color: #48a9a6 !important;
    opacity: .9;
  }

  .services .service-copy .eyebrow {
    margin-bottom: .85rem;
    color: rgba(44, 61, 81, .72) !important;
  }

  .services .service-copy h3 {
    max-width: 100% !important;
    margin: 0 0 1.25rem;
    font-size: clamp(2.05rem, 9.2vw, 3.05rem) !important;
    line-height: .98;
    color: #071421 !important;
  }

  .services .service-copy > p:not(.eyebrow) {
    margin-bottom: 1.45rem;
    color: rgba(7, 20, 33, .76) !important;
    font-size: .98rem;
    line-height: 1.65;
  }

  .services .service-copy ul {
    margin: 0;
    border-top: 1px solid rgba(44, 61, 81, .14) !important;
  }

  .services .service-copy li {
    padding: .9rem 0;
    color: rgba(7, 20, 33, .82) !important;
    border-bottom: 1px solid rgba(44, 61, 81, .14) !important;
    font-size: .86rem;
    line-height: 1.45;
  }
}

@media (max-width: 430px) {
  .services .service-panel figure,
  .services .service-panel--reverse figure {
    aspect-ratio: 4 / 3 !important;
  }

  .services .service-copy,
  .services .service-panel--reverse .service-copy {
    padding-inline: 1.2rem !important;
  }
}
