/* CraftCore v5.0 — isolated Areas We Cover hub */
.page-template-page-areas-we-cover{
    overflow-x:hidden;
    background:#f4f7fa;
    color:#0a1825;
}

.page-template-page-areas-we-cover main{
    display:block;
}

.page-template-page-areas-we-cover .cc-ah-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#00a9d4;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
    line-height:1.2;
    text-transform:uppercase;
}

.page-template-page-areas-we-cover .cc-ah-eyebrow::before{
    content:"";
    width:24px;
    height:2px;
    border-radius:999px;
    background:currentColor;
}

.cc-ah-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:clamp(54px,6vw,76px) 0 clamp(58px,6vw,84px);
    background:
        linear-gradient(120deg,rgba(2,8,13,.98),rgba(7,26,39,.94)),
        url("../images/hero.jpg") center/cover no-repeat;
    color:#fff;
}

.cc-ah-hero::after{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    opacity:.22;
    background-image:
        linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px);
    background-size:52px 52px;
    mask-image:linear-gradient(to bottom,black 0%,transparent 86%);
}

.cc-ah-hero__glow{
    position:absolute;
    z-index:-1;
    width:420px;
    height:420px;
    border-radius:50%;
    filter:blur(30px);
    pointer-events:none;
}

.cc-ah-hero__glow--one{
    top:-180px;
    left:-130px;
    background:rgba(0,204,255,.18);
}

.cc-ah-hero__glow--two{
    right:-180px;
    bottom:-240px;
    background:rgba(0,204,255,.1);
}

.cc-ah-hero__layout{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(390px,.78fr);
    align-items:center;
    gap:clamp(38px,5vw,72px);
}

.cc-ah-hero__content h1{
    max-width:690px;
    margin:16px 0 20px;
    color:#fff;
    font-size:clamp(46px,5vw,68px);
    line-height:.98;
    letter-spacing:-.055em;
}

.cc-ah-hero__content > p{
    max-width:650px;
    margin:0;
    color:rgba(235,245,250,.78);
    font-size:clamp(16px,1.35vw,19px);
    line-height:1.62;
}

.cc-ah-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:26px;
}

.cc-ah-hero__actions .btn{
    min-width:178px;
}

.cc-ah-trust{
    display:flex;
    flex-wrap:wrap;
    gap:11px 22px;
    margin-top:24px;
    color:rgba(235,245,250,.82);
    font-size:13px;
    font-weight:800;
}

.cc-ah-trust span{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.cc-ah-trust i{
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:50%;
    background:rgba(0,204,255,.14);
    color:#00ccff;
    font-style:normal;
}

.cc-ah-search-card{
    padding:clamp(24px,2.5vw,32px);
    border:1px solid rgba(255,255,255,.14);
    border-radius:28px;
    background:rgba(4,15,24,.76);
    box-shadow:0 28px 80px rgba(0,0,0,.35);
    backdrop-filter:blur(18px);
}

.cc-ah-search-card__label{
    color:#00ccff;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.cc-ah-search-card h2{
    margin:9px 0 10px;
    color:#fff;
    font-size:clamp(28px,2.5vw,36px);
    line-height:1.07;
    letter-spacing:-.035em;
}

.cc-ah-search-card > p{
    margin:0 0 18px;
    color:rgba(235,245,250,.68);
    font-size:15px;
}

.cc-ah-search label{
    display:block;
    margin-bottom:8px;
    color:#dce9ef;
    font-size:12px;
    font-weight:800;
}

.cc-ah-search__field{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    min-height:58px;
    padding:0 12px 0 16px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:16px;
    background:#07141e;
    transition:border-color .2s ease,box-shadow .2s ease;
}

.cc-ah-search__field:focus-within{
    border-color:#00ccff;
    box-shadow:0 0 0 4px rgba(0,204,255,.12);
}

.cc-ah-search__field svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:#00ccff;
    stroke-width:1.8;
}

.cc-ah-search__field input{
    min-width:0;
    height:56px;
    padding:0 12px;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font:inherit;
    font-size:15px;
}

.cc-ah-search__field input::placeholder{
    color:#748897;
}

.cc-areas-hub-search__clear{
    display:none;
    padding:8px 10px;
    border:0;
    border-radius:9px;
    background:rgba(255,255,255,.08);
    color:#d9e6ec;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}

.cc-areas-hub-search__clear.is-visible{
    display:inline-flex;
}

.cc-areas-hub-search__status{
    min-height:20px;
    margin:9px 2px 0;
    color:#8da0ad;
    font-size:12px;
}


.cc-ah-popular{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:14px;
}

.cc-ah-popular > span{
    color:#8fa4b1;
    font-size:12px;
    font-weight:800;
}

.cc-ah-popular a{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    color:#dcebf1;
    font-size:11px;
    font-weight:800;
    line-height:1;
    transition:border-color .2s ease,color .2s ease,background .2s ease;
}

.cc-ah-popular a:hover,
.cc-ah-popular a:focus-visible{
    border-color:#00ccff;
    background:rgba(0,204,255,.1);
    color:#00ccff;
}

.cc-ah-search-card__call{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.1);
    color:#fff;
}

