

/* =====================================================
   GLOBAL TYPOGRAPHY
===================================================== */

html,
body,
button,
input,
textarea,
select,
p,
div {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
}


/* ALL HEADINGS */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Anton', Impact, sans-serif;
    font-weight: 400;
}


/* BUTTONS + NAVIGATION STAY EPILOGUE */

a,
button,
input,
textarea,
select,
.buildbulb-nav,
.buildbulb-service-cta,
.buildbulb-commercial-cta {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
}




/* =====================================================
   ROOT
===================================================== */

:root {

    --buildbulb-charcoal: #101827;
    --buildbulb-ink: #070b12;

    --buildbulb-blue: #0a84ff;
    --buildbulb-blue-dark: #0067d8;

    --buildbulb-yellow: #ffd43b;
    --buildbulb-yellow-hover: #ffe16b;

    --buildbulb-white: #ffffff;
    --buildbulb-light: #f5f7fa;

    --buildbulb-text: #111827;

    --header-space: 118px;
}


/* =====================================================
   RESET
===================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {

    margin: 0;

    scroll-behavior: smooth;

    scroll-padding-top:
        var(--header-space);
}


body {

    margin: 0;
    padding: 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    color:
        var(--buildbulb-text);

    background:
        var(--buildbulb-light);

    overflow-x: hidden;
}


img {
    display: block;
    max-width: 100%;
    height: auto;
}


a {
    color: inherit;
}


button {
    font: inherit;
}


/* =====================================================
   SITE
===================================================== */

.buildbulb-site {

    width: 100%;
    min-height: 100vh;

}


/* =====================================================
   FIXED HEADER
===================================================== */

.buildbulb-header {

    position: fixed !important;

    top: 0;
    left: 0;
    right: 0;

    z-index: 999999;

    width: 100%;

    padding:
        10px
        0
        13px;

    background:
        rgba(
            236,
            243,
            243,
            .0
        );

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);

    transition:
        padding .28s ease,
        background .28s ease,
        box-shadow .28s ease;

}


/* =====================================================
   HEADER SHELL
===================================================== */

.buildbulb-header-inner {

    width:
        min(
            calc(100% - 24px),
            1900px
        );

    min-height: 94px;

    margin:
        0
        auto;

    display: flex;

    align-items: center;

    background:
        var(--buildbulb-white);

    border-radius:
        100px;

    overflow: hidden;

    box-shadow:
        0 8px 30px
        rgba(
            4,
            36,
            56,
            .06
        );
        padding: 0 10px;

    transition:
        min-height .28s ease,
        border-radius .28s ease,
        box-shadow .28s ease;

}


/* =====================================================
   LOGO
===================================================== */

.buildbulb-logo {

    flex:
        0
        0
        auto;

    width:
        clamp(
            200px,
            calc(155px + 6vw),
            310px
        );

    padding:
        15px
        28px;

    display: flex;

    align-items: center;

    justify-content: flex-start;

    text-decoration: none;

    transition:
        width .28s ease,
        padding .28s ease;

}


.buildbulb-logo img {

    width:
        clamp(
            170px,
            calc(130px + 2vw),
            235px
        );

    transition:
        width .28s ease;

}


/* =====================================================
   DESKTOP NAVIGATION
===================================================== */

.buildbulb-nav {

    flex: 1;

    min-width: 0;

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap:
        clamp(
            18px,
            calc(8px + 1.1vw),
            42px
        );

    padding:
        0
        clamp(
            20px,
            calc(10px + 1.8vw),
            46px
        );

}


.buildbulb-nav a {

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    color:
        var(--buildbulb-text);

    font-size:
        clamp(
            14px,
            calc(12px + .24vw),
            18px
        );

    font-weight: 800;

    line-height: 1.15;

    letter-spacing: -.2px;

    text-decoration: none;

    white-space: nowrap;

    transition:
        color .22s ease;

}


.buildbulb-nav a::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;

    bottom: -12px;

    width: 0;
    height: 3px;

    margin: auto;

    border-radius: 5px;

    background:
        var(--buildbulb-blue);

    transition:
        width .22s ease;

}


.buildbulb-nav a:hover {

    color:
        var(--buildbulb-blue);

}


.buildbulb-nav a:hover::after {

    width: 100%;

}


.buildbulb-home-link {

    font-size:
        clamp(
            16px,
            calc(14px + .28vw),
            20px
        ) !important;

}


/* =====================================================
   RIGHT ACTION AREA
===================================================== */

.buildbulb-header-actions {

    flex:
        0
        0
        auto;

    min-height: 94px;

    padding:
        12px
        16px
        12px
        27px;

    display: flex;

    align-items: center;

    gap:
        clamp(
            15px,
            calc(8px + .9vw),
            27px
        );

    background:
        var(--buildbulb-charcoal);

    border-radius:
        46px;

    transition:
        min-height .28s ease,
        padding .28s ease,
        border-radius .28s ease;

}


/* =====================================================
   CALL Nick
===================================================== */

.buildbulb-call-link {

    display:
        inline-flex;

    align-items: center;

    gap: 11px;

    color:
        var(--buildbulb-white);

    font-size:
        clamp(
            14px,
            calc(12px + .28vw),
            18px
        );

    font-weight: 800;

    text-decoration: none;

    white-space: nowrap;

}


.buildbulb-call-link i {

    color:
        var(--buildbulb-yellow);

}


.buildbulb-call-link:hover {

    color:
        var(--buildbulb-yellow);

}


/* =====================================================
   GET A QUOTE
===================================================== */

.buildbulb-header-cta {

    min-height: 67px;

    padding:
        0
        clamp(
            25px,
            calc(15px + 1.4vw),
            45px
        );

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    border-radius: 40px;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-text);

    font-size:
        clamp(
            14px,
            calc(12px + .3vw),
            18px
        );
        font-family:  'Plus Jakarta Sans', Arial, Helvetica, sans-serif;;

    font-weight: 900;

    text-decoration: none;

    white-space: nowrap;

    text-transform: uppercase;

    transition:
        min-height .28s ease,
        padding .28s ease,
        background .22s ease,
        transform .22s ease;

}


.buildbulb-header-cta:hover {

    background:
        var(--buildbulb-blue);

    transform:
        translateY(-1px);
        color: white;

}


/* =====================================================
   SHRUNK HEADER
===================================================== */

.buildbulb-header.is-scrolled {

    padding:
        5px
        0;

    background:
        rgba(
            247,
            245,
            239,
            .0
        );

    box-shadow:
        0 8px 24px
        rgba(
            3,
            31,
            56,
            .11
        );

}


.buildbulb-header.is-scrolled
.buildbulb-header-inner {

    min-height: 70px;

    border-radius:
        100px;

}


.buildbulb-header.is-scrolled
.buildbulb-logo {

    width:
        clamp(
            180px,
            calc(140px + 1vw),
            240px
        );

    padding:
        7px
        24px;

}


.buildbulb-header.is-scrolled
.buildbulb-logo img {

    width:
        clamp(
            150px,
            calc(120px + 1vw),
            185px
        );

}


.buildbulb-header.is-scrolled
.buildbulb-header-actions {

    min-height: 70px;

    padding-top: 6px;
    padding-bottom: 6px;

    border-radius:
        35px;

}


.buildbulb-header.is-scrolled
.buildbulb-header-cta {

    min-height: 52px;

}


/* =====================================================
   MOBILE CONTROLS
===================================================== */

.buildbulb-mobile-actions {

    display: none;

    margin-left: auto;

    align-items: center;

    gap: 17px;

    padding-right: 18px;

}


.buildbulb-mobile-phone {

    width: 56px;
    height: 56px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        var(--buildbulb-ink);

    color:#ffd43b;
        /* var(--buildbulb-blue); */

    text-decoration: none;

    font-size: 22px;

}


.buildbulb-menu-toggle {

    width: 50px;
    height: 50px;

    padding: 0;

    display: none;

    align-items: center;

    justify-content: center;

    border: 0;

    background:
        transparent;

    color:
        var(--buildbulb-blue-dark);

    font-size: 31px;

    cursor: pointer;

}


/* =====================================================
   MOBILE MENU
===================================================== */

.buildbulb-mobile-menu {

    position: fixed;

    z-index: 1000000;

    inset: 0;

    width: 100%;
    height: 100dvh;

    display: flex;

    flex-direction: column;

    background:
        var(--buildbulb-white);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform:
        translateY(-10px);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease;

}


.buildbulb-mobile-menu.is-open {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform:
        translateY(0);

}


.buildbulb-mobile-menu-head {

    min-height: 105px;

    padding:
        15px
        22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

}


.buildbulb-mobile-menu-logo {

    display: inline-flex;

    width:
        clamp(
            155px,
            calc(125px + 8vw),
            215px
        );

}


.buildbulb-mobile-menu-controls {

    display: flex;

    align-items: center;

    gap: 19px;

}


.buildbulb-mobile-menu-phone {

    width: 55px;
    height: 55px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #ffd43b;
        /* var(--buildbulb-ink); */

    color:
        var(--buildbulb-blue);

    text-decoration: none;

}


.buildbulb-mobile-close {

    width: 47px;
    height: 47px;

    border: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        transparent;

    color:
        var(--buildbulb-blue-dark);

    font-size: 33px;

    cursor: pointer;

}


.buildbulb-mobile-nav {

    flex: 1;

    padding:
        36px
        clamp(
            25px,
            calc(17px + 3vw),
            48px
        )
        40px;

    display: flex;

    flex-direction: column;

}


.buildbulb-mobile-nav
a:not(.buildbulb-mobile-cta) {

    min-height:
        clamp(
            61px,
            calc(54px + 1.2vw),
            76px
        );

    display: flex;

    align-items: center;

    gap: 13px;

    color:
        var(--buildbulb-text);

    font-size:
        clamp(
            20px,
            calc(17px + .75vw),
            29px
        );

    font-weight: 600;

    text-decoration: none;

    border-bottom:
        1px solid
        rgba(
            10,
            39,
            52,
            .09
        );

}


.buildbulb-mobile-nav i {

    width: 28px;

    color:
        var(--buildbulb-blue);

    text-align: center;

}


.buildbulb-mobile-cta {

    min-height: 68px;

    margin-top: 34px;

    padding:
        0
        32px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 20px;

    border-radius: 38px;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-text) !important;

    font-size:
        17px;

    font-weight: 900;

    text-decoration: none;

    text-transform: uppercase;

}


/* =====================================================
   TEST MAIN AREA
===================================================== */

.buildbulb-test-main {

    /*
     * Header is fixed, so the content begins
     * below the header instead of hiding behind it.
     */

    padding-top:
        var(--header-space);

}


.buildbulb-test-placeholder {

    min-height: 1920px;

    padding:
        100px
        30px;

    display: flex;

    align-items: flex-start;

    justify-content: center;

    background:

        linear-gradient(
            180deg,
            #eef4f4 0%,
            #f5f7fa 45%,
            #e8f0ee 100%
        );

}


.buildbulb-test-message {

    position: sticky;

    top: 170px;

    padding:
        30px
        45px;

    border-radius: 15px;

    background:
        var(--buildbulb-charcoal);

    color:
        var(--buildbulb-white);

    text-align: center;

    box-shadow:
        0 12px 35px
        rgba(
            3,
            31,
            56,
            .14
        );

}


.buildbulb-test-message h1 {

    margin:
        0
        0
        8px;

    color:
        var(--buildbulb-yellow);

    font-size:
        clamp(
            28px,
            4vw,
            50px
        );

}


.buildbulb-test-message p {

    margin: 0;

}


/* =====================================================
   BACK TO TOP
===================================================== */

.buildbulb-back-to-top {

    position: fixed;

    right:
        clamp(
            15px,
            2vw,
            30px
        );

    bottom:
        clamp(
            15px,
            2vw,
            30px
        );

    z-index: 999998;

    width: 58px;
    height: 58px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink);

    text-decoration: none;

    font-size: 20px;

    box-shadow:
        0 9px 28px
        rgba(
            0,
            0,
            0,
            .22
        );

    opacity: 0;

    visibility: hidden;

    transform:
        translateY(15px);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease,
        background .2s ease;

}


.buildbulb-back-to-top.is-visible {

    opacity: 1;

    visibility: visible;

    transform:
        translateY(0);

}


.buildbulb-back-to-top:hover {

    background:
        var(--buildbulb-yellow-hover);

    transform:
        translateY(-3px);

}
/* =====================================================
   FLOATING WHATSAPP BUTTON
===================================================== */

.buildbulb-whatsapp-float {

    position: fixed;

    right:
        clamp(
            15px,
            2vw,
            30px
        );

    bottom:
        calc(
            58px +
            clamp(
                15px,
                2vw,
                30px
            ) +
            16px
        );

    z-index: 999998;

    width: 58px;
    height: 58px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #25d366;

    color: #ffffff;

    text-decoration: none;

    font-size: 28px;

    box-shadow:
        0 9px 28px
        rgba(
            0,
            0,
            0,
            .22
        );

    opacity: 0;

    visibility: hidden;

    transform:
        translateY(15px);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease,
        background .2s ease;

}


.buildbulb-whatsapp-float.is-visible {

    opacity: 1;

    visibility: visible;

    transform:
        translateY(0);

}


.buildbulb-whatsapp-float::after {

    content: "";

    position: absolute;

    inset: 0;

    border-radius: 50%;

    box-shadow:
        0 0 0 0
        rgba(37,211,102,.5);

    animation:
        buildbulb-whatsapp-pulse
        2.6s
        infinite;

    pointer-events: none;

}


@keyframes buildbulb-whatsapp-pulse {

    0% {
        box-shadow:
            0 0 0 0
            rgba(37,211,102,.45);
    }

    70% {
        box-shadow:
            0 0 0 16px
            rgba(37,211,102,0);
    }

    100% {
        box-shadow:
            0 0 0 0
            rgba(37,211,102,0);
    }

}


.buildbulb-whatsapp-float:hover {

    background: #1ebe5a;

    transform:
        translateY(-3px);

    box-shadow:
        0 12px 32px
        rgba(0,0,0,.28);

}


@media (prefers-reduced-motion: reduce) {

    .buildbulb-whatsapp-float::after {

        animation: none;

    }

}


@media (max-width: 600px) {

    .buildbulb-whatsapp-float {

        width: 52px;
        height: 52px;

        right: 14px;

        bottom:
            calc(52px + 14px + 12px);

        font-size: 24px;

    }

}


/* =====================================================
   FLOATING ESTIMATE BUTTON
===================================================== */

.buildbulb-floating-estimate {
    position: fixed;

    right: clamp(15px, 2vw, 30px);
    bottom: 88px;

    z-index: 999997;

    min-height: 52px;
    padding: 0 22px;

    display: inline-flex;

    align-items: center;
    justify-content: center;
    gap: 10px;

    border-radius: 30px;

    background: #c62828;
    color: #ffffff;

    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;

    box-shadow: 0 10px 26px rgba(0, 0, 0, .22);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}


.buildbulb-floating-estimate:hover,
.buildbulb-floating-estimate:focus-visible {
    background: #a61f1f;
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .28);
}


@media (max-width: 600px) {

    .buildbulb-floating-estimate {
        right: 14px;
        bottom: 78px;
        min-height: 46px;
        padding: 0 16px;
        font-size: 11px;
    }

}


/* =====================================================
   WORDPRESS ADMIN BAR
===================================================== */

