@media (max-width: 1100px) {
  .section { padding-block: 88px; }
  .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .hero-visual { min-height: 420px; max-width: 520px; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.1fr repeat(3, .8fr); gap: 28px; }
  .tech-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
  :root { --header-height: 70px; }
  .header-cta { display: none; }
  .menu-toggle { display: block; }
  .nav-links {
    position: fixed;
    inset: var(--header-height) 0 auto;
    display: none;
    max-height: calc(100vh - var(--header-height));
    overflow-y: auto;
    padding: 28px 22px 36px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    background: #fff;
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-md);
  }
  .nav-links.open { display: flex; }
  .nav-links a { font-size: 1.05rem; }
  .nav-links a::after { bottom: -4px; }
  .hero { min-height: auto; }
  .hero-grid, .grid-2, .contact-grid { grid-template-columns: 1fr; }
  .hero-grid { padding-block: 64px 72px; }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .project-meta, .result-grid { grid-template-columns: repeat(2, 1fr); }
  .case-grid { grid-template-columns: 1fr; }
  .stats-strip { margin-top: 0; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); border-radius: 0; }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .process-line { grid-template-columns: repeat(2, 1fr); }
  .process-step { padding-right: 18px; }
  .cta-inner { align-items: flex-start; flex-direction: column; }
  .service-row { grid-template-columns: 48px 1fr; }
  .service-row > div:last-child { grid-column: 2; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .tech-grid { grid-template-columns: repeat(2, 1fr); }
  .visual-panel { inset: 24px 0 28px 16px; }
}
@media (max-width: 560px) {
  .container { width: min(var(--container), calc(100% - 28px)); }
  .section { padding-block: 68px; }
  h1 { font-size: 2.45rem; }
  h2 { font-size: 1.85rem; }
  .hero-grid { padding-block: 52px 56px; }
  .brand img { width: 148px; height: 44px; }
  .hero-copy > p { font-size: 1rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-visual { min-height: 340px; }
  .metric-card { padding: 12px 14px; }
  .metric-card strong { font-size: 1.05rem; }
  .grid-3, .grid-4, .stats-grid, .process-line, .form-grid, .tech-grid, .faq-list, .project-meta, .result-grid { grid-template-columns: 1fr; }
  .project-nav { flex-direction: column; }
  .project-nav a { max-width: none; }
  .stat { border-right: 0; border-bottom: 1px solid var(--border); }
  .about-visual { min-height: 320px; }
  .experience-badge { right: 16px; bottom: 16px; }
  .process-step { border-bottom: 1px solid rgba(255,255,255,.08); }
  .service-row { grid-template-columns: 1fr; padding: 24px; }
  .service-row > div:last-child { grid-column: auto; }
  .page-hero { padding-block: 72px; }
  .form-card { padding: 22px; }
  .form-group.full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}
