/* WCAG 2.2 AA accessibility enhancements */
:root { --orange: #ad3d1f; }
html { scroll-padding-top: 20px; }
button { min-width: 44px; min-height: 44px; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
summary:focus-visible { outline: 3px solid #ffd166; outline-offset: 4px; }
.skip-link { z-index: 1000; color: #0e2c24; text-decoration: none; border: 2px solid #0e2c24; }
.inline-form input,
.signup-dialog input:not([type="checkbox"]) { outline: revert; }
.inline-form input:focus-visible,
.signup-dialog input:focus-visible { outline: 3px solid #ffd166; outline-offset: 4px; }
[aria-invalid="true"] { outline: 3px solid #8b0000 !important; outline-offset: 3px !important; }
.menu-button,
.dialog-close { min-width: 44px; min-height: 44px; }
.consent input { width: 20px; height: 20px; flex: 0 0 auto; }
.policy-page { min-height: 100vh; max-width: 900px; }
.policy-page h1 { color: #173e32; font-size: clamp(48px, 7vw, 82px); }
.policy-page h2 { font-size: clamp(30px, 4vw, 44px); letter-spacing: -.03em; line-height: 1.1; margin-top: 48px; }
.policy-page a { text-decoration-thickness: 2px; text-underline-offset: 3px; }
.footer-bottom { color: rgba(255, 255, 255, .78); }
.footer-top p,
.principles-heading p,
.principle-grid p { color: rgba(255, 255, 255, .76); }
.microcopy { opacity: .8; }
@media (forced-colors: active) {
  .button, .nav-cta, .menu-button, .dialog-close { border: 1px solid ButtonText; }
  .reveal { opacity: 1; transform: none; }
}
