:root { color-scheme: light; font-family: system-ui, sans-serif; color: #20383b; background: #fff9ef; }
* { box-sizing: border-box; }
body { margin: 0; }
[hidden] { display: none !important; }
header, main, footer { max-width: 1080px; margin: auto; padding: 24px; }
header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #e6dac8; }
.brand { font-size: 32px; font-weight: 750; text-decoration: none; }.brand span { font-size: 15px; font-weight: 400; margin-left: 8px; }
h1 { font-size: clamp(28px, 5vw, 42px); margin: 8px 0 16px; } h2 { font-size: 24px; }
p { line-height: 1.6; max-width: 760px; } a { color: #246e68; }
.eyebrow { font-size: 12px; letter-spacing: .12em; margin-top: 32px; }
.muted, footer { color: #586d6d; font-size: 14px; } footer { border-top: 1px solid #e6dac8; margin-top: 48px; }
.card { background: #fff; padding: 24px; border: 1px solid #e6dac8; border-radius: 16px; margin: 16px 0; overflow-wrap: anywhere; }.narrow { max-width: 440px; }
label { display: block; font-size: 14px; margin: 12px 0 8px; }
input, button { font: inherit; min-height: 46px; border-radius: 8px; }
input { width: 100%; padding: 12px; border: 1px solid #829b98; background: #fff; color: #20383b; }
button { padding: 10px 18px; background: #246e68; color: white; border: 1px solid #246e68; cursor: pointer; }
button:disabled { opacity: .55; cursor: wait; } button[aria-pressed="false"] { background: transparent; color: #246e68; }
:focus-visible { outline: 3px solid #294cff; outline-offset: 3px; }
form > button { margin-top: 20px; }.lookup, nav, .heading { display: flex; gap: 12px; align-items: center; }nav { flex-wrap: wrap; margin: 28px 0; }nav a { margin-left: auto; }.heading { justify-content: space-between; }.lookup input { flex: 1; min-width: 0; }.lookup button { flex-shrink: 0; }
dt { font-size: 13px; color: #586d6d; margin-top: 16px; }dd { margin: 4px 0; white-space: pre-wrap; line-height: 1.5; } .error { color: #a12f2f; }
@media(max-width: 560px) { header, main, footer { padding: 18px; }.card { padding: 18px; }nav a { margin-left: 0; width: 100%; }.lookup { flex-direction: column; align-items: stretch; } }
