/* ==========================================
   BREAK OUT OF SPECTRA CONTAINER
========================================== */

.service-page-hero{
    position:relative;

    width:100vw;

    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);

    max-width:100vw;

    overflow:hidden;
}

/* ==========================================================
   SERVICE PAGE HERO
========================================================== */

.service-page-hero{
    position:relative;
    overflow:hidden;

    color:#fff;

    background-color:#000762;
    background-repeat:no-repeat;
    background-position:65% center;
    background-size:cover;

    padding:72px 0 88px;
}

.service-page-hero-container{
    position:relative;
    z-index:2;

    width:calc(100% - 48px);
    max-width:1280px;

    margin:0 auto;

    display:grid;
    grid-template-columns:1.05fr .95fr;

    gap:48px;

    align-items:center;
}

/* ==========================================================
   LEFT
========================================================== */

.service-page-content{
    max-width:620px;

    opacity:0;
    animation:heroFadeRight 1800ms ease-out forwards;
    will-change:transform,opacity;
}

@keyframes heroFadeRight {

    from {
        opacity: 0;
        transform: translate3d(-40px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

}

.service-page-label{
    display:inline-flex;
    align-items:center;

    margin-bottom:20px;

    padding:7px 14px;

    border-radius:999px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.15);

    color:#FF8901;

    font-family:Poppins,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;
}

.service-page-title{
    margin:20px 0 24px;

    font-family:Poppins,sans-serif;

    font-size:60px;

    font-weight:700;

    line-height:1.05;

    letter-spacing:-1.5px;
}

.service-page-title-white,
.service-page-title-orange{
    display:block;
}

.service-page-title-white{
    color:#fff;
}

.service-page-title-orange{
    color:#F58220;
}

.service-page-description{
    margin:24px 0 0;

    max-width:620px;

    color:rgba(255,255,255,.88);

    font-size:18px;

    line-height:1.7;
}

/* ==========================================================
   EV BUTTONS
========================================================== */

.service-page-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:12px;

    margin-top:36px;
}

.service-page-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:12px 22px;

    border:1px solid rgba(255,255,255,.55);
    border-radius:999px;

    color:#fff;

    font-size:14px;
    font-weight:600;
}

.service-page-button:first-child{
    background:#F58220;
    border-color:#F58220;
    color:#202F78;
}

/* ==========================================================
   FORM
========================================================== */

.service-page-form{
    background:#fff;

    border:1px solid #E6E6E0;

    border-radius:24px;

    padding:32px;

    box-shadow:0 10px 30px rgba(0,0,0,.12);
}

.service-form-title{
    margin:0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:32px;

    font-weight:700;

    line-height:1.1;
}

.service-form-description{
    margin:10px 0 28px;

    color:#55597A;

    font-size:15px;

    line-height:1.6;
}

.service-form-footer{
    margin-top:18px;
    text-align:center;
    color:#55597A;
    font-size:12px;
    line-height:1.5;
    font-weight:400;
}

/* ==========================================================
   FLUENT FORM
========================================================== */

#fluentform_3{
    margin-top:0;
}

#fluentform_3 .ff-column-container{
    margin-bottom:16px;
}

#fluentform_3 .ff_columns_total_2{
    display:flex;
    gap:16px;
}

#fluentform_3 .ff_columns_total_2>.ff-t-cell{
    flex:1;
}

/* Labels */

#fluentform_3 label{
    color:#000762!important;
    font-size:14px!important;
    font-weight:600!important;
}

/* Hide required star */

#fluentform_3 .ff-el-is-required:after{
    display:none!important;
}

/* Inputs */

#fluentform_3 input.ff-el-form-control,
#fluentform_3 select.ff-el-form-control,
#fluentform_3 textarea.ff-el-form-control{
    height:48px!important;
    border-radius:12px!important;
    border:1px solid #E6E6E0!important;
    padding:0 16px!important;
    font-size:14px!important;
    background:#fff!important;
    color:#000762!important;
    box-shadow:none!important;
}

/* Textarea */

#fluentform_3 [data-name="ff_cn_id_3"] textarea.ff-el-form-control{
    min-height:88px!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    padding:14px 16px!important;
    resize:none!important;
    box-sizing:border-box!important;
}

/* Select */

#fluentform_3 select{
    padding-right:48px!important;
}

/* Focus */

#fluentform_3 input:focus,
#fluentform_3 textarea:focus,
#fluentform_3 select:focus{
    border-color:#FF8901!important;
    box-shadow:0 0 0 3px rgba(255,137,1,.15)!important;
}

