/* Help With BK Docs: styles.css, rebuilt 11-13-2026 for Mindy's round 5 review.
   Generated by launch_ready\make_styles_mindy5.py. Edit tokens_mindy5.py (colors) or the
   styles_mindy5_*.css files (layout), then run the script; do not edit this file by hand.
   Every text color pair passes WCAG 2.1 AA (4.5:1) in both modes: run check_contrast_mindy5.py. */

/* ---------- color tokens: light (default) ---------- */
:root{
  --page:#FAF6EE;
  --page-alt:#F2EADB;
  --card:#FFFFFF;
  --raised:#FFFFFF;
  --line:#E4DACA;
  --line-strong:#8C7F6E;
  --text:#2A251F;
  --muted:#5A5045;
  --heading:#1B3A5C;
  --link:#1B3A5C;
  --band:#1B3A5C;
  --band-2:#22466C;
  --on-band:#FFFCF6;
  --on-band-muted:#DCD3C3;
  --on-band-link:#F0DA9C;
  --band-line:#5D7896;
  --brass:#CC9E43;
  --brass-hover:#B98B30;
  --on-brass:#13233A;
  --brass-line:#B08A2E;
  --focus:#1B3A5C;
  --focus-on-band:#F0DA9C;
  --info-bg:#EDF1F5;
  --info-line:#9AAABB;
  --slate:#5B6B7E;
  --ok:#1C6B43;
  --error:#A40E26;
  --error-bg:#FDECEE;
  --dot-bg:#1B3A5C;
  --dot-text:#FFFCF6;
  --dot-ring:#1B3A5C;
  --rail:#C9A44C;
  --map-northern:#D3DFEC;
  --map-eastern:#EEE2C6;
  --map-central:#C4DED8;
  --map-southern:#E7D09C;
  --map-border:#FFFFFF;
  --map-label:#13233A;
  --accent-word:#1B3A5C;
  --price:#1B3A5C;
  --shadow:0 1px 2px rgba(58,44,24,.06), 0 10px 28px -14px rgba(58,44,24,.22);
  --shadow-hover:0 2px 6px rgba(58,44,24,.08), 0 20px 40px -18px rgba(58,44,24,.30);
  --photo-filter:none;
  --photo-edge:inset 0 0 0 1px rgba(58,44,24,.08);
  --cp-bg:#1B3A5C;
  --cp-line:#1B3A5C;
  --cp-text:#FFFCF6;
  --cp-icon-bg:#22466C;
  --cp-icon:#F0DA9C;
  --cp-focus:#F0DA9C;
}
/* ---------- color tokens: dark (device setting, unless the visitor picked Light) ---------- */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --page:#0E1620;
    --page-alt:#121C28;
    --card:#172331;
    --raised:#203044;
    --line:#2E3F55;
    --line-strong:#7D8EA3;
    --text:#E7E2D9;
    --muted:#B3BDCA;
    --heading:#F4EFE6;
    --link:#E6CD87;
    --band:#0A1119;
    --band-2:#142134;
    --on-band:#F4EFE6;
    --on-band-muted:#C3CBD6;
    --on-band-link:#E6CD87;
    --band-line:#33465F;
    --brass:#DFC277;
    --brass-hover:#EAD293;
    --on-brass:#0F1A2E;
    --brass-line:#DFC277;
    --focus:#F0D68A;
    --focus-on-band:#F0D68A;
    --info-bg:#1D2A3B;
    --info-line:#4A5D75;
    --slate:#93A3B8;
    --ok:#7FD6A4;
    --error:#FF9AA8;
    --error-bg:#3A1A22;
    --dot-bg:#172331;
    --dot-text:#E6CD87;
    --dot-ring:#DFC277;
    --rail:#5E5333;
    --map-northern:#2A4566;
    --map-eastern:#4A4128;
    --map-central:#2C5A58;
    --map-southern:#553A52;
    --map-border:#0E1620;
    --map-label:#F4EFE6;
    --accent-word:#E6CD87;
    --price:#E6CD87;
    --shadow:0 1px 2px rgba(0,0,0,.4);
    --shadow-hover:0 2px 4px rgba(0,0,0,.45), 0 14px 30px -16px rgba(0,0,0,.8);
    --photo-filter:brightness(.82) saturate(.88);
    --photo-edge:inset 0 0 38px 10px rgba(14,22,32,.55), inset 0 0 0 1px rgba(244,239,230,.06);
    --cp-bg:#203044;
    --cp-line:#DFC277;
    --cp-text:#F4EFE6;
    --cp-icon-bg:#172331;
    --cp-icon:#E6CD87;
    --cp-focus:#F0D68A;
  }
}
/* ---------- color tokens: dark (visitor picked Dark in the theme switch) ---------- */
:root[data-theme="dark"]{
  --page:#0E1620;
  --page-alt:#121C28;
  --card:#172331;
  --raised:#203044;
  --line:#2E3F55;
  --line-strong:#7D8EA3;
  --text:#E7E2D9;
  --muted:#B3BDCA;
  --heading:#F4EFE6;
  --link:#E6CD87;
  --band:#0A1119;
  --band-2:#142134;
  --on-band:#F4EFE6;
  --on-band-muted:#C3CBD6;
  --on-band-link:#E6CD87;
  --band-line:#33465F;
  --brass:#DFC277;
  --brass-hover:#EAD293;
  --on-brass:#0F1A2E;
  --brass-line:#DFC277;
  --focus:#F0D68A;
  --focus-on-band:#F0D68A;
  --info-bg:#1D2A3B;
  --info-line:#4A5D75;
  --slate:#93A3B8;
  --ok:#7FD6A4;
  --error:#FF9AA8;
  --error-bg:#3A1A22;
  --dot-bg:#172331;
  --dot-text:#E6CD87;
  --dot-ring:#DFC277;
  --rail:#5E5333;
  --map-northern:#2A4566;
  --map-eastern:#4A4128;
  --map-central:#2C5A58;
  --map-southern:#553A52;
  --map-border:#0E1620;
  --map-label:#F4EFE6;
  --accent-word:#E6CD87;
  --price:#E6CD87;
  --shadow:0 1px 2px rgba(0,0,0,.4);
  --shadow-hover:0 2px 4px rgba(0,0,0,.45), 0 14px 30px -16px rgba(0,0,0,.8);
  --photo-filter:brightness(.82) saturate(.88);
  --photo-edge:inset 0 0 38px 10px rgba(14,22,32,.55), inset 0 0 0 1px rgba(244,239,230,.06);
  --cp-bg:#203044;
  --cp-line:#DFC277;
  --cp-text:#F4EFE6;
  --cp-icon-bg:#172331;
  --cp-icon:#E6CD87;
  --cp-focus:#F0D68A;
}
/* logo per mode: the light logo has no navy tile; the dark logo keeps it */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .logo-light{display:none!important}
  :root:not([data-theme="light"]) .logo-dark{display:block!important}
}
:root[data-theme="dark"] .logo-light{display:none!important}
:root[data-theme="dark"] .logo-dark{display:block!important}
/* ---------- base ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/inter-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:optional;src:url(/fonts/source-serif-4-latin-wght-normal.woff2) format("woff2")}
:root{
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-head:"Source Serif 4",Georgia,"Times New Roman",serif;
  --radius:14px; --radius-sm:10px; --radius-lg:20px; --ease:cubic-bezier(.2,.7,.2,1);
  --header-h:76px; color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){color-scheme:dark}}
:root[data-theme="dark"]{color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{font-size:112.5%;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--page);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px;overflow-wrap:break-word}
a:hover{text-decoration-thickness:2px}
p,li,dd,dt{overflow-wrap:break-word}
main p,main li{max-width:75ch}
h1,h2,h3{font-family:var(--font-head);font-weight:600;color:var(--heading);letter-spacing:-.01em}
h1{font-size:clamp(2rem,1.4rem + 2.4vw,2.9rem);line-height:1.1;margin:0 0 .75rem;letter-spacing:-.02em}
h2{font-size:clamp(1.45rem,1.25rem + .8vw,1.85rem);line-height:1.2;margin:2.5rem 0 .75rem}
h3{font-size:1.1667rem;line-height:1.3;margin:1.25rem 0 .4rem}
.lead{font-size:clamp(1.08rem,1.02rem + .3vw,1.22rem);line-height:1.6;color:var(--text)}
.accent-word{color:var(--accent-word)}
::selection{background:#E9D9A6;color:#1B1814}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--band);color:var(--on-band);padding:.6rem 1rem;z-index:100;border-radius:0 0 8px 8px}
.skip:focus{left:1rem;top:0}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
@media (min-width:700px){.wrap{padding:0 24px}}
.icon{width:1.1em;height:1.1em;flex:none;vertical-align:-.15em}
.draft-banner{background:#8a1c1c;color:#fff;text-align:center;padding:.4rem 16px;font-weight:700}
.draft-note{color:var(--error);font-style:italic}
html:not(.js) .js-only{display:none!important}
section{margin-bottom:1rem}
main{display:block;padding:0 0 3.5rem}
main:focus{outline:none}

/* ---------- buttons: brass is the "interactive" accent in both modes ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-weight:700;line-height:1.3;text-decoration:none;cursor:pointer;min-height:44px;padding:.65rem 1.25rem;border-radius:var(--radius-sm);border:2px solid transparent;background:var(--brass);color:var(--on-brass)}
.btn:hover{background:var(--brass-hover);color:var(--on-brass)}
.btn-secondary,.btn.secondary{background:transparent;color:var(--link);border-color:var(--line-strong)}
.btn-secondary:hover,.btn.secondary:hover{background:var(--page-alt);color:var(--link);border-color:var(--link)}
.btn-lg{padding:.8rem 1.5rem;font-size:1.05rem;min-height:52px}
.btn-xl{padding:1rem 1.75rem;font-size:1.1rem;min-height:58px}
.btn[hidden]{display:none}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0 .5rem}
.more-link{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;min-height:44px}

/* ---------- header: navy top strip with the theme switch, one clean row below ---------- */
.site-header{background:var(--page);border-bottom:1px solid var(--line);position:relative;z-index:50}
.topbar{background:var(--band);color:var(--on-band)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;min-height:40px}
.topbar .tagline{margin:0;padding:.4rem 0;font-size:.8333rem;line-height:1.45;color:var(--on-band);flex:1 1 20rem}
.theme-switch{display:none;align-items:center;gap:2px;padding:2px;border:1px solid var(--band-line);border-radius:10px;margin:.3rem 0;flex:none}
.js .theme-switch{display:inline-flex}
.theme-switch button{display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-size:.8333rem;font-weight:600;color:var(--on-band);background:transparent;border:0;border-radius:8px;min-height:34px;padding:.2rem .6rem;cursor:pointer}
.theme-switch button:hover{background:var(--band-2)}
.theme-switch button[aria-pressed="true"]{background:var(--on-band);color:var(--band)}
.theme-switch .icon{width:16px;height:16px}
.topbar :focus-visible,.cta-band :focus-visible,.site-footer :focus-visible{outline-color:var(--focus-on-band)}
.header-inner{display:flex;align-items:center;flex-wrap:nowrap;gap:1rem 1.5rem;min-height:var(--header-h);max-width:1240px;transition:min-height .25s var(--ease)}
.brand{display:flex;align-items:center;margin-right:auto;min-height:44px;flex:none;line-height:0;text-decoration:none}
.brand img{display:block;height:42px;width:auto;transition:height .25s var(--ease)}
.logo-dark{display:none!important}
#site-nav ul{list-style:none;display:flex;align-items:center;flex-wrap:nowrap;gap:0 1.3rem;margin:0;padding:0}
#site-nav a:not(.btn){position:relative;display:inline-flex;align-items:center;min-height:44px;padding:.5rem 0;color:var(--text);font-weight:500;font-size:.9444rem;text-decoration:none;white-space:nowrap}
#site-nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;border-radius:2px;background:var(--brass-line);transform:scaleX(0);transform-origin:left center}
#site-nav a:not(.btn):hover{color:var(--link)}
#site-nav a:not(.btn):hover::after{transform:scaleX(1)}
#site-nav a[aria-current="page"]:not(.btn){font-weight:700;color:var(--link)}
#site-nav a[aria-current="page"]:not(.btn)::after{transform:scaleX(1);height:3px}
#site-nav .nav-cta .btn{min-height:44px;padding:.5rem 1.1rem;font-size:.9444rem;white-space:nowrap}
#site-nav .nav-cta .btn[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.nav-toggle{display:none;align-items:center;justify-content:center;background:transparent;border:2px solid var(--line-strong);border-radius:10px;color:var(--link);min-width:48px;min-height:48px;padding:.5rem;cursor:pointer}
.nav-toggle .icon{width:24px;height:24px}
.nav-toggle .icon-close{display:none}
.nav-toggle[aria-expanded="true"] .icon-open{display:none}
.nav-toggle[aria-expanded="true"] .icon-close{display:block}
@media (max-width:1239px){
  .header-inner{flex-wrap:wrap;gap:0 1rem;min-height:68px}
  .nav-toggle{display:inline-flex}
  .js #site-nav:not(.open){display:none}
  #site-nav{flex-basis:100%}
  #site-nav ul{flex-direction:column;align-items:stretch;gap:0;padding:.25rem 0 1rem}
  #site-nav li{border-top:1px solid var(--line)}
  #site-nav a:not(.btn){display:flex;width:100%;min-height:52px;padding:.75rem .25rem;font-size:1.0556rem;white-space:normal}
  #site-nav a:not(.btn)::after{left:.25rem;right:auto;width:32px;bottom:8px}
  #site-nav li.nav-cta{border-top:0;padding-top:1rem}
  #site-nav .nav-cta .btn{display:flex;width:100%;min-height:52px;font-size:1.0556rem}
}
@media (max-width:640px){
  .brand img{height:34px}
  .topbar .tagline{font-size:.7778rem}
}
/* the header stays in view on larger screens and shrinks once the page scrolls (site.js) */
@media (min-width:641px) and (min-height:560px){
  .site-header{position:sticky;top:var(--topbar-offset,-40px)}
  .site-header.is-scrolled{box-shadow:var(--shadow)}
  .site-header.is-scrolled .header-inner{min-height:58px}
  .site-header.is-scrolled .brand img{height:34px}
  .js .site-header #site-nav.open{max-height:calc(100vh - 80px);overflow:auto}
}