body.admin-bar
.buildbulb-header {

    top: 32px;

}


@media (max-width: 782px) {

    body.admin-bar
    .buildbulb-header {

        top: 46px;

    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1380px) {

    .buildbulb-nav {

        gap:
            clamp(
                13px,
                1.1vw,
                21px
            );

    }


    .buildbulb-nav a {

        font-size:
            clamp(
                12px,
                calc(11px + .18vw),
                15px
            );

    }


    .buildbulb-header-actions {

        padding-left: 20px;

    }


    .buildbulb-header-cta {

        padding:
            0
            25px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 1170px) {

.buildbulb-logo img {

width:
    clamp(
        121px,
        calc(120px + 0vw),
        213px
    );

transition:
    width .28s ease;

}
}



@media (max-width: 1100px) {

    :root {

        --header-space: 88px;

    }


    .buildbulb-header,
    .buildbulb-header.is-scrolled {

        position: fixed !important;

        top: 0;
        left: 0;
        right: 0;

        padding: 0;

        background:
            var(--buildbulb-white);

    }


    .buildbulb-header-inner,
    .buildbulb-header.is-scrolled
    .buildbulb-header-inner {

        width: 100%;

        min-height: 88px;

        border-radius: 0;

        overflow: visible;

        box-shadow:
            0 4px 18px
            rgba(
                0,
                0,
                0,
                .05
            );

    }


    .buildbulb-logo,
    .buildbulb-header.is-scrolled
    .buildbulb-logo {

        width:
            clamp(
                190px,
                calc(160px + 8vw),
                245px
            );

        padding:
            12px
            18px;

    }


    .buildbulb-logo img,
    .buildbulb-header.is-scrolled
    .buildbulb-logo img {

        width:
            clamp(
                155px,
                calc(130px + 7vw),
                205px
            );


            

    }


    .buildbulb-nav,
    .buildbulb-header-actions {

        display: none;

    }


    .buildbulb-mobile-actions {

        display: flex;

    }


    .buildbulb-menu-toggle {

        display: flex;

    }


    .buildbulb-test-message {

        top: 130px;

    }

}


/* =====================================================
   PHONE
===================================================== */

@media (max-width: 600px) {

    :root {

        --header-space: 76px;

    }


    .buildbulb-header-inner,
    .buildbulb-header.is-scrolled
    .buildbulb-header-inner {

        min-height: 76px;

    }


    .buildbulb-logo,
    .buildbulb-header.is-scrolled
    .buildbulb-logo {

        width: 175px;

        padding:
            9px
            13px;

    }


    .buildbulb-logo img,
    .buildbulb-header.is-scrolled
    .buildbulb-logo img {

        width: 100px;

    }


    .buildbulb-mobile-actions {

        gap: 10px;

        padding-right: 9px;

    }


    .buildbulb-mobile-phone {

        width: 47px;
        height: 47px;

        font-size: 18px;

    }


    .buildbulb-menu-toggle {

        width: 43px;
        height: 47px;

        font-size: 27px;

    }


    .buildbulb-mobile-menu-head {

        min-height: 82px;

        padding:
            11px
            15px;

    }


    .buildbulb-mobile-menu-logo {

        width: 160px;

    }


    .buildbulb-mobile-menu-phone {

        width: 48px;
        height: 48px;

    }


    .buildbulb-mobile-close {

        width: 40px;
        height: 48px;

        font-size: 29px;

    }


    .buildbulb-mobile-menu-controls {

        gap: 9px;

    }


    .buildbulb-mobile-nav {

        padding:
            22px
            20px
            30px;

    }


    .buildbulb-back-to-top {

        width: 52px;
        height: 52px;

        right: 14px;
        bottom: 14px;

    }


    .buildbulb-test-message {

        top: 110px;

        padding:
            25px
            20px;

    }

}

/* =====================================================
   Buildbulb HERO
===================================================== */

.buildbulb-hero {

margin-top:
    calc(var(--header-space) * -1);

position: relative;

width: 100%;
height: auto;

/* min-height:
    clamp(
        620px,
        65vw,
        900px
    ); */

display: flex;

align-items: center;
justify-content: center;

overflow: hidden;

background: #000;

}


/* =====================================================
YOUTUBE BACKGROUND CONTAINER
===================================================== */

.buildbulb-hero-bg {

position: absolute;

inset: -3px;

z-index: 0;

width: calc(100% + 6px);
height: calc(100% + 6px);

overflow: hidden;

background: #000;

pointer-events: none;

}


/* =====================================================
YOUTUBE VIDEO
TRUE 16:9 BACKGROUND COVER
===================================================== */

.buildbulb-hero-video {
    position: absolute;

top: 50%;
left: 50%;

/*
 * TRUE 16:9 COVER
 *
 * If hero is wide → width controls size.
 * If hero is tall → height controls size.
 */

width: max(
    100%,
    177.78vh
);

height: max(
    56.25vw,
    100%
);

min-width: 100%;
min-height: 100%;

max-width: none;
max-height: none;

transform:
    translate(-50%, -50%);

border: 0;

pointer-events: none;

}


/* =====================================================
HERO OVERLAY
===================================================== */

.buildbulb-hero-overlay {

position: absolute;

z-index: 1;

inset: 0;

pointer-events: none;

background:

    linear-gradient(
        180deg,
        rgb(62 70 57 / 86%) 0%,
        #36302433 20%,
        rgb(0 0 0 / 28%) 48%,
        rgb(0 54 18 / 11%) 73%,
        rgba(3, 31, 56, .16) 100%
    ),

    linear-gradient(
        90deg,
        rgb(12 64 29 / 23%) 0%,
        rgb(20 0 0 / 14%) 48%,
        rgb(162 128 0 / 3%) 100%
    );

}


/* =====================================================
HERO CONTENT
===================================================== */

.buildbulb-hero-inner {

position: relative;

z-index: 3;

width:
    min(
        92%,
        1120px
    );
/* 
margin: 0 auto; */
margin: 50px;

padding:
    clamp(
        150px,
        12vw,
        190px
    )
    20px
    clamp(
        75px,
        7vw,
        115px
    );

display: flex;

flex-direction: column;

align-items: center;
justify-content: center;

text-align: center;

}


/* =====================================================
EYEBROW
===================================================== */

.buildbulb-hero-eyebrow {

width: 100%;

margin:
    0
    0
    clamp(
        8px,
        1vw,
        14px
    );

color: #ffd43b;

font-size:
    clamp(
        18px,
        calc(15px + .7vw),
        30px
    );

font-weight: 900;

line-height: 1.08;

letter-spacing: -.4px;

text-transform: uppercase;

text-shadow:
    0 1px 1px
    rgb(0 0 0 / 78%);

font-family:
    'Plus Jakarta Sans',
    Arial,
    Helvetica,
    sans-serif;

}


/* =====================================================
H1
===================================================== */

.buildbulb-hero-title {

width: 100%;

max-width: 1000px;

margin: 0;

color: #ffffff;

font-size:
    clamp(
        42px,
        calc(26px + 2.7vw),
        60px
    );

font-weight: 900;

line-height: 1.2;

text-transform: uppercase;

text-shadow:
    0 2px 3px
    rgb(0 0 0 / 68%);

letter-spacing: 1px;

}


.buildbulb-hero-title span {

display: block;

}


/* =====================================================
DESCRIPTION
===================================================== */

.buildbulb-hero-description {

width:
    min(
        100%,
        600px
    );

margin:
    clamp(
        17px,
        2vw,
        24px
    )
    auto
    0 !important;

color: #ffffff;

font-size:
    clamp(
        15px,
        calc(13px + .32vw),
        19px
    );

font-weight: 600;

line-height: 1.5;

text-shadow:
    0 1px 2px
    rgb(0 0 0 / 75%);

}


.snow {

color: #9ae6ff;

letter-spacing: 2px;

}


/* =====================================================
CTA
===================================================== */

.buildbulb-hero-cta {

min-height:
    clamp(
        54px,
        calc(49px + .7vw),
        64px
    );

margin-top:
    clamp(
        21px,
        2.5vw,
        31px
    );

padding:
    0
    clamp(
        26px,
        calc(19px + 1.4vw),
        44px
    );

display: inline-flex;

align-items: center;
justify-content: center;

gap: 18px;

border-radius: 40px;

background:
    var(--buildbulb-yellow);

color:
    var(--buildbulb-text);

font-size:
    clamp(
        13px,
        calc(12px + .25vw),
        17px
    );

font-weight: 900;

line-height: 1;

text-transform: uppercase;

text-decoration: none;

box-shadow:
    0 8px 24px
    rgba(0,0,0,.16);

transition:
    background .22s ease,
    transform .22s ease,
    box-shadow .22s ease;

}


.buildbulb-hero-cta:hover {

background:
    var(--buildbulb-charcoal);
    color: white;

transform:
    translateY(-2px);

box-shadow:
    0 12px 28px
    rgba(0,0,0,.20);

}


.buildbulb-hero-cta i {

transition:
    transform .22s ease;

}


.buildbulb-hero-cta:hover i {

transform:
    translateX(4px);

}


/* =====================================================
TABLET / IPAD
===================================================== */

@media (max-width: 1100px) {

    .buildbulb-hero {

min-height: 650px;

aspect-ratio: auto;
/* margin-top: calc(var(--header-space) * -1); */

}


.buildbulb-hero-bg {

position: absolute;

inset: -3px;

width: calc(100% + 6px);
height: calc(100% + 6px);

overflow: hidden;

}


.buildbulb-hero-video {
position: absolute !important;
top: 50% !important;
left: 50% !important;

width: 1800px !important;
height: 1012.5px !important;

min-width: 1800px !important;
min-height: 1012.5px !important;

max-width: none !important;
max-height: none !important;

transform:
    translate(-50%, -50%) !important;

}


.buildbulb-hero-inner {


    margin: 0px;

width: min(94%, 850px);

padding:
    120px
    20px
    65px;
}


.buildbulb-hero-title {

font-size:
    clamp(
        40px,
        6vw,
        60px
    );

}


}


/* =====================================================
MOBILE
===================================================== */

@media (max-width: 600px) {



    .buildbulb-hero {

/* margin-top: 0 !important; */

min-height: 0;

aspect-ratio:
    1 / 1.4;

}


.buildbulb-hero-bg {

inset: -3px;

width: calc(100% + 6px);
height: calc(100% + 6px);

overflow: hidden;

}


/*
* 16:9 video covering a 1:1.4 hero
*/

.buildbulb-hero-video {

position: absolute !important;

top: 50% !important;
left: 50% !important;

width: 249% !important;
height: 100% !important;

min-width: 249% !important;
min-height: 100% !important;

max-width: none !important;
max-height: none !important;

transform:
    translate(
        -50%,
        -50%
    ) !important;

}


.buildbulb-hero-inner {

width: 100%;
height: 100%;

padding:
    102px
    20px
    38px;

justify-content: center;

}


.buildbulb-hero-eyebrow {

font-size:
    clamp(
        14px,
        4.5vw,
        19px
    );

line-height: 1.1;

}


.buildbulb-hero-title {

max-width: 430px;

font-size:
    clamp(
        22px,
        9.4vw,
        25px
    );

line-height: 1.2;

letter-spacing: 1px;

}


.buildbulb-hero-description {

max-width: 390px;

margin-top: 15px !important;

font-size:
    clamp(
        12px,
        3.8vw,
        16px
    );

line-height: 1.4;

}


.buildbulb-hero-cta {

min-height: 35px;

margin-top: 19px;

padding:
    0
    22px;

font-size: 12px;

}

}


/* =====================================================
SMALL MOBILE
===================================================== */

@media (max-width: 390px) {

    .buildbulb-hero {

aspect-ratio:
    1 / 1.2;

}


.buildbulb-hero-video {

width: 214% !important;
min-width: 214% !important;

height: 100% !important;
min-height: 100% !important;

}


.buildbulb-hero-inner {

padding:
    95px
    16px
    34px;

}


.buildbulb-hero-title {

font-size: 22px;

}


.buildbulb-hero-description {

font-size: 12px;

}
}

@media (max-width: 375px) {

    .buildbulb-hero-title {
    font-size: 16px;
}

}


/* =====================================================
           TRUST LAYER SECTION
        ===================================================== */

        .buildbulb-trust-layer {

            --trust-navy: #0d1b2a;
            --trust-navy-dark: #08111c;

            --trust-blue: #0a84ff;
            --trust-yellow: #ffd43b;
            --trust-yellow-hover: #ffe16b;

            --trust-white: #ffffff;
            --trust-soft-white: #eef5f7;

            position: relative;

            width: 100%;

            overflow: hidden;

            background:
                radial-gradient(
                    circle at 50% 10%,
                    #13263d 0%,
                    var(--trust-navy) 36%,
                    var(--trust-navy-dark) 100%
                );

            color:
                var(--trust-white);

            padding-bottom:
                clamp(
                    60px,
                    7vw,
                    110px
                );

        }


        /* =====================================================
           INNER WIDTH
        ===================================================== */

        .buildbulb-trust-inner {

            width:
                min(
                    92%,
                    1450px
                );

            margin:
                0 auto;

        }


        /* =====================================================
           TRUST STATS
        ===================================================== */

        .buildbulb-trust-stats {

            width: 100%;

            display: grid;

            grid-template-columns:
                repeat(
                    4,
                    minmax(0,1fr)
                );

            align-items: center;

            padding:
                clamp(
                    28px,
                    3vw,
                    46px
                )
                0
                clamp(
                    30px,
                    3.5vw,
                    52px
                );

        }


        .buildbulb-trust-stat {

            min-height: 88px;

            padding:
                0
                clamp(
                    18px,
                    2vw,
                    32px
                );

            display: flex;

            align-items: center;

            justify-content: center;

            gap:
                clamp(
                    12px,
                    1.3vw,
                    20px
                );

            position: relative;

        }


        .buildbulb-trust-stat:not(:last-child)::after {

            content: "";

            position: absolute;

            top: 13%;
            right: 0;

            width: 1px;
            height: 74%;

            background:
                rgba(
                    255,
                    255,
                    255,
                    .16
                );

        }


        .buildbulb-trust-stat-icon {

            flex:
                0
                0
                auto;

            color:
                var(--trust-yellow);

            font-size:
                clamp(
                    30px,
                    3vw,
                    48px
                );

            line-height: 1;

        }


        .buildbulb-trust-stat-copy {

            display: flex;

            flex-direction: column;

            justify-content: center;

        }


        .buildbulb-trust-stat-number {

            color:
                var(--trust-white);

            font-size:
                clamp(
                    24px,
                    calc(19px + .8vw),
                    38px
                );

            font-weight: 900;

            line-height: .95;

            text-transform: uppercase;

        }


        .buildbulb-trust-stat-label {

            margin-top: 5px;

            color:
                var(--trust-soft-white);

            font-size:
                clamp(
                    11px,
                    calc(10px + .18vw),
                    14px
                );

            font-weight: 800;

            line-height: 1.22;

            text-transform: uppercase;

        }


        .buildbulb-trust-stat-sub {

            margin-top: 3px;

            color:
                rgba(
                    255,
                    255,
                    255,
                    .76
                );

            font-size:
                clamp(
                    10px,
                    calc(9px + .15vw),
                    12px
                );

            font-weight: 600;

            line-height: 1.25;

        }


        /* =====================================================
           DIVIDER COPY
        ===================================================== */

        .buildbulb-trust-capability {

            margin:
                0
                auto
                clamp(
                    55px,
                    6vw,
                    95px
                );

            text-align: center;

            color:
                rgba(
                    255,
                    255,
                    255,
                    .78
                );

            font-size:
                clamp(
                    11px,
                    calc(10px + .18vw),
                    14px
                );

            font-weight: 700;

            letter-spacing: .7px;

            text-transform: uppercase;

        }


        /* =====================================================
           MAIN MESSAGE
        ===================================================== */

        .buildbulb-trust-message {

            width:
                min(
                    100%,
                    880px
                );

            margin:
                0 auto;

            text-align: center;

        }


        .buildbulb-trust-message h2 {

            margin:
                0
                auto;

            color:
                var(--trust-white);

            font-size:
                clamp(
                    28px,
                    calc(20px + 1.2vw),
                    44px
                );

            font-weight: 400;

            line-height: 1.04;

            /* letter-spacing: -.7px; */

            text-transform: uppercase;

        }


        .buildbulb-trust-intro {

            margin:
                clamp(
                    12px,
                    1.3vw,
                    18px
                )
                auto
                0;

            color:
                var(--trust-white);

            font-size:
                clamp(
                    15px,
                    calc(13px + .3vw),
                    18px
                );

            font-weight: 800;

        }


        .buildbulb-trust-description {

            width:
                min(
                    100%,
                    730px
                );

            margin:
                8px
                auto
                0 !important;

            color:
                rgba(
                    255,
                    255,
                    255,
                    .83
                );

            font-size:
                clamp(
                    16px,
                    calc(12px + .22vw),
                    18px
                );

            font-weight: 500;

            line-height: 1.55;

        }


        /* =====================================================
           CTA
        ===================================================== */

        .buildbulb-trust-cta {

            min-height:
                clamp(
                    48px,
                    calc(44px + .5vw),
                    56px
                );

            margin-top:
                clamp(
                    20px,
                    2vw,
                    28px
                );

            padding:
                0
                clamp(
                    24px,
                    calc(18px + 1vw),
                    36px
                );

            display: inline-flex;

            align-items: center;

            justify-content: center;

            gap: 14px;

            border-radius: 30px;

            background:
                var(--trust-yellow);

            color:
                #082638;

            font-size:
                clamp(
                    12px,
                    calc(11px + .2vw),
                    14px
                );

            font-weight: 900;

            text-decoration: none;

            text-transform: uppercase;

            box-shadow:
                0 8px 22px
                rgba(
                    0,
                    0,
                    0,
                    .18
                );

            transition:
                background .2s ease,
                transform .2s ease,
                box-shadow .2s ease;

        }


        .buildbulb-trust-cta:hover {

            background:
            var(--buildbulb-blue);
            color: white;

            transform:
                translateY(-2px);

            box-shadow:
                0 12px 28px
                rgba(
                    0,
                    0,
                    0,
                    .23
                );

        }


        .buildbulb-trust-cta i {

            transition:
                transform .2s ease;

        }


        .buildbulb-trust-cta:hover i {

            transform:
                translateX(4px);

        }


        /* =====================================================
           LEGEND DIFFERENCE INTRO
        ===================================================== */

        .buildbulb-difference-heading {

            margin-top:
                clamp(
                    26px,
                    3vw,
                    42px
                );

            text-align: center;

        }


        .buildbulb-difference-eyebrow {

            margin:
                65px 5px 20px
                5px;

            color:
                rgba(
                    255,
                    255,
                    255,
                    .67
                );

            font-size:
            clamp(
                    10px,
                    calc(16px + 0.15vw),
                    18px
                )
                ;

            font-weight: 600;

        }


        .buildbulb-difference-title {

            margin: 0;

            color:
                var(--trust-white);

            font-size:
                clamp(
                    24px,
                    calc(18px + 1vw),
                    36px
                );

            font-weight: 900;

            line-height: 1.05;

            text-transform: uppercase;

        }


        /* =====================================================
           3 CARDS
        ===================================================== */

        .buildbulb-difference-grid {

            width:
                min(
                    100%,
                    1050px
                );

            margin:
                clamp(
                    20px,
                    2vw,
                    30px
                )
                auto
                0;

            display: grid;

            grid-template-columns:
                repeat(
                    3,
                    minmax(0,1fr)
                );

            gap:
                clamp(
                    12px,
                    1.2vw,
                    18px
                );

        }


        .buildbulb-difference-card {

            min-height: 305px;

            padding:
                clamp(
                    25px,
                    2.5vw,
                    38px
                )
                clamp(
                    20px,
                    2vw,
                    30px
                )
                24px;

            display: flex;

            flex-direction: column;

            align-items: center;

            justify-content: flex-start;

            text-align: center;

            border:
                2px solid
                var(--trust-blue);

            border-radius: 11px;

            background:
                linear-gradient(
                    180deg,
                    rgba(3,47,82,.48),
                    rgba(2,35,61,.72)
                );

            box-shadow:
                inset
                0
                1px
                0
                rgba(
                    255,
                    255,
                    255,
                    .03
                );

            transition:
                transform .22s ease,
                border-color .22s ease,
                background .22s ease;

        }


        .buildbulb-difference-card:hover {

            transform:
                translateY(-5px);

            border-color:
                var(--trust-yellow);

            background:
                linear-gradient(
                    180deg,
                    rgba(4,57,95,.72),
                    rgba(2,35,61,.88)
                );

        }


        .buildbulb-difference-icon {

            width: 66px;
            height: 66px;

            margin-bottom:
                13px;

            display: flex;

            align-items: center;

            justify-content: center;

            color:
                var(--trust-yellow);

            font-size:
                clamp(
                    35px,
                    3vw,
                    48px
                );

        }


        .buildbulb-difference-card h3 {

            min-height:
                58px;

            margin:
                0;

            display: flex;

            align-items: center;

            justify-content: center;

            color:
                var(--trust-white);

            font-size:
                clamp(
                    20px,
                    calc(17px + .45vw),
                    27px
                );

            font-weight: 400;

            line-height: 1.04;

            text-transform: uppercase;

        }


        .buildbulb-difference-card p {

            flex: 1;

            width:
                min(
                    100%,
                    270px
                );

            margin:
                14px
                auto
                18px;

            color:
                rgba(
                    255,
                    255,
                    255,
                    .82
                );

            font-size:
                clamp(
                    16px,
                    calc(11px + .15vw),
                    18px
                );

            line-height: 1.5;
            font-weight: 300;

        }


        .buildbulb-difference-button {

            min-height: 42px;

            padding:
                0
                24px;

            display: inline-flex;

            align-items: center;

            justify-content: center;

            border-radius: 6px;

            background:
                var(--trust-yellow);

            color:
                #082638;

            font-size: 11px;

            font-weight: 900;

            text-transform: uppercase;

            text-decoration: none;

            transition:
                transform .2s ease,
                background .2s ease;

        }


        .buildbulb-difference-button:hover {

            background:
            var(--buildbulb-blue);
            color: white;

            transform:
                translateY(-2px);

        }


        /* =====================================================
           TABLET
        ===================================================== */

        @media (max-width: 1000px) {

            .buildbulb-trust-stats {

                grid-template-columns:
                    repeat(
                        2,
                        minmax(0,1fr)
                    );

            }


            .buildbulb-trust-stat {

                padding:
                    22px
                    20px;

            }


            .buildbulb-trust-stat:nth-child(2)::after {

                display: none;

            }


            .buildbulb-trust-stat:nth-child(-n+2) {

                border-bottom:
                    1px solid
                    rgba(
                        255,
                        255,
                        255,
                        .12
                    );

            }


            .buildbulb-trust-capability {

                margin-top: 10px;

            }

        }


        /* =====================================================
           MOBILE
        ===================================================== */

        @media (max-width: 700px) {

            .buildbulb-trust-layer {

                padding-bottom:
                    55px;

            }


            .buildbulb-trust-inner {

                width:
                    min(
                        90%,
                        520px
                    );

            }


            .buildbulb-trust-stats {

                grid-template-columns:
                    1fr
                    1fr;

                padding-top: 18px;

            }


            .buildbulb-trust-stat {

                min-height: 120px;

                padding:
                    18px
                    10px;

                flex-direction: column;

                gap: 8px;

                text-align: center;

            }


            .buildbulb-trust-stat:nth-child(odd)::after {

                display: block;

            }


            .buildbulb-trust-stat:nth-child(even)::after {

                display: none;

            }


            .buildbulb-trust-stat-icon {

                font-size: 34px;

            }


            .buildbulb-trust-stat-number {

                font-size: 22px;

            }


            .buildbulb-trust-stat-label {

                font-size: 10px;

            }


            .buildbulb-trust-stat-sub {

                font-size: 9px;

            }


            .buildbulb-trust-capability {

                margin-bottom:
                    50px;

                font-size: 10px;

                line-height: 1.4;

            }


            .buildbulb-trust-message h2 {

                font-size:
                    clamp(
                        26px,
                        7.6vw,
                        35px
                    );

            }


            .buildbulb-trust-description {

                max-width: 440px;

                font-size: 13px;

            }


            .buildbulb-difference-grid {

                grid-template-columns:
                    1fr;

                max-width: 420px;

                gap: 14px;

            }


            .buildbulb-difference-card {

                min-height: 0;

                padding:
                    28px
                    23px;

            }


            .buildbulb-difference-card h3 {

                min-height: 0;

            }

        }


        /* =====================================================
           SMALL MOBILE
        ===================================================== */

        @media (max-width: 420px) {

            .buildbulb-trust-inner {

                width:
                    calc(100% - 28px);

            }


            .buildbulb-trust-stat {

                padding-left: 7px;
                padding-right: 7px;

            }


            .buildbulb-trust-message h2 {

                font-size: 27px;

            }


            .buildbulb-difference-title {

                font-size: 24px;

            }

        }












/* =====================================================
   9 SERVICES SECTION
===================================================== */

.buildbulb-services-section {
    position: relative;
    width: 100%;

    padding:
        clamp(55px, 6vw, 90px)
        0
        clamp(65px, 7vw, 105px);

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #f9f7f0 0%,
            #ffffff 48%,
            #f7f0e6 100%
        );
}


/* =====================================================
   HEADING
===================================================== */

.buildbulb-services-heading {
    width: min(92%, 900px);
    margin: 0 auto;
    text-align: center;
}


.buildbulb-services-heading h2 {
    margin: 0;

    color:
        var(--buildbulb-ink);

    font-size:
        clamp(
            46px,
            calc(22px + 1.4vw),
            55px
        );

    font-weight: 400;
    line-height: 1;
    letter-spacing: -.8px;

    text-transform: uppercase;
}


.buildbulb-services-heading p {
    margin:
        8px
        auto
        0;

    color: #3f5059;

    font-size:
        clamp(
            14px,
            calc(13px + .2vw),
            17px
        );

    line-height: 1.45;
}


/* =====================================================
   CAROUSEL
===================================================== */

.buildbulb-services-carousel {
    position: relative;
    width: 100%;
    padding: 0 clamp(10px, 2vw, 32px);

    /* width:
        min(
            96%,
            1580px
        ); */

    margin:
        clamp(28px, 3vw, 42px)
        auto
        0;

    display: flex;

    align-items: center;

    gap:
        clamp(
            10px,
            1vw,
            18px
        );
}


/* =====================================================
   VIEWPORT
===================================================== */

/* .buildbulb-services-viewport {
    position: relative;

    flex: 1;
    min-width: 0;

    overflow: hidden;

    cursor: grab;

    touch-action: pan-y;
    user-select: none;
} */

.buildbulb-services-viewport {
    position: relative;

    flex: 1;
    min-width: 0;

    overflow: hidden;

    cursor: grab;

    touch-action: pan-y;

    user-select: none;
    -webkit-user-select: none;

    -webkit-tap-highlight-color: transparent;
}


.buildbulb-services-viewport.is-dragging {
    cursor: grabbing;
}


/* =====================================================
   TRACK
===================================================== */

/* .buildbulb-services-slider {
    display: flex;

    gap:
        clamp(
            14px,
            1.4vw,
            22px
        );

    width: max-content;

    will-change: transform;

    transition: none;
} */

.buildbulb-services-slider {
    display: flex;

    gap:
        clamp(
            14px,
            1.4vw,
            22px
        );

    width: max-content;

    transform:
        translate3d(0,0,0);

    will-change: transform;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    transition: none !important;
}


/* =====================================================
   CARD
===================================================== */

.buildbulb-service-card {
    position: relative;

    flex:
        0
        0
        calc(
            (100vw - 220px)
            / 4
        );

    max-width: 310px;
    min-width: 245px;

    height:
        clamp(
            330px,
            28vw,
            405px
        );

    overflow: hidden;

    border-radius: 13px;

    background:
        var(--buildbulb-ink);

    box-shadow:
        0 10px 28px
        rgba(3,31,56,.12);

    isolation: isolate;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.buildbulb-service-card:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 17px 38px
        rgba(3,31,56,.18);
}


/* =====================================================
   IMAGE
===================================================== */

/* .buildbulb-service-image {
    position: absolute;

    inset: 0;

    z-index: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    pointer-events: none;

    transition:
        transform .6s ease;
} */




.buildbulb-service-card:hover
.buildbulb-service-image {
    transform:
        scale(1.05);
}


/* =====================================================
   OVERLAY
===================================================== */

.buildbulb-service-card::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(3,31,56,.01) 20%,
            rgba(3,31,56,.25) 55%,
            rgba(3,31,56,.90) 100%
        );
}


