
/* Local compatibility and accessibility fixes. */
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.site-header, .site-footer, main { display: block; }
.legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem 1.25rem; margin-top: 1rem; }
.legal-links a { color: inherit; text-decoration: none; }
.legal-links a:hover, .legal-links a:focus-visible { text-decoration: underline; }
.policy-page { min-height: 100vh; background: #fff; color: #1f1f1f; }
.policy-shell { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; padding: 3.5rem 0 4rem; }
.policy-shell h1 { margin: 0 0 1.5rem; }
.policy-shell h2 { margin: 2.25rem 0 1rem; }
.policy-shell h3 { margin: 1.5rem 0 0.75rem; }
.policy-shell p, .policy-shell li { line-height: 1.75; }
.policy-shell ul, .policy-shell ol { padding-left: 1.4rem; }
.policy-meta { margin-bottom: 2rem; opacity: 0.82; }
.policy-contact { padding: 1.25rem; border: 1px solid currentColor; margin: 1.5rem 0; }
.policy-nav { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; padding: 1.25rem 0; display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; }
.policy-nav a { color: inherit; text-decoration: none; }
.policy-nav .policy-brand { font-weight: 700; margin-right: auto; }
.policy-footer { padding: 2rem 1rem; text-align: center; }
@media (max-width: 767px) {
  .policy-shell { width: min(100% - 1.25rem, 1120px); padding-top: 2rem; }
  .policy-nav { width: min(100% - 1.25rem, 1120px); }
  .legal-links { flex-direction: column; align-items: center; }
}
