/* ==========================================================================
   DOIS Consultora — adaptación a pantallas (mobile first en el contenido,
   estos ajustes reducen columnas hacia abajo)
   ========================================================================== */

@media (max-width: 1180px) {
  .nav__list { gap: 1.1rem; }
  .nav { gap: 1.1rem; }
  .nav__cta { display: none; }
}

@media (max-width: 1040px) {
  /* backdrop-filter crearía un bloque contenedor para el menú fijo */
  .site-header { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--bg); }
  .nav-toggle { display: inline-flex; }
  .nav {
    position: fixed; inset: var(--header-h) 0 0 0; z-index: 99; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 1.6rem;
    padding: 1.6rem clamp(1.25rem, 5vw, 2.5rem) 2.5rem; background: var(--bg); overflow-y: auto;
    transform: translateY(-12px); opacity: 0; visibility: hidden; transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
  }
  .nav.is-open { transform: none; opacity: 1; visibility: visible; }
  .nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .nav__link { padding: 1rem 0; border-bottom: 1px solid var(--line); font-family: var(--font-serif); font-size: 1.55rem; font-weight: 400; }
  .nav__link::after { display: none; }
  .nav__cta { display: inline-flex; align-self: flex-start; }
}

@media (max-width: 980px) {
  .hero__grid, .mercado__grid, .contact-grid { grid-template-columns: 1fr; }
  .hero h1 { max-width: 22ch; }
  .split, .split--wide-text { grid-template-columns: 1fr; }
  .split .photo { order: -1; }
  .strip__list { grid-template-columns: repeat(2, 1fr); }
  .strip__item:nth-child(3) { border-left: 0; padding-left: 0; }
  .strip__item:nth-child(n+3) { border-top: 1px solid var(--line); }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card, .service-card:nth-child(n+4) { grid-column: span 1; }
  .service-card:last-child { grid-column: 1 / -1; }
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-detail, .mv, .plans, .product-grid, .grid-2 { grid-template-columns: 1fr; }
  .values { grid-template-columns: repeat(2, 1fr); }
  .values li { padding: 1.4rem 1rem 1.4rem 0; border-bottom: 1px solid var(--line); }
  .values li + li { padding-left: 0; border-left: 0; }
  .values li:nth-child(even) { padding-left: 1.4rem; border-left: 1px solid var(--line); }
  .steps, .pillars-light { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .benefits, .grid-3, .trio { grid-template-columns: 1fr; }
  .trio__item, .trio__item + .trio__item { padding: 1.4rem 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .line-block { grid-template-columns: 1fr; gap: 1.4rem; }
  .line-block__title p { max-width: 60ch; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .cols-2 { grid-template-columns: 1fr; }
  .map { aspect-ratio: 16 / 9; }
}

@media (max-width: 640px) {
  body { font-size: 1rem; }
  :root { --header-h: 68px; }
  .brand__mark { width: 38px; height: 38px; }
  .brand__name { font-size: 1rem; letter-spacing: 0.26em; }
  .brand__sub { font-size: 0.6rem; letter-spacing: 0.2em; }
  .btn-row .btn { width: 100%; }
  .btn-row--inline .btn { width: auto; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card:last-child { grid-column: auto; }
  .team-grid { gap: 1rem 0.9rem; }
  .person h3 { font-size: 1.12rem; }
  .person p { font-size: 0.9rem; }
  .person-lg { grid-template-columns: 1fr; }
  .person-lg .person__photo { max-width: 320px; }
  .pillars { grid-template-columns: 1fr 1fr; }
  .pillars li { padding: 1.3rem 1.1rem; }
  .pillars strong { font-size: 1.2rem; }
  .steps, .pillars-light { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .strip__item { padding: 1.1rem 0.9rem 1.1rem 0; }
  .strip__item:nth-child(even) { padding-left: 1rem; }
  .strip__item strong { font-size: 1.1rem; }
  .plan__badge { position: static; display: inline-block; margin-bottom: 1rem; }
  .photo img { box-shadow: 8px 8px 0 var(--lav-100); }
  .whatsapp-float { width: 52px; height: 52px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}