/* =====================================================
   CONTENT
===================================================== */

.buildbulb-service-content {
    position: absolute;

    z-index: 3;

    left: 0;
    right: 0;
    bottom: 0;

    padding:
        28px
        22px
        22px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 13px;
}


/* =====================================================
   ICON — CLEAN, NO DARK CIRCLE
===================================================== */

.buildbulb-service-icon {
    display: flex;

    align-items: center;

    justify-content: flex-start;

    color:
        var(--buildbulb-yellow);

    font-size: 24px;
}


.buildbulb-service-icon i {
    color:
        var(--buildbulb-yellow) !important;
}


/* =====================================================
   TITLE
===================================================== */

.buildbulb-service-content h3 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(
            20px,
            calc(17px + .35vw),
            25px
        );

    font-weight: 900;

    line-height: 1.03;

    letter-spacing: -.4px;

    text-transform: uppercase;
}


/* =====================================================
   CTA
===================================================== */

.buildbulb-service-cta {
    min-height: 42px;

    padding:
        0
        21px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    border-radius: 6px;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink) !important;

    font-size: 11px;

    font-weight: 900;

    text-decoration: none !important;

    text-transform: uppercase;

    transition:
        background .2s ease,
        transform .2s ease;
}


.buildbulb-service-cta:hover {
    background:
        var(--buildbulb-yellow-hover);

    transform:
        translateY(-2px);
}


/* =====================================================
   ARROWS
===================================================== */

