/* PermitAssure static site — global resets + progressive enhancement.
   Layout/paint comes from per-element inline styles emitted by the build. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: 'IBM Plex Sans', Roboto, 'Helvetica Neue', Arial, sans-serif; color: #172940; background: #fff; text-wrap: pretty; }
img, svg { max-width: 100%; }
img { height: auto; }
a { color: #00658F; }
a:hover { color: #023559; }
:focus-visible { outline: 2px solid #0099C2; outline-offset: 2px; }
button { font: inherit; }
[hidden] { display: none !important; }

/* Interactive states the static build cannot emit inline */
a, button { transition: background-color 120ms cubic-bezier(.2,.8,.2,1), color 120ms cubic-bezier(.2,.8,.2,1), border-color 120ms cubic-bezier(.2,.8,.2,1), box-shadow 120ms cubic-bezier(.2,.8,.2,1); }

/* Request-type pills (real radios, visually styled as chips) */
.pa-chip { transition: background-color 120ms cubic-bezier(.2,.8,.2,1), border-color 120ms cubic-bezier(.2,.8,.2,1), color 120ms cubic-bezier(.2,.8,.2,1); position: relative; }
.pa-chip:hover { border-color: #045B99 !important; }
.pa-chip:has(.pa-chip-input:checked) { background: #023559 !important; border-color: #023559 !important; color: #fff !important; }
.pa-chip:has(.pa-chip-input:focus-visible) { outline: 2px solid #0099C2; outline-offset: 2px; }
/* Fallback for engines without :has() — site.js mirrors state onto the label */
.pa-chip.is-selected { background: #023559 !important; border-color: #023559 !important; color: #fff !important; }

/* Mobile navigation panel (built by site.js, toggled by the header's
   existing .mobile-toggle button; breakpoints live in the page's own CSS) */
#mobile-menu { display: none; }
#mobile-menu.is-open { display: flex; }

@media print {
  .mobile-toggle, #mobile-menu { display: none !important; }
  a { text-decoration: none; color: inherit; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
