:root{--navy:#00284f;--blue:#073f78;--green:#39751f;--gold:#a88900;--ink:#17212b;--muted:#5c626b;--line:#d3d7dc;--surface:#f6f7f8;--white:#fff;--red:#b71c1c;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;background:var(--surface);font-size:16px;line-height:1.55}body.site-page{min-height:100vh;display:flex;flex-direction:column}body.site-page>main{flex:1 0 auto}body.site-page>.eco-banner,body.site-page>.site-footer{flex-shrink:0}a{color:inherit}img{max-width:100%}.icon{display:inline-block;width:1.5rem;height:1.5rem;fill:currentColor;vertical-align:middle}.icon-symbol{height:auto!important;font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Arial Unicode MS",sans-serif;font-size:1.55rem;font-weight:400;line-height:1;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:white;padding:.8rem}.skip-link:focus{top:1rem}
.municipalities{max-width:var(--max);margin:auto;padding:.5rem 1.5rem;display:flex;justify-content:center;gap:5rem;background:#fff}.municipalities a{display:flex;align-items:center;gap:.6rem;text-decoration:none;text-transform:uppercase;font-size:.78rem;font-weight:800;color:var(--navy)}.municipalities img{width:42px;height:50px;object-fit:contain}
.site-header{position:sticky;top:0;z-index:50;background:white;border-bottom:4px solid var(--green)}.header-inner{max-width:var(--max);margin:auto;padding:0 1.5rem;min-height:74px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;color:var(--navy);font-size:1.55rem;font-weight:800}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{text-decoration:none;font-weight:700;padding:.45rem 0;border-bottom:2px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--navy);border-color:var(--navy)}.contact-link{background:var(--navy);color:white!important;padding:.6rem 1rem!important;border-radius:22px}.menu-toggle{display:none;border:0;background:transparent;font-size:1.5rem}
.container{width:min(var(--max),calc(100% - 3rem));margin:auto}.hero{position:relative;isolation:isolate;background:var(--navy) var(--home-hero-image) center 58%/cover no-repeat;color:white;text-align:center;padding:5rem 1.5rem;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,40,79,.93),rgba(0,40,79,.82),rgba(0,40,79,.93))}.hero h1{font-size:clamp(2.4rem,5vw,4rem);text-transform:uppercase;margin:0}.hero .tagline{display:inline-block;background:var(--green);padding:.35rem 1rem;margin:1rem 0;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:800;text-transform:uppercase}.hero p{font-size:1.15rem;max-width:720px;margin:1.2rem auto}.search{display:flex;max-width:560px;margin:2rem auto 0;background:white;border-radius:10px;padding:.3rem}.search input{flex:1;min-width:0;border:0;padding:.8rem 1rem;font-size:1rem}.search button,.btn{border:0;border-radius:7px;background:var(--navy);color:white;font-weight:750;padding:.8rem 1.2rem;cursor:pointer;text-decoration:none;display:inline-block}.btn.green{background:var(--green)}.btn.outline{background:white;color:var(--navy);border:1px solid var(--navy)}
.section{padding:3.5rem 0}.section.white{background:#fff}.section h2,.page-title{color:var(--navy);font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin:0 0 .7rem}.section-intro{text-align:center;max-width:760px;margin:0 auto 2rem;color:var(--muted);font-size:1.1rem}.grid{display:grid;gap:1rem}.categories{grid-template-columns:repeat(5,1fr)}.category-mini{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;text-align:center}.category-mini strong{display:flex;min-height:112px;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;color:white;padding:1.35rem .8rem;text-transform:uppercase}.category-mini-icon{width:2.2rem;height:2.2rem}.category-mini p{padding:0 1rem 1rem;font-size:.9rem}.two-col{grid-template-columns:1fr 1fr}.service-list{list-style:none;padding:0;margin:0}.service-list li{display:grid;grid-template-columns:2.5rem 1fr;align-items:start;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:8px;margin:.8rem 0;padding:1rem}.service-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:8px;background:#e8f3e2;color:var(--green)}.service-icon.gold{background:#fff5d5;color:#8a6b00}.service-icon .icon{width:1.45rem;height:1.45rem}.cta-card{position:relative;background:white;border:1px solid var(--line);border-radius:12px;padding:2rem 2rem 2rem 5.2rem;border-left:5px solid var(--green)}.cta-icon{position:absolute;left:1.5rem;top:1.8rem;display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:9px;background:#e3edff;color:var(--navy)}.cta-icon.green{background:#dff5d4;color:var(--green)}.cta-icon .icon{width:1.55rem;height:1.55rem}
.section-kicker{display:block;margin-bottom:.45rem;color:var(--green);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.home-services-section{background:linear-gradient(180deg,#fff,#f7f9fa)!important}.home-service-groups{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.home-service-group{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 28px #001e400a}.home-service-group>header{display:flex;align-items:center;gap:.9rem;padding:1.25rem 1.4rem;border-bottom:1px solid var(--line);background:#f5f9f3}.home-service-group.special>header{background:#fff9e8}.group-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:10px;background:var(--green);color:#fff}.home-service-group.special .group-icon{background:#927100}.group-icon .icon{width:1.55rem;height:1.55rem}.home-service-group header small{display:block;color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.home-service-group h3{margin:.05rem 0 0;color:var(--navy);font-size:1.4rem}.home-service-cards{display:grid;gap:.7rem;padding:1rem}.home-service-card{display:grid;grid-template-columns:2.7rem minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:78px;padding:.8rem;border:1px solid transparent;border-radius:9px;background:#fafbfc;color:inherit;text-decoration:none}.home-service-card:hover{border-color:#b7c5d1;background:#fff}.home-service-card>span:nth-child(2){min-width:0}.home-service-card strong,.home-service-card small{display:block}.home-service-card strong{color:var(--ink);line-height:1.25}.home-service-card small{margin-top:.25rem;color:var(--muted);line-height:1.35}.home-service-card>b{color:var(--navy);font-size:1.2rem}
.page-head{padding:3rem 0 2rem}.page-head p{font-size:1.15rem;color:var(--muted);max-width:850px}.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1.5rem;padding-bottom:4rem}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:2rem}.panel h2,.panel h3{color:var(--navy)}.info-card{border-top:5px solid var(--navy);margin-bottom:1.5rem}.info-card.green{border-color:var(--green)}.phone{display:block;background:var(--green);color:#fff;text-decoration:none;padding:1rem;border-radius:7px;font-size:1.5rem;font-weight:800}
.calendar-head{padding:3.4rem 0 2.4rem;background:linear-gradient(135deg,#f8fafc 0%,#edf3f6 100%);border-bottom:1px solid #dce3e8}.calendar-head .page-title{margin:.35rem 0 .7rem}.calendar-head p{max-width:850px;margin:0;color:var(--muted);font-size:1.15rem}.calendar-eyebrow{display:flex;align-items:center;gap:.55rem;color:var(--green);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-eyebrow .icon{width:1.2rem;height:1.2rem}.calendar-actions{display:flex;gap:.7rem;margin-top:1.5rem}.calendar-action{display:flex;align-items:center;gap:.7rem;min-width:190px;padding:.7rem 1rem;border:1px solid #b9c5cf;border-radius:8px;background:#fff;color:var(--navy);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.calendar-action.primary{border-color:var(--navy);background:var(--navy);color:#fff}.calendar-action .icon{flex:0 0 auto;width:1.45rem;height:1.45rem}.calendar-action span{display:flex;flex-direction:column}.calendar-action strong{line-height:1.2}.calendar-action small{color:inherit;font-size:.7rem;opacity:.72}.calendar-highlights{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.calendar-highlights span{display:flex;align-items:baseline;gap:.4rem;padding:.55rem .85rem;border:1px solid #d1dae1;border-radius:999px;background:#fff;color:var(--muted);font-size:.85rem}.calendar-highlights strong{color:var(--navy);font-size:1rem}.calendar-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(310px,.9fr);gap:1.5rem;padding-top:2.3rem;padding-bottom:4rem}.calendar-panel{padding:0;overflow:hidden}.calendar-panel-head{display:flex;align-items:center;gap:1rem;padding:1.4rem 1.7rem;border-bottom:1px solid var(--line);background:#fbfcfd}.calendar-panel-head h2{margin:.1rem 0 0;font-size:1.55rem}.calendar-panel-head span{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.calendar-title-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:9px;background:#e3edff;color:var(--navy)}.calendar-title-icon .icon{width:1.45rem;height:1.45rem}.schedule{list-style:none;margin:0;padding:1.2rem 1.5rem}.schedule li{display:grid;grid-template-columns:180px 1fr;min-height:76px;margin:.7rem 0;border:1px solid #e1e5e8;border-radius:9px;background:#f8f9fa;overflow:hidden;transition:transform .15s,box-shadow .15s}.schedule li:hover{transform:translateY(-1px);box-shadow:0 5px 14px #001e4010}.schedule li.is-today{border-color:#8ab573;box-shadow:0 0 0 2px #b9f39366}.day-block{position:relative;display:grid;grid-template-columns:2.2rem 1fr;align-items:center;gap:.7rem;padding:.8rem 1rem;background:var(--day-color);color:white}.day-number{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:1px solid #ffffff75;border-radius:50%;font-size:.9rem;font-weight:800}.day-name{text-transform:uppercase;font-size:.95rem;font-weight:800}.today-badge{position:absolute;right:.6rem;top:.25rem;padding:.08rem .38rem;border-radius:999px;background:white;color:var(--day-color);font-size:.58rem;font-weight:900;text-transform:uppercase}.waste-entries{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.2rem;padding:.8rem 1.2rem}.waste-entry{display:flex;align-items:center;gap:.7rem;color:var(--waste-color);font-size:1.02rem}.waste-symbol{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:2px solid #d2d7dd;border-radius:9px;background:white}.waste-symbol .icon{width:1.35rem;height:1.35rem}.calendar-note{display:flex;gap:.7rem;padding:1rem 1.5rem;border-top:1px solid var(--line);background:#f8fafb;color:var(--muted);font-size:.82rem}.calendar-note .icon{flex:0 0 auto;width:1.1rem;height:1.1rem;color:var(--navy)}.calendar-note p{margin:0}.print-contact{display:none}.calendar-sidebar{display:flex;flex-direction:column;gap:1rem}.calendar-sidebar .panel{padding:1.5rem}.calendar-info-card{border-top:5px solid var(--navy)}.calendar-booking-card{border-top:5px solid var(--green)}.info-heading{display:flex;align-items:center;gap:.8rem}.info-heading h2{margin:.1rem 0 0;font-size:1.25rem}.info-heading small{color:var(--muted);font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.info-icon{display:grid;place-items:center;flex:0 0 2.7rem;width:2.7rem;height:2.7rem;border-radius:50%;background:#e8f0fa;color:var(--navy)}.info-icon .icon{width:1.35rem;height:1.35rem}.calendar-booking-card .info-icon{background:#e6f3df;color:var(--green)}.calendar-info-card>p{color:var(--muted)}.time-range{display:flex;align-items:center;justify-content:space-between;margin-top:1.2rem;padding:1rem;border-radius:8px;background:#f1f5f8}.time-range span{display:flex;flex-direction:column}.time-range small{text-transform:uppercase;color:var(--muted);font-size:.65rem;font-weight:700}.time-range strong{color:var(--navy);font-size:1.35rem}.time-range i{color:#8b949d;font-style:normal}.booking-types{display:grid;grid-template-columns:1fr 1fr;margin:1.2rem 0;border-block:1px solid var(--line)}.booking-types span{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.9rem .3rem;color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.booking-types span+span{border-left:1px solid var(--line)}.booking-types .icon{width:1.65rem;height:1.65rem;color:var(--green)}.calendar-phone{display:grid;grid-template-columns:1fr auto;align-items:center;padding:.85rem 1rem;border-radius:7px;background:var(--green);color:white;text-decoration:none}.calendar-phone small,.calendar-phone strong{grid-column:1}.calendar-phone small{text-transform:uppercase;font-size:.63rem;font-weight:700;letter-spacing:.05em}.calendar-phone strong{font-size:1.35rem}.calendar-phone>span{grid-column:2;grid-row:1/3;font-size:1.5rem}.calendar-booking-button{width:100%;margin-top:.7rem;text-align:center}.calendar-guide-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:9px;background:white;color:var(--navy);text-decoration:none}.calendar-guide-link>.icon{width:1.5rem;height:1.5rem;color:var(--green)}.calendar-guide-link span:nth-child(2){display:flex;flex-direction:column}.calendar-guide-link small{color:var(--muted)}.calendar-guide-link b{font-size:1.2rem}
.waste-grid{grid-template-columns:1fr 1fr;padding-bottom:4rem}.waste-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.waste-card>header{padding:1.5rem;color:white}.waste-card>header h2{display:flex;align-items:center;gap:.65rem;margin:0;font-size:1.7rem}.waste-heading-icon{width:2.4rem;height:2.4rem}.waste-lists{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.2rem}.yes,.no{padding:1rem;border-radius:7px;background:#f3f6f1}.no{background:#fff4f3}.yes h3{color:var(--green)}.no h3{color:var(--red)}.waste-lists ul{padding-left:1.2rem}.search-status{text-align:center;min-height:1.5rem}
.booking-hero{min-height:410px;display:flex;align-items:center;padding:3rem 0;background:linear-gradient(90deg,rgba(229,235,238,.28),rgba(220,228,231,.56)),var(--pickup-hero-image) center 48%/cover no-repeat}.booking-hero-card{max-width:680px;padding:2rem;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 18px #001e4014}.booking-kicker{display:flex;align-items:center;gap:.6rem;color:var(--green);font-size:.85rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.booking-kicker .icon{width:1.8rem;height:1.8rem}.booking-hero h1{color:var(--navy);font-size:clamp(2.3rem,4vw,3rem);line-height:1.1;margin:.8rem 0}.booking-hero p{margin:0 0 1.4rem;color:var(--muted);font-size:1.1rem}.free-service{display:inline-flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border:1px solid #91cf70;border-radius:6px;background:#b9f393;color:#285b11;font-weight:750}.free-service .icon{width:1.45rem;height:1.45rem}.booking-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;padding:3rem 0}.booking-sidebar{display:flex;flex-direction:column;gap:1.5rem}.phone-booking-card{padding:1.7rem;background:#073f78;color:#fff;border:1px solid #9fc1e8;border-radius:10px}.phone-booking-card h2{display:flex;align-items:center;gap:.55rem;margin:0 0 .5rem;font-size:1.5rem}.phone-booking-card h2 .icon{width:1.55rem;height:1.55rem}.phone-booking-card p{margin:.5rem 0 1rem;color:#d9e8f7}.phone-booking-card a{color:#fff;font-size:2rem;font-weight:800;text-decoration:none}.pickup-rules{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.pickup-rule{padding:1.3rem;background:#fff;border:1px solid var(--line);border-radius:10px}.pickup-rule h2{display:flex;align-items:center;gap:.65rem;margin:0 0 1rem;padding-bottom:.7rem;border-bottom:2px solid var(--green);font-size:1.2rem;text-transform:uppercase}.pickup-rule h2 span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--green);color:white}.pickup-rule.no-rule h2{border-color:var(--red)}.pickup-rule.no-rule h2 span{background:var(--red)}.check-list,.cross-list{margin:0;padding-left:1.2rem;color:var(--muted)}.check-list li,.cross-list li{margin:.75rem 0}.check-list li::marker{color:var(--green)}.cross-list li::marker{color:var(--red)}.booking-form-panel{align-self:start;padding:2rem}.booking-form-panel>h2{margin:0 0 .4rem}.booking-form-panel fieldset{min-width:0;margin:0 0 1rem;padding:0;border:0}.form-intro{margin:0 0 1.3rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line);color:var(--muted)}form .fields{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.field{margin-bottom:1rem}.field.full{grid-column:1/-1}.field label,.field legend{display:block;font-weight:700;margin-bottom:.35rem}.field input,.field select,.field textarea{width:100%;border:1px solid #858c94;border-radius:6px;padding:.8rem;background:var(--surface);font:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #a7c8ff;outline-offset:1px;border-color:var(--navy)}.field textarea{min-height:120px}.field small{display:block;margin-top:.3rem;color:var(--muted)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.checks label,.consent{display:flex;gap:.7rem;align-items:flex-start;border:1px solid var(--line);border-radius:6px;padding:.8rem}.checks label:has(input:checked){background:#eaf2ff;border-color:var(--navy)}.checks input,.consent input{width:auto;min-width:18px;height:18px}.consent{border:0;padding:.8rem 0;font-size:.9rem;color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid var(--line)}.alert{padding:1rem;border-radius:7px;margin:1rem 0}.alert.success{background:#e3f3dc;color:#24520f}.alert.error{background:#ffe2df;color:#870e0e}.honeypot{position:absolute;left:-10000px}
.pickup-info-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:2.5rem;padding-top:3.5rem;padding-bottom:4rem}.pickup-details{min-width:0}.pickup-section-heading{display:flex;align-items:center;gap:1rem}.pickup-section-heading .heading-icon{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:10px;background:#e5f2df;color:var(--green)}.pickup-section-heading .icon{width:1.65rem;height:1.65rem}.pickup-section-heading span{color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.pickup-section-heading h2{margin:.1rem 0 0;color:var(--navy);font-size:2rem}.pickup-lead{max-width:760px;color:var(--muted);font-size:1.05rem}.pickup-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0;padding:0;list-style:none}.pickup-steps li{display:flex;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#fff}.pickup-steps li>span{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:50%;background:var(--navy);color:white;font-weight:800}.pickup-steps strong{color:var(--navy)}.pickup-steps p{margin:.3rem 0 0;color:var(--muted);font-size:.85rem}.pickup-rules-wide{gap:1rem}.pickup-contact-card{position:sticky;top:100px;align-self:start;padding:2rem;border-radius:14px;background:var(--navy);color:white;box-shadow:0 12px 30px #001e4024}.pickup-contact-icon{display:grid;place-items:center;width:3.4rem;height:3.4rem;margin-bottom:1rem;border-radius:50%;background:#b9f393;color:#285b11}.pickup-contact-icon .icon{width:1.7rem;height:1.7rem}.pickup-contact-card>small{color:#b9d0e7;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pickup-contact-card h2{margin:.25rem 0 .6rem;font-size:1.8rem}.pickup-contact-card>p{color:#d6e4f2}.pickup-contact-card>a{display:flex;flex-direction:column;margin:1.4rem 0;padding:1rem 1.2rem;border-radius:8px;background:var(--green);color:white;text-decoration:none}.pickup-contact-card>a span{text-transform:uppercase;font-size:.7rem;font-weight:750;letter-spacing:.05em}.pickup-contact-card>a strong{font-size:1.8rem}.pickup-contact-note{display:flex;align-items:flex-start;gap:.6rem;padding-top:1rem;border-top:1px solid #ffffff35;color:#c8d8e7;font-size:.82rem}.pickup-contact-note .icon{flex:0 0 auto;width:1.1rem;height:1.1rem}
.legal{max-width:900px;padding:3rem 0 5rem}.legal h1{color:var(--navy)}.institutional-funding{background:#fff;border-top:1px solid var(--line);padding:1.6rem 1.5rem}.institutional-funding-inner{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.institutional-funding p{margin:0;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.institutional-logos{display:flex;align-items:center;justify-content:flex-end;gap:1.8rem}.institutional-logos a{display:flex;align-items:center;text-decoration:none}.institutional-logos img{display:block;width:auto;object-fit:contain}.institutional-logos>a:first-child img{height:54px;max-width:260px}.institutional-logos .mase-lockup{gap:.55rem;color:#17365d}.institutional-logos .mase-lockup img{width:46px;height:46px;object-fit:contain}.mase-lockup span{font-family:Georgia,"Times New Roman",serif;font-size:.88rem;font-weight:700;line-height:1.15}.institutional-divider{width:1px;height:48px;background:var(--line)}.eco-banner{background:var(--blue);border-bottom:4px solid var(--gold);color:#a9c9ee;padding:2rem;display:flex;justify-content:center;align-items:center;gap:1.5rem;text-transform:uppercase;font-size:1.25rem}.eco-banner-icon{flex:0 0 auto;width:2.8rem!important;color:#b5ff76;font-size:3rem}.site-footer{background:var(--navy);color:white;padding:2.2rem max(1.5rem,calc((100% - var(--max))/2));display:flex;justify-content:space-between;gap:2rem}.site-footer nav{display:flex;gap:1rem;flex-wrap:wrap}.site-footer a{color:#d6e4f2}.development-credit{margin-bottom:0;color:#b8cee2;font-size:.9rem}.development-credit a{font-weight:700;text-underline-offset:3px}
.managed-content h2{margin-top:2rem}.managed-content h3{margin-top:1.5rem;color:var(--navy)}.managed-content p,.managed-content li{color:var(--muted)}.contacts-page{padding-top:3.5rem;padding-bottom:4rem}.contacts-heading{max-width:800px;margin-bottom:2rem}.contacts-heading>span{color:var(--green);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.contacts-heading h1{margin:.25rem 0;color:var(--navy);font-size:clamp(2.3rem,5vw,3.4rem)}.contacts-heading p{color:var(--muted);font-size:1.08rem}.service-contact-primary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;margin-bottom:2rem;padding:1.5rem 1.7rem;border-radius:12px;background:var(--navy);color:white}.service-contact-icon{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;background:#b9f393;color:#285b11}.service-contact-icon .icon{width:1.7rem;height:1.7rem}.service-contact-primary small{color:#c1d5e8;text-transform:uppercase;font-size:.68rem;font-weight:750;letter-spacing:.06em}.service-contact-primary h2{margin:.1rem 0;font-size:1.45rem}.service-contact-primary p{margin:0;color:#d6e4f2}.service-contact-primary>a{display:flex;flex-direction:column;min-width:230px;padding:.75rem 1rem;border-radius:7px;background:var(--green);color:white;text-decoration:none}.service-contact-primary>a strong{font-size:1.55rem}.municipality-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.municipality-contact-card{display:grid;grid-template-columns:64px 1fr;gap:1rem;padding:1.3rem;border:1px solid var(--line);border-radius:12px;background:#fff}.municipality-contact-card img{width:64px;height:72px;object-fit:contain}.municipality-contact-card h2{margin:0;color:var(--navy);font-size:1.15rem}.municipality-contact-card p{margin:.5rem 0 0;color:var(--muted);font-size:.75rem;text-transform:uppercase;font-weight:700}.municipality-phone{color:var(--green);font-size:1.05rem;font-weight:800;text-decoration:none}.municipality-site{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:.8rem;border-top:1px solid var(--line);color:var(--navy);font-size:.85rem;font-weight:700;text-decoration:none}
@media(max-width:900px){.municipalities{gap:1rem;justify-content:space-around}.municipalities a{font-size:0}.municipalities img{width:38px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:white;padding:1rem 1.5rem;box-shadow:0 8px 15px #0002;flex-direction:column;align-items:stretch;gap:.3rem}.site-header nav.open{display:flex}.categories{grid-template-columns:1fr 1fr}.home-service-groups,.content-grid,.booking-grid,.calendar-layout,.pickup-info-layout{grid-template-columns:1fr}.booking-grid{gap:1.5rem}.pickup-contact-card{position:static;grid-row:1}.municipality-contact-grid{grid-template-columns:1fr 1fr}.calendar-sidebar{display:grid;grid-template-columns:1fr 1fr}.calendar-guide-link{grid-column:1/-1}.waste-grid{grid-template-columns:1fr}}
@media(max-width:600px){.container{width:min(100% - 2rem,var(--max))}.brand{font-size:1.15rem}.hero{padding:3.5rem 1rem}.hero p{font-size:1rem}.calendar-head{padding:2.2rem 0 1.7rem}.calendar-head p{font-size:1rem}.calendar-highlights{display:grid;grid-template-columns:1fr 1fr}.calendar-highlights span:last-child{grid-column:1/-1}.calendar-layout{padding-top:1rem;padding-bottom:2.5rem}.calendar-panel-head{padding:1rem}.schedule{padding:.6rem}.schedule li{grid-template-columns:1fr;margin:.6rem 0}.day-block{grid-template-columns:2rem 1fr;padding:.55rem .75rem}.day-number{width:2rem;height:2rem}.waste-entries{padding:.8rem}.waste-symbol{width:2.2rem;height:2.2rem}.calendar-note{padding:1rem}.calendar-sidebar{display:flex}.booking-hero{min-height:0;padding:2rem 0;background-position:60% center}.booking-hero-card{padding:1.4rem}.booking-hero p{font-size:1rem}.free-service{font-size:.9rem}.pickup-info-layout{padding-top:2rem;padding-bottom:2.5rem}.pickup-steps{grid-template-columns:1fr}.pickup-section-heading h2{font-size:1.55rem}.pickup-contact-card{padding:1.5rem}.pickup-rules,.categories,.two-col,form .fields,.checks{grid-template-columns:1fr}.category-mini:last-child{grid-column:1/-1}.waste-lists{grid-template-columns:1fr}.panel,.booking-form-panel{padding:1.2rem}.calendar-panel{padding:0}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%;text-align:center}.service-contact-primary{grid-template-columns:auto 1fr;padding:1.2rem}.service-contact-primary>a{grid-column:1/-1;min-width:0}.municipality-contact-grid{grid-template-columns:1fr}.institutional-funding-inner{flex-direction:column;text-align:center;gap:1rem}.institutional-logos{justify-content:center;gap:1rem}.institutional-logos>a:first-child img{height:38px;max-width:180px}.institutional-logos .mase-lockup img{width:38px;height:38px}.mase-lockup span{font-size:.72rem;text-align:left}.institutional-divider{height:38px}.site-footer{flex-direction:column}.eco-banner{font-size:.95rem}.page-head{padding-top:2rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:600px){.calendar-actions{display:grid;grid-template-columns:1fr 1fr}.calendar-action{min-width:0;padding:.7rem}.calendar-action small{display:none}}
@media print{
  @page{size:A4 portrait;margin:10mm}
  body.site-page{display:block;background:#fff;color:#111;font-size:11pt}
  .site-header,.menu-toggle,.calendar-actions,.calendar-sidebar,.institutional-funding,.eco-banner,.site-footer,.skip-link{display:none!important}
  .municipalities{display:flex!important;gap:18mm;padding:0 0 5mm;border-bottom:1px solid #ccc}
  .municipalities a{font-size:8pt}.municipalities img{width:10mm;height:12mm}
  .calendar-head{padding:7mm 0 5mm;background:#fff;border:0}
  .calendar-head .container,.calendar-layout{width:100%}
  .calendar-head .page-title{font-size:25pt}.calendar-head p{font-size:10pt}
  .calendar-eyebrow{font-size:8pt}.calendar-highlights{margin-top:4mm}
  .calendar-highlights span{padding:2mm 3mm}
  .calendar-layout{display:block;padding:0}
  .calendar-panel{border:1px solid #bbb;box-shadow:none}
  .calendar-panel-head{padding:3mm 4mm}.calendar-panel-head h2{font-size:16pt}
  .schedule{padding:2mm 3mm}
  .schedule li{grid-template-columns:42mm 1fr;min-height:13mm;margin:2mm 0;break-inside:avoid;box-shadow:none!important;transform:none!important}
  .day-block{padding:2mm 3mm}.day-number{width:7mm;height:7mm}
  .waste-entries{padding:2mm 3mm}.waste-symbol{width:8mm;height:8mm}
  .calendar-note{padding:3mm 4mm}
  .print-contact{display:block;padding:4mm;border-top:1px solid #bbb;color:#00284f;font-size:11pt}
}