/* .buildbulb-services-arrow {
    flex:
        0
        0
        auto;

    width:
        clamp(
            46px,
            4vw,
            58px
        );

    height:
        clamp(
            46px,
            4vw,
            58px
        );

    display: flex;

    align-items: center;

    justify-content: center;

    border: 0;

    border-radius: 200px;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink);

    cursor: pointer;

    box-shadow:
        0 8px 22px
        rgba(3,31,56,.15);

    transition:
        background .2s ease,
        transform .2s ease;
} */
.buildbulb-services-arrow {
    position: relative;
    z-index: 10;
    flex: 0
        0
        auto;
    width: clamp(
            46px,
            4vw,
            58px
        );
    height: clamp(
            46px,
            4vw,
            58px
        );
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: var(--buildbulb-yellow);
    color: var(--buildbulb-ink);
    cursor: pointer;
    box-shadow: 0 9px 24px
        rgba(3,31,56,.15);
    -webkit-tap-highlight-color: transparent;
    transition: transform .25s
        cubic-bezier(.22,.61,.36,1),
        background .2s ease,
        box-shadow .25s ease;
}
.buildbulb-services-arrow:hover {
    background:
        var(--buildbulb-yellow-hover);

    transform:
        scale(1.06);
}


/* =====================================================
   TABLET — TWO CARDS
===================================================== */

@media (max-width: 1000px) {

    .buildbulb-services-carousel {
        width:
            calc(100% - 20px);
    }


    .buildbulb-service-card {
        flex:
            0
            0
            calc(
                50vw - 85px
            );

        min-width: 0;
        max-width: none;

        height:
            clamp(
                315px,
                48vw,
                390px
            );
    }

}


/* =====================================================
   MOBILE — ONE CARD
===================================================== */

@media (max-width: 600px) {

    .buildbulb-services-section {
        padding:
            48px
            0
            60px;
    }


    .buildbulb-services-carousel {
        width: 100%;

        gap: 7px;

        padding:
            0
            8px;
    }


    .buildbulb-services-slider {
        gap: 12px;
    }


    .buildbulb-service-card {
        flex:
            0
            0
            calc(
                100vw - 115px
            );

        min-width: 0;

        height:
            min(
                105vw,
                390px
            );
    }


    .buildbulb-services-arrow {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }

    

}


/* =====================================================
   360PX
===================================================== */

@media (max-width: 380px) {

    .buildbulb-service-card {
        flex:
            0
            0
            calc(
                100vw - 105px
            );

        height: 355px;
    }

}








/* =====================================================
   PROPERTIES WE SERVE
===================================================== */

.buildbulb-properties-section {
    position: relative;

    width: 100%;

    padding:
        clamp(50px, 6vw, 85px)
        20px;

    background:
        linear-gradient(
            180deg,
            #f8f6f0 0%,
            #ffffff 100%
        );
}


/* =====================================================
   MAIN NAVY CARD
===================================================== */

.buildbulb-properties-card {
    position: relative;

    width:
        min(
            94%,
            1500px
        );

    min-height:
        clamp(
            340px,
            30vw,
            460px
        );

    margin:
        0 auto;

    padding:
        clamp(
            38px,
            4vw,
            64px
        )
        clamp(
            34px,
            5vw,
            78px
        );

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(420px, .9fr);

    align-items: center;

    gap:
        clamp(
            35px,
            5vw,
            80px
        );

    overflow: hidden;

    border-radius:
        16px;

    background:
        linear-gradient(
            135deg,
            var(--buildbulb-ink) 0%,
            var(--buildbulb-charcoal) 65%,
            #08385e 100%
        );

    box-shadow:
        0 16px 40px
        rgba(3,31,56,.12);
}


/* =====================================================
   LEFT COPY
===================================================== */

.buildbulb-properties-copy {
    position: relative;
    z-index: 2;
}


.buildbulb-properties-copy h2 {
    margin:
        0
        0
        10px;

    color:
        var(--buildbulb-white);

    font-size:
        clamp(
            30px,
            calc(22px + 1.4vw),
            46px
        );

    font-weight: 400;

    line-height: 1.2;

    letter-spacing:
        -.7px;

    text-transform:
        uppercase;
}


.buildbulb-properties-intro {
    width:
        min(
            100%,
            560px
        );

    margin:
        0
        0
        clamp(
            22px,
            2.4vw,
            32px
        );

    color:
        rgba(255,255,255,.85);

    font-size:
        clamp(
            14px,
            calc(13px + .2vw),
            17px
        );

    line-height:
        1.5;
}


/* =====================================================
   PROPERTY LIST
===================================================== */

.buildbulb-properties-list {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap:
        14px
        clamp(
            20px,
            3vw,
            42px
        );
}


.buildbulb-property-item {
    display: flex;

    align-items: center;

    gap:
        10px;

    color:
        var(--buildbulb-white);

    font-size:
        clamp(
            13px,
            calc(12px + .2vw),
            16px
        );

    line-height:
        1.3;
}


.buildbulb-property-item i {
    flex:
        0
        0
        auto;

    color:
        var(--buildbulb-blue);

    font-size:
        clamp(
            15px,
            calc(14px + .2vw),
            18px
        );
}


/* =====================================================
   RIGHT MEDIA
===================================================== */

.buildbulb-properties-media {
    position: relative;

    width: 100%;

    min-height:
        clamp(
            250px,
            22vw,
            340px
        );
}


/* =====================================================
   IMAGE WRAPPERS
===================================================== */

.buildbulb-properties-image {
    position: absolute;

    overflow: hidden;

    border-radius:
        10px;

    box-shadow:
        0 14px 32px
        rgba(0,0,0,.24);
}


.buildbulb-properties-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    display: block;
}


/* LARGE IMAGE */

.buildbulb-properties-image-main {
    top: 0;
    right: 0;

    width:
        min(
            88%,
            520px
        );

    height:
        clamp(
            210px,
            18vw,
            290px
        );

    z-index: 1;
}


/* SMALL OVERLAPPING IMAGE */

.buildbulb-properties-image-small {
    left: 0;
    bottom: 0;

    width:
        min(
            48%,
            250px
        );

    height:
        clamp(
            125px,
            11vw,
            175px
        );

    z-index: 3;

    border:
        4px solid
        rgba(255,255,255,.12);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1050px) {

    .buildbulb-properties-card {
        grid-template-columns:
            1fr
            1fr;

        padding:
            40px
            34px;
    }


    .buildbulb-properties-media {
        min-height:
            280px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 760px) {

    .buildbulb-properties-section {
        padding:
            45px
            14px;
    }


    .buildbulb-properties-card {
        width: 100%;

        grid-template-columns:
            1fr;

        gap:
            35px;

        padding:
            36px
            24px
            28px;

        border-radius:
            14px;
    }


    .buildbulb-properties-copy {
        text-align:
            left;
    }


    .buildbulb-properties-list {
        grid-template-columns:
            1fr;
    }


    .buildbulb-properties-media {
        min-height:
            310px;
    }


    .buildbulb-properties-image-main {
        width:
            88%;

        height:
            245px;
    }


    .buildbulb-properties-image-small {
        width:
            48%;

        height:
            145px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 420px) {

    .buildbulb-properties-card {
        padding:
            30px
            20px
            24px;
    }


    .buildbulb-properties-copy h2 {
        font-size:
            28px;
    }


    .buildbulb-properties-media {
        min-height:
            270px;
    }


    .buildbulb-properties-image-main {
        width:
            92%;

        height:
            215px;
    }


    .buildbulb-properties-image-small {
        width:
            52%;

        height:
            125px;
    }

}








/* =====================================================
   Buildbulb VIDEO SHOWCASE
===================================================== */

.buildbulb-videos {

width: 100%;

padding:
    clamp(70px, 8vw, 110px)
    20px;

background: linear-gradient(
            180deg,
            #f9f7f0 0%,
            #ffffff 48%,
            #f7f0e6 100%
        );

}


.buildbulb-videos-inner {

width:
    min(
        92%,
        750px
    );

margin: 0 auto;

text-align: center;

}


/* EYEBROW */

.buildbulb-videos-eyebrow {

margin:
    0
    0
    12px;

color:
var(--buildbulb-blue);

font-size:
    clamp(
        14px,
        1.4vw,
        17px
    );

font-weight: 900;

letter-spacing: 1.5px;

text-transform: uppercase;

}


/* TITLE */

.buildbulb-videos-title {

margin:
    0
    auto
    42px;

max-width: 800px;

color:
    var(--buildbulb-ink);

font-size:
    clamp(
        30px,
        4vw,
        52px
    );

font-weight: 900;

line-height: 1.05;

text-transform: uppercase;

}





/* =====================================================
   VIDEO SECTION DESCRIPTION
===================================================== */

.buildbulb-videos-description {

width: min(100%, 760px);

margin:
    0
    auto
    24px;

color: var(--buildbulb-ink);
font-family:
        'Plus Jakarta Sans',
        Arial,
        Helvetica,
        sans-serif;

font-size:
    clamp(
        15px,
        1.3vw,
        18px
    );

font-weight: 700;

line-height: 1.75;

text-align: center;

letter-spacing: 0.1px;

}

/* =====================================================
   VIDEO SECTION DIVIDER
===================================================== */

.buildbulb-videos-divider {

width: min(100%, 750px);

height: 1px;

margin:
    30px
    auto
    32px;

background:
    linear-gradient(
        to right,
        transparent,
        rgba(0, 0, 0, 0.18) 15%,
        rgba(0, 0, 0, 0.18) 85%,
        transparent
    );

}


/* =====================================================
GRID
===================================================== */

.buildbulb-videos-grid {

display: grid;

grid-template-columns:
    repeat(2, minmax(0, 1fr));

gap: 15px;
    /* clamp(
        18px,
        2.5vw,
        30px
    ); */

align-items: start;

}


/* VIDEO CARD */

.buildbulb-video-card {

width: 100%;

max-width: 340px;

margin: 0 auto;

}


/* =====================================================
YOUTUBE SHORT
===================================================== */

.buildbulb-short-wrap {

position: relative;

width: 100%;

aspect-ratio:
    9 / 16;

overflow: hidden;

border-radius: 14px;

background: #000000;

box-shadow:
    0 14px 35px
    rgba(0,0,0,.15);

}


.buildbulb-short-wrap iframe {

position: absolute;

inset: 0;

width: 100%;
height: 100%;

border: 0;

}


/* =====================================================
TABLET
2 COLUMNS + THIRD CENTRED
===================================================== */

@media (max-width: 900px) {

.buildbulb-videos-grid {

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

}


.buildbulb-video-card:nth-child(3):last-child {

    grid-column:
        1 / -1;

    width:
        min(
            100%,
            340px
        );

    justify-self: center;

}

}


/* =====================================================
MOBILE
ONE COLUMN
===================================================== */

@media (max-width: 600px) {

.buildbulb-videos {

    padding:
        60px
        18px;

}

.buildbulb-videos-description {

width: 100%;

margin-bottom: 20px;

font-size: 15px;

line-height: 1.65;

}


.buildbulb-videos-divider {

width: 100%;

margin:
    24px
    auto
    26px;

}


.buildbulb-videos-grid {

    grid-template-columns:
        1fr;

    gap: 28px;

}


.buildbulb-video-card,
.buildbulb-video-card:nth-child(3):last-child {

    grid-column: auto;

    width: 100%;

    max-width: 330px;

    justify-self: center;

}


.buildbulb-videos-title {

    margin-bottom: 32px;

}

}














/* =====================================================
   COMMERCIAL SNOW REMOVAL SECTION
===================================================== */

.buildbulb-commercial-section {
    position: relative;

    width: 100%;

    padding:
        clamp(55px, 6vw, 90px)
        20px;

    background:
        var(--buildbulb-blue);
}


/* =====================================================
   INNER CARD
===================================================== */

.buildbulb-commercial-card {
    position: relative;

    width:
        min(
            94%,
            1500px
        );

    margin: 0 auto;

    padding:
        clamp(38px, 4.5vw, 70px)
        clamp(34px, 5vw, 78px);

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(420px, .95fr);

    align-items: center;

    gap:
        clamp(
            40px,
            6vw,
            95px
        );

    overflow: hidden;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #0a84ff 0%,
            #0067d8 100%
        );

    box-shadow:
        0 18px 42px
        rgba(3,31,56,.16);
}


/* Subtle depth */

.buildbulb-commercial-card::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    top: -260px;
    left: -220px;

    border-radius: 50%;

    background:
        rgba(255,255,255,.055);

    pointer-events: none;
}


/* =====================================================
   COPY
===================================================== */

.buildbulb-commercial-copy {
    position: relative;
    z-index: 2;
}


/* =====================================================
   EYEBROW
===================================================== */

.buildbulb-commercial-eyebrow {
    margin:
        0
        0
        9px;

    color:
        var(--buildbulb-yellow);

    font-size:
        clamp(
            12px,
            calc(11px + .25vw),
            16px
        );

    font-weight: 900;

    letter-spacing: .7px;

    text-transform: uppercase;
}


/* =====================================================
   TITLE
===================================================== */

.buildbulb-commercial-copy h2 {
    max-width: 720px;

    margin:
        0
        0
        clamp(16px, 2vw, 24px);

    color:
        var(--buildbulb-white);

    font-size:
        clamp(
            32px,
            calc(23px + 1.6vw),
            52px
        );

    font-weight: 400;

    line-height: 1.2;

    letter-spacing: -1px;

    text-transform: uppercase;
}


.buildbulb-commercial-copy h2 span {
    display: block;

    color:
        var(--buildbulb-white);
}


/* =====================================================
   DESCRIPTION
===================================================== */

.buildbulb-commercial-intro {
    width:
        min(
            100%,
            650px
        );

    margin:
        0
        0
        clamp(23px, 2.5vw, 32px);

    color:
        rgba(255,255,255,.88);

    font-size:
        clamp(
            14px,
            calc(13px + .25vw),
            17px
        );

    font-weight: 500;

    line-height: 1.55;
}

.buildbulb-commercial-intro a:hover, .buildbulb-commercial-intro a:focus {
    color: #ffd43b;
}


/* =====================================================
   LIST
===================================================== */

.buildbulb-commercial-list {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap:
        14px
        clamp(
            20px,
            3vw,
            40px
        );

    margin-bottom:
        clamp(
            27px,
            3vw,
            38px
        );
}


.buildbulb-commercial-item {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    color:
        var(--buildbulb-white);

    font-size:
        clamp(
            13px,
            calc(12px + .2vw),
            16px
        );

    font-weight: 600;

    line-height: 1.35;
}


.buildbulb-commercial-item i {
    flex:
        0
        0
        auto;

    margin-top: 2px;

    color:
        var(--buildbulb-yellow);

    font-size:
        clamp(
            15px,
            calc(14px + .2vw),
            18px
        );
}


/* =====================================================
   GOLD CTA
===================================================== */

.buildbulb-commercial-cta {
    min-height:
        clamp(
            52px,
            calc(48px + .5vw),
            60px
        );

    padding:
        0
        clamp(
            24px,
            calc(18px + 1vw),
            38px
        );

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 15px;

    border-radius: 32px;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink) !important;

    font-size:
        clamp(
            12px,
            calc(11px + .2vw),
            15px
        );

    font-weight: 900;

    text-transform: uppercase;

    text-decoration: none !important;

    box-shadow:
        0 10px 26px
        rgba(0,0,0,.17);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}


.buildbulb-commercial-cta i {
    color:
        var(--buildbulb-ink) !important;

    transition:
        transform .2s ease;
}


.buildbulb-commercial-cta:hover {
    background:
        var(--buildbulb-yellow-hover);

    transform:
        translateY(-2px);

    box-shadow:
        0 14px 32px
        rgba(0,0,0,.22);
}


.buildbulb-commercial-cta:hover i {
    transform:
        translateX(4px);
}


/* =====================================================
   RIGHT IMAGE
===================================================== */