/* Radios */

#fluentform_3 .ff_list_inline{
    display:block!important;
}

#fluentform_3 .ff_list_inline .ff-el-input--content{
    display:flex;
    gap:24px;
    margin-top:12px;
}

#fluentform_3 .ff-el-form-check{
    margin:0!important;
}

#fluentform_3 .ff-el-form-check-label{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    color:#000762!important;
}

/* Button */

#fluentform_3 .ff-btn{
    width:100%!important;
    height:56px!important;
    border:none!important;
    border-radius:999px!important;
    background:#FF8901!important;
    color:#000762!important;
    font-size:15px!important;
    font-weight:600!important;
    transition:.25s;
}

#fluentform_3 .ff-btn:hover{
    background:#f58220!important;
}

/* Radio */

#fluentform_3 .ff-el-form-check-input[type="radio"]{
    accent-color:#FF8901;
}

/* Remove extra spacing */

#fluentform_3 .ff-el-group{
    margin-bottom:0!important;
}

#fluentform_3 .ff_submit_btn_wrapper{
    margin-top:20px!important;
    margin-bottom:0!important;
}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:1024px){

    .service-page-hero-container{
        grid-template-columns:1fr;
        gap:48px;
    }

    .service-page-content{
        max-width:100%;
    }

    .service-page-form{
        max-width:720px;
        width:100%;
        margin:0 auto;
    }

}

@media (max-width:768px){

    .service-page-hero{
        padding:48px 0;
    }

    .service-page-hero-container{
        width:calc(100% - 32px);
    }

    .service-page-title{
        font-size:44px;
        letter-spacing:-1px;
    }

    .service-page-description{
        font-size:17px;
    }

    .service-form-title{
        font-size:30px;
    }

}

@media (max-width:480px){

    .service-page-title{
        font-size:36px;
    }

    .service-page-buttons{
        flex-direction:column;
    }

    .service-page-button{
        width:100%;
    }

}

/* ==========================================================
   RESIDENTIAL - WHAT WE DO
========================================================== */

.residential-what-we-do-section{

    background:#fff;

    padding:96px 0;

}

.residential-what-we-do-container{

    width:calc(100% - 48px);

    max-width:1280px;

    margin:0 auto;

}

.residential-what-we-do-header{

    width:100%;

    max-width:1280px;

    margin:0 auto;

}

.residential-what-we-do-label{

    margin:0;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.residential-what-we-do-heading{

    margin:8px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:40px;

    font-weight:700;

    line-height:1.15;

    letter-spacing:-1px;

}

.residential-what-we-do-grid{

    display:grid !important;

    grid-template-columns:repeat(3,minmax(360px,1fr)) !important;

    gap:24px !important;

    width:100%;

    margin-top:48px;

}

.residential-what-we-do-card{

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    gap:18px;

    height:100%;

    background:#fff;

    border:1px solid #E6E6E0;

    border-radius:24px;

    padding:24px;

    box-shadow:0 4px 12px rgba(0,7,98,.06);

    transition:all .2s ease;

}

.residential-what-we-do-card:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 28px rgba(0,7,98,.18);

}

.residential-what-we-do-icon{

    display:flex;

    align-items:center;

    justify-content:center;

    width:48px;

    height:48px;

    border-radius:16px;

    background:rgba(255,137,1,.10);

}

.residential-what-we-do-card svg{

    width:48px;

    height:48px;

    flex:0 0 48px;

}

.residential-what-we-do-card-title{

    margin:0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:18px;

    font-weight:600;

    line-height:1.25;

}

.residential-what-we-do-card-text{

    margin:0;

    color:#55597A;

    font-size:15px;

    line-height:1.7;

}

@media (max-width:1024px){

    .residential-what-we-do-grid{

        grid-template-columns:repeat(2,minmax(0,1fr)) !important;

    }

}

@media (max-width:768px){

    .residential-what-we-do-section{

        padding:72px 0;

    }

    .residential-what-we-do-grid{

        grid-template-columns:1fr !important;

    }

    .residential-what-we-do-heading{

        font-size:34px;

    }

}

/* ==========================================================
   RESIDENTIAL - FAULT FINDING
========================================================== */

.residential-fault-finding-section{

    background:#F5F5F3;

    padding:88px 0;

}

