:root{--blue:#00ccff;--green:#25d366;--dark:#02070c;--muted:#c4d0dc;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--dark);color:#fff;font-family:Inter,system-ui,sans-serif;line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.topbar{position:absolute;inset:0 0 auto;z-index:40;background:rgba(0,0,0,.8);border-bottom:1px solid rgba(255,255,255,.09)}.topbar .container{min-height:40px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.topbar .container>div{display:flex;gap:22px}.topbar strong{color:var(--blue)}
.site-header{position:fixed;top:40px;left:0;right:0;z-index:35;background:linear-gradient(rgba(0,0,0,.62),rgba(0,0,0,.12));border-bottom:1px solid rgba(255,255,255,.08);transition:.3s}.site-header.scrolled{top:0;background:rgba(3,9,15,.95);backdrop-filter:blur(18px)}.nav{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo img,.custom-logo{width:285px;max-height:64px;object-fit:contain}.menu{display:flex;align-items:center;gap:12px}.menu ul{display:flex;gap:26px;list-style:none;margin:0 16px 0 0;padding:0}.menu a{font-weight:800;font-size:14px}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:28px;height:2px;background:#fff;margin:5px}
.btn{min-height:52px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;border:1px solid transparent;cursor:pointer}.primary{background:var(--blue);color:#001019}.ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}.whatsapp{background:var(--green);color:#05210f}
.eyebrow{display:block;color:var(--blue);font-weight:900;letter-spacing:2.3px;text-transform:uppercase;font-size:12px;margin-top:18px}h1{font-size:clamp(62px,7.4vw,100px);line-height:.93;letter-spacing:-5px;margin:16px 0 24px}h1 em{color:var(--blue);font-style:normal}
.footer{padding:35px 0;background:#040b13}.footer .container{display:flex;justify-content:space-between}.mobile-bar{display:none}
@media(max-width:1020px){.menu-toggle{display:block}.menu{display:none;position:absolute;top:96px;left:0;right:0;background:#03090f;padding:24px;flex-direction:column}.menu.open{display:flex}.menu ul{flex-direction:column}}
@media(max-width:720px){.container{width:min(100% - 28px,var(--max))}.topbar .container>span,.topbar a:nth-child(2){display:none}.topbar .container{justify-content:center}.nav{min-height:80px}.logo img,.custom-logo{width:215px}h1{font-size:53px;letter-spacing:-3px}.footer .container{flex-direction:column;gap:8px}.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;background:#03090f}.mobile-bar a{padding:15px;text-align:center;font-weight:900}.mobile-bar a:last-child{background:var(--green);color:#06210f}}


.cc-services{
    padding:120px 0;
    background:#f3f7fa;
    color:#08111d
}
.cc-section-heading{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:70px;
    align-items:end;
    margin-bottom:54px
}
.cc-section-heading h2{
    max-width:760px;
    margin:14px 0 0;
    font-size:clamp(42px,5.2vw,68px);
    line-height:1.02;
    letter-spacing:-3px
}
.cc-section-heading>p{
    margin:0;
    color:#607083;
    font-size:18px
}
.cc-services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}
.cc-service-card{
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 48px rgba(6,18,31,.08);
    transition:transform .3s ease,box-shadow .3s ease
}
.cc-service-card:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 70px rgba(6,18,31,.15)
}
.cc-service-card__image{
    position:relative;
    display:block;
    height:235px;
    overflow:hidden;
    background:#0a1722
}
.cc-service-card__image:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35))
}
.cc-service-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .65s ease
}
.cc-service-card:hover .cc-service-card__image img{
    transform:scale(1.07)
}
.cc-service-card__number,
.cc-service-card__arrow{
    position:absolute;
    z-index:2;
    top:16px
}
.cc-service-card__number{
    left:16px;
    padding:6px 10px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:999px;
    background:rgba(0,0,0,.38);
    color:#fff;
    font-size:11px;
    font-weight:900;
    backdrop-filter:blur(8px)
}
.cc-service-card__arrow{
    right:16px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--blue);
    color:#001019;
    font-size:18px;
    font-weight:900;
    transform:translateY(-4px);
    opacity:0;
    transition:.25s ease
}
.cc-service-card:hover .cc-service-card__arrow{
    transform:none;
    opacity:1
}
.cc-service-card__content{
    padding:26px
}
.cc-service-card__content h3{
    margin:0 0 10px;
    font-size:24px;
    line-height:1.15
}
.cc-service-card__content p{
    min-height:78px;
    margin:0 0 18px;
    color:#657487
}
.cc-service-card__link{
    color:#008fb4;
    font-weight:900
}
.cc-service-card__link span{
    transition:margin-left .2s ease
}
.cc-service-card__link:hover span{
    margin-left:5px
}
.cc-services-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:34px;
    padding:24px 28px;
    border-radius:20px;
    background:#08111d;
    color:#fff
}
.cc-services-footer p{
    margin:0;
    color:#c7d2dc
}
@media(max-width:1020px){
    .cc-section-heading{
        grid-template-columns:1fr;
        gap:18px
    }
    .cc-services-grid{
        grid-template-columns:repeat(2,1fr)
    }
}
@media(max-width:720px){
    .cc-services{
        padding:82px 0
    }
    .cc-section-heading h2{
        font-size:42px;
        letter-spacing:-2px
    }
    .cc-services-grid{
        grid-template-columns:1fr
    }
    .cc-service-card__content p{
        min-height:0
    }
    .cc-services-footer{
        align-items:flex-start;
        flex-direction:column
    }
    .cc-services-footer .btn{
        width:100%
    }
}


/* Shared responsive foundation */
@media(max-width:1280px){
    .container{width:min(1180px,calc(100% - 32px))}
    h1{font-size:clamp(54px,6.4vw,82px);line-height:.95;letter-spacing:-4px}
}
@media(max-width:1080px){
    .topbar{display:none}
    .site-header,.site-header.scrolled{top:0}
    .nav{min-height:82px}
}
@media(max-width:720px){
    h1{font-size:clamp(44px,13vw,58px);line-height:.98;letter-spacing:-2.5px}
    .cc-section-heading h2{font-size:38px}
}

/* CraftCore v0.3 — Header 2.0 */
body.menu-open{
    overflow:hidden
}
.site-header{
    transition:
        top .3s ease,
        background-color .3s ease,
        backdrop-filter .3s ease,
        box-shadow .3s ease
}
.nav{
    transition:min-height .3s ease
}
.logo img,
.custom-logo{
    transition:
        width .3s ease,
        max-height .3s ease,
        transform .3s ease
}
.site-header.scrolled .nav{
    min-height:72px
}
.site-header.scrolled .logo img,
.site-header.scrolled .custom-logo{
    width:245px;
    max-height:54px
}
.menu ul a{
    position:relative;
    padding:14px 0
}
.menu ul a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:8px;
    height:2px;
    border-radius:999px;
    background:var(--blue);
    transition:right .25s ease
}
.menu ul a:hover::after,
.menu .current-menu-item>a::after{
    right:0
}
.cc-whatsapp-pill{
    display:inline-flex;
    gap:8px
}
.cc-whatsapp-pill svg{
    width:20px;
    height:20px;
    flex:0 0 auto
}
.menu-toggle{
    position:relative;
    width:48px;
    height:48px;
    padding:0;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    background:rgba(255,255,255,.07);
    backdrop-filter:blur(12px);
    cursor:pointer
}
.menu-toggle span{
    position:absolute;
    left:50%;
    width:23px;
    margin:0;
    transition:
        transform .25s ease,
        opacity .2s ease,
        top .25s ease
}
.menu-toggle span:nth-child(1){
    top:15px;
    transform:translateX(-50%)
}
.menu-toggle span:nth-child(2){
    top:22px;
    transform:translateX(-50%)
}
.menu-toggle span:nth-child(3){
    top:29px;
    transform:translateX(-50%)
}
.menu-toggle[aria-expanded="true"] span:nth-child(1){
    top:22px;
    transform:translateX(-50%) rotate(45deg)
}
.menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0
}
.menu-toggle[aria-expanded="true"] span:nth-child(3){
    top:22px;
    transform:translateX(-50%) rotate(-45deg)
}
@media(max-width:1020px){
    .menu{
        display:flex;
        position:fixed;
        inset:0 0 0 auto;
        z-index:100;
        width:min(420px,88vw);
        padding:110px 28px 35px;
        transform:translateX(105%);
        opacity:0;
        visibility:hidden;
        background:
            radial-gradient(circle at top right,rgba(0,204,255,.14),transparent 38%),
            rgba(3,9,15,.98);
        box-shadow:-30px 0 70px rgba(0,0,0,.42);
        backdrop-filter:blur(22px);
        transition:
            transform .3s ease,
            opacity .3s ease,
            visibility .3s ease
    }
    .menu.open{
        transform:none;
        opacity:1;
        visibility:visible
    }
    .menu ul{
        width:100%;
        margin:0 0 18px;
        gap:0
    }
    .menu ul li{
        border-bottom:1px solid rgba(255,255,255,.09)
    }
    .menu ul a{
        display:block;
        padding:17px 2px;
        font-size:20px
    }
    .menu ul a::after{
        display:none
    }
    .menu .btn{
        width:100%
    }
    .menu-toggle{
        display:block;
        z-index:110
    }
}
@media(max-width:720px){
    .site-header.scrolled .nav{
        min-height:70px
    }
    .site-header.scrolled .logo img,
    .site-header.scrolled .custom-logo{
        width:190px
    }
    .menu{
        width:100%;
        padding-top:100px
    }
}

/* CraftCore v0.5 — Services Experience */
.cc-services-v5{
    padding:124px 0 132px;
    background:
        radial-gradient(circle at 50% 0,rgba(0,204,255,.05),transparent 34%),
        #f5f8fb;
    color:#07111d
}
.cc-services-v5__heading{
    margin-bottom:48px
}
.cc-services-v5__heading h2{
    max-width:760px
}
.cc-services-v5__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px
}
.cc-service-v5{
    min-width:0
}
.cc-service-v5__media{
    position:relative;
    min-height:360px;
    display:block;
    overflow:hidden;
    border:1px solid rgba(7,17,29,.08);
    border-radius:24px;
    background:#07111d;
    box-shadow:0 18px 48px rgba(8,20,34,.11);
    transform:translateZ(0);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease
}
.cc-service-v5:hover .cc-service-v5__media{
    transform:translateY(-8px);
    border-color:rgba(0,204,255,.36);
    box-shadow:
        0 28px 70px rgba(8,20,34,.18),
        0 0 0 1px rgba(0,204,255,.08)
}
.cc-service-v5__media>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s cubic-bezier(.2,.7,.2,1)
}
.cc-service-v5:hover .cc-service-v5__media>img{
    transform:scale(1.065)
}
.cc-service-v5__shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(0,0,0,.05) 18%,rgba(1,7,12,.28) 44%,rgba(1,7,12,.96) 100%)
}
.cc-service-v5__body{
    position:absolute;
    inset:auto 0 0;
    z-index:2;
    display:grid;
    grid-template-columns:54px 1fr;
    gap:16px;
    align-items:start;
    padding:26px
}
.cc-service-v5__icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:16px;
    background:linear-gradient(145deg,#11d9ff,#008fc2);
    color:#001019;
    box-shadow:0 12px 28px rgba(0,204,255,.26);
    font-size:22px;
    font-weight:900
}
.cc-service-v5__copy h3{
    margin:0 0 8px;
    color:#fff;
    font-size:24px;
    line-height:1.15
}
.cc-service-v5__copy p{
    margin:0 0 15px;
    color:#d0dae3;
    font-size:14px;
    line-height:1.55
}
.cc-service-v5__link{
    color:var(--blue);
    font-size:13px;
    font-weight:900
}
.cc-service-v5__link i{
    display:inline-block;
    margin-left:4px;
    font-style:normal;
    transition:transform .22s ease
}
.cc-service-v5:hover .cc-service-v5__link i{
    transform:translateX(5px)
}
.cc-services-v5__footer{
    display:flex;
    justify-content:center;
    margin-top:38px
}
@media(max-width:1020px){
    .cc-services-v5{
        padding:100px 0
    }
    .cc-services-v5__grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}
@media(max-width:720px){
    .cc-services-v5{
        padding:78px 0 88px
    }
    .cc-services-v5__grid{
        grid-template-columns:1fr;
        gap:16px
    }
    .cc-service-v5__media{
        min-height:330px
    }
    .cc-service-v5__body{
        grid-template-columns:48px 1fr;
        gap:13px;
        padding:22px
    }
    .cc-service-v5__icon{
        width:48px;
        height:48px;
        border-radius:14px
    }
    .cc-service-v5__copy h3{
        font-size:22px
    }
}

/* CraftCore v0.5.2 — Services polish + Recent Work */
.cc-services-v5__grid{align-items:stretch}
.cc-service-v5__media{min-height:390px}
.cc-service-v5__copy p{min-height:66px}
.cc-service-v5__media:focus-visible,
.cc-project-card:focus-visible{outline:3px solid var(--blue);outline-offset:4px}

.cc-recent-work{
    padding:126px 0 132px;
    background:
        radial-gradient(circle at 84% 12%,rgba(0,204,255,.10),transparent 28%),
        #06101a;
    color:#fff
}
.cc-recent-work__heading{margin-bottom:48px}
.cc-recent-work__heading h2{max-width:760px;color:#fff}
.cc-recent-work__heading>p{color:#aebdca}
.cc-recent-work__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px
}
.cc-project-card{
    position:relative;
    min-height:350px;
    overflow:hidden;
    padding:0;
    border:1px solid rgba(255,255,255,.11);
    border-radius:24px;
    background:#0b1722;
    color:#fff;
    text-align:left;
    cursor:pointer;
    box-shadow:0 22px 60px rgba(0,0,0,.24);
    transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease
}
.cc-project-card:hover{
    transform:translateY(-7px);
    border-color:rgba(0,204,255,.42);
    box-shadow:0 34px 78px rgba(0,0,0,.34),0 0 0 1px rgba(0,204,255,.07)
}
.cc-project-card>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s cubic-bezier(.2,.7,.2,1)
}
.cc-project-card:hover>img{transform:scale(1.065)}
.cc-project-card__shade{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.02) 26%,rgba(1,7,12,.18) 46%,rgba(1,7,12,.94) 100%)
}
.cc-project-card__content{
    position:absolute;
    z-index:2;
    inset:auto 0 0;
    display:grid;
    padding:25px
}
.cc-project-card__content small{
    color:var(--blue);
    font-size:11px;
    font-weight:900;
    letter-spacing:1.4px;
    text-transform:uppercase
}
.cc-project-card__content strong{
    margin-top:5px;
    font-size:24px;
    line-height:1.15
}
.cc-project-card__content>span{
    margin-top:12px;
    color:#d2dde6;
    font-size:13px;
    font-weight:800
}
.cc-project-card__content i{
    display:inline-block;
    margin-left:5px;
    color:var(--blue);
    font-style:normal;
    transition:transform .2s ease
}
.cc-project-card:hover .cc-project-card__content i{transform:translate(4px,-3px)}
.cc-recent-work__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:34px;
    padding:24px 27px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    background:rgba(255,255,255,.045)
}
.cc-recent-work__footer p{margin:0;color:#becbd5}
.cc-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:32px;
    background:rgba(0,0,0,.92);
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease,visibility .25s ease
}
.cc-lightbox.is-open{opacity:1;visibility:visible}
.cc-lightbox img{
    max-width:min(1280px,94vw);
    max-height:88vh;
    border-radius:18px;
    box-shadow:0 35px 100px rgba(0,0,0,.6)
}
.cc-lightbox__close{
    position:fixed;
    top:22px;
    right:24px;
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    background:rgba(255,255,255,.09);
    color:#fff;
    font-size:30px;
    cursor:pointer
}
body.cc-lightbox-open{overflow:hidden}
@media(max-width:1020px){
    .cc-service-v5__media{min-height:370px}
    .cc-recent-work{padding:100px 0}
    .cc-recent-work__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
    .cc-service-v5__media{min-height:350px}
    .cc-service-v5__copy p{min-height:0}
    .cc-recent-work{padding:82px 0 90px}
    .cc-recent-work__grid{grid-template-columns:1fr;gap:16px}
    .cc-project-card{min-height:330px}
    .cc-recent-work__footer{align-items:flex-start;flex-direction:column}
    .cc-recent-work__footer .btn{width:100%}
    .cc-lightbox{padding:18px}
}


/* CraftCore v0.5.3 — Final Recent Work composition */
@media(min-width:1021px){
    .cc-recent-work__grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
        grid-template-rows:420px 310px;
        gap:18px;
    }
    .cc-project-card:nth-child(1){grid-column:1 / span 2;grid-row:1}
    .cc-project-card:nth-child(2){grid-column:3 / span 2;grid-row:1}
    .cc-project-card:nth-child(n+3){min-height:310px}
}
.cc-project-card__content{
    background:linear-gradient(180deg,transparent,rgba(1,7,12,.28));
}
.cc-project-card__content small{
    width:max-content;
    padding:6px 10px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(4,13,22,.68);
    color:#dff9ff;
    backdrop-filter:blur(9px);
}
.cc-project-card__content>span{
    width:max-content;
    padding-bottom:4px;
    border-bottom:2px solid var(--blue);
}
@media(max-width:1020px) and (min-width:721px){
    .cc-recent-work__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cc-project-card{min-height:340px}
}


