@media (max-width: 900px) {
  .site-nav {
    display: none;
  }

  .menu-toggle {
    display: inline-grid;
  }

  .site-header__actions .btn {
    display: none;
  }

  .service-grid,
  .trust-strip__grid,
  .sector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .value-band__inner,
  .needs-grid,
  .faq-layout,
  .contact-panel {
    grid-template-columns: 1fr;
  }

  .value-band__items {
    grid-template-columns: 1fr;
  }

  .process-steps {
    grid-template-columns: 1fr;
    max-width: 620px;
    margin-inline: auto;
  }

  .process-steps::before {
    left: 1.45rem;
    right: auto;
    top: 0;
    bottom: 0;
    width: 2px;
    height: auto;
  }

  .process-steps li {
    grid-template-columns: 3rem 1fr;
    justify-items: start;
    text-align: left;
  }

  .process-steps li h3,
  .process-steps li p {
    grid-column: 2;
  }

  .process-steps__number {
    grid-row: span 2;
  }
}

@media (max-width: 820px) {
  .hero {
    min-height: auto;
    padding-block: 156px 2.5rem;
  }

  .hero__media {
    position: relative;
    order: 2;
    width: min(100% - 2rem, 680px);
    height: auto;
    margin: 1.5rem auto 0;
    border-radius: 10px;
    overflow: hidden;
  }

  .hero__media::before {
    display: none;
  }

  .hero__media img {
    aspect-ratio: 4 / 3;
    object-position: 68% center;
  }

  .hero__content {
    order: 1;
  }

  .split-layout,
  .proof-grid,
  .site-footer__grid {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom,
  .final-cta__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .field {
    grid-column: 1;
  }
}

@media (max-width: 560px) {
  .site-header {
    top: 10px;
    width: min(calc(100% - 1rem), 1240px);
  }

  .site-header__inner {
    min-height: 66px;
    padding: 0.55rem 0.7rem 0.55rem 0.85rem;
  }

  .site-logo img,
  .footer-logo img {
    width: 108px;
  }

  h1 {
    max-width: 100%;
  }

  .hero__actions,
  .final-cta__actions {
    display: grid;
    width: 100%;
  }

  .hero__indicators,
  .trust-strip__grid,
  .service-grid,
  .sector-grid,
  .two-columns {
    grid-template-columns: 1fr;
  }

  .hero__indicators {
    display: grid;
  }

  .trust-strip {
    margin-top: 0;
  }

  .trust-strip__grid {
    padding: 1rem;
  }

  .section {
    padding-block: 3.2rem;
  }

  .contact-form__actions,
  .contact-form__actions .btn {
    width: 100%;
  }
}

/* Compactación y dinamismo global solicitado */
.section,
.editorial-section,
.taxes-section,
.legal-section,
.quality-section,
.page-quality .section,
.page-sectors .section,
.page-contact .section,
.about-origin,
.about-principles,
.about-work,
.about-sectors,
.about-highlights,
.services-section,
.needs-section,
.process-section,
.proof-section,
.faq-section,
.contact-section {
  padding-block: var(--section-space) !important;
}

.section--compact,
.page-quality .section--compact,
.page-sectors .section--compact,
.page-contact .section--compact {
  padding-block: var(--section-space-small) !important;
}

.section-heading,
.about-work__intro {
  margin-bottom: clamp(0.85rem, 1.7vw, 1.45rem) !important;
}

.about-section {
  padding-bottom: clamp(1.15rem, 2vw, 1.8rem) !important;
}

.services-section {
  padding-top: clamp(1.15rem, 2vw, 1.8rem) !important;
}

.value-band__inner,
.about-value-band__inner {
  padding-block: clamp(1.45rem, 2.5vw, 2.4rem) !important;
}

.process-section,
.about-work,
.about-sectors {
  padding-block: clamp(1.5rem, 2.7vw, 2.6rem) !important;
}

.hero__indicators li {
  border-radius: 999px;
  padding: 0.35rem 0.55rem;
  transition: transform 240ms ease, color 240ms ease, background 240ms ease, box-shadow 240ms ease;
}

.hero__indicators li:hover {
  color: var(--color-primary-dark);
  background: rgba(204, 228, 238, 0.42);
  box-shadow: 0 12px 26px rgba(4, 122, 172, 0.13);
  transform: perspective(700px) translateY(-3px) rotateX(3deg);
}

.trust-strip__grid,
.service-grid,
.sector-grid,
.about-sector-strip,
.about-process-list,
.about-highlight-grid,
.value-band__items,
.proof-grid,
.quality-benefits__grid,
.sectors-mosaic,
.contact-info__grid,
.contact-cities__grid {
  gap: var(--content-gap-small) !important;
}

@media (max-width: 900px) {
  .process-steps::before {
    width: 4px;
    height: auto;
    clip-path: polygon(35% 0, 65% 0, 65% calc(100% - 12px), 100% calc(100% - 12px), 50% 100%, 0 calc(100% - 12px), 35% calc(100% - 12px));
  }
}

@media (max-width: 560px) {
  .section,
  .editorial-section,
  .taxes-section,
  .legal-section,
  .page-quality .section,
  .page-sectors .section,
  .page-contact .section {
    padding-block: clamp(1.6rem, 6vw, 2.35rem) !important;
  }
}
