html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #FFFFFF; }
* { box-sizing: border-box; }
img { max-width: 100%; }
a { color: #1B57AF; text-decoration: none; }
a:hover { color: #0E3D82; }
nav a:hover { opacity: 0.85; }
[id] { scroll-margin-top: 16px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #1B57AF; outline-offset: 2px;
}
[hidden] { display: none !important; }
button[type="submit"]:disabled { opacity: 0.6; cursor: wait; }
.form-thanks { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 8px; padding: 8px 0; }
.form-thanks h3 { margin: 0; font-family: 'Roboto Slab', serif; font-weight: 600; font-size: 26px; color: #353535; }
.form-thanks p { margin: 0; }
.form-error { grid-column: 1 / -1; margin: 0; color: #B71C1C; font-size: 14px; }

/* Phones and small tablets */
@media (max-width: 760px) {
  .page h1 { font-size: 38px !important; line-height: 1.1 !important; }
  .page h2 { font-size: 28px !important; }
  .page header nav { gap: 0 !important; font-size: 15px !important; }
  .page header nav a { padding: 8px 10px !important; }
  .page section { padding-top: 48px !important; }
  .page form { padding: 20px !important; }
}
@media (max-width: 420px) {
  .page h1 { font-size: 32px !important; }
}
