/* ======================
   Móvil (≤900px) — Overrides
   ====================== */

/* Variables finas para móvil */
:root {
  --barW: 220px;
}

/* ======================
   Fondo continuo (un solo fondo agencia.webp)
   ====================== */

/* Usamos el mismo fondo continuo que desktop */
body {
  background: url("../images/agencia.webp") no-repeat center top;
  background-size: cover;
  background-attachment: scroll;
  background-color: #fff;
}

/* Las secciones transparentes dejan ver el fondo completo */
header#home,
section#quienes,
section#quehacemos,
section#experiencia,
section#contacto {
  background: transparent !important;
  color: #111;
  padding: 28px var(--padX);   /* antes 56px, bajamos a la mitad */
}

section#quienes .quienes-wrap {
  margin-top: -40px;           /* levanta el bloque de texto hacia arriba */
}

/* Ajustes de contraste según contenido */
section#quienes,
section#experiencia {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,.25);
}

/* ======================
   Sidebar / Menú (móvil)
   ====================== */

/* NO ocultar hamburger en móvil */
.sidebar.open nav.menu {
  background: rgba(213, 25, 125, 0.95);
  padding: 14px 14px 14px 20px;
  border-left: 1px dashed rgba(255, 255, 255, 0.45);
  border-radius: 10px;
  backdrop-filter: blur(8px);
}
.sidebar.open .menu a {
  color: #ffe000;
}
.sidebar.open .menu a:hover {
  color: #fff;
}
.sidebar.open .menu .marker {
  background: #ffe000;
  color: #e51377;
}
.sidebar.open .menu .marker .notch {
  border-left-color: #e51377;
}

/* ======================
   ¿Qué hacemos? — textos centrados y logos en columna
   ====================== */

#quehacemos .qh-wrap {
  grid-template-columns: 1fr;
}
#quehacemos .qh-title {
  font-size: clamp(28px, 8vw, 40px);
  line-height: 1.08;
  text-align: center;
  margin: 0 auto 16px;
  max-width: 92vw;
  color: #111;
}
#quehacemos .qh-text {
  text-align: center;
  margin: 0 auto;
  max-width: 92vw;
  overflow-wrap: anywhere;
  hyphens: auto;
}

/* Logos ATL / BTL / Digital: uno bajo otro */
#quehacemos .qh-logos {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  max-width: 92vw;
  margin: 24px auto 0;
}
#quehacemos .qh-logos img {
  height: 90px;
  width: auto;
  display: block;
}

/* ======================
   Experiencia — grilla de logos y contraste
   ====================== */
.xp-wrap {
  grid-template-columns: 1fr;
}
.xp-title {
  text-align: center;
  max-width: 92vw;
  margin: 0 auto 18px;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,.3);
}
#experiencia .xp-logos {
  display: grid;
  grid-template-columns: repeat(3, minmax(88px, 1fr));
  gap: 16px 14px;
  align-items: start;
  justify-items: center;
  width: 100%;
  max-width: 96vw;
  margin: 6px auto 0;
}
#experiencia .xp-logos .bubble {
  width: 100%;
  max-width: 120px;
  aspect-ratio: 1/1;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12),
              inset 0 1px 0 rgba(255, 255, 255, 0.6);
  display: grid;
  place-items: center;
  overflow: hidden;
}
#experiencia .xp-logos .bubble img {
  max-width: 68%;
  height: auto;
  display: block;
}

/* Muy angosto → 2 columnas */
@media (max-width: 420px) {
  #experiencia .xp-logos {
    grid-template-columns: repeat(2, minmax(100px, 1fr));
  }
}

/* ======================
   Contáctanos — centrado
   ====================== */
.contact-wrap {
  grid-template-columns: 1fr;
  text-align: center;
}
.contact-head,
.form-card {
  grid-column: 1;
}
.form-card {
  margin: 0 auto;
}
.form-actions {
  justify-content: center;
}

/* ======================
   Accesibilidad
   ====================== */
@media (prefers-reduced-motion: reduce) {
  .reveal-up,
  .pop-in,
  .menu .marker {
    transition: none !important;
  }
}