.residential-fault-finding-container{

    width:calc(100% - 48px);

    max-width:1280px;

    margin:0 auto;

    display:grid;

    grid-template-columns:460px 560px;

    justify-content:space-between;

    gap:32px;

    align-items:center;

}

/* ==========================
   LEFT
========================== */

.residential-fault-finding-content{

    max-width:470px;

}

.residential-fault-finding-label{

    margin:0;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.residential-fault-finding-heading{

    margin:10px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:30px;

    font-weight:700;

    line-height:1.08;

    letter-spacing:-1.2px;

    max-width:480px;

}

.residential-fault-finding-description{

    margin-top:24px;

}

.residential-fault-finding-description p{

    margin:0 0 16px;

    color:#55597A;

    font-size:15px;

    line-height:1.55;

    max-width:520px;

}

.residential-fault-finding-button{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:18px;

    padding:12px 22px;

    border-radius:999px;

    background:#FF8901;

    color:#000762;

    font-size:14px;

    font-weight:600;

    min-height:48px;

    width:auto;

    align-self:flex-start;

    text-decoration:none;

    transition:.25s;

}

.residential-fault-finding-button:hover{

    background:#F58220;

    transform:translateY(-2px);

}

/* ==========================
   RIGHT
========================== */

.residential-fault-finding-list{

    width:100%;

    max-width:560px;

    margin-left:auto;

    display:flex;

    flex-direction:column;

    gap:12px;

    list-style:none;

    margin:0;

    padding:0;

}

.residential-fault-finding-item{

    display:flex;

    align-items:flex-start;

    gap:14px;

    min-height:46px;

    padding:12px 18px;

    background:#fff;

    border:1px solid #E6E6E0;

    border-radius:18px;

    box-shadow:0 4px 12px rgba(0,7,98,.06);

    transition:.2s ease;

}

.residential-fault-finding-item:hover{

    transform:translateY(-2px);

    box-shadow:0 10px 24px rgba(0,7,98,.10);

}

.residential-fault-finding-icon{

    width:20px;

    height:20px;

    flex:0 0 20px;

    color:#FF8901;

    margin-top:2px;

}

.residential-fault-finding-item svg{

    width:20px;

    height:20px;

    display:block;

}

.residential-fault-finding-item-text{

    color:#000762;

    font-size:14px;

    font-weight:600;

    line-height:1.4;

}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width:1024px){

    .residential-fault-finding-container{

        grid-template-columns:1fr;

        gap:48px;

        justify-content:center;

    }

    .residential-fault-finding-content{

        max-width:100%;

    }

    .residential-fault-finding-list{

        max-width:100%;

        margin-left:0;

    }

}

@media (max-width:768px){

    .residential-fault-finding-section{

        padding:72px 0;

    }

    .residential-fault-finding-heading{

        font-size:40px;

    }

    .residential-fault-finding-description p{

        font-size:17px;

    }

}

/* ==========================================================
   RESIDENTIAL - WHY CHOOSE
========================================================== */

.residential-why-choose-section{

    background:#fff;

    padding:88px 0;

}

.residential-why-choose-grid{

    width:calc(100% - 48px);

    max-width:1120px;

    margin:0 auto;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:22px;

}

.residential-why-choose-card{

    background:#fff;

    border:1px solid #E6E6E0;

    border-radius:22px;

    padding:24px;

    min-height:170px;

    display:flex;

    flex-direction:column;

    gap:18px;

    box-shadow:0 4px 12px rgba(0,7,98,.06);

    transition:.25s ease;

}

.residential-why-choose-card:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 28px rgba(0,7,98,.14);

}

.residential-why-choose-card svg{

    width:42px;

    height:42px;

}

.residential-why-choose-card-title{

    margin:0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:15px;

    font-weight:600;

    line-height:1.3;

}

.residential-why-choose-card-text{

    margin:0;

    color:#55597A;

    font-size:15px;

    line-height:1.7;

}

@media (max-width:1024px){

    .residential-why-choose-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:768px){

    .residential-why-choose-section{

        padding:72px 0;

    }

    .residential-why-choose-grid{

        grid-template-columns:1fr;

    }

}

/* ==========================================================
   RESIDENTIAL - OUR WORK
========================================================== */

.residential-our-work-section{

    background:#F5F5F3;

    padding:80px 0;

}

.residential-our-work-container{

    width:calc(100% - 48px);

    max-width:1120px;

    margin:0 auto;

}

