*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;overflow-x:hidden;background-color:#001e13}.header-section{position:relative;width:100%;min-height:682px;box-sizing:border-box;background:linear-gradient(180deg,#001e13 80%,#034a30);flex:1 0 0;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:2.5rem 2rem 1.5rem}.header-logo-container{width:100%;max-width:1440px;display:flex;justify-content:flex-start}.header-logo{height:48px;width:auto;object-fit:contain}.header-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:800px;width:100%;margin:auto 0}.banner-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.header-banner{max-width:650px;width:100%;height:auto;display:block}.header-subtitle{color:#99e7cb;font-family:system-ui,-apple-system,sans-serif;font-size:1.1rem;font-weight:500;margin-top:.75rem;letter-spacing:.02em}.header-description{color:#fff;font-family:Georgia,serif;font-size:1rem;line-height:1.6;max-width:720px;margin:0;text-align:center}.placeholder-tag{font-weight:700}.scroll-indicator{color:#99e7cb;font-family:system-ui,-apple-system,sans-serif;font-size:.875rem;letter-spacing:.03em;opacity:.85}.mayoral-section{display:flex;align-items:center;justify-content:center;padding:0 275px 110.5px 274px;flex:1 0 0;align-self:stretch;background:linear-gradient(0deg,#287443,#03482f);box-sizing:border-box}.mayoral-graphic-container{position:relative!important;width:100%;max-width:891px;display:flex;justify-content:center}.mayoral-text-overlay{position:absolute!important;top:6%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;z-index:10;width:100%;pointer-events:none}.illustrated-by{color:#99e7cb!important;font-family:system-ui,-apple-system,sans-serif;font-size:.9rem;font-weight:500;margin:0 0 .25rem}.mayoral-title{color:#fff!important;font-family:Playfair Display,Georgia,serif;font-size:2.25rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;margin:0}.mayoral-graphic-img{width:100%;height:auto;display:block;border-radius:8px;object-fit:contain}.footer-section{display:flex;padding:53px 276px 0;flex-direction:column;justify-content:flex-end;align-items:center;align-self:stretch;background:#001e13;box-sizing:border-box;width:100%}.footer-content{display:flex;justify-content:space-between;align-items:flex-end;width:100%;max-width:888px;padding-bottom:2rem}.footer-logo{height:80px;width:auto;display:block}.footer-copy-right{color:#fff;font-family:system-ui,-apple-system,sans-serif;font-size:.875rem;line-height:1.4}.footer-credits{text-align:left;color:#fff;font-family:system-ui,-apple-system,sans-serif;font-size:.875rem;line-height:1.4}.footer-credits p{margin:0}@media (max-width: 1200px){.footer-section{padding:53px 5vw 0}}@media (max-width: 640px){.footer-section{padding:32px 1.5rem 0}.footer-content{flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.footer-credits{text-align:left}}.other-races-section{display:flex;padding:40px 327px;flex-direction:column;align-items:center!important;gap:24px;align-self:stretch;background:#042517;box-sizing:border-box;width:100%}.other-races-header{display:flex;flex-direction:column;align-items:center;text-align:center}.state-crest-img{width:auto;height:64px;margin-bottom:12px}.upcoming-text{color:#99e7cb;font-family:system-ui,-apple-system,sans-serif;font-size:.9rem;font-weight:500;margin:0 0 8px}.races-title{color:#fff;font-family:Playfair Display,Georgia,serif;font-size:2.25rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;margin:0}.races-inner-box{display:flex;padding:19.7px 21px 18.3px 20px;flex-direction:column;justify-content:center;align-items:center;gap:16px;align-self:stretch;border-radius:8px;border:4px solid #287443;background:#03482f;width:100%;max-width:786px;margin-left:auto!important;margin-right:auto!important}.article-card-link{width:100%;text-decoration:none;display:block;transition:transform .15s ease,opacity .15s ease}.article-card-link:hover{transform:translateY(-2px);opacity:.95}.article-white-box{display:flex;padding:18px 24px;justify-content:center;align-items:center;align-self:stretch;border-radius:8px;border:4px solid #99E7CB;background:#fff;box-sizing:border-box;min-height:90px}.article-title{color:#03482f;font-family:"Inria Serif",Georgia,serif;font-size:22px;font-weight:700;line-height:1.3;text-align:center;max-width:568px}@media (max-width: 1200px){.other-races-section{padding:40px 5vw}}@media (max-width: 640px){.other-races-section{padding:30px 1.25rem}.races-title{font-size:1.5rem}.races-inner-box{padding:12px}.article-title{font-size:16px}.article-white-box{padding:12px;min-height:auto}}.city-council-section{position:relative;display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#277342,#001e13);width:100%;max-height:1045px;padding:91px 20px 140px;box-sizing:border-box;overflow:hidden}.city-council-header{text-align:center;margin-bottom:25px;z-index:2}.illustrated-by-text{color:#99e7cb;font-family:Inria Sans,sans-serif;font-weight:700;font-size:16px;top:200px;margin-bottom:24px}.city-council-title{color:#fff;font-family:"Inria Serif",Georgia,serif;font-weight:700;font-size:64px;margin:0;letter-spacing:.05em}.city-council-content{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:110px;width:100%;max-width:1216px;z-index:2}.ward-map-wrapper{position:relative;width:475px;height:510px;flex-shrink:0}.ward-piece{position:absolute;object-fit:contain;cursor:pointer;transition:transform .3s ease-out,filter .3s ease-out;transform-origin:center center}.ward-piece:hover{transform:scale(1.1);z-index:10!important;filter:drop-shadow(0px 4px 12px rgba(0,0,0,.35))}.ward-1{top:0;left:68px;width:285.13px;height:255.47px;z-index:2}.ward-2{top:0;left:255px;width:221.2px;height:356.41px;z-index:1}.ward-3{top:255px;left:225px;width:229.28px;height:254.27px;z-index:2}.ward-4{top:241px;left:75px;width:230.75px;height:251.33px;z-index:3}.ward-5{top:120px;left:-3px;width:227.07px;height:226.34px;z-index:4}.arch-container{position:relative;width:900px;min-height:790px;display:flex;justify-content:center;align-items:center;padding:48px 18px 24px;box-sizing:border-box}.arch-frame-img{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.wards-context-box{display:flex;width:405px;padding:18px 18px 81px;flex-direction:column;align-items:center;border-radius:8px;border:4px solid #99E7CB;background:#03482f;box-sizing:border-box;z-index:2;margin-top:110px}.wards-catalog{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;width:100%;max-width:369px}.ward-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 16px;border-radius:8px;min-height:72px;text-align:center;box-sizing:border-box;transition:transform .25s ease-out,box-shadow .25s ease-out,filter .25s ease-out;cursor:pointer}.ward-card:hover{transform:translateY(-3px) scale(1.02);filter:brightness(1.08);box-shadow:0 6px 16px #00000040}.ward-card-number{font-family:"Inria Serif",Georgia,serif;font-size:20px;font-weight:700;margin:0 0 2px}.ward-card-candidates{font-family:Inria Sans,sans-serif;font-size:14px;margin:0}.ward-map-link{display:contents}.ward-card-link{text-decoration:none;display:block;width:100%}.bottom-foreground-img{position:absolute;bottom:0;left:0;width:100%;height:auto;object-fit:cover;z-index:3;pointer-events:none}@media (max-width: 1024px){.city-council-content{flex-direction:column;align-items:center;gap:90px}}@media (max-width: 640px){.city-council-section{max-height:none!important;height:auto;padding:40px 16px 80px}}@media (max-width: 520px){.ward-map-wrapper{transform:scale(.75);transform-origin:center top;margin-bottom:-110px}.city-council-title{font-size:36px}.arch-container{width:100%;max-width:360px;min-height:auto;padding:24px 12px}.wards-context-box{width:90%;max-width:240px;height:auto;max-height:none;margin-top:65px;padding:10px 8px 12px;box-sizing:border-box}.wards-catalog{gap:8px}.ward-card{min-height:unset;padding:6px 8px}.ward-card-number{font-size:14px;margin-bottom:0}.ward-card-candidates{font-size:11px;line-height:1.2}}@media (min-width: 521px) and (max-width: 1024px){.city-council-section{max-height:none!important;overflow:visible;padding:60px 20px 120px}.city-council-content{flex-direction:column;align-items:center;gap:60px}.ward-map-wrapper{transform:scale(.9);transform-origin:center top;margin-bottom:-30px}.arch-container{width:100%;max-width:650px;min-height:570px;padding:24px 16px;margin:0 auto}.wards-context-box{width:80%;max-width:400px;margin-top:80px;padding:16px 14px 24px}.ward-card{min-height:60px;padding:8px 12px}.ward-card-number{font-size:16px}.ward-card-candidates{font-size:12px}}.contested-races-box{width:100%;max-width:800px;margin:0 auto 36px;padding:28px 24px;border:4px solid #287443;border-radius:8px;background-color:#ffffff08;text-align:left}.party-group{margin-bottom:24px}.party-group:last-child{margin-bottom:0}.party-title{font-size:1.2rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:16px}.race-category{margin-bottom:14px;padding-left:8px}.category-label{font-size:.95rem;font-weight:600;color:#99e7cb;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.candidate-name{font-size:.95rem;color:#e2e8f0;margin:2px 0 2px 12px}.proposal-group{margin-top:28px}.proposals-list{display:flex;flex-direction:column;gap:12px;padding-left:8px}.proposal-link{font-size:.95rem;font-weight:500;color:#99e7cb;text-decoration:none;transition:color .2s ease,text-decoration .2s ease;line-height:1.4}.proposal-link:hover{color:#fff;text-decoration:underline}@media (max-width: 600px){.contested-races-box{padding:20px 16px}}@media (max-width: 1200px){.header-section{min-height:auto;padding:2rem 2rem 1.5rem}.header-banner{max-width:500px}.header-description{max-width:620px;font-size:.95rem}.mayoral-section{padding:0 5vw 80px}}@media (max-width: 768px){.header-logo{height:38px}.header-banner{max-width:420px}.header-subtitle{font-size:.95rem}.header-description{font-size:.9rem;line-height:1.5}.mayoral-section{padding:0 1.5rem 60px}.mayoral-text-overlay{top:4%}.illustrated-by{font-size:.8rem!important}.mayoral-title{font-size:1.75rem!important}}@media (max-width: 480px){.header-section{padding:1.25rem 1rem 1rem}.header-logo{height:32px}.header-banner{max-width:100%}.header-subtitle{font-size:.85rem}.header-description{font-size:.825rem}.scroll-indicator{font-size:.75rem}.mayoral-section{padding:0 1rem 40px}.mayoral-text-overlay{top:2%}.illustrated-by{font-size:.65rem!important;margin-bottom:.1rem!important}.mayoral-title{font-size:1.1rem!important;letter-spacing:.04em!important}.mayoral-graphic-img{border-radius:4px}}
