/* fonts.css */
/*
  Self hosted fonts for findingrehab.io (latin subset, woff2).
  Instrument Serif and Instrument Sans, both SIL Open Font License 1.1 (see OFL.txt in this folder).
  Downloaded 2026-09-18 from the Google Fonts CSS2 API (Instrument Serif v5, Instrument Sans v4).
  Files under /assets/ are served with immutable caching: if a font file ever changes, give it a new name.

  The "Fallback" faces below are metric matched local fonts (measured in Chrome against
  Georgia and Arial) that cut layout shift while the web fonts load. To use them, list them
  right after the web font, for example:
    --serif: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, 'Times New Roman', serif;
    --sans: 'Instrument Sans', 'Instrument Sans Fallback', ui-sans-serif, system-ui, -apple-system, sans-serif;
  Preload only the H1 face:
    <link rel="preload" href="/assets/fonts/instrument-serif-latin-400.woff2" as="font" type="font/woff2" crossorigin>
*/
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/instrument-serif-latin-400.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: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/instrument-serif-latin-400-italic.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/instrument-sans-latin-var.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: 'Instrument Sans';
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/instrument-sans-latin-var-italic.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: 'Instrument Serif Fallback';
  src: local('Georgia');
  size-adjust: 76.43%;
  ascent-override: 129.54%;
  descent-override: 40.56%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Instrument Sans Fallback';
  src: local('Arial'), local('ArialMT'), local('Helvetica');
  size-adjust: 103.32%;
  ascent-override: 93.88%;
  descent-override: 24.2%;
  line-gap-override: 0%;
}

/* findingrehab.io global styles: tokens, base, layout, header, footer, crisis bar, banner,
   buttons, chips, tags, cards, forms, breadcrumbs, prose, print and forced colors.
   Page styles live in home.css and directory.css. Font faces are prepended at build time
   from src/assets/fonts/fonts.css when that file exists.

   Contrast (WCAG 1.4.3, audit A11Y-1), computed with relative luminance:
   --text-3 #56645D: paper 5.95, ivory 5.65, band 5.30, white 6.22, #E9EDE8 5.25, #E2DED2 4.62
   --text-2 #4A5A53: paper 6.99, ivory 6.63, band 6.22
   --link   #8A5E24: paper 5.42, ivory 5.15, band 4.83, white 5.66
   footer small text #8FA398 on ink 6.67; sage #9DB6AA on ink 8.24, on forest 6.21
   brass light #D4A45C on forest 5.93, on ink 7.86; brass #C08A3E on ink 5.90
   Focus ring (1.4.11): forest on light 11.4 to 13.4; brass light on ink 7.86, on forest 5.93
   Input border #7E8A84: paper 3.43, white 3.59 */

:root{
  color-scheme:only light;
  --forest:#17342B; --forest-2:#22463B; --ink:#0E1A16;
  --ivory:#F6F4EE; --paper:#FBFAF6; --band:#EFEDE4; --white:#FFFFFF;
  --sand:#DED9CC; --rule:#DCD7C9; --hair:#EDE9DE;
  --brass:#C08A3E; --brass-deep:#8A5E24; --brass-light:#D4A45C; --brass-ink:#14100A;
  --sage:#9DB6AA; --mist:#C8D4CD; --green:#1F5741; --moss:#1F4438; --leaf:#E4EAE5;
  --text:#0E1A16; --text-2:#4A5A53; --text-3:#56645D;
  --foot-text:#8FA398;
  --link:#8A5E24; --link-hover:#5F3F16;
  --line-strong:#7E8A84;
  --focus:var(--forest);
  --serif:'Instrument Serif','Instrument Serif Fallback',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans','Instrument Sans Fallback',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --maxw:1440px; --gut:80px; --nav-h:72px;
  --radius:12px; --radius-lg:16px;
  --shadow-card:0 24px 48px -32px rgba(14,26,22,.4);
  --shadow-float:0 50px 90px -34px rgba(0,0,0,.6);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 16px)}
