/* Production QA corrections, separate from the approved page layouts. */
.site-header.is-open .mega-menu a:not(.btn) { color: #082c66; }
.site-header.is-open .mega-menu h2 a { font-size: 18px; line-height: 1.3; }
.site-header.is-open .mega-menu .mega-links a { font-size: 14px; line-height: 1.45; }
.site-header.is-open .mega-trigger { color: #fff; }
.site-header.is-open .mega-menu .btn { color: #fff; }
.info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.info-card { display: block; padding: 24px; background: #f3f8ff; border: 1px solid #dce7f5; border-radius: 12px; }
.info-card h2, .info-card h3 { margin-top: 0; font-size: 22px; }
.info-card p { margin-bottom: 0; }
.info-grid a.info-card:hover { background: #e7f0ff; }
.info-links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.quote-form button[disabled] { opacity: .72; cursor: default; }
.file-drop.is-dragover, .order-upload.is-dragover { background: #e5f1ff; outline: 2px solid #125da8; }
@media (min-width: 901px) {
  .passport-page .hero-copy h1, .birth-page .hero-copy h1, .marriage-page .hero-copy h1 { font-size: clamp(36px, 3.2vw, 44px); line-height: 1.08; }
  .passport-page .hero-copy, .birth-page .hero-copy, .marriage-page .hero-copy { align-self: start; padding-top: 24px; }
  .passport-page .hero-copy .lead, .birth-page .hero-copy .lead, .marriage-page .hero-copy .lead { font-size: 16px; line-height: 1.5; }
}
@media (max-width: 700px) {
  .info-grid { grid-template-columns: 1fr; }
  .info-card { padding: 20px; }
  .info-links .btn { width: 100%; }
}
