/* Keep SnR's existing visual identity; improve the actual access paths. */
.quality-safety-row { background:#f2eee3; border-bottom:1px solid #b9c6c1; color:#17394d; }
.quality-safety-inner { display:flex; align-items:center; justify-content:flex-end; gap:16px; padding-top:8px; padding-bottom:8px; }
.quality-safety-inner p { margin:0; font:12px/1.45 system-ui,sans-serif; color:#17394d; }
header .quality-safety-row .snr-quick-exit { position:static!important; flex:0 0 auto; margin:0; min-height:44px; padding:9px 15px; border-radius:6px; box-shadow:none; z-index:auto; background:#692632; color:#fff!important; }
header .quality-safety-row .snr-quick-exit:focus-visible { outline:3px solid #155eb0; outline-offset:3px; }
.quality-explainer { padding:14px 17px; border-left:4px solid #29766d; border-radius:4px; background:#edf4ee; color:#17394d; font-size:14px; line-height:1.65; }
[data-quality-finder] .snr-finder-controls { align-items:end; }
[data-quality-finder] .quality-search-label { grid-column:1/-1; }
[data-quality-finder] input[type=search] { display:block; box-sizing:border-box; width:100%; min-height:50px; margin-top:8px; padding:12px; border:1px solid #819b93; border-radius:6px; background:#fff; color:#17394d; font-size:16px; line-height:1.4; font-family:inherit; }
.quality-reset-controls { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px; }
.quality-reset-controls button { min-height:44px; padding:10px 14px; border:1px solid #446f66; background:#fffdf7; color:#17394d; border-radius:5px; font:600 14px/1.5 system-ui,sans-serif; cursor:pointer; }
[data-quality-resource] { min-width:0; display:flex; flex-direction:column; }
[data-quality-resource][hidden],#snr-finder-empty[hidden],[data-quality-legacy-giving] { display:none!important; }
.quality-kind { display:block; color:#31655d; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.045em; margin-bottom:10px; }
.quality-resource-facts { margin:0 0 18px; }
.quality-resource-facts > div { padding:9px 0; border-top:1px solid #dde4dd; }
.quality-resource-facts dt { font-size:11px; color:#42645e; font-weight:750; line-height:1.5; text-transform:uppercase; letter-spacing:.03em; }
.quality-resource-facts dd { margin:3px 0 0; font-size:14px; line-height:1.65; color:#17394d; }
.quality-source { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:46px; padding:10px 13px; margin-top:auto; box-sizing:border-box; border:1px solid #315e59; border-radius:5px; background:#edf4ee; color:#17394d; font-size:14px; font-weight:700; line-height:1.5; text-underline-offset:3px; }
[data-quality-resource] small { margin:12px 0 0; font-size:12px; line-height:1.6; }
.quality-empty { background:#fffdf7; border:1px solid #baa774; padding:18px; color:#17394d; line-height:1.7; }
[data-quality-finder] input:focus-visible,[data-quality-finder] select:focus-visible,[data-quality-finder] button:focus-visible,[data-quality-finder] a:focus-visible { outline:3px solid #155eb0; outline-offset:3px; }
.quality-help-alert { margin:26px 0 18px; padding:clamp(20px,3vw,30px); border:1px solid #692632; border-top:5px solid #d5b16c; border-radius:10px; background:#692632; color:#fffaf0; }
.quality-help-alert .eyebrow { color:#f3d38e; font-size:11px; }
.quality-help-alert h2 { color:#fffaf0; font-size:clamp(25px,3vw,33px); line-height:1.2; margin:12px 0; }
.quality-help-alert p { color:#fffaf0; font-size:15px; line-height:1.7; }
.quality-actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.quality-actions a { display:inline-flex; align-items:center; min-height:44px; padding:10px 13px; border:1px solid #fffaf0; border-radius:5px; background:#fffaf0; color:#692632; font-size:14px; font-weight:700; line-height:1.5; text-underline-offset:3px; }
.quality-help-alert a:focus-visible { outline:3px solid #f3d38e; outline-offset:4px; }
.quality-help-alert .quality-note { font-size:12px; margin-bottom:0; }
.quality-compact-city .snr-city-card-main { padding:20px 24px; grid-template-columns:minmax(130px,.65fr) minmax(0,1.35fr); gap:20px; }
.quality-compact-city .snr-city-logo-panel { max-width:230px; padding:18px; }
.quality-compact-city .snr-city-card h3 { font-size:29px; }
.quality-compact-city .snr-city-card-notes { padding:14px 24px; }
.quality-info { border-left:4px solid #32766f; background:#f1f5ee; padding:22px 25px; border-radius:5px; color:#17394d; margin:24px 0; }
.quality-info p { line-height:1.75; font-size:15px; }
.quality-info details { border-top:1px solid #bdd0c5; padding-top:12px; }
.quality-info summary { min-height:44px; padding:8px 0; cursor:pointer; font-weight:700; line-height:1.5; }
.quality-giving-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(25px,5vw,60px); align-items:start; }
.quality-giving-layout h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; }
.quality-giving-layout p { font-size:16px; line-height:1.75; }
.quality-giving-card { padding:clamp(23px,4vw,38px); background:#fffdf7; border:1px solid #ccb77f; border-top:5px solid #bc9146; border-radius:10px; }
.quality-giving-card .eyebrow { font-size:11px; line-height:1.6; color:#52665e; }
.quality-giving-card .btn { display:flex; min-height:50px; justify-content:center; align-items:center; white-space:normal; line-height:1.5; margin:22px 0; }
.quality-giving-card .quality-note { font-size:13px; }
.quality-info a:focus-visible,.quality-info summary:focus-visible,.quality-giving-layout a:focus-visible { outline:3px solid #155eb0; outline-offset:4px; }
#hg-guide { scroll-margin-top:calc(var(--snr-current-header-height, 180px) + 70px); }
@media(max-width:1240px) {
  header .head { display:flex; flex-wrap:wrap; gap:12px; align-items:center; position:relative; }
  header .brand { flex:1 1 155px; min-width:0; }
  header .header-phone { flex:0 1 auto; margin-left:auto; }
  header #menubtn { position:static; min-height:44px; flex:0 0 auto; }
  header #mainnav { position:static!important; width:100%; flex-basis:100%; display:none; box-sizing:border-box; }
  header #mainnav.open { display:flex; flex-wrap:wrap; gap:8px; }
  header #mainnav a { min-height:44px; align-items:center; }
}
@media(max-width:700px) {
  .quality-giving-layout,.quality-compact-city .snr-city-card-main { grid-template-columns:minmax(0,1fr); }
  .quality-compact-city .snr-city-logo-panel { max-width:240px; }
  [data-quality-finder] .snr-finder-results { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:400px) {
  .quality-safety-inner { gap:8px; justify-content:space-between; }
  .quality-safety-inner p { font-size:11px; }
  header .quality-safety-row .snr-quick-exit { padding:8px 10px; font-size:12px; }
  .quality-actions { flex-direction:column; }
  .quality-info { padding:18px; }
  .quality-compact-city .snr-city-card-main { padding:20px 18px; }
}
@media(prefers-reduced-motion:reduce) {
  .quality-safety-row *,[data-quality-finder] *,[data-quality-giving] * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