.cc-ah-search-card__call span{
    color:#8fa4b1;
    font-size:12px;
}

.cc-ah-search-card__call strong{
    color:#00ccff;
    font-size:13px;
    white-space:nowrap;
}

.cc-ah-directory{
    padding:clamp(76px,8vw,112px) 0;
    background:#f4f7fa;
}

.cc-ah-heading{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);
    align-items:end;
    gap:36px;
    margin-bottom:38px;
}

.cc-ah-heading h2{
    max-width:650px;
    margin:12px 0 0;
    color:#081724;
    font-size:clamp(38px,4.6vw,60px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.cc-ah-heading > p{
    margin:0;
    color:#657688;
    font-size:16px;
    line-height:1.7;
}

.cc-ah-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.cc-ah-area-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    min-height:92px;
    padding:18px;
    border:1px solid #dce5ec;
    border-radius:18px;
    background:#fff;
    color:#0a1825;
    box-shadow:0 10px 30px rgba(10,32,48,.055);
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.cc-ah-area-card:hover,
.cc-ah-area-card:focus-visible{
    transform:translateY(-3px);
    border-color:rgba(0,174,218,.72);
    box-shadow:0 18px 38px rgba(10,32,48,.11);
}

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

.cc-ah-area-card--core{
    border-color:rgba(0,174,218,.32);
    background:linear-gradient(145deg,#fff,#f6fcfe);
}

.cc-ah-area-card__icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    background:#e9f9fd;
    color:#009dc5;
}

.cc-ah-area-card__icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.cc-ah-area-card__content{
    display:grid;
    gap:4px;
    min-width:0;
}

.cc-ah-area-card__topline{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

.cc-ah-area-card__content strong{
    font-size:17px;
    line-height:1.2;
}

.cc-ah-area-card__content small{
    padding:4px 7px;
    border-radius:999px;
    background:#dff8ff;
    color:#007f9f;
    font-size:9px;
    font-weight:900;
    letter-spacing:.5px;
    line-height:1;
    text-transform:uppercase;
}

.cc-ah-area-card__content em{
    color:#718292;
    font-size:12px;
    font-style:normal;
}

.cc-ah-area-card__arrow{
    color:#00a8d2;
    font-size:20px;
    font-weight:900;
    transition:transform .2s ease;
}

.cc-ah-area-card:hover .cc-ah-area-card__arrow{
    transform:translateX(4px);
}

.cc-ah-empty{
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin-top:24px;
    padding:28px;
    border:1px solid #d5e3eb;
    border-radius:22px;
    background:#fff;
}

.cc-ah-empty:not([hidden]){
    display:flex;
}

.cc-ah-empty h3{
    margin:8px 0 5px;
    color:#081724;
    font-size:26px;
}

.cc-ah-empty p{
    max-width:650px;
    margin:0;
    color:#657688;
}

.cc-ah-coverage-note{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    margin-top:28px;
    padding:22px 24px;
    border-radius:20px;
    background:#07141f;
    color:#fff;
}

.cc-ah-coverage-note__icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:14px;
    background:rgba(0,204,255,.12);
    color:#00ccff;
}

.cc-ah-coverage-note__icon svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.7;
}

.cc-ah-coverage-note strong{
    display:block;
    margin-bottom:2px;
    font-size:16px;
}

.cc-ah-coverage-note p{
    margin:0;
    color:#a9bac5;
    font-size:13px;
}

.cc-ah-coverage-note > a{
    color:#00ccff;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}

.cc-ah-standard{
    padding:clamp(72px,8vw,108px) 0;
    background:#06111b;
    color:#fff;
}

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

.cc-ah-heading--light > p{
    color:#a9bac5;
}

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

.cc-ah-standard__grid article{
    padding:26px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    background:rgba(255,255,255,.045);
}

.cc-ah-standard__grid article > span{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-bottom:20px;
    border-radius:12px;
    background:rgba(0,204,255,.12);
    color:#00ccff;
    font-size:12px;
    font-weight:900;
}

.cc-ah-standard__grid h3{
    margin:0 0 8px;
    color:#fff;
    font-size:22px;
    line-height:1.2;
}

.cc-ah-standard__grid p{
    margin:0;
    color:#aab9c4;
    font-size:14px;
    line-height:1.7;
}

.cc-ah-faq{
    padding:clamp(76px,8vw,112px) 0;
    background:#fff;
}

.cc-ah-faq__layout{
    display:grid;
    grid-template-columns:minmax(280px,.65fr) minmax(0,1fr);
    gap:clamp(42px,7vw,90px);
    align-items:start;
}

.cc-ah-faq__intro{
    position:sticky;
    top:130px;
}

.cc-ah-faq__intro h2{
    margin:12px 0 14px;
    color:#081724;
    font-size:clamp(38px,4vw,54px);
    line-height:1.03;
    letter-spacing:-.04em;
}

.cc-ah-faq__intro p{
    margin:0 0 24px;
    color:#657688;
    font-size:16px;
    line-height:1.72;
}

.cc-ah-faq__intro .ghost{
    border-color:#d3dfe7;
    background:#f3f7f9;
    color:#081724;
}

.cc-ah-faq__list{
    display:grid;
    gap:12px;
}

.cc-ah-faq__item{
    overflow:hidden;
    border:1px solid #dce5ec;
    border-radius:17px;
    background:#f8fafb;
}

.cc-ah-faq__item summary{
    position:relative;
    padding:21px 58px 21px 22px;
    color:#0b1b28;
    font-size:16px;
    font-weight:900;
    line-height:1.4;
    cursor:pointer;
    list-style:none;
}

.cc-ah-faq__item summary::-webkit-details-marker{
    display:none;
}

.cc-ah-faq__item summary::after{
    content:"+";
    position:absolute;
    top:50%;
    right:20px;
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#e5f8fd;
    color:#008bae;
    transform:translateY(-50%);
}

.cc-ah-faq__item[open] summary::after{
    content:"−";
}

.cc-ah-faq__item div{
    padding:0 22px 21px;
}

.cc-ah-faq__item div p{
    margin:0;
    color:#627486;
    font-size:14px;
    line-height:1.75;
}

.cc-ah-quote{
    padding:clamp(74px,8vw,106px) 0;
    background:
        radial-gradient(circle at 12% 20%,rgba(0,204,255,.12),transparent 30%),
        #06111b;
    color:#fff;
}

.cc-ah-quote__layout{
    display:grid;
    grid-template-columns:minmax(0,.88fr) minmax(360px,.72fr);
    align-items:center;
    gap:clamp(44px,7vw,90px);
}

.cc-ah-quote__content h2{
    max-width:620px;
    margin:12px 0 14px;
    color:#fff;
    font-size:clamp(40px,4.8vw,62px);
    line-height:1.02;
    letter-spacing:-.045em;
}

.cc-ah-quote__content > p{
    max-width:650px;
    margin:0;
    color:#a9bac5;
    font-size:16px;
    line-height:1.72;
}

.cc-ah-quote__content ul{
    display:grid;
    gap:10px;
    margin:24px 0 0;
    padding:0;
    list-style:none;
}

.cc-ah-quote__content li{
    position:relative;
    padding-left:27px;
    color:#d9e4ea;
    font-size:14px;
    font-weight:800;
}

.cc-ah-quote__content li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:#00ccff;
}

.cc-ah-quote__form{
    display:grid;
    gap:15px;
    padding:30px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:24px;
    background:rgba(255,255,255,.055);
    box-shadow:0 22px 60px rgba(0,0,0,.24);
}

.cc-ah-quote__form label{
    display:grid;
    gap:7px;
}

.cc-ah-quote__form label > span{
    color:#dce7ed;
    font-size:12px;
    font-weight:800;
}

.cc-ah-quote__form input{
    width:100%;
    height:52px;
    padding:0 15px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:13px;
    outline:0;
    background:#07131e;
    color:#fff;
    font:inherit;
}

.cc-ah-quote__form input:focus{
    border-color:#00ccff;
    box-shadow:0 0 0 3px rgba(0,204,255,.12);
}

.cc-ah-quote__form input::placeholder{
    color:#657b8a;
}

.cc-ah-quote__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:2px;
}

