:root{--navy:#061827;--navy2:#0b2235;--gold:#b88428;--gold2:#d1a142;--white:#fff;--muted:#5f6b76;--light:#f6f7f8;--border:#e5e8ec}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;color:#102033;background:#fff;line-height:1.6;text-rendering:optimizeSpeed}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.container{width:92%;max-width:1180px;margin:auto}
.skip{position:absolute;left:-999px;top:auto;background:#fff;color:#000;padding:10px;z-index:999}
.skip:focus{left:10px;top:10px}
.topbar{background:var(--navy);color:#fff;font-size:14px}
.topbar .container{display:flex;justify-content:flex-end;gap:28px;padding:8px 0}
.nav{background:#fff;border-bottom:1px solid var(--border)}
.nav .container{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.logo-wrap img{width:148px;height:auto}
.menu{display:flex;align-items:center;gap:24px;font-size:13px;text-transform:uppercase;font-weight:700}
.menu a:hover,.active{color:var(--gold)}
.quote-btn,.btn{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#fff;padding:13px 22px;font-weight:800;text-transform:uppercase;display:inline-block;border:0;cursor:pointer}
.btn.dark{background:var(--navy)}
.hero{min-height:520px;background:linear-gradient(90deg,rgba(3,15,27,.93),rgba(3,15,27,.56)),url('assets/hero-renovation.svg') center/cover;color:white;display:flex;align-items:center}
.hero h1{font-size:clamp(38px,6vw,56px);line-height:1.02;text-transform:uppercase;max-width:720px;margin-bottom:18px}
.hero h1 span{color:var(--gold2)}
.hero p{font-size:20px;max-width:680px;margin-bottom:28px;color:#eef3f7}
.page-hero{background:linear-gradient(rgba(4,19,32,.84),rgba(4,19,32,.84)),url('assets/hero-renovation.svg') center/cover;color:#fff;text-align:center;padding:80px 0}
.page-hero h1{text-transform:uppercase;font-size:42px;margin-bottom:8px}
.stats{background:var(--navy);color:white}
.stats .container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:24px 0}
.stat{border-right:1px solid rgba(255,255,255,.18);padding:8px 18px}
.stat:last-child{border-right:0}
.stat b{display:block;color:#fff;font-size:18px;text-transform:uppercase}
.stat span{color:#cfd7df;font-size:14px}
section{padding:70px 0}
.section-title{text-align:center;margin-bottom:38px}
.eyebrow{color:var(--gold);font-weight:800;text-transform:uppercase;font-size:14px;letter-spacing:.8px}
.section-title h2,.split h2{font-size:34px;text-transform:uppercase;line-height:1.15;color:var(--navy)}
.section-title p{color:var(--muted);max-width:790px;margin:10px auto 0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.05)}
.card img{height:185px;width:100%;object-fit:cover}
.card-body{padding:22px}
.card h3{text-transform:uppercase;color:var(--navy);font-size:18px;margin-bottom:8px}
.card p{color:var(--muted);font-size:15px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split h2{margin-bottom:14px}
.checks{list-style:none;margin-top:20px}
.checks li{margin:10px 0;padding-left:25px;position:relative}
.checks li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}
.dark-section{background:var(--navy);color:white}
.dark-section h2,.dark-section h3{color:white}
.dark-section p{color:#cfd7df}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.project{background:#fff;text-align:center;border:1px solid var(--border)}
.project img{height:170px;object-fit:cover;width:100%}
.project h3{font-size:14px;text-transform:uppercase;padding:12px;color:#102033}
.map-box{background:linear-gradient(135deg,#edf1f5,#d7dde4);border:1px solid #cdd5dd;border-radius:8px;min-height:330px;display:flex;align-items:center;justify-content:center;color:#61707d;font-weight:800;text-transform:uppercase;text-align:center;padding:20px}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px}
.info-list p{margin:0 0 16px}
form{display:grid;gap:12px}
input,textarea{width:100%;padding:13px;border:1px solid #d6dce2;font:inherit}
textarea{min-height:150px}
.footer{background:var(--navy);color:#cfd7df;padding:45px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:25px}
.footer img{width:150px;margin-bottom:12px}
.footer h4{color:var(--gold2);text-transform:uppercase;margin-bottom:10px}
.footer a,.footer p{display:block;margin-bottom:8px;font-size:14px}
.copy{text-align:center;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;font-size:13px}
@media(max-width:900px){.menu{flex-wrap:wrap;gap:14px;justify-content:center}.nav .container{flex-direction:column}.stats .container,.grid-3,.grid-4,.project-grid,.split,.contact-grid,.footer-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.topbar .container{justify-content:center;flex-wrap:wrap}}

.city-page{padding:0}
.city-hero{background:linear-gradient(90deg,rgba(6,24,39,.94),rgba(6,24,39,.68));color:#fff;padding:78px 0}
.city-hero h1{font-size:clamp(34px,5vw,54px);line-height:1.05;text-transform:uppercase;margin-bottom:16px}
.city-hero p{font-size:19px;max-width:780px;color:#eef3f7}
.city-wrap{display:grid;grid-template-columns:1fr 330px;gap:42px;padding:64px 0}
.city-content h2{font-size:30px;color:var(--navy,#061827);text-transform:uppercase;margin:34px 0 12px}
.city-content h3{font-size:21px;color:var(--navy,#061827);margin:22px 0 8px}
.city-content p{margin:0 0 16px;color:#334155}
.city-content ul{margin:0 0 20px 22px}
.city-content li{margin:8px 0}
.city-sidebar{position:sticky;top:20px;align-self:start}
.side-card{background:#fff;border:1px solid #e5e8ec;box-shadow:0 8px 24px rgba(0,0,0,.06);padding:24px;margin-bottom:18px}
.side-card h3{text-transform:uppercase;color:var(--navy,#061827);margin-bottom:10px}
.side-card a{display:block;margin:8px 0;color:var(--gold,#b88428);font-weight:700}
.city-cta{background:var(--gold,#b88428);color:#fff;padding:34px;border-radius:0;margin:34px 0}
.city-cta h2{color:#fff;margin-top:0}
.faq{border-top:1px solid #e5e8ec;margin-top:18px}
.faq details{border-bottom:1px solid #e5e8ec;padding:16px 0}
.faq summary{font-weight:800;color:var(--navy,#061827);cursor:pointer}
@media(max-width:900px){.city-wrap{grid-template-columns:1fr}.city-sidebar{position:static}}