/* CraftCore v0.6 — Reviews */
.cc-reviews-v6{
    padding:125px 0;
    background:
        radial-gradient(circle at 10% 10%,rgba(0,204,255,.08),transparent 25%),
        #fff;
    color:#08111d
}
.cc-reviews-v6__header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:60px;
    align-items:end;
    margin-bottom:52px
}
.cc-reviews-v6__header h2{
    max-width:780px;
    margin:14px 0 14px;
    font-size:clamp(44px,5.2vw,68px);
    line-height:1.02;
    letter-spacing:-3px
}
.cc-reviews-v6__header p{
    max-width:700px;
    margin:0;
    color:#657487;
    font-size:17px
}
.cc-reviews-v6__rating{
    min-width:300px;
    display:flex;
    align-items:center;
    gap:18px;
    padding:20px 22px;
    border:1px solid #e0e9ee;
    border-radius:20px;
    background:#f6fafc;
    box-shadow:0 16px 42px rgba(7,22,36,.07)
}
.cc-reviews-v6__rating>strong{
    padding-right:18px;
    border-right:1px solid #dce6ec;
    font-size:42px;
    line-height:1
}
.cc-reviews-v6__rating>div{
    display:grid
}
.cc-reviews-v6__rating span,
.cc-review-v6__top span,
.cc-reviews-v6__footer>div>span{
    color:#ffb400;
    letter-spacing:2px
}
.cc-reviews-v6__rating b{
    font-size:14px
}
.cc-reviews-v6__rating small{
    color:#788697;
    font-size:11px
}
.cc-reviews-v6__grid{
    display:grid;
    grid-template-columns:1.2fr .8fr .8fr;
    gap:22px
}
.cc-review-v6{
    min-height:360px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:30px;
    border:1px solid #e2eaf0;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 50px rgba(7,22,36,.08);
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease
}
.cc-review-v6:hover{
    transform:translateY(-7px);
    border-color:rgba(0,204,255,.34);
    box-shadow:0 28px 72px rgba(7,22,36,.14)
}
.cc-review-v6--featured{
    min-height:420px;
    padding:38px;
    border-color:rgba(255,255,255,.08);
    background:
        radial-gradient(circle at 90% 0,rgba(0,204,255,.14),transparent 32%),
        #07101b;
    color:#fff
}
.cc-review-v6__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}
.cc-review-v6__top b{
    color:#4285f4;
    font-size:13px
}
.cc-review-v6--featured .cc-review-v6__top b{
    color:#8ab4ff
}
.cc-review-v6 blockquote{
    margin:28px 0;
    color:#2e3e4f;
    font-size:19px;
    line-height:1.65;
    font-weight:650
}
.cc-review-v6--featured blockquote{
    color:#f4f7fa;
    font-size:clamp(25px,2.2vw,34px);
    line-height:1.45;
    letter-spacing:-.8px
}
.cc-review-v6 footer{
    display:grid;
    grid-template-columns:46px 1fr auto;
    gap:13px;
    align-items:center
}
.cc-review-v6__avatar{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e9f7fb;
    color:#0088aa;
    font-weight:900
}
.cc-review-v6--featured .cc-review-v6__avatar{
    background:var(--blue);
    color:#001019
}
.cc-review-v6 footer div{
    display:grid
}
.cc-review-v6 footer strong{
    font-size:14px
}
.cc-review-v6 footer small,
.cc-review-v6 footer em{
    color:#788697;
    font-size:11px;
    font-style:normal
}
.cc-review-v6--featured footer small,
.cc-review-v6--featured footer em{
    color:#9fb0c0
}
.cc-reviews-v6__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:32px;
    padding:24px 28px;
    border:1px solid #e0e9ee;
    border-radius:20px;
    background:#f4f9fb
}
.cc-reviews-v6__footer>div{
    display:flex;
    align-items:center;
    gap:16px
}
.cc-reviews-v6__footer p{
    display:grid;
    margin:0
}
.cc-reviews-v6__footer small{
    color:#718092;
    font-size:11px
}
@media(max-width:1020px){
    .cc-reviews-v6__header{
        grid-template-columns:1fr;
        gap:24px
    }
    .cc-reviews-v6__rating{
        min-width:0;
        max-width:420px
    }
    .cc-reviews-v6__grid{
        grid-template-columns:1fr 1fr
    }
    .cc-review-v6--featured{
        grid-column:1 / -1
    }
}
@media(max-width:720px){
    .cc-reviews-v6{
        padding:82px 0
    }
    .cc-reviews-v6__header h2{
        font-size:40px;
        letter-spacing:-2px
    }
    .cc-reviews-v6__rating{
        width:100%;
        padding:18px
    }
    .cc-reviews-v6__grid{
        display:flex;
        gap:16px;
        overflow-x:auto;
        padding-bottom:8px;
        scroll-snap-type:x mandatory;
        scrollbar-width:none
    }
    .cc-reviews-v6__grid::-webkit-scrollbar{
        display:none
    }
    .cc-review-v6,
    .cc-review-v6--featured{
        min-width:88%;
        min-height:390px;
        scroll-snap-align:start
    }
    .cc-review-v6--featured blockquote{
        font-size:25px
    }
    .cc-reviews-v6__footer{
        flex-direction:column;
        align-items:flex-start
    }
    .cc-reviews-v6__footer>div{
        align-items:flex-start
    }
    .cc-reviews-v6__footer .btn{
        width:100%
    }
}

.cc-review-v6__avatar--image{object-fit:cover;overflow:hidden}
.cc-review-v6 footer .cc-review-v6__links{display:flex;gap:8px;color:#758496;font-size:10px}
.cc-review-v6 footer .cc-review-v6__links a:hover{color:#008fb4}
.cc-reviews-v6__empty{padding:36px;border:1px solid #e0e9ee;border-radius:22px;background:#f6fafc;text-align:center}
.cc-reviews-v6__empty h3{margin-top:0}.cc-reviews-v6__empty p{margin-bottom:0;color:#657487}

/* CraftCore v0.6.2 — Compact live Google reviews */
.cc-reviews-v6{
    padding:84px 0;
}
.cc-reviews-v6__header{
    gap:36px;
    margin-bottom:34px;
}
.cc-reviews-v6__header h2{
    max-width:720px;
    font-size:clamp(38px,4.4vw,58px);
    letter-spacing:-2.4px;
}
.cc-reviews-v6__header p{
    max-width:760px;
    font-size:15px;
}
.cc-reviews-v6__rating{
    min-width:260px;
    padding:16px 18px;
    border-radius:18px;
}
.cc-reviews-v6__rating>strong{
    font-size:34px;
}
.cc-reviews-v6__grid{
    grid-template-columns:1.08fr .92fr .92fr;
    gap:18px;
}
.cc-review-v6,
.cc-review-v6--featured{
    min-height:300px;
    padding:24px;
    border-radius:20px;
}
.cc-review-v6--featured{
    min-height:320px;
    padding:28px;
}
.cc-review-v6 blockquote{
    margin:22px 0;
    font-size:17px;
    line-height:1.55;
}
.cc-review-v6--featured blockquote{
    font-size:clamp(21px,1.9vw,28px);
    line-height:1.42;
}
.cc-review-v6 footer{
    grid-template-columns:42px 1fr auto;
}
.cc-review-v6__avatar{
    width:42px;
    height:42px;
}
.cc-reviews-v6__footer{
    margin-top:24px;
    padding:18px 22px;
    border-radius:18px;
}
.cc-reviews-v6__footer .btn{
    min-height:48px;
    padding:0 20px;
}
@media(max-width:1020px){
}
@media(max-width:720px){
    .cc-reviews-v6{
        padding:68px 0;
    }
    .cc-reviews-v6__header h2{
        font-size:36px;
    }
    .cc-reviews-v6__grid{
        display:flex;
        gap:14px;
    }
    .cc-review-v6,
    .cc-review-v6--featured{
        min-width:86%;
        min-height:300px;
        padding:22px;
    }
    .cc-review-v6--featured blockquote{
        font-size:22px;
    }
}


/* CraftCore v0.6.3 — Final Google reviews polish */
.cc-reviews-v6{
    padding:76px 0;
}
.cc-reviews-v6__header{
    align-items:center;
    margin-bottom:30px;
}
.cc-reviews-v6__header h2{
    max-width:680px;
    font-size:clamp(36px,4vw,54px);
    line-height:1.01;
}
.cc-reviews-v6__grid{
    grid-template-columns:1.04fr .98fr .98fr;
    align-items:stretch;
}
.cc-review-v6,
.cc-review-v6--featured{
    min-height:0;
    height:100%;
    padding:24px;
}
.cc-review-v6--featured{
    padding:26px;
}
.cc-review-v6 blockquote{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    flex:1;
    min-height:150px;
    margin:18px 0 12px;
    font-size:16px;
    line-height:1.58;
}
.cc-review-v6--featured blockquote{
    min-height:168px;
    font-size:clamp(19px,1.65vw,24px);
    line-height:1.5;
}
.cc-review-v6__quote-mark{
    display:block;
    height:28px;
    margin-bottom:3px;
    color:var(--blue);
    font-size:44px;
    line-height:1;
    font-family:Georgia,serif;
}
.cc-review-v6__read-more{
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    margin-bottom:20px;
    color:#008fb4;
    font-size:12px;
    font-weight:900;
}
.cc-review-v6--featured .cc-review-v6__read-more{
    color:var(--blue);
}
.cc-review-v6__read-more span{
    transition:transform .2s ease;
}
.cc-review-v6__read-more:hover span{
    transform:translate(2px,-2px);
}
.cc-review-v6 footer{
    grid-template-columns:42px minmax(0,1fr) auto;
    padding-top:17px;
    border-top:1px solid #e7edf1;
}
.cc-review-v6--featured footer{
    border-top-color:rgba(255,255,255,.12);
}
.cc-review-v6 footer strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.cc-review-v6 footer small{
    margin-top:2px;
}
.cc-review-v6__avatar--image{
    display:block;
}
.cc-review-v6__links:empty{
    display:none;
}
.cc-reviews-v6__rating{
    min-width:245px;
}
.cc-reviews-v6__footer{
    margin-top:20px;
}
@media(max-width:1020px){
    .cc-review-v6--featured blockquote{
        min-height:130px;
    }
}
@media(max-width:720px){
    .cc-reviews-v6{
        padding:62px 0;
    }
    .cc-reviews-v6__header{
        margin-bottom:24px;
    }
    .cc-reviews-v6__header h2{
        font-size:34px;
    }
    .cc-review-v6,
    .cc-review-v6--featured{
        min-width:88%;
        min-height:345px;
        padding:21px;
    }
    .cc-review-v6 blockquote,
    .cc-review-v6--featured blockquote{
        min-height:145px;
        font-size:18px;
    }
    .cc-review-v6 footer{
        grid-template-columns:40px minmax(0,1fr);
    }
    .cc-review-v6__links{
        display:none !important;
    }
}


/* CraftCore v0.7 — Our Process */
.cc-process-v7{
    position:relative;
    overflow:hidden;
    padding:115px 0;
    background:
        radial-gradient(circle at 85% 15%,rgba(0,204,255,.11),transparent 28%),
        linear-gradient(145deg,#07101b,#03080e);
    color:#fff
}
.cc-process-v7::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(to bottom,black,transparent 85%)
}
.cc-process-v7 .container{
    position:relative;
    z-index:1
}
.cc-process-v7__header{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);
    gap:70px;
    align-items:end;
    margin-bottom:52px
}
.cc-process-v7__header h2{
    max-width:780px;
    margin:14px 0 0;
    font-size:clamp(42px,5vw,66px);
    line-height:1.02;
    letter-spacing:-3px
}
.cc-process-v7__header>p{
    margin:0;
    color:#aebdca;
    font-size:18px
}
.cc-process-v7__timeline{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px
}
.cc-process-v7__timeline::before{
    content:"";
    position:absolute;
    top:57px;
    left:9%;
    right:9%;
    height:2px;
    background:linear-gradient(90deg,var(--blue),rgba(0,204,255,.15));
    transform-origin:left;
    animation:cc-process-line 1.2s ease both
}
@keyframes cc-process-line{
    from{transform:scaleX(0)}
    to{transform:scaleX(1)}
}
.cc-process-step{
    position:relative;
    min-height:330px;
    padding:26px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:24px;
    background:rgba(255,255,255,.045);
    backdrop-filter:blur(10px);
    transition:transform .3s ease,border-color .3s ease,background-color .3s ease
}
.cc-process-step:hover{
    transform:translateY(-7px);
    border-color:rgba(0,204,255,.38);
    background:rgba(255,255,255,.065)
}
.cc-process-step__number{
    position:absolute;
    top:20px;
    right:22px;
    color:rgba(255,255,255,.18);
    font-size:42px;
    font-weight:900;
    line-height:1
}
.cc-process-step__icon{
    position:relative;
    z-index:2;
    width:66px;
    height:66px;
    display:grid;
    place-items:center;
    margin-bottom:58px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    background:#07131f;
    color:var(--blue);
    box-shadow:0 0 0 8px #07101b,0 16px 34px rgba(0,0,0,.28)
}
.cc-process-step__icon svg{
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round
}
.cc-process-step h3{
    margin:0 0 11px;
    font-size:23px;
    line-height:1.15
}
.cc-process-step p{
    margin:0;
    color:#aebdca;
    font-size:15px
}
.cc-process-v7__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-top:30px;
    padding:22px 26px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    background:rgba(255,255,255,.04)
}
.cc-process-v7__footer>div{
    display:flex;
    align-items:center;
    gap:13px
}
.cc-process-v7__footer>div>span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(0,204,255,.14);
    color:var(--blue);
    font-weight:900
}
.cc-process-v7__footer p{
    display:grid;
    margin:0
}
.cc-process-v7__footer small{
    color:#8fa1b1;
    font-size:11px
}
@media(max-width:1020px){
    .cc-process-v7__header{
        grid-template-columns:1fr;
        gap:20px
    }
    .cc-process-v7__timeline{
        grid-template-columns:repeat(2,1fr)
    }
    .cc-process-v7__timeline::before{
        display:none
    }
    .cc-process-step__icon{
        margin-bottom:35px
    }
}
@media(max-width:720px){
    .cc-process-v7{
        padding:82px 0
    }
    .cc-process-v7__header h2{
        font-size:39px;
        letter-spacing:-2px
    }
    .cc-process-v7__timeline{
        grid-template-columns:1fr
    }
    .cc-process-step{
        min-height:0
    }
    .cc-process-step__icon{
        margin-bottom:28px
    }
    .cc-process-v7__footer{
        flex-direction:column;
        align-items:flex-start
    }
    .cc-process-v7__footer .btn{
        width:100%
    }
}

@media(prefers-reduced-motion:no-preference){
    .cc-process-step{
        opacity:0;
        transform:translateY(24px)
    }
    .cc-process-step.is-visible{
        opacity:1;
        transform:translateY(0)
    }
    .cc-process-step.is-visible:hover{
        transform:translateY(-7px)
    }
}


/* CraftCore v0.7.1 — Final Process polish */
.cc-process-v7{
    padding:100px 0;
}
.cc-process-v7__header{
    gap:56px;
    margin-bottom:44px;
}
.cc-process-v7__header h2{
    max-width:700px;
    font-size:clamp(38px,4.5vw,58px);
    line-height:1.03;
    letter-spacing:-2.5px;
}
.cc-process-v7__header>p{
    max-width:470px;
    color:#9fb0c0;
    font-size:17px;
}
.cc-process-v7__timeline::before{
    top:56px;
    height:1px;
    background:linear-gradient(90deg,var(--blue),rgba(0,204,255,.12));
    box-shadow:0 0 12px rgba(0,204,255,.38);
}
.cc-process-step{
    min-height:310px;
    padding:24px;
    transition:
        transform .3s ease,
        border-color .3s ease,
        background-color .3s ease,
        box-shadow .3s ease;
}
.cc-process-step:hover{
    transform:translateY(-8px);
    border-color:rgba(0,204,255,.55);
    background:rgba(255,255,255,.07);
    box-shadow:
        0 24px 50px rgba(0,0,0,.24),
        0 0 26px rgba(0,204,255,.09);
}
.cc-process-step__icon{
    margin-bottom:46px;
    transition:
        color .3s ease,
        border-color .3s ease,
        box-shadow .3s ease,
        background-color .3s ease;
}
.cc-process-step:hover .cc-process-step__icon{
    color:#fff;
    border-color:rgba(0,204,255,.58);
    background:rgba(0,204,255,.15);
    box-shadow:
        0 0 0 8px #07101b,
        0 14px 34px rgba(0,0,0,.28),
        0 0 24px rgba(0,204,255,.18);
}
.cc-process-step__number{
    color:rgba(255,255,255,.22);
    transition:color .3s ease;
}
.cc-process-step:hover .cc-process-step__number{
    color:rgba(0,204,255,.5);
}
.cc-process-step h3{
    font-size:22px;
}
.cc-process-step p{
    font-size:14px;
    line-height:1.65;
}
.cc-process-v7__footer{
    margin-top:26px;
    padding:20px 24px;
}
.cc-process-v7__trust-list{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:20px;
}
.cc-process-v7__trust-list span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#d4dee6;
    font-size:13px;
    font-weight:800;
}
.cc-process-v7__trust-list b{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(0,204,255,.12);
    color:var(--blue);
    font-size:12px;
}
@media(max-width:720px){
    .cc-process-v7{
        padding:76px 0;
    }
    .cc-process-v7__header h2{
        font-size:36px;
        letter-spacing:-1.8px;
    }
    .cc-process-v7__trust-list{
        display:grid;
        gap:10px;
    }
}


/* CraftCore v0.7.2 — Process trust bar fix */
.cc-process-v7__trust-inline{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:28px;
}
.cc-process-v7__trust-inline span{
    color:#dce6ed;
    font-size:13px;
    font-weight:850;
    white-space:nowrap;
}
.cc-process-v7__trust-inline span::first-letter{
    color:var(--blue);
}

