/* ==========================================================================
   VDC Stack — Responsive overrides (mobile-first; min-width only)
   Breakpoints: 600px (sm) · 860px (md) · 1100px (lg) · 1240px (desktop navigation)
   ========================================================================== */

@media (min-width: 600px) {
  :root { --gutter: 1.5rem; }
  .grid--2, .grid--3, .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consent { left: var(--space-5); bottom: var(--space-5); right: auto; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-card { padding: var(--space-7); }
}

@media (min-width: 860px) {
  :root { --section-pad: var(--space-9); --gutter: 2rem; }
  .grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-8); }
  .split--wide-media { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .split--wide-text { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .split--reverse > :first-child { order: 2; }
  .split--top { align-items: start; }
  .hero { padding-block: var(--space-8) var(--space-9); }
  .page-hero { padding-block: var(--space-8); }
  .story-block { grid-template-columns: 200px minmax(0, 1fr); gap: var(--space-7); }
  .footer-grid { grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr)); }
  .journey { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; align-items: stretch; }
  .journey li { flex-direction: column; text-align: center; justify-content: flex-start; margin-right: 28px; padding: var(--space-5) var(--space-3); }
  .journey li:not(:last-child)::after {
    content: ""; position: absolute; right: -24px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2348A8D6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
  }
  .journey li:last-child { margin-right: 0; }
  .journey--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .journey--4 li { text-align: left; align-items: flex-start; }
  .cta-band { padding: var(--space-8) var(--space-7); }
}

@media (min-width: 1240px) {
  .site-header__inner { gap: var(--space-5); }
  .site-nav .nav-list { display: flex; }
  .site-nav .nav-actions { display: flex; }
  .site-nav .mnav { display: none; }
  .nav-toggle { display: none; }
  .site-nav, .site-nav.is-open {
    display: flex; position: static; inset: auto; flex: 1; align-items: center; justify-content: space-between;
    padding: 0; background: transparent; border: 0; overflow: visible;
  }
  .nav-list { display: flex; gap: var(--space-1); margin-inline: auto; }
  .nav-list a { padding: var(--space-2) var(--space-3); border: 0; border-radius: var(--radius-sm); font-size: var(--fs-sm); }
  .nav-list a:hover { background: var(--color-bg-alt); }
  .nav-list a[aria-current="page"] { background: var(--color-primary-tint); }
  .nav-actions { display: flex; align-items: center; gap: var(--space-2); margin: 0; }
  .site-logo img { height: 58px; }
}

@media (min-width: 1100px) {
  .grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Spanish labels are longer: keep the desktop menu on one line */
@media (min-width: 1240px) {
  html[lang^="es"] .nav-list a, html[lang^="es"] .nav-actions .btn { white-space: nowrap; }
}
@media (min-width: 1240px) and (max-width: 1439px) {
  html[lang^="es"] .nav-list { gap: 0; }
  html[lang^="es"] .nav-list a { padding-inline: var(--space-2); }
}
