:root { color: #132033; font-family: Inter, ui-sans-serif, system-ui, sans-serif; line-height: 1.5; }
body { background: #f8fafc; max-width: 980px; margin: auto; padding: 2rem; }
header { align-items: center; border-bottom: 1px solid #dbe3ec; display: flex; gap: 1rem; justify-content: space-between; padding-bottom: 1rem; }
header a { color: #075985; font-weight: 700; text-decoration: none; }
.brand { align-items: center; color: #0f2940; display: inline-flex; font-size: 1.15rem; gap: .55rem; letter-spacing: -.02em; }
.brand img { display: block; }
.brand-lockup { max-width: 250px; }
.brand-tagline { color: #52606d; font-size: .78rem; font-weight: 600; letter-spacing: 0; }
nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.hero { background: linear-gradient(135deg, #e0f2fe, #f8fafc); border: 1px solid #bae6fd; border-radius: .75rem; margin: 1.5rem 0 2rem; padding: 1.5rem; }
.hero h1 { color: #0f2940; font-size: clamp(1.9rem, 5vw, 2.9rem); line-height: 1.15; margin: .25rem 0 .8rem; max-width: 22ch; }
.eyebrow { color: #075985; font-size: .85rem; font-weight: 800; letter-spacing: .07em; margin: 0; text-transform: uppercase; }
.lede { font-size: 1.1rem; max-width: 67ch; }
table { border-collapse: collapse; width: 100%; }
th, td { border-bottom: 1px solid #e5e7eb; padding: .7rem; text-align: left; }
select { margin: .3rem 0 1rem; padding: .7rem; width: 100%; }
footer { color: #52606d; font-size: .9rem; margin-top: 3rem; }
.callout { background: #eef8ff; border-left: 4px solid #075985; margin: 1rem 0; padding: 1rem; }
.button { background: #075985; border-radius: .45rem; color: #fff; display: inline-block; font-weight: 700; padding: .7rem 1rem; text-decoration: none; }
.button:hover, .button:focus-visible { background: #0c4a6e; }
.text-link { color: #075985; font-weight: 700; margin-left: .8rem; }
.answer-summary { background: #e0f2fe; border-radius: .5rem; margin: 1rem 0; padding: .85rem 1rem; }
.source-card { background: #fff; border: 1px solid #dbe3ec; border-radius: .5rem; margin-top: 1.5rem; padding: 1rem; }
.source-card h2 { font-size: 1rem; margin-top: 0; }
@media (max-width: 640px) { body { padding: 1rem; } header { align-items: flex-start; flex-direction: column; } }