/* ---------- three hero styles ---------- */
/* 1. home: full width band, photo lined up with the top of the text */
.hero-full{background:linear-gradient(180deg,var(--page-alt),var(--page));border-bottom:1px solid var(--line);padding:clamp(2rem,1.2rem + 3vw,4rem) 0 clamp(1.5rem,1rem + 2vw,2.5rem);margin:0 0 2.5rem}
.hero-grid{display:grid;gap:2rem;align-items:start}
@media (min-width:960px){.hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:3rem}}
.hero-full h1{font-size:clamp(2.1rem,1.3rem + 2vw,3.05rem);line-height:1.1;letter-spacing:-.025em;max-width:26ch;margin:0 0 1rem}
.hero-full .lead{font-size:clamp(1.15rem,1.05rem + .45vw,1.35rem);max-width:40ch}
.hero-media{margin:0;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow);background:var(--page-alt)}
.hero-media picture,.intro-media picture{display:block;height:100%}
.hero-media img,.intro-media img{display:block;width:100%;height:100%;object-fit:cover;filter:var(--photo-filter)}
@media (max-width:959px){.hero-media{aspect-ratio:16/10}}
.trust-strip{list-style:none;margin:2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}
@media (min-width:960px){.trust-strip{flex-wrap:nowrap}}
.trust-strip li{display:flex;align-items:center;gap:.5rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem 1rem;font-size:.95rem;font-weight:600;box-shadow:var(--shadow);max-width:none}
.trust-strip .icon{color:var(--link)}
/* 2. main pages: compact header with a small photo */
.page-intro{display:grid;gap:1.25rem;align-items:center;padding:clamp(1.5rem,1rem + 2vw,2.5rem) 0 1.5rem;margin:0 0 2rem;border-bottom:1px solid var(--line)}
.page-intro h1{margin:0 0 .5rem}
.page-intro .lead{margin:0;max-width:62ch}
.intro-text > :last-child{margin-bottom:0}
.intro-media{margin:0;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;background:var(--page-alt);box-shadow:var(--shadow);max-width:320px;width:100%}
@media (min-width:760px){.page-intro.has-media{grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem}.intro-media{aspect-ratio:4/3}}
@media (max-width:759px){.page-intro .intro-media{display:none}}
/* 3. policy pages: plain document header, no photo, "Last updated" badge */
.doc-header{padding:clamp(1.5rem,1rem + 2vw,2.5rem) 0 1.25rem;margin:0 0 1.75rem;border-bottom:1px solid var(--line)}
.doc-header h1{margin:0 0 .6rem}
.doc-header .lead{margin:0 0 .75rem}
.doc-header > :last-child{margin-bottom:0}
.badge{display:inline-flex;align-items:center;gap:.4rem;margin:.25rem 0 0;padding:.3rem .7rem;font-size:.8889rem;font-weight:600;color:var(--text);background:var(--page-alt);border:1px solid var(--line);border-radius:8px}
.badge .icon{color:var(--slate)}
.doc-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.75rem}
.doc-page main .wrap{max-width:820px}

