/* ═══════════════════════════════════════════════════════
   RESPONSIVE — breakpoints: 1100px, 768px, 480px
   ═══════════════════════════════════════════════════════ */

/* ── Tablet ── */
@media (max-width: 1100px) {
  :root {
    --sec-side: 2rem;
    --sec-v:    72px;
  }

  /* Layout collapses */
  .ov-grid,
  .model-g,
  .ct-g        { grid-template-columns: 1fr; gap: 2.5rem; }

  /* 2-column grids */
  .brands-g,
  .ldr-g,
  .csr-g       { grid-template-columns: 1fr 1fr; }

  .news-g      { grid-template-columns: 1fr 1fr; }
  .metrics     { grid-template-columns: 1fr 1fr; }
  .ft          { grid-template-columns: 1fr 1fr; gap: 2.25rem; }

  /* Story panels stack vertically on tablet */
  .story-grid            { gap: 1.5rem; }
  .story-panel           { grid-template-columns: 1fr; }
  .story-panel.flip      { direction: ltr; }
  .story-panel.flip .sp-photo { grid-column: 1; grid-row: 1; }
  .story-panel.flip .sp-body  { grid-column: 1; grid-row: 2; border-right: none; border-left: none; border-top: 1px solid var(--border); }
  .sp-photo              { height: 300px; min-height: 300px; }
  .sp-body               { padding: 3rem 2.5rem; border-left: none; border-top: 1px solid var(--border); }

  /* Section header grids */
  .brands-head,
  .vert-top,
  .impact-top    { gap: 2.5rem; }

  .sec-hd.asym,
  .sec-hd.sym    { gap: 2.5rem; }

  /* Compact strip: keep single row, re-center */
  .co-strip-inner      { justify-content: center; }

  /* Story header stacks */
  .story-sec-hd { flex-direction: column; align-items: flex-start; gap: 1rem; }
}

/* ── Mobile ── */
@media (max-width: 768px) {
  :root {
    --sec-side: 1.5rem;
    --sec-v:    56px;
    --nav-h:    60px;
  }

  /* Nav: hide desktop links, show hamburger */
  .nav-links,
  .nav-right .nav-contact-btn { display: none; }
  .hamburger { display: flex; }
  .nav-inner { padding: 0 var(--sec-side); }

  /* Strip: not sticky on mobile, wraps all links into a 3×2 grid */
  .co-strip       { position: sticky; top: calc(var(--nav-h) + 34px); overflow-x: visible; white-space: normal; }
  .co-strip-inner { flex-wrap: wrap; justify-content: flex-start; padding: 0; }
  .cs-link {
    flex: 0 0 33.333%; max-width: 33.333%;
    height: 40px; justify-content: center;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 0 0.5rem;
  }
  .cs-link:last-child           { border-right: 1px solid var(--border); }
  .cs-link:nth-child(3n)        { border-right: none; }
  .cs-link:nth-last-child(-n+3) { border-bottom: none; }

  /* Grids → single column */
  .brands-g,
  .ldr-g,
  .csr-g,
  .vert-cols,
  .news-g,
  .metrics     { grid-template-columns: 1fr; }

  .brands-head,
  .vert-top,
  .impact-top,
  .sec-hd.asym,
  .sec-hd.sym  { grid-template-columns: 1fr; gap: 2rem; }

  .ft { grid-template-columns: 1fr; }

  /* Mega menus hidden on mobile */
  .mega { display: none !important; }

  /* Brand card */
  .bc        { min-height: auto; }
  .bc-photo  { height: 190px; }

  /* Overview */
  .ov-hi { grid-template-columns: 1fr; }

  /* Contact form */
  .fg2 { grid-template-columns: 1fr; }

  /* Hero slide padding */
  .slide     { padding: 0 var(--sec-side) 90px; }
  .slide-nav { padding: 0 var(--sec-side) 28px; }

  /* Leadership: back to horizontal at mobile but narrower photo */
  .ldr-g { grid-template-columns: 1fr; }

  .lc-ph { height: 180px; }

  /* Story */
  .story-grid { gap: 1.25rem; }
  .sp-body { padding: 2.5rem 2rem; border-left: none; border-top: 1px solid var(--border); }

  /* Footer bar */
  .fb2 { flex-direction: column; align-items: flex-start; }
}

/* ── Small mobile ── */
@media (max-width: 480px) {
  :root { --sec-side: 1rem; }

  .slide-h { font-size: clamp(2.8rem, 10vw, 4rem); }
  .sec-h   { font-size: clamp(1.8rem, 7vw, 2.4rem); }

  .bc-photo { height: 160px; }

  /* Story */
  .story-grid { gap: 1rem; }
  .sp-body  { padding: 2rem 1.5rem; }
  .sp-photo { min-height: 240px; height: 240px; }
  .sp-stats { grid-template-columns: 1fr; }
  .sp-stat  { border-right: none; border-bottom: 1px solid var(--border); }
  .sp-stat:last-child { border-bottom: none; }

  /* Strip: 2×3 grid on very small screens */
  .cs-link {
    flex: 0 0 50%; max-width: 50%;
    font-size: 0.6rem; height: 38px; padding: 0 0.4rem;
  }
  .cs-link:nth-child(3n)        { border-right: 1px solid var(--border); }
  .cs-link:nth-last-child(-n+3) { border-bottom: 1px solid var(--border); }
  .cs-link:nth-child(2n)        { border-right: none; }
  .cs-link:nth-last-child(-n+2) { border-bottom: none; }

  /* CSR 1 col already, just gap */
  .csr-g { gap: 1rem; }

  /* Slide feats shrink */
  .slide-feats { gap: 0.5rem; }
  .sf-item     { padding: 8px 10px; min-width: 62px; }
  .sf-icon     { height: 28px; }
  .sf-icon img { height: 24px; }
  .sf-label    { font-size: 0.61rem; }

  /* Model visual */
  .model-visual { padding: 2rem 1.5rem; }

  /* Metrics */
  .metric { padding: 1.75rem 1.25rem; }
  .m-n    { font-size: 2.6rem; }

  /* Contact */
  .ct-form { padding: 1.75rem 1.25rem; }

  /* Footer */
  .ft { gap: 1.75rem; }
  .ft-legal { gap: 1rem; flex-wrap: wrap; }
}

/* ── Very small / landscape phones ── */
@media (max-width: 360px) {
  :root { --sec-side: 0.85rem; }
  .slide-h { font-size: clamp(2.4rem, 9vw, 3.2rem); }
  .arr-btn { width: 36px; height: 36px; }
}