.residential-our-work-label{

    margin:0;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.residential-our-work-heading{

    margin:10px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:30px;

    font-weight:700;

    line-height:1.15;

    letter-spacing:-1px;

    max-width:560px;

}

.residential-our-work-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:16px;

    margin-top:48px;

}

.residential-our-work-card{

    overflow:hidden;

    border-radius:24px;

}

.residential-our-work-image{

    display:block;

    width:100%;

    aspect-ratio:1 / 1.15;

    object-fit:cover;

    border-radius:24px;

    transition:transform .3s ease;

}

.residential-our-work-card:hover .residential-our-work-image{

    transform:scale(1.04);

}

@media (max-width:1024px){

    .residential-our-work-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:768px){

    .residential-our-work-section{

        padding:72px 0;

    }

    .residential-our-work-heading{

        font-size:34px;

    }

    .residential-our-work-grid{

        grid-template-columns:1fr;

    }

}

/* ==========================================================
   RESIDENTIAL - HOW IT WORKS
========================================================== */

.residential-how-it-works-section{

    background:#fff;

    padding:96px 0;

}

.residential-how-it-works-container{

    width:calc(100% - 48px);

    max-width:1280px;

    margin:0 auto;

}

.residential-how-it-works-content{

    max-width:640px;

}

.residential-how-it-works-label{

    margin:0;

    color:#FF8901;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.residential-how-it-works-heading{

    margin:8px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:30px;

    font-weight:700;

    line-height:1.15;

    letter-spacing:-1px;

}

.residential-how-it-works-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    margin-top:40px;

}

.residential-how-it-works-card{

    background:#fff;

    border:1px solid #E6E6E0;

    border-radius:24px;

    padding:24px;

    min-height:198px;

    box-shadow:0 4px 12px rgba(0,7,98,.06);

    display:flex;

    flex-direction:column;

}

.residential-how-it-works-number{

    width:44px;

    height:44px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#FF8901;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:20px;

    font-weight:700;

}

.residential-how-it-works-card-title{

    margin:20px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:18px;

    font-weight:600;

    line-height:1.3;

}

.residential-how-it-works-card-text{

    margin:8px 0 0;

    color:#55597A;

    font-size:15px;

    line-height:1.65;

}

@media (max-width:1024px){

    .residential-how-it-works-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:768px){

    .residential-how-it-works-section{

        padding:72px 0;

    }

    .residential-how-it-works-grid{

        grid-template-columns:1fr;

    }

    .residential-how-it-works-heading{

        font-size:34px;

    }

}

/* ==========================================================
   RESIDENTIAL - SERVICE AREAS
========================================================== */

.residential-service-areas-container{

    width:calc(100% - 48px);

    max-width:1024px;

    margin:0 auto;

    text-align:center;

}