/* ---------- tables of contents and one-line summaries ---------- */
.toc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;margin:0 0 2rem;box-shadow:var(--shadow)}
.toc-title{margin:0 0 .4rem;font-size:.8333rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.toc ol{margin:0;padding:0;list-style:none;columns:2 16rem;column-gap:2rem}
.toc li{break-inside:avoid;margin:0}
.toc a{display:flex;gap:.5rem;align-items:baseline;min-height:40px;padding:.35rem 0;text-decoration:none;font-weight:500}
.toc a:hover{text-decoration:underline}
.toc .n{font-variant-numeric:tabular-nums;color:var(--muted);min-width:1.5em}
.sum{font-weight:700;color:var(--text);margin:0 0 .75rem}

/* ---------- cards: white on cream in light mode, three surface levels in dark mode ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.5rem 1rem;box-shadow:var(--shadow);margin:0 0 1.5rem}
.card > h2:first-child,.card > h3:first-child{margin-top:0}
.card-grid{display:grid;gap:1.25rem;margin:0 0 1.5rem;align-items:start}
.card-grid .card{margin:0}
@media (min-width:768px){.card-grid.two{grid-template-columns:1fr 1fr}}
.icon-list{list-style:none;padding:0;margin:0}
.icon-list li{display:flex;gap:.65rem;align-items:flex-start;margin:0 0 .85rem}
.icon-list .icon{margin-top:.2em;width:1.25em;height:1.25em;stroke-width:2.5}
.icon-ok{color:var(--ok)}
.icon-no{color:var(--slate)}
.icon-h{color:var(--link);margin-right:.5rem;vertical-align:-.12em}
.intro-copy{margin:0 0 2rem}
.intro-copy p{font-size:1.05rem}

/* home: fee cards, four-step strip, tool tiles */
.fee-cards{list-style:none;padding:0;margin:1rem 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.fee-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.25rem 1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;max-width:none}
.fee-card h3{margin:0 0 .25rem;font-size:1.0556rem}
.fee-amount{font-family:var(--font-head);font-size:clamp(2.4rem,2rem + 1.2vw,3rem);font-weight:700;color:var(--price);margin:.25rem 0 .5rem;line-height:1.1;letter-spacing:-.02em}
.fee-card p:last-child{margin:auto 0 0}
.steps-strip{list-style:none;margin:1rem 0 .5rem;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:none}
.steps-strip > li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.25rem 1rem;box-shadow:var(--shadow);max-width:none}
.steps-strip h3{margin:.6rem 0 .35rem;font-size:1.1111rem}
.steps-strip p{margin:0}
.step-n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--dot-bg);color:var(--dot-text);border:2px solid var(--dot-ring);font-family:var(--font-head);font-weight:700;font-size:1.1rem}
.tool-tiles{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tool-tiles li{display:flex;align-items:center;gap:.65rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.85rem 1rem;font-weight:600;box-shadow:var(--shadow);max-width:none}
.tool-tiles .icon{width:1.4em;height:1.4em;color:var(--link)}
.tools-note{color:var(--text)}

/* Getting started and other call-to-action bands: one navy */
.cta-band{background:var(--band);color:var(--on-band);border-radius:var(--radius-lg);padding:2rem 2rem 1.5rem;margin:2.5rem 0}
.cta-band h2{color:var(--on-band);margin-top:0}
.cta-band p{color:var(--on-band)}
.cta-band a:not(.btn){color:var(--on-band-link)}
.cta-full{border-radius:0;margin:3rem 0 0;padding:3rem 0}
.cta-full .wrap{display:grid;gap:1rem;align-items:center}
@media (min-width:860px){.cta-full .wrap{grid-template-columns:1fr auto}}
.cta-full h2,.cta-full p{margin:0 0 .5rem}
.cta-full .actions{margin:0}

/* ---------- How It Works ---------- */
.step-overview{margin:0 0 2.25rem}
.step-overview ol{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.step-overview li{max-width:none}
.step-overview a{display:flex;align-items:center;gap:.6rem;height:100%;min-height:52px;padding:.6rem .8rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;font-weight:600;color:var(--heading);box-shadow:var(--shadow);font-size:.9444rem;line-height:1.3;overflow-wrap:normal}
.step-overview a:hover{border-color:var(--brass-line)}
.step-overview .step-n{width:32px;height:32px;font-size:.95rem;flex:none}
.timeline{list-style:none;margin:0 0 1rem;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:22px;top:8px;bottom:8px;width:3px;background:var(--rail);border-radius:2px}
.tl-step{position:relative;padding:0 0 1.5rem 68px;margin:0;max-width:none}
.tl-dot{position:absolute;left:0;top:0;width:47px;height:47px;border-radius:50%;background:var(--dot-bg);color:var(--dot-text);border:2px solid var(--dot-ring);box-shadow:0 0 0 4px var(--page);font-family:var(--font-head);font-weight:700;font-size:1.25rem;display:flex;align-items:center;justify-content:center}
.tl-body{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.35rem .35rem;box-shadow:var(--shadow)}
.tl-body h2{margin:0 0 .5rem;font-size:clamp(1.3rem,1.2rem + .5vw,1.55rem)}
@media (max-width:640px){.tl-step{padding-left:50px}.timeline::before{left:17px}.tl-dot{width:37px;height:37px;font-size:1.05rem}.tl-body{padding:.9rem 1rem .2rem}}

/* ---------- Fees by Court ---------- */
.fee-overview{display:grid;gap:1.5rem;align-items:start;margin:0 0 2.5rem}
@media (min-width:860px){.fee-overview{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2.5rem}}
.fee-overview h2{margin-top:0}
.fee-strip{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}
.fee-strip li{max-width:none}
.fee-strip a{display:flex;flex-direction:column;gap:.1rem;height:100%;padding:.9rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;color:var(--text);box-shadow:var(--shadow)}
.fee-strip a:hover{border-color:var(--brass-line)}
.fs-name{font-weight:600;font-size:.9444rem;color:var(--heading)}
.fs-fee{font-family:var(--font-head);font-weight:700;font-size:2rem;line-height:1.1;color:var(--price)}
.fs-go{font-size:.8889rem;color:var(--link);text-decoration:underline;text-underline-offset:3px}
.ca-map{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}
.ca-map-svg{display:block;width:100%;max-width:420px;height:auto;margin:0 auto}
.ca-map figcaption{font-size:.9444rem;color:var(--muted);margin-top:.5rem}
.map-shape{stroke:var(--map-border);stroke-width:.4;stroke-linejoin:round}
.map-northern .map-shape{fill:var(--map-northern)}
.map-eastern .map-shape{fill:var(--map-eastern)}
.map-central .map-shape{fill:var(--map-central)}
.map-southern .map-shape{fill:var(--map-southern)}
.map-d:hover .map-shape{filter:brightness(.93) saturate(1.2)}
.map-d:focus{outline:none}
.map-d:focus-visible .map-shape{stroke:var(--focus);stroke-width:3}
.map-border{fill:none;stroke:var(--map-border);stroke-width:2;stroke-linejoin:round;pointer-events:none}
.map-labels{pointer-events:none}
.map-label{font-family:var(--font-body);font-size:15px;font-weight:700;fill:var(--map-label);paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-opacity:.0}
.map-label .map-fee{font-family:var(--font-head);font-size:17px}
.district{margin:0 0 1.5rem;scroll-margin-top:calc(var(--header-h) + 20px)}
.district h2{margin-top:0}
.fee{font-family:var(--font-head);font-size:clamp(1.9rem,1.6rem + 1vw,2.4rem);line-height:1.1;margin:.1rem 0 .9rem;color:var(--price)}
.fee strong{font-weight:800}
.source-note{font-size:.8333rem;line-height:1.55;color:var(--muted);border-top:1px solid var(--line);padding-top:.6rem;margin:1rem 0 .5rem}
.source-note a{color:var(--link)}
details.counties{border:1px solid var(--line-strong);border-radius:var(--radius-sm);margin:.75rem 0 1rem;background:var(--raised);box-shadow:var(--shadow)}
details.counties summary{cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;min-height:48px;font-weight:600;list-style:none;border-radius:var(--radius-sm)}
details.counties summary::-webkit-details-marker{display:none}
details.counties summary .chev{margin-left:auto}
details.counties[open] summary .chev{transform:rotate(180deg)}
details.counties p{margin:0;padding:0 .9rem .9rem}

/* ---------- Chapters ---------- */
.link-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;margin:.5rem 0 1rem;background:var(--raised);border:1px solid var(--line-strong);border-radius:var(--radius-sm);text-decoration:none;font-weight:600;color:var(--link);min-height:52px}
.link-card:hover{border-color:var(--link);text-decoration:underline}
.link-card .icon{margin-left:auto;color:var(--link)}
.lc-label{margin:0;font-size:.9444rem;color:var(--muted)}
.link-cards{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.link-cards li{max-width:none}
.link-cards .link-card{margin:0;height:100%}
.callout-info{background:var(--info-bg);border:1px solid var(--info-line);border-left:4px solid var(--info-line);border-radius:var(--radius-sm);padding:.9rem 1.1rem .4rem;margin:1rem 0}
.callout-title{font-weight:700;margin:0 0 .35rem;color:var(--heading)}
.footnote-card{padding:1rem 1.25rem .5rem;font-size:.9444rem;background:var(--page-alt);box-shadow:none}
.footnote-card h2{font-size:1.1111rem;margin:0 0 .4rem}

/* ---------- FAQ ---------- */
.faq-tools{display:grid;gap:1rem;margin:0 0 2rem;padding:1.1rem 1.25rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
@media (min-width:760px){.faq-tools{grid-template-columns:minmax(0,1fr) auto;align-items:end}}
.faq-search label{display:block;font-weight:600;margin-bottom:.3rem}
.faq-search input{width:100%;font:inherit;min-height:48px;padding:.55rem .8rem;border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--raised);color:var(--text)}
.faq-count{margin:.4rem 0 0;font-size:.9444rem;color:var(--muted);min-height:1.5em}
.chips{grid-column:1/-1}
.chips ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}
.chips p{margin:0 0 .4rem;font-weight:600}
.chips a{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.35rem .9rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--raised);color:var(--link);font-weight:600;text-decoration:none;font-size:.9444rem}
.chips a:hover{border-color:var(--link);text-decoration:underline}
.chips .icon{color:var(--link)}
.faq-group{margin:0 0 2.25rem}
.faq-group h2{display:flex;align-items:center;gap:.6rem;margin-top:0}
.faq-group h2 .icon{color:var(--heading);width:1em;height:1em;margin:0}
.faq-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:0 0 .75rem;box-shadow:var(--shadow)}
.faq-item h3{margin:0;font-size:1.1111rem}
.faq-fixed h3{display:flex;align-items:center;min-height:56px;padding:1rem 1.1rem .25rem;font-family:var(--font-head);font-weight:600}
.faq-q{all:unset;box-sizing:border-box;display:flex;width:100%;align-items:center;gap:.75rem;padding:1rem 1.1rem;min-height:56px;cursor:pointer;font:inherit;font-family:var(--font-head);font-weight:600;color:var(--heading)}
.faq-q:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--radius)}
.faq-q .chev{margin-left:auto;flex:none}
.faq-q[aria-expanded="true"] .chev{transform:rotate(180deg)}
.faq-a{padding:0 1.1rem .5rem}
.faq-a[hidden]{display:none}
.faq-item.is-open{background:var(--raised);border-color:var(--line-strong)}
.faq-item[hidden],.faq-group[hidden]{display:none}

