@media (max-width: 700px) {
  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  .site-header { width: 100vw; max-width: 100vw; gap: 8px; }
  .hero, .request-wrap, .request-wrap > div, .request-wrap form, .form-grid, .form-grid > *, fieldset { min-width: 0; max-width: 100%; }
  .brand { font-size: 1.05rem; flex: 0 0 auto; }
  .switcher { font-size: .56rem; padding: 9px 8px; white-space: nowrap; }
  .hero { height: 760px; padding: 132px 34px 48px; }
  .hero h1 { font-size: clamp(4.2rem, 18vw, 4.8rem); }
  .hero-intro { max-width: 285px; font-size: 1rem; }
  .hero-note { right: 18px; bottom: 20px; }
  .services .service-list article { grid-template-columns: 28px 1fr; gap: 12px; }
  .services .service-list article > a { grid-column: 2; justify-self: start; padding-top: 4px; }
  .gallery-main { width: 64%; }
  .gallery-detail { width: 38%; }
  .request-wrap { width: 100vw; max-width: 100vw; padding: 108px 20px 56px; }
  .request-wrap h1 { font-size: clamp(3.3rem, 15.5vw, 4rem); line-height: .83; }
  .request-wrap > div > p:last-of-type { font-size: 1rem; }
  .request-wrap aside { font-size: .86rem; }
  .request-wrap form { width: 100%; padding: 22px; }
  .request-wrap input, .request-wrap select, .request-wrap textarea { max-width: 100%; }
  .identity-landing { padding-left: 24px; padding-right: 24px; }
  .landing-copy h1 { font-size: clamp(4rem, 17vw, 4.7rem); }
}