.cc-ah-quote__actions .btn{
    width:100%;
    padding-inline:14px;
}

.cc-ah-quote__note{
    margin:0;
    color:#748895;
    font-size:11px;
    line-height:1.55;
    text-align:center;
}

@media(max-width:1080px){
    .cc-ah-hero__layout,
    .cc-ah-quote__layout{
        grid-template-columns:1fr;
    }

    .cc-ah-search-card,
    .cc-ah-quote__form{
        max-width:700px;
    }

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

@media(max-width:820px){
    .cc-ah-heading,
    .cc-ah-faq__layout{
        grid-template-columns:1fr;
        gap:20px;
    }

    .cc-ah-faq__intro{
        position:static;
    }

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

    .cc-ah-standard__grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){
    .cc-ah-hero{
        padding:42px 0 54px;
    }

    .cc-ah-hero__content h1{
        font-size:clamp(38px,11vw,46px);
        letter-spacing:-.045em;
    }

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

    .cc-ah-trust{
        display:grid;
        gap:10px;
    }

    .cc-ah-search-card{
        padding:22px;
        border-radius:22px;
    }

    .cc-ah-search-card__call{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }

    .cc-ah-heading h2{
        font-size:39px;
    }

    .cc-ah-grid{
        grid-template-columns:1fr;
    }

    .cc-ah-area-card{
        min-height:82px;
    }

    .cc-ah-empty:not([hidden]){
        align-items:flex-start;
        flex-direction:column;
    }

    .cc-ah-empty .btn{
        width:100%;
    }

    .cc-ah-coverage-note{
        grid-template-columns:auto 1fr;
    }

    .cc-ah-coverage-note > a{
        grid-column:1 / -1;
        padding-top:12px;
        border-top:1px solid rgba(255,255,255,.1);
    }

    .cc-ah-faq__intro h2,
    .cc-ah-quote__content h2{
        font-size:39px;
    }

    .cc-ah-quote__form{
        padding:22px;
        border-radius:20px;
    }

    .cc-ah-quote__actions{
        grid-template-columns:1fr;
    }
}

/* CraftCore v6.0.5 — Areas hub first-fold correction */
.page-template-page-areas-we-cover .cc-ah-hero{
    margin-top:0 !important;
    padding-top:190px !important;
    padding-bottom:76px !important;
}
.page-template-page-areas-we-cover .cc-ah-hero__layout{
    align-items:center !important;
}
.page-template-page-areas-we-cover .cc-ah-search-card{
    align-self:center !important;
    margin:0 !important;
}
.page-template-page-areas-we-cover .cc-ah-directory{
    padding-top:84px !important;
}
@media (max-width:1080px){
    .page-template-page-areas-we-cover .cc-ah-hero{
        padding-top:124px !important;
        padding-bottom:64px !important;
    }
}
@media (max-width:620px){
    .page-template-page-areas-we-cover .cc-ah-hero{
        padding-top:108px !important;
        padding-bottom:52px !important;
    }
    .page-template-page-areas-we-cover .cc-ah-directory{
        padding-top:62px !important;
    }
}

/* CraftCore v6.0.6 — definitive Areas hub header/hero flow
   Keep the top bar in document flow and make the navigation sticky rather
   than fixed on this template. This removes all first-fold overlap without
   artificial 190px hero padding or white spacer elements. */
body.page-template-page-areas-we-cover .topbar{
    position:relative !important;
    inset:auto !important;
}
body.page-template-page-areas-we-cover .site-header,
body.page-template-page-areas-we-cover .site-header.scrolled{
    position:sticky !important;
    top:0 !important;
}
body.page-template-page-areas-we-cover main{
    padding-top:0 !important;
    margin-top:0 !important;
}
body.page-template-page-areas-we-cover .cc-ah-hero{
    margin:0 !important;
    min-height:0 !important;
    padding:clamp(58px,6vw,78px) 0 clamp(62px,6vw,82px) !important;
}
body.page-template-page-areas-we-cover .cc-ah-hero__layout{
    align-items:center !important;
}
body.page-template-page-areas-we-cover .cc-ah-search-card{
    align-self:center !important;
    margin:0 !important;
}
@media (min-width:1081px) and (max-height:850px){
    body.page-template-page-areas-we-cover .cc-ah-hero{
        padding:46px 0 54px !important;
    }
}
@media (max-width:1080px){
    body.page-template-page-areas-we-cover .cc-ah-hero{
        padding:48px 0 58px !important;
    }
}
@media (max-width:620px){
    body.page-template-page-areas-we-cover .cc-ah-hero{
        padding:38px 0 48px !important;
    }
}


/* CraftCore v6.0.7 — Areas hero final layout */
.cc-flow-main > .cc-ah-hero{
    margin:0 !important;
    min-height:0 !important;
    padding:52px 0 60px !important;
}
.cc-flow-main > .cc-ah-hero .cc-ah-hero__layout{
    align-items:center !important;
}
.cc-flow-main > .cc-ah-directory{
    padding-top:78px !important;
}
@media (max-width:1080px){
    .cc-flow-main > .cc-ah-hero{padding:44px 0 52px !important;}
}
@media (max-width:620px){
    .cc-flow-main > .cc-ah-hero{padding:34px 0 44px !important;}
    .cc-flow-main > .cc-ah-directory{padding-top:58px !important;}
}
