/* ==========================================================================
   GIMV GLOBAL — responsive.css
   Breakpoints: 1280 / 1080 / 900 / 720 / 560 / 380
   ========================================================================== */

@media (max-width: 1280px) {
  :root { --container: 1160px; }
  .footer__top { grid-template-columns: minmax(0,1.2fr) repeat(4, minmax(0,1fr)); }
}

@media (max-width: 1080px) {
  :root { --nav-h: 68px; }

  .nav__links { gap: 16px; }
  .nav__link { font-size: .88rem; }

  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .hero__grid { min-height: 0; gap: 40px; }
  .flow { grid-auto-flow: row; grid-auto-columns: auto; }
  .flow__node { border-right: 1px solid var(--line); border-bottom: 0; }
  .flow__node:last-child { border-bottom: 1px solid var(--line); }
  .on-dark .flow__node, .section--navy .flow__node, .section--ink .flow__node { border-color: var(--line-dark); }
  .flow__node::after { right: 50%; top: auto; bottom: -5px; margin: 0 -4.5px 0 0; transform: rotate(135deg); }

  .stack__layer { grid-template-columns: 108px minmax(0,1fr); }
  .stack__layer .meta { display: none; }

  .footer__top { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .footer__brand { grid-column: 1 / -1; margin-bottom: 12px; }
}

/* --- Tablet / mobile navigation --- */
@media (max-width: 900px) {
  .nav__links { display: none; }
  .nav__burger { display: inline-flex; }
  .nav.is-menu-open { background: var(--gimv-navy); color: #fff; border-bottom-color: transparent; backdrop-filter: none; }
  .nav.is-menu-open .logo__mark em { color: var(--gimv-accent); }

  .hero__grid,
  .page-hero__grid,
  .split, .split--wide-left,
  .selector,
  .section-head--split,
  .cta-block__inner,
  .grid-2, .grid-3 { grid-template-columns: minmax(0, 1fr); }

  .section-head--split { gap: 22px; align-items: start; }
  .cta-block__inner { gap: 34px; align-items: start; }

  .hero { padding-top: calc(var(--nav-h) + 44px); }
  .hero__grid { gap: 34px; }
  .globe { max-height: 460px; margin-inline: auto; max-width: 460px; }
  .globe__panel { position: relative; left: auto; bottom: auto; width: 100%; margin-top: 18px; }
  .globe__legend { position: relative; margin-top: 14px; }

  .engine__rail { grid-auto-flow: row; grid-auto-columns: auto; }
  .engine__line, .engine__progress { display: none; }
  .engine__stage {
    display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 16px; align-items: start;
    padding: 0 0 22px; border-left: 1px solid var(--line); margin-left: 6px; padding-left: 22px;
  }
  .engine__stage .engine__dot { margin: 4px 0 0; grid-column: 1; margin-left: -29px; }
  .engine__stage .label, .engine__stage .desc { grid-column: 2; }
  .engine__stage .desc { max-width: none; }

  .selector__panel { display: none !important; }
  .selector__panel.is-active { display: block !important; }

  .outcome-row { grid-template-columns: minmax(0,1fr); gap: 10px; padding: 24px 0; }
  .outcome-row__idx { color: var(--gimv-accent); }

  .cap-list__item { grid-template-columns: 44px minmax(0,1fr); }
}

@media (max-width: 720px) {
  :root { --section-y: 64px; --section-y-sm: 48px; }

  .grid-4, .grid-3, .grid-2 { grid-template-columns: minmax(0, 1fr); }
  .cap-card { min-height: 0; padding: 28px 24px; }
  .industry-card { min-height: 320px; }

  .form__row { grid-template-columns: minmax(0,1fr); }

  .footer__top { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 14px; }
  .footer__bottom nav { flex-wrap: wrap; gap: 18px; }

  .btn-row { gap: 10px; }
  .btn { padding: 13px 20px; }

  /* Horizontal scroll rails on small screens */
  .scroll-rail {
    display: grid; grid-template-columns: none;
    grid-auto-flow: column; grid-auto-columns: 78%;
    gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory;
    padding-bottom: 12px; margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
    -webkit-overflow-scrolling: touch;
  }
  .scroll-rail > * { scroll-snap-align: start; }
  .scroll-rail::-webkit-scrollbar { height: 3px; }
  .scroll-rail::-webkit-scrollbar-thumb { background: var(--line-strong); border-radius: 3px; }
}

@media (max-width: 560px) {
  :root { --gutter: 20px; }
  .hero h1 { letter-spacing: -.026em; }
  .globe { max-height: 340px; }
  .breadcrumbs { font-size: .64rem; letter-spacing: .1em; }
  .stack__layer { grid-template-columns: minmax(0,1fr); gap: 8px; padding: 18px; }
  .selector__btn { padding: 20px 4px; }
  .btn { width: 100%; justify-content: space-between; }
  .btn-row { flex-direction: column; align-items: stretch; }
}

@media (max-width: 380px) {
  .logo__word { display: none; }
  .footer__top { grid-template-columns: minmax(0,1fr); }
  .globe { max-height: 290px; }
}

/* --- Print --- */
@media print {
  .nav, .mobile-nav, .globe, .cta-block__glow { display: none !important; }
  body { color: #000; background: #fff; }
  .section--navy, .section--ink, .footer { background: #fff !important; color: #000 !important; }
}