/* ---------- Required Disclosures: an official document ---------- */
.paper{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.25rem,1rem + 2vw,2.5rem);box-shadow:var(--shadow);line-height:1.75}
.paper h2{font-size:1.4rem;margin:2.25rem 0 .6rem;scroll-margin-top:calc(var(--header-h) + 20px)}
.paper > h2:first-child,.paper > section:first-child h2{margin-top:0}
.sec-num{display:inline-block;min-width:1.6em;color:var(--muted);font-variant-numeric:tabular-nums}
.paper .disclosure-box{background:var(--page-alt);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.1rem 1.35rem .4rem;margin:0 0 1rem}
.paper .disclosure-box h2{margin-top:0}

/* ---------- Contact ---------- */
.contact-panel{list-style:none;margin:1rem 0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.contact-panel > li{max-width:none;margin:0;display:flex;flex-direction:column;gap:.5rem;padding:1.35rem}
.contact-panel .cp-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--page-alt);color:var(--link)}
.contact-panel .cp-icon .icon{width:22px;height:22px}
.contact-panel h3{margin:.25rem 0 0;font-size:1.1111rem}
.contact-panel p{margin:0}
.contact-panel a[href^="tel:"],.contact-panel a[href^="mailto:"]{font-weight:700;font-size:1.0556rem}
.cp-form .btn{margin-top:auto;width:100%}
.cp-form{background:var(--raised)}
.cp-below{display:grid;gap:.75rem 2rem;margin:.5rem 0 0}
@media (min-width:760px){.cp-below{grid-template-columns:1fr 1fr}}
.cp-below h3{margin:0 0 .25rem;font-size:1rem;font-family:var(--font-body);font-weight:700}
.with-icon{display:flex;gap:.6rem;align-items:flex-start;margin:0}
.with-icon .icon{margin-top:.25em;color:var(--link)}
.expect-list{list-style:none;margin:1rem 0;padding:0;display:grid;gap:1rem}
.expect-list > li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow);max-width:none}
.expect-list p{margin:0}
.expect-list .label{display:block;font-weight:700;color:var(--heading);margin-bottom:.25rem}
.contact-cards{list-style:none;padding:0;margin:1rem 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.contact-cards .card{margin:0;display:flex;gap:.75rem;align-items:flex-start;padding:1rem}
a[href^="tel:"]{white-space:nowrap}

/* ---------- forms (shared) ---------- */
form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem}
.field{margin:.6rem 0 .9rem}
.field label,.lbl{display:block;font-weight:600;margin-bottom:.25rem}
input[type=text],input[type=tel],input[type=email],input[type=search],select{font:inherit;width:100%;min-height:46px;padding:.55rem .75rem;border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--raised);color:var(--text)}
input:hover,select:hover{border-color:var(--link)}
fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem 1rem 1rem;margin:.75rem 0}
legend{font-weight:700;padding:0 .35rem}
.hint{display:block;color:var(--muted);font-size:.9444rem}

