@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root{
 --navy:#102b46;--navy-2:#173a5b;--ink:#19324c;--muted:#6e8091;--red:#e83236;
 --red-dark:#c9242a;--blue:#428edc;--ice:#f2f6f9;--line:#dce5eb;--white:#fff;
 --shadow:0 22px 55px rgba(14,43,70,.10);--radius:24px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:9999}
.site-header{height:88px;background:#fff;border-bottom:1px solid rgba(16,43,70,.08);position:sticky;top:0;z-index:50}
.nav-wrap{max-width:1420px;height:100%;margin:auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:13px}.brand img{width:61px;height:61px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-family:Manrope;font-size:15px}.brand-copy small{font-size:12px;color:var(--muted);margin-top:5px}
.site-nav{display:flex;align-items:center;gap:29px;font-size:14px;font-weight:600}.site-nav>a:not(.member-login){position:relative}.site-nav>a:not(.member-login):after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--red);transition:.2s}.site-nav>a:hover:after,.site-nav>a.active:after{right:0}
.member-login{border:1px solid #cad6df;border-radius:9px;padding:11px 16px}.member-login:hover{border-color:var(--navy)}
.nav-toggle{display:none;border:0;background:none;padding:10px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px}

.hero{min-height:650px;background:linear-gradient(116deg,#edf4f8 0%,#f8fafb 48%,#e8f0f5 100%);position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,43,70,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(16,43,70,.025) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to right,#000,transparent)}
.hero-inner{max-width:1360px;margin:auto;min-height:650px;padding:75px 62px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;z-index:2}
.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.17em;color:var(--red)}.pulse-dot{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:8px;box-shadow:0 0 0 5px rgba(232,50,54,.1)}
.hero h1,.section h2,.service-heading h2,.volunteer h2{font-family:Manrope;margin:20px 0 20px;color:var(--navy);font-size:65px;line-height:1.04;letter-spacing:-.045em}.hero h1 em,.service-heading h2 em,.volunteer h2 em{font-style:normal;color:var(--red)}
.hero-copy>p{max-width:640px;font-size:18px;line-height:1.7;color:#5e7182}.hero-actions{display:flex;gap:12px;margin:31px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 20px;border-radius:9px;font-weight:700;font-size:14px;transition:.2s}.btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 25px rgba(232,50,54,.18)}.btn-primary:hover{background:var(--red-dark);transform:translateY(-1px)}.btn-ghost{border:1px solid #cbd7df;background:rgba(255,255,255,.65)}.hero-note{display:flex;align-items:center;gap:12px;margin-top:38px;color:var(--navy)}.hero-note .shield{width:37px;height:37px;display:grid;place-items:center;background:#e1ebf2;border-radius:10px;color:var(--red)}.hero-note span:last-child{display:flex;flex-direction:column;font-size:12px}.hero-note small{color:var(--muted);margin-top:3px}
.hero-visual{height:490px;position:relative;display:grid;place-items:center}.hero-mark{width:310px;height:310px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.65);box-shadow:0 30px 80px rgba(16,43,70,.12);backdrop-filter:blur(8px);position:relative;z-index:3}.hero-mark:before{content:"";position:absolute;inset:-20px;border:1px solid rgba(16,43,70,.08);border-radius:50%}.hero-mark img{width:270px;height:270px;object-fit:contain}.route-line{position:absolute;border:1px dashed rgba(66,142,220,.35);border-radius:50%}.route-a{width:430px;height:250px;transform:rotate(-17deg)}.route-b{width:450px;height:320px;transform:rotate(25deg)}.route-node{position:absolute;width:13px;height:13px;background:var(--blue);border:4px solid #fff;border-radius:50%;box-shadow:0 4px 10px #789}.node-a{left:12%;top:25%}.node-b{right:8%;top:42%;background:var(--red)}.node-c{left:18%;bottom:18%}.dispatch-card{position:absolute;right:0;bottom:35px;z-index:4;background:#fff;border:1px solid #e1e8ed;border-radius:14px;padding:15px 19px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}.dispatch-icon{width:36px;height:36px;background:#fff0f0;color:var(--red);border-radius:9px;display:grid;place-items:center}.dispatch-card span:last-child{display:flex;flex-direction:column}.dispatch-card small{font-size:9px;letter-spacing:.13em;color:var(--muted)}.dispatch-card strong{font-size:13px;margin-top:4px}

.impact{background:var(--navy);color:#fff}.impact-inner{max-width:1360px;margin:auto;padding:56px 62px;display:grid;grid-template-columns:1fr 2.1fr;gap:55px;align-items:center}.live-pill{font-size:10px;letter-spacing:.15em;color:#b9c9d6;font-weight:700}.live-pill span{display:inline-block;width:7px;height:7px;background:#55d49b;border-radius:50%;margin-right:7px;box-shadow:0 0 0 4px rgba(85,212,155,.12)}.impact-intro h2{font-family:Manrope;font-size:30px;line-height:1.15;margin:13px 0 10px}.impact-intro p{font-size:12px;color:#9fb1c0;max-width:290px;line-height:1.5}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.13)}.stat{padding:5px 29px;border-right:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column}.stat-icon{color:#72ace6;font-size:18px;margin-bottom:13px}.stat strong{font-family:Manrope;font-size:35px;letter-spacing:-.04em}.stat>span:nth-of-type(2){font-size:12px;font-weight:600;margin-top:4px}.stat small{font-size:10px;color:#8299aa;margin-top:5px}

.section{max-width:1230px;margin:auto;padding:95px 42px}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.section h2{font-size:45px;margin-top:15px}.section-copy{padding-top:22px}.section-copy p{color:var(--muted);line-height:1.75}.section-copy .lead{font-size:19px;color:var(--ink);font-weight:500}.text-link{display:inline-flex;gap:30px;margin-top:13px;color:var(--red);font-weight:700;font-size:13px}

.service-section{background:#0d2943;color:#fff;position:relative;overflow:hidden}.service-section:after{content:"";position:absolute;width:650px;height:650px;border:1px solid rgba(255,255,255,.05);border-radius:50%;right:-250px;top:-200px}.service-heading{padding-bottom:45px}.section-kicker.light{color:#76a9d7}.service-heading h2{color:#fff;font-size:47px;margin:14px 0}.service-heading p{color:#aab9c6;max-width:580px;line-height:1.7}.service-cards{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative;z-index:2}.service-cards article{background:#153652;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;min-height:255px;position:relative}.service-cards article>span{position:absolute;right:22px;top:20px;font-size:11px;color:#607d94}.service-icon{width:43px;height:43px;background:#1d4667;border-radius:10px;display:grid;place-items:center;color:#79b4e8;margin-bottom:30px}.service-cards h3{font-family:Manrope;font-size:18px}.service-cards p{font-size:13px;line-height:1.7;color:#9eb1c0}

.month-impact{padding-top:70px;padding-bottom:70px}.month-card{border:1px solid var(--line);border-radius:var(--radius);padding:45px 55px;background:#f8fafb;display:flex;justify-content:space-between;align-items:center}.month-card h2{font-size:31px;margin:10px 0}.month-card p{color:var(--muted);font-size:13px}.month-number{display:flex;align-items:center;gap:18px;padding-left:50px;border-left:1px solid var(--line)}.month-number strong{font-family:Manrope;font-size:58px;color:var(--red)}.month-number span{font-size:13px;line-height:1.5;color:var(--muted)}

.volunteer{background:var(--red);color:#fff}.volunteer-inner{display:grid;grid-template-columns:1.5fr .7fr;align-items:center;gap:60px;padding-top:75px;padding-bottom:75px}.volunteer h2{color:#fff;font-size:47px;margin:12px 0}.volunteer h2 em{color:#fff}.volunteer p{max-width:670px;color:#ffe4e4;line-height:1.7}.volunteer-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.btn-white{background:#fff;color:var(--navy)}.volunteer-actions small{color:#ffd0d0}

.support-card{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:42px 48px;box-shadow:0 12px 35px rgba(16,43,70,.06)}.support-symbol{width:65px;height:65px;border-radius:50%;background:#fff0f0;color:var(--red);display:grid;place-items:center;font-size:25px}.support-card h2{font-size:29px;margin:9px 0}.support-card p{margin:0;color:var(--muted)}.btn-dark{background:var(--navy);color:#fff}

footer{background:#091e31;color:#fff}.footer-inner{max-width:1230px;margin:auto;padding:65px 42px;display:flex;justify-content:space-between}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand img{width:75px;height:75px;object-fit:contain}.footer-brand div{display:flex;flex-direction:column}.footer-brand span{font-size:12px;color:#8da1b2;margin-top:5px}.footer-links{display:flex;gap:90px}.footer-links>div{display:flex;flex-direction:column;gap:9px;font-size:12px}.footer-links strong{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7890a4;margin-bottom:6px}.footer-links a{color:#b8c5cf}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);max-width:1230px;margin:auto;padding:20px 42px 35px;display:flex;justify-content:space-between;color:#6f8799;font-size:10px}

@media(max-width:980px){
 .nav-wrap{padding:0 22px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:18px 22px 26px;box-shadow:0 20px 35px rgba(16,43,70,.12);flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:13px 4px}.member-login{text-align:center;margin-top:8px}
 .hero-inner{grid-template-columns:1fr;padding:60px 32px}.hero h1{font-size:53px}.hero-visual{height:400px}.impact-inner{grid-template-columns:1fr;padding:45px 32px}.stat-grid{border-left:0}.section{padding:70px 32px}.section-grid{gap:45px}.service-cards{grid-template-columns:1fr}.volunteer-inner{grid-template-columns:1fr}.support-card{grid-template-columns:auto 1fr}.support-card .btn{grid-column:2}
}
@media(max-width:650px){
 .site-header{height:76px}.site-nav{top:76px}.brand img{width:50px;height:50px}.brand-copy strong{font-size:12px}.brand-copy small{font-size:10px}
 .hero{min-height:auto}.hero-inner{padding:48px 22px 42px;min-height:auto}.hero h1{font-size:43px}.hero-copy>p{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-visual{height:330px}.hero-mark{width:220px;height:220px}.hero-mark img{width:195px;height:195px}.route-a,.route-b{width:300px}.dispatch-card{right:4px}
 .impact-inner{padding:40px 22px;gap:30px}.stat-grid{grid-template-columns:1fr 1fr;gap:0}.stat{padding:18px;border-bottom:1px solid rgba(255,255,255,.1)}.stat strong{font-size:30px}
 .section{padding:58px 22px}.section-grid{grid-template-columns:1fr;gap:10px}.section h2,.service-heading h2,.volunteer h2{font-size:36px}
 .month-card{padding:30px 25px;display:block}.month-number{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;margin-top:25px}
 .support-card{display:block;padding:30px}.support-symbol{margin-bottom:25px}.support-card .btn{margin-top:25px;width:100%}
 .footer-inner{padding:50px 22px;display:block}.footer-links{margin-top:40px;gap:55px}.footer-bottom{padding:20px 22px 30px;display:block}.footer-bottom span{display:block;margin-top:7px}
}


/* V2 — warmer, community-led visual direction */
:root{--navy:#17334b;--ink:#263c4a;--muted:#697b82;--red:#df3d41;--red-dark:#c73135;--cream:#fcf8f1;--warm:#f2e7da;--line:#e7ddd2}
body{background:var(--cream)}
.site-header{background:rgba(255,253,249,.98);border-bottom:1px solid #eee5dc}
.brand img{width:66px;height:66px}.brand-copy strong{font-size:16px}.member-login{background:#fffaf5;border-color:#ded2c6}
.hero{min-height:650px;background:radial-gradient(circle at 82% 18%,rgba(223,61,65,.09),transparent 25%),radial-gradient(circle at 72% 82%,rgba(211,157,91,.14),transparent 28%),linear-gradient(115deg,#fffdf9 0%,#fbf5ed 58%,#f2e7da 100%)}
.hero:before{background:none;mask-image:none;content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(223,61,65,.1);right:-120px;bottom:-260px}
.hero-inner{min-height:650px}.hero h1{font-size:68px}.hero-copy>p{color:#596e77}.eyebrow{color:#bf3135}.btn-ghost{background:#fffaf5;border-color:#dcd0c4}.hero-note .shield{background:#f7e6df}
.hero-visual{height:500px;display:flex;align-items:center;justify-content:center}.community-panel{position:relative;width:500px;height:455px}
.community-photo{position:absolute;inset:15px 10px 35px 35px;border-radius:32px 32px 100px 32px;background:#efe5d9;overflow:hidden;box-shadow:0 28px 65px rgba(72,55,41,.12);border:8px solid rgba(255,255,255,.72)}
.warm-scene{height:62%;position:relative;background:linear-gradient(#dbe8e3 0 53%,#d9c7b1 53% 100%);overflow:hidden}.essex-word{position:absolute;right:20px;top:15px;font-family:Manrope;font-weight:800;font-size:43px;letter-spacing:.08em;color:rgba(255,255,255,.43)}
.land{position:absolute;background:#758c6f;border-radius:50% 50% 0 0}.land-one{left:-10%;right:35%;height:80px;bottom:43%}.land-two{left:35%;right:-15%;height:62px;bottom:43%;background:#879c78}
.road{position:absolute;left:-10%;right:-10%;bottom:0;height:72px;background:#8e837a;transform:skewY(-3deg);transform-origin:left}.road:after{content:"";position:absolute;left:0;right:0;top:34px;border-top:3px dashed rgba(255,255,255,.7)}
.vehicle{position:absolute;z-index:3;display:grid;place-items:center;color:#fff;background:var(--red);box-shadow:0 9px 18px rgba(0,0,0,.15)}.bike{width:68px;height:45px;border-radius:50%;left:22%;bottom:44px}.car{width:105px;height:55px;border-radius:35px 35px 15px 15px;right:15%;bottom:66px;background:#fff;color:var(--red);border:4px solid var(--red)}
.community-message{padding:25px 30px}.small-label{font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--red)}.community-message strong{display:block;font-family:Manrope;font-size:26px;color:var(--navy);margin-top:8px}.community-message p{font-size:13px;line-height:1.55;color:#687a80;margin:8px 0 0}
.badge-card{position:absolute;right:-15px;bottom:5px;background:#fffdf9;border:1px solid #eadfd5;border-radius:18px;box-shadow:0 18px 38px rgba(65,47,34,.14);display:flex;align-items:center;gap:12px;padding:10px 17px 10px 10px}.badge-card img{width:67px;height:67px;object-fit:contain}.badge-card div{display:flex;flex-direction:column}.badge-card small{font-size:9px;letter-spacing:.13em;color:#8d7c70}.badge-card strong{font-size:13px;color:var(--navy);margin-top:4px}
.impact{background:#fffaf4;color:var(--navy);border-top:1px solid #eee2d7;border-bottom:1px solid #eee2d7}.live-pill{color:#7c8a87}.live-pill span{background:var(--red);box-shadow:0 0 0 4px rgba(223,61,65,.09)}.impact-intro h2{color:var(--navy)}.impact-intro p{color:#78878a}.stat-grid{border-left:1px solid #e5d9ce}.stat{border-right:1px solid #e5d9ce}.stat-icon{color:var(--red)}.stat small{color:#8c9798}
.service-section{background:#18364c}.service-cards article{background:#204158}.month-impact{background:#fff}.month-card{background:#fbf5ed;border-color:#eadfd4}.volunteer{background:#d83b3f}.support-card{background:#fffdf9}footer{background:#142d41}
@media(max-width:980px){.community-panel{width:460px}}
@media(max-width:650px){.hero h1{font-size:45px}.hero-visual{height:390px}.community-panel{width:100%;height:370px}.community-photo{inset:5px 0 30px;border-radius:24px 24px 70px 24px}.community-message{padding:18px 22px}.community-message strong{font-size:22px}.badge-card{right:8px}.stat-grid{border-left:0}.stat{border-right:1px solid #e5d9ce;border-bottom:1px solid #e5d9ce}}
