.utility-bar { display:flex; justify-content:space-between; align-items:center; min-height:34px; }
.utility-contact,.utility-links { display:flex; align-items:center; gap:1.25rem; }
.topbar a { color:#dcebf4; text-decoration:none; }
.topbar a:hover { color:#fff; }
.civic-nav { min-height:86px; border-bottom:1px solid rgba(9,52,102,.08); box-shadow:0 8px 30px rgba(9,52,102,.06)!important; }
.civic-nav .nav-link { padding:1.8rem .68rem; position:relative; }
.civic-nav .nav-link:hover { color:#126fa8!important; }
.nav-cta { padding:.78rem 1rem!important; }
.dropdown-menu { border:0; border-top:3px solid #14a7e2; border-radius:0 0 .65rem .65rem; min-width:290px; padding:.55rem; box-shadow:0 18px 50px rgba(9,52,102,.16); }
.dropdown-item { display:flex; flex-direction:column; padding:.7rem .8rem; border-radius:.4rem; }
.dropdown-item strong { color:#122a1c; font-size:.88rem; }
.dropdown-item small { color:#60737b; font-size:.72rem; }
.dropdown-item:hover { background:#f1f8fb; }
.announcement { background:#e9f6fb; border-bottom:1px solid #cfe7f2; }
.announcement .container { display:flex; align-items:center; gap:1rem; min-height:45px; }
.announcement span { background:#093466; color:#fff; border-radius:.2rem; padding:.2rem .45rem; font-size:.61rem; font-weight:800; letter-spacing:.1em; }
.announcement a { color:#15344a; font-size:.84rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.announcement .announcement-all { margin-left:auto; color:#126fa8; flex:none; }
.civic-hero { background-position:center; }
.civic-hero .min-vh-hero { min-height:650px; padding:5rem 0; }
.hero-kicker { padding:.45rem .7rem; border:1px solid rgba(255,255,255,.28); border-radius:2rem; background:rgba(255,255,255,.08); }
.civic-hero h1 { max-width:800px; margin:1.35rem 0; font-size:clamp(3.5rem,6.5vw,6.25rem); }
.civic-hero h1 em { color:#77d4f4; font-style:normal; }
.civic-hero .lead { max-width:680px; font-size:1.17rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.btn-quiet { color:#fff; border:1px solid rgba(255,255,255,.55); background:rgba(255,255,255,.06); }
.btn-quiet:hover { color:#093466; background:#fff; }
.hero-proof { display:flex; gap:2.5rem; margin-top:3rem; }
.hero-proof div { display:flex; flex-direction:column; padding-left:.85rem; border-left:2px solid #14a7e2; }
.hero-proof strong { font:800 1rem Manrope; }
.hero-proof span { color:#bad4df; font-size:.75rem; }
.service-finder { margin-left:auto; max-width:430px; padding:1.1rem; border:1px solid rgba(255,255,255,.25); border-radius:1rem; background:rgba(4,28,53,.72); backdrop-filter:blur(14px); box-shadow:0 26px 70px rgba(0,0,0,.24); }
.finder-label { display:block; padding:.4rem .5rem .8rem; color:#a9dcec; font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.service-finder>a { display:grid; grid-template-columns:34px 1fr auto; gap:.8rem; align-items:center; color:#fff; padding:1rem .5rem; border-top:1px solid rgba(255,255,255,.13); }
.service-finder>a:hover { background:rgba(255,255,255,.07); }
.service-finder>a>span:nth-child(2) { display:flex; flex-direction:column; }
.service-finder strong { font-size:.92rem; }
.service-finder small { color:#acc7d2; font-size:.72rem; }
.service-finder b { color:#f0c24e; }
.finder-number { color:#64c9ed; font:700 .7rem Manrope; }
.quick-services { padding:5rem 0; background:#fff; }
.section-intro { display:flex; justify-content:space-between; align-items:end; gap:3rem; margin-bottom:2.2rem; }
.section-intro h2 { margin:.3rem 0 0; font-size:clamp(2.1rem,4vw,3.3rem); font-weight:800; letter-spacing:-.045em; }
.section-intro>p { max-width:520px; margin:0; color:#60737b; }
.compact-intro { margin-bottom:1.6rem; }
.quick-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #d6e5ec; border-radius:1rem; overflow:hidden; box-shadow:0 15px 45px rgba(9,52,102,.07); }
.quick-grid>a { display:flex; flex-direction:column; min-height:235px; padding:1.6rem; color:#122a1c; border-right:1px solid #d6e5ec; background:#fff; transition:.25s; }
.quick-grid>a:last-child { border:0; }
.quick-grid>a:hover { transform:translateY(-4px); background:#f1f8fb; box-shadow:0 20px 40px rgba(9,52,102,.1); }
.quick-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:1.3rem; border-radius:50%; color:#093466; background:#dff3fb; font:800 .72rem Manrope; }
.quick-grid strong { font:700 1.05rem Manrope; }
.quick-grid small { color:#60737b; margin:.45rem 0 1.2rem; }
.quick-grid b { margin-top:auto; color:#126fa8; font-size:.78rem; }
.service-directory { background:#f1f8fb; }
.department-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.department-grid>a { display:grid; grid-template-columns:36px 1fr auto; gap:1rem; min-height:160px; padding:1.4rem; color:#122a1c; border:1px solid #d6e5ec; border-radius:.75rem; background:#fff; transition:.2s; }
.department-grid>a:hover { transform:translateY(-3px); border-color:#14a7e2; box-shadow:0 14px 35px rgba(9,52,102,.08); }
.department-grid>a>span { color:#126fa8; font:800 .7rem Manrope; }
.department-grid h3 { margin:0 0 .5rem; font-size:1.05rem; }
.department-grid p { margin:0; color:#60737b; font-size:.86rem; }
.department-grid b { color:#126fa8; }
.section-link { margin-top:1.5rem; text-align:right; }
.section-link a,.view-all { font-weight:700; }
.news-section { background:#fff; }
.news-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:1.5rem; }
.featured-story { min-height:500px; overflow:hidden; border-radius:1rem; background:#093466; }
.featured-story>a { display:block; position:relative; height:100%; min-height:500px; color:#fff; }
.featured-story img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:.5s; }
.featured-story:hover img { transform:scale(1.025); }
.featured-story>a:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,24,46,.95),rgba(4,24,46,.05) 70%); }
.story-overlay { position:absolute; z-index:1; left:0; right:0; bottom:0; padding:2.2rem; }
.story-overlay small { color:#80d9f5; text-transform:uppercase; letter-spacing:.08em; }
.story-overlay h3 { max-width:720px; margin:.55rem 0; font-size:clamp(1.65rem,3vw,2.6rem); font-weight:800; }
.story-overlay p { max-width:650px; color:#d6e4ea; }
.story-overlay span { color:#f0c24e; font-weight:700; }
.story-list { display:grid; gap:1rem; }
.story-list article,.story-placeholder { padding:1.35rem; border:1px solid #d6e5ec; border-radius:.75rem; background:#fff; }
.story-list small { color:#126fa8; font-size:.68rem; font-weight:700; text-transform:uppercase; }
.story-list h3 { margin:.45rem 0; font-size:1.05rem; }
.story-list h3 a { color:#122a1c; }
.story-list p { color:#60737b; font-size:.84rem; margin-bottom:.5rem; }
.story-list>a,.story-list article>a { font-size:.78rem; font-weight:700; }
.story-placeholder { display:flex; flex-direction:column; justify-content:center; color:#60737b; background:#f1f8fb; }
.story-placeholder span { color:#093466; font-weight:700; }
.project-showcase { padding-top:1rem; background:#fff; }
.project-frame { overflow:hidden; border-radius:1rem; background:#093466; box-shadow:0 25px 70px rgba(9,52,102,.16); }
.project-frame>div:first-child { min-height:560px; }
.project-frame img { width:100%; height:100%; min-height:560px; object-fit:cover; }
.project-copy { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:3.5rem; color:#fff; }
.project-copy h2 { margin:.7rem 0 1rem; font-size:clamp(2.1rem,4vw,3.4rem); font-weight:800; letter-spacing:-.045em; }
.project-copy>p { color:#d7e7ef; }
.project-status { display:grid; grid-template-columns:1fr auto; gap:.7rem; padding:1.2rem 0; margin:1rem 0 1.5rem; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.project-status>div:first-child { display:flex; flex-direction:column; }
.project-status small { color:#7dd6f3; font-size:.62rem; letter-spacing:.08em; }
.project-status strong { font-size:.87rem; }
.project-status>span { color:#f0c24e; font-weight:800; }
.project-status .progress { grid-column:1/-1; height:5px; background:rgba(255,255,255,.18); }
.project-copy .btn { align-self:flex-start; }
.public-information { background:#f1f8fb; }
.info-panel { height:100%; padding:1.5rem; border:1px solid #d6e5ec; border-radius:1rem; background:#fff; }
.panel-head { display:flex; justify-content:space-between; align-items:end; padding-bottom:1rem; border-bottom:1px solid #d6e5ec; }
.panel-head span { color:#126fa8; font-size:.62rem; font-weight:800; letter-spacing:.11em; }
.panel-head h3 { margin:.2rem 0 0; font-size:1.5rem; }
.panel-head>a { font-size:.78rem; font-weight:700; }
.info-item { display:grid; grid-template-columns:52px 1fr auto; gap:1rem; align-items:center; color:#122a1c; padding:1rem 0; border-bottom:1px solid #e6eef2; }
.date-block { display:flex; flex-direction:column; align-items:center; padding:.35rem; border-radius:.35rem; color:#093466; background:#e5f5fb; }
.date-block strong { line-height:1; font-size:1.25rem; }
.date-block span { font-size:.58rem; font-weight:800; }
.info-item>span { display:flex; flex-direction:column; }
.info-item>span>strong { font-size:.88rem; }
.info-item small { color:#60737b; font-size:.7rem; }
.info-item>b { color:#126fa8; }
.tender-item { display:flex; flex-direction:column; gap:.25rem; padding:1rem 0; border-bottom:1px solid #e6eef2; color:#122a1c; }
.tender-ref { align-self:flex-start; padding:.15rem .4rem; color:#456f10; background:#edf7e5; border-radius:.2rem; font-size:.62rem; font-weight:800; }
.tender-item strong { font-size:.88rem; }
.tender-item small,.panel-empty { color:#60737b; font-size:.75rem; }
.panel-empty { padding:2rem 0; }
.procurement-help { display:flex; justify-content:space-between; margin-top:1rem; font-size:.8rem; font-weight:700; }
.leader-card { overflow:hidden; border:1px solid #d6e5ec; border-radius:.8rem; background:#fff; }
.leader-card img { width:100%; height:330px; object-fit:cover; }
.leader-card>div { padding:1.2rem; }
.leader-card small { color:#126fa8; font-weight:700; text-transform:uppercase; }
.leader-card h3 { margin:.3rem 0 0; font-size:1.15rem; }
.enhanced-community { padding-top:6rem; background:#fff; }
.modern-cta { padding:4.5rem 0; }
.modern-cta .container { display:flex; justify-content:space-between; align-items:center; gap:3rem; text-align:left; }
.modern-cta h2 { margin:.5rem 0; }
.modern-cta p { margin:0; }
.civic-footer .footer-brand { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.civic-footer .footer-brand h3 { margin:0; font-size:1.15rem; }
.civic-footer .footer-brand p { margin:0; }
.footer-base { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.footer-base>div { display:flex; gap:1.2rem; }

@media (min-width:1200px) {
    .civic-nav .dropdown:hover .dropdown-menu { display:block; margin-top:0; }
}
@media (max-width:1199px) {
    .utility-contact a:last-child { display:none; }
    .civic-nav .nav-link { padding:.7rem 0; }
    .civic-nav .navbar-collapse { padding:1rem 0 1.4rem; }
    .dropdown-menu { box-shadow:none; border:0; background:#f1f8fb; }
    .nav-cta { margin-top:.75rem; }
}
@media (max-width:991px) {
    .civic-hero .min-vh-hero { min-height:auto; padding:4.5rem 0; }
    .service-finder { max-width:none; margin-top:3rem; }
    .quick-grid { grid-template-columns:repeat(2,1fr); }
    .quick-grid>a:nth-child(2) { border-right:0; }
    .quick-grid>a:nth-child(-n+2) { border-bottom:1px solid #d6e5ec; }
    .department-grid { grid-template-columns:repeat(2,1fr); }
    .news-layout { grid-template-columns:1fr; }
    .story-list { grid-template-columns:repeat(2,1fr); }
    .project-frame>div:first-child,.project-frame img { min-height:400px; }
    .modern-cta .container { align-items:flex-start; flex-direction:column; }
}
@media (max-width:600px) {
    .utility-links span,.utility-contact a:first-child { display:none; }
    .utility-bar { justify-content:flex-end; }
    .civic-hero h1 { font-size:3.15rem; }
    .hero-proof { gap:1rem; justify-content:space-between; }
    .hero-actions { flex-direction:column; align-items:stretch; }
    .hero-actions .btn { width:100%; }
    .section-intro { align-items:flex-start; flex-direction:column; gap:1rem; }
    .quick-services { padding:3.5rem 0; }
    .quick-grid,.department-grid,.story-list { grid-template-columns:1fr; }
    .quick-grid>a { min-height:190px; border-right:0; border-bottom:1px solid #d6e5ec; }
    .quick-grid>a:last-child { border-bottom:0; }
    .department-grid>a { min-height:140px; }
    .featured-story,.featured-story>a { min-height:430px; }
    .story-overlay { padding:1.5rem; }
    .project-frame>div:first-child,.project-frame img { min-height:290px; }
    .project-copy { padding:2rem; }
    .info-panel { padding:1.1rem; }
    .announcement .announcement-all { display:none; }
    .footer-base { align-items:flex-start; flex-direction:column; }
    .footer-base>div { flex-wrap:wrap; }
}