/* CraftCore v0.8 — Locations Hub */
.cc-areas-v8{
    padding:115px 0;
    background:
        radial-gradient(circle at 90% 8%,rgba(0,204,255,.09),transparent 24%),
        #f6f9fb;
    color:#08111d;
}
.cc-areas-v8__header{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.65fr);
    gap:70px;
    align-items:end;
    margin-bottom:48px;
}
.cc-areas-v8__header h2{
    max-width:820px;
    margin:14px 0 0;
    font-size:clamp(42px,5vw,66px);
    line-height:1.02;
    letter-spacing:-3px;
}
.cc-areas-v8__header>p{
    margin:0;
    color:#647487;
    font-size:18px;
}
.cc-areas-v8__layout{
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    gap:24px;
}
.cc-areas-v8__map{
    position:relative;
    min-height:610px;
    overflow:hidden;
    border-radius:30px;
    background:
        radial-gradient(circle at 55% 42%,rgba(0,204,255,.18),transparent 23%),
        linear-gradient(145deg,#0b1926,#06101a);
    box-shadow:0 28px 70px rgba(7,24,39,.15);
}
.cc-areas-v8__map::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size:34px 34px;
}
.cc-areas-v8__map-shape{
    position:absolute;
    inset:12% 16% 18%;
    border:1px solid rgba(0,204,255,.38);
    border-radius:44% 56% 48% 52% / 53% 44% 56% 47%;
    transform:rotate(-8deg);
    box-shadow:
        inset 0 0 60px rgba(0,204,255,.06),
        0 0 34px rgba(0,204,255,.08);
}
.cc-area-pin{
    position:absolute;
    width:15px;
    height:15px;
    padding:0;
    border:3px solid rgba(255,255,255,.8);
    border-radius:50%;
    background:var(--blue);
    box-shadow:0 0 0 7px rgba(0,204,255,.12),0 0 18px rgba(0,204,255,.55);
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease;
}
.cc-area-pin span{
    position:absolute;
    left:50%;
    bottom:22px;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:9px;
    background:rgba(3,11,18,.88);
    color:#fff;
    font-size:10px;
    font-weight:900;
    white-space:nowrap;
    transform:translateX(-50%);
    backdrop-filter:blur(8px);
}
.cc-area-pin:hover,
.cc-area-pin.is-active{
    transform:scale(1.28);
    box-shadow:0 0 0 10px rgba(0,204,255,.15),0 0 26px rgba(0,204,255,.8);
}
.cc-area-pin--crewe{left:48%;top:55%}
.cc-area-pin--nantwich{left:36%;top:63%}
.cc-area-pin--chester{left:24%;top:38%}
.cc-area-pin--northwich{left:47%;top:30%}
.cc-area-pin--sandbach{left:61%;top:49%}
.cc-area-pin--macclesfield{left:73%;top:35%}
.cc-areas-v8__map-label{
    position:absolute;
    left:28px;
    right:28px;
    bottom:26px;
    display:grid;
    padding:18px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:17px;
    background:rgba(255,255,255,.055);
    color:#fff;
    backdrop-filter:blur(10px);
}
.cc-areas-v8__map-label strong{
    font-size:18px;
}
.cc-areas-v8__map-label span{
    margin-top:3px;
    color:#9fb0c0;
    font-size:12px;
}
.cc-areas-v8__cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.cc-area-card{
    min-height:92px;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) auto;
    gap:13px;
    align-items:center;
    padding:17px;
    border:1px solid #dfe8ee;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(7,24,39,.05);
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.cc-area-card:hover{
    transform:translateY(-4px);
    border-color:rgba(0,204,255,.52);
    box-shadow:0 20px 46px rgba(7,24,39,.1),0 0 22px rgba(0,204,255,.08);
}
.cc-area-card__pin{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#eaf8fc;
    color:#008caf;
    font-size:20px;
    font-weight:900;
}
.cc-area-card>span:nth-child(2){
    display:grid;
}
.cc-area-card strong{
    font-size:16px;
}
.cc-area-card small{
    margin-top:3px;
    color:#718093;
    font-size:11px;
}
.cc-area-card>b{
    color:#00a9d2;
    transition:transform .2s ease;
}
.cc-area-card:hover>b{
    transform:translateX(4px);
}
.cc-areas-v8__all{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:26px;
    align-items:start;
    margin-top:28px;
    padding:25px;
    border:1px solid #e0e9ee;
    border-radius:22px;
    background:#fff;
}
.cc-areas-v8__all>div:first-child{
    display:grid;
}
.cc-areas-v8__all>div:first-child span{
    margin-top:4px;
    color:#758497;
    font-size:12px;
}
.cc-areas-v8__chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.cc-areas-v8__chips a{
    padding:8px 11px;
    border:1px solid #e0e8ed;
    border-radius:999px;
    background:#f8fbfc;
    color:#344559;
    font-size:11px;
    font-weight:800;
    transition:border-color .2s ease,color .2s ease,background-color .2s ease;
}
.cc-areas-v8__chips a:hover{
    border-color:rgba(0,204,255,.5);
    background:#ebf9fc;
    color:#008caf;
}
.cc-areas-v8__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:22px;
    padding:22px 25px;
    border-radius:22px;
    background:#08111d;
    color:#fff;
}
.cc-areas-v8__stats{
    display:grid;
    grid-template-columns:repeat(4,auto);
    gap:34px;
}
.cc-areas-v8__stats span{
    display:grid;
}
.cc-areas-v8__stats strong{
    color:var(--blue);
    font-size:21px;
}
.cc-areas-v8__stats small{
    color:#9fb0c0;
    font-size:10px;
}
@media(max-width:1080px){
    .cc-areas-v8__header,
    .cc-areas-v8__layout{
        grid-template-columns:1fr;
        gap:24px;
    }
    .cc-areas-v8__map{
        min-height:480px;
    }
    .cc-areas-v8__all{
        grid-template-columns:1fr;
    }
}
@media(max-width:720px){
    .cc-process-v7__footer{
        align-items:stretch;
    }
    .cc-process-v7__trust-inline{
        display:grid;
        gap:10px;
    }
    .cc-areas-v8{
        padding:80px 0;
    }
    .cc-areas-v8__header h2{
        font-size:38px;
        letter-spacing:-2px;
    }
    .cc-areas-v8__map{
        min-height:390px;
    }
    .cc-areas-v8__cards{
        grid-template-columns:1fr;
    }
    .cc-areas-v8__footer{
        flex-direction:column;
        align-items:stretch;
    }
    .cc-areas-v8__stats{
        grid-template-columns:1fr 1fr;
        gap:18px;
    }
    .cc-areas-v8__footer .btn{
        width:100%;
    }
}


/* =========================================================
   AREAS WE COVER V9 — PREMIUM LOCATION HUB
   ========================================================= */
