@media (max-width: 1180px) {
  .main-nav, .header-cta { display: none; }
  .menu-toggle { display: flex; }
  .timeline { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
  .timeline::before { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
  .hero { min-height: auto; padding: 120px 0 100px; }
  .hero-grid, .page-hero-grid, .two-col, .two-col-even, .sec-head, .split, .cta-grid, .contact-grid, .post-feature, .approach-stage { grid-template-columns: 1fr; }
  .hero-visual { aspect-ratio: 4/3; max-width: 640px; }
  .page-hero .big-num { text-align: left; }
  .sec-head { gap: 20px; margin-bottom: 44px; }
  .svc-grid { grid-template-columns: 1fr; }
  .split-img { min-height: 360px; }
  .split-img::after { background: linear-gradient(180deg, transparent 60%, var(--navy)); }
  .chal-grid { grid-template-columns: 1fr 1fr; }
  .chal:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
  .chal:nth-child(even) { padding-left: 28px; border-left: 1px solid var(--line-strong); }
  .post-grid { grid-template-columns: 1fr 1fr; }
  .ind-row { grid-template-columns: 56px 1fr 32px; }
  .ind-row p { grid-column: 2 / 3; }
  .ind-row .arrow { grid-row: 1; grid-column: 3; }
  .detail-layout, .article-layout, .policy-layout { grid-template-columns: 1fr; }
  .detail-nav, .article-aside, .toc { position: static; max-height: none; }
  .detail-nav { display: none; }
  .focus-grid, .rel-grid { grid-template-columns: 1fr; }
  .facts { grid-template-columns: 1fr 1fr; }
  .diagram { grid-template-columns: 1fr 1fr; }
  .diagram div:nth-child(2) { border-right: 0; }
  .diagram div:nth-child(-n+2) { border-bottom: 1px solid var(--line-strong); }
  .diagram div::after { display: none; }
  .toc { border: 1px solid rgba(11,20,35,.14); padding: 16px 18px; }
  .toc summary { padding: 0; }
  .toc[open] summary { padding-bottom: 14px; }
  .toc summary::after { content: " +"; }
  .toc[open] summary::after { content: " −"; }
  .hero-index { display: none; }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .hero-copy { padding-left: 20px; }
  .hero-tag { display: none; }
  .hero-visual::after { display: none; }
  .hero-visual::before { inset: -12px 12px 12px -12px; }
  .btn { padding: 14px 20px; }
  .svc { grid-template-columns: 1fr; padding: 32px 24px; }
  .svc .arrow-link, .svc-body { grid-column: 1; }
  .svc-num { font-size: 34px; margin-bottom: 10px; }
  .expertise-points, .pair-grid, .principles, .form-row, .split-points, .ind-cards { grid-template-columns: 1fr; }
  .expertise-points div:nth-child(odd) { border-right: 0; }
  .expertise-points div:nth-child(even) { padding-left: 0; }
  .principles div:nth-child(even) { padding-left: 0; border-left: 0; }
  .chal-grid, .post-grid, .timeline { grid-template-columns: 1fr; }
  .chal:nth-child(even) { padding-left: 0; border-left: 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .cookie-inner { grid-template-columns: 1fr; padding: 18px; }
  .cookie-actions .btn { flex: 1 1 auto; justify-content: center; }
  .ind-card { padding: 28px 24px; }
  .facts { grid-template-columns: 1fr; }
  .diagram { grid-template-columns: 1fr; }
  .diagram div { border-right: 0 !important; border-bottom: 1px solid var(--line-strong); }
  .article-body { font-size: 17px; }
  .method li { grid-template-columns: 48px 1fr; }
}
