/* =====================================================================
   Responsive — 1440 / 1280 / 1024 / 768 / 390 / 320
   ===================================================================== */

/* Large laptop */
@media (max-width: 1180px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .dimension-hub {
    grid-template-columns: repeat(2, 1fr);
  }
  .dimension-core { grid-column: 1 / -1; grid-row: auto; order: -1; }
}

/* Tablet landscape — nav collapses here */
@media (max-width: 1000px) {
  .primary-nav, .header-actions .button { display: none; }
  .menu-toggle { display: inline-flex; }

  .hero .container { grid-template-columns: 1fr; gap: var(--space-5); }
  .hero__points { max-width: 520px; }

  .split, .split--even { grid-template-columns: 1fr; gap: var(--space-5); }
  .split--reverse > :first-child { order: 0; }

  .cta-band__inner { grid-template-columns: 1fr; }
  .eval-hero .container { grid-template-columns: 1fr; }
  .eval-hero::after { display: none; }
  .assistant-card { max-width: 480px; }
  .service-detail__body { grid-template-columns: 1fr; }
  .founder { grid-template-columns: 1fr; }
  .founder__card { position: static; max-width: 420px; margin-inline: auto; }
  .contact-layout { grid-template-columns: 1fr; }
  .dimension-detail { grid-template-columns: 1fr; }

  .compare { grid-template-columns: 1fr; }
  .compare__divider { width: auto; height: 44px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
}

/* Tablet portrait */
@media (max-width: 768px) {
  .stat-row { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .exp-grid { grid-template-columns: 1fr; }
  .horizon-track { grid-template-columns: repeat(2, 1fr); }
  .maturity-track { grid-template-columns: repeat(2, 1fr); }
  .maturity-step, .maturity-step:nth-child(n) { min-height: 150px; }
  .dimension-hub { grid-template-columns: 1fr 1fr; }
  .gate-grid { grid-template-columns: 1fr; }
  .pathway-flow { flex-direction: column; }
  .pathway-flow__node { flex-basis: auto; width: 100%; }
  .pathway-flow__arrow { transform: rotate(90deg); }
  .steps-flow__item { flex-basis: 100%; }
}

/* Mobile */
@media (max-width: 560px) {
  :root { --gutter: 1.1rem; }
  .grid-2, .grid-3, .grid-4, .grid-auto { grid-template-columns: 1fr; }
  .dimension-hub { grid-template-columns: 1fr; }
  .stat-row { grid-template-columns: 1fr; }
  .hero__points { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .maturity-track { grid-template-columns: 1fr; }
  .maturity-step, .maturity-step:nth-child(n) { min-height: auto; }
  .horizon-track { grid-template-columns: 1fr; }
  .compare-list { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .service-detail__head { flex-direction: column; align-items: flex-start; }
  .case-profile { grid-template-columns: 1fr 1fr; }
  .button { width: 100%; justify-content: center; }
  .button-row { flex-direction: column; align-items: stretch; }
  .hero .button-row { flex-direction: column; }
  .result-summary { grid-template-columns: 1fr 1fr; }
}

/* Very small mobile */
@media (max-width: 360px) {
  .case-profile, .result-summary { grid-template-columns: 1fr; }
  .brand__tag { display: none; }
}

/* Wide desktop refinement */
@media (min-width: 1440px) {
  .hero .container { padding-block: 6rem; }
}