body{margin:0;background:var(--ivory);color:var(--text);font-family:var(--sans);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}
img,svg,video{display:block;max-width:100%}
img{height:auto}
svg.icon{flex:none;display:inline-block;vertical-align:middle}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover)}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:not-allowed}
h1,h2,h3,h4{margin:0;font-weight:400;font-family:var(--serif);letter-spacing:-.022em;line-height:1.08;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
[id]{scroll-margin-top:calc(var(--nav-h) + 16px)}
main:focus{outline:none}
::placeholder{color:var(--text-2);opacity:1}
::selection{background:#E8D5B0;color:var(--ink)}

/* Focus ring: 3:1 or better against every background it sits on (audit A11Y-10). */
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
.crisis,.nav,.foot,.band--dark,.band--ink,.on-dark{--focus:var(--brass-light)}

/* Links inside running text are underlined, not colour only (audit A11Y-18). */
p a:not(.btn),li a.inline,.prose a:not(.btn),.callout a:not(.btn),dd a:not(.btn),.note a:not(.btn){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}

/* Visually hidden, still read by screen readers. */
.sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}

/* Skip link: hidden until focused (audit E2E-22). */
.skip{position:absolute;left:16px;top:-200px;z-index:200;display:inline-block;padding:12px 18px;background:var(--paper);color:var(--ink);font-weight:600;font-size:1rem;border-radius:10px;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);text-decoration:underline;text-underline-offset:.18em}
.skip:focus{top:12px;color:var(--ink)}
.skip:focus-visible{outline:3px solid var(--brass-light);outline-offset:2px}

