* { box-sizing: border-box; }
:root { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #172033; background: #f5f7fa; line-height: 1.5; }
body { margin: 0; }
a { color: #2450b8; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #7aa2ff; outline-offset: 2px; }
.site-header { background: white; border-bottom: 1px solid #dde3ea; }
.nav { max-width: 980px; margin: auto; padding: 1rem 1.25rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.nav-brand { font-weight: 750; color: #172033; text-decoration: none; }
.nav-links { display: flex; gap: 1rem; flex-wrap: wrap; }
main { max-width: 980px; margin: auto; padding: 3rem 1.25rem; }
.hero { margin-bottom: 2rem; }
.hero.compact { margin-bottom: 1.5rem; }
.eyebrow { font-size: .78rem; font-weight: 800; letter-spacing: .06em; }
h1 { font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.05; margin: .35rem 0 1rem; max-width: 850px; }
h2 { margin-top: 2rem; }
.lede { font-size: 1.12rem; max-width: 760px; }
.deadline-card, .notice, .question, .result-panel, .official-next-step { background: white; border: 1px solid #dce2ea; border-radius: 10px; padding: 1rem 1.15rem; }
.deadline-card { margin: 1.25rem 0; }
.actions, .form-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin: 1rem 0; }
.button { display: inline-block; border: 0; border-radius: 6px; padding: .75rem 1rem; font-weight: 700; text-decoration: none; cursor: pointer; font: inherit; }
.primary { background: #2854b8; color: white; }
.secondary { background: #e9eefb; color: #244b9e; }
.text-button { background: transparent; color: #244b9e; }
.card-grid, .result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.card, .result-card { background: white; border: 1px solid #dce2ea; border-radius: 10px; padding: 1rem; }
.card h3, .result-card h3 { margin-top: 0; }
.notice { margin: 1rem 0; }
.warning { border-left: 5px solid #b97700; background: #fff9eb; }
.error, .form-error { border-left: 5px solid #b42318; background: #fff2f0; color: #7a1b14; }
.form-error { padding: .9rem 1rem; margin-bottom: 1rem; border-radius: 6px; }
.decision-form { max-width: 760px; }
.question { margin: 0 0 .8rem; }
.question legend { font-weight: 750; padding: 0 .25rem; }
.question label { display: block; margin: .55rem 0; }
.question input[type="number"] { width: min(100%, 240px); padding: .65rem; border: 1px solid #aeb8c5; border-radius: 5px; font: inherit; }
.money-input { display: flex; align-items: center; gap: .35rem; margin-bottom: .7rem; }
[hidden] { display: none !important; }
.result-panel { margin-top: 2rem; border-top: 5px solid #2854b8; }
.result-summary { font-size: 1.08rem; }
.result-card-heading { display: flex; justify-content: space-between; gap: .5rem; align-items: start; flex-wrap: wrap; }
.status-badge { font-size: .78rem; font-weight: 800; padding: .25rem .45rem; border-radius: 999px; background: #eef2f7; }
.status-candidate { border-top: 4px solid #2f7d4a; }
.status-needs_official_review { border-top: 4px solid #b97700; }
.status-not_candidate { border-top: 4px solid #7d8794; }
.official-next-step { margin-top: 1rem; background: #f4f7ff; }
.official-next-step h3 { margin-top: 0; }
.privacy-note { max-width: 760px; font-size: .92rem; }
.site-footer { background: white; border-top: 1px solid #dde3ea; }
.footer-inner { max-width: 980px; margin: auto; padding: 1.5rem 1.25rem; font-size: .88rem; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 760px) {
  main { padding-top: 2rem; }
  .nav { align-items: flex-start; flex-direction: column; }
  .card-grid, .result-grid { grid-template-columns: 1fr; }
  .actions .button, .form-actions .button { width: 100%; text-align: center; }
}
