/* Generated by tools/sync-shared.js from styles/site.css. Edit the source. */
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/public-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/public-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/public-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-serif-4-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Shared accessibility helpers (all sites) */
.skip-link{position:absolute;left:.5rem;top:-4rem;z-index:100;padding:.6rem 1rem;background:#fff;color:#000;font-weight:700;border:2px solid #000;text-decoration:none}
.skip-link:focus{top:.5rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.table-wrap{position:relative;overflow-x:auto;max-width:100%}
img{max-width:100%;height:auto}
main:focus{outline:none}
.photo-credit{font-size:.8rem;opacity:.85;margin:.3rem 0 0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Debt Rolodex: civic data / card file. 60 cool white / 30 navy / 10 green. */
:root {
  --bg: #f5f7fa;
  --paper: #ffffff;
  --navy: #12355b;
  --navy-2: #1d4a7a;
  --green: #2e7d3a;
  --green-light: #9fe0a8;
  --ink: #1d2b3a;
  --muted: #4a5868;
  --line: #c9d3df;
  --panel: #e8eef5;
  --warn-bg: #fff6e0;
  --warn: #8a5a00;
  --sans: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --max: 72rem;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 1.0625rem/1.6 var(--sans); }
a { color: var(--navy-2); text-underline-offset: 2px; }
a:hover { color: var(--green); }
:focus-visible { outline: 3px solid #f2a900; outline-offset: 2px; }
h1, h2, h3, h4 { color: var(--navy); line-height: 1.2; margin: 0 0 .5em; }
h1 { font-size: clamp(2rem, 5vw, 2.9rem); font-weight: 700; letter-spacing: -.01em; }
h2 { font-size: clamp(1.4rem, 3vw, 1.75rem); font-weight: 700; }
h3 { font-size: 1.2rem; font-weight: 700; }
input, select, textarea, button { font: inherit; }

/* Sale banner */
.sale-banner { background: var(--green); color: #fff; }
.sale-banner__inner { max-width: var(--max); margin: 0 auto; padding: .45rem 1rem; display: flex; flex-wrap: wrap; gap: .25rem .75rem; justify-content: center; align-items: center; text-align: center; font-size: .95rem; }
.sale-banner__domain { font-weight: 700; }
.sale-banner__link { color: var(--navy); background: #fff; padding: .15rem .7rem; border-radius: 3px; font-weight: 700; text-decoration: none; }
.sale-banner__link:hover, .sale-banner__link:focus-visible { color: var(--navy); background: var(--green-light); outline-color: #fff; }

/* Utility strip and masthead */
.utility { background: var(--navy); color: #fff; font-size: .82rem; }
.utility__inner { max-width: var(--max); margin: 0 auto; padding: .3rem 1rem; }
.masthead { background: var(--paper); border-bottom: 1px solid var(--line); }
.masthead__inner { max-width: var(--max); margin: 0 auto; padding: .75rem 1rem 0; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .5rem 2rem; }
.logo { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; padding-bottom: .75rem; color: var(--navy); }
.logo__text { font-size: 1.55rem; font-weight: 700; letter-spacing: -.01em; }
.logo__text span { color: var(--green); }
.tabs ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
.tabs a { display: block; padding: .55rem .9rem; border: 1px solid transparent; border-bottom: 0; border-radius: 6px 6px 0 0; text-decoration: none; font-weight: 600; color: var(--navy); }
.tabs a:hover { background: var(--panel); color: var(--navy); }
.tabs a[aria-current="page"] { background: var(--bg); border-color: var(--line); position: relative; top: 1px; }

/* Buttons */
.btn { display: inline-block; background: var(--navy); color: #fff; border: 2px solid var(--navy); border-radius: 6px; padding: .6rem 1.1rem; font-weight: 700; text-decoration: none; cursor: pointer; margin: .25rem .4rem .25rem 0; }
.btn:hover { background: var(--green); border-color: var(--green); color: #fff; }
.btn--light { background: #fff; color: var(--navy); border-color: #fff; }
.btn--light:hover { background: var(--green-light); border-color: var(--green-light); color: var(--navy); }
.btn--ghost { background: transparent; color: var(--navy); }
.btn--ghost:hover { color: #fff; }

/* Hero */
.hero { background: linear-gradient(180deg, var(--paper) 0%, var(--bg) 100%); }
.hero__inner { max-width: var(--max); margin: 0 auto; padding: 2.5rem 1rem 3rem; display: grid; gap: 2rem; align-items: center; }
@media (min-width: 60rem) { .hero__inner { grid-template-columns: 1.25fr 1fr; } }
.eyebrow { text-transform: uppercase; letter-spacing: .1em; font-size: .8rem; font-weight: 700; color: var(--green); margin: 0 0 .5rem; }
.hero h1 { font-size: clamp(2.1rem, 6vw, 3.4rem); }
.hero h1 span { color: var(--green); }
.hero__lede { font-family: var(--serif); font-size: 1.15rem; max-width: 38rem; }
.hero__art img { display: block; width: 100%; height: auto; border-radius: 10px; }

/* Finder form */
.finder { background: var(--paper); border: 1px solid var(--line); border-top: 4px solid var(--navy); border-radius: 8px; padding: 1rem; display: grid; gap: .75rem; align-items: end; margin: 1.25rem 0; }
@media (min-width: 40rem) { .finder { grid-template-columns: 1fr 1fr auto; } }
.finder label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .25rem; }
.finder .btn { margin: 0; }
.optional { font-weight: 400; color: var(--muted); }
select, input[type="search"], input[type="text"] { width: 100%; padding: .55rem .6rem; border: 2px solid var(--muted); border-radius: 5px; background: #fff; color: var(--ink); min-height: 2.75rem; }
select:focus, input:focus { border-color: var(--navy); }

/* Sections */
.section__inner { max-width: var(--max); margin: 0 auto; padding: 2.75rem 1rem; }
.section--panel { background: var(--panel); }
.section--navy { background: var(--navy); color: #fff; }
.section--navy h2 { color: #fff; }
.section--navy a { color: #fff; }
.split { display: grid; gap: 1.5rem; align-items: center; }
@media (min-width: 50rem) { .split { grid-template-columns: 1.2fr 1fr; } }
.warn { background: var(--warn-bg); color: var(--ink); border-left: 6px solid #f2a900; padding: 1rem 1.1rem; border-radius: 4px; margin: 0; }
.section--navy .warn a { color: var(--navy-2); }

/* Index tabs (category grid) */
.indextabs { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.indextabs a { display: block; position: relative; background: var(--paper); border: 1px solid var(--line); border-radius: 0 8px 8px 8px; padding: .9rem 1rem; margin-top: .9rem; text-decoration: none; color: var(--navy); box-shadow: 0 2px 0 var(--line); }
.indextabs a::before { content: ""; position: absolute; left: -1px; top: -.9rem; width: 40%; height: .9rem; background: var(--paper); border: 1px solid var(--line); border-bottom: 0; border-radius: 6px 6px 0 0; }
.indextabs a:hover { border-color: var(--green); }
.indextabs a:hover::before { border-color: var(--green); }
.indextabs__label { display: block; font-weight: 700; }
.indextabs__count { font-size: .85rem; color: var(--muted); }

/* Steps */
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; counter-reset: step; }
@media (min-width: 50rem) { .steps { grid-template-columns: repeat(3, 1fr); } }
.steps li { background: var(--paper); border-radius: 8px; padding: 1.25rem; counter-increment: step; }
.steps li::before { content: counter(step); display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--green); color: #fff; font-weight: 700; margin-bottom: .5rem; }
.steps p { margin: 0; }

/* Guide lists */
.guidelist { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 50rem) { .guidelist { grid-template-columns: repeat(3, 1fr); } .guidelist--hub { grid-template-columns: 1fr; } }
.guidelist li { background: var(--paper); border: 1px solid var(--line); border-left: 6px solid var(--navy); border-radius: 6px; padding: 1.1rem 1.25rem; }
.guidelist p { margin: 0; font-family: var(--serif); }

/* Inner pages */
.page { max-width: 58rem; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.page--article { max-width: 46rem; }
.page__lede { font-family: var(--serif); font-size: 1.15rem; }
.breadcrumbs ol { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; font-size: .9rem; }
.breadcrumbs li + li::before { content: "›"; margin-right: .35rem; color: var(--muted); }
.meta { color: var(--muted); font-size: .9rem; }
.answer { background: var(--paper); border: 1px solid var(--line); border-top: 4px solid var(--green); border-radius: 6px; padding: 1rem 1.25rem; margin: 1.25rem 0 1.5rem; font-family: var(--serif); }
.answer__label { font-family: var(--sans); text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; font-weight: 700; color: var(--green); margin: 0 0 .25rem; }
.answer p:last-child { margin-bottom: 0; }
.toc { background: var(--panel); border-radius: 6px; padding: .9rem 1.25rem; margin-bottom: 1.5rem; }
.toc__title { font-weight: 700; margin: 0 0 .35rem; color: var(--navy); }
.toc ol { margin: 0; padding-left: 1.25rem; columns: 2 14rem; }
.prose { font-family: var(--serif); font-size: 1.1rem; line-height: 1.7; }
.prose h2 { font-family: var(--sans); margin-top: 2rem; }
.prose h3 { font-family: var(--sans); margin-top: 1.5rem; }
.prose li { margin: .3rem 0; }
.prose table { border-collapse: collapse; width: 100%; min-width: 30rem; font-family: var(--sans); font-size: .95rem; background: var(--paper); }
.prose th, .prose td { border: 1px solid var(--line); padding: .5rem .65rem; text-align: left; vertical-align: top; }
.prose th { background: var(--panel); color: var(--navy); }
.table-wrap { margin: 1rem 0; }
.disclaimer, .verify { background: var(--warn-bg); border-left: 6px solid #f2a900; padding: .85rem 1rem; border-radius: 4px; font-size: .95rem; }
.sources { border-top: 1px solid var(--line); margin-top: 2rem; padding-top: 1rem; font-size: .95rem; }
.sources h2 { font-size: 1.2rem; }
.sources__note { color: var(--muted); }
.related { margin-top: 2rem; background: var(--panel); border-radius: 6px; padding: 1rem 1.25rem; }
.related h2 { font-size: 1.2rem; }
.related ul { margin: 0; padding-left: 1.2rem; }
.wide-art { margin: 1.5rem 0; }
.wide-art img { display: block; width: 100%; height: auto; border-radius: 8px; }
.notes { margin-top: 2.5rem; }
.faqs { display: grid; gap: 1rem; }
.faq { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 1rem 1.25rem .25rem; }
.faq h2 { font-size: 1.25rem; }

/* Directory */
.cattabs ul { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.cattabs a { display: inline-block; padding: .35rem .75rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); text-decoration: none; font-size: .9rem; font-weight: 600; color: var(--navy); }
.cattabs a[aria-current="true"] { background: var(--navy); color: #fff; border-color: var(--navy); }
.cattabs a:hover { border-color: var(--green); }
.results-title { font-size: 1.15rem; margin-top: 1.5rem; }
.cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); }
.card { position: relative; background: var(--paper); border: 1px solid var(--line); border-radius: 0 8px 8px 8px; padding: 1.1rem 1.1rem .9rem; margin-top: 1.4rem; box-shadow: 0 3px 0 var(--line); background-image: repeating-linear-gradient(180deg, transparent 0 1.55rem, #eef2f7 1.55rem 1.6rem); background-position: 0 3.4rem; }
.card__tab { position: absolute; left: -1px; top: -1.45rem; margin: 0; padding: .1rem .75rem; background: var(--navy); color: #fff; border-radius: 6px 6px 0 0; font-size: .8rem; font-weight: 700; letter-spacing: .03em; }
.card__name { font-size: 1.15rem; margin-bottom: .2rem; }
.card__kind { color: var(--muted); font-size: .85rem; margin: 0 0 .5rem; }
.card__helps { margin: 0 0 .75rem; font-family: var(--serif); }
.card__contact { margin: 0 0 .75rem; display: grid; gap: .2rem; }
.card__contact div { display: flex; flex-wrap: wrap; gap: .5rem; }
.card__contact dt { font-weight: 700; min-width: 4.5rem; font-size: .9rem; }
.card__contact dd { margin: 0; overflow-wrap: anywhere; }
.card__contact a { font-weight: 600; }
.card__types { margin: 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.card__types a { font-size: .78rem; padding: .1rem .5rem; border-radius: 999px; background: #eaf4ec; color: #1d6b2a; text-decoration: none; font-weight: 600; }
.card__types a:hover { text-decoration: underline; }
.empty { background: var(--paper); padding: 1rem; border-radius: 6px; }

/* Calculator */
.calc { background: var(--paper); border: 1px solid var(--line); border-top: 4px solid var(--navy); border-radius: 8px; padding: 1.1rem; }
.calc__debts { border: 0; padding: 0; margin: 0 0 1rem; min-width: 0; }
.calc__debts legend { font-weight: 700; font-size: 1.15rem; color: var(--navy); padding: 0; }
.calc__table { border-collapse: collapse; width: 100%; }
.calc__rowlabel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 40rem) {
  .calc__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .calc__table, .calc__table tbody { display: block; }
  .calc__table tr { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem .5rem; padding: .6rem 0; border-top: 1px solid var(--line); }
  .calc__table th[scope="row"] { grid-column: 1 / -1; color: var(--navy); padding: 0; }
  .calc__table .calc__rowlabel { position: static; width: auto; height: auto; clip: auto; }
  .calc__table td { display: block; padding: 0; }
  .calc__table td::before { content: attr(data-label); display: block; font-size: .8rem; font-weight: 600; color: var(--muted); }
  .calc__table td:first-of-type { grid-column: 1 / -1; }
}
.calc__table th, .calc__table td { padding: .3rem .3rem; text-align: left; }
.calc__table thead th { font-size: .85rem; color: var(--muted); }
.calc__table input { min-height: 2.6rem; }
.calc label[for="extra"] { display: block; font-weight: 700; margin-top: .5rem; }
.calc__extra { max-width: 12rem; }
.hint { color: var(--muted); font-size: .9rem; margin: .25rem 0 .75rem; }
.result { margin-top: 2rem; }
.result__error { background: #fdecec; border-left: 6px solid #b42318; color: #7a1a12; padding: .75rem 1rem; border-radius: 4px; }
.result__summary { font-family: var(--serif); font-size: 1.15rem; }
.compare { display: grid; gap: 1rem; }
@media (min-width: 46rem) { .compare { grid-template-columns: 1fr 1fr; } }
.compare__card { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: 1.1rem; }
.compare__card h3 span { display: block; font-size: .85rem; font-weight: 600; color: var(--muted); }
.figures { margin: 0 0 1rem; display: grid; gap: .5rem; }
.figures div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px dashed var(--line); padding-bottom: .35rem; }
.figures dt { color: var(--muted); }
.figures dd { margin: 0; font-weight: 700; color: var(--navy); font-variant-numeric: tabular-nums; }
.compare h4 { font-size: 1rem; }
.order { margin: 0; padding-left: 1.3rem; }
.order span { color: var(--muted); font-size: .9rem; }

/* 404 */
.lost { text-align: center; padding-top: 3rem; }
.lost__card { display: inline-block; font-size: 3rem; font-weight: 700; color: var(--navy); background: var(--paper); border: 1px solid var(--line); border-radius: 0 8px 8px 8px; padding: .5rem 2rem; box-shadow: 0 3px 0 var(--line); margin: 0 0 1rem; }

/* Footer */
.footer { background: var(--navy); color: #fff; margin-top: 2rem; }
.footer a { color: #fff; }
.footer a:hover { color: var(--green-light); }
.footer__inner { max-width: var(--max); margin: 0 auto; padding: 2rem 1rem; display: grid; gap: 1.5rem; }
@media (min-width: 50rem) { .footer__inner { grid-template-columns: 1.2fr .8fr 1.2fr; } }
.footer__logo { font-weight: 700; font-size: 1.4rem; margin: 0 0 .25rem; }
.footer__urgent { font-size: .95rem; }
.footer nav ul { list-style: none; margin: 0; padding: 0; columns: 2; }
.footer nav li { margin-bottom: .4rem; }
.footer-sale { background: #fff; color: var(--ink); padding: 1rem; border-radius: 6px; margin: 0 0 1rem; font-weight: 600; }
.footer-sale .footer-sale__link { color: var(--navy-2); }
.footer-legal { font-size: .85rem; margin: 0; opacity: .9; }
