@media (max-width: 1120px) {
  .desktop-nav { gap: 20px; }
  .header-actions .button { display: none; }
  .route-grid-minimal, .material-grid-simple { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .route-grid-minimal > :last-child { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1.25fr repeat(2, 1fr); }
  .footer-contact { grid-column: 2 / 4; }
}
@media (max-width: 900px) {
  :root { --header-height: 68px; }
  .container, .container-narrow { width: min(calc(100% - 40px), var(--container)); }
  .container-wide { width: min(calc(100% - 28px), 1480px); }
  .desktop-nav, .header-actions .button { display: none; }
  .menu-toggle { display: block; }
  .header-inner { grid-template-columns: auto 1fr auto; gap: 12px; }
  .brand { justify-self: center; }
  .header-actions { justify-self: end; }
  .section, .page-body { padding-block: var(--s8); }
  .section-header, .split-layout, .page-intro-grid, .simple-list-grid, .form-layout, .material-detail-grid-minimal, .page-media-shell { grid-template-columns: 1fr; }
  .section-header { align-items: start; gap: 16px; }
  .home-hero-shell, .home-hero-content { min-height: 580px; }
  .home-source-media { min-height: 400px; }
  .service-row-minimal { grid-template-columns: 110px minmax(0, 1fr) auto; }
  .page-media-shell .page-media { min-height: 380px; }
  .form-aside { position: static; }
  .process-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-contact { grid-column: auto; }
  .profile-list { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  body { font-size: 16px; padding-bottom: 0; }
  .container, .container-narrow { width: min(calc(100% - 32px), var(--container)); }
  .container-wide { width: calc(100% - 20px); }
  .brand img { width: 30px; height: 30px; }
  .brand strong { font-size: 13px; }
  .brand small { font-size: 7px; }
  .board-label { display: none; }
  .section, .page-body { padding-block: var(--s7); }
  .section-compact { padding-block: var(--s6); }
  .page-intro { padding-block: var(--s7) var(--s5); }
  .page-intro h1 { font-size: 36px; }
  .page-intro-side { font-size: 16px; }
  .home-hero { padding-top: 10px; }
  .home-hero-shell, .home-hero-content { min-height: 570px; }
  .home-hero-overlay { background: linear-gradient(180deg, rgba(8,12,10,.18) 0%, rgba(8,12,10,.44) 42%, rgba(8,12,10,.92) 100%); }
  .home-hero-content { justify-content: end; padding: 34px 22px; }
  .home-hero-content h1 { max-width: 340px; font-size: 34px; }
  .home-hero-content .lead { font-size: 16px; line-height: 1.55; }
  .hero-actions, .actions, .cta-actions { align-items: stretch; }
  .hero-actions .button, .actions .button, .cta-actions .button { width: 100%; }
  .route-grid-minimal, .material-grid-simple, .content-grid, .two-column, .project-grid { grid-template-columns: 1fr; }
  .route-grid-minimal > :last-child { grid-column: auto; }
  .route-card-minimal img { aspect-ratio: 16/9; }
  .section-header { margin-bottom: 32px; }
  .home-source-media { min-height: 300px; }
  .service-row-minimal { grid-template-columns: 1fr; gap: 8px; padding: 22px 0; }
  .service-row-minimal .text-link { margin-top: 7px; }
  .trust-list, .identity-panel, .key-facts { grid-template-columns: 1fr; }
  .final-cta-box, .empty-state, .finder-entry, .board-empty-premium, .compare-empty { grid-template-columns: 1fr; display: grid; align-items: start; padding: 28px; }
  .final-cta-box .actions { width: 100%; }
  .search-filter-bar { grid-template-columns: 1fr; }
  .filter-chips { justify-content: flex-start; overflow-x: auto; padding-bottom: 4px; flex-wrap: nowrap; }
  .filter-chip { flex: 0 0 auto; }
  .finder-dialog-inner { padding: 24px 18px; }
  .finder-options, .finder-commercial, .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .details-content dl > div { grid-template-columns: 1fr; gap: 4px; }
  .material-detail-top { padding-block: 26px var(--s7); }
  .material-detail-grid-minimal { gap: 30px; }
  .material-detail-copy h1 { font-size: 38px; }
  .material-detail-actions .button { width: 100%; }
  .material-mobile-actions { position: sticky; bottom: 0; z-index: 50; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(250,249,246,.97); border-top: 1px solid var(--line); backdrop-filter: blur(10px); }
  .material-mobile-actions .button { min-height: 46px; padding-inline: 10px; }
  .page-media-hero { padding-top: 10px; }
  .page-media-shell .page-media { min-height: 270px; }
  .page-media-copy { padding: 28px 22px; }
  .page-media-copy h1 { font-size: 36px; }
  .process-strip { grid-template-columns: 1fr; }
  .form-shell { padding: 24px 18px; }
  .form-intro { display: grid; }
  .profile-card { grid-template-columns: 92px 1fr; }
  .profile-card img { width: 92px; height: 112px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 22px; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
  .mobile-quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 28px; }
  .mobile-quick-actions a { min-height: 46px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: var(--radius-small); color: var(--white); font-size: 14px; font-weight: 700; }
  .mobile-quick-actions a:last-child { background: var(--white); color: var(--ink); }
  .faq-list details p { padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print {
  .site-header, .site-footer, .mobile-panel, .material-mobile-actions, .button, .text-link { display: none !important; }
  body { background: #fff; color: #000; }
  .print-header { display: block; }
  .page-intro, .section-soft, .form-section { background: #fff; }
}

@media (max-width: 680px) {
  .material-gallery-strip { display: flex; overflow-x: auto; gap: 8px; padding-bottom: 6px; scroll-snap-type: x proximity; }
  .material-gallery-thumb { flex: 0 0 118px; scroll-snap-align: start; }
  .material-gallery-thumb img { height: 84px; }
}
