html { overflow-x: hidden; }
body { min-width: 280px; overflow-x: hidden; }
iframe { display: block; max-width: 100%; }

@media (min-width: 1500px) {
  main { grid-template-columns: minmax(480px, .85fr) minmax(700px, 1.15fr); }
  .form-intro { padding-left: max(6vw, calc((100vw - 1800px) / 2)); }
  .form-panel { padding-right: max(5vw, calc((100vw - 1800px) / 2)); }
}

@media (max-width: 1100px) and (min-width: 901px) {
  main { grid-template-columns: minmax(340px, .8fr) minmax(520px, 1.2fr); }
  .form-intro { padding: 6vh 4vw; }
  .form-panel { padding: 5vh 3vw; }
  .form-frame { height: 600px; }
}

@media (max-width: 900px) {
  main { min-height: calc(100svh - 74px); }
  .form-intro, .form-panel { padding-left: max(20px, 6vw); padding-right: max(20px, 6vw); }
  .form-frame { height: min(680px, 82svh); }
}

@media (max-width: 560px) {
  header { padding: 0 18px; }
  .form-intro { padding: 52px 20px; }
  .form-intro h1 { font-size: clamp(42px, 14vw, 58px); }
  .intro-copy { line-height: 1.55; }
  .form-panel { padding: 44px 16px; }
  .form-frame { height: 720px; }
  .form-heading h2 { font-size: 30px; }
}

@media (max-width: 360px) {
  .form-intro { padding: 44px 16px; }
  .form-panel { padding: 38px 10px; }
  .form-frame { height: 760px; }
  .contact-note a { overflow-wrap: anywhere; }
}

@media (max-height: 600px) and (orientation: landscape) and (min-width: 901px) {
  .form-intro, .form-panel { padding-top: 36px; padding-bottom: 36px; }
  .intro-copy { margin-top: 20px; margin-bottom: 24px; }
  .contact-note { margin-top: 24px; }
  .form-frame { height: 500px; }
}