.cc-areas-v9{
    padding:112px 0;
    overflow:hidden;
    background:linear-gradient(180deg,#f7fafc 0%,#eef5f8 100%);
}
.cc-areas-v9__header{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.65fr);
    gap:72px;
    align-items:end;
    margin-bottom:48px;
}
.cc-areas-v9__header h2{
    max-width:760px;
    margin:10px 0 0;
    font-size:clamp(42px,5vw,68px);
    line-height:.98;
    letter-spacing:-3.5px;
}
.cc-areas-v9__header p{
    max-width:470px;
    margin:0 0 5px;
    color:#647487;
    font-size:18px;
    line-height:1.65;
}
.cc-areas-v9__layout{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:26px;
    align-items:stretch;
}
.cc-areas-v9__map{
    position:relative;
    min-height:600px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:30px;
    background:
        radial-gradient(circle at 55% 44%,rgba(0,204,255,.17),transparent 26%),
        linear-gradient(145deg,#0b1a29 0%,#06101a 100%);
    box-shadow:0 30px 75px rgba(7,24,39,.16);
}
.cc-areas-v9__grid{
    position:absolute;
    inset:0;
    opacity:.48;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:38px 38px;
    mask-image:linear-gradient(to bottom,black 0%,black 72%,transparent 100%);
}
.cc-areas-v9__outline{
    position:absolute;
    inset:8% 11% 13%;
    width:78%;
    height:79%;
    overflow:visible;
    filter:drop-shadow(0 0 24px rgba(0,204,255,.12));
}
.cc-areas-v9__outline path{
    fill:rgba(0,204,255,.035);
    stroke:rgba(0,204,255,.43);
    stroke-width:2;
    stroke-dasharray:5 8;
}
.cc-area-pin{
    position:absolute;
    z-index:3;
    display:flex;
    align-items:center;
    gap:8px;
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.01em;
    transform:translate(-50%,-50%);
    transition:transform .22s ease,filter .22s ease;
}
.cc-area-pin i{
    position:relative;
    width:13px;
    height:13px;
    flex:0 0 13px;
    border:3px solid rgba(255,255,255,.88);
    border-radius:50%;
    background:#00ccff;
    box-shadow:0 0 0 7px rgba(0,204,255,.12),0 0 22px rgba(0,204,255,.6);
}
.cc-area-pin b{
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:9px;
    background:rgba(4,13,22,.78);
    box-shadow:0 8px 22px rgba(0,0,0,.18);
    backdrop-filter:blur(8px);
    white-space:nowrap;
}
.cc-area-pin.is-active{
    z-index:5;
    transform:translate(-50%,-50%) scale(1.12);
    filter:brightness(1.18);
}
.cc-area-pin.is-active i{
    box-shadow:0 0 0 11px rgba(0,204,255,.15),0 0 34px rgba(0,204,255,.95);
}
.cc-area-pin--chester{left:28%;top:36%}
.cc-area-pin--northwich{left:51%;top:31%}
.cc-area-pin--winsford{left:45%;top:46%}
.cc-area-pin--crewe{left:52%;top:61%}
.cc-area-pin--nantwich{left:36%;top:68%}
.cc-area-pin--macclesfield{left:74%;top:40%}
.cc-areas-v9__map-copy{
    position:absolute;
    left:28px;
    right:28px;
    bottom:26px;
    z-index:4;
    display:grid;
    gap:3px;
    padding:18px 20px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:17px;
    background:rgba(255,255,255,.055);
    backdrop-filter:blur(10px);
}
.cc-areas-v9__map-copy span{
    color:#00ccff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.cc-areas-v9__map-copy strong{
    color:#fff;
    font-size:17px;
}
.cc-areas-v9__cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.cc-area-card-v9{
    min-height:88px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:18px;
    border:1px solid #dfe8ed;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 32px rgba(7,24,39,.045);
    color:#0b1a29;
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.cc-area-card-v9:hover,
.cc-area-card-v9:focus-visible{
    transform:translateY(-4px);
    border-color:rgba(0,204,255,.52);
    box-shadow:0 20px 45px rgba(7,24,39,.10),0 0 0 4px rgba(0,204,255,.04);
    outline:none;
}
.cc-area-card-v9__marker{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#e9f8fc;
    color:#008fae;
    transition:background-color .22s ease,color .22s ease,transform .22s ease;
}
.cc-area-card-v9__marker svg{
    width:21px;
    height:21px;
    fill:currentColor;
}
.cc-area-card-v9:hover .cc-area-card-v9__marker{
    transform:scale(1.06);
    background:#00ccff;
    color:#04111c;
}
.cc-area-card-v9 strong{
    font-size:16px;
    font-weight:850;
}
.cc-area-card-v9__arrow{
    color:#00a9d2;
    font-size:19px;
    font-weight:900;
    transition:transform .22s ease;
}
.cc-area-card-v9:hover .cc-area-card-v9__arrow{
    transform:translateX(4px);
}
.cc-areas-v9__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
    margin-top:24px;
    padding:23px 25px;
    border:1px solid #dde8ed;
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 38px rgba(7,24,39,.05);
}
.cc-areas-v9__footer p{
    margin:0;
    color:#647487;
    font-size:14px;
}
.cc-areas-v9__footer p strong{
    color:#0b1a29;
}
@media(max-width:1080px){
    .cc-areas-v9__header,
    .cc-areas-v9__layout{
        grid-template-columns:1fr;
        gap:28px;
    }
    .cc-areas-v9__map{min-height:500px}
}
@media(max-width:720px){
    .cc-areas-v9{padding:78px 0}
    .cc-areas-v9__header{gap:18px;margin-bottom:32px}
    .cc-areas-v9__header h2{font-size:40px;letter-spacing:-2.2px}
    .cc-areas-v9__header p{font-size:16px}
    .cc-areas-v9__map{min-height:390px;border-radius:23px}
    .cc-area-pin b{display:none}
    .cc-areas-v9__map-copy{left:18px;right:18px;bottom:18px}
    .cc-areas-v9__cards{grid-template-columns:1fr}
    .cc-area-card-v9{min-height:78px}
    .cc-areas-v9__footer{flex-direction:column;align-items:stretch}
    .cc-areas-v9__footer .btn{width:100%}
}

/* CraftCore v0.8.3 — Process + Areas visual correction */
.cc-process-v7__header h2,
.cc-process-v7__header h3,
.cc-process-v7__header p,
.cc-process-step h3,
.cc-process-step p { position:relative; z-index:2; }

.cc-process-step__icon{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    margin:0 0 24px !important;
    padding:0 !important;
    border-radius:12px !important;
    background:#07131f !important;
    color:#00ccff !important;
    box-shadow:0 0 0 1px rgba(0,204,255,.18),0 10px 24px rgba(0,0,0,.2) !important;
}
.cc-process-step__icon svg{
    display:block !important;
    width:20px !important;
    height:20px !important;
    max-width:20px !important;
    max-height:20px !important;
    overflow:visible !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
.cc-process-step__icon svg path{
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
.cc-process-step{
    min-height:0 !important;
    padding:22px !important;
}
.cc-process-step__number{
    top:21px !important;
    right:20px !important;
    font-size:30px !important;
}
.cc-process-v7__timeline::before{
    top:44px !important;
    left:7% !important;
    right:7% !important;
}
.cc-process-v7__trust-inline span{
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:none !important;
    box-shadow:none !important;
    white-space:nowrap !important;
}

.cc-areas-v9,
.cc-areas-v9 *{ box-sizing:border-box; }
.cc-areas-v9__header h2{
    color:#071522 !important;
    opacity:1 !important;
    text-shadow:none !important;
}
.cc-areas-v9__header .eyebrow{
    color:#00aeda !important;
    opacity:1 !important;
}
.cc-areas-v9__header p{
    color:#5f7184 !important;
    opacity:1 !important;
}
.cc-area-card-v9 strong{
    color:#071522 !important;
}
.cc-area-card-v9__marker svg,
.cc-area-card-v9__marker svg path{
    fill:currentColor !important;
    stroke:none !important;
}
.cc-areas-v9__map{
    min-height:560px;
}
.cc-areas-v9__footer{
    margin-top:18px;
}

@media(max-width:1080px){
    .cc-process-v7__timeline::before{display:none !important;}
    .cc-areas-v9__map{min-height:460px;}
}
@media(max-width:720px){
    .cc-process-step__icon{margin-bottom:18px !important;}
    .cc-process-v7__trust-inline span{white-space:normal !important;}
    .cc-areas-v9__map{min-height:380px;}
}

/* CraftCore v0.8.4 — Homepage FAQ */
.cc-faq-v1{
    padding:112px 0;
    background:
        radial-gradient(circle at 86% 12%,rgba(0,204,255,.10),transparent 28%),
        linear-gradient(180deg,#06121e 0%,#081724 100%);
    color:#fff;
    position:relative;
    overflow:hidden;
}
.cc-faq-v1::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.28;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:48px 48px;
}
.cc-faq-v1 .container{position:relative;z-index:1}
.cc-faq-v1__header{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);
    align-items:end;
    gap:72px;
    margin-bottom:52px;
}
.cc-faq-v1__header .eyebrow{color:#00ccff}
.cc-faq-v1__header h2{
    margin:12px 0 0;
    max-width:760px;
    color:#fff;
    font-size:clamp(44px,5vw,72px);
    line-height:.98;
    letter-spacing:-3.6px;
}
.cc-faq-v1__header>p{
    margin:0 0 5px;
    color:#9eb0bf;
    font-size:17px;
    line-height:1.75;
}
.cc-faq-v1__layout{
    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    gap:30px;
    align-items:start;
}
.cc-faq-v1__aside{
    position:sticky;
    top:110px;
    padding:34px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:26px;
    background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
    box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.cc-faq-v1__aside-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    margin-bottom:26px;
    border:1px solid rgba(0,204,255,.38);
    border-radius:18px;
    color:#00ccff;
    background:rgba(0,204,255,.08);
}
.cc-faq-v1__aside-icon svg{
    width:28px;
    height:28px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.cc-faq-v1__aside h3{
    margin:0 0 13px;
    color:#fff;
    font-size:27px;
    letter-spacing:-1px;
}
.cc-faq-v1__aside p{
    margin:0 0 26px;
    color:#9eb0bf;
    line-height:1.7;
}
.cc-faq-v1__aside .btn{width:100%}
.cc-faq-v1__phone{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:22px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.09);
    text-decoration:none;
}
.cc-faq-v1__phone span{color:#8296a7;font-size:13px}
.cc-faq-v1__phone strong{color:#fff;font-size:15px}
.cc-faq-v1__items{display:grid;gap:14px}
.cc-faq-item{
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    background:rgba(255,255,255,.045);
    overflow:hidden;
    transition:border-color .22s ease,background .22s ease,transform .22s ease;
}
.cc-faq-item:hover{
    border-color:rgba(0,204,255,.28);
    background:rgba(255,255,255,.06);
}
.cc-faq-item[open]{
    border-color:rgba(0,204,255,.42);
    background:rgba(0,204,255,.055);
}
.cc-faq-item summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:82px;
    padding:22px 25px;
    color:#fff;
    cursor:pointer;
    list-style:none;
    font-size:18px;
    font-weight:800;
    letter-spacing:-.25px;
}
.cc-faq-item summary::-webkit-details-marker{display:none}
.cc-faq-item summary i{
    position:relative;
    flex:0 0 34px;
    width:34px;
    height:34px;
    border:1px solid rgba(0,204,255,.3);
    border-radius:50%;
    background:rgba(0,204,255,.07);
}
.cc-faq-item summary i::before,
.cc-faq-item summary i::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:12px;
    height:2px;
    border-radius:2px;
    background:#00ccff;
    transform:translate(-50%,-50%);
    transition:transform .22s ease;
}
.cc-faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.cc-faq-item[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.cc-faq-item__answer{
    display:grid;
    grid-template-rows:1fr;
    padding:0 78px 24px 25px;
}
.cc-faq-item__answer p{
    margin:0;
    color:#a8b7c3;
    font-size:15.5px;
    line-height:1.75;
}
@media(max-width:980px){
    .cc-faq-v1__header{grid-template-columns:1fr;gap:22px}
    .cc-faq-v1__layout{grid-template-columns:1fr}
    .cc-faq-v1__aside{position:relative;top:auto}
}
@media(max-width:720px){
    .cc-faq-v1{padding:78px 0}
    .cc-faq-v1__header{margin-bottom:34px}
    .cc-faq-v1__header h2{font-size:42px;letter-spacing:-2.2px}
    .cc-faq-v1__aside{padding:26px;border-radius:22px}
    .cc-faq-item summary{min-height:72px;padding:19px 18px;font-size:16px}
    .cc-faq-item__answer{padding:0 18px 20px}
}

/* CraftCore v0.8.5 — location-focused copy and footer */
.cc-footer-v085{
    padding:0;
    background:#030b13;
    border-top:1px solid rgba(255,255,255,.08);
}
.cc-footer-v085 .container{display:block}
.cc-footer-v085__main{
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
    gap:90px;
    padding:58px 0 42px;
}
.cc-footer-v085__brand>strong{
    display:block;
    margin-bottom:12px;
    color:#fff;
    font-size:24px;
    letter-spacing:-.6px;
}
.cc-footer-v085__brand>p{
    max-width:430px;
    margin:0;
    color:#94a6b5;
    line-height:1.75;
}
.cc-footer-v085__contact{
    display:flex;
    flex-wrap:wrap;
    gap:10px 20px;
    margin-top:22px;
}
.cc-footer-v085__contact a{
    color:#fff;
    font-weight:800;
}
.cc-footer-v085__contact a:hover{color:#00ccff}
.cc-footer-v085__areas>span{
    display:block;
    margin-bottom:12px;
    color:#00ccff;
    font-size:11px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
}
.cc-footer-v085__areas p{
    margin:0 0 17px;
    color:#c2ced7;
    font-size:15px;
    line-height:2;
}
.cc-footer-v085__areas p i{
    margin:0 5px;
    color:rgba(0,204,255,.55);
    font-style:normal;
}
.cc-footer-v085__areas>a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#fff;
    font-weight:900;
}
.cc-footer-v085__areas>a b{color:#00ccff}
.cc-footer-v085__bottom{
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding:21px 0 26px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#6f8394;
    font-size:12px;
}
@media(max-width:900px){
    .cc-footer-v085__main{grid-template-columns:1fr;gap:34px}
}
@media(max-width:720px){
    .cc-footer-v085__main{padding:44px 0 32px}
    .cc-footer-v085__areas p{line-height:1.8}
    .cc-footer-v085__bottom{flex-direction:column;gap:5px;padding-bottom:82px}
}


/* CraftCore v0.8.6 — final CTA and premium footer */
.cc-final-cta-v086{position:relative;overflow:hidden;padding:82px 0;background:linear-gradient(135deg,#07141f 0%,#0a1d2b 52%,#073246 100%);border-top:1px solid rgba(0,204,255,.14)}
.cc-final-cta-v086:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 84% 25%,rgba(0,204,255,.2),transparent 28%),radial-gradient(circle at 15% 95%,rgba(34,197,94,.09),transparent 28%);pointer-events:none}
.cc-final-cta-v086__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:48px;align-items:center;padding:48px 52px;border:1px solid rgba(255,255,255,.1);border-radius:30px;background:rgba(4,13,22,.64);box-shadow:0 28px 80px rgba(0,0,0,.28);backdrop-filter:blur(10px)}
.cc-final-cta-v086__copy h2{max-width:760px;margin:10px 0 14px;color:#fff;font-size:clamp(42px,5vw,70px);line-height:.98;letter-spacing:-3.5px}
.cc-final-cta-v086__copy p{max-width:700px;margin:0;color:#aebdca;font-size:17px;line-height:1.75}
.cc-final-cta-v086__actions{display:grid;gap:14px;justify-items:stretch}
.cc-final-cta-v086__actions .btn{width:100%;justify-content:center}
.cc-final-cta-v086__call{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.045);color:#fff}
.cc-final-cta-v086__call span{color:#8fa3b3;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px}
.cc-final-cta-v086__call strong{font-size:17px;white-space:nowrap}
.cc-final-cta-v086__call:hover{border-color:rgba(0,204,255,.5);background:rgba(0,204,255,.08)}
.cc-final-cta-v086__trust{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:25px;border-top:1px solid rgba(255,255,255,.08);color:#d8e3ea;font-size:13px;font-weight:800}
.cc-final-cta-v086__trust span{white-space:nowrap}

.cc-site-footer-v086{padding:0;background:#02080e;border-top:1px solid rgba(255,255,255,.07)}
.cc-site-footer-v086 .container{display:block}
.cc-site-footer-v086__grid{display:grid;grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(155px,.72fr));gap:56px;padding:68px 0 48px}
.cc-site-footer-v086__logo{display:inline-flex;margin-bottom:22px}
.cc-site-footer-v086__logo img{display:block;width:min(235px,100%);height:auto}
.cc-site-footer-v086__brand p{max-width:390px;margin:0;color:#8ea1b0;line-height:1.75}
.cc-site-footer-v086__social{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}
.cc-site-footer-v086__social a{color:#c8d4dc;font-size:13px;font-weight:800}
.cc-site-footer-v086__social a:hover{color:#00ccff}
.cc-site-footer-v086__column{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.cc-site-footer-v086__column h3{margin:0 0 9px;color:#fff;font-size:14px;letter-spacing:.5px}
.cc-site-footer-v086__column>a:not(.btn):not(.cc-site-footer-v086__contact-link){color:#8ea1b0;font-size:14px}
.cc-site-footer-v086__column>a:not(.btn):not(.cc-site-footer-v086__contact-link):hover{color:#00ccff;transform:translateX(3px)}
.cc-site-footer-v086__column .cc-site-footer-v086__all{margin-top:4px;color:#fff!important;font-weight:900}
.cc-site-footer-v086__contact{gap:13px}
.cc-site-footer-v086__contact-link{display:block;width:100%;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.cc-site-footer-v086__contact-link small{display:block;margin-bottom:4px;color:#718696;font-size:10px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}
.cc-site-footer-v086__contact-link strong{display:block;font-size:15px;overflow-wrap:anywhere}
.cc-site-footer-v086__contact-link:hover strong{color:#00ccff}
.cc-site-footer-v086__contact .btn{margin-top:8px;width:100%;justify-content:center}
.cc-site-footer-v086__coverage{display:grid;grid-template-columns:auto 1fr;gap:25px;align-items:start;padding:24px 0;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.cc-site-footer-v086__coverage strong{color:#00ccff;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;white-space:nowrap}
.cc-site-footer-v086__coverage p{margin:0;color:#8397a6;font-size:13px;line-height:1.7}
.cc-site-footer-v086__bottom{display:flex;justify-content:space-between;gap:24px;padding:22px 0 28px;color:#617684;font-size:12px}
.cc-site-footer-v086__bottom>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:18px}
.cc-site-footer-v086__bottom a{color:#8799a6}
.cc-site-footer-v086__bottom a:hover{color:#00ccff}

@media(max-width:1020px){
 .cc-final-cta-v086__inner{grid-template-columns:1fr;padding:42px}
 .cc-final-cta-v086__actions{grid-template-columns:1fr 1fr}
 .cc-site-footer-v086__grid{grid-template-columns:1.3fr 1fr 1fr;gap:44px}
 .cc-site-footer-v086__contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;align-items:end}
 .cc-site-footer-v086__contact h3{grid-column:1/-1}
 .cc-site-footer-v086__contact .btn{min-width:190px}
}
@media(max-width:720px){
 .cc-final-cta-v086{padding:64px 0}
 .cc-final-cta-v086__inner{padding:30px 23px;border-radius:23px}
 .cc-final-cta-v086__copy h2{font-size:43px;letter-spacing:-2.4px}
 .cc-final-cta-v086__actions{grid-template-columns:1fr}
 .cc-final-cta-v086__trust{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .cc-site-footer-v086__grid{grid-template-columns:1fr 1fr;gap:38px 26px;padding:52px 0 38px}
 .cc-site-footer-v086__brand{grid-column:1/-1}
 .cc-site-footer-v086__contact{grid-column:1/-1;display:flex}
 .cc-site-footer-v086__coverage{grid-template-columns:1fr;gap:8px}
 .cc-site-footer-v086__coverage strong{white-space:normal}
 .cc-site-footer-v086__bottom{flex-direction:column;padding-bottom:84px}
 .cc-site-footer-v086__bottom>div{justify-content:flex-start}
}
@media(max-width:480px){
 .cc-site-footer-v086__grid{grid-template-columns:1fr}
 .cc-site-footer-v086__brand{grid-column:auto}
 .cc-final-cta-v086__trust{grid-template-columns:1fr}
}


/* CraftCore v0.8.7 — quick quote CTA + real social links */
.cc-final-cta-v087{position:relative;overflow:hidden;padding:88px 0;background:linear-gradient(135deg,#07141f 0%,#0a1d2b 52%,#073246 100%);border-top:1px solid rgba(0,204,255,.14)}
.cc-final-cta-v087:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 82% 18%,rgba(0,204,255,.18),transparent 28%),radial-gradient(circle at 8% 100%,rgba(34,197,94,.08),transparent 30%);pointer-events:none}
.cc-final-cta-v087__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:54px;align-items:start;padding:54px;border:1px solid rgba(255,255,255,.1);border-radius:30px;background:rgba(4,13,22,.68);box-shadow:0 30px 86px rgba(0,0,0,.32);backdrop-filter:blur(10px)}
.cc-final-cta-v087__copy h2{max-width:720px;margin:10px 0 16px;color:#fff;font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-3.8px}
.cc-final-cta-v087__copy>p{max-width:650px;margin:0;color:#aebdca;font-size:17px;line-height:1.75}
.cc-final-cta-v087__rating{display:flex;align-items:center;gap:12px;margin-top:24px;color:#fff}
.cc-final-cta-v087__rating span{color:#ffd34d;letter-spacing:3px;font-size:17px}
.cc-final-cta-v087__rating strong{font-size:14px}
.cc-final-cta-v087__direct{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.cc-final-cta-v087__direct a{display:block;padding:16px 18px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.04);color:#fff}
.cc-final-cta-v087__direct a:hover{border-color:rgba(0,204,255,.45);background:rgba(0,204,255,.07)}
.cc-final-cta-v087__direct small{display:block;margin-bottom:5px;color:#7f93a3;font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.cc-final-cta-v087__direct strong{display:block;overflow-wrap:anywhere;font-size:15px}
.cc-quick-quote-v087{display:grid;gap:15px;padding:28px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:rgba(255,255,255,.055);box-shadow:0 20px 52px rgba(0,0,0,.22)}
.cc-quick-quote-v087__heading{display:grid;gap:4px;margin-bottom:4px}
.cc-quick-quote-v087__heading span{color:#00ccff;font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}
.cc-quick-quote-v087__heading strong{color:#fff;font-size:24px;letter-spacing:-.6px}
.cc-quick-quote-v087 label{display:grid;gap:7px}
.cc-quick-quote-v087 label>span{color:#dce7ed;font-size:12px;font-weight:800}
.cc-quick-quote-v087 input{width:100%;height:52px;padding:0 15px;border:1px solid rgba(255,255,255,.12);border-radius:13px;outline:none;background:#07131e;color:#fff;font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.cc-quick-quote-v087 input::placeholder{color:#607585}
.cc-quick-quote-v087 input:focus{border-color:#00ccff;box-shadow:0 0 0 3px rgba(0,204,255,.12);background:#081824}
.cc-quick-quote-v087 .btn{width:100%;justify-content:center;margin-top:3px}
.cc-quick-quote-v087__note{margin:0;color:#718696;font-size:11px;line-height:1.55;text-align:center}
.cc-final-cta-v087__trust{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:25px;border-top:1px solid rgba(255,255,255,.08);color:#d8e3ea;font-size:13px;font-weight:800}
.cc-final-cta-v087__trust span{white-space:nowrap}
.cc-site-footer-v086__social a{display:inline-flex;align-items:center;gap:7px}
.cc-site-footer-v086__social a>span{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid rgba(255,255,255,.12);border-radius:50%;color:#00ccff;font-size:12px;font-weight:900;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.cc-site-footer-v086__social a:hover>span{transform:translateY(-2px);border-color:rgba(0,204,255,.6);box-shadow:0 0 18px rgba(0,204,255,.16)}
@media(max-width:980px){
 .cc-final-cta-v087__inner{grid-template-columns:1fr;padding:42px}
 .cc-quick-quote-v087{max-width:620px}
}
@media(max-width:720px){
 .cc-final-cta-v087{padding:64px 0}
 .cc-final-cta-v087__inner{padding:30px 23px;border-radius:23px;gap:34px}
 .cc-final-cta-v087__copy h2{font-size:44px;letter-spacing:-2.5px}
 .cc-final-cta-v087__direct{grid-template-columns:1fr}
 .cc-quick-quote-v087{padding:22px;border-radius:20px}
 .cc-final-cta-v087__trust{display:grid;grid-template-columns:1fr 1fr;gap:12px}
}
@media(max-width:480px){
 .cc-final-cta-v087__trust{grid-template-columns:1fr}
}


/* CraftCore v0.8.8 — conversion call strips + 3-action mobile bar */
.cc-conversion-strip{position:relative;padding:18px 0;background:#06111a;border-top:1px solid rgba(0,204,255,.12);border-bottom:1px solid rgba(255,255,255,.06)}
.cc-conversion-strip__inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.cc-conversion-strip__inner>div:first-child{display:grid;gap:3px}
.cc-conversion-strip__inner span{color:#7f95a5;font-size:11px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.cc-conversion-strip__inner strong{color:#fff;font-size:20px;letter-spacing:-.35px}
.cc-conversion-strip__actions{display:flex;align-items:center;gap:12px}
.cc-conversion-strip__phone{display:flex;align-items:center;gap:12px;min-width:220px;padding:12px 16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.04);color:#fff}
.cc-conversion-strip__phone small{color:#7f95a5;font-size:10px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}
.cc-conversion-strip__phone b{margin-left:auto;font-size:15px;white-space:nowrap}
.cc-conversion-strip__phone:hover{border-color:rgba(0,204,255,.55);background:rgba(0,204,255,.08)}
.cc-conversion-strip__phone:hover b{color:#00ccff}
.cc-conversion-strip .btn{white-space:nowrap}
.mobile-bar{grid-template-columns:repeat(3,1fr)!important}
.mobile-bar a:last-child{background:#00ccff!important;color:#03131d!important;font-weight:900}
@media(max-width:820px){
 .cc-conversion-strip__inner{align-items:flex-start;flex-direction:column}
 .cc-conversion-strip__actions{width:100%}
 .cc-conversion-strip__phone{flex:1}
}
@media(max-width:560px){
 .cc-conversion-strip{padding:20px 0}
 .cc-conversion-strip__inner strong{font-size:18px}
 .cc-conversion-strip__actions{display:grid;grid-template-columns:1fr;width:100%}
 .cc-conversion-strip__phone{width:100%;min-width:0}
 .cc-conversion-strip .btn{width:100%;justify-content:center}
}


/* CraftCore v0.8.9 — final conversion balance */
.cc-call-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
}

.cc-quick-quote-v087__actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    margin-top:3px;
}

.cc-quick-quote-v087__actions .btn{
    width:100%;
    min-height:52px;
    margin:0;
}

@media (max-width: 760px){
    .cc-quick-quote-v087__actions{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   CraftCore v0.9.0 — Areas We Cover master hub
   ========================================================= */
.cc-areas-hub-hero{
    position:relative;
    overflow:hidden;
    padding:clamp(92px,10vw,150px) 0 clamp(82px,9vw,130px);
    background:
        radial-gradient(circle at 20% 25%,rgba(0,204,255,.15),transparent 32%),
        linear-gradient(145deg,#06111d 0%,#0b1d2d 48%,#08131f 100%);
    color:#fff;
}

.cc-areas-hub-hero::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.16;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
    background-size:48px 48px;
    mask-image:linear-gradient(to bottom,black,transparent 85%);
}

.cc-areas-hub-hero__inner{
    position:relative;
    z-index:2;
    max-width:900px;
    text-align:center;
}

.cc-areas-hub-hero h1{
    max-width:880px;
    margin:14px auto 22px;
    color:#fff;
    font-size:clamp(42px,6vw,76px);
    line-height:1.02;
    letter-spacing:-.045em;
}

.cc-areas-hub-hero p{
    max-width:760px;
    margin:0 auto;
    color:rgba(255,255,255,.76);
    font-size:clamp(18px,2vw,22px);
    line-height:1.7;
}

.cc-areas-hub-hero__actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:32px;
}

.cc-areas-hub-hero__trust{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px 28px;
    margin-top:28px;
    color:rgba(255,255,255,.82);
    font-size:14px;
    font-weight:700;
}

.cc-areas-hub-featured,
.cc-areas-hub-directory,
.cc-areas-hub-faq{
    padding:clamp(78px,8vw,118px) 0;
}

.cc-areas-hub-featured{
    background:#f6f9fc;
}

.cc-section-heading--split{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);
    align-items:end;
    gap:32px;
    margin-bottom:42px;
}

.cc-section-heading--split h2,
.cc-section-heading--center h2{
    margin:10px 0 0;
    font-size:clamp(34px,4vw,56px);
    line-height:1.08;
    letter-spacing:-.035em;
}

.cc-section-heading--split p{
    margin:0;
    color:#657487;
    font-size:17px;
    line-height:1.7;
}

.cc-section-heading--center{
    max-width:760px;
    margin:0 auto 42px;
    text-align:center;
}

.cc-section-heading--center p{
    color:#657487;
    font-size:17px;
}

.cc-areas-hub-featured__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.cc-areas-hub-feature-card{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:16px;
    min-height:112px;
    padding:22px;
    border:1px solid #dfe7ef;
    border-radius:18px;
    background:#fff;
    color:#091827;
    text-decoration:none;
    box-shadow:0 12px 34px rgba(15,38,61,.06);
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.cc-areas-hub-feature-card:hover,
.cc-areas-hub-feature-card:focus-visible{
    transform:translateY(-4px);
    border-color:rgba(0,204,255,.72);
    box-shadow:0 20px 42px rgba(15,38,61,.12);
}

.cc-areas-hub-feature-card__pin{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:14px;
    background:rgba(0,204,255,.11);
    color:#007da3;
}

.cc-areas-hub-feature-card__pin svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.cc-areas-hub-feature-card__content{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.cc-areas-hub-feature-card__content strong{
    font-size:19px;
}

.cc-areas-hub-feature-card__content small{
    color:#718093;
}

.cc-areas-hub-feature-card__arrow{
    font-size:24px;
    color:#00a7d1;
    transition:transform .22s ease;
}

.cc-areas-hub-feature-card:hover .cc-areas-hub-feature-card__arrow{
    transform:translateX(4px);
}

.cc-areas-hub-directory{
    background:#fff;
}

.cc-areas-hub-search{
    max-width:760px;
    margin:0 auto 34px;
}

.cc-areas-hub-search > label{
    display:block;
    margin-bottom:10px;
    color:#25384b;
    font-size:14px;
    font-weight:800;
}

.cc-areas-hub-search__field{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
    padding:0 16px;
    border:1px solid #d6e0e9;
    border-radius:16px;
    background:#f8fbfd;
    box-shadow:0 10px 30px rgba(15,38,61,.05);
}

.cc-areas-hub-search__field:focus-within{
    border-color:#00bce8;
    box-shadow:0 0 0 4px rgba(0,204,255,.1);
}

.cc-areas-hub-search__field svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:#6f8194;
    stroke-width:1.8;
}

.cc-areas-hub-search__field input{
    width:100%;
    min-height:58px;
    border:0;
    outline:0;
    background:transparent;
    color:#0c1d2d;
    font:inherit;
    font-size:17px;
}

.cc-areas-hub-search__clear{
    border:0;
    background:transparent;
    color:#027d9f;
    font-weight:800;
    opacity:0;
    pointer-events:none;
    cursor:pointer;
}

.cc-areas-hub-search__clear.is-visible{
    opacity:1;
    pointer-events:auto;
}

.cc-areas-hub-search__status{
    min-height:22px;
    margin:9px 3px 0;
    color:#738396;
    font-size:13px;
}

.cc-areas-hub-all{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.cc-areas-hub-area-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    min-height:66px;
    padding:16px 18px;
    border:1px solid #e1e8ef;
    border-radius:14px;
    background:#fff;
    color:#172838;
    font-weight:800;
    text-decoration:none;
    transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.cc-areas-hub-area-card:hover,
.cc-areas-hub-area-card:focus-visible{
    transform:translateY(-2px);
    border-color:#00c7f4;
    background:#071827;
    color:#fff;
}

.cc-areas-hub-area-card[hidden]{
    display:none;
}

.cc-areas-hub-empty{
    margin-top:30px;
    padding:34px;
    border-radius:20px;
    background:#f3f8fb;
    text-align:center;
}

.cc-areas-hub-reassurance{
    padding:clamp(82px,8vw,120px) 0;
    background:linear-gradient(145deg,#06111d,#0a2133);
    color:#fff;
}

.cc-section-heading--light h2{
    color:#fff;
}

.cc-section-heading--light p{
    color:rgba(255,255,255,.68);
}

.cc-areas-hub-reassurance__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.cc-areas-hub-reassurance article{
    padding:30px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    background:rgba(255,255,255,.045);
}

.cc-areas-hub-reassurance article > span{
    color:#00ccff;
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
}

.cc-areas-hub-reassurance h3{
    margin:18px 0 10px;
    color:#fff;
    font-size:22px;
}

.cc-areas-hub-reassurance p{
    margin:0;
    color:rgba(255,255,255,.68);
    line-height:1.7;
}

.cc-areas-hub-faq{
    background:#f7fafc;
}

.cc-areas-hub-faq__layout{
    display:grid;
    grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
    gap:clamp(36px,7vw,90px);
    align-items:start;
}

.cc-areas-hub-faq__intro{
    position:sticky;
    top:120px;
}

.cc-areas-hub-faq__intro h2{
    margin:12px 0 16px;
    font-size:clamp(34px,4vw,52px);
    line-height:1.08;
}

.cc-areas-hub-faq__intro p{
    margin-bottom:24px;
    color:#657487;
    line-height:1.7;
}

.cc-areas-hub-quote{
    margin:0;
}

@media (max-width: 980px){
    .cc-areas-hub-featured__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .cc-areas-hub-all{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .cc-areas-hub-faq__layout{
        grid-template-columns:1fr;
    }

    .cc-areas-hub-faq__intro{
        position:static;
    }
}

@media (max-width: 760px){
    .cc-section-heading--split{
        grid-template-columns:1fr;
        align-items:start;
    }

    .cc-areas-hub-hero__actions,
    .cc-areas-hub-hero__actions .btn{
        width:100%;
    }

    .cc-areas-hub-featured__grid,
    .cc-areas-hub-reassurance__grid{
        grid-template-columns:1fr;
    }

    .cc-areas-hub-all{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 520px){
    .cc-areas-hub-all{
        grid-template-columns:1fr;
    }

    .cc-areas-hub-feature-card{
        min-height:96px;
        padding:18px;
    }
}


/* =========================================================
   CraftCore v0.9.1 — Areas hub polish
   ========================================================= */
.cc-areas-hub-map{
    padding:clamp(74px,8vw,112px) 0;
    background:#071522;
    color:#fff;
    overflow:hidden;
}
.cc-areas-hub-map__layout{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);
    gap:clamp(38px,7vw,90px);
    align-items:center;
}
.cc-areas-hub-map__content h2{
    margin:12px 0 18px;
    color:#fff;
    font-size:clamp(34px,4vw,54px);
    line-height:1.06;
    letter-spacing:-.035em;
}
.cc-areas-hub-map__content p{
    max-width:580px;
    margin:0 0 26px;
    color:rgba(255,255,255,.7);
    font-size:17px;
    line-height:1.75;
}
.cc-areas-hub-map__visual{
    position:relative;
    min-height:430px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:26px;
    background:
        radial-gradient(circle at 50% 46%,rgba(0,204,255,.16),transparent 42%),
        linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
        rgba(255,255,255,.025);
    background-size:auto,42px 42px,42px 42px,auto;
    box-shadow:inset 0 0 80px rgba(0,204,255,.06);
}
.cc-areas-hub-map__shape{
    position:absolute;
    inset:13% 14% 12%;
    border:1px dashed rgba(0,204,255,.55);
    border-radius:44% 56% 48% 52% / 36% 43% 57% 64%;
    box-shadow:0 0 55px rgba(0,204,255,.11);
    transform:rotate(-5deg);
}
.cc-areas-hub-map__pin{
    position:absolute;
    display:flex;
    align-items:center;
    gap:8px;
    transform:translate(-50%,-50%);
    z-index:2;
}
.cc-areas-hub-map__pin i{
    width:13px;
    height:13px;
    border:3px solid #fff;
    border-radius:50%;
    background:#00ccff;
    box-shadow:0 0 0 7px rgba(0,204,255,.16),0 0 22px rgba(0,204,255,.75);
}
.cc-areas-hub-map__pin b{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:9px;
    background:rgba(2,12,21,.86);
    color:#fff;
    font-size:12px;
    white-space:nowrap;
}
.cc-areas-hub-feature-card{
    min-height:136px;
    padding:26px;
}
.cc-areas-hub-feature-card__content em{
    color:#718093;
    font-size:12px;
    font-style:normal;
}
.cc-areas-hub-search-card{
    max-width:980px;
    margin:0 auto 38px;
    padding:clamp(28px,4vw,46px);
    border:1px solid #dce6ee;
    border-radius:24px;
    background:#f8fbfd;
    box-shadow:0 18px 48px rgba(15,38,61,.08);
}
.cc-areas-hub-search-card .cc-section-heading--center{
    margin-bottom:28px;
}
.cc-areas-hub-search{
    margin-bottom:0;
}
.cc-areas-hub-all{
    gap:16px;
}
.cc-areas-hub-area-card{
    min-height:72px;
    padding:18px 20px;
    font-size:15px;
}
.cc-areas-hub-reassurance{
    padding:clamp(76px,8vw,108px) 0;
}
.cc-areas-hub-reassurance__grid{
    max-width:1100px;
    margin:0 auto;
}
.cc-areas-hub-reassurance article{
    min-height:220px;
    padding:34px;
}
.cc-areas-hub-reassurance__icon{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border:1px solid rgba(0,204,255,.3);
    border-radius:16px;
    background:rgba(0,204,255,.08);
}
.cc-areas-hub-faq__layout{
    align-items:center;
}
.cc-areas-hub-faq__intro{
    position:static;
}
.cc-areas-hub-faq{
    padding-top:clamp(72px,8vw,104px);
    padding-bottom:clamp(72px,8vw,104px);
}
@media (max-width:980px){
    .cc-areas-hub-map__layout{
        grid-template-columns:1fr;
    }
}
@media (max-width:760px){
    .cc-areas-hub-map__visual{
        min-height:360px;
    }
    .cc-areas-hub-feature-card{
        min-height:118px;
    }
}


/* =========================================================
   CraftCore v0.9.2 — final Areas hub composition fixes
   ========================================================= */

/* Light-section heading contrast */
.cc-areas-hub-featured .cc-eyebrow,
.cc-areas-hub-directory .cc-eyebrow,
.cc-areas-hub-faq .cc-eyebrow{
    color:#00a9d4 !important;
}

.cc-areas-hub-featured h2,
.cc-areas-hub-directory h2,
.cc-areas-hub-faq h2{
    color:#081827 !important;
    opacity:1 !important;
    text-shadow:none !important;
}

.cc-areas-hub-featured p,
.cc-areas-hub-directory p,
.cc-areas-hub-faq p{
    color:#657487;
}

/* Tighter section rhythm */
.cc-areas-hub-featured,
.cc-areas-hub-directory,
.cc-areas-hub-faq{
    padding-top:72px;
    padding-bottom:72px;
}

.cc-areas-hub-map{
    padding-top:78px;
    padding-bottom:78px;
}

.cc-areas-hub-map__visual{
    min-height:470px;
}

/* Featured cards */
.cc-areas-hub-feature-card{
    min-height:126px;
    padding:24px;
}

.cc-areas-hub-feature-card__content em{
    display:block;
    margin-top:3px;
    color:#6f8091;
    font-size:11px;
    line-height:1.4;
}

/* Compact directory heading — no oversized search card */
.cc-areas-hub-directory__heading{
    max-width:760px;
    margin:0 auto 34px;
    text-align:center;
}

.cc-areas-hub-directory__heading h2{
    margin:10px 0 12px;
    font-size:clamp(34px,4vw,52px);
    line-height:1.08;
    letter-spacing:-.035em;
}

.cc-areas-hub-directory__heading p{
    margin:0;
    font-size:17px;
}

.cc-areas-hub-all{
    width:100%;
    max-width:none;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.cc-areas-hub-area-card{
    min-height:70px;
    padding:18px 20px;
    font-size:15px;
}

/* Why Proline Exterior Cleaning alignment */
.cc-areas-hub-reassurance .cc-section-heading--center{
    max-width:760px;
    margin:0 auto 38px;
    text-align:center;
}

.cc-areas-hub-reassurance .cc-section-heading--center h2{
    max-width:none;
    margin-left:auto;
    margin-right:auto;
}

.cc-areas-hub-reassurance__grid{
    gap:20px;
}

.cc-areas-hub-reassurance article{
    min-height:210px;
}

/* FAQ: reuse homepage visual language and restore contrast */
.cc-areas-hub-faq__layout{
    grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
    gap:56px;
    align-items:start;
}

.cc-areas-hub-faq__intro{
    padding-top:8px;
}

.cc-areas-hub-faq__intro h2{
    margin:12px 0 16px;
}

.cc-areas-hub-faq .cc-faq-item{
    border:1px solid #dce6ee;
    background:#fff;
    box-shadow:0 10px 28px rgba(15,38,61,.06);
}

.cc-areas-hub-faq .cc-faq-item summary{
    color:#102334 !important;
    font-weight:800;
}

.cc-areas-hub-faq .cc-faq-item div,
.cc-areas-hub-faq .cc-faq-item div p{
    color:#657487 !important;
}

/* Remove old search UI if any markup survives cache */
.cc-areas-hub-search-card,
.cc-areas-hub-search{
    display:none !important;
}

@media (max-width:980px){
    .cc-areas-hub-all{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .cc-areas-hub-faq__layout{
        grid-template-columns:1fr;
        gap:30px;
    }
}

@media (max-width:760px){
    .cc-areas-hub-featured,
    .cc-areas-hub-directory,
    .cc-areas-hub-faq{
        padding-top:58px;
        padding-bottom:58px;
    }

    .cc-areas-hub-map__visual{
        min-height:390px;
    }

    .cc-areas-hub-all{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:520px){
    .cc-areas-hub-all{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   CraftCore v0.9.3 — finish Areas hub sections
   ========================================================= */

/* WHY CHOOSE PROLINE — centred and compact */
.cc-areas-hub-reassurance{
    padding:88px 0 96px;
}

.cc-areas-hub-reassurance .cc-section-heading--center{
    max-width:780px;
    margin:0 auto 42px;
    text-align:center;
}

.cc-areas-hub-reassurance .cc-eyebrow{
    display:inline-block;
    margin-bottom:10px;
    color:#00ccff !important;
}

.cc-areas-hub-reassurance .cc-section-heading--center h2{
    max-width:760px !important;
    margin:0 auto 16px !important;
    color:#fff !important;
    font-size:clamp(40px,5vw,64px) !important;
    line-height:1.03 !important;
    letter-spacing:-.045em !important;
    text-align:center !important;
}

.cc-areas-hub-reassurance .cc-section-heading--center p{
    max-width:650px;
    margin:0 auto;
    color:rgba(255,255,255,.72) !important;
    font-size:18px;
    line-height:1.65;
    text-align:center;
}

.cc-areas-hub-reassurance__grid{
    max-width:1180px;
    margin:0 auto;
    gap:22px;
}

.cc-areas-hub-reassurance article{
    min-height:230px;
    padding:32px;
}

.cc-areas-hub-reassurance h3{
    font-size:24px;
    line-height:1.2;
}

/* FAQ — match homepage component and fix button visibility */
.cc-areas-hub-faq{
    padding:84px 0;
}

.cc-areas-hub-faq__layout{
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
    gap:64px;
    align-items:start;
}

.cc-areas-hub-faq__intro .cc-eyebrow{
    color:#00a9d4 !important;
}

.cc-areas-hub-faq__intro h2{
    max-width:520px;
    margin:10px 0 18px;
    color:#071827 !important;
    font-size:clamp(42px,5vw,66px) !important;
    line-height:1.03;
    letter-spacing:-.045em;
}

.cc-areas-hub-faq__intro p{
    max-width:520px;
    margin:0 0 26px;
    color:#657487 !important;
    font-size:18px;
    line-height:1.65;
}

.cc-areas-hub-faq__intro .btn{
    border-color:#00a9d4 !important;
    color:#007d9f !important;
    background:#fff !important;
}

.cc-areas-hub-faq__intro .btn:hover{
    color:#071827 !important;
    background:#00ccff !important;
}

.cc-areas-hub-faq .cc-faq-list{
    display:grid;
    gap:12px;
}

.cc-areas-hub-faq .cc-faq-item{
    overflow:hidden;
    border:1px solid #dce6ee !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 10px 28px rgba(15,38,61,.06) !important;
}

.cc-areas-hub-faq .cc-faq-item summary{
    position:relative;
    min-height:78px;
    padding:24px 58px 24px 28px !important;
    color:#102334 !important;
    font-size:20px;
    font-weight:800;
    cursor:pointer;
    list-style:none;
}

.cc-areas-hub-faq .cc-faq-item summary::-webkit-details-marker{
    display:none;
}

.cc-areas-hub-faq .cc-faq-item summary::after{
    content:"+";
    position:absolute;
    top:50%;
    right:24px;
    transform:translateY(-50%);
    color:#00a9d4;
    font-size:28px;
    font-weight:600;
}

.cc-areas-hub-faq .cc-faq-item[open] summary::after{
    content:"−";
}

.cc-areas-hub-faq .cc-faq-item div{
    padding:0 28px 26px !important;
}

.cc-areas-hub-faq .cc-faq-item div p{
    margin:0;
    color:#657487 !important;
    font-size:17px;
    line-height:1.7;
}

/* QUICK QUOTE — restore two-column layout and compact field sizes */
.cc-areas-hub-quote{
    padding:76px 0 !important;
    background:
        radial-gradient(circle at 12% 18%,rgba(0,204,255,.12),transparent 28%),
        linear-gradient(145deg,#09131c,#101418) !important;
}

.cc-areas-hub-quote .cc-quick-quote-v087__layout{
    display:grid !important;
    grid-template-columns:minmax(0,.85fr) minmax(460px,1.15fr) !important;
    gap:64px !important;
    align-items:center !important;
}

.cc-areas-hub-quote .cc-quick-quote-v087__content h2{
    margin:10px 0 18px;
    color:#fff !important;
    font-size:clamp(38px,4vw,56px);
    line-height:1.06;
    letter-spacing:-.04em;
}

.cc-areas-hub-quote .cc-quick-quote-v087__content p{
    max-width:540px;
    color:rgba(255,255,255,.74) !important;
    font-size:18px;
    line-height:1.7;
}

.cc-areas-hub-quote__benefits{
    display:flex;
    flex-wrap:wrap;
    gap:12px 24px;
    margin:26px 0 0 !important;
    padding:0 !important;
    list-style:none !important;
}

.cc-areas-hub-quote__benefits li{
    margin:0 !important;
    color:#fff !important;
    font-weight:700;
}

.cc-areas-hub-quote__benefits li::before{
    content:"✓";
    margin-right:8px;
    color:#00ccff;
}

.cc-areas-hub-quote .cc-quick-quote-v087__form{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:30px !important;
    border:1px solid rgba(255,255,255,.1) !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.035) !important;
}

.cc-areas-hub-quote .cc-quick-quote-v087__form label{
    display:grid !important;
    gap:8px !important;
    color:#fff !important;
    font-weight:700;
}

.cc-areas-hub-quote .cc-quick-quote-v087__form input{
    min-height:54px !important;
    padding:0 16px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:12px !important;
    background:#081523 !important;
    color:#fff !important;
}

.cc-areas-hub-quote .cc-quick-quote-v087__actions{
    margin-top:4px;
}

.cc-areas-hub-quote .cc-quick-quote-v087__note{
    margin:2px 0 0 !important;
    text-align:center;
    color:rgba(255,255,255,.52) !important;
    font-size:13px;
}

/* Responsive */
@media (max-width: 980px){
    .cc-areas-hub-faq__layout{
        grid-template-columns:1fr;
        gap:34px;
    }

    .cc-areas-hub-quote .cc-quick-quote-v087__layout{
        grid-template-columns:1fr !important;
        gap:34px !important;
    }
}

@media (max-width: 760px){
    .cc-areas-hub-reassurance{
        padding:68px 0 74px;
    }

    .cc-areas-hub-reassurance__grid{
        grid-template-columns:1fr;
    }

    .cc-areas-hub-faq{
        padding:64px 0;
    }

    .cc-areas-hub-faq .cc-faq-item summary{
        min-height:70px;
        padding:20px 52px 20px 20px !important;
        font-size:18px;
    }

    .cc-areas-hub-faq .cc-faq-item div{
        padding:0 20px 22px !important;
    }

    .cc-areas-hub-quote{
        padding:60px 0 !important;
    }

    .cc-areas-hub-quote .cc-quick-quote-v087__form{
        padding:20px !important;
    }
}


/* =========================================================
   CraftCore v0.9.4 — force Why Choose Proline Exterior Cleaning alignment
   ========================================================= */
.cc-areas-hub-reassurance .cc-section-heading,
.cc-areas-hub-reassurance .cc-section-heading--center{
    display:block !important;
    width:100% !important;
    max-width:820px !important;
    margin:0 auto 42px !important;
    text-align:center !important;
}

.cc-areas-hub-reassurance .cc-section-heading > *,
.cc-areas-hub-reassurance .cc-section-heading--center > *{
    width:auto !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}

.cc-areas-hub-reassurance .cc-eyebrow{
    display:inline-block !important;
    margin:0 auto 14px !important;
}

.cc-areas-hub-reassurance .cc-section-heading h2,
.cc-areas-hub-reassurance .cc-section-heading--center h2{
    max-width:760px !important;
    margin:0 auto 18px !important;
    text-align:center !important;
    white-space:normal !important;
}

.cc-areas-hub-reassurance .cc-section-heading p,
.cc-areas-hub-reassurance .cc-section-heading--center p{
    max-width:650px !important;
    margin:0 auto !important;
    text-align:center !important;
}

.cc-areas-hub-reassurance__grid{
    margin-top:0 !important;
}


/* =========================================================
   CraftCore v1.0.0 — Exterior Cleaning Crewe hub
   ========================================================= */
.cc-location-hero{
    position:relative;
    min-height:680px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#06111d;
    color:#fff;
}
.cc-location-hero__media,
.cc-location-hero__shade{
    position:absolute;
    inset:0;
}
.cc-location-hero__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.cc-location-hero__shade{
    background:linear-gradient(90deg,rgba(2,10,18,.96) 0%,rgba(2,10,18,.78) 48%,rgba(2,10,18,.2) 100%);
}
.cc-location-hero__inner{
    position:relative;
    z-index:2;
    max-width:760px;
}
.cc-location-hero h1{
    margin:14px 0 22px;
    max-width:760px;
    color:#fff;
    font-size:clamp(48px,6vw,82px);
    line-height:1;
    letter-spacing:-.05em;
}
.cc-location-hero p{
    max-width:700px;
    color:rgba(255,255,255,.78);
    font-size:20px;
    line-height:1.7;
}
.cc-location-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:30px;
}
.cc-location-hero__trust{
    display:flex;
    flex-wrap:wrap;
    gap:14px 28px;
    margin-top:26px;
    color:rgba(255,255,255,.8);
    font-weight:700;
}
.cc-location-intro,
.cc-location-services,
.cc-location-work,
.cc-location-nearby,
.cc-location-faq{
    padding:clamp(76px,8vw,118px) 0;
}
.cc-location-intro{
    background:#f6f9fc;
}
.cc-location-intro__layout{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(40px,8vw,100px);
    align-items:start;
}
.cc-location-intro h2{
    margin:12px 0 0;
    color:#081827;
    font-size:clamp(38px,4.5vw,62px);
    line-height:1.06;
    letter-spacing:-.04em;
}
.cc-location-intro__copy p{
    margin:0 0 18px;
    color:#5f7082;
    font-size:18px;
    line-height:1.8;
}
.cc-location-services{
    background:#fff;
}
.cc-location-services__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.cc-location-service-card{
    position:relative;
    min-height:360px;
    overflow:hidden;
    border-radius:20px;
    color:#fff;
    text-decoration:none;
    box-shadow:0 16px 36px rgba(15,38,61,.12);
}
.cc-location-service-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}
.cc-location-service-card__shade{
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(2,10,18,.96),rgba(2,10,18,.05) 72%);
}
.cc-location-service-card__content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:24px;
}
.cc-location-service-card__content strong{font-size:23px}
.cc-location-service-card__content small{color:rgba(255,255,255,.72);line-height:1.55}
.cc-location-service-card__content em{color:#00ccff;font-style:normal;font-weight:800}
.cc-location-service-card:hover img{transform:scale(1.05)}
.cc-location-why{
    padding:clamp(82px,8vw,116px) 0;
    background:linear-gradient(145deg,#06111d,#0a2133);
    color:#fff;
}
.cc-location-why__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}
.cc-location-why article{
    padding:32px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    background:rgba(255,255,255,.045);
}
.cc-location-why article span{color:#00ccff;font-weight:900}
.cc-location-why h3{margin:18px 0 10px;color:#fff;font-size:24px}
.cc-location-why p{margin:0;color:rgba(255,255,255,.7);line-height:1.7}
.cc-location-work{background:#071522;color:#fff}
.cc-location-work .cc-section-heading h2{color:#fff}
.cc-location-work .cc-section-heading p{color:rgba(255,255,255,.68)}
.cc-location-work__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.cc-location-work .cc-project-card{min-height:300px}
.cc-location-process{margin:0}
.cc-location-nearby{background:#f6f9fc}
.cc-location-nearby__grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}
.cc-location-nearby__grid a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:66px;
    padding:16px 18px;
    border:1px solid #dde6ee;
    border-radius:14px;
    background:#fff;
    color:#122536;
    font-weight:800;
    text-decoration:none;
}
.cc-location-nearby__grid a:hover{
    border-color:#00ccff;
    background:#071827;
    color:#fff;
}
.cc-location-faq{background:#fff}
.cc-location-faq__layout{
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
    gap:64px;
    align-items:start;
}
.cc-location-faq h2{
    margin:10px 0 16px;
    color:#081827;
    font-size:clamp(40px,4.5vw,62px);
    line-height:1.04;
}
.cc-location-faq p{color:#657487;line-height:1.7}
.cc-location-quote{
    margin:0;
    padding:76px 0 !important;
    background:linear-gradient(145deg,#09131c,#101418) !important;
}
@media (max-width:980px){
    .cc-location-services__grid,
    .cc-location-work__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cc-location-nearby__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .cc-location-faq__layout,
    .cc-location-intro__layout{grid-template-columns:1fr}
}
@media (max-width:680px){
    .cc-location-hero{min-height:620px}
    .cc-location-hero__actions .btn{width:100%}
    .cc-location-services__grid,
    .cc-location-work__grid,
    .cc-location-why__grid{grid-template-columns:1fr}
    .cc-location-nearby__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
    .cc-location-nearby__grid{grid-template-columns:1fr}
}


/* =========================================================
   CraftCore v1.0.1 — Crewe hub premium polish
   ========================================================= */
.cc-location-hero{
    min-height:760px;
}
.cc-location-hero__layout{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.65fr);
    gap:clamp(36px,6vw,76px);
    align-items:center;
    width:100%;
}
.cc-location-hero__inner{
    max-width:760px;
}
.cc-location-hero-card{
    padding:28px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:24px;
    background:rgba(8,21,35,.88);
    box-shadow:0 24px 60px rgba(0,0,0,.34);
    backdrop-filter:blur(14px);
}
.cc-location-hero-card__eyebrow{
    display:block;
    margin-bottom:10px;
    color:#00ccff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.cc-location-hero-card h2{
    margin:0 0 10px;
    color:#fff;
    font-size:clamp(28px,3vw,38px);
    line-height:1.08;
    letter-spacing:-.035em;
}
.cc-location-hero-card > p{
    margin:0 0 22px;
    color:rgba(255,255,255,.68);
    line-height:1.6;
}
.cc-location-hero-card__form{
    display:grid;
    gap:12px;
}
.cc-location-hero-card__form label{
    display:grid;
    gap:7px;
}
.cc-location-hero-card__form label > span{
    color:rgba(255,255,255,.78);
    font-size:13px;
    font-weight:800;
}
.cc-location-hero-card__form input,
.cc-location-hero-card__form select{
    width:100%;
    min-height:50px;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:12px;
    background:#0a1928;
    color:#fff;
    font:inherit;
    outline:none;
}
.cc-location-hero-card__form input:focus,
.cc-location-hero-card__form select:focus{
    border-color:#00ccff;
    box-shadow:0 0 0 4px rgba(0,204,255,.1);
}
.cc-location-hero-card__form .btn{
    width:100%;
    margin-top:4px;
}
.cc-location-hero-card small{
    display:block;
    margin-top:12px;
    color:rgba(255,255,255,.5);
    font-size:12px;
    line-height:1.5;
}
.cc-location-services .cc-eyebrow,
.cc-location-intro .cc-eyebrow,
.cc-location-nearby .cc-eyebrow,
.cc-location-faq .cc-eyebrow{
    color:#00a9d4 !important;
}
.cc-location-services h2,
.cc-location-intro h2,
.cc-location-nearby h2,
.cc-location-faq h2{
    color:#081827 !important;
    opacity:1 !important;
    text-shadow:none !important;
}
.cc-location-services .cc-section-heading > p,
.cc-location-work .cc-section-heading > p{
    align-self:end;
}
.cc-location-heading-lock{
    display:block !important;
    width:100% !important;
    max-width:820px !important;
    margin:0 auto 42px !important;
    text-align:center !important;
}
.cc-location-heading-lock > *{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}
.cc-location-heading-lock h2{
    max-width:760px !important;
}
.cc-location-heading-lock p{
    max-width:650px !important;
}
.cc-location-intro,
.cc-location-services,
.cc-location-work,
.cc-location-nearby,
.cc-location-faq{
    padding-top:84px;
    padding-bottom:84px;
}
.cc-location-services__grid{
    gap:20px;
}
.cc-location-service-card{
    min-height:390px;
}
.cc-location-why .cc-section-heading--center{
    display:block !important;
    max-width:820px !important;
    margin:0 auto 42px !important;
    text-align:center !important;
}
.cc-location-why .cc-section-heading--center > *{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}
.cc-location-why .cc-section-heading--center h2{
    max-width:760px !important;
    color:#fff !important;
}
.cc-location-why .cc-section-heading--center p{
    max-width:650px !important;
    color:rgba(255,255,255,.7) !important;
}
.cc-location-work .cc-section-heading h2{
    color:#fff !important;
}
.cc-location-work .cc-section-heading .cc-eyebrow{
    color:#00ccff !important;
}
.cc-location-faq__layout{
    align-items:start;
}
.cc-location-faq .cc-faq-item{
    overflow:hidden;
    border:1px solid #dce6ee !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 10px 28px rgba(15,38,61,.06) !important;
}
.cc-location-faq .cc-faq-item summary{
    position:relative;
    min-height:76px;
    padding:24px 58px 24px 26px !important;
    color:#102334 !important;
    font-size:19px;
    font-weight:800;
    list-style:none;
    cursor:pointer;
}
.cc-location-faq .cc-faq-item summary::-webkit-details-marker{
    display:none;
}
.cc-location-faq .cc-faq-item summary::after{
    content:"+";
    position:absolute;
    right:24px;
    top:50%;
    transform:translateY(-50%);
    color:#00a9d4;
    font-size:28px;
}
.cc-location-faq .cc-faq-item[open] summary::after{
    content:"−";
}
.cc-location-faq .cc-faq-item div{
    padding:0 26px 24px !important;
}
.cc-location-faq .cc-faq-item div p{
    margin:0;
    color:#657487 !important;
}
.cc-location-nearby__grid{
    max-width:1100px;
    margin:0 auto;
}
.cc-location-quote .cc-quick-quote-v087__layout{
    display:grid !important;
    grid-template-columns:minmax(0,.85fr) minmax(460px,1.15fr) !important;
    gap:64px !important;
    align-items:center !important;
}
.cc-location-quote .cc-quick-quote-v087__form{
    padding:30px !important;
    border:1px solid rgba(255,255,255,.1) !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.035) !important;
}
.cc-location-quote .cc-quick-quote-v087__form input{
    min-height:54px !important;
}
.cc-location-quote .cc-quick-quote-v087__content h2{
    color:#fff !important;
}
.cc-location-quote .cc-quick-quote-v087__content p{
    color:rgba(255,255,255,.72) !important;
}
@media (max-width:1100px){
    .cc-location-hero__layout{
        grid-template-columns:1fr;
    }
    .cc-location-hero-card{
        max-width:720px;
    }
}
@media (max-width:980px){
    .cc-location-quote .cc-quick-quote-v087__layout{
        grid-template-columns:1fr !important;
        gap:34px !important;
    }
}
@media (max-width:680px){
    .cc-location-hero{
        min-height:auto;
        padding:120px 0 70px;
    }
    .cc-location-hero-card{
        padding:22px;
    }
}


/* =========================================================
   CraftCore v1.0.2 — Crewe header and hero alignment
   ========================================================= */

/* Keep the site header and Crewe hero on the same content width */
.site-header .container,
.cc-location-hero .container,
.cc-location-hero__layout{
    width:min(100% - 40px, 1240px) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Prevent the hero grid from adding a second container width */
.cc-location-hero__layout{
    padding-left:0 !important;
    padding-right:0 !important;
}

/* Match homepage header spacing */
.site-header__inner,
.header-inner,
.cc-header__inner{
    width:100%;
    max-width:1240px;
    margin:0 auto;
}

/* Refined hero composition */
.cc-location-hero{
    min-height:790px;
}

.cc-location-hero__shade{
    background:
        linear-gradient(90deg,rgba(2,10,18,.97) 0%,rgba(2,10,18,.84) 46%,rgba(2,10,18,.35) 100%),
        linear-gradient(to top,rgba(2,10,18,.35),transparent 44%);
}

.cc-location-hero__media img{
    transform:scale(1.015);
    transition:transform 8s ease;
}

.cc-location-hero:hover .cc-location-hero__media img{
    transform:scale(1.045);
}

.cc-location-hero-card{
    padding:32px;
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.cc-location-hero-card:hover{
    transform:translateY(-4px);
    border-color:rgba(0,204,255,.32);
    box-shadow:0 30px 70px rgba(0,0,0,.42);
}

/* Tablet and mobile widths */
@media (max-width: 1280px){
    .site-header .container,
    .cc-location-hero .container,
    .cc-location-hero__layout{
        width:min(100% - 48px, 1180px) !important;
    }
}

@media (max-width: 760px){
    .site-header .container,
    .cc-location-hero .container,
    .cc-location-hero__layout{
        width:min(100% - 28px, 1240px) !important;
    }

    .cc-location-hero{
        min-height:auto;
        padding-top:118px;
        padding-bottom:64px;
    }

    .cc-location-hero-card{
        padding:22px;
    }
}


/* =========================================================
   CraftCore v1.0.3 — global alignment system
   ========================================================= */

/* One shared content width everywhere */
:root{
    --cc-content-width:1240px;
    --cc-gutter:40px;
}

.container,
.site-header .container,
.site-footer .container,
.cc-location-hero .container,
.cc-location-hero__layout,
.cc-areas-hub-hero .container,
.cc-areas-hub-map .container,
.cc-areas-hub-featured .container,
.cc-areas-hub-directory .container,
.cc-areas-hub-reassurance .container,
.cc-areas-hub-faq .container,
.cc-quick-quote-v087 .container{
    width:min(calc(100% - var(--cc-gutter)), var(--cc-content-width)) !important;
    max-width:var(--cc-content-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

/* Header rows align to the same grid */
.site-header__inner,
.header-inner,
.cc-header__inner,
.topbar .container,
.site-topbar .container{
    width:min(calc(100% - var(--cc-gutter)), var(--cc-content-width)) !important;
    max-width:var(--cc-content-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Prevent nested containers from shrinking content */
.container .container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}

/* Shared section heading geometry */
.cc-section-heading--split{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(320px,.62fr) !important;
    gap:56px !important;
    align-items:end !important;
}

.cc-section-heading--split > div{
    max-width:760px;
}

.cc-section-heading--split > p{
    max-width:470px;
    margin-left:auto !important;
}

.cc-section-heading--center{
    max-width:820px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}

.cc-section-heading--center > *{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}

/* Hero exact alignment */
.cc-location-hero__layout{
    grid-template-columns:minmax(0,1fr) minmax(390px,510px) !important;
    gap:64px !important;
    align-items:center !important;
}

.cc-location-hero__inner{
    max-width:720px !important;
}

.cc-location-hero-card{
    width:100%;
    max-width:510px;
    justify-self:end;
}

/* Keep hero copy and CTA edges aligned */
.cc-location-hero h1,
.cc-location-hero p,
.cc-location-hero__actions,
.cc-location-hero__trust{
    margin-left:0 !important;
    margin-right:0 !important;
}

/* Grid alignment consistency */
.cc-location-services__grid,
.cc-location-work__grid,
.cc-location-why__grid,
.cc-location-nearby__grid,
.cc-areas-hub-featured__grid,
.cc-areas-hub-all,
.cc-areas-hub-reassurance__grid{
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Footer columns align to same master grid */
.site-footer__grid,
.footer-grid,
.cc-footer__grid{
    width:100%;
}

/* Responsive gutters */
@media (max-width:1280px){
    :root{
        --cc-gutter:48px;
    }

    .cc-location-hero__layout{
        grid-template-columns:minmax(0,1fr) minmax(360px,460px) !important;
        gap:44px !important;
    }
}

@media (max-width:1100px){
    .cc-location-hero__layout{
        grid-template-columns:1fr !important;
    }

    .cc-location-hero-card{
        justify-self:start;
        max-width:720px;
    }

    .cc-section-heading--split{
        grid-template-columns:1fr !important;
        gap:24px !important;
        align-items:start !important;
    }

    .cc-section-heading--split > p{
        max-width:700px;
        margin-left:0 !important;
    }
}

@media (max-width:760px){
    :root{
        --cc-gutter:28px;
    }
}


/* =========================================================
   CraftCore v1.0.4 — fix Crewe hero after global alignment
   ========================================================= */

/* Keep hero content below the header actions and stop the H1 wrapping too aggressively */
.cc-location-hero{
    padding-top:96px !important;
}

.cc-location-hero__layout{
    grid-template-columns:minmax(0,1.15fr) minmax(420px,500px) !important;
    gap:56px !important;
    align-items:center !important;
}

.cc-location-hero__inner{
    max-width:800px !important;
    min-width:0 !important;
}

.cc-location-hero h1{
    max-width:800px !important;
    font-size:clamp(54px,5.2vw,78px) !important;
    line-height:.98 !important;
    letter-spacing:-.05em !important;
    text-wrap:balance;
}

.cc-location-hero p{
    max-width:760px !important;
}

/* Pull quote card fully into the hero grid and away from the header buttons */
.cc-location-hero-card{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    margin-top:36px !important;
    max-width:500px !important;
    justify-self:end !important;
    z-index:3 !important;
}

/* Ensure header buttons stay in the header, not visually on top of the card */
.site-header{
    position:relative;
    z-index:20;
}

.cc-location-hero{
    position:relative;
    z-index:1;
}

/* Better tablet behaviour */
@media (max-width:1200px){
    .cc-location-hero__layout{
        grid-template-columns:minmax(0,1fr) minmax(380px,440px) !important;
        gap:36px !important;
    }

    .cc-location-hero h1{
        font-size:clamp(50px,5.4vw,68px) !important;
    }
}

@media (max-width:1050px){
    .cc-location-hero__layout{
        grid-template-columns:1fr !important;
    }

    .cc-location-hero-card{
        justify-self:start !important;
        max-width:720px !important;
        margin-top:18px !important;
    }
}

@media (max-width:680px){
    .cc-location-hero{
        padding-top:118px !important;
    }

    .cc-location-hero h1{
        font-size:clamp(44px,12vw,58px) !important;
    }
}


/* =========================================================
   CraftCore v2.0.0 — Global design system foundation
   ========================================================= */
:root{
    --cc-content-width:1240px;
    --cc-gutter:40px;
    --cc-space-1:8px;
    --cc-space-2:12px;
    --cc-space-3:16px;
    --cc-space-4:24px;
    --cc-space-5:32px;
    --cc-space-6:48px;
    --cc-space-7:64px;
    --cc-space-8:88px;
    --cc-space-9:112px;
    --cc-radius-sm:12px;
    --cc-radius-md:18px;
    --cc-radius-lg:24px;
    --cc-radius-xl:32px;
    --cc-shadow-sm:0 10px 28px rgba(15,38,61,.06);
    --cc-shadow-md:0 18px 42px rgba(15,38,61,.10);
    --cc-shadow-lg:0 28px 70px rgba(0,0,0,.24);
    --cc-text:#0b1c2b;
    --cc-muted:#657487;
    --cc-surface:#ffffff;
    --cc-surface-soft:#f6f9fc;
    --cc-dark:#071522;
    --cc-dark-2:#0a2133;
    --cc-accent:#00ccff;
    --cc-accent-dark:#008caf;
    --cc-transition:220ms ease;
}

.container{
    width:min(calc(100% - var(--cc-gutter)), var(--cc-content-width)) !important;
    max-width:var(--cc-content-width) !important;
    margin-inline:auto !important;
    padding-inline:0 !important;
}

h1,h2,h3,h4{
    margin-top:0;
    text-wrap:balance;
}

h1{
    font-size:clamp(48px,6vw,82px);
    line-height:.98;
    letter-spacing:-.05em;
}

h2{
    font-size:clamp(38px,4.6vw,62px);
    line-height:1.04;
    letter-spacing:-.04em;
}

h3{
    font-size:clamp(22px,2.4vw,28px);
    line-height:1.18;
    letter-spacing:-.02em;
}

p{line-height:1.72;}

.cc-eyebrow,
.eyebrow{
    display:inline-block;
    color:var(--cc-accent-dark);
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

section{scroll-margin-top:110px;}

.cc-section-heading--split,
.cc-section-heading--center{
    margin-bottom:42px;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 22px;
    border-radius:var(--cc-radius-sm);
    font-weight:800;
    line-height:1;
    text-decoration:none;
    transition:
        transform var(--cc-transition),
        box-shadow var(--cc-transition),
        background var(--cc-transition),
        border-color var(--cc-transition),
        color var(--cc-transition);
}

.btn:hover,
.btn:focus-visible{transform:translateY(-2px);}

.btn.primary{
    border:1px solid var(--cc-accent);
    background:var(--cc-accent);
    color:#071522;
    box-shadow:0 12px 28px rgba(0,204,255,.18);
}

.btn.primary:hover,
.btn.primary:focus-visible{
    background:#1fd5ff;
    box-shadow:0 16px 34px rgba(0,204,255,.26);
}

.btn.ghost{
    border:1px solid rgba(255,255,255,.28);
    background:transparent;
    color:#fff;
}

.btn.ghost:hover,
.btn.ghost:focus-visible{
    border-color:var(--cc-accent);
    color:var(--cc-accent);
}

.cc-card,
.cc-location-service-card,
.cc-areas-hub-feature-card,
.cc-faq-item,
.cc-review-card{
    border-radius:var(--cc-radius-md);
    transition:
        transform var(--cc-transition),
        border-color var(--cc-transition),
        box-shadow var(--cc-transition);
}

.cc-location-service-card:hover,
.cc-areas-hub-feature-card:hover,
.cc-faq-item:hover,
.cc-review-card:hover{
    transform:translateY(-3px);
}

input,select,textarea{font:inherit;}
input:focus,select:focus,textarea:focus{outline:none;}

.cc-quick-quote-v087__form input,
.cc-quick-quote-v087__form select,
.cc-location-hero-card__form input,
.cc-location-hero-card__form select{
    min-height:54px;
    border-radius:var(--cc-radius-sm);
}

.cc-section-heading--light h2,
.cc-section-heading--light h3{color:#fff !important;}

.cc-section-heading--light p{color:rgba(255,255,255,.70) !important;}

.cc-section-heading:not(.cc-section-heading--light) h2,
.cc-section-heading:not(.cc-section-heading--light) h3{color:var(--cc-text);}

.cc-section-heading:not(.cc-section-heading--light) p{color:var(--cc-muted);}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:3px solid rgba(0,204,255,.45);
    outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        animation:none !important;
        transition:none !important;
    }
}

@media (max-width:1280px){
}

@media (max-width:760px){
    :root{
        --cc-gutter:28px;
        --cc-space-8:72px;
        --cc-space-9:88px;
    }
    .btn{min-height:50px;}
}


/* =========================================================
   CraftCore v2.1.0 — Master Location Template
   ========================================================= */
.cc-location-hero__proof{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:18px;
    margin-top:26px;
}
.cc-location-hero__rating{
    display:grid;
    grid-template-columns:auto auto;
    align-items:center;
    gap:2px 10px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(8px);
}
.cc-location-hero__rating strong{
    grid-row:1 / span 2;
    color:#fff;
    font-size:28px;
    line-height:1;
}
.cc-location-hero__rating span{
    color:#f7c948;
    letter-spacing:.08em;
}
.cc-location-hero__rating small{
    color:rgba(255,255,255,.58);
}
.cc-location-hero__services{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.cc-location-hero__services span{
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    color:rgba(255,255,255,.78);
    font-size:12px;
    font-weight:800;
}
.cc-location-hero-card{
    position:relative;
    overflow:hidden;
}
.cc-location-hero-card::before{
    content:"";
    position:absolute;
    inset:-40% 45% auto -20%;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,204,255,.16),transparent 68%);
    pointer-events:none;
}
.cc-location-hero-card > *{
    position:relative;
    z-index:1;
}
.cc-location-service-card{
    isolation:isolate;
}
.cc-location-service-card::after{
    content:"";
    position:absolute;
    inset:0;
    border:1px solid rgba(255,255,255,.08);
    border-radius:inherit;
    pointer-events:none;
}
.cc-location-service-card__content{
    padding:26px;
}
.cc-location-service-card__icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-bottom:4px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    background:rgba(0,204,255,.12);
    color:#00ccff;
    font-size:18px;
}
.cc-location-service-card__content em{
    display:flex;
    align-items:center;
    gap:8px;
}
.cc-location-service-card__content em b{
    transition:transform var(--cc-transition);
}
.cc-location-service-card:hover .cc-location-service-card__content em b{
    transform:translateX(4px);
}
.cc-location-work__filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:-12px 0 28px;
}
.cc-location-work__filters button{
    min-height:42px;
    padding:0 16px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.04);
    color:rgba(255,255,255,.72);
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    transition:all var(--cc-transition);
}
.cc-location-work__filters button:hover,
.cc-location-work__filters button.is-active{
    border-color:#00ccff;
    background:#00ccff;
    color:#071522;
}
.cc-project-card[hidden]{
    display:none !important;
}
.cc-location-work .cc-project-card{
    border-radius:20px;
    overflow:hidden;
}
.cc-location-nearby__grid a{
    position:relative;
    overflow:hidden;
    box-shadow:var(--cc-shadow-sm);
}
.cc-location-nearby__grid a::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:#00ccff;
    transform:scaleY(0);
    transform-origin:bottom;
    transition:transform var(--cc-transition);
}
.cc-location-nearby__grid a:hover::before{
    transform:scaleY(1);
}
.cc-location-faq .cc-faq-item[open]{
    border-color:rgba(0,204,255,.42) !important;
    box-shadow:0 16px 38px rgba(15,38,61,.10) !important;
}
.cc-reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity 520ms ease,transform 520ms ease;
}
.cc-reveal.is-revealed{
    opacity:1;
    transform:none;
}
.cc-location-services__grid .cc-reveal:nth-child(2),
.cc-location-work__grid .cc-reveal:nth-child(2),
.cc-location-why__grid .cc-reveal:nth-child(2){
    transition-delay:70ms;
}
.cc-location-services__grid .cc-reveal:nth-child(3),
.cc-location-work__grid .cc-reveal:nth-child(3),
.cc-location-why__grid .cc-reveal:nth-child(3){
    transition-delay:140ms;
}
@media (max-width:680px){
    .cc-location-hero__proof{
        align-items:stretch;
    }
    .cc-location-hero__rating{
        width:100%;
    }
    .cc-location-work__filters{
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:4px;
    }
    .cc-location-work__filters button{
        flex:0 0 auto;
    }
}


/* =========================================================
   CraftCore v2.2.0 — Production master location template
   ========================================================= */
.cc-location-breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:22px;
    color:rgba(255,255,255,.55);
    font-size:13px;
    font-weight:700;
}
.cc-location-breadcrumbs a{
    color:rgba(255,255,255,.72);
    text-decoration:none;
}
.cc-location-breadcrumbs a:hover{
    color:#00ccff;
}

/* Premium live-review presentation on location pages */
.cc-location-work + .cc-reviews-v6,
.cc-location-work ~ .cc-reviews-v6{
    position:relative;
    overflow:hidden;
    background:#f5f8fb;
}
.cc-reviews-v6 .container{
    position:relative;
    z-index:1;
}
.cc-reviews-v6__rating{
    border-radius:22px !important;
    box-shadow:var(--cc-shadow-sm);
}
.cc-review-v6{
    border-radius:22px !important;
    box-shadow:var(--cc-shadow-sm) !important;
    transition:transform var(--cc-transition),box-shadow var(--cc-transition) !important;
}
.cc-review-v6:hover{
    transform:translateY(-4px);
    box-shadow:var(--cc-shadow-md) !important;
}
.cc-review-v6--featured{
    border-color:rgba(0,204,255,.36) !important;
}

/* Mid-page conversion block */
.cc-location-mid-cta{
    padding:54px 0;
    background:linear-gradient(135deg,#00bde9,#00d6ff);
}
.cc-location-mid-cta__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:38px;
    align-items:center;
}
.cc-location-mid-cta h2{
    max-width:760px;
    margin:8px 0 10px;
    color:#071522;
    font-size:clamp(30px,3.5vw,46px);
}
.cc-location-mid-cta p{
    max-width:720px;
    margin:0;
    color:rgba(7,21,34,.74);
    font-size:17px;
}
.cc-location-mid-cta .cc-eyebrow{
    color:#07566c;
}
.cc-location-mid-cta__actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.cc-location-mid-cta .btn.primary{
    border-color:#071522;
    background:#071522;
    color:#fff;
}
.cc-location-mid-cta .btn.ghost{
    border-color:rgba(7,21,34,.42);
    color:#071522;
}

/* Gallery viewer */
.cc-lightbox{
    z-index:99999;
}
.cc-lightbox figure{
    width:min(100%,1100px);
    margin:0;
}
.cc-lightbox figure img{
    width:100%;
    max-height:78vh;
    object-fit:contain;
}
.cc-lightbox__caption{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:16px 4px 0;
    color:#fff;
}
.cc-lightbox__caption strong{
    font-size:18px;
}
.cc-lightbox__caption span{
    color:rgba(255,255,255,.62);
}
.cc-lightbox__nav{
    position:absolute;
    top:50%;
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:50%;
    background:rgba(4,15,25,.72);
    color:#fff;
    font-size:34px;
    line-height:1;
    cursor:pointer;
    transform:translateY(-50%);
}
.cc-lightbox__nav--prev{left:24px}
.cc-lightbox__nav--next{right:24px}
.cc-lightbox__nav:hover{
    border-color:#00ccff;
    color:#00ccff;
}

/* Process finishing pass */
.cc-location-process .cc-process-v7__timeline{
    position:relative;
}
.cc-location-process .cc-process-step{
    height:100%;
}
.cc-location-process .cc-process-step__icon svg{
    width:28px;
    height:28px;
}

/* Nearby cards become deliberate navigation components */
.cc-location-nearby__grid a{
    min-height:76px;
    padding:19px 20px;
    border-radius:16px;
}
.cc-location-nearby__grid a span:last-child{
    color:#00a9d4;
    font-size:22px;
    transition:transform var(--cc-transition);
}
.cc-location-nearby__grid a:hover span:last-child{
    transform:translateX(4px);
}

/* Strong final CTA hierarchy */
.cc-location-quote .cc-quick-quote-v087__content h2{
    max-width:620px;
}
.cc-location-quote .cc-quick-quote-v087__form{
    box-shadow:0 24px 60px rgba(0,0,0,.24);
}

/* Consistent section separation */
.cc-location-intro,
.cc-location-services,
.cc-location-why,
.cc-location-work,
.cc-reviews-v6,
.cc-location-process,
.cc-location-nearby,
.cc-location-faq,
.cc-location-quote{
    position:relative;
}

@media (max-width:900px){
    .cc-location-mid-cta__inner{
        grid-template-columns:1fr;
    }
    .cc-location-mid-cta__actions{
        justify-content:flex-start;
    }
}

@media (max-width:680px){
    .cc-lightbox__nav{
        width:44px;
        height:44px;
    }
    .cc-lightbox__nav--prev{left:8px}
    .cc-lightbox__nav--next{right:8px}
    .cc-lightbox__caption{
        flex-direction:column;
        gap:4px;
    }
    .cc-location-mid-cta__actions,
    .cc-location-mid-cta__actions .btn{
        width:100%;
    }
}


/* =========================================================
   CraftCore v3.0.0 — final master location template
   ========================================================= */
.cc-page-progress{
    position:fixed;
    inset:0 0 auto;
    z-index:999999;
    height:3px;
    pointer-events:none;
}
.cc-page-progress span{
    display:block;
    width:100%;
    height:100%;
    background:linear-gradient(90deg,#00a8d4,#00ccff);
    transform:scaleX(0);
    transform-origin:left center;
    will-change:transform;
}

.cc-location-hero__media img{
    content-visibility:auto;
}

.cc-location-service-card img,
.cc-project-card img{
    aspect-ratio:4 / 3;
}

.cc-location-service-card,
.cc-project-card,
.cc-review-v6,
.cc-faq-item{
    contain:layout paint;
}

.cc-location-hero-card,
.cc-location-service-card,
.cc-project-card,
.cc-review-v6,
.cc-location-nearby__grid a,
.cc-faq-item{
    will-change:transform;
}

.cc-location-faq .cc-faq-item summary[aria-expanded="true"]{
    color:#081827 !important;
}

.cc-location-faq .cc-faq-item summary[aria-expanded="true"]::after{
    color:#008caf;
}

.cc-location-mid-cta__actions .btn,
.cc-location-quote .btn,
.cc-location-hero__actions .btn{
    min-width:180px;
}

@media (max-width:680px){
    .cc-page-progress{
        height:2px;
    }

    .cc-location-mid-cta__actions .btn,
    .cc-location-quote .btn,
    .cc-location-hero__actions .btn{
        width:100%;
        min-width:0;
    }
}


/* CraftCore v3.0.1 — visual Crewe intro section */
.cc-location-intro__layout--visual{
    grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr) !important;
    align-items:center !important;
    gap:clamp(44px,7vw,90px) !important;
}
.cc-location-intro__content{max-width:660px;}
.cc-location-intro__content h2{margin-bottom:24px;}
.cc-location-intro__copy p{margin-bottom:14px;}
.cc-location-intro__checks{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 20px;
    margin-top:26px;
}
.cc-location-intro__checks span{
    display:flex;
    align-items:center;
    gap:8px;
    color:#132737;
    font-weight:800;
}
.cc-location-intro__visual{
    position:relative;
    margin:0;
    overflow:hidden;
    min-height:520px;
    border-radius:26px;
    box-shadow:0 26px 70px rgba(15,38,61,.16);
}
.cc-location-intro__visual::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(4,14,24,.78),transparent 46%);
    pointer-events:none;
}
.cc-location-intro__visual img{
    width:100%;
    height:100%;
    min-height:520px;
    object-fit:cover;
    transition:transform 700ms ease;
}
.cc-location-intro__visual:hover img{transform:scale(1.04);}
.cc-location-intro__visual figcaption{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:28px;
    color:#fff;
}
.cc-location-intro__visual figcaption span{
    color:#00ccff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.cc-location-intro__visual figcaption strong{font-size:24px;}
@media (max-width:980px){
    .cc-location-intro__layout--visual{grid-template-columns:1fr !important;}
    .cc-location-intro__content{max-width:760px;}
    .cc-location-intro__visual,
    .cc-location-intro__visual img{min-height:440px;}
}
@media (max-width:620px){
    .cc-location-intro__checks{grid-template-columns:1fr;}
    .cc-location-intro__visual{min-height:340px;border-radius:20px;}
    .cc-location-intro__visual img{min-height:340px;}
}

/* =========================================================
   CraftCore v3.2.1 — full-site contrast and heading safeguards
   Fixes dark-on-dark headings and prevents split headings overflowing.
   ========================================================= */

/* Recent work: explicit dark-section typography */
.cc-recent-work .cc-section-heading,
.cc-recent-work .cc-recent-work__heading{
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.72fr);
    gap:clamp(34px,5vw,76px);
    align-items:end;
}

.cc-recent-work .cc-section-heading h2,
.cc-recent-work .cc-recent-work__heading h2{
    max-width:820px;
    margin:14px 0 0;
    color:#fff !important;
    opacity:1 !important;
    text-shadow:none !important;
    font-size:clamp(44px,5.1vw,72px);
    line-height:1.02;
    letter-spacing:-.045em;
    overflow-wrap:anywhere;
}

.cc-recent-work .cc-section-heading > p,
.cc-recent-work .cc-recent-work__heading > p{
    max-width:560px;
    margin:0;
    color:#b8c7d3 !important;
    opacity:1 !important;
    font-size:clamp(16px,1.4vw,19px);
    line-height:1.75;
}

.cc-recent-work .eyebrow{
    color:#00ccff !important;
    opacity:1 !important;
}

/* Dark-section contrast guardrails */
.cc-recent-work h2,
.cc-process-v7 h2,
.cc-faq-v1 h2,
.cc-final-cta-v087 h2,
.cc-final-cta-v086 h2,
.cc-conversion-strip h2,
.cc-areas-hub-reassurance h2,
.cc-areas-hub-quote h2,
.cc-location-hero h1,
.cc-location-reviews h2,
.cc-location-cta h2{
    color:#fff !important;
    opacity:1 !important;
}

.cc-recent-work .eyebrow,
.cc-process-v7 .eyebrow,
.cc-faq-v1 .eyebrow,
.cc-final-cta-v087 .eyebrow,
.cc-final-cta-v086 .eyebrow,
.cc-areas-hub-reassurance .cc-eyebrow,
.cc-areas-hub-quote .cc-eyebrow{
    color:#00ccff !important;
    opacity:1 !important;
}

/* Light-section contrast guardrails */
.cc-services h2,
.cc-services-v5 h2,
.cc-areas-v9 h2,
.cc-areas-hub-featured h2,
.cc-areas-hub-directory h2,
.cc-areas-hub-faq h2,
.cc-location-intro h2,
.cc-location-services h2,
.cc-location-gallery h2,
.cc-location-nearby h2{
    color:#071522 !important;
    opacity:1 !important;
    text-shadow:none !important;
}

/* Keep all split-heading children inside their columns */
.cc-section-heading > *,
.cc-section-heading--split > *,
.cc-recent-work__heading > *{
    min-width:0;
}

@media (max-width:1020px){
    .cc-recent-work .cc-section-heading,
    .cc-recent-work .cc-recent-work__heading{
        grid-template-columns:1fr;
        gap:18px;
    }

    .cc-recent-work .cc-section-heading > p,
    .cc-recent-work .cc-recent-work__heading > p{
        max-width:720px;
    }
}

@media (max-width:720px){
    .cc-recent-work .cc-section-heading h2,
    .cc-recent-work .cc-recent-work__heading h2{
        font-size:clamp(38px,11vw,52px);
        letter-spacing:-.04em;
    }
}


/* CraftCore Sprint 1: nearby areas are coverage labels, not empty-page links */
.cc-location-nearby__grid .cc-location-nearby__card{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:22px 26px;
    background:#fff;
    border:1px solid #dbe5ef;
    border-radius:18px;
    box-shadow:0 14px 30px rgba(8,31,52,.07);
    color:#081f34;
    font-weight:800;
    cursor:default;
}
.cc-location-nearby__grid .cc-location-nearby__card:hover{
    transform:none;
    background:#fff;
    color:#081f34;
}

/* CraftCore 5.2 — stored quote request feedback */
.cc-enquiry-status{
    width:100%;
    margin:10px 0 0;
    font-size:13px;
    line-height:1.45;
    font-weight:700;
    color:rgba(255,255,255,.78);
}
.cc-enquiry-status.is-success{color:#86efac}
.cc-enquiry-status.is-error{color:#fca5a5}
form.is-submitting button[type="submit"]{cursor:wait;opacity:.72}
form button[type="submit"]:disabled{cursor:wait;opacity:.72}

/* =========================================================
   CraftCore v1.0.6 — consistent global header behaviour
   ========================================================= */
/* Keep the navigation floating over every page hero, matching the homepage. */
.site-header,
.site-header.scrolled{
    position:fixed !important;
    left:0;
    right:0;
    z-index:50;
}

.site-header{
    top:40px !important;
    background:rgba(2,7,12,.76) !important;
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
}

.site-header.scrolled{
    top:0 !important;
    background:rgba(2,7,12,.96) !important;
    box-shadow:0 12px 34px rgba(0,0,0,.24);
}

.topbar{
    position:absolute;
    z-index:55;
}

/* Inner-page heroes need room for the fixed top bar and navigation. */
body:not(.home) .cc-location-hero{
    padding-top:176px !important;
}

/* Avoid the oversized gap introduced by the old card/header workaround. */
body:not(.home) .cc-location-hero-card{
    margin-top:0 !important;
}

@media (max-width:1080px){
    .site-header,
    .site-header.scrolled{
        top:0 !important;
    }

    body:not(.home) .cc-location-hero{
        padding-top:116px !important;
    }
}

@media (max-width:760px){
    body:not(.home) .cc-location-hero{
        padding-top:104px !important;
    }
}

/* =========================================================
   CraftCore v1.0.7 — universal hero viewport-fit guardrails
   Keeps fixed navigation clear and prevents oversized headings
   from forcing key hero content below common laptop screens.
   ========================================================= */
:root{
    --cc-fixed-header-clearance: 148px;
}

/* Never allow a hero heading to inherit the old global 100px scale. */
.cc-home-hero h1,
.dc-hero h1,
.cc-contact-hero h1,
.cc-ah-hero h1,
.cc-loc-hero h1{
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
}

@media (min-width:1081px){
    .cc-home-hero h1{font-size:clamp(3.45rem,5.15vw,4.95rem) !important;line-height:.96 !important;letter-spacing:-.047em !important}
    .dc-hero h1{font-size:clamp(3.35rem,4.85vw,4.75rem) !important;line-height:.97 !important;letter-spacing:-.043em !important}
    .cc-contact-hero h1{font-size:clamp(3.25rem,4.65vw,4.65rem) !important;line-height:.98 !important;letter-spacing:-.043em !important}
    .cc-ah-hero h1{font-size:clamp(3.2rem,4.55vw,4.55rem) !important;line-height:.99 !important;letter-spacing:-.045em !important}
    body.cc-location-page .cc-loc-hero h1{font-size:clamp(3.05rem,4.15vw,4.35rem) !important;line-height:.99 !important;letter-spacing:-.04em !important}
}

/* Compact, content-led heights: heroes may grow, but never crop. */
.cc-home-hero,
.dc-hero,
.cc-contact-hero,
.cc-ah-hero,
body.cc-location-page .cc-loc-hero{
    height:auto !important;
    overflow:hidden;
}

@media (min-width:1081px){
    .cc-home-hero{min-height:100svh !important}
    .cc-home-hero__grid{padding-top:clamp(154px,17vh,184px) !important;padding-bottom:clamp(54px,7vh,78px) !important}

    .dc-hero{min-height:100svh !important;padding:clamp(158px,18vh,190px) 0 clamp(54px,7vh,78px) !important}
    .dc-hero__layout{gap:clamp(42px,4vw,62px) !important}
    .dc-hero__lead{margin-bottom:22px !important}
    .dc-hero__ticks{margin-top:21px !important}

    .cc-contact-hero{
        min-height:calc(100svh - 154px) !important;
        padding:clamp(30px,4.8vh,56px) 0 !important;
        display:flex !important;
        align-items:center !important;
    }
    .cc-contact-hero > .container{width:100%}
    .cc-contact-hero__grid{gap:clamp(48px,5vw,74px) !important}

    .cc-ah-hero{min-height:0 !important;padding:clamp(54px,6vw,76px) 0 clamp(58px,6vw,84px) !important}

    body.cc-location-page .cc-loc-hero{min-height:100svh !important}
    body.cc-location-page .cc-loc-hero__grid{padding-top:clamp(158px,18vh,190px) !important;padding-bottom:clamp(54px,7vh,78px) !important;gap:clamp(34px,4vw,58px) !important}
}

/* Short laptop screens need a deliberately tighter first fold. */
@media (min-width:1081px) and (max-height:850px){
    .cc-home-hero__grid{padding-top:138px !important;padding-bottom:38px !important;gap:40px !important}
    .cc-home-hero h1{font-size:clamp(3.2rem,4.6vw,4.35rem) !important;margin-block:13px 18px !important}
    .cc-home-hero__lead{font-size:1rem !important;line-height:1.55 !important}
    .cc-home-hero__actions,.cc-home-hero__trust{margin-top:20px !important}

    .dc-hero{padding:142px 0 42px !important}
    .dc-hero h1{font-size:clamp(3.05rem,4.35vw,4.2rem) !important;margin-bottom:15px !important}
    .dc-hero__lead{font-size:.98rem !important;line-height:1.55 !important;margin-bottom:18px !important}
    .dc-hero__ticks{margin-top:16px !important;gap:7px 18px !important}
    .dc-quote{padding:24px !important}
    .dc-quote h2{font-size:1.85rem !important;margin-bottom:8px !important}

    .cc-contact-hero{
        min-height:calc(100svh - 154px) !important;
        padding:26px 0 !important;
    }
    .cc-contact-hero h1{font-size:clamp(3rem,4.1vw,4.05rem) !important;margin-block:13px 18px !important}
    .cc-contact-hero__copy>p{font-size:17px !important;line-height:1.58 !important}
    .cc-contact-hero__actions,.cc-contact-hero__trust{margin-top:22px !important}

    .cc-ah-hero{padding:46px 0 52px !important}
    .cc-ah-hero__content h1{font-size:clamp(2.85rem,3.75vw,3.75rem) !important;margin-block:12px 16px !important}

    body.cc-location-page .cc-loc-hero__grid{padding-top:142px !important;padding-bottom:44px !important}
    body.cc-location-page .cc-loc-hero h1{font-size:clamp(2.85rem,3.85vw,3.9rem) !important}
    body.cc-location-page .cc-loc-hero__lead{margin-top:18px !important;font-size:1rem !important;line-height:1.55 !important}
    body.cc-location-page .cc-loc-hero__actions{margin-top:22px !important}
    body.cc-location-page .cc-loc-hero__trust{margin-top:19px !important}
    body.cc-location-page .cc-loc-quote-card{padding:24px !important}
}

@media (max-width:1080px){
    :root{--cc-fixed-header-clearance:104px}
    .cc-home-hero h1,.dc-hero h1,.cc-contact-hero h1,.cc-ah-hero h1,body.cc-location-page .cc-loc-hero h1{
        max-width:16ch !important;
        font-size:clamp(2.65rem,7.4vw,4.15rem) !important;
        line-height:1 !important;
        letter-spacing:-.042em !important;
    }
}

@media (max-width:650px){
    .cc-home-hero h1,.dc-hero h1,.cc-contact-hero h1,.cc-ah-hero h1,body.cc-location-page .cc-loc-hero h1{
        max-width:14ch !important;
        font-size:clamp(2.35rem,10.6vw,3.25rem) !important;
        line-height:1.01 !important;
        letter-spacing:-.038em !important;
    }
}

/* =========================================================
   CraftCore v6.0.4 — fixed-header clearance for inner hubs
   The global navigation is fixed. These two page families were
   still starting at the viewport top, so their hero content sat
   underneath the top bar and navigation. Keep the hero background
   intact, but begin the page below the complete header stack.
   ========================================================= */
body.page-template-page-areas-we-cover main,
body.cc-location-page main{
    padding-top:136px;
}

@media (max-width:1080px){
    body.page-template-page-areas-we-cover main,
    body.cc-location-page main{
        padding-top:82px;
    }
}

@media (max-width:720px){
    body.page-template-page-areas-we-cover main,
    body.cc-location-page main{
        padding-top:80px;
    }
}

/* =========================================================
   CraftCore v6.0.5 — fixed-header hero reset
   Removes the white spacer introduced by padding the <main>
   element. Hero backgrounds now continue behind the fixed header,
   while each hero's own inner spacing clears the header safely.
   ========================================================= */
body.page-template-page-areas-we-cover main,
body.cc-location-page main{
    padding-top:0 !important;
    margin-top:0 !important;
}


/* =========================================================
   CraftCore v6.0.7 — structural first-fold reset
   These rules are attached to classes emitted directly by header.php,
   so they do not depend on WordPress body-class naming or legacy offsets.
   ========================================================= */
.cc-flow-topbar{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
}
.cc-flow-header,
.cc-flow-header.scrolled{
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
}
.cc-flow-main{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
}

/* CraftCore 9.9.0 accessibility foundation */
.cc-skip-link{
    position:fixed;
    top:12px;
    left:12px;
    z-index:100000;
    padding:12px 18px;
    border-radius:8px;
    background:#fff;
    color:#07151f;
    font-weight:800;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    transform:translateY(-160%);
    transition:transform .18s ease;
}
.cc-skip-link:focus{transform:translateY(0)}
#main-content:focus{outline:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
    outline:3px solid var(--cyan,#00ccff);
    outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
}

/* CraftCore layout safeguard */
body#error-page{width:100%;max-width:none;margin:0;padding:0}


/* CraftCore 10.3.23 — Services dropdown */
.primary-menu>li{position:relative}
.cc-services-menu>a{padding-right:20px!important}
.cc-services-menu>a:before{content:'';position:absolute;right:1px;top:50%;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-65%) rotate(45deg);transition:transform .2s ease}
.menu .cc-services-submenu{position:absolute;top:calc(100% - 2px);left:50%;z-index:80;display:grid!important;width:285px;margin:0!important;padding:12px!important;gap:2px!important;transform:translate(-50%,12px);opacity:0;visibility:hidden;pointer-events:none;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(3,11,18,.98);box-shadow:0 24px 60px rgba(0,0,0,.35);transition:.22s ease}
.menu .cc-services-submenu li{border:0!important}.menu .cc-services-submenu a{display:block;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.25;color:#fff}.menu .cc-services-submenu a:hover{background:rgba(0,204,255,.12);color:var(--blue)}
.menu .cc-services-submenu a:after{display:none}.cc-services-menu:hover>.cc-services-submenu,.cc-services-menu:focus-within>.cc-services-submenu,.cc-services-menu.is-open>.cc-services-submenu{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto}
.cc-submenu-toggle{display:none}
@media(max-width:1020px){.cc-services-menu>a{padding-right:54px!important}.cc-services-menu>a:before{display:none}.cc-submenu-toggle{display:block;position:absolute;right:0;top:8px;width:44px;height:44px;border:0;background:transparent;color:#fff}.cc-submenu-toggle span:before{content:'';display:block;width:9px;height:9px;margin:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}.cc-submenu-toggle[aria-expanded=true] span:before{transform:rotate(225deg)}.menu .cc-services-submenu{position:static;width:100%;max-height:0;margin:0!important;padding:0 0 0 14px!important;overflow:hidden;transform:none;opacity:1;visibility:visible;pointer-events:auto;border:0;border-radius:0;background:transparent;box-shadow:none;transition:max-height .3s ease}.cc-services-menu.is-open>.cc-services-submenu{max-height:520px}.menu .cc-services-submenu li{border-top:1px solid rgba(255,255,255,.07)!important}.menu .cc-services-submenu a{padding:13px 4px;font-size:16px;color:rgba(255,255,255,.78)}}
