* { box-sizing: border-box; }
:root { --teal:#00a6a6; --blue:#1f4e78; --green:#70ad47; --purple:#7030a0; --ink:#1f2933; --muted:#607080; --bg:#f6f9fb; --white:#fff; --line:#d9e2f3; --warn-bg:#fce4d6; --warn:#7a3a00; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; color:var(--ink); background:var(--bg); line-height:1.55; }
.wrap { width:min(1180px, calc(100% - 28px)); margin:0 auto; }
.hero { background:linear-gradient(135deg,var(--teal),var(--blue)); color:white; padding:42px 0 36px; }
.hero-grid { display:grid; grid-template-columns: 1.6fr .8fr; gap:28px; align-items:center; }
.eyebrow { margin:0 0 10px; text-transform:uppercase; letter-spacing:.14em; font-size:.83rem; font-weight:700; opacity:.9; }
h1 { margin:0; font-size:clamp(2.2rem,5vw,4.5rem); line-height:1.04; }
.lead { max-width:780px; font-size:1.16rem; margin:16px 0 0; }
.disclaimer { margin:18px 0 0; background:rgba(255,255,255,.14); border-left:5px solid rgba(255,255,255,.55); padding:12px 14px; border-radius:12px; max-width:900px; }
.quick-card { background:white; color:var(--ink); border-radius:20px; padding:20px; box-shadow:0 12px 32px rgba(0,0,0,.18); }
.quick-card h2 { margin:0 0 12px; color:var(--blue); }
.quick-button { display:flex; align-items:center; justify-content:center; width:100%; min-height:46px; margin-top:10px; padding:0 15px; border-radius:999px; background:var(--blue); color:white; border:0; text-decoration:none; font-weight:700; font-size:1rem; cursor:pointer; }
.quick-button.secondary { background:var(--purple); }
.quick-button.print { background:var(--teal); }
.controls { margin-top:22px; background:white; border:1px solid var(--line); border-radius:20px; padding:18px; box-shadow:0 8px 24px rgba(31,78,120,.09); }
label { display:block; font-weight:700; margin-bottom:8px; }
input[type="search"], select { width:100%; min-height:48px; border:1px solid #b8c7d9; border-radius:14px; padding:0 14px; font-size:1rem; background:white; }
.filter-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:14px; }
.check { margin-top:15px; color:var(--muted); font-weight:600; }
.summary { margin:24px 0 14px; }
.summary h2 { margin:0; color:var(--blue); }
.summary p { margin:4px 0 0; color:var(--muted); }
.hb-box { background:var(--warn-bg); color:var(--warn); border-left:7px solid #f4b183; border-radius:16px; padding:16px 18px; margin:0 0 20px; }
.hb-box h2 { margin:0 0 6px; }
.hb-box p { margin:0; }
.cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.card { background:white; border:1px solid var(--line); border-radius:20px; padding:18px; box-shadow:0 8px 22px rgba(31,78,120,.08); overflow-wrap:anywhere; word-break:normal; }
.card.housing { border-top:8px solid var(--purple); }
.card.utilities { border-top:8px solid var(--green); }
.card.food { border-top:8px solid var(--blue); }
.card-header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.card h3 { margin:0; font-size:1.28rem; line-height:1.22; }
.program { margin:8px 0 0; font-weight:700; color:var(--muted); }
.badge { flex:none; border-radius:999px; padding:5px 10px; font-size:.76rem; font-weight:700; background:#eef4f8; color:var(--blue); }
.meta { display:grid; grid-template-columns:125px 1fr; gap:7px 12px; margin:14px 0; }
.meta dt { font-weight:700; color:var(--ink); }
.meta dd { margin:0; color:var(--muted); min-width:0; }
.details { margin:10px 0; }
.note { margin-top:12px; background:#f8fafc; border-left:4px solid var(--line); padding:10px 12px; border-radius:10px; color:var(--muted); }
.card-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.card-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 14px; border-radius:999px; text-decoration:none; font-weight:700; }
.call { background:var(--blue); color:white; }
.web { background:#e7f3ed; color:#2f6b1f; }
.footer { color:var(--muted); padding:28px 0 40px; }
@media (max-width:850px) { .hero-grid,.filter-grid,.cards { grid-template-columns:1fr; } .card-header { display:block; } .badge { display:inline-block; margin-top:10px; } .meta { grid-template-columns:1fr; gap:2px; } }
@media print { .controls,.quick-card,.card-actions { display:none !important; } body { background:white; } .hero { padding:24px 0; } .cards { grid-template-columns:1fr; } .card { box-shadow:none; break-inside:avoid; } }
