html { scroll-padding-top: 7rem; }
:focus-visible { outline: 3px solid #0f766e; outline-offset: 4px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 12px 18px; background: #fff; color: #0f172a; border: 2px solid #0f766e; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.compact-nav { display: none; }
button:disabled { cursor: wait; opacity: .75; }
#form-status { scroll-margin-top: 7rem; }
#form-status:empty { display: none; }
@media (max-width: 1279px) {
  .desktop-nav { display: none !important; }
  .compact-nav { display: block; position: relative; align-self: center; }
  .compact-nav summary { cursor: pointer; padding: 12px; font-weight: 700; color: #1e293b; }
  .compact-nav nav { position: absolute; right: 0; top: 100%; width: min(280px, 90vw); padding: 12px; background: #fff; border: 1px solid #cbd5e1; border-radius: 8px; box-shadow: 0 8px 20px #0f172a26; }
  .compact-nav a { display: block; padding: 12px; color: #1e293b; font-weight: 600; }
}
@media (max-width: 420px) {
  .compact-brand { gap: 8px !important; }
  .compact-brand .font-heading { font-size: 1.125rem; }
  .compact-brand > div:first-child { width: 44px; height: 44px; flex-shrink: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
