/* Dedicated scorecard styles. Uses ILSR's inherited Inter/Roboto Slab typography. */
.scorecard { --sc-ink:#08283b; --sc-muted:#344974; --sc-paper:#faf8f2; --sc-line:#d6dcd9; color:var(--sc-ink); grid-column:1/-1; width:min(1180px,100%); margin:0 auto; padding:clamp(30px,5vw,72px) 0; }
.scorecard *, .scorecard *::before, .scorecard *::after { box-sizing:border-box; }
/* These template lists use grades and cards instead of the site's bullet markers. */
.scorecard li::before { content:none; display:none; }
/* Replace the inherited expanding link highlight with a readable underline. */
.scorecard a { color:inherit; background-image:none; text-decoration-color:currentColor; text-decoration-thickness:1px; text-underline-offset:4px; }
.scorecard a:hover { text-decoration-thickness:2px; }
.scorecard a:focus-visible, .scorecard button:focus-visible, .scorecard select:focus-visible { outline:3px solid #075d90; outline-offset:5px; }
.scorecard [hidden] { display:none!important; }
.scorecard h1,.scorecard h2,.scorecard h3,.scorecard h4,.scorecard p { margin:0; }
.scorecard h1 { max-width:900px; }
.scorecard__eyebrow { display:block; font:700 12px/1.5 Inter,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.scorecard__header { margin-bottom:36px; }
.scorecard__header h1 { margin-top:14px; }
.scorecard__lead { font-size:clamp(18px,2vw,23px); line-height:1.5; color:var(--sc-muted); margin-top:22px!important; max-width:800px; }
.scorecard__intro { font-size:18px; line-height:1.7; margin-top:20px!important; max-width:850px; white-space:normal; }
.scorecard__map-card { padding:clamp(18px,3.5vw,42px); background:#fff; border:1px solid var(--sc-line); border-radius:12px; }
.scorecard__map-heading,.scorecard__section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap; }
.scorecard__map-heading a { font-size:18px; font-weight:700; line-height:1.4; }
.scorecard__legend { list-style:none; padding:20px 0; margin:20px 0 12px; display:flex; flex-wrap:wrap; gap:14px 24px; border-block:1px solid var(--sc-line); }
.scorecard__legend li { display:flex; gap:9px; align-items:center; font-size:13px; color:var(--sc-muted); }
.scorecard [data-grade=A] { --grade-bg:#addbdc; --grade-ink:#051c4a; }
.scorecard [data-grade=B] { --grade-bg:#93c3aa; --grade-ink:#051c4a; }
.scorecard [data-grade=C] { --grade-bg:#ffd09a; --grade-ink:#051c4a; }
.scorecard [data-grade=D] { --grade-bg:#e29670; --grade-ink:#051c4a; }
.scorecard [data-grade=F] { --grade-bg:#ab321b; --grade-ink:#fff; }
.scorecard [data-grade=NA] { --grade-bg:#e4e7e8; --grade-ink:#34434a; }
.scorecard__grade { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:42px; height:42px; border-radius:5px; background:var(--grade-bg); color:var(--grade-ink); font:700 23px/1 Inter,sans-serif; }
.scorecard__legend .scorecard__grade { width:34px; height:34px; font-size:18px; }
.scorecard__map-stage { position:relative; display:flex; align-items:center; gap:12px; }
.scorecard__map { display:block; width:100%; height:auto; min-width:0; }
.scorecard__region path { fill:var(--grade-bg,#e4e7e8); stroke:#fff; stroke-width:1; vector-effect:non-scaling-stroke; }
.scorecard__region:focus { outline:none; }
.scorecard__region:focus path,.scorecard__region:hover path,.scorecard__region.is-previewed path { stroke:var(--sc-ink); stroke-width:2.5; filter:brightness(.95); }
.scorecard__small-states { display:grid; gap:5px; flex:0 0 68px; }
.scorecard__small-states a { display:flex; justify-content:space-between; padding:7px 9px; background:var(--grade-bg); color:var(--grade-ink); font-size:12px; line-height:1.4; border-radius:3px; text-decoration:none; }
.scorecard__map-help { font-size:13px; line-height:1.5; color:var(--sc-muted); border-top:1px solid var(--sc-line); padding-top:18px; }
.scorecard__popover { display:flex; align-items:flex-start; gap:14px; position:fixed; z-index:1000; width:min(300px,calc(100vw - 32px)); padding:22px; border:1px solid var(--sc-line); border-radius:8px; background:#fff; box-shadow:0 6px 30px #08283b24; }
.scorecard__popover-text { min-width:0; }
.scorecard__popover strong { display:block; font-size:22px; margin:6px 0 0; }
.scorecard__popover [data-preview-summary]:empty { display:none; }
.scorecard__popover [data-preview-summary] { margin-top:12px; font-size:14px; line-height:1.5; }
.scorecard__states { margin-top:48px; scroll-margin-top:120px; }
.scorecard__section-heading p { color:var(--sc-muted); font-size:15px; }
.scorecard__state-list { list-style:none; padding:0; margin:24px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; }
.scorecard__state-list li { border-top:1px solid var(--sc-line); }
.scorecard__state-list a { display:flex; align-items:center; gap:12px; padding:16px 0; font-size:16px; text-decoration:none; }
.scorecard__state-list a:hover { text-decoration:none; }
.scorecard__state-list a:hover>span { text-decoration:underline; text-decoration-color:currentColor; text-decoration-thickness:2px; }
.scorecard__state-list a>span:last-child { margin-left:auto; }
.scorecard__back { display:inline-block; font-size:14px; font-weight:600; margin-bottom:30px; }
.scorecard__state-header { display:grid; grid-template-columns:minmax(0,1fr) 150px 130px; align-items:center; gap:32px; margin-bottom:24px; }
.scorecard__state-header h1 { margin-top:15px; }
.scorecard__state-header .scorecard__lead { font-size:18px; margin-top:12px!important; }
.scorecard__silhouette { width:150px; height:150px; fill:var(--grade-bg,#e4e7e8); }
.scorecard__overall { display:flex; flex-direction:column; align-items:center; gap:10px; font-size:14px; text-align:center; }
.scorecard__grade--large { width:90px; height:90px; font-size:58px; border-radius:8px; }
.scorecard__summary { margin:0 0 24px; max-width:850px; font-size:19px; line-height:1.65; }
.scorecard__groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; align-items:start; }
.scorecard__group { border:1px solid var(--sc-line); border-radius:8px; overflow:hidden; background:#fff; }
.scorecard__group>h3 { background:var(--sc-ink); color:#fff; padding:24px; }
.scorecard__policies { margin:0; padding:0 24px; list-style:none; }
.scorecard__policies li { display:flex; justify-content:space-between; align-items:start; gap:18px; padding:26px 0; border-bottom:1px solid var(--sc-line); }
.scorecard__policies li:last-child { border:0; }
.scorecard__policies p { font-size:15px; line-height:1.65; color:var(--sc-muted); margin-top:10px; }
.scorecard__policies .scorecard__policy-note { font-size:14px; font-style:italic; }
.scorecard__policies div>a { font-size:14px; display:inline-block; margin-top:10px; }
.scorecard__methodology { margin-top:30px!important; font-weight:600; }
.scorecard--state .scorecard__methodology { max-width:65ch; }
.scorecard__back--bottom { margin-top:32px; }
.scorecard__sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:767px) {
 .scorecard__map-stage { pointer-events:none; }
 .scorecard__small-states,.scorecard__popover { display:none!important; }
 .scorecard__state-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 .scorecard__groups { grid-template-columns:1fr; }
 .scorecard__state-header { grid-template-columns:minmax(0,1fr) 90px; gap:20px; }
 .scorecard__silhouette { display:none; }
 .scorecard__state-header .scorecard__overall { grid-column:2; grid-row:1; }
 .scorecard__grade--large { width:74px; height:74px; font-size:48px; }
 .scorecard__legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .scorecard__legend li { margin:0; }
 .scorecard__map-card { padding:0; border:0; border-radius:0; }
 .scorecard__map-help { display:none; }
 .scorecard__states { margin-top:24px; }
}
@media(max-width:440px) {
 .scorecard__state-list { grid-template-columns:1fr; }
 .scorecard__policies { padding:0 18px; }
 .scorecard__state-header h1 { overflow-wrap:anywhere; }
 .scorecard__overall .scorecard__eyebrow { font-size:10px; }
}
