:root{--dark:#11100f;--dark2:#1b1916;--gold:#caa24b;--gold2:#e6bd66;--white:#fff;--muted:#777;--light:#f8f5ef}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:#151515}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{background:#11100f;color:white;position:sticky;top:0;z-index:50;box-shadow:0 7px 20px rgba(0,0,0,.18)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;gap:12px;align-items:center;font-weight:800;color:white;text-transform:uppercase;letter-spacing:.8px}.mark{width:34px;height:28px;background:linear-gradient(135deg,var(--gold),#806020);transform:skew(-12deg)}.logo span{color:var(--gold)}.menu{display:flex;gap:28px;align-items:center}.menu a{color:white;font-weight:700;font-size:14px}.calltop{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#151515;padding:13px 24px;border-radius:30px;font-weight:800}.hero{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.55)),url('../images/hero.webp') center/cover;min-height:690px;color:white;display:flex;align-items:center;position:relative}.hero:after{content:'';position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(transparent,#fff)}.herogrid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.eyebrow{color:var(--gold2);font-size:14px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.hero h1{font-size:62px;line-height:1.05;text-transform:uppercase;margin-bottom:18px}.hero h1 b{color:var(--gold2)}.hero p{font-size:18px;line-height:1.7;max-width:620px}.heroicons{display:flex;gap:25px;margin:28px 0}.heroicons div{border:1px solid rgba(202,162,75,.5);padding:16px 18px;border-radius:12px;background:rgba(0,0,0,.28);font-weight:700}.btn{display:inline-block;background:linear-gradient(135deg,var(--gold),var(--gold2));padding:15px 28px;border-radius:3px;color:#111;font-weight:900;text-transform:uppercase}.btn.outline{background:transparent;color:white;border:1px solid var(--gold);margin-left:12px}.leadform{background:rgba(17,16,15,.94);border:1px solid rgba(202,162,75,.6);padding:26px;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.45)}.leadform h3{font-size:26px;margin-bottom:8px;color:var(--gold2)}.leadform p{font-size:14px;color:#ddd;margin-bottom:16px}.field{width:100%;padding:14px;margin:8px 0;border:1px solid #444;background:#fff;color:#111;border-radius:5px}.leadform button,.goldbtn{width:100%;padding:14px;border:0;border-radius:5px;background:linear-gradient(135deg,var(--gold),var(--gold2));font-weight:900;text-transform:uppercase}.section{padding:80px 0}.section.dark{background:var(--dark);color:white}.center{text-align:center}.title{font-size:42px;margin:8px 0 14px}.sub{color:#777;line-height:1.7}.dark .sub{color:#ccc}.aboutgrid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.aboutimg{height:420px;border-radius:18px;background:url('../images/about.jpg') center/cover;border:4px solid #fff;box-shadow:0 20px 50px rgba(0,0,0,.15)}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.check{background:#fff;border-left:4px solid var(--gold);padding:14px;box-shadow:0 7px 25px rgba(0,0,0,.06)}.catgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:38px}.catcard{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.08);transition:.25s}.catcard:hover{transform:translateY(-5px)}.catimg{height:170px;background:#171512;display:flex;align-items:center;justify-content:center;color:white;font-weight:900;text-align:center;padding:20px;position:relative}.catimg:before{content:'';position:absolute;inset:20px;border:1px solid var(--gold)}.catbody{padding:20px}.catbody h3{text-transform:uppercase;font-size:18px;margin-bottom:12px}.read{color:var(--gold);font-weight:900}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.servicecard{background:#fff;border:1px solid #eee;border-radius:12px;padding:20px;box-shadow:0 8px 25px rgba(0,0,0,.06);border-left:4px solid var(--gold)}.servicecard h3{font-size:20px;margin-bottom:10px}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gimg{height:170px;background:url('../images/project.jpg') center/cover;border-radius:8px}.stats{background:#111;color:white;padding:35px 0}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.stat b{font-size:38px;color:var(--gold2)}.whygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.why{padding:24px;background:#fff;border:1px solid #eee;text-align:center}.pagehero{background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.5)),url('../images/hero.webp') center/cover;padding:100px 0;color:white}.pagehero .herogrid{grid-template-columns:1fr .75fr}.pagehero h1{font-size:48px;text-transform:uppercase;margin:10px 0}.breadcrumb{color:#e6bd66;font-weight:700}.contentbox{line-height:1.8;font-size:16px}.contentbox h2{font-size:30px;margin:25px 0 10px}.contentbox p{margin:0 0 15px}.contentbox ul{padding-left:25px}.twoimgs{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:28px}.topphoto{height:310px;border-radius:16px;background:center/cover;box-shadow:0 10px 30px rgba(0,0,0,.12)}.localities{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}.loc{border:1px solid #e4d3a5;background:#fff;padding:13px;border-radius:5px;font-weight:700}.faq{margin-top:25px}.faq details{background:#fff;border:1px solid #eee;padding:15px;margin:10px 0;border-radius:6px}.footer{background:#111;color:white;padding:50px 0 25px}.footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}.fixedbtns{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:100;display:flex;gap:12px}.fixedbtns a{padding:14px 28px;border-radius:30px;font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.25)}.fixedbtns .call{background:var(--gold);color:#111}.fixedbtns .wa{background:#16c45b;color:#fff}.notice{background:#fff8e7;border:1px solid #efd083;padding:14px;border-radius:8px;margin:15px 0;color:#6b4a00}.mobilebar{display:none}@media(max-width:900px){.menu{display:none}.mobilebar{display:block;color:white}.herogrid,.pagehero .herogrid,.aboutgrid{grid-template-columns:1fr}.hero h1{font-size:38px}.catgrid,.servicegrid,.whygrid,.localities,.statgrid,.gallery{grid-template-columns:1fr 1fr}.footgrid,.twoimgs{grid-template-columns:1fr}.hero{padding:70px 0}.pagehero{padding:60px 0}.fixedbtns{width:94%}.fixedbtns a{flex:1;text-align:center;padding:13px 8px}}@media(max-width:520px){.catgrid,.servicegrid,.whygrid,.localities,.statgrid,.gallery{grid-template-columns:1fr}.nav{height:auto;padding:14px 0}.calltop{display:none}.title{font-size:32px}}
.category-hero .cat-hero-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.category-hero .cat-hero-points span{border:1px solid rgba(230,189,102,.55);background:rgba(0,0,0,.32);padding:10px 14px;border-radius:30px;font-weight:800;color:#fff}.category-services-section{background:#f8f5ef}.category-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}.category-service-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 14px 35px rgba(0,0,0,.10);border:1px solid #eee;transition:.25s}.category-service-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.16)}.service-thumb{height:190px;background-size:cover;background-position:center;position:relative}.service-thumb:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.35))}.service-info{padding:22px;border-left:4px solid var(--gold)}.service-info h3{font-size:22px;margin-bottom:10px;color:#151515}.service-info p{color:#666;line-height:1.6;margin-bottom:14px}.service-info span{font-weight:900;color:var(--gold)}@media(max-width:900px){.category-service-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.category-service-grid{grid-template-columns:1fr}.service-thumb{height:220px}}


/* =========================================
   FINAL LOCALITY TEXT VISIBILITY FIX
   Added by ChatGPT
   ========================================= */

/* Service page locality section */
.localities{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-top:25px;
}

.localities .loc,
.localities .loc a,
.loc,
.loc a{
    background:#ffffff !important;
    color:#111111 !important;
    border:1px solid #e4d3a5 !important;
    border-radius:7px !important;
    padding:13px 15px !important;
    font-weight:800 !important;
    line-height:1.45 !important;
    text-decoration:none !important;
    display:block;
}

.localities .loc:hover,
.localities .loc:hover a,
.loc:hover,
.loc:hover a{
    background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
    color:#111111 !important;
}

/* Extra support if locality boxes are generated with different class names */
.locality-grid,
.locality-list,
.locality-section .grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-top:25px;
}

.locality-grid a,
.locality-list a,
.locality-box,
.locality-box a,
.locality-item,
.locality-item a,
.area-box,
.area-box a{
    background:#ffffff !important;
    color:#111111 !important;
    border:1px solid #e4d3a5 !important;
    border-radius:7px !important;
    padding:13px 15px !important;
    font-weight:800 !important;
    line-height:1.45 !important;
    text-decoration:none !important;
    display:block;
}

.locality-grid a:hover,
.locality-list a:hover,
.locality-box:hover,
.locality-box:hover a,
.locality-item:hover,
.locality-item:hover a,
.area-box:hover,
.area-box:hover a{
    background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
    color:#111111 !important;
}

/* Keep dark locality section headings visible */
.locality-section,
.locality-wrap{
    background:#11100f;
}

.locality-section h1,
.locality-section h2,
.locality-section h3,
.locality-section p,
.locality-wrap h1,
.locality-wrap h2,
.locality-wrap h3,
.locality-wrap p{
    color:#ffffff !important;
}

@media(max-width:900px){
    .localities,
    .locality-grid,
    .locality-list,
    .locality-section .grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:520px){
    .localities,
    .locality-grid,
    .locality-list,
    .locality-section .grid{
        grid-template-columns:1fr;
    }
}


/* Dynamic CMS additions */
.site-logo-img{max-height:56px;max-width:190px;object-fit:contain;background:#fff;border-radius:6px;padding:4px}
.logo div{line-height:1.1;color:#fff;font-weight:900;text-transform:uppercase}
.home-content{font-size:16px;line-height:1.8}.home-content p{margin-bottom:12px}.home-content ul{padding-left:25px;text-align:left}
.client-section{background:#f8f5ef;overflow:hidden}.client-marquee{overflow:hidden;border:1px solid #ead9a8;background:#fff;border-radius:18px;padding:18px;margin-top:25px;box-shadow:0 10px 30px rgba(0,0,0,.07)}.client-track{display:flex;gap:22px;width:max-content;animation:clientScroll 28s linear infinite}.client-logo-card{width:170px;height:95px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#fff;border:1px solid #eee;border-radius:12px;padding:10px;flex:0 0 auto}.client-logo-card img{max-width:125px;max-height:50px;object-fit:contain}.client-logo-card span{font-size:13px;font-weight:800;color:#111;text-align:center}@keyframes clientScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.premium-footer{background:radial-gradient(circle at top left,#2b241a,#11100f 45%,#060606);border-top:4px solid var(--gold)}.premium-footer h2,.premium-footer h3{color:var(--gold2);margin-bottom:12px}.premium-footer p{line-height:1.85;color:#ddd}.footer-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.footer-badges span{background:rgba(202,162,75,.15);border:1px solid rgba(202,162,75,.4);color:#f4d58a;padding:8px 10px;border-radius:30px;font-size:13px;font-weight:800}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;text-align:center;color:#aaa}
.loc,.loc a,.localities .loc,.localities .loc a{color:#111!important;background:#fff!important}.loc:hover{background:var(--gold)!important;color:#fff!important}.loc:hover a{color:#fff!important}
@media(max-width:520px){.site-logo-img{max-height:46px;max-width:150px}.client-logo-card{width:145px}}


/* Mobile menu fix */
.mobilebar{
    display:none;
    background:linear-gradient(135deg,var(--gold),var(--gold2));
    color:#111;
    border:0;
    width:44px;
    height:44px;
    border-radius:8px;
    font-size:28px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
}
@media(max-width:900px){
    .nav{position:relative;}
    .mobilebar{display:flex;align-items:center;justify-content:center;}
    .menu{
        display:none;
        position:absolute;
        left:0;
        right:0;
        top:100%;
        background:#11100f;
        border-top:1px solid rgba(202,162,75,.35);
        box-shadow:0 18px 35px rgba(0,0,0,.35);
        padding:12px;
        z-index:999;
        flex-direction:column;
        gap:0;
        align-items:stretch;
    }
    .menu.open{display:flex !important;}
    .menu a{
        display:block;
        color:#fff !important;
        padding:14px 16px;
        border-bottom:1px solid rgba(255,255,255,.08);
        font-size:15px;
    }
    .menu a:hover{background:rgba(202,162,75,.15);color:var(--gold2)!important;}
}
