.skip-link{position:fixed;left:16px;top:-100px;padding:12px 18px;background:#fff;color:var(--navy);z-index:100;border:2px solid var(--navy);border-radius:6px}
.skip-link:focus{top:12px}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bc8221;outline-offset:4px}
.resource-head{padding:48px 0 50px;background:linear-gradient(110deg,#17385f,#294f58)}
.resource-head h1{font-size:clamp(32px,4.6vw,54px);max-width:980px;line-height:1.1;overflow-wrap:anywhere}
.resource-head p{max-width:860px;font-size:18px;color:#edf2f5}
.resource-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.7px;color:#f3d08c;font-weight:bold;margin-bottom:13px}
.resource-body{padding:36px 0 65px;background:#fafaf7}
.resource-nav{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 26px;font-weight:700;font-size:15px;color:var(--navy)}
.resource-nav a{text-underline-offset:4px;padding:5px 0}
.availability{border-left:4px solid var(--gold);background:#f5efdf;padding:18px 22px;border-radius:0 8px 8px 0;margin:24px 0;color:#344550}
.availability strong{color:var(--navy)}
.availability p{font-size:15px;margin:5px 0 0;max-width:980px}
.resource-tools,.directory-tools{max-width:720px;margin:32px 0}
.resource-tools label,.directory-tools label{display:block;font-weight:700;color:var(--navy);margin-bottom:9px}
input[type=search]{display:block;width:100%;font:inherit;background:#fff;border:1px solid #9daeb5;border-radius:7px;padding:14px 16px;color:var(--ink);min-height:52px}
input::placeholder{color:#64737b;opacity:1}
.resource-tools .note,.directory-tools .note{margin:7px 0;min-height:23px}
.resource-category-section{padding:0;margin:38px 0 0}
.resource-category-section h2,.directory-section h2{font-size:27px;margin-bottom:18px}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.resource-card{padding:26px;background:#fff;border:1px solid #dfe5e5;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 3px 12px #16354f06;min-width:0}
.resource-category{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#52652e;font-weight:bold;margin-bottom:10px}
.resource-card h3{font-size:21px;line-height:1.35;margin:0 0 12px}
.resource-card h3 a{text-decoration:none}
.resource-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.resource-card p{font-size:16px;margin:0 0 15px}
.resource-card .coverage{font-size:14px;color:#52616a;padding-top:13px;border-top:1px solid #eceded;line-height:1.5}
.resource-actions{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.visit-link{background:var(--navy);color:#fff;text-decoration:none;border-radius:5px;padding:10px 15px;font-weight:700;font-size:14px;min-height:44px}
.visit-link:hover{background:#264e7c}
.phone-link{font-size:14px;font-weight:700;color:var(--navy);text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.resource-end{border-top:1px solid #d9e0e1;margin-top:42px;padding-top:32px}
.resource-end h2{font-size:27px}
.resource-end p{max-width:800px}
.directory-button{background:var(--navy);color:#fff;white-space:normal;font-size:15px;text-align:center}
.directory-button:hover{background:#264e7c}
.start-panel,.utility-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;border:1px solid #dce4dd;border-radius:12px;padding:30px}
.start-panel h2,.utility-panel h2{font-size:28px}
.start-panel p,.utility-panel p{max-width:700px;font-size:16px;margin:0}
.start-panel .btn,.utility-panel .btn{flex:0 0 250px}
.directory-section{padding:0;margin:40px 0}
.directory-section>p{color:#52616a;max-width:930px;font-size:16px}
.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.location-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dce3e3;border-top:4px solid var(--green);border-radius:9px;padding:24px;text-decoration:none;min-width:0;transition:box-shadow .15s,border-color .15s}
.location-card:hover{border-color:var(--green);box-shadow:0 4px 20px #17385f12}
.location-card h3{font-size:24px;line-height:1.25;margin:0 0 12px}
.location-card p{font-size:15px;color:#53636c;margin:0 0 20px}
.location-card span{font-size:14px;color:var(--navy);font-weight:700;margin-top:auto}
.location-card.compact h3{font-size:20px}
.community-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.community-link{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 15px;background:#fff;border:1px solid #dce3e3;border-radius:6px;text-decoration:none;font-weight:700;color:var(--navy);font-size:15px;min-height:52px}
.community-link:hover{background:#edf1e9;border-color:var(--green)}
.community-link span{color:#677a43}
.place-list{font-size:15px;color:#465b68;margin:0 0 22px}
.place-list p{margin:5px 0 0}
.utility-panel{background:#edf2e8;border:0;margin-top:40px}
.directory-footer-note{color:#53636c;font-size:14px;margin-top:28px;max-width:960px}
.no-results{padding:20px;background:#fff;border:1px solid #dce3e3;border-radius:8px}
@media(max-width:1050px){.community-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.resource-head{padding:34px 0}.resource-head p{font-size:17px}.resource-body{padding:24px 0 45px}.resource-grid,.location-grid{grid-template-columns:1fr}.community-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card{padding:22px}.start-panel,.utility-panel{display:block;padding:24px}.start-panel .btn,.utility-panel .btn{margin-top:20px;display:inline-block}.resource-nav{font-size:14px;gap:6px 18px}.availability{padding:16px 18px}.resource-category-section h2,.directory-section h2{font-size:25px}}
@media(max-width:380px){.community-grid{grid-template-columns:1fr}.resource-card h3{font-size:20px}.resource-head h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.location-card{transition:none}}
@media print{.top,footer,.resource-tools,.directory-tools,.resource-nav{display:none}.resource-card{break-inside:avoid;box-shadow:none}.resource-head{background:none;color:#17385f}.resource-head p{color:#333}.resource-grid{display:block}.resource-card{margin:12px 0}.visit-link{background:none;color:#17385f}.resource-card h3 a:after{content:' (' attr(href) ')';font-size:11px;font-weight:normal;overflow-wrap:anywhere}}

/* Version 7: approved housing and grocery photos. */
.resource-photos{margin:0 0 22px;overflow:hidden;border-radius:10px;background:#fff;border:1px solid #dfe5e5}
.resource-photos img{display:block;width:100%;height:auto;object-fit:cover}
.housing-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
.housing-photo-grid img{aspect-ratio:3/2}
.resource-photos figcaption{font-size:12px;color:#607080;padding:8px 14px}
.food-photo img{aspect-ratio:5/2;object-position:center 46%}
@media(max-width:640px){.housing-photo-grid{grid-template-columns:1fr;gap:3px}.food-photo img{aspect-ratio:3/2}.resource-photos{margin-bottom:18px}}
@media print{.resource-photos{max-width:600px;break-inside:avoid}.food-photo img{max-height:220px}}

/* Approved resource subject photos. */
.subject-photo img{aspect-ratio:5/2;object-fit:cover;object-position:center}
@media(max-width:640px){.subject-photo img{aspect-ratio:3/2}}
@media print{.subject-photo{max-width:600px;break-inside:avoid}.subject-photo img{max-height:220px}}

/* Section titles remain accessible text over the subject photos. */
.resource-photo-heading{position:relative;isolation:isolate}
.resource-photo-heading:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(10,27,43,.86));z-index:1;pointer-events:none}
.resource-category-section .resource-photo-title{position:absolute;left:0;right:0;bottom:0;z-index:2;color:#fff;font-size:clamp(23px,3vw,34px);line-height:1.2;margin:0;padding:24px 28px;text-shadow:0 1px 3px #0008;overflow-wrap:anywhere}
@media(max-width:640px){.resource-category-section .resource-photo-title{padding:18px 20px;font-size:25px}}
@media print{.resource-category-section .resource-photo-title{color:#fff!important;print-color-adjust:exact}.resource-photo-heading:after{print-color-adjust:exact}}