.residential-service-areas-label{

    margin:0;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.residential-service-areas-title{

    margin:8px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:20px;

    font-weight:700;

    line-height:1.2;

    letter-spacing:-1px;

}

.residential-service-areas{

    margin-top:24px;

}

/* ==========================================================
   SERVICE FAQ
========================================================== */

.service-faq-container{

    width:calc(100% - 48px) !important;

    max-width:896px !important;

    margin:50px auto !important;

    padding:0 !important;

    display:flex !important;

    flex-direction:column !important;

    align-items:stretch !important;

}

.service-faq-label{

    margin:0 auto;

    text-align:center;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.service-faq-title{

    margin:8px auto 0;

    max-width:700px;

    text-align:center;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:36px;

    font-weight:700;

    line-height:1.15;

    letter-spacing:-1px;

}

.service-faq-list{

    width:100%;

    max-width:100%;

    margin:40px 0 0;

    padding:0 !important;

    list-style:none;

    display:flex;

    flex-direction:column;

    gap:16px;

}

.service-faq-list > li{

    width:100%;

    margin:0 !important;

    padding:0 !important;

    list-style:none;

}

.service-faq-list > li > .service-faq-item{

    width:100%;

    box-sizing:border-box;

    background:#fff;

    border:1px solid #E6E6E0;

    border-radius:24px;

    padding:24px;

    text-align:left;

    box-shadow:0 4px 12px rgba(0,7,98,.06);

}

.service-faq-item-title{

    margin:0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:18px;

    font-weight:600;

    line-height:1.35;

}

.service-faq-item-text{

    margin:10px 0 0;

    color:#55597A;

    font-family:Inter,sans-serif;

    font-size:15px;

    line-height:1.7;

}

@media (max-width:768px){

    .service-faq-container{

        width:calc(100% - 32px) !important;

    }

    .service-faq-title{

        font-size:34px;

    }

    .service-faq-item{

        padding:20px;

    }

    .service-faq-item-title{

        font-size:17px;

    }

    .service-faq-item-text{

        font-size:15px;

    }

}

/* ==========================================================
   COMMERCIAL - WHAT WE DO
========================================================== */

.commercial-what-we-do-label{

    margin:0;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.commercial-what-we-do-heading{

    margin:8px 0 0;

    max-width:560px;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:30px;

    font-weight:700;

    line-height:1.12;

    letter-spacing:-1px;

}

.commercial-what-we-do-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:12px;

    margin-top:40px;

    align-items:stretch;

}

.commercial-what-we-do-card{

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    min-height:122px;

    padding:20px;

    background:#fff;

    border:1px solid #E6E6E0;

    border-radius:24px;

    box-shadow:0 4px 12px rgba(0,7,98,.06);

    transition:.25s ease;

}

.commercial-what-we-do-card:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 24px rgba(0,7,98,.12);

}

.commercial-what-we-do-card svg{

    width:40px;

    height:40px;

}

@media (max-width:1024px){

    .commercial-what-we-do-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:768px){

    .commercial-what-we-do-grid{

        grid-template-columns:1fr;

    }

}

/* ==========================================================
   INDUSTRIAL - WHAT WE DO
========================================================== */

.what-we-do--industrial{

    margin:0;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.one-licensed-team-industrial{

    margin:8px 0 0;

    max-width:640px;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:30px;

    font-weight:700;

    line-height:1.12;

    letter-spacing:-1px;

}

.industrial-grid{

    display:grid !important;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:20px;

    margin-top:40px;

    align-items:stretch;

}

.industrial-grid-card{

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    height:100%;

    padding:32px;

    background:#fff;

    border:1px solid #E6E6E0;

    border-radius:24px;

    box-shadow:0 4px 12px rgba(0,7,98,.06);

    transition:all .2s ease;

}

.industrial-grid-card:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 28px rgba(0,7,98,.22);

}

.industrial-grid-card svg{

    width:24px;

    height:24px;

}

.service-card-title-industrial{

    margin:20px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:20px;

    font-weight:600;

    line-height:1.3;

}

.service-card-text-industrial{

    margin:12px 0 0;

    color:#55597A;

    font-family:Inter,sans-serif;

    font-size:13px;

    line-height:1.7;

}

@media (max-width:1024px){

    .industrial-grid{

        grid-template-columns:1fr;

    }

}

@media (max-width:768px){

    .industrial-grid-card{

        padding:24px;

    }

    .one-licensed-team-industrial{

        font-size:34px;

    }

}

/* ==========================================================
   INDUSTRIAL - DIRECT ANSWER
========================================================== */

.direct-grid-industrial{
    width:100%;
    max-width:896px;
    margin:0 auto;
}

.direct-label-industrial{
    margin:0;
    color:#FF8901;
    font-family:Inter,sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.direct-title-industrial{
    margin:8px 0 0;
    color:#000762;
    font-family:Poppins,sans-serif;
    font-size:30px;
    font-weight:700;
    line-height:1.15;
    letter-spacing:-1px;
}

.direct-text-industrial{
    margin-top:16px;
    color:#55597A;
    font-family:Inter,sans-serif;
    font-size:18px;
    line-height:1.65;
}

.direct-text-industrial + .direct-text-industrial{
    margin-top:12px;
}

.direct-text-industrial strong{
    color:#000762;
    font-weight:600;
}

@media (max-width:768px){

    .direct-title-industrial{
        font-size:34px;
    }

    .direct-text-industrial{
        font-size:15px;
    }

}

/* ==========================================
   INDUSTRIAL - DIRECT ANSWER ALIGNMENT
========================================== */

.direct-grid-industrial{
    max-width:896px !important;
    width:100%;
    margin:0 auto !important;
    padding:0 24px;
    box-sizing:border-box;
}

/* ==========================================================
   INDUSTRIAL - WHY CHOOSE US
========================================================== */

.industrial-why-choose-container{

    width:calc(100% - 32px);
    max-width:1400px;
    margin:0 auto;

}

.industrial-why-choose-content{

    width:100%;

    max-width:1280px;

    margin:0 auto;

}

.industrial-why-choose-label{

    margin:0;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.industrial-why-choose-heading{

    margin:8px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:30px;

    font-weight:700;

    line-height:1.15;

    letter-spacing:-1px;

}

.industrial-why-choose-grid{

    display:grid;

    width:100%;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:24px;

    margin-top:36px;

}

.industrial-why-choose-card{

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    padding:32px;

    min-height:215px;

    border-radius:24px;

    background:#fff;

    border:1px solid #E6E6E0;

    box-shadow:0 4px 12px rgba(0,7,98,.06);

    transition:.2s ease;

}

.industrial-why-choose-card:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 28px rgba(0,7,98,.16);

}

.industrial-why-choose-card svg{

    width:48px;

    height:48px;

}

.industrial-why-choose-card-title{

    margin:20px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:16px;

    font-weight:600;

    line-height:1.35;

}

.industrial-why-choose-card-text{

    margin:8px 0 0;

    color:#6D738E;

    font-size:15px;

    line-height:1.7;

}

.industrial-why-choose-list{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:16px;

    margin-top:36px;

    list-style:none;

    padding:0;

}

.industrial-why-choose-list-item{

    display:flex;

    align-items:center;

    gap:12px;

    padding:22px 26px;

    border-radius:24px;

    background:#fff;

    border:1px solid #E6E6E0;

    box-shadow:0 3px 10px rgba(0,7,98,.05);

}

.industrial-why-choose-list-text{

    color:#000762;

    font-size:14px;

    font-weight:600;

    line-height:1.45;

    flex:1;

}

.list-grid-industrial{
    display:grid !important;
    width:100%;
    grid-template-columns:repeat(2,minmax(440px,1fr));
    gap:18px 28px;
    margin-top:24px;
}

.list-grid-industrial > *{
    width:100% !important;
    margin:0 !important;
}

.list-grid-industrial ul{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

.licence-badges{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    width:100%;
    margin-top:22px;
}

@media (max-width:1024px){

    .industrial-why-choose-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .industrial-why-choose-list{

        grid-template-columns:1fr;

        justify-content:center;

    }

    .industrial-why-choose-list-item{

        width:100%;

        max-width:430px;

        margin:0 auto;

    }

    .list-grid-industrial{
        grid-template-columns:1fr;
        max-width:100%;
    }

    .list-grid-industrial ul{
        max-width:100%;
    }

}

@media (max-width:768px){

    .industrial-why-choose-heading{

        font-size:34px;

    }

    .industrial-why-choose-grid{

        grid-template-columns:1fr;

    }

    .industrial-why-choose-list-item{

        width:100%;

        max-width:100%;

    }

    .list-grid-industrial{
        grid-template-columns:1fr;
        max-width:100%;
    }

    .list-grid-industrial ul{
        max-width:100%;
    }

    .licence-badges{
        max-width:100%;
        padding:0 20px;
    }

}

/* ==========================================================
   EV INSTALLATION
========================================================== */

.ev-installation-section{

    background:#fff;

    padding:96px 0;

}

.ev-installation-container{

    width:calc(100% - 48px);

    max-width:1280px;

    margin:0 auto;

    display:grid;

    grid-template-columns:1.02fr .98fr;

    gap:34px;

    align-items:start;

}

/* ==========================
   LEFT
========================== */

.ev-installation-content{

    max-width:640px;

}

.ev-installation-label{

    margin:0;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.ev-installation-heading{

    margin:10px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:30px;

    font-weight:700;

    line-height:1.1;

    letter-spacing:-1px;

}

.ev-installation-description{

    margin-top:22px;

    color:#55597A;

    font-size:15px;

    line-height:1.65;

}

/* ==========================
   LIST
========================== */

.ev-installation-list{

    margin-top:42px;

    display:flex;

    flex-direction:column;

    gap:14px;

}

.ev-installation-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:22px;

    background:#fff;

    border:1px solid #E6E6E0;

    border-radius:22px;

    box-shadow:0 4px 12px rgba(0,7,98,.06);

    transition:.25s ease;

}

.ev-installation-item:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 24px rgba(0,7,98,.12);

}

.ev-installation-icon{

    flex:0 0 44px;

}

.ev-installation-icon svg{

    width:44px;

    height:44px;

}

.ev-installation-item-title{

    margin:0 !important;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:18px;

    font-weight:600;

    line-height:1.3;

}

.ev-installation-item-text{

    margin:2px 0 0 !important;

    color:#55597A;

    font-size:15px;

    line-height:1.6;

}

.ev-installation-item .wp-block-spectra-container{
    gap:4px !important;
}

/* ==========================
   RIGHT CARD
========================== */

.ev-installation-answer{

    background:#FAFAF8;

    border:1px solid #E6E6E0;

    border-radius:32px;

    padding:36px;

    box-shadow:0 4px 12px rgba(0,7,98,.05);

}

.ev-installation-answer-icon{

    margin-bottom:20px;

}

.ev-installation-answer-icon svg{

    width:52px;

    height:52px;

}

.ev-installation-answer-label{

    margin:0;

    color:#FF8901;

    font-family:Inter,sans-serif;

    font-size:12px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.ev-installation-answer-title{

    margin:10px 0 0;

    color:#000762;

    font-family:Poppins,sans-serif;

    font-size:28px;

    font-weight:700;

    line-height:1.15;

    letter-spacing:-1px;

}

.ev-installation-answer-text{

    margin-top:24px;

}

.ev-installation-answer-paragraph{

    margin:0 0 18px;

    color:#55597A;

    font-size:15px;

    line-height:1.75;

}

.ev-installation-answer-paragraph strong{

    color:#000762;

    font-weight:700;

}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width:1024px){

    .ev-installation-container{

        grid-template-columns:1fr;

        gap:48px;

    }

    .ev-installation-content{

        max-width:100%;

    }

}

@media (max-width:768px){

    .ev-installation-section{

        padding:72px 0;

    }

    .ev-installation-heading{

        font-size:34px;

    }

    .ev-installation-answer{

        padding:24px;

    }

    .ev-installation-answer-title{

        font-size:30px;

    }

}

/* ==========================================================
   SMART HOME
========================================================== */

.smart-home-section{
    background:#F5F5F3;
    padding:96px 0;
}

/* 2 columns */
.smart-home-content{
    display:flex !important;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:40px;

    width:fit-content;
    margin:0 auto;

    grid-template-columns:none !important;
    grid-template-areas:none !important;
    grid-template-rows:none !important;
}

/* ==========================
   LEFT GRID
========================== */

.smart-home-grid{
    flex:0 0 560px;
    display:flex;
    justify-content:center;
    align-items:center;
}

.evgrid1{
    width:100%;
    max-width:560px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}

/* Cards */

.smart-home-card{
    background:#fff;
    border:1px solid #E6E6E0;
    border-radius:22px;
    padding:18px;
    min-height:180px;
    box-shadow:0 4px 12px rgba(0,7,98,.05);
    transition:.25s ease;
}

.smart-home-card:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 24px rgba(0,7,98,.08);
}

/* Icon */

.smart-home-icon{
    margin-bottom:14px;
}

.smart-home-icon svg{
    width:42px;
    height:42px;
}

/* Card title */

.smart-home-card-title{
    margin:0;
    font-family:Poppins,sans-serif;
    font-size:16px;
    font-weight:600;
    color:#000762;
    line-height:1.3;
}

/* Card text */

.smart-home-card-text{
    margin-top:10px;
    font-size:14px;
    line-height:1.6;
    color:#55597A;
}

/* ==========================
   RIGHT
========================== */

.smart-home-text{
    flex:0 0 540px;
}

.smart-home-label{
    margin:0;
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#FF8901;
}

.smart-home-heading{
    margin:10px 0 0;
    font-family:Poppins,sans-serif;
    font-size:30px;
    font-weight:700;
    line-height:1.12;
    letter-spacing:-1px;
    color:#000762;
}

.smart-home-description{
    margin-top:22px;
}

.smart-home-paragraph{
    margin:0 0 18px;
    font-size:17px;
    line-height:1.7;
    color:#55597A;
}

.smart-home-paragraph:last-child{
    margin-bottom:0;
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width:1024px){

    .smart-home-content{
        display:grid !important;
        grid-template-columns:1fr;
        gap:48px;
        justify-content:center;
        width:100%;
    }

    .smart-home-grid{
        flex:0 0 auto;
        width:100%;
        order:2;
    }

    .evgrid1{
        order:2;
        max-width:100%;
    }

    .smart-home-text{
        flex:0 0 auto;
        max-width:100%;
        order:1;
    }

}

@media (max-width:768px){

    .evgrid1{
        grid-template-columns:1fr;
        max-width:100%;
    }

    .smart-home-heading{
        font-size:34px;
    }

}

/* ==========================================================
   SMOKE ALARM
========================================================== */

.smoke-alarm-section{
    padding:96px 0;
    background:#fff;
}

/* Main blue container */

.smoke-alarm-container{
    max-width:1280px;
    margin:0 auto;
    background:#000762;
    border-radius:28px;
    padding:56px;
    display:grid;
    grid-template-columns:1fr 440px;
    gap:56px;
    align-items:center;
    box-shadow:0 12px 30px rgba(0,7,98,.10);
}

/* ==========================
   LEFT
========================== */

.smoke-alarm-label{
    margin:0;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#FF8901;
}

.smoke-alarm-title{
    margin:12px 0 0;
    font-family:Poppins,sans-serif;
    font-size:30px;
    font-weight:700;
    line-height:1.12;
    letter-spacing:-1px;
    color:#fff;
}

.smoke-alarm-text{
    margin-top:22px;
    font-size:17px;
    line-height:1.7;
    color:rgba(255,255,255,.82);
}

.smoke-alarm-text strong{
    color:#fff;
    font-weight:600;
}

.smoke-alarm-text strong:first-child{
    color:#FF8901;
}

/* Buttons wrapper */
.wp-block-buttons{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:14px;
    margin-top:30px;
}

.wp-block-buttons .wp-block-button{
    margin:0;
}

.smoke-alarm-container .smoke-alarm-button-primary .wp-block-button__link{
    background:#FF8901 !important;
    border:none !important;
    color:#000762 !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 28px;
    border-radius:999px;
    text-decoration:none;
    white-space:nowrap;
    transition:.25s;
}

.smoke-alarm-container .smoke-alarm-button-primary .wp-block-button__link:hover{
    background:#ff9a24 !important;
    color:#000762 !important;
    transform:translateY(-2px);
}

.smoke-alarm-container .smoke-alarm-button-secondary .wp-block-button__link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 28px;
    border-radius:999px;
    border:1.5px solid rgba(255,255,255,.45) !important;
    color:#fff !important;
    background:transparent !important;
    text-decoration:none;
    white-space:nowrap;
    transition:.25s;
}