/* ---------- layout ---------- */
.shell{width:100%;max-width:var(--maxw);margin-left:auto;margin-right:auto}
.pad{padding-left:var(--gut);padding-right:var(--gut)}
.container{width:100%;max-width:var(--maxw);margin-left:auto;margin-right:auto;padding-left:var(--gut);padding-right:var(--gut)}
.narrow{max-width:760px}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.nowrap{white-space:nowrap}
.muted{color:var(--text-2)}
.fine{font-size:.8125rem;line-height:1.55;color:var(--text-2)}
.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500}
.eyebrow--dark{color:var(--brass-light)}
.band{padding:76px var(--gut)}
.band--paper{background:var(--ivory)}
.band--white{background:var(--paper)}
.band--sand{background:var(--band);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.band--dark{background:var(--forest);color:var(--paper)}
.band--ink{background:var(--ink);color:var(--mist)}
.sec-head{display:flex;align-items:flex-end;gap:40px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(2rem,3.8vw,3.25rem)}
.sec-head p{font-size:.96875rem;line-height:1.65;color:var(--text-2);max-width:460px}
.band--dark .sec-head p{color:var(--mist)}
.stack>*+*{margin-top:12px}
.print-only{display:none}

/* ---------- crisis bar ---------- */
.crisis{background:var(--ink);color:var(--mist);font-size:.8125rem;line-height:1.45;border-bottom:1px solid rgba(255,255,255,.06)}
.crisis-in{display:flex;align-items:center;justify-content:center;gap:10px 16px;min-height:44px;padding:8px var(--gut);flex-wrap:wrap;text-align:center}
.crisis-icon{color:var(--brass-light)}
.crisis-text{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 14px}
.crisis a{color:var(--brass-light);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.crisis a:hover{color:var(--paper)}
.crisis-es{color:var(--sage)}
.crisis-more{white-space:nowrap}

/* ---------- preview banner and noscript ---------- */
.preview-banner{background:#F3E7CF;color:#3A2A10;border-bottom:1px solid #E1CDA4;font-size:.8125rem;line-height:1.5}
.preview-in{display:flex;align-items:flex-start;justify-content:center;gap:10px;padding:9px var(--gut)}
.preview-icon{margin-top:2px;color:var(--brass-deep)}
.preview-banner a{color:#5F3F16;font-weight:600}
.noscript{background:var(--band);border-bottom:1px solid var(--rule);font-size:.875rem}
.noscript .shell{padding:12px var(--gut)}

/* ---------- header ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--paper);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-bar{display:flex;align-items:center;gap:28px;min-height:var(--nav-h);padding:10px var(--gut)}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none;color:var(--paper);font-family:var(--serif);font-size:1.5625rem;line-height:1;letter-spacing:-.01em;white-space:nowrap}
.brand:hover{color:var(--paper)}
.brand-mark{flex:none;width:30px;height:30px;color:var(--brass);--logo-cross:var(--paper)}
.brand-name{white-space:nowrap}
.brand .tld{color:var(--brass)}
.nav-links{flex:1 1 auto;min-width:0}
.nav-links ul{display:flex;align-items:center;gap:26px}
.nav-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--mist);font-size:.9375rem;white-space:nowrap}
.nav-links a:hover{color:var(--paper)}
.nav-links a[aria-current="page"]{color:var(--paper);text-decoration:underline;text-decoration-color:var(--brass);text-decoration-thickness:2px;text-underline-offset:.4em}
.nav-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex:none}
.nav-saved{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:var(--mist);font-size:.875rem;font-weight:500;white-space:nowrap}
.nav-saved:hover,.nav-saved[aria-current="page"]{color:var(--paper);border-color:rgba(255,255,255,.45)}
.saved-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.375rem;height:1.375rem;padding:0 6px;border-radius:999px;background:var(--brass);color:var(--brass-ink);font-size:.75rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.helpline{min-height:46px;padding:0 16px;gap:10px;border-radius:12px;text-align:left;white-space:nowrap}
.helpline-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.helpline-k{font-size:.75rem;font-weight:500}
.helpline-num{font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums}
.nav-toggle{display:none;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:transparent;color:var(--mist)}
.nav-toggle:hover{color:var(--paper);border-color:rgba(255,255,255,.45)}
.nav-toggle .toggle-close{display:none}
.nav-toggle[aria-expanded="true"] .toggle-open{display:none}
.nav-toggle[aria-expanded="true"] .toggle-close{display:inline-block}
.nav-toggle-fallback{display:none;align-items:center;min-height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:var(--mist);font-size:.875rem;font-weight:600}
.menu-panel{border-top:1px solid rgba(255,255,255,.08);background:var(--ink);max-height:calc(100vh - var(--nav-h));max-height:calc(100dvh - var(--nav-h));overflow-y:auto;overscroll-behavior:contain}
.menu-in{padding:8px var(--gut) 20px}
.menu-links a{display:flex;align-items:center;gap:10px;min-height:52px;border-bottom:1px solid rgba(255,255,255,.08);color:var(--paper);font-size:1.0625rem}
.menu-links a:hover{color:var(--brass-light)}
.menu-links a[aria-current="page"]{color:var(--brass-light)}
.menu-helpline{margin-top:18px;white-space:normal;text-align:left;justify-content:flex-start}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:11px;font-size:.90625rem;font-weight:600;line-height:1.2;letter-spacing:-.005em;text-decoration:none;transition:transform .14s ease-out,background-color .14s ease-out,border-color .14s ease-out}
.btn:active{transform:translateY(1px)}
.btn--brass{background:var(--brass);color:var(--brass-ink)}
.btn--brass:hover{background:#CE9749;color:var(--brass-ink)}
.btn--forest{background:var(--forest);color:var(--paper)}
.btn--forest:hover{background:var(--forest-2);color:var(--paper)}
.btn--ghost{background:transparent;border-color:var(--line-strong);color:var(--text);font-weight:500}
.btn--ghost:hover{border-color:var(--text-2);color:var(--text)}
.btn--ghost-dark{background:transparent;border-color:rgba(255,255,255,.35);color:var(--paper)}
.btn--ghost-dark:hover{border-color:rgba(255,255,255,.6);color:var(--paper)}
.btn--pill{border-radius:999px;padding:0 18px}
.btn--wide{width:100%}
.btn--lg{min-height:54px;font-size:.96875rem}
.btn--sm{min-height:40px;padding:0 14px;font-size:.875rem}
.btn[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.link-btn{background:none;border:none;padding:6px;color:var(--link);font-size:.875rem;text-decoration:underline;text-underline-offset:.18em;min-height:44px}
.link-btn:hover{color:var(--link-hover)}
.helpline-cta{white-space:normal;text-align:left;justify-content:flex-start}

/* ---------- chips, tags, badges ---------- */
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 18px;background:var(--paper);color:var(--text);border:1px solid var(--sand);border-radius:999px;font-size:.90625rem;font-weight:500;line-height:1.2;text-align:left}
.chip:hover{border-color:var(--line-strong);color:var(--text)}
.chip .box{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line-strong)}
.chip .box .icon{width:11px;height:11px;color:transparent}
.chip .n{font-size:.78125rem;color:var(--text-2);font-variant-numeric:tabular-nums}
.chip.is-on,.chip[aria-pressed="true"],.chip[aria-checked="true"]{background:var(--forest);color:var(--paper);border-color:var(--forest)}
.chip.is-on .box,.chip[aria-pressed="true"] .box,.chip[aria-checked="true"] .box{background:var(--brass);border-color:var(--brass)}
.chip.is-on .box .icon,.chip[aria-pressed="true"] .box .icon,.chip[aria-checked="true"] .box .icon{color:var(--brass-ink)}
.chip.is-on .n,.chip[aria-pressed="true"] .n,.chip[aria-checked="true"] .n{color:var(--mist)}
.chip:disabled{opacity:.55}
.tagrow{display:flex;flex-wrap:wrap;gap:6px}
.lvl,.tag{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:600;letter-spacing:.02em;line-height:1.3;color:var(--moss);background:var(--leaf);border-radius:6px;padding:5px 9px}
.tag--focus{background:#EFE3CC;color:#4A3312}
.tag--plain{background:var(--band);color:var(--text-2);font-weight:500}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;line-height:1.3;padding:5px 11px;border-radius:999px;border:1px solid var(--rule);background:var(--paper);color:var(--text)}
.badge--medicaid{border-color:#BFD3C6;background:#EAF1EC;color:var(--green)}
.pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px 8px 15px;border:none;border-radius:999px;background:var(--forest);color:var(--paper);font-size:.84375rem}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.card{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--sand);border-radius:var(--radius-lg);color:var(--text);transition:box-shadow .16s ease-out,border-color .16s ease-out}
.card:hover{box-shadow:var(--shadow-card);border-color:#C9C2B0}
.card-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.card h3{font-family:var(--serif);font-size:1.4375rem;line-height:1.15;letter-spacing:-.015em}
.card h3 a{color:var(--text)}
.card h3 a:hover{color:var(--link-hover)}
/* Stretched link: the heading link covers the card (audit A11Y-16). Other links in the card sit above it. */
.card .stretched::after{content:"";position:absolute;inset:0;border-radius:inherit}
.card a:not(.stretched),.card button{position:relative;z-index:1}
.card .place{margin-top:5px;display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-3)}
.card-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.8125rem;color:var(--text-2)}
.empty{padding:40px 24px;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);text-align:center;color:var(--text-2);font-size:.9375rem}
.callout{padding:18px 20px;border-left:3px solid var(--brass);background:var(--band);border-radius:0 12px 12px 0;font-size:.9375rem;line-height:1.65;color:var(--text-2)}
.callout>*+*{margin-top:10px}
.callout--danger{border-left-color:#9B2C1F;background:#F8E9E4;color:#3B1510}

/* ---------- forms ---------- */
.field{display:flex;flex-direction:column;gap:6px}
.field>label,.label{font-size:.875rem;font-weight:600;color:var(--text)}
.hint{font-size:.8125rem;color:var(--text-2)}
.input,.select,input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="number"],select,textarea{min-height:46px;width:100%;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);color:var(--text);font-size:1rem;line-height:1.3}
textarea{min-height:96px;resize:vertical}
select,.select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234A5A53' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px}
.input:hover,input:hover,select:hover,textarea:hover{border-color:var(--text-2)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--forest);width:18px;height:18px}
fieldset{margin:0;padding:0;border:0;min-width:0}
legend{padding:0;font-weight:600}