.buildbulb-commercial-media {
    position: relative;

    width: 100%;

    min-height:
        clamp(
            300px,
            29vw,
            430px
        );

    overflow: hidden;

    border-radius: 13px;

    box-shadow:
        0 16px 38px
        rgba(0,0,0,.25);
}


.buildbulb-commercial-media img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transition:
        transform .6s ease;
}


.buildbulb-commercial-card:hover
.buildbulb-commercial-media img {
    transform:
        scale(1.025);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1050px) {

    .buildbulb-commercial-card {
        grid-template-columns:
            1fr
            1fr;

        padding:
            42px
            34px;
    }


    .buildbulb-commercial-list {
        grid-template-columns:
            1fr;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 760px) {

    .buildbulb-commercial-section {
        padding:
            45px
            14px;
    }


    .buildbulb-commercial-card {
        width: 100%;

        grid-template-columns:
            1fr;

        gap: 35px;

        padding:
            38px
            24px
            24px;

        border-radius: 14px;
    }


    .buildbulb-commercial-copy h2 {
        font-size:
            clamp(
                30px,
                8vw,
                40px
            );
    }


    .buildbulb-commercial-list {
        grid-template-columns:
            1fr;

        gap: 12px;
    }


    .buildbulb-commercial-cta {
        width: 100%;

        padding:
            0
            18px;
    }


    .buildbulb-commercial-media {
        min-height:
            clamp(
                260px,
                70vw,
                360px
            );
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 420px) {

    .buildbulb-commercial-card {
        padding:
            32px
            20px
            20px;
    }


    .buildbulb-commercial-copy h2 {
        font-size: 30px;
    }


    .buildbulb-commercial-intro {
        font-size: 14px;
    }


    .buildbulb-commercial-item {
        font-size: 13px;
    }


    .buildbulb-commercial-media {
        min-height: 250px;
    }

}






/* =====================================================
   COMMERCIAL LANDSCAPING
===================================================== */

.buildbulb-residential-section {
    position: relative;
    width: 100%;

    padding:
        clamp(55px, 6vw, 90px)
        20px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            /*#f8f6f0*/ #e9e9e9 100%
        );
}


/* =====================================================
   INNER CARD
===================================================== */

.buildbulb-residential-card {
    position: relative;

    width: min(94%, 1500px);

    margin: 0 auto;

    padding:
        clamp(38px, 4.5vw, 70px)
        clamp(34px, 5vw, 78px);

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(420px, .95fr);

    align-items: center;

    gap:
        clamp(40px, 6vw, 95px);

    overflow: hidden;

    border:
        1px solid
        rgba(3,31,56,.08);

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8f6f0 100%
        );

    box-shadow:
        0 18px 45px
        rgba(3,31,56,.08);
}


/* =====================================================
   DECORATIVE BACKGROUND
===================================================== */

.buildbulb-residential-card::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    top: -290px;
    left: -230px;

    border-radius: 50%;

    background:
        rgba(19,136,61,.045);

    pointer-events: none;
}


/* =====================================================
   COPY
===================================================== */

.buildbulb-residential-copy {
    position: relative;
    z-index: 2;
}


/* =====================================================
   EYEBROW
===================================================== */

.buildbulb-residential-eyebrow {
    margin:
        0
        0
        10px;

    color:
        var(--buildbulb-blue);

    font-family:
        'Plus Jakarta Sans',
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(
            12px,
            calc(11px + .25vw),
            16px
        );

    font-weight: 800;

    letter-spacing: .7px;

    text-transform: uppercase;
}


/* =====================================================
   TITLE
===================================================== */

.buildbulb-residential-copy h2 {
    max-width: 720px;

    margin:
        0
        0
        clamp(16px, 2vw, 24px);

    color:
        var(--buildbulb-ink);

    font-family:
        'Anton',
        Impact,
        sans-serif;

    font-size:
        clamp(
            34px,
            calc(24px + 1.7vw),
            54px
        );

    font-weight: 400;

    line-height: 1.2;

    letter-spacing: -.4px;

    text-transform: uppercase;
}


.buildbulb-residential-copy h2 span {
    display: block;

    color:
        var(--buildbulb-blue);
}


/* =====================================================
   DESCRIPTION
===================================================== */

.buildbulb-residential-intro {
    width: min(100%, 650px);

    margin:
        0
        0
        clamp(23px, 2.5vw, 32px);

    color: #46535b;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(
            14px,
            calc(13px + .25vw),
            17px
        );

    font-weight: 500;

    line-height: 1.65;
}


/* =====================================================
   SERVICE LIST
===================================================== */

.buildbulb-residential-list {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        14px
        clamp(20px, 3vw, 40px);

    margin-bottom:
        clamp(27px, 3vw, 38px);
}


.buildbulb-residential-item {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    color:
        var(--buildbulb-ink);

    font-family:
        'Plus Jakarta Sans',
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(
            13px,
            calc(12px + .2vw),
            16px
        );

    font-weight: 600;

    line-height: 1.4;
}


.buildbulb-residential-item i {
    flex: 0 0 auto;

    margin-top: 2px;

    color:
        var(--buildbulb-blue);

    font-size:
        clamp(
            15px,
            calc(14px + .2vw),
            18px
        );
}


/* =====================================================
   GOLD CTA
===================================================== */

.buildbulb-residential-cta {
    min-height:
        clamp(
            52px,
            calc(48px + .5vw),
            60px
        );

    padding:
        0
        clamp(
            24px,
            calc(18px + 1vw),
            38px
        );

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 15px;

    border-radius: 32px;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink) !important;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(
            12px,
            calc(11px + .2vw),
            15px
        );

    font-weight: 900;

    text-transform: uppercase;

    text-decoration: none !important;

    box-shadow:
        0 10px 26px
        rgba(3,31,56,.12);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}


.buildbulb-residential-cta i {
    color:
        var(--buildbulb-ink) !important;

    transition:
        transform .2s ease;
}


.buildbulb-residential-cta:hover {
    background:
        var(--buildbulb-yellow-hover);

    transform:
        translateY(-2px);

    box-shadow:
        0 14px 32px
        rgba(3,31,56,.16);
}


.buildbulb-residential-cta:hover i {
    transform:
        translateX(4px);
}


/* =====================================================
   RIGHT IMAGE
===================================================== */

.buildbulb-residential-media {
    position: relative;

    width: 100%;

    min-height:
        clamp(
            300px,
            29vw,
            430px
        );

    overflow: hidden;

    border-radius: 13px;

    box-shadow:
        0 16px 38px
        rgba(3,31,56,.15);
}


.buildbulb-residential-media img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transition:
        transform .6s ease;
}


.buildbulb-residential-card:hover
.buildbulb-residential-media img {
    transform:
        scale(1.025);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1050px) {

    .buildbulb-residential-card {
        grid-template-columns:
            1fr
            1fr;

        padding:
            42px
            34px;
    }


    .buildbulb-residential-list {
        grid-template-columns: 1fr;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 760px) {

    .buildbulb-residential-section {
        padding:
            45px
            14px;
    }


    .buildbulb-residential-card {
        width: 100%;

        grid-template-columns: 1fr;

        gap: 35px;

        padding:
            38px
            24px
            24px;

        border-radius: 14px;
    }


    .buildbulb-residential-copy h2 {
        font-size:
            clamp(
                30px,
                8vw,
                40px
            );
    }


    .buildbulb-residential-list {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .buildbulb-residential-cta {
        width: 100%;

        padding:
            0
            18px;
    }


    .buildbulb-residential-media {
        min-height:
            clamp(
                260px,
                70vw,
                360px
            );
    }

}


/* =====================================================
   SMALL MOBILE / 360PX
===================================================== */

@media (max-width: 420px) {

    .buildbulb-residential-card {
        padding:
            32px
            20px
            20px;
    }


    .buildbulb-residential-copy h2 {
        font-size: 30px;
    }


    .buildbulb-residential-intro {
        font-size: 14px;
    }


    .buildbulb-residential-item {
        font-size: 13px;
    }


    .buildbulb-residential-media {
        min-height: 250px;
    }

}




/* =====================================================
   GALLERY SECTION
===================================================== */

.buildbulb-gallery-section {
    position: relative;
    width: 100%;

    padding:
        clamp(70px, 8vw, 120px)
        0;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #d6ded8 0%,
            #ffffff 48%,
            #ebe7db 100%
        );
}


/* =====================================================
   HEADING
===================================================== */

.buildbulb-gallery-heading {
    width:
        min(
            92%,
            1100px
        );

    margin:
        0 auto
        clamp(34px, 4vw, 54px);

    text-align: center;
}


.buildbulb-gallery-eyebrow {
    margin:
        0
        0
        9px;

    color:
        var(--buildbulb-blue);

    font-family:
        'Plus Jakarta Sans',
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(
            13px,
            calc(11px + .35vw),
            17px
        );

    font-weight: 800;

    letter-spacing: .7px;

    text-transform: uppercase;
}


.buildbulb-gallery-heading h2 {
    margin: 0;

    color:
        var(--buildbulb-ink);

    font-family:
        'Anton',
        Impact,
        sans-serif;

    font-size:
        clamp(
            36px,
            calc(24px + 2vw),
            62px
        );

    font-weight: 400;

    line-height: 1.2;

    letter-spacing: -.5px;

    text-transform: uppercase;
}


.buildbulb-gallery-heading h2 span {
    display: block;

    color:
        var(--buildbulb-blue);
}


/* =====================================================
   CAROUSEL
===================================================== */

.buildbulb-gallery-carousel {
    position: relative;

    width: 100%;

    display: flex;

    align-items: center;

    gap:
        clamp(
            8px,
            1vw,
            16px
        );

    padding:
        0
        clamp(
            10px,
            2vw,
            32px
        );
}


/* =====================================================
   VIEWPORT
===================================================== */

.buildbulb-gallery-viewport {
    position: relative;

    flex: 1;
    min-width: 0;

    overflow: hidden;

    cursor: grab;

    touch-action: pan-y;

    user-select: none;
    -webkit-user-select: none;

    -webkit-tap-highlight-color: transparent;
}


.buildbulb-gallery-viewport.is-dragging {
    cursor: grabbing;
}


/* =====================================================
   TRACK
===================================================== */

.buildbulb-gallery-track {
    display: flex;

    gap:
        clamp(
            12px,
            1.2vw,
            18px
        );

    width: max-content;

    transform:
        translate3d(
            0,
            0,
            0
        );

    will-change: transform;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    transform-style: preserve-3d;
}


/* =====================================================
   IMAGE TILE
===================================================== */

.buildbulb-gallery-item {
    position: relative;

    flex:
        0
        0
        clamp(
            280px,
            26vw,
            420px
        );

    height:
        clamp(
            260px,
            24vw,
            390px
        );

    margin: 0;

    overflow: hidden;

    border-radius: 14px;

    background:
        var(--buildbulb-ink);

    cursor: zoom-in;

    box-shadow:
        0 14px 34px
        rgba(3,31,56,.12);

    -webkit-tap-highlight-color: transparent;

    transition:
        transform .28s ease,
        box-shadow .28s ease;
}


/*
 * While the entire slider is being dragged,
 * show the grabbing cursor on the images too.
 */

.buildbulb-gallery-viewport.is-dragging
.buildbulb-gallery-item {
    cursor: grabbing;
}


.buildbulb-gallery-item:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 20px 44px
        rgba(3,31,56,.18);
}


.buildbulb-gallery-item img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    pointer-events: none;

    user-select: none;
    -webkit-user-select: none;

    -webkit-user-drag: none;

    transition:
        transform .65s
        cubic-bezier(.22,.61,.36,1);
}


.buildbulb-gallery-item:hover img {
    transform:
        scale(1.045);
}


/* =====================================================
   SUBTLE IMAGE OVERLAY
===================================================== */

.buildbulb-gallery-item::after {
    content: "";

    position: absolute;

    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(3,31,56,0) 55%,
            rgba(3,31,56,.16) 100%
        );
}


/* =====================================================
   GOLD CAROUSEL ARROWS
===================================================== */

.buildbulb-gallery-arrow {
    position: relative;

    z-index: 10;

    flex:
        0
        0
        auto;

    width:
        clamp(
            46px,
            4vw,
            58px
        );

    height:
        clamp(
            46px,
            4vw,
            58px
        );

    padding: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 0;

    border-radius: 50%;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink);

    cursor: pointer;

    box-shadow:
        0 9px 24px
        rgba(3,31,56,.15);

    -webkit-tap-highlight-color: transparent;

    transition:
        transform .25s
        cubic-bezier(.22,.61,.36,1),
        background .2s ease,
        box-shadow .25s ease;
}


.buildbulb-gallery-arrow i {
    color:
        var(--buildbulb-ink) !important;

    pointer-events: none;
}


.buildbulb-gallery-arrow:hover {
    background:
        var(--buildbulb-yellow-hover);

    transform:
        scale(1.07);

    box-shadow:
        0 12px 30px
        rgba(3,31,56,.20);
}


.buildbulb-gallery-arrow:active {
    transform:
        scale(.96);
}


/* =====================================================
   FULLSCREEN LIGHTBOX
===================================================== */

.buildbulb-gallery-lightbox {
    position: fixed;

    inset: 0;

    z-index: 9999999;

    width: 100%;
    height: 100dvh;

    padding:
        clamp(
            20px,
            3vw,
            48px
        );

    display: flex;

    align-items: center;

    justify-content: center;

    gap:
        clamp(
            12px,
            2vw,
            28px
        );

    background:
        rgba(2,22,39,.96);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    backdrop-filter:
        blur(5px);

    -webkit-backdrop-filter:
        blur(5px);

    transition:
        opacity .30s ease,
        visibility .30s ease;
}


.buildbulb-gallery-lightbox.is-open {
    opacity: 1;

    visibility: visible;

    pointer-events: auto;
}


/* =====================================================
   FULLSCREEN IMAGE WRAPPER
===================================================== */

.buildbulb-gallery-lightbox-media {
    position: relative;

    width:
        min(
            82vw,
            1400px
        );

    height:
        min(
            82vh,
            900px
        );

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;
}


/* =====================================================
   FULLSCREEN IMAGE
===================================================== */

.buildbulb-gallery-lightbox-image {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;

    border-radius: 10px;

    opacity: 1;

    transform:
        translateX(0)
        scale(1);

    will-change:
        opacity,
        transform;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    box-shadow:
        0 24px 70px
        rgba(0,0,0,.38);

    transition:
        opacity .30s ease,
        transform .38s
        cubic-bezier(.22,.61,.36,1);
}


/* =====================================================
   FULLSCREEN CLOSE
===================================================== */

.buildbulb-gallery-lightbox-close {
    position: absolute;

    top:
        clamp(
            16px,
            2vw,
            28px
        );

    right:
        clamp(
            16px,
            2vw,
            28px
        );

    z-index: 20;

    width: 52px;
    height: 52px;

    padding: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 0;

    border-radius: 50%;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink);

    font-size: 20px;

    cursor: pointer;

    box-shadow:
        0 9px 25px
        rgba(0,0,0,.22);

    transition:
        background .2s ease,
        transform .2s ease;
}


.buildbulb-gallery-lightbox-close i {
    pointer-events: none;

    color:
        var(--buildbulb-ink) !important;
}


.buildbulb-gallery-lightbox-close:hover {
    background:
        var(--buildbulb-yellow-hover);

    transform:
        rotate(6deg)
        scale(1.06);
}


