body{margin:0}#root{width:100%;min-height:100vh}:root{--primary:#1a4f8b;--primary-light:#e8f0f8;--primary-dark:#0d3a6e;--accent:#c5a028;--accent-light:#fef9e7;--accent-dark:#9a7b1c;--text:#1a1a2e;--text-muted:#4a4a5a;--surface:#f5f7fa;--background:#fff;--border:#d0d7e0;--shadow:0 1px 3px #0000000f;--shadow-lg:0 2px 8px #00000014;--radius:4px;--radius-sm:2px}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{color:var(--text);background:var(--background);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.header{z-index:100;background:var(--primary-dark);color:#fff;border-bottom:3px solid var(--accent);position:sticky;top:0}.header-content{text-align:center;padding:.875rem 1rem}.site-title{letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:1.125rem;font-weight:600}.site-tagline{opacity:.85;margin:.125rem 0 0;font-size:.8125rem;font-weight:400}.nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;background:var(--primary);display:flex;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav-tab{color:#fffc;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:0;flex:none;padding:.625rem .875rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s;position:relative}.nav-tab:hover{color:#fff;background:#ffffff1a}.nav-tab:focus{background:#ffffff26;outline:none}.nav-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-tab.active{color:#fff;background:var(--primary-dark);font-weight:600}.nav-tab.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.tab-label-full{display:none}.tab-label-short{display:inline}.main-content{flex:1;width:100%;max-width:900px;margin:0 auto;padding:1.5rem 1rem}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width>=480px){.tab-label-full{display:inline}.tab-label-short{display:none}.nav-tab{font-size:.875rem}}@media (width>=600px){.header-content{padding:1rem 1.25rem}.site-title{font-size:1.25rem}.site-tagline{font-size:.875rem}.nav-tab{padding:.75rem 1rem}.main-content{padding:2rem 1.5rem}}@media (width>=768px){.nav{justify-content:center}.nav-tab{padding:.75rem 1.25rem;font-size:.875rem}}@media (width>=1024px){.main-content{padding:2rem}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}html{scroll-behavior:smooth}@media print{.header{position:static}.nav{display:none}.footer{break-inside:avoid}}.home{padding:0}.hero{border-radius:var(--radius);margin-bottom:1.5rem;position:relative;overflow:hidden}.hero-image{object-fit:cover;width:100%;height:200px;display:block}.hero-content{background:var(--primary-dark);color:#fff;text-align:center;padding:1.25rem 1rem}.hero-headline{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;line-height:1.2}.hero-mission{opacity:.9;max-width:500px;margin:0 auto;font-size:1rem;line-height:1.5}.key-stat{border:2px solid var(--primary);border-left:4px solid var(--accent);text-align:center;background:#fff;margin-bottom:1.5rem;padding:1.5rem}.stat-number{color:var(--primary-dark);margin-bottom:.5rem;font-size:3.5rem;font-weight:700;line-height:1;display:block}.stat-description{color:var(--text);margin:0 0 .75rem;font-size:1rem;line-height:1.5}.stat-source{color:var(--text-muted);font-size:.8125rem;font-style:normal;display:block}.stat-source a{color:var(--primary)}.stat-source a:hover{text-decoration:underline}.survey-highlights{background:var(--surface);border-left:3px solid var(--accent);margin-bottom:1.5rem;padding:1.25rem}.survey-highlights h3{color:var(--primary-dark);margin:0 0 1rem;font-size:1rem;font-weight:600}.stat-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.mini-stat{text-align:center}.mini-number{color:var(--primary-dark);font-size:1.5rem;font-weight:700;line-height:1.2;display:block}.mini-label{color:var(--text-muted);margin-top:.25rem;font-size:.75rem;line-height:1.3;display:block}.problem-framing{background:var(--surface);border-left:3px solid var(--primary);margin-bottom:1.5rem;padding:1.25rem}.problem-framing h3{color:var(--primary-dark);margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.problem-framing p{margin:0 0 .75rem;font-size:.9375rem;line-height:1.6}.problem-framing p:last-child{margin-bottom:0}.cta-section{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.cta-button{border-radius:var(--radius);cursor:pointer;border:none;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:background .15s}.cta-button:hover{opacity:.9}.cta-button:focus{outline:2px solid var(--primary);outline-offset:2px}.cta-button.primary{background:var(--accent);color:#fff}.cta-button.primary:hover{background:var(--accent-dark)}.cta-button.secondary{background:var(--primary);color:#fff}.cta-button.secondary:hover{background:var(--primary-dark)}@media (width>=600px){.hero-image{height:280px}.hero-content{padding:1.5rem}.hero-headline{font-size:1.75rem}.stat-number{font-size:4rem}.stat-grid{grid-template-columns:repeat(4,1fr)}.mini-number{font-size:1.75rem}.mini-label{font-size:.8125rem}.cta-section{flex-direction:row;justify-content:center}.cta-button{min-width:180px}}@media (width>=768px){.hero-image{height:320px}.hero-headline{font-size:2rem}}.initiatives h2{color:var(--primary-dark);margin:0 0 1rem;font-size:1.5rem;font-weight:600}.initiatives-intro{background:var(--surface);border-left:3px solid var(--primary);margin-bottom:1.5rem;padding:1rem 1.25rem}.initiatives-intro p{margin:0;font-size:.9375rem;line-height:1.6}.initiatives-grid{gap:1rem;margin-bottom:1.5rem;display:grid}.initiative-card{border:1px solid var(--border);background:#fff;padding:1.25rem}.initiative-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.initiative-header h3{color:var(--text);margin:0;font-size:1rem;font-weight:600}.status-badge{text-transform:uppercase;letter-spacing:.03em;padding:.2rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.status-active{color:#1565c0;background:#e3f2fd}.status-completed{color:#2e7d32;background:#e8f5e9}.status-proposed{color:#e65100;background:#fff3e0}.status-stalled{color:#c62828;background:#ffebee}.initiative-description{color:var(--text);margin:0 0 .75rem;font-size:.9375rem;line-height:1.5}.initiative-link{color:var(--primary);font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block}.initiative-link:hover{text-decoration:underline}.update-notice{background:var(--primary-light);border:1px dashed var(--primary);text-align:center;padding:1.25rem}.update-notice h3{color:var(--primary-dark);margin:0 0 .5rem;font-size:1rem;font-weight:600}.update-notice p{color:var(--text);margin:0;font-size:.9375rem}@media (width>=700px){.initiatives-grid{grid-template-columns:repeat(2,1fr)}}.history h2{color:var(--primary-dark);margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.history-intro{color:var(--text);margin:0 0 1.5rem;font-size:1rem;line-height:1.6}.timeline{margin:0 0 1.5rem;padding-left:2rem;position:relative}.timeline:before{content:"";background:var(--primary);width:2px;position:absolute;top:0;bottom:0;left:0}.timeline-item{padding-bottom:1.5rem;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-marker{z-index:1;position:absolute;top:0;left:-2rem;transform:translate(-50%)}.timeline-year{background:var(--primary);color:#fff;white-space:nowrap;padding:.2rem .5rem;font-size:.8125rem;font-weight:600;display:inline-block}.timeline-content{background:var(--surface);border-left:2px solid var(--primary-light);margin-left:.75rem;padding:1rem}.timeline-content h3{color:var(--text);margin:0 0 .375rem;font-size:1rem;font-weight:600}.timeline-content p{color:var(--text);margin:0 0 .5rem;font-size:.9375rem;line-height:1.5}.timeline-source{color:var(--text-muted);font-size:.8125rem;font-style:normal;display:block}.timeline-source a{color:var(--primary)}.timeline-source a:hover{text-decoration:underline}.history-cta{background:var(--accent-light);border-left:3px solid var(--accent);padding:1.25rem}.history-cta p{margin:0;font-size:.9375rem;font-weight:500;line-height:1.5}@media (width>=600px){.timeline{padding-left:2.5rem}.timeline-marker{left:-2.5rem}.timeline-year{padding:.25rem .625rem;font-size:.875rem}.timeline-content{margin-left:1rem;padding:1.25rem}}.stores h2{color:var(--primary-dark);margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.stores-intro{color:var(--text);margin:0 0 1.5rem;font-size:1rem;line-height:1.6}.food-pantry-section{background:var(--primary-light);border:1px solid var(--primary);margin-bottom:1.5rem;padding:1.25rem}.food-pantry-section h3{color:var(--primary-dark);margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.pantry-intro{color:var(--text);margin:0 0 1rem;font-size:.9375rem;line-height:1.6}.pantry-locations{gap:.75rem;margin-bottom:1rem;display:grid}.pantry-location{border-left:3px solid var(--accent);background:#fff;padding:.75rem}.pantry-location h4{color:var(--text);margin:0 0 .25rem;font-size:.9375rem;font-weight:600}.location-address{color:var(--text);margin:0 0 .125rem;font-size:.875rem}.location-hours{color:var(--text-muted);margin:0;font-size:.8125rem}.pantry-links{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.pantry-link{color:var(--primary);border:1px solid var(--primary);background:#fff;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block}.pantry-link:hover,.pantry-link.primary{background:var(--primary);color:#fff}.pantry-link.primary:hover{background:var(--primary-dark)}.pantry-note{color:var(--text);margin:0 0 1rem;font-size:.875rem;line-height:1.5}.pantry-demand{border-left:3px solid var(--primary-dark);background:#fff;padding:.75rem}.pantry-demand p{color:var(--text);margin:0;font-size:.875rem;line-height:1.5}@media (width>=600px){.pantry-locations{grid-template-columns:repeat(3,1fr)}}.store-category{margin-bottom:1.5rem}.store-category h3{color:var(--text);border-bottom:2px solid var(--primary);margin:0 0 .375rem;padding-bottom:.375rem;font-size:1.125rem;font-weight:600}.category-note{color:var(--text-muted);margin:0 0 .75rem;font-size:.875rem}.stores-grid{gap:.75rem;display:grid}.store-card{border:1px solid var(--border);background:#fff;padding:1rem}.store-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.store-header h4{color:var(--text);margin:0;font-size:1rem;font-weight:600}.type-badge{text-transform:uppercase;letter-spacing:.03em;padding:.15rem .5rem;font-size:.625rem;font-weight:600;display:inline-block}.type-limited{color:#e65100;background:#fff3e0}.type-full{color:#1565c0;background:#e3f2fd}.type-convenience{color:#616161;background:#f5f5f5}.store-details{margin-bottom:.5rem}.store-address{color:var(--text-muted);margin:0 0 .125rem;font-size:.875rem}.store-distance{color:var(--text);margin:0;font-size:.875rem}.store-note{color:var(--text);background:var(--surface);margin:0 0 .75rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.5}.store-map-link{color:var(--primary);font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block}.store-map-link:hover{text-decoration:underline}.stores-note{background:var(--surface);border-left:3px solid var(--accent);margin-top:.75rem;padding:1rem}.stores-note p{margin:0;font-size:.9375rem;line-height:1.5}@media (width>=600px){.stores-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.stores-grid{grid-template-columns:repeat(3,1fr)}}.contacts h2{color:var(--primary-dark);margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.contacts-intro{color:var(--text);margin:0 0 1.5rem;font-size:1rem;line-height:1.6}.contacts-grid{gap:1rem;margin-bottom:1.5rem;display:grid}.contact-card{border:1px solid var(--border);background:#fff;padding:1.25rem}.contact-header{margin-bottom:.75rem}.contact-header h3{color:var(--text);margin:0 0 .125rem;font-size:1rem;font-weight:600}.contact-title{color:var(--primary);font-size:.8125rem;font-weight:500;display:inline-block}.officeholder{background:var(--surface);margin:0 0 .5rem;padding:.375rem .625rem;font-size:.875rem}.contact-description{color:var(--text);margin:0 0 .75rem;font-size:.9375rem;line-height:1.5}.contact-actions{flex-direction:column;gap:.5rem;display:flex}.contact-button{background:var(--primary);color:#fff;text-align:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-block}.contact-button:hover{background:var(--primary-dark);text-decoration:none}.contact-button:focus{outline:2px solid var(--primary);outline-offset:2px}.contact-email{color:var(--primary);font-size:.875rem;text-decoration:none}.contact-email:hover{text-decoration:underline}.contacts-tips{background:var(--surface);border-left:3px solid var(--primary);padding:1.25rem}.contacts-tips h3{color:var(--primary-dark);margin:0 0 .75rem;font-size:1rem;font-weight:600}.contacts-tips ul{margin:0;padding-left:1.125rem}.contacts-tips li{margin-bottom:.5rem;font-size:.9375rem;line-height:1.5}.contacts-tips li:last-child{margin-bottom:0}@media (width>=700px){.contacts-grid{grid-template-columns:repeat(2,1fr)}.contact-actions{flex-direction:row;align-items:center}}.student-advocacy h2{color:var(--primary-dark);margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.advocacy-intro{color:var(--text);margin:0 0 1.5rem;font-size:1rem;line-height:1.6}.advocacy-section{background:var(--surface);border-left:3px solid var(--primary);margin-bottom:1.25rem;padding:1.25rem}.advocacy-section h3{color:var(--primary-dark);margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.advocacy-section p{margin:0 0 .75rem;font-size:.9375rem;line-height:1.6}.advocacy-section p:last-of-type{margin-bottom:0}.advocacy-link{color:var(--primary);margin-top:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block}.advocacy-link:hover{text-decoration:underline}.action-list{margin:0;padding-left:1.125rem}.action-list li{margin-bottom:.75rem;font-size:.9375rem;line-height:1.5}.action-list li:last-child{margin-bottom:0}.share-story-callout{background:var(--accent-light);border:1px solid var(--accent);text-align:center;margin-bottom:1.25rem;padding:1.25rem}.share-story-callout h3{color:var(--accent-dark);margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.share-story-callout p{margin:0 0 .75rem;font-size:.9375rem;line-height:1.5}.share-story-button{background:var(--accent);color:#fff;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.share-story-button:hover{background:var(--accent-dark);text-decoration:none}.share-story-button:focus{outline:2px solid var(--primary);outline-offset:2px}.story-note{color:var(--text-muted);margin-top:.75rem;margin-bottom:0;font-size:.8125rem}.advocacy-resources{border:1px solid var(--border);background:#fff;padding:1.25rem}.advocacy-resources h3{color:var(--text);margin:0 0 .75rem;font-size:1rem;font-weight:600}.advocacy-resources ul{margin:0;padding:0;list-style:none}.advocacy-resources li{margin-bottom:.5rem;font-size:.9375rem}.advocacy-resources li:last-child{margin-bottom:0}.advocacy-resources a{color:var(--primary);text-decoration:none}.advocacy-resources a:hover{text-decoration:underline}.student-projects{max-width:800px;margin:0 auto}.student-projects h2{color:var(--primary-dark);margin:0 0 1rem;font-size:1.5rem;font-weight:600}.projects-intro{color:var(--text);margin:0 0 1.5rem;font-size:1rem;line-height:1.6}.projects-list{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.project-card{border:1px solid var(--border);background:#fff;padding:1.25rem}.project-header{margin-bottom:.75rem}.project-type{text-transform:uppercase;letter-spacing:.025em;margin-bottom:.5rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.type-business{color:#2e7d32;background:#e8f5e9}.type-research{color:#1565c0;background:#e3f2fd}.type-design{color:#c2185b;background:#fce4ec}.type-engineering{color:#e65100;background:#fff3e0}.type-other{background:var(--primary-light);color:var(--primary-dark)}.project-card h3{color:var(--text);margin:0;font-size:1.125rem;font-weight:600}.project-author{color:var(--text-muted);margin:.25rem 0 0;font-size:.875rem}.project-description{color:var(--text);margin:0 0 .75rem;font-size:.9375rem;line-height:1.6}.project-link{color:var(--primary);font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block}.project-link:hover{text-decoration:underline}.submit-project{background:var(--primary-light);border:1px solid var(--primary);padding:1.25rem}.submit-project h3{color:var(--primary-dark);margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.submit-project p{color:var(--text);margin:0 0 .75rem;font-size:.9375rem;line-height:1.6}.submit-project ul{margin:0 0 1rem;padding-left:1.25rem}.submit-project li{color:var(--text);margin-bottom:.25rem;font-size:.875rem;line-height:1.6}.submit-button{background:var(--primary);color:#fff;border:none;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-block}.submit-button:hover{background:var(--primary-dark)}@media (width>=600px){.student-projects h2{font-size:1.75rem}.project-card,.submit-project{padding:1.5rem}}.get-involved h2{color:var(--primary-dark);margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.involved-intro{color:var(--text);margin:0 0 1.5rem;font-size:1rem;line-height:1.6}.action-cards{gap:1rem;margin-bottom:1.5rem;display:grid}.action-card{background:var(--surface);text-align:center;padding:1.25rem}.action-card.primary-action{background:var(--primary-light);border:1px solid var(--primary)}.action-card h3{color:var(--text);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.action-card p{margin:0 0 .75rem;font-size:.9375rem;line-height:1.5}.action-button{padding:.625rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.action-button:hover{opacity:.9;text-decoration:none}.action-button:focus{outline:2px solid var(--primary);outline-offset:2px}.action-button.primary{background:var(--primary);color:#fff}.action-button.primary:hover{background:var(--primary-dark)}.action-button.secondary{background:var(--accent);color:#fff}.action-button.secondary:hover{background:var(--accent-dark)}.placeholder-note{color:var(--text-muted);margin-top:.5rem;margin-bottom:0;font-size:.75rem;font-style:italic}.next-steps{border:1px solid var(--border);background:#fff;margin-bottom:1.5rem;padding:1.25rem}.next-steps h3{color:var(--primary-dark);margin:0 0 1rem;font-size:1.125rem;font-weight:600}.steps-list{margin:0;padding-left:1.25rem}.steps-list li{margin-bottom:1rem}.steps-list li:last-child{margin-bottom:0}.steps-list li strong{color:var(--text);margin-bottom:.125rem;font-size:.9375rem;display:block}.steps-list li p{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.5}.social-share{background:var(--surface);text-align:center;margin-bottom:1.5rem;padding:1.25rem}.social-share h3{color:var(--text);margin:0 0 .375rem;font-size:1rem;font-weight:600}.social-share p{color:var(--text-muted);margin:0 0 .75rem;font-size:.875rem}.share-buttons{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.share-button{color:#fff;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-block}.share-button:hover{opacity:.9;text-decoration:none}.share-button:focus{outline:2px solid var(--primary);outline-offset:2px}.share-button.twitter{background:#1da1f2}.share-button.facebook{background:#1877f2}.share-button.linkedin{background:#0a66c2}.closing-message{background:var(--accent-light);border-left:3px solid var(--accent);text-align:center;padding:1.25rem}.closing-message p{margin:0 0 .75rem;font-size:.9375rem;line-height:1.5}.closing-message p:last-child{color:var(--primary-dark);margin-bottom:0;font-weight:600}@media (width>=600px){.action-cards{grid-template-columns:repeat(2,1fr)}}.footer{background:var(--primary-dark);color:#fff;margin-top:2rem;padding:1.5rem 1rem}.footer-content{max-width:800px;margin:0 auto}.footer-sources{margin-bottom:1.5rem}.footer-sources h4{color:#ffffffe6;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.footer-sources ul{margin:0;padding:0;list-style:none}.footer-sources li{color:#ffffffbf;margin-bottom:.375rem;font-size:.8125rem;line-height:1.4}.footer-sources a{color:#ffffffe6;text-decoration:none}.footer-sources a:hover{text-decoration:underline}.footer-credits{border-top:1px solid #ffffff26;margin-bottom:1.25rem;padding-top:1.25rem}.footer-credits p{color:#ffffffd9;margin:0 0 .5rem;font-size:.875rem;line-height:1.5}.footer-credits p:last-child{margin-bottom:0}.footer-legal{border-top:1px solid #ffffff26;padding-top:.75rem}.footer-legal p{color:#fff9;margin:0;font-size:.8125rem}.footer-legal a{color:#fffc;text-decoration:none}.footer-legal a:hover{text-decoration:underline}@media (width>=600px){.footer{padding:2rem 1.5rem}}