/* ---------- breadcrumbs ---------- */
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.8125rem;color:var(--text-3)}
.crumbs li{display:inline-flex;align-items:center;gap:8px;min-width:0}
.crumbs li+li::before{content:"/";color:var(--text-3)}
.crumbs a{color:var(--text-2);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.2em}
.crumbs a:hover{color:var(--link-hover);text-decoration-color:currentColor}
.crumbs [aria-current="page"]{color:var(--text)}

/* ---------- content pages ---------- */
.page-head{background:var(--paper);border-bottom:1px solid var(--rule)}
.page-head-in{padding:28px var(--gut) 40px}
.page-head h1{margin-top:16px;font-size:clamp(2.25rem,4.4vw,3.5rem);max-width:18em}
.page-head .lede{margin-top:14px;max-width:44em;font-size:1.125rem;line-height:1.6;color:var(--text-2)}
.page-meta{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.8125rem;color:var(--text-2)}
.page-body{padding:44px var(--gut) 80px}
.prose{max-width:44rem;font-size:1.0625rem;line-height:1.7;color:var(--text)}
.prose>*+*{margin-top:1em}
.prose>:first-child{margin-top:0}
.prose h1{font-size:clamp(2.25rem,4.4vw,3.25rem);margin-bottom:.4em}
.prose h2{margin-top:1.8em;font-size:clamp(1.625rem,2.6vw,2.125rem);line-height:1.15}
.prose h3{margin-top:1.5em;font-family:var(--sans);font-size:1.1875rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.prose h4{margin-top:1.3em;font-family:var(--sans);font-size:1.0625rem;font-weight:600;letter-spacing:0;line-height:1.35}
.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.6em}
.prose ul{list-style:disc;padding-left:1.4em}
.prose ol{list-style:decimal;padding-left:1.5em}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--brass-deep)}
.prose strong{font-weight:600}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:3px solid var(--brass);color:var(--text-2)}
.prose hr{border:0;border-top:1px solid var(--rule);margin:2em 0}
.prose small,.prose .fine{font-size:.8125rem}
.prose dl{display:grid;grid-template-columns:minmax(0,12em) minmax(0,1fr);gap:10px 20px}
.prose dt{font-weight:600}
.prose dd{margin:0;color:var(--text-2)}
.prose details{border:1px solid var(--rule);border-radius:12px;background:var(--paper);padding:0 16px}
.prose summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:600}
.prose details[open]{padding-bottom:14px}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--rule);border-radius:12px;background:var(--paper)}
.prose table{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.5}
.prose th,.prose td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--hair)}
.prose th{font-weight:600;background:var(--band)}
.prose .callout{font-size:1rem}
.review-line{font-size:.8125rem;color:var(--text-2)}
.sources{font-size:.9375rem}
.helplines{display:flex;flex-direction:column;gap:6px}
.helplines a{font-weight:600}