/* ---------- footer: one navy, cream text ---------- */
.site-footer{background:var(--band);color:var(--on-band);padding:3.25rem 0 2.75rem;margin-top:0;border-top:3px solid var(--brass-line)}
.site-footer p,.site-footer li{color:var(--on-band)}
.site-footer a{color:var(--on-band-link)}
.site-footer h2{color:var(--on-band)}
.site-footer .icon{color:var(--on-band-link)}
.site-footer .logo.logo-light{display:none!important}
.site-footer .logo.logo-dark{display:block!important}
.disclosure-panel{background:var(--band-2);border:1px solid var(--band-line);border-left:3px solid var(--brass-line);border-radius:12px;padding:1.5rem 1.75rem .75rem;margin:0 0 3rem;font-size:.9444rem;line-height:1.6}
.disclosure-panel h2{font-family:var(--font-body);font-size:.8333rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--on-band-link);margin:0 0 .9rem}
.disclosure-panel p{margin:0 0 .75rem}
@media (min-width:860px){.site-footer .panel-cols{display:grid;grid-template-columns:1.1fr 1fr;gap:0 2rem}}
.foot-grid{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media (min-width:900px){.foot-grid{grid-template-columns:3fr 1.2fr;gap:3rem}}
.foot-links{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.foot-col h2{font-family:var(--font-body);font-size:.7778rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--on-band-muted);margin:0 0 .85rem}
.foot-col ul{list-style:none;padding:0;margin:0}
.foot-col li a{display:inline-flex;align-items:center;min-height:40px;font-size:.9444rem;color:var(--on-band);text-decoration:none}
.foot-col li a:hover,.foot-contact a:hover{color:var(--on-band-link);text-decoration:underline;text-underline-offset:4px}
.foot-contact p{display:flex;gap:.5rem;align-items:flex-start;margin:0 0 .6rem;font-size:.9444rem;line-height:1.55}
.foot-contact .icon{margin-top:.3em}
.foot-contact a{color:var(--on-band);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;margin-top:-.6rem;margin-bottom:-.6rem}
.foot-logo img{height:34px;width:auto}
.foot-logo{margin-bottom:.9rem!important}

/* ---------- motion: fade-ups, card lift, shrinking header, expanding answers; all off with reduced motion ---------- */
@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth}
  .motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .motion .reveal.in{opacity:1;transform:none}
  .card,.fee-card,.tl-body,.steps-strip > li,.tool-tiles li,.fee-strip a,.step-overview a,.link-card,.expect-list > li,.tool-tile{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .2s,background-color .2s}
  .card:hover,.fee-card:hover,.tl-body:hover,.steps-strip > li:hover,.tool-tiles li:hover,.fee-strip a:hover,.step-overview a:hover,.link-card:hover,.expect-list > li:hover,.tool-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
  .btn{transition:background-color .2s,transform .2s var(--ease)}
  .btn:hover{transform:translateY(-1px)}
  #site-nav a:not(.btn)::after{transition:transform .25s var(--ease)}
  .chev,details.counties summary .chev{transition:transform .25s var(--ease)}
  .faq-a:not([hidden]){animation:faq-open .3s var(--ease)}
  .site-header{transition:box-shadow .25s}
}
@keyframes faq-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .header-inner,.brand img{transition:none!important}
}