.buildbulb-gallery-lightbox-close:active {
    transform:
        scale(.95);
}


/* =====================================================
   FULLSCREEN ARROWS
===================================================== */

.buildbulb-gallery-lightbox-arrow {
    position: relative;

    z-index: 10;

    flex:
        0
        0
        auto;

    width: 56px;
    height: 56px;

    padding: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 0;

    border-radius: 50%;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink);

    cursor: pointer;

    font-size: 18px;

    box-shadow:
        0 9px 25px
        rgba(0,0,0,.22);

    transition:
        transform .25s
        cubic-bezier(.22,.61,.36,1),
        background .2s ease,
        box-shadow .25s ease;
}


.buildbulb-gallery-lightbox-arrow i {
    color:
        var(--buildbulb-ink) !important;

    pointer-events: none;
}


.buildbulb-gallery-lightbox-arrow:hover {
    background:
        var(--buildbulb-yellow-hover);

    transform:
        scale(1.07);

    box-shadow:
        0 12px 30px
        rgba(0,0,0,.28);
}


.buildbulb-gallery-lightbox-arrow:active {
    transform:
        scale(.95);
}


/* =====================================================
   TABLET — APPROXIMATELY TWO IMAGES
===================================================== */

@media (max-width: 1000px) {

    .buildbulb-gallery-item {
        flex:
            0
            0
            calc(50vw - 70px);

        height:
            clamp(
                260px,
                42vw,
                360px
            );
    }


    .buildbulb-gallery-lightbox-media {
        width:
            min(
                78vw,
                1000px
            );
    }

}


/* =====================================================
   MOBILE — ONE PRIMARY IMAGE
===================================================== */

@media (max-width: 600px) {

    .buildbulb-gallery-section {
        padding:
            55px
            0;
    }


    .buildbulb-gallery-heading {
        width:
            calc(100% - 32px);

        margin-bottom:
            28px;
    }


    .buildbulb-gallery-heading h2 {
        font-size:
            clamp(
                30px,
                8.5vw,
                40px
            );
    }


    .buildbulb-gallery-carousel {
        padding:
            0
            7px;

        gap: 6px;
    }


    .buildbulb-gallery-track {
        gap: 12px;
    }


    .buildbulb-gallery-item {
        flex:
            0
            0
            calc(100vw - 110px);

        height:
            min(
                92vw,
                390px
            );

        border-radius: 11px;
    }


    .buildbulb-gallery-arrow {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }


    /* ---------------------------------------------
       FULLSCREEN MOBILE
    --------------------------------------------- */

    .buildbulb-gallery-lightbox {
        padding:
            62px
            8px
            18px;

        gap: 6px;
    }


    .buildbulb-gallery-lightbox-media {
        width:
            calc(100vw - 96px);

        height:
            78vh;
    }


    .buildbulb-gallery-lightbox-arrow {
        width: 40px;
        height: 40px;

        font-size: 14px;
    }


    .buildbulb-gallery-lightbox-close {
        top: 12px;
        right: 12px;

        width: 44px;
        height: 44px;

        font-size: 17px;
    }

}


/* =====================================================
   360PX / SMALL MOBILE
===================================================== */

@media (max-width: 380px) {

    .buildbulb-gallery-item {
        flex:
            0
            0
            calc(100vw - 100px);

        height: 330px;
    }


    .buildbulb-gallery-arrow {
        width: 38px;
        height: 38px;
    }


    .buildbulb-gallery-lightbox {
        gap: 4px;

        padding-left: 5px;
        padding-right: 5px;
    }


    .buildbulb-gallery-lightbox-media {
        width:
            calc(100vw - 88px);

        height:
            75vh;
    }


    .buildbulb-gallery-lightbox-arrow {
        width: 36px;
        height: 36px;

        font-size: 12px;
    }

}


/* =====================================================
   ACCESSIBILITY — REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {

    .buildbulb-gallery-track,
    .buildbulb-gallery-item,
    .buildbulb-gallery-item img,
    .buildbulb-gallery-arrow,
    .buildbulb-gallery-lightbox,
    .buildbulb-gallery-lightbox-image,
    .buildbulb-gallery-lightbox-arrow,
    .buildbulb-gallery-lightbox-close {
        transition-duration: .01ms !important;
    }

}





/* =====================================================
   FORCE FULLSCREEN GALLERY TO VIEWPORT
===================================================== */

body > .buildbulb-gallery-lightbox {
    position: fixed !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 100dvh !important;

    margin: 0 !important;

    z-index: 99999999 !important;
}




/* =====================================================
   Buildbulb PROCESS + OWNER SECTION
===================================================== */

.buildbulb-process-section {
    position: relative;

    width: 100%;

    padding:
        clamp(55px, 6vw, 90px)
        20px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f5f7fa 55%,
            #f1efe9 100%
        );

    overflow: hidden;
}


/* =====================================================
   INNER
===================================================== */

.buildbulb-process-inner {
    width:
        min(
            94%,
            1420px
        );

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(300px, .78fr)
        minmax(620px, 1.55fr);

    align-items: stretch;

    gap:
        clamp(
            35px,
            5vw,
            75px
        );
}


/* =====================================================
   LEFT SIDE
===================================================== */

.buildbulb-process-steps {
    display: flex;

    flex-direction: column;

    justify-content: center;
}


/* =====================================================
   HEADING
===================================================== */

.buildbulb-process-steps h2 {
    margin:
        0
        0
        clamp(24px, 3vw, 34px);

    color:
        var(--buildbulb-ink);

    font-family:
        'Anton',
        Impact,
        sans-serif;

    font-size:
        clamp(
            28px,
            calc(22px + 1vw),
            40px
        );

    font-weight: 400;

    line-height: 1;

    letter-spacing: .1px;

    text-transform: uppercase;
}


/* =====================================================
   STEP
===================================================== */

.buildbulb-process-step {
    position: relative;

    display: grid;

    grid-template-columns:
        48px
        1fr;

    gap: 16px;

    align-items: start;

    padding-bottom:
        clamp(
            20px,
            2.5vw,
            29px
        );
}


/* VERTICAL CONNECTION LINE */

.buildbulb-process-step:not(:last-child)::after {
    content: "";

    position: absolute;

    left: 23px;
    top: 46px;

    width: 2px;

    height:
        calc(100% - 36px);

    background:
        rgba(30,143,48,.22);
}


/* =====================================================
   GREEN NUMBER
===================================================== */

.buildbulb-process-number {
    position: relative;

    z-index: 2;

    width: 46px;
    height: 46px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        var(--buildbulb-blue);

    border:
        2px solid
        rgba(3,31,56,.18);

    color: #ffffff;

    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size: 16px;

    font-weight: 900;

    box-shadow:
        0 5px 15px
        rgba(30,143,48,.18);
}


/* =====================================================
   STEP CONTENT
===================================================== */

.buildbulb-process-step-content {
    padding-top: 3px;
}


.buildbulb-process-step-content h3 {
    margin:
        0
        0
        5px;

    color:
        var(--buildbulb-ink);

    font-family:
        'Anton',
        Impact,
        sans-serif;

    font-size:
        clamp(
            18px,
            calc(16px + .25vw),
            22px
        );

    font-weight: 400;

    line-height: 1;

    text-transform: uppercase;
}


.buildbulb-process-step-content p {
    max-width: 310px;
    margin: 0;
    color: #43525b;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif,
        Arial,
        Helvetica,
        sans-serif; 
    font-size: clamp(
            16px,
            calc(11px + .15vw),
            15px
        );
    font-weight: 500;
    line-height: 1.2;
}

/* .buildbulb-process-step-content p {
    max-width: 310px;

    margin: 0;

    color:
        #43525b;

    font-family:
        'Epilogue',
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(
            12px,
            calc(11px + .15vw),
            14px
        );

    font-weight: 500;

    line-height: 1.5;
} */


/* =====================================================
   OWNER PANEL
===================================================== */

.buildbulb-process-owner {
    min-height:
        clamp(
            330px,
            31vw,
            430px
        );

    display: grid;

    grid-template-columns:
        1.08fr
        .92fr;

    overflow: hidden;

    border-radius: 16px;

    background:
        var(--buildbulb-ink);

    box-shadow:
        0 18px 45px
        rgba(3,31,56,.16);
}


/* =====================================================
   Nick IMAGE
===================================================== */

.buildbulb-process-owner-image {
    position: relative;

    min-width: 0;

    overflow: hidden;
}


.buildbulb-process-owner-image img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;

    transition:
        transform .7s ease;
}


.buildbulb-process-owner:hover
.buildbulb-process-owner-image img {
    transform:
        scale(1.025);
}


/* subtle transition into navy */

.buildbulb-process-owner-image::after {
    content: "";

    position: absolute;

    z-index: 2;

    top: 0;
    right: 0;
    bottom: 0;

    width: 25%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(3,31,56,.28)
        );

    pointer-events: none;
}


/* =====================================================
   OWNER CONTENT
===================================================== */

.buildbulb-process-owner-content {
    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        clamp(
            28px,
            3.2vw,
            48px
        );

    color: #ffffff;
}


/* =====================================================
   GREEN OWNER HEADING
===================================================== */

.buildbulb-process-owner-eyebrow {
    margin:
        0
        0
        20px;

    color:
        var(--buildbulb-blue-light, #35b6ff);

    font-family:
        'Anton',
        Impact,
        sans-serif;

    font-size:
        clamp(
            22px,
            calc(17px + .65vw),
            31px
        );

    font-weight: 400;

    line-height: 1.08;

    text-transform: uppercase;
}


.buildbulb-process-owner-eyebrow span {
    display: block;

    color: #ffffff;
}


/* =====================================================
   OWNER COPY
===================================================== */

.buildbulb-process-owner-copy {
    max-width: 390px;

    margin:
        0
        0
        23px;

    color:
        rgba(255,255,255,.90);

        font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size:
        clamp(
            13px,
            calc(12px + .2vw),
            16px
        );

    font-weight: 500;

    line-height: 1.55;
}


/* =====================================================
   SIGNATURE
===================================================== */

.buildbulb-process-signature {
    margin:
        2px
        0
        5px;

    color:
        var(--buildbulb-blue-light, #35b6ff);

    font-family:
        cursive;

    font-size:
        clamp(
            26px,
            2.4vw,
            38px
        );

    font-style: italic;

    line-height: 1;
}


/* =====================================================
   OWNER TITLE
===================================================== */

.buildbulb-process-owner-title {
    margin: 0;

    color: #ffffff;

    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size: 10px;

    font-weight: 800;

    line-height: 1.4;

    letter-spacing: .25px;

    text-transform: uppercase;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1050px) {

    .buildbulb-process-inner {
        grid-template-columns:
            1fr;
    }


    .buildbulb-process-steps {
        width:
            min(
                100%,
                700px
            );

        margin:
            0 auto;
    }


    .buildbulb-process-owner {
        width: 100%;

        min-height: 390px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 650px) {

    .buildbulb-process-section {
        padding:
            48px
            16px;
    }


    .buildbulb-process-inner {
        width: 100%;

        gap: 35px;
    }


    .buildbulb-process-steps h2 {
        font-size:
            clamp(
                28px,
                8vw,
                36px
            );
    }


    .buildbulb-process-step {
        grid-template-columns:
            42px
            1fr;

        gap: 14px;
    }


    .buildbulb-process-number {
        width: 40px;
        height: 40px;

        font-size: 14px;
    }


    .buildbulb-process-step:not(:last-child)::after {
        left: 19px;
        top: 40px;
    }


    /* OWNER BECOMES VERTICAL */

    .buildbulb-process-owner {
        grid-template-columns:
            1fr;

        min-height: 0;

        border-radius: 14px;
    }


    .buildbulb-process-owner-image {
        min-height:
            clamp(
                270px,
                85vw,
                390px
            );
    }


    .buildbulb-process-owner-image::after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;

        width: 100%;
        height: 25%;

        background:
            linear-gradient(
                180deg,
                transparent,
                rgba(3,31,56,.35)
            );
    }


    .buildbulb-process-owner-content {
        padding:
            28px
            24px
            31px;
    }


    .buildbulb-process-owner-eyebrow {
        font-size:
            clamp(
                23px,
                7vw,
                30px
            );
    }


    .buildbulb-process-owner-copy {
        font-size: 14px;
    }

}









/* =====================================================
   Buildbulb FAQ
===================================================== */

.buildbulb-faq {

width: 100%;

padding:
    clamp(75px, 8vw, 115px)
    20px;

background: #f1f2ef;

}


.buildbulb-faq-inner {

width: min(92%, 950px);

margin: 0 auto;

}


/* =====================================================
HEADING
===================================================== */

.buildbulb-faq-eyebrow {

margin:
    0
    0
    12px;

color:
var(--buildbulb-blue);

font-size: 14px;

font-weight: 900;

letter-spacing: 1.7px;

text-align: left;

text-transform: uppercase;

}


.buildbulb-faq-title {

margin:
    0
    auto
    16px;

color:
    var(--buildbulb-ink);

font-size:
    clamp(
        30px,
        4vw,
        48px
    );

font-weight: 900;

line-height: 1.08;

text-align: left;

text-transform: uppercase;

}


.buildbulb-faq-intro {

/* width: min(100%, 650px); */

margin:
    0
    auto
    42px !important;

color: #596063;

font-size:
    clamp(
        15px,
        1.3vw,
        17px
    );

line-height: 1.7;

text-align: left;

}


/* =====================================================
FAQ LIST
===================================================== */

.buildbulb-faq-list {

width: 100%;

border-top:
    1px solid
    rgba(0,0,0,.13);

}


.buildbulb-faq-item {

width: 100%;

border-bottom:
    1px solid
    rgba(0,0,0,.13);

}


/* QUESTION */

.buildbulb-faq-question {

width: 100%;

padding:
    24px
    5px;

display: flex;

align-items: center;
justify-content: space-between;

gap: 25px;

border: 0;

background: transparent;

color:
    var(--buildbulb-ink);

font-family: inherit;

font-size:
    clamp(
        16px,
        1.5vw,
        19px
    );

font-weight: 800;

line-height: 1.4;

text-align: left;

cursor: pointer;

}


.buildbulb-faq-question i {

flex: 0 0 auto;

color:
var(--buildbulb-blue);

font-size: 16px;

transition:
    transform .25s ease;

}


/* =====================================================
ANSWER
===================================================== */

.buildbulb-faq-answer {

max-height: 0;

overflow: hidden;

opacity: 0;

transition:
    max-height .35s ease,
    opacity .25s ease;

}


.buildbulb-faq-answer p {

margin:
    0
    55px
    24px
    5px;

color: #555d60;

font-size: 18px;

line-height: 1.75;
padding-top: 20px;
font-weight: 700;

}


/* OPEN */

.buildbulb-faq-item.is-open
.buildbulb-faq-answer {

max-height: 300px;

opacity: 1;

}


.buildbulb-faq-item.is-open
.buildbulb-faq-question i {

transform: rotate(45deg);

}


/* HOVER */

.buildbulb-faq-question:hover {

color:
    #003f75;

}


/* =====================================================
MOBILE
===================================================== */

@media (max-width: 600px) {

.buildbulb-faq {

    padding:
        60px
        18px;

}


.buildbulb-faq-inner {

    width: 100%;

}


.buildbulb-faq-intro {

    margin-bottom: 30px;

}


.buildbulb-faq-question {

    padding:
        20px
        2px;

    gap: 18px;

    font-size: 16px;

}


.buildbulb-faq-answer p {

    margin:
        0
        35px
        20px
        2px;

    font-size: 14px;

    line-height: 1.7;

}

}











/* =====================================================
   SNOW SEASON POPUP
   ISOLATED FROM EXISTING SITE CODE
===================================================== */

.buildbulb-estimate-popup {
    position: fixed;

    inset: 0;

    z-index: 999999999;

    display: flex;

    align-items: center;

    justify-content: center;

    padding:
        clamp(16px, 3vw, 32px);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition:
        opacity .28s ease,
        visibility .28s ease;
}


.buildbulb-estimate-popup.is-open {
    opacity: 1;

    visibility: visible;

    pointer-events: auto;
}


/* =====================================================
   BACKDROP
===================================================== */

.buildbulb-estimate-popup-backdrop {
    position: absolute;

    inset: 0;

    background:
        rgba(3,31,56,.78);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);
}


/* =====================================================
   PANEL
===================================================== */

.buildbulb-estimate-popup-panel {
    position: relative;

    z-index: 2;

    width:
        min(
            92vw,
            520px
        );

    max-height:
        calc(100dvh - 32px);

    overflow-y: auto;

    border-radius: 22px;

    background:
        var(--buildbulb-white);

    box-shadow:
        0 28px 90px
        rgba(0,0,0,.30);

    transform:
        translateY(18px)
        scale(.97);

    transition:
        transform .36s
        cubic-bezier(.22,.61,.36,1);
}


.buildbulb-estimate-popup.is-open
.buildbulb-estimate-popup-panel {
    transform:
        translateY(0)
        scale(1);
}


/* =====================================================
   CLOSE
===================================================== */

.buildbulb-estimate-popup-close {
    position: absolute;

    top: 14px;
    right: 14px;

    z-index: 10;

    /* FORCE PERFECT CIRCLE */
    width: 44px !important;
    height: 44px !important;

    min-width: 44px !important;
    min-height: 44px !important;

    max-width: 44px !important;
    max-height: 44px !important;

    padding: 0 !important;

    flex: 0 0 44px;
    flex-shrink: 0;

    aspect-ratio: 1 / 1;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 0;

    border-radius: 50% !important;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink);

    font-size: 18px;
    line-height: 1;

    cursor: pointer;

    box-sizing: border-box;

    box-shadow:
        0 8px 20px
        rgba(0,0,0,.18);

    transition:
        transform .2s ease,
        background .2s ease;
}


