html { scroll-behavior: smooth; }
body { margin: 0; background: #EDF1F6; }
a { color: #3F4C8A; }
a:hover { color: #1C2740; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #3F4C8A; outline-offset: 3px; }
input:focus, select:focus, textarea:focus { border-color: #3F4C8A !important; outline: none; }
section[id] { scroll-margin-top: 16px; }
#form-status.ok { color: #1F5C42; font-weight: 600; }
#form-status.err { color: #8A2C2C; font-weight: 600; }
button[disabled] { opacity: .6; cursor: progress; }

@media (max-width: 760px) {
  .hero-h1 { font-size: 46px !important; }
  h2 { font-size: 34px !important; }
  section { padding-top: 64px !important; padding-bottom: 64px !important; }
  #top { padding-top: 24px !important; gap: 40px !important; }
  #top figure p[style*="64px"] { font-size: 46px !important; }
  #top figure div[style*="padding: 44px 36px"] { padding: 32px 22px !important; }
  header nav { gap: 16px !important; }
  article { padding: 24px !important; }
  #packages p[style*="52px"] { font-size: 44px !important; }
}
@media (max-width: 420px) {
  .hero-h1 { font-size: 40px !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (max-width: 760px) {
  header nav a:not(:last-child) { display: none; }
}