/* ---------- print ---------- */
@media print{
  html{font-size:11pt}
  body{background:#fff;color:#000}
  .site-header,.toc,.theme-switch,.doc-tools,.foot-grid,.skip,.intro-media,.hero-media,.actions,.cta-band{display:none!important}
  .reveal{opacity:1!important;transform:none!important}
  .paper,.card{box-shadow:none;border-color:#999;background:#fff}
  .site-footer{background:#fff;color:#000;border:0;padding:1rem 0}
  .site-footer *,.site-footer a{color:#000!important}
  .disclosure-panel{background:#fff;border-color:#999}
  a{color:#000}
  h1,h2,h3{color:#000}
}


/* ---------- Self-Help Arithmetic Tools ---------- */
.calc-wrap{padding-bottom:1rem}
.info-panel{background:var(--info-bg);border:1px solid var(--info-line);border-left:4px solid var(--info-line);border-radius:var(--radius);padding:1.1rem 1.35rem .6rem;margin:0 0 2rem;color:var(--text)}
.info-panel h2{margin-top:0;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}
.info-panel h2 .icon{color:var(--slate)}
.info-panel ul{margin:.25rem 0 .75rem 1.1rem;padding:0}
.info-panel li{margin:0 0 .35rem}
.idlines{margin:.5rem 0}
.toolnav h2{margin-top:0}
.toolnav ul{list-style:none;padding:0;margin:.75rem 0 .25rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.toolnav li{max-width:none}
.tool-tile{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;row-gap:.2rem;align-items:start;align-content:start;width:100%;height:100%;padding:.95rem 1rem;cursor:pointer;background:var(--raised);border:2px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;box-shadow:var(--shadow)}
.tool-tile .tt-icon{grid-row:1/4;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--page-alt);color:var(--link)}
.tool-tile .tt-icon .icon{width:22px;height:22px}
.tool-tile .tt-name{font-weight:700;color:var(--heading);line-height:1.3}
.tool-tile .tt-desc{font-size:.8889rem;color:var(--muted);line-height:1.45}
.tool-tile .tt-state{font-size:.7778rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.tool-tile:hover{border-color:var(--brass-line)}
.tool-tile:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.tool-tile[aria-expanded="true"]{background:var(--brass);border-color:var(--brass);color:var(--on-brass)}
.tool-tile[aria-expanded="true"] .tt-name,.tool-tile[aria-expanded="true"] .tt-desc,.tool-tile[aria-expanded="true"] .tt-state{color:var(--on-brass)}
.tool-tile[aria-expanded="true"] .tt-icon{background:var(--on-brass);color:var(--brass)}
.tool{border-top:4px solid var(--brass-line)}
.calc-wrap h2[tabindex="-1"]:focus{outline:none}
.calc-wrap h2[tabindex="-1"]:focus-visible{outline:2px solid var(--focus);outline-offset:6px;border-radius:6px}
.calc-wrap .card h2{margin-top:0}
.calc-wrap input[type=text],.calc-wrap select{max-width:28rem}
.calc-wrap input[inputmode="decimal"],.calc-wrap input[inputmode="numeric"]{max-width:16rem;text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.calc-wrap input[aria-invalid="true"],.calc-wrap select[aria-invalid="true"]{border-color:var(--error);border-width:3px}
.err{color:var(--error);font-weight:700;margin:.25rem 0 0}
.err:empty{display:none}
.choice{display:flex;align-items:flex-start;gap:.5rem;margin:.35rem 0}
.choice input{width:1.3rem;height:1.3rem;margin-top:.2rem;flex:none;accent-color:var(--link)}
.choice.small{font-size:.9444rem}
.errsummary{border:3px solid var(--error);background:var(--error-bg);border-radius:var(--radius);padding:1rem;margin:1rem 0;color:var(--text)}
.errsummary[hidden]{display:none}
.errsummary h3{margin-top:0}
.result{background:var(--raised);border:1px solid var(--line-strong);border-left:6px solid var(--brass-line);border-radius:var(--radius);padding:1rem 1.25rem;margin:1.25rem 0;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-hover)}
.result:empty{border:0;padding:0;margin:0;box-shadow:none}
.result p{margin:.25rem 0}
.result .big{font-family:var(--font-head);font-size:1.6rem;font-weight:700;color:var(--heading)}
.result.stale{border-style:dashed;box-shadow:none}
.copynote{border-left:4px solid var(--info-line);background:var(--info-bg);padding:.25rem .6rem;margin:.35rem 0;font-size:.9444rem}
.copynote:empty{display:none}
.copypanel[hidden]{display:none}
.copypanel{border:2px solid var(--line-strong);border-radius:var(--radius-sm);padding:.75rem 1rem;margin:.75rem 0;background:var(--raised)}
.cell{border-left:4px solid var(--brass-line);padding:.25rem .75rem;margin:.5rem 0}
ol.log{padding-left:1.4rem}
ol.log > li{margin:0 0 1rem;padding:.6rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);max-width:none;font-variant-numeric:tabular-nums}
ol.log p{margin:.15rem 0}
ol.log ul{margin:.15rem 0 .15rem 1.1rem;padding:0}
.flag{font-weight:700}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.table-scroll{overflow-x:auto;margin:1rem 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised)}
.table-scroll:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.src-table{border-collapse:collapse;width:100%;min-width:680px;font-size:.9444rem;line-height:1.5}
.src-table th,.src-table td{text-align:left;vertical-align:top;padding:.65rem .8rem;border-bottom:1px solid var(--line)}
.src-table thead th{background:var(--page-alt);color:var(--heading);font-size:.8333rem;text-transform:uppercase;letter-spacing:.06em}
.src-table tbody th{font-weight:700;color:var(--heading)}
.src-table tr:last-child > *{border-bottom:0}
.src-table a{overflow-wrap:anywhere}
.calc-note{margin-top:1.5rem}
#printArea{display:none}
@media print{
  .calc-wrap > *:not(#printArea){display:none!important}
  #printArea{display:block!important}
  ol.log > li{border:1px solid #000;break-inside:avoid}
}


/* ==========================================================================
   Helper 120, 11-13-2026: finishing pass on Mindy's round 4 review (decision AB154).
   Appended to styles.css by apply_h120.py, after the round 5 styles. Colors come from the
   tokens (tokens_mindy5.py plus the H120 overrides in apply_h120.py); no raw colors here
   except shadows.
   ========================================================================== */

/* Light item 3: a richer brass primary button with no outline (brass stays the one
   "interactive" accent in both modes, light item 7 and dark item 3) */
.btn:not(.btn-secondary):not(.secondary){border-color:transparent;background-image:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 65%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 1px 2px rgba(15,26,46,.18)}

/* Light item 4: one navy. The footer disclosure panel sits on the same navy as the footer */
.disclosure-panel{background:var(--band);border-color:var(--band-line)}

/* Both modes item 2: no thick top edge on any card, including an open tool */
.calc-wrap .tool{border-top:1px solid var(--line)}

/* Both modes item 6: when a tool opens, its heading gets focus. Instead of a box around the
   heading, keyboard users see a brass bar beside it, a little offset */
.calc-wrap h2[tabindex="-1"]{position:relative}
.calc-wrap h2[tabindex="-1"]:focus-visible{outline:none}
.calc-wrap h2[tabindex="-1"]:focus-visible::before{content:"";position:absolute;left:-14px;top:.05em;bottom:.05em;width:5px;border-radius:3px;background:var(--brass-line)}
@media (forced-colors:active){.calc-wrap h2[tabindex="-1"]:focus-visible{outline:2px solid CanvasText;outline-offset:6px}}

/* Tools page: five tool tiles in one row on wide screens (no lone tile on a second row) */
@media (min-width:1000px){
  .toolnav ul{grid-template-columns:repeat(5,minmax(0,1fr))}
  .tool-tile{grid-template-columns:1fr;row-gap:.35rem}
  .tool-tile .tt-icon{grid-row:auto;margin-bottom:.3rem}
}

/* Home: the five tool names are a quiet list, not fake buttons; one real button opens the tools */
.tool-tiles li{box-shadow:none;background:var(--page-alt)}
@media (prefers-reduced-motion: no-preference){.tool-tiles li:hover{transform:none;box-shadow:none}}
.tools-home .actions{margin-top:.5rem}

/* Home: balance the do and cannot-do cards so neither ends with a large empty area */
@media (min-width:768px){.card-grid.two.dodont{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}

/* How It Works: the eight-step overview as two even rows of four */
@media (min-width:900px){.step-overview ol{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* "You do this / We do this" label at the top of each step */
.who{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 .6rem;padding:.2rem .65rem;border-radius:6px;font-size:.8333rem;font-weight:700;letter-spacing:.02em;color:var(--heading);background:var(--page-alt);border:1px solid var(--line);max-width:none}
.who .icon{width:16px;height:16px;color:var(--slate)}
/* a page that ends with a full-width call-to-action band meets the footer with no gap */
main:has(> .cta-full:last-child){padding-bottom:0}

/* Dark item 5: photos are dimmed (token) and their edges softened */
.hero-media,.intro-media{position:relative}
.hero-media::after,.intro-media::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--photo-edge)}

/* Contact: the step to the form is the lead card, in the site's own colors */
@media (min-width:900px){.contact-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr)}}
.contact-panel .cp-form{background:var(--cp-bg);border-color:var(--cp-line);color:var(--cp-text)}
.contact-panel .cp-form h3,.contact-panel .cp-form p{color:var(--cp-text)}
.contact-panel .cp-form .cp-icon{background:var(--cp-icon-bg);color:var(--cp-icon)}
.contact-panel .cp-form :focus-visible{outline-color:var(--cp-focus)}
.contact-panel .cp-form .btn{white-space:normal;text-align:left}
.contact-panel .cp-form .btn span{flex:1 1 auto}

/* Tools page: the selected tile also says "Open" in words, so its state never depends on color
   alone (the text is hidden from screen readers, which already hear "expanded") */
.tool-tile{position:relative}
.tool-tile[aria-expanded="true"]::after{content:"Open" / "";position:absolute;top:.6rem;right:.7rem;font-size:.7222rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-brass);border:1px solid currentColor;border-radius:5px;padding:0 .35rem;line-height:1.5}

/* Review fix (Medium): fees map keyboard focus. One clear outline around the whole focused
   district (not its inner county lines), and the other districts fade back, so the focused one
   stands out by shape and lightness, not color alone. Labels stay on top and readable. */
.map-d:focus-visible .map-shape{stroke:var(--map-border);stroke-width:.4}
.map-d:focus-visible{filter:drop-shadow(2.5px 0 0 var(--focus)) drop-shadow(-2.5px 0 0 var(--focus)) drop-shadow(0 2.5px 0 var(--focus)) drop-shadow(0 -2.5px 0 var(--focus))}
.ca-map-svg:has(.map-d:focus-visible) .map-d:not(:focus-visible) .map-shape{opacity:.4}
@media (forced-colors:active){.map-d:focus-visible .map-shape{stroke:Highlight;stroke-width:3}}

/* Review fix (Medium): Contact. Phone, email and form side by side inside ONE panel, with hours
   and address in the same panel below a divider */
.reach-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:.75rem;margin:1rem 0 1.5rem}
.reach-panel .contact-panel{margin:0;gap:.75rem}
.reach-panel .contact-panel > li.card{box-shadow:none;border:0;background:transparent;margin:0}
.reach-panel .contact-panel > li.card:not(.cp-form){border-radius:var(--radius)}
.reach-panel .contact-panel > li.cp-form{background:var(--cp-bg);border:1px solid var(--cp-line)}
@media (min-width:900px){.reach-panel .contact-panel > li.card:nth-child(2){border-left:1px solid var(--line);border-radius:0}}
@media (max-width:899px){.reach-panel .contact-panel > li.card:nth-child(2){border-top:1px solid var(--line);border-radius:0}}
@media (prefers-reduced-motion: no-preference){.reach-panel .contact-panel > li.card:hover{transform:none;box-shadow:none}}
.reach-panel .cp-below{margin:.75rem 0 0;padding:1rem 1.35rem .6rem;border-top:1px solid var(--line)}
@media (min-width:900px){.reach-panel .contact-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1.35fr)}}
.contact-panel a[href^="mailto:"]{overflow-wrap:anywhere}
@media (min-width:900px){.contact-panel a[href^="mailto:"]{overflow-wrap:normal;white-space:nowrap}}
/* tablet: phone and email share a row, the form card spans the full width below them */
@media (min-width:600px) and (max-width:899px){
  .reach-panel .contact-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .reach-panel .contact-panel > li.cp-form{grid-column:1/-1}
  .reach-panel .contact-panel > li.card:nth-child(2){border-top:0;border-left:1px solid var(--line)}
}
@media (max-width:599px){.reach-panel .contact-panel{grid-template-columns:1fr}}
@media (max-width:599px){.reach-panel{padding:.4rem}.reach-panel .contact-panel > li{padding:1.1rem .9rem}.reach-panel .cp-below{padding:1rem .9rem .5rem}.contact-panel a[href^="mailto:"]{font-size:1rem}}

/* Review minor fixes */
/* Chapters: the five outside-link cards in one row on wide screens (no lone card) */
@media (min-width:1000px){.link-cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
/* FAQ: the Show all answers button lines up with the search box, not below it */
@media (min-width:760px){.faq-tools{align-items:start}.faq-tools > div:nth-child(2){padding-top:calc(1.65em + .3rem)}}
/* Tools data table: a wider Source column so long addresses wrap less */
.src-table{min-width:760px}
.src-table td:nth-child(3){min-width:15rem;width:30%}
.src-table td:nth-child(2){width:16%}