.buildbulb-estimate-popup-close:hover {
    background:
        var(--buildbulb-yellow-hover);

    transform:
        scale(1.06);
}


/* =====================================================
   IMAGE
===================================================== */

.buildbulb-estimate-popup-image {
    position: relative;

    width: 100%;

    height:
        clamp(
            185px,
            34vw,
            250px
        );

    overflow: hidden;

    border-radius:
        22px
        22px
        0
        0;
}


.buildbulb-estimate-popup-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    display: block;
}


.buildbulb-estimate-popup-image-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(3,31,56,.05) 20%,
            rgba(3,31,56,.60) 100%
        );
}


/* =====================================================
   BADGE
===================================================== */

.buildbulb-estimate-popup-badge {
    position: absolute;

    left: 20px;
    bottom: 18px;

    display: inline-flex;

    align-items: center;

    gap: 9px;

    padding:
        10px
        14px;

    border-radius: 24px;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink);

        font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;
}


/* =====================================================
   CONTENT
===================================================== */

.buildbulb-estimate-popup-content {
    padding:
        clamp(24px, 4vw, 34px);
}


/* =====================================================
   EYEBROW
===================================================== */

.buildbulb-estimate-popup-eyebrow {
    margin:
        0
        0
        8px;

    color:
        var(--buildbulb-blue);

        font-family:'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size:
        clamp(
            14px,
            calc(11px + .2vw),
            18px
        );

    font-weight: 900;

    letter-spacing: .7px;

    text-transform: uppercase;
}


/* =====================================================
   TITLE
===================================================== */

.buildbulb-estimate-popup-content h2 {
    margin:
        0
        0
        16px;

    color:
        var(--buildbulb-ink);

    font-family:
        'Anton',
        Impact,
        sans-serif;

    font-size:
        clamp(
            32px,
            7vw,
            40px
        );

    font-weight: 400;

    line-height: 1.2;

    text-transform: uppercase;
}


.buildbulb-estimate-popup-content h2 span {
    display: block;

    color:
        var(--buildbulb-blue);
}


/* =====================================================
   COPY
===================================================== */

.buildbulb-estimate-popup-copy {
    margin:
        0
        0
        22px;

    color:
        #42525b;

    font-family:'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size:
        clamp(
            14px,
            calc(13px + .2vw),
            16px
        );

    line-height: 1.55;
}


/* =====================================================
   POINTS
===================================================== */

.buildbulb-estimate-popup-points {
    display: grid;

    gap: 11px;

    margin-bottom: 24px;
}


.buildbulb-estimate-popup-points > div {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    color:
        var(--buildbulb-ink);

    font-family:'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size:
        13px;

    font-weight: 700;

    line-height: 1.35;
}


.buildbulb-estimate-popup-points i {
    margin-top: 1px;

    color:
        var(--buildbulb-blue);

    font-size: 16px;
}


/* =====================================================
   CTA
===================================================== */

.buildbulb-estimate-popup-cta {
    min-height: 56px;

    width: 100%;

    padding:
        0
        24px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 13px;

    border-radius: 30px;

    background:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink) !important;

        font-family:'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size: 13px;

    font-weight: 900;

    text-transform: uppercase;

    text-decoration: none !important;

    box-shadow:
        0 10px 24px
        rgba(3,31,56,.14);

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}


.buildbulb-estimate-popup-cta:hover {
    background:
        var(--buildbulb-yellow-hover);

    transform:
        translateY(-2px);

    box-shadow:
        0 14px 30px
        rgba(3,31,56,.18);
}


/* =====================================================
   NOTE
===================================================== */

.buildbulb-estimate-popup-note {
    margin:
        16px
        0
        0;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    color:
        #60707a;
        font-family:'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size: 11px;

    font-weight: 600;

    text-align: center;
}


.buildbulb-estimate-popup-note i {
    color:
        var(--buildbulb-blue);
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 600px) {

    .buildbulb-estimate-popup {
        padding: 10px;
    }


    .buildbulb-estimate-popup-panel {
        width: 100%;

        max-height:
            calc(100dvh - 20px);

        border-radius: 17px;
    }


    .buildbulb-estimate-popup-image {
        height: 185px;

        border-radius:
            17px
            17px
            0
            0;
    }


    .buildbulb-estimate-popup-content {
        padding:
            22px
            20px
            24px;
    }


    .buildbulb-estimate-popup-content h2 {
        font-size:
            clamp(
                25px,
                9vw,
                30px
            );
    }


    .buildbulb-estimate-popup-close {
        top: 10px;
        right: 10px;

        width: 40px;
        height: 40px;
    }

}



























/* =====================================================
   Buildbulb FOOTER
===================================================== */

.buildbulb-footer {
    position: relative;

    width: 100%;

    padding:
        28px
        30px;

    background:
        var(--buildbulb-ink);

    color:
        rgba(255,255,255,.82);
}


/* =====================================================
   3 COLUMN INNER
===================================================== */

.buildbulb-footer-inner {
    width:
        min(
            94%,
            1500px
        );

    margin:
        0 auto;

    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    gap:
        clamp(
            25px,
            4vw,
            60px
        );
}


/* =====================================================
   FOOTER LINKS (added for multi-page navigation)
===================================================== */

.buildbulb-footer-links {
    width:
        min(
            94%,
            1500px
        );

    margin:
        0 auto 18px;

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: 22px;
}


.buildbulb-footer-links a {
    color:
        rgba(255,255,255,.72);

    font-size: 14px;

    text-decoration: none !important;

    transition:
        color .2s ease;
}


.buildbulb-footer-links a:hover,
.buildbulb-footer-links a.is-active {
    color:
        var(--buildbulb-yellow);
}


/* =====================================================
   SOCIAL MEDIA
===================================================== */

.buildbulb-footer-social {
    display: flex;

    align-items: center;

    justify-content: flex-start;

    gap: 12px;
}


.buildbulb-footer-social a {
    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    border:
        1px solid
        rgba(245,185,66,.45);

    background:
        rgba(245,185,66,.08);

    color:
        var(--buildbulb-yellow);

    font-size: 17px;

    text-decoration: none !important;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease,
        border-color .2s ease;
}


.buildbulb-footer-social a:hover {
    background:
        var(--buildbulb-yellow);

    border-color:
        var(--buildbulb-yellow);

    color:
        var(--buildbulb-ink);

    transform:
        translateY(-2px);
}


/* =====================================================
   COPYRIGHT
===================================================== */

.buildbulb-footer-copyright {
    text-align: center;
}


.buildbulb-footer-copyright p {
    margin: 0;

    color:
        rgba(255,255,255,.78);

        font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size:
        clamp(
            11px,
            calc(14px + .15vw),
            16px
        );

    line-height: 1.5;

    white-space: nowrap;
}


/* =====================================================
   SITE CREDIT
===================================================== */

.buildbulb-footer-credit {
    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 10px;
}


.buildbulb-footer-credit span {
    color:
        rgba(255,255,255,.55);

        font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;

    font-size: 11px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: .5px;
}


.buildbulb-footer-credit a {
    display: inline-flex;

    align-items: center;

    text-decoration: none;
}


.buildbulb-footer-credit img {
    width:
        clamp(
            75px,
            9vw,
            75px
        );

    height: auto;

    display: block;

    opacity: .92;

    transition:
        opacity .2s ease,
        transform .2s ease;
}


