:root {
  --ink: #1b1f1d; --muted: #5d6763; --bg: #fbfaf7; --panel: #ffffff; --line: #dcdcd4; --brand: #1f4e3d; --brand-2: #c8742b; --link: #1c5a8a;
  --a: #2e7d32; --b: #7cb342; --c: #c0ca33; --d: #f9a825; --e: #fb8c00; --f: #e65100; --g: #c62828;
}
@media (prefers-color-scheme: dark) {
  :root { --ink: #ecebe6; --muted: #a9b0ac; --bg: #15191a; --panel: #1d2324; --line: #343c3d; --brand: #8fd1b4; --brand-2: #e8a060; --link: #8ec5ef; }
}
* { box-sizing: border-box; }
html { font: 17px/1.5 Georgia, 'Times New Roman', serif; color: var(--ink); background: var(--bg); }
body { margin: 0; }
a { color: var(--link); }
.wrap { max-width: 68rem; margin: 0 auto; padding: 0 1rem; }
.skip { position: absolute; left: -999px; } .skip:focus { left: 1rem; top: 1rem; background: var(--panel); padding: .5rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.site-header { border-bottom: 3px solid var(--brand); background: var(--panel); }
.header-inner { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; padding: .7rem 1rem; }
.brand { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; color: var(--ink); font-weight: 700; font-size: 1.3rem; font-family: system-ui, sans-serif; }
.brand-mark { width: 1.3rem; height: 1.3rem; background: linear-gradient(135deg, var(--brand) 60%, var(--brand-2) 60%); border-radius: 3px; }
.brand-name span { color: var(--brand); }
.header-search { display: flex; gap: .4rem; flex: 1 1 18rem; }
.header-search input { flex: 1; padding: .45rem .6rem; border: 1px solid var(--line); border-radius: 4px; font: inherit; background: var(--bg); color: var(--ink); }
button { font: inherit; font-family: system-ui, sans-serif; padding: .45rem .9rem; border: 0; border-radius: 4px; background: var(--brand); color: #fff; cursor: pointer; }
.site-nav a { margin-left: 1rem; font-family: system-ui, sans-serif; }
.crumbs ol { list-style: none; padding: 0; margin: .6rem 0 0; display: flex; flex-wrap: wrap; gap: .4rem; font-size: .9rem; font-family: system-ui, sans-serif; }
.crumbs li + li::before { content: '›'; margin-right: .4rem; color: var(--muted); }
main { padding: 1rem 1rem 3rem; }
h1 { font-size: 2rem; line-height: 1.15; margin: .3rem 0 .5rem; }
h1 .where { display: block; font-size: 1.1rem; font-weight: normal; color: var(--muted); }
h2 { font-size: 1.35rem; margin: 2rem 0 .4rem; border-bottom: 1px solid var(--line); padding-bottom: .2rem; }
h3 { font-size: 1.05rem; margin: 1.2rem 0 .3rem; }
.lede { font-size: 1.05rem; color: var(--muted); margin: 0 0 .6rem; }
.answer { background: var(--panel); border-left: 4px solid var(--brand-2); padding: .7rem 1rem; margin: .8rem 0; }
.meta, .small { font-size: .85rem; color: var(--muted); font-family: system-ui, sans-serif; }
.muted { color: var(--muted); }
.sections { font-family: system-ui, sans-serif; font-size: .9rem; display: flex; flex-wrap: wrap; gap: .3rem .9rem; margin: .5rem 0 1rem; }
table.figures { width: 100%; border-collapse: collapse; margin: .6rem 0 1rem; font-size: .95rem; background: var(--panel); }
table.figures caption { text-align: left; font-family: system-ui, sans-serif; font-size: .85rem; color: var(--muted); padding: .3rem 0; }
table.figures th, table.figures td { text-align: left; padding: .4rem .5rem; border-bottom: 1px solid var(--line); vertical-align: top; }
table.figures th { font-family: system-ui, sans-serif; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); }
.num { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
ul.compact { columns: 2; column-gap: 2rem; padding-left: 1.2rem; }
ul.changes { list-style: none; padding-left: 0; }
ul.changes li { padding: .35rem 0; border-bottom: 1px solid var(--line); }
ul.changes .kind { display: inline-block; min-width: 11rem; font-family: system-ui, sans-serif; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); }
ul.many { columns: 6; column-gap: 1rem; list-style: none; padding-left: 0; font-variant-numeric: tabular-nums; }
@media (max-width: 40rem) { ul.compact { columns: 1; } ul.many { columns: 3; } html { font-size: 16px; } }
.bands { display: flex; gap: .3rem; margin: .6rem 0; }
.band { flex: 1; text-align: center; border-radius: 4px; padding: .3rem 0; color: #fff; font-family: system-ui, sans-serif; }
.band-ct { background: var(--panel); color: var(--ink); border: 1px solid var(--line); }
.bands-table th, .bands-table td { text-align: center !important; }
.band-letter { display: block; font-weight: 700; } .band-n { display: block; font-size: .9rem; }
.band-A { background: var(--a); } .band-B { background: var(--b); } .band-C { background: var(--c); color: #222; } .band-D { background: var(--d); color: #222; } .band-E { background: var(--e); } .band-F { background: var(--f); } .band-G { background: var(--g); }
.limits { background: var(--panel); border: 1px solid var(--line); border-radius: 6px; padding: .2rem 1.2rem 1rem; margin-top: 2rem; }
.hero { padding: 1.5rem 0; }
.alert-form { display: grid; gap: .4rem; max-width: 32rem; background: var(--panel); padding: 1rem; border-radius: 6px; border: 1px solid var(--line); margin: 1rem 0; }
.alert-form h3 { margin: 0; }
.alert-form input[type=email] { padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 4px; font: inherit; background: var(--bg); color: var(--ink); }
.alert-form label { font-family: system-ui, sans-serif; font-size: .9rem; }
.alert-form button { justify-self: start; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
ul.errors { color: #a4262c; }
.big-search { display: grid; grid-template-columns: 1fr 1fr auto; gap: .5rem; align-items: end; background: var(--panel); padding: 1rem; border-radius: 6px; border: 1px solid var(--line); }
.big-search label { font-family: system-ui, sans-serif; font-size: .85rem; color: var(--muted); grid-row: 1; }
.big-search input { grid-row: 2; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 4px; font: inherit; background: var(--bg); color: var(--ink); }
.big-search button { grid-row: 2; }
@media (max-width: 40rem) { .big-search { grid-template-columns: 1fr; } .big-search label, .big-search input, .big-search button { grid-row: auto; } }
.site-footer { border-top: 1px solid var(--line); margin-top: 2rem; padding: 1.5rem 0; font-size: .95rem; }
