/* humIMPACT — styles communs */
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/source-serif-4-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Serif 4'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/source-serif-4-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/source-serif-4-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Serif 4'; font-style: italic; font-weight: 600; font-display: swap; src: url('../fonts/source-serif-4-latin-600-italic.woff2') format('woff2'); }
@font-face { font-family: 'Public Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/public-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Public Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/public-sans-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Public Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/public-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Public Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/public-sans-latin-700-normal.woff2') format('woff2'); }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #FFFFFF; }
img { max-width: 100%; }
a { color: #12263F; }
a:hover { color: #7A3EA6; }
:focus-visible { outline: 2px solid #7A3EA6; outline-offset: 2px; }
input:focus, select:focus, textarea:focus { outline: 2px solid #7A3EA6; outline-offset: 1px; }
input, select, textarea, button { font: inherit; }
summary::-webkit-details-marker { color: #7A3EA6; }
[hidden] { display: none !important; }

.skip-link { position: absolute; left: -9999px; top: 0; z-index: 10; background: #12263F; color: #FFFFFF; padding: 12px 16px; font-family: 'Public Sans', sans-serif; }
.skip-link:focus { left: 16px; top: 16px; color: #FFFFFF; }

.form-notice { margin: 16px 0 0; font-size: 14px; color: #A32020; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Mobile */
@media (max-width: 760px) {
  .site-header > div { padding: 12px 16px !important; gap: 12px !important; }
  .site-header img { height: 44px !important; }
  .site-nav { width: 100%; flex-wrap: nowrap !important; overflow-x: auto; gap: 20px !important; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
  .site-nav a { white-space: nowrap; }
  section, footer { padding-left: 16px !important; padding-right: 16px !important; }
  section { padding-top: 56px !important; padding-bottom: 56px !important; }
  h2 { font-size: 30px !important; }
  [style*="padding: 56px"], [style*="padding: 48px"], [style*="padding: 44px"], [style*="padding: 40px"] { padding: 24px !important; }
  [style*="font-size: 88px"] { font-size: 56px !important; }
  [style*="font-size: 56px"] { font-size: 44px !important; }
  [style*="height: 360px"] { height: 240px !important; }
}