/* ---------- link lists (404, indexes, saved) ---------- */
.link-list{display:flex;flex-direction:column}
.link-list a{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 0;border-bottom:1px solid var(--hair);color:var(--text);font-size:1rem}
.link-list a .icon{color:var(--brass-deep)}
.link-list a:hover{color:var(--link-hover)}
.state-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 24px;margin-top:14px}
.state-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;border-bottom:1px solid var(--hair);color:var(--text);font-size:.9375rem}
.state-links a:hover{color:var(--link-hover)}
.state-links .n{font-size:.8125rem;color:var(--text-3)}
.nf-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:start}
.nf-grid h2,.nf-states h2{font-size:1.75rem}
.nf-grid .callout h2{font-size:1.5rem;color:var(--text)}
.nf-grid .link-list{margin-top:12px}
.nf-grid .helplines{margin-top:12px}
.nf-states{margin-top:56px}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:var(--mist);padding:64px 0 40px}
.foot>.shell{padding-left:var(--gut);padding-right:var(--gut)}
.foot-top{display:flex;gap:48px 56px;flex-wrap:wrap}
.foot-brand{flex:1 1 340px;max-width:420px}
.foot-brand>p{margin-top:18px;font-size:.875rem;line-height:1.7;color:var(--sage)}
.hotline{margin-top:22px;padding:16px 18px;border:1px solid rgba(255,255,255,.16);border-radius:12px}
.hotline .helplines{margin-top:10px;font-size:.875rem;line-height:1.55;color:var(--mist)}
.foot-k{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.14em;line-height:1.3;text-transform:uppercase;color:var(--foot-text)}
.foot-k--brass{color:var(--brass-light)}
.foot-col{flex:1 1 160px;min-width:150px}
.foot-col ul{margin-top:14px;display:flex;flex-direction:column;gap:2px}
.foot-col a{display:inline-flex;align-items:center;min-height:36px;font-size:.875rem;color:var(--mist)}
.foot a:hover{color:var(--paper)}
.foot .helplines a{color:var(--brass-light);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.foot-bottom{margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:10px 26px;flex-wrap:wrap;font-size:.8125rem;color:var(--foot-text)}
.foot-legal{display:flex;flex-wrap:wrap;gap:4px 20px}
.foot-legal a{display:inline-flex;align-items:center;min-height:32px;color:var(--foot-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.foot-note{margin-left:auto}

/* ---------- responsive: header widths (audit A11Y-2, A11Y-20, E2E-6) ---------- */
@media (max-width:1359px){
  .nav-bar{gap:20px}
  .nav-links ul{gap:18px}
  .nav-links a{font-size:.875rem}
  .nav-right{gap:10px}
  .helpline .hk-long{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
/* Between the full nav and the menu button, the Saved link shows its icon and count only
   (the word Saved stays for screen readers) so the nav links never run under it. */
@media (min-width:1100px) and (max-width:1359px){
  .nav-saved{width:44px;padding:0;justify-content:center}
  .nav-saved-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nav-saved .saved-count{position:absolute;top:-5px;right:-5px}
}
@media (max-width:1180px){
  :root{--gut:40px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1099px){
  .nav-links{display:none}
  .nav-toggle{display:inline-flex}
}
@media (max-width:860px){
  .band{padding-top:60px;padding-bottom:60px}
  .foot-note{margin-left:0}
}
@media (max-width:640px){
  :root{--gut:16px;--nav-h:60px}
  .band{padding:52px var(--gut)}
  .cards{grid-template-columns:1fr}
  .crisis{font-size:.8125rem}
  .crisis-in{gap:4px 12px;padding-top:7px;padding-bottom:7px}
  .crisis .crisis-icon{display:none}
  .nav-bar{gap:8px;padding-top:8px;padding-bottom:8px}
  .brand{font-size:1.3125rem;gap:8px}
  .brand-mark{width:26px;height:26px}
  .nav-right{gap:6px}
  .nav-saved{width:44px;padding:0;justify-content:center}
  .nav-saved-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nav-saved .saved-count{position:absolute;top:-5px;right:-5px}
  .helpline{width:44px;min-height:44px;height:44px;padding:0;justify-content:center;border-radius:10px}
  .helpline-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .sec-head{flex-direction:column;align-items:flex-start;gap:16px}
  .nf-grid{grid-template-columns:1fr;gap:32px}
  .page-head-in{padding:20px var(--gut) 28px}
  .page-body{padding:28px var(--gut) 56px}
  .prose{font-size:1rem}
  .prose dl{grid-template-columns:1fr;gap:4px}
  .prose dd{margin-bottom:10px}
  .foot{padding:48px 0 32px}
}
@media (max-width:379px){
  .nav-saved{display:none}
  .brand{font-size:1.1875rem;gap:7px}
  .brand-mark{width:24px;height:24px}
  .nav-bar{gap:6px}
}

/* Short viewports (landscape phones, 200 to 400 percent zoom): header does not stick (audit A11Y-28). */
@media (max-height:500px){
  .nav{position:static}
  html{scroll-padding-top:8px}
  [id]{scroll-margin-top:8px}
  .menu-panel{max-height:none}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- forced colors / Windows high contrast (audit A11Y-17) ---------- */
@media (forced-colors:active){
  .btn,.chip,.nav-saved,.nav-toggle,.nav-toggle-fallback,.badge,.pill,.lvl,.tag,.saved-count{border:1px solid ButtonText}
  .chip.is-on,.chip[aria-pressed="true"],.chip[aria-checked="true"],.btn[aria-pressed="true"],
  [role="radio"][aria-checked="true"],[role="tab"][aria-selected="true"],[role="option"][aria-selected="true"],.is-on{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .chip .box{border-color:ButtonText}
  .chip.is-on .box,.chip[aria-pressed="true"] .box,.chip[aria-checked="true"] .box{forced-color-adjust:none;background:HighlightText;border-color:HighlightText}
  .chip.is-on .box .icon,.chip[aria-pressed="true"] .box .icon,.chip[aria-checked="true"] .box .icon{color:Highlight}
  .nav-links a[aria-current="page"],.menu-links a[aria-current="page"],.crumbs [aria-current="page"]{text-decoration:underline;text-decoration-color:CanvasText}
  :focus-visible{outline:3px solid Highlight;outline-offset:2px}
  .skip:focus{border:2px solid CanvasText}
  .callout,.hotline,.preview-banner,.crisis{border:1px solid CanvasText}
}

/* ---------- print (audit CRIT-8) ---------- */
@media print{
  @page{margin:1.5cm}
  :root{--gut:0px}
  html{scroll-padding-top:0}
  body{background:#fff;color:#000;font-size:11pt}
  *,*::before,*::after{box-shadow:none!important;text-shadow:none!important;transition:none!important}
  .skip,.nav-links,.nav-right,.nav-toggle,.nav-toggle-fallback,.menu-panel,.noscript,.crisis-more,.foot-col,.foot-legal,
  .concierge,#concierge,.chat,.no-print,button,video,audio,iframe{display:none!important}
  .print-only{display:block!important}
  .nav{position:static;background:none;color:#000;border-bottom:1px solid #000}
  .nav-bar{min-height:0;padding:0 0 8pt}
  .brand,.brand .tld{color:#000}
  .brand-mark{color:#000;--logo-cross:#000}
  .crisis,.preview-banner{background:none;color:#000;border:1px solid #000;margin-bottom:8pt}
  .crisis a,.crisis-es,.preview-banner a{color:#000}
  .band,.band--dark,.band--ink,.band--sand,.page-head{background:none!important;color:#000!important;border:0;padding:12pt 0}
  .foot{background:none;color:#000;padding:12pt 0 0;border-top:1px solid #000}
  .foot-brand>p,.foot .helplines,.foot-bottom,.foot-k{color:#000}
  .foot .helplines a{color:#000}
  a{color:#000}
  p a,.prose a{text-decoration:underline}
  .btn{background:none!important;color:#000!important;border:1px solid #000;min-height:0;padding:3pt 8pt}
  .card,.row,.callout,.hotline,section{break-inside:avoid}
  h1,h2,h3{break-after:avoid}
  [style*="sticky"],.sticky{position:static!important}
  /* Show numbers for any tel link that does not already show one. */
  a[data-print-tel]::after{content:" " attr(data-print-tel)}
  .print-href::after{content:" (" attr(href) ")";font-size:9pt;word-break:break-all}
  .print-url{margin-top:12pt;font-size:9pt;color:#000}
}