.smoke-alarm-container .smoke-alarm-button-secondary .wp-block-button__link:hover{
    background:#fff !important;
    color:#000762 !important;
}

/* ==========================
   RIGHT PANEL
========================== */

.smoke-alarm-list{
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:22px 24px;
    backdrop-filter:blur(6px);
}

.smoke-alarm-item{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.smoke-alarm-item + .smoke-alarm-item{
    margin-top:16px;
}

.smoke-alarm-item-title{
    margin:0;
    margin-bottom:2px;
    font-family:Poppins,sans-serif;
    font-size:18px;
    font-weight:600;
    color:#fff;
}

.smoke-alarm-item-text{
    margin:2px 0 0;
    font-size:15px;
    line-height:1.45;
    color:rgba(255,255,255,.72);
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width:1024px){

    .smoke-alarm-container{
        grid-template-columns:1fr;
        gap:42px;
        padding:40px;
    }

}

@media (max-width:768px){

    .smoke-alarm-section{
        padding:72px 0;
    }

    .smoke-alarm-container{
        padding:28px;
    }

    .smoke-alarm-title{
        font-size:34px;
    }

    .wp-block-buttons{
        flex-wrap:wrap;
        flex-direction:column;
    }

    .smoke-alarm-container .smoke-alarm-button-primary .wp-block-button__link,
    .smoke-alarm-container .smoke-alarm-button-secondary .wp-block-button__link{
        width:100%;
        white-space:normal;
    }

}

/* Remove Spectra's vertical gap */
.smoke-alarm-item .wp-block-spectra-container{
    gap:2px !important;
}

/* Remove heading bottom margin */
.smoke-alarm-item-title{
    margin:0 !important;
}

/* Remove paragraph top margin */
.smoke-alarm-item-text{
    margin:0 !important;
}

.smoke-alarm-item + .smoke-alarm-item{
    margin-top:0px;
}

.smoke-alarm-list .spectra-list-item{
    padding:0 !important;
    margin:0 !important;
}

/* Don't let Spectra stretch the list items */
.smoke-alarm-list{
    display:flex !important;
    flex-direction:column;
    gap:12px !important;
}

/* Every row should size to its content */
.smoke-alarm-item{
    display:flex !important;
    align-items:flex-start;
    gap:14px;
    min-height:0 !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
}

/* Kill Spectra's inner flex spacing */
.smoke-alarm-item > .wp-block-spectra-container{
    display:flex !important;
    flex-direction:column;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    gap:2px !important;
    height:auto !important;
    min-height:0 !important;
}