.buildbulb-footer-credit a:hover img {
    opacity: 1;

    transform:
        translateY(-1px);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 900px) {

    .buildbulb-footer-inner {
        grid-template-columns:
            1fr
            1fr;

        row-gap: 22px;
    }


    .buildbulb-footer-copyright {
        grid-column:
            1 / -1;

        grid-row: 2;

        order: 3;
    }


    .buildbulb-footer-credit {
        justify-content: flex-end;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 600px) {

.buildbulb-footer {
    padding:
        30px
        18px;
}


.buildbulb-footer-inner {
    width: 100%;

    grid-template-columns:
        1fr;

    gap: 22px;

    text-align: center;
}


/* SOCIAL ICONS - TOP */

.buildbulb-footer-social {
    justify-content: center;

    order: 1;
}


/* COPYRIGHT - MIDDLE */

.buildbulb-footer-copyright {
    grid-column: auto;
    grid-row: auto;

    order: 2;
}


.buildbulb-footer-copyright p {
    white-space: normal;

    font-size: 12px;
}


/* SITE BY - BOTTOM */

.buildbulb-footer-credit {
    justify-content: center;

    order: 3;
}


/* GTA WEB & CREATIVE LOGO - HALF SIZE */

.buildbulb-footer-credit img {
    width: 60px;

    height: auto;
}

}




/* =====================================================
   Buildbulb contact SECTION
===================================================== */

.buildbulb-contact {

width: 100%;

padding:
    clamp(70px, 8vw, 120px)
    20px;

background: #ffffff;

}


.buildbulb-contact-inner {

width: min(92%, 1120px);

margin: 0 auto;

}


.buildbulb-contact-title {

margin:
    0
    0
    45px;

text-align: center;

font-size:
    clamp(
        32px,
        calc(24px + 2vw),
        56px
    );

font-weight: 900;

line-height: 1.05;

text-transform: uppercase;

}


/* =====================================================
FORM
===================================================== */

.buildbulb-contact-form {

width: min(100%, 850px);

margin: 0 auto;

}


/* TWO COLUMNS */

.buildbulb-form-row {

display: grid;

grid-template-columns:
    repeat(2, 1fr);

gap: 20px;

}


/* FORM GROUP */

.buildbulb-form-group {

display: flex;

flex-direction: column;

gap: 8px;

margin-bottom: 22px;

}


/* LABELS */

.buildbulb-form-group > label {

font-size: 14px;

font-weight: 800;

text-transform: uppercase;

}


/* INPUTS */

.buildbulb-form-group input[type="text"],
.buildbulb-form-group input[type="email"],
.buildbulb-form-group input[type="tel"],
.buildbulb-form-group textarea {

width: 100%;

padding:
    15px
    16px;

border:
    1px solid
    rgba(0,0,0,.18);

border-radius: 6px;

background: #ffffff;

color: #111111;

font: inherit;

outline: none;

transition:
    border-color .2s ease,
    box-shadow .2s ease;

}


/* FOCUS */

.buildbulb-form-group input:focus,
.buildbulb-form-group textarea:focus {

border-color:
    var(--buildbulb-yellow);

box-shadow:
    0 0 0 3px
    rgba(184,155,106,.15);

}


/* =====================================================
SERVICE CHECKBOXES
===================================================== */

.buildbulb-service-options {

display: grid;

grid-template-columns:
    repeat(2, 1fr);

gap: 12px;

margin-top: 5px;

}


.buildbulb-checkbox {

display: flex;

align-items: center;

gap: 10px;

padding:
    14px
    16px;

border:
    1px solid
    rgba(0,0,0,.15);

border-radius: 6px;

cursor: pointer;

background: #ffffff;

}


.buildbulb-checkbox input {

width: 18px;

height: 18px;

margin: 0;

cursor: pointer;

}


.buildbulb-checkbox span {

font-size: 14px;

font-weight: 700;

}


/* =====================================================
SUBMIT BUTTON
===================================================== */

.buildbulb-contact-submit {

min-height: 56px;

padding:
    0
    32px;

border: 0;

border-radius: 40px;

background:
    var(--buildbulb-yellow);

color:
    var(--buildbulb-text);

font-size: 14px;

font-weight: 900;

text-transform: uppercase;

cursor: pointer;

transition:
    transform .2s ease,
    box-shadow .2s ease;

}


.buildbulb-contact-submit:hover {

transform:
    translateY(-2px);

box-shadow:
    0 10px 25px
    rgba(0,0,0,.15);
    background: /*var(--trust-navy-dark)*/ #08111c !important;
    color: var(--buildbulb-yellow);

}


/* =====================================================
MOBILE
===================================================== */

@media (max-width: 600px) {

.buildbulb-contact {

    padding:
        60px
        18px;

}


.buildbulb-form-row {

    grid-template-columns: 1fr;

    gap: 0;

}


.buildbulb-service-options {

    grid-template-columns: 1fr;

}


.buildbulb-contact-submit {

    width: 100%;

}

}


/* =====================================================
   contact FORM STATUS MESSAGE
===================================================== */

.buildbulb-form-notice {

display: none;

width: min(100%, 850px);

margin:
    0
    auto
    clamp(
        28px,
        4vw,
        42px
    );

padding:
    clamp(
        24px,
        3vw,
        34px
    );

border-radius: 12px;

text-align: center;

box-sizing: border-box;

}


/* SHOW MESSAGE */

.buildbulb-form-notice.is-visible {

display: flex;

flex-direction: column;

align-items: center;

justify-content: center;

gap: 8px;

}


/* SUCCESS */

.buildbulb-form-success {

border:
    2px solid
    var(--buildbulb-yellow);

background:
    var(--buildbulb-ink);

color: #ffffff;

box-shadow:
    0 12px 35px
    rgba(0,0,0,.12);

}


.buildbulb-form-success strong {

display: block;

color:
    var(--buildbulb-yellow);

font-size:
    clamp(
        22px,
        3vw,
        32px
    );

font-weight: 900;

line-height: 1.1;

text-transform: uppercase;

}


.buildbulb-form-success span {

display: block;

color: #ffffff;

font-size:
    clamp(
        14px,
        1.5vw,
        17px
    );

font-weight: 600;

line-height: 1.5;

}


/* ERROR */

.buildbulb-form-error {

border:
    2px solid
    #b3261e;

background:
    #fff4f3;

color:
    #70150f;

}


.buildbulb-form-error strong {

display: block;

font-size:
    clamp(
        20px,
        2.5vw,
        28px
    );

font-weight: 900;

text-transform: uppercase;

}


.buildbulb-form-error span {

font-size: 15px;

font-weight: 600;

}








/* =====================================================
   SAFETY & COMPLIANCE
===================================================== */

.buildbulb-compliance {

width: 100%;

padding:
    36px
    20px
    55px;

background: #ffffff;

}


.buildbulb-compliance-inner {

width:
    min(
        92%,
        900px
    );

margin: 0 auto;

text-align: center;

}


.buildbulb-compliance-eyebrow {

    position: relative !important;

width: 100% !important;
max-width: 620px !important;

margin:
    0
    auto
    26px !important;

padding: 0 !important;

display: flex !important;

align-items: center !important;
justify-content: center !important;

gap: 16px;

text-align: center !important;

color:
    var(--buildbulb-ink);

font-size:
    clamp(
        14px,
        1.4vw,
        17px
    );

font-weight: 900;

line-height: 1.2;

letter-spacing: 1.8px;

text-transform: uppercase;

box-sizing: border-box;

}


.buildbulb-compliance-eyebrow::before,
.buildbulb-compliance-eyebrow::after {

    content: "";

    display: block;

    flex: 1 1 0;

    max-width: 140px;

    height: 1px;

    background:
        rgba(0,0,0,.18);

}


.buildbulb-compliance-logos {

display: flex;

align-items: center;
justify-content: center;

gap: clamp(12px, 2vw, 20px);

flex-wrap: nowrap;

width: 100%;

}


.buildbulb-compliance-logo {

width: min(250px, 42vw);

flex: 0 1 250px;

display: flex;

align-items: center;
justify-content: center;

}


.buildbulb-compliance-logo img {

display: block;

width: 100%;
max-width: 250px;

height: auto;

object-fit: contain;

}


/* =====================================================
MOBILE
===================================================== */

@media (max-width: 600px) {

    .buildbulb-compliance {

padding:
    30px
    16px
    45px;

}


.buildbulb-compliance-eyebrow {

width: 100% !important;
max-width: 100% !important;

margin:
    0
    auto
    24px !important;

padding: 0 !important;

display: flex !important;

align-items: center !important;
justify-content: center !important;

text-align: center !important;

gap: 8px;

font-size:
    clamp(
        12px,
        3.5vw,
        15px
    );

letter-spacing: 1px;

}


.buildbulb-compliance-eyebrow::before,
    .buildbulb-compliance-eyebrow::after {

        flex: 1 1 0;

        min-width: 15px;
        max-width: 55px;

    }


.buildbulb-compliance-logos {

gap: 10px;

}


.buildbulb-compliance-logo {

width: calc(50% - 5px);

flex:
    0
    1
    calc(50% - 5px);

}


.buildbulb-compliance-logo img {

width: 100%;
max-width: 250px;
height: auto;

}


}




/* =====================================================
   LANDSCAPING SERVICE AREAS
===================================================== */

.buildbulb-service-areas {

width: 100% !important;

min-height: 100vh;

padding:
    clamp(85px, 9vw, 135px)
    20px !important;

display: flex;

align-items: center;

background:
    var(--buildbulb-ink, #07324b);

color: #ffffff;

box-sizing: border-box !important;

}


.buildbulb-service-areas-inner {

width:
    min(
        94%,
        1240px
    ) !important;

margin:
    0
    auto !important;

box-sizing: border-box !important;

}


/* =====================================================
INTRO
===================================================== */

.buildbulb-service-areas-intro {

width:
    min(
        100%,
        900px
    );

margin:
    0
    0
    clamp(
        48px,
        6vw,
        72px
    ) !important;

padding: 0 !important;

text-align: left !important;

box-sizing: border-box !important;

}


.buildbulb-service-areas-eyebrow {

margin:
    0
    0
    12px !important;

padding: 0 !important;

color:
    var(--buildbulb-yellow, #ffd43b);

font-size:
    clamp(
        14px,
        1.3vw,
        17px
    );

font-weight: 900;

line-height: 1;

letter-spacing: 1.7px;

text-transform: uppercase;

}


.buildbulb-service-areas-title {

margin:
    0
    0
    24px !important;

padding: 0 !important;

max-width: 900px;

color: #ffffff;

font-size:
    clamp(
        36px,
        5vw,
        68px
    );

font-weight: 900;

line-height: 1.2;

letter-spacing: -1px;

text-transform: uppercase;

}


.buildbulb-service-areas-title span {

display: block;

color:
    var(--buildbulb-yellow, #ffd43b);

}


.buildbulb-service-areas-description {

width:
    min(
        100%,
        780px
    );

margin:
    0
    0
    15px !important;

padding: 0 !important;

color:
    rgba(255,255,255,.78);

font-size:
    clamp(
        15px,
        1.3vw,
        18px
    );

font-weight: 500;

line-height: 1.75;

}


.buildbulb-service-areas-description strong {

color: #ffffff;

font-weight: 800;

}


/* =====================================================
AREA GRID
AUTO-FIT / FLUSH LAYOUT
===================================================== */

.buildbulb-service-areas-grid {

width: 100% !important;

display: flex !important;

flex-wrap: wrap !important;

justify-content: center !important;

align-items: stretch !important;

gap:
    clamp(
        18px,
        2vw,
        24px
    ) !important;

box-sizing: border-box !important;

}


/* =====================================================
AREA CARDS
===================================================== */

.buildbulb-service-areas
.buildbulb-service-areas-grid
.buildbulb-area-group {

    /*
     * 3 cards per row.
     * The gap calculation prevents wrapping.
     */

    flex:
        0
        1
        calc(
            (100% - 48px) / 3
        ) !important;

    width:
        calc(
            (100% - 48px) / 3
        ) !important;

    max-width:
        calc(
            (100% - 48px) / 3
        ) !important;

    min-width: 0 !important;

    height: auto !important;

    margin: 0 !important;

    padding:
        clamp(
            26px,
            2.5vw,
            34px
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.14) !important;

    border-radius: 14px !important;

    background:
        rgba(255,255,255,.055) !important;

    box-shadow:
        0 18px 45px
        rgba(0,0,0,.12) !important;

    backdrop-filter:
        blur(4px);

    -webkit-backdrop-filter:
        blur(4px);

    box-sizing:
        border-box !important;

}


/* =====================================================
PRIMARY BRANTFORD HUB
VISUAL HIGHLIGHT ONLY
===================================================== */

.buildbulb-service-areas
.buildbulb-service-areas-grid
.buildbulb-area-group-primary {

background:
    rgba(255,255,255,.085) !important;

border-color:
    rgba(245,185,65,.42) !important;

box-shadow:
    0 18px 45px
    rgba(0,0,0,.16) !important;

}


/* =====================================================
AREA HEADING
===================================================== */

.buildbulb-area-heading {

display: flex !important;

align-items: flex-start !important;

gap: 14px !important;

margin:
    0
    0
    22px !important;

padding: 0 !important;

}


.buildbulb-area-icon {

width: 42px !important;
height: 42px !important;

min-width: 42px !important;
min-height: 42px !important;

flex:
    0
    0
    42px !important;

display: flex !important;

align-items: center !important;
justify-content: center !important;

border-radius: 50% !important;

background:
    var(--buildbulb-yellow, #ffd43b) !important;

color:
    var(--buildbulb-ink, #07324b) !important;

font-size: 16px !important;

padding: 0 !important;

box-sizing:
    border-box !important;

}


.buildbulb-area-icon i {

margin: 0 !important;

padding: 0 !important;

line-height: 1 !important;

}


.buildbulb-area-label {

display: block;

margin:
    0
    0
    5px !important;

padding: 0 !important;

color:
    var(--buildbulb-yellow, #ffd43b);

font-size: 11px;

font-weight: 900;

line-height: 1.2;

letter-spacing: 1.2px;

text-transform: uppercase;

}


.buildbulb-area-heading h3 {

margin: 0 !important;

padding: 0 !important;

color: #ffffff;

font-size:
    clamp(
        18px,
        1.7vw,
        24px
    );

font-weight: 900;

line-height: 1.15;

}


/* =====================================================
LOCATION LISTS
===================================================== */

.buildbulb-area-list {

margin: 0 !important;

padding: 0 !important;

list-style: none !important;

display: grid !important;

grid-template-columns:
    repeat(
        2,
        minmax(0, 1fr)
    );

gap:
    11px
    16px;

}


.buildbulb-area-list li {

display: flex !important;

align-items: center !important;

gap: 8px !important;

min-width: 0;

margin: 0 !important;

padding: 0 !important;

color:
    rgba(255,255,255,.82);

font-size:
    clamp(
        13px,
        1vw,
        15px
    );

font-weight: 650;

line-height: 1.3;

}


.buildbulb-area-list li i {

flex:
    0
    0
    auto;

margin: 0 !important;

padding: 0 !important;

color:
    var(--buildbulb-yellow, #ffd43b);

font-size: 11px;

line-height: 1;

}


/* =====================================================
CTA
===================================================== */

.buildbulb-service-areas-cta {

width: 100% !important;

margin-top:
    clamp(
        55px,
        7vw,
        85px
    ) !important;

padding-top:
    clamp(
        35px,
        5vw,
        55px
    ) !important;

border-top:
    1px solid
    rgba(255,255,255,.14);

display: flex !important;

flex-direction: column;

align-items: center !important;

justify-content: center !important;

text-align: center !important;

box-sizing:
    border-box !important;

}


.buildbulb-service-areas-cta p {

margin:
    0
    0
    20px !important;

padding: 0 !important;

color:
    rgba(255,255,255,.75);

font-size:
    clamp(
        15px,
        1.4vw,
        18px
    );

font-weight: 700;

}


.buildbulb-service-areas-button {

min-height: 64px !important;

padding:
    0
    clamp(
        30px,
        4vw,
        50px
    ) !important;

display: inline-flex !important;

align-items: center !important;

justify-content: center !important;

gap: 18px;

border-radius: 40px !important;

background:
    var(--buildbulb-yellow, #ffd43b) !important;

color:
    var(--buildbulb-ink, #07324b) !important;

font-size:
    clamp(
        13px,
        1.2vw,
        16px
    );

font-weight: 900;

line-height: 1;

text-decoration: none !important;

text-transform: uppercase;

box-shadow:
    0 12px 30px
    rgba(0,0,0,.18);

transition:
    transform .2s ease,
    box-shadow .2s ease;

box-sizing:
    border-box !important;

}


.buildbulb-service-areas-button:hover {

transform:
    translateY(-3px);

box-shadow:
    0 16px 35px
    rgba(0,0,0,.25);

}


.buildbulb-service-areas-button i {

transition:
    transform .2s ease;

}


.buildbulb-service-areas-button:hover i {

transform:
    translateX(4px);

}


/* =====================================================
TABLET
===================================================== */

@media (max-width: 1000px) {

.buildbulb-service-areas {

    min-height: auto;

padding:
    80px
    20px !important;

}


.buildbulb-service-areas-grid {

    display: flex !important;

flex-wrap: wrap !important;

justify-content: center !important;

align-items: stretch !important;

gap: 18px !important;

}


.buildbulb-service-areas
.buildbulb-service-areas-grid
.buildbulb-area-group {


    flex:
            0
            1
            calc(
                (100% - 18px) / 2
            ) !important;

        width:
            calc(
                (100% - 18px) / 2
            ) !important;

        max-width:
            calc(
                (100% - 18px) / 2
            ) !important;

        padding:
            28px
            24px !important;

}

}


/* =====================================================
MOBILE
===================================================== */

@media (max-width: 650px) {

.buildbulb-service-areas {

    min-height: auto;

    padding:
        65px
        18px !important;

}


.buildbulb-service-areas-inner {

    width: 100% !important;

}


.buildbulb-service-areas-intro {

    margin-bottom:
        38px !important;

}


.buildbulb-service-areas-title {

    font-size:
        clamp(
            32px,
            10vw,
            44px
        );

    line-height: 1.2;

}

.buildbulb-service-areas-title span {

display: inline;


}


.buildbulb-service-areas-description {

    font-size: 15px;

    line-height: 1.65;

}


.buildbulb-service-areas-grid {

display: flex !important;

flex-direction: column !important;

gap: 15px !important;

}


.buildbulb-service-areas
.buildbulb-service-areas-grid
.buildbulb-area-group {

flex:
    0
    0
    auto !important;

width: 100% !important;

max-width: 100% !important;

height: auto !important;

padding:
    24px
    20px !important;

}


.buildbulb-area-heading {

    gap: 12px !important;

    margin-bottom:
        20px !important;

}


.buildbulb-area-icon {

    width: 40px !important;
    height: 40px !important;

    min-width: 40px !important;
    min-height: 40px !important;

    flex:
        0
        0
        40px !important;

}


.buildbulb-area-list {

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        ) !important;

    gap:
        10px
        12px !important;

}


.buildbulb-service-areas-cta {

    margin-top:
        45px !important;

    padding-top:
        35px !important;

}


.buildbulb-service-areas-button {

    width: 100% !important;

    max-width: 340px;

    min-height: 58px !important;

}

}


/* =====================================================
SMALL MOBILE
===================================================== */

@media (max-width: 390px) {

.buildbulb-service-areas {

    padding:
        60px
        15px !important;

}


.buildbulb-service-areas
.buildbulb-service-areas-grid
.buildbulb-area-group {

    padding:
        22px
        18px !important;

}


}


/* =====================================================
TINY  MOBILE
===================================================== */

@media (max-width: 319px) {


.buildbulb-area-list {

    grid-template-columns:
        1fr !important;

}

}











/* =====================================================
   Buildbulb ACTIVE ANCHOR NAVIGATION
===================================================== */

.buildbulb-nav a.is-active {
    color: var(--buildbulb-blue) !important;
}

.buildbulb-nav a.is-active::after {
    width: 100% !important;
    background: var(--buildbulb-yellow) !important;
}

.buildbulb-mobile-nav a.is-active:not(.buildbulb-mobile-cta) {
    color: var(--buildbulb-blue) !important;
    background: rgba(10,132,255,.07);
}

.buildbulb-mobile-nav a.is-active i {
    color: var(--buildbulb-yellow) !important;
}

/* Electrical blue treatment for the former green commercial layer */
.buildbulb-commercial-section {
    background: #0a84ff;
}

.buildbulb-commercial-card {
    background:
        linear-gradient(
            135deg,
            #0a84ff 0%,
            #0067d8 100%
        );
}

/* Buildbulb CTA hover treatment */
.buildbulb-header-cta:hover,
.buildbulb-trust-cta:hover,
.buildbulb-difference-button:hover {
    background: var(--buildbulb-blue) !important;
    color: #ffffff !important;
}

/* Make service-card images fill their cards */
.buildbulb-service-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    transition: transform .6s ease;
}

