  :root {
            --dg-bg: #121315;
            --dg-bg-soft: #181a1c;
            --dg-black: #030303;
            --dg-orange: #ff9f00;
            --dg-orange-hover: #ffb126;
            --dg-white: #ffffff;
            --dg-muted: #9da4ad;
        }

        * {
            box-sizing: border-box;
        }

        html,
        body {
            margin: 0;
            padding: 0;
        }

        body {
            font-family: Arial, Helvetica, sans-serif;
            background: var(--dg-bg);
        }

        a {
            text-decoration: none;
        }


        /* ==========================================================
           HERO
        ========================================================== */

        .dg-hero {
    position: relative;

    height: 900px;
    min-height: 760px;

    overflow: hidden;

    color: #fff;

    /* Background image */
    background:
        linear-gradient(
            90deg,
            rgba(10, 11, 12, .91) 0%,
            rgba(15, 16, 18, .84) 42%,
            rgba(9, 10, 11, .92) 100%
        ),
        url("../images/garage-door-hero-bg.webp");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* Soft dark layer + center glow */

.dg-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 0;

    background:
        radial-gradient(
            circle at 52% 48%,
            rgba(255, 159, 0, .07) 0%,
            rgba(255, 159, 0, .025) 25%,
            transparent 48%
        ),
        linear-gradient(
            180deg,
            rgba(0, 0, 0, .04) 0%,
            rgba(0, 0, 0, .12) 100%
        );

    pointer-events: none;
}


/* Large decorative circle like reference */

.dg-hero::after {
    content: "";

    position: absolute;

    width: 620px;
    height: 620px;

    left: -315px;
    bottom: -70px;

    border-radius: 50%;

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

    box-shadow:
        inset 0 0 90px rgba(255, 255, 255, .012);

    z-index: 1;

    pointer-events: none;
}


/* Keep all hero content above background */

.dg-header {
    position: relative;
    z-index: 100;
}

.dg-hero-container {
    position: relative;
    z-index: 5;
}
        /* ==========================================================
           HEADER
        ========================================================== */

        .dg-header {
            position: relative;
            z-index: 100;

            padding-top: 23px;
        }

        .dg-header-container {
            width: calc(100% - 50px);
            max-width: 1220px;

            margin: 0 auto;
        }

        .dg-header-row {
            display: grid;

            grid-template-columns:
                190px
                minmax(560px, 650px)
                190px;

            justify-content: space-between;
            align-items: center;

            gap: 28px;
        }


        /* ==========================================================
           LOGO
        ========================================================== */

        .dg-logo {
            display: inline-flex;
            align-items: center;

            color: #fff;

            font-size: 21px;
            font-weight: 900;

            white-space: nowrap;
        }

        .dg-logo:hover {
            color: #fff;
        }

        .dg-logo-symbol {
            width: 43px;
            height: 37px;

            position: relative;

            margin-right: 8px;
        }

        .dg-logo-symbol::before {
            content: "";

            position: absolute;

            width: 40px;
            height: 17px;

            left: 0;
            top: 5px;

            border-radius: 30px;

            background: #fff;
        }

        .dg-logo-symbol::after {
            content: "";

            position: absolute;

            width: 40px;
            height: 8px;

            left: 0;
            top: 22px;

            border-radius: 0 0 20px 20px;

            background: var(--dg-orange);
        }

        .dg-logo-center {
            position: absolute;

            z-index: 2;

            width: 16px;
            height: 16px;

            left: 12px;
            top: 6px;

            border-radius: 50%;

            background: #17181a;
        }


        /* ==========================================================
           NAVBAR
        ========================================================== */

        .dg-nav-shell {
            width: 100%;

            border-radius: 50px;

            background: #020202;

            padding: 5px 25px;
        }

        .dg-navbar {
            padding: 0;
        }

        .dg-navbar .navbar-collapse {
            width: 100%;
        }

        .dg-navbar .navbar-nav {
            width: 100%;

            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .dg-navbar .nav-link {
            position: relative;

            padding: 12px 4px !important;

            color: #fff !important;

            font-size: 12px;
            font-weight: 800;

            text-transform: uppercase;

            transition: .25s ease;
        }

        .dg-navbar .nav-link:hover,
        .dg-navbar .nav-link.active {
            color: var(--dg-orange) !important;
        }

        .dg-navbar .nav-link.active::before {
            content: "";

            position: absolute;

            width: 7px;
            height: 7px;

            left: -12px;
            top: 50%;

            transform: translateY(-50%);

            border-radius: 50%;

            background: var(--dg-orange);
        }


        


        /* ==========================================================
           HERO CONTENT WRAPPER
        ========================================================== */

        .dg-hero-container {
            width: calc(100% - 50px);
            max-width: 1220px;

            height: calc(100% - 76px);

            position: relative;

            margin: 0 auto;
        }


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

        .dg-copy {
            position: absolute;

            z-index: 30;

            width: 445px;

            left: 0;
            top: 70px;
        }

        .dg-title {
            margin: 0;

            color: #fff;

            font-size: 70px;
            line-height: .91;

            letter-spacing: -3.5px;

            font-weight: 300;

            text-transform: uppercase;
        }

        .dg-title strong {
            display: block;

            font-weight: 900;
        }

        .dg-description {
            width: 430px;

            margin: 55px 0 0;

            color: #fff;

            font-size: 14px;
            line-height: 1.75;

            font-weight: 600;
        }


        /* ==========================================================
           PHONE BUTTON
        ========================================================== */

        .dg-phone {
            min-width: 220px;
            height: 50px;

            display: inline-flex;
            align-items: center;
            justify-content: center;

            gap: 10px;

            margin-top: 27px;

            padding: 0 28px;

            border-radius: 50px;

            background: var(--dg-orange);

            color: #fff;

            font-size: 15px;
            font-weight: 900;

            position: relative;
            z-index: 50;

            transition: .3s ease;
        }

        .dg-phone:hover {
            color: #111;

            background: #fff;

            transform: translateY(-3px);
        }


        /* ==========================================================
           TECHNICIAN IMAGE
        ========================================================== */

        .dg-tech-area {
            position: absolute;

            z-index: 12;

            width: 650px;
            height: 630px;

            left: 51%;
            bottom: 0;

            transform: translateX(-50%);
        }


        /* background circle behind technician */

        .dg-tech-circle {
            position: absolute;

            width: 520px;
            height: 520px;

            left: 50%;
            bottom: 40px;

            transform: translateX(-50%);

            border-radius: 50%;

            background:
                radial-gradient(
                    circle at 40% 30%,
                    #282a2d 0%,
                    #1a1b1e 46%,
                    #0c0d0e 82%
                );
        }


        /* IMPORTANT:
           technician is attached directly to hero bottom */

       .dg-tech-image {
    position: absolute;
    z-index: 5;

    width: 650px;
    height: 630px;

    left: 50%;
    bottom: 0;

    object-fit: contain;
    object-position: center bottom;

    display: block;

    filter: drop-shadow(0 20px 28px rgba(0,0,0,.32));

    /* Floating animation */
    animation: dgTechFloat 4s ease-in-out infinite;
}
@keyframes dgTechFloat {

    0%,
    100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(-14px);
    }

}


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

        .dg-stat {
            position: absolute;

            z-index: 40;

            width: 325px;
            height: 180px;

            right: 0;
            top: 225px;

            padding: 31px 33px;

            border-radius: 17px;

            background: #020202;
        }

        .dg-stat-number {
            color: #fff;

            font-size: 57px;
            line-height: 1;

            font-weight: 300;
        }

        .dg-stat-label {
            max-width: 165px;

            margin-top: 13px;

            color: #8e98ab;

            font-size: 12px;
            line-height: 1.45;
        }

        .dg-stat-icon {
            position: absolute;

            width: 66px;
            height: 66px;

            right: 29px;
            top: 45px;

            display: grid;
            place-items: center;

            border-radius: 50%;

            background:
                radial-gradient(
                    circle,
                    #333537,
                    #151617 65%,
                    #080808
                );
        }

        .dg-stat-icon i {
            color: var(--dg-orange);

            font-size: 27px;
        }


        /* ==========================================================
           ORANGE CARD
        ========================================================== */

        .dg-services {
            position: absolute;

            z-index: 45;

            width: 355px;

            right: 180px;
            bottom: 120px;

            padding: 29px 35px;

            border-radius: 18px;

            background: var(--dg-orange);
        }

        .dg-services ul {
            list-style: none;

            margin: 0;
            padding: 0;
        }

        .dg-services li {
            display: flex;
            align-items: center;

            gap: 11px;

            margin-bottom: 13px;

            color: #fff;

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

        .dg-services li:last-child {
            margin-bottom: 0;
        }

        .dg-services i {
            font-size: 13px;
        }


        /* ==========================================================
           LARGE DESKTOP
        ========================================================== */

        @media (min-width: 1400px) {

            .dg-header-container,
            .dg-hero-container {
                max-width: 1280px;
            }

            .dg-copy {
                width: 475px;
            }

            .dg-title {
                font-size: 75px;
            }

            .dg-tech-area {
                width: 690px;
                height: 650px;
            }

            .dg-tech-image {
                width: 690px;
                height: 650px;
            }

            .dg-tech-circle {
                width: 545px;
                height: 545px;
            }

            .dg-stat {
                right: 0;
            }

            .dg-services {
                right: 190px;
            }

        }


        /* ==========================================================
           1200
        ========================================================== */

        @media (max-width: 1199px) {

            .dg-header-container,
            .dg-hero-container {
                max-width: 960px;
            }

            .dg-header-row {
                grid-template-columns:
                    160px
                    minmax(500px, 560px)
                    160px;

                gap: 15px;
            }

            .dg-logo {
                font-size: 17px;
            }

            .dg-nav-shell {
                padding-left: 18px;
                padding-right: 18px;
            }

            .dg-navbar .nav-link {
                font-size: 10.5px;
            }

            .dg-search {
                width: 160px;
            }

            .dg-search input {
                width: 45px;
            }

            .dg-copy {
                width: 380px;
            }

            .dg-title {
                font-size: 61px;
            }

            .dg-description {
                width: 355px;

                font-size: 13px;
            }

            .dg-tech-area {
                width: 570px;
                height: 590px;

                left: 52%;
            }

            .dg-tech-image {
                width: 570px;
                height: 590px;
            }

            .dg-tech-circle {
                width: 470px;
                height: 470px;
            }

            .dg-stat {
                width: 275px;
                right: 0;
            }

            .dg-services {
                width: 315px;

                right: 120px;

                padding: 25px 29px;
            }

            .dg-services li {
                font-size: 12.5px;
            }

        }


        /* ==========================================================
           TABLET
        ========================================================== */

        @media (max-width: 991px) {

            .dg-hero {
                height: auto;
                min-height: 0;

                overflow: hidden;
            }

            .dg-header {
                padding: 15px 15px 0;
            }

            .dg-header-container {
                width: 100%;
                max-width: 720px;
            }

            .dg-header-row {
                display: flex;
                flex-wrap: wrap;

                gap: 10px;
            }

            .dg-logo {
                flex: 1;

                font-size: 19px;
            }

            .dg-search {
                width: 170px;
            }

            .dg-nav-shell {
                order: 3;

                width: 100%;

                padding: 7px 18px;

                border-radius: 28px;
            }

            .navbar-toggler {
                margin-left: auto;

                border: 0 !important;

                box-shadow: none !important;
            }

            .navbar-toggler i {
                color: #fff;

                font-size: 21px;
            }

            .dg-navbar .navbar-nav {
                display: block;

                padding: 8px 0;
            }

            .dg-navbar .nav-link {
                padding: 9px 4px !important;

                font-size: 12px;
            }

            .dg-navbar .nav-link.active::before {
                display: none;
            }


            /* CONTENT */

            .dg-hero-container {
                width: 100%;
                max-width: 720px;

                height: auto;

                padding: 45px 15px 0;
            }

            .dg-copy {
                position: relative;

                width: 100%;

                left: auto;
                top: auto;

                text-align: center;
            }

            .dg-title {
                max-width: 600px;

                margin: auto;

                font-size: 64px;
            }

            .dg-description {
                width: auto;
                max-width: 570px;

                margin: 25px auto 0;

                font-size: 14px;
            }

            .dg-phone {
                margin-top: 20px;
            }


            /* TECH */

            .dg-tech-area {
                position: relative;

                width: 570px;
                max-width: 100%;

                height: 520px;

                left: auto;
                bottom: auto;

                transform: none;

                margin: 5px auto 0;
            }

            .dg-tech-circle {
                width: 430px;
                height: 430px;

                bottom: 25px;
            }

            .dg-tech-image {
                width: 560px;
                max-width: 100%;

                height: 520px;

                bottom: 0;
            }


            /* CARDS */

            .dg-stat,
            .dg-services {
                position: relative;

                right: auto;
                left: auto;
                top: auto;
                bottom: auto;

                margin-left: auto;
                margin-right: auto;
            }

            .dg-stat {
                width: min(100%, 345px);

                margin-top: 0;
            }

            .dg-services {
                width: min(100%, 355px);

                margin-top: 12px;
                margin-bottom: 30px;
            }

        }


        /* ==========================================================
           MOBILE
        ========================================================== */

        @media (max-width: 767px) {

            .dg-header {
                padding-top: 10px;
            }

            .dg-header-container {
                padding: 0 10px;
            }

            .dg-logo {
                font-size: 16px;
            }

            .dg-logo-symbol {
                width: 36px;
                height: 32px;
            }

            .dg-logo-symbol::before {
                width: 34px;
                height: 14px;
            }

            .dg-logo-symbol::after {
                width: 34px;

                top: 19px;
            }

            .dg-logo-center {
                width: 13px;
                height: 13px;

                left: 10px;
            }

            .dg-search {
                display: none;
            }

            .dg-nav-shell {
                margin-top: 3px;

                padding: 5px 13px;
            }


            /* HERO */

            .dg-hero-container {
                padding:
                    28px
                    13px
                    0;
            }

            .dg-title {
                max-width: 100%;

                font-size: 48px;
                line-height: .92;

                letter-spacing: -2px;
            }

            .dg-description {
                max-width: 520px;

                margin-top: 17px;

                font-size: 13px;
                line-height: 1.55;

                font-weight: 500;
            }


            /* PHONE VERY VISIBLE */

            .dg-phone {
                min-width: 225px;
                height: 50px;

                margin-top: 17px;

                padding: 0 25px;

                font-size: 17px;

                box-shadow:
                    0 10px 30px
                    rgba(255,159,0,.15);
            }


            /* TECHNICIAN */

            .dg-tech-area {
                width: 100%;
                height: 355px;

                margin-top: 0;
            }

            .dg-tech-circle {
                width: 300px;
                height: 300px;

                bottom: 12px;
            }

            .dg-tech-image {
                width: 370px;
                max-width: 100%;

                height: 355px;

                bottom: 0;
            }


            /* CARDS */

            .dg-stat {
                width: calc(100% - 16px);
                max-width: 360px;

                height: 140px;

                padding: 22px 27px;

                margin-top: 0;
            }

            .dg-stat-number {
                font-size: 46px;
            }

            .dg-stat-label {
                margin-top: 8px;
            }

            .dg-stat-icon {
                width: 55px;
                height: 55px;

                right: 25px;
                top: 35px;
            }

            .dg-stat-icon i {
                font-size: 23px;
            }


            .dg-services {
                width: calc(100% - 16px);
                max-width: 360px;

                padding: 22px 27px;

                margin-top: 10px;
                margin-bottom: 22px;
            }

            .dg-services li {
                margin-bottom: 10px;

                font-size: 13px;
            }

        }


        /* ==========================================================
           SMALL MOBILE
        ========================================================== */

        @media (max-width: 575px) {

            .dg-hero-container {
                padding-top: 23px;
            }

            .dg-title {
                font-size: 42px;
            }

            .dg-description {
                margin-top: 14px;

                font-size: 12.5px;
                line-height: 1.5;
            }

            .dg-phone {
                min-width: 215px;
                height: 48px;

                margin-top: 14px;

                font-size: 16px;
            }


            /* less empty space */

            .dg-tech-area {
                height: 310px;

                margin-top: -2px;
            }

            .dg-tech-circle {
                width: 265px;
                height: 265px;

                bottom: 8px;
            }

            .dg-tech-image {
                width: 325px;
                height: 310px;

                bottom: 0;
            }

        }


        /* ==========================================================
           EXTRA SMALL
        ========================================================== */

        @media (max-width: 390px) {

            .dg-title {
                font-size: 37px;
            }

            .dg-description {
                font-size: 12px;
            }

            .dg-phone {
                min-width: 205px;
                height: 46px;

                font-size: 15px;
            }

            .dg-tech-area {
                height: 280px;
            }

            .dg-tech-circle {
                width: 235px;
                height: 235px;
            }

            .dg-tech-image {
                width: 295px;
                height: 280px;
            }

        }


        /* ==========================================================
   HEADER QUICK CALL
========================================================== */

.dg-quick-call {
    min-width: 215px;
    height: 56px;

    display: flex;
    align-items: center;

    padding: 6px 17px 6px 7px;

    background: #020202;

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

    border-radius: 50px;

    box-shadow: 0 10px 35px rgba(0, 0, 0, .15);
}


/* PHONE CIRCLE */

.dg-quick-call-icon {
    width: 43px;
    height: 43px;

    flex: 0 0 43px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: var(--dg-orange);

    color: #fff;

    font-size: 15px;

    position: relative;

    transition: .3s ease;
}


/* little pulse */

.dg-quick-call-icon::before {
    content: "";

    position: absolute;
    inset: -4px;

    border: 1px solid rgba(255, 159, 0, .35);

    border-radius: 50%;

    animation: dgCallPulse 2s ease-out infinite;
}


@keyframes dgCallPulse {

    0% {
        transform: scale(.85);
        opacity: 1;
    }

    100% {
        transform: scale(1.35);
        opacity: 0;
    }

}


/* DIVIDER */

.dg-quick-call-line {
    width: 1px;
    height: 29px;

    margin: 0 13px;

    background: rgba(255, 255, 255, .13);
}


/* TEXT */

.dg-quick-call-content {
    display: flex;
    flex-direction: column;

    color: #fff;

    text-decoration: none;

    line-height: 1.15;
}


.dg-quick-call-content small {
    margin-bottom: 4px;

    color: var(--dg-orange);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 1.2px;
}


.dg-quick-call-content strong {
    color: #fff;

    font-size: 13px;
    font-weight: 800;

    white-space: nowrap;
}


.dg-quick-call:hover .dg-quick-call-icon {
    transform: rotate(-10deg) scale(1.05);
}


.dg-quick-call-content:hover {
    color: #fff;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1199px) {

    .dg-quick-call {
        min-width: 190px;
    }

    .dg-quick-call-content strong {
        font-size: 12px;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .dg-quick-call {
        min-width: auto;
        width: 48px;
        height: 48px;

        padding: 3px;

        justify-content: center;
    }

    .dg-quick-call-icon {
        width: 40px;
        height: 40px;

        flex: 0 0 40px;
    }

    .dg-quick-call-line,
    .dg-quick-call-content {
        display: none;
    }

}


/* =========================================================
   ABOUT SECTION
========================================================= */

.dg-about-section {
    position: relative;

    padding: 95px 0;

    overflow: hidden;

    background: #f8f8f7;
}


/* subtle background details */

.dg-about-section::before {
    content: "";

    position: absolute;

    width: 430px;
    height: 430px;

    right: -220px;
    top: -220px;

    border-radius: 50%;

    border: 1px solid rgba(0, 0, 0, .03);
}


.dg-about-section::after {
    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    left: -150px;
    bottom: -150px;

    border-radius: 50%;

    border: 1px solid rgba(255, 159, 0, .09);
}


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

.dg-about-left {
    position: relative;
    z-index: 5;

    height: 100%;
}


.dg-about-heading-row {
    display: grid;

    grid-template-columns: 130px 1fr;

    gap: 28px;

    align-items: start;
}


/* Badge */

.dg-about-badge {
    width: max-content;

    display: inline-flex;
    align-items: center;

    gap: 8px;

    padding: 8px 14px;

    border: 1px solid #d9d9d9;

    border-radius: 50px;

    color: #666;

    background: #fff;

    font-size: 11px;
    font-weight: 700;
}


.dg-about-badge span {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #ff9f00;
}


/* Main Title */

.dg-about-title {
    max-width: 650px;

    margin: -5px 0 0;

    color: #17181a;

    font-size: 2rem;
    line-height: 1.04;

    letter-spacing: -2.5px;

    font-weight: 600;

    text-transform: uppercase;
}


/* intro */

.dg-about-intro {
    max-width: 770px;

    margin: 30px 0 0;

    color: #74777d;

    font-size: 14px;
    line-height: 1.85;
}


/* =========================================================
   CARDS
========================================================= */

.dg-about-cards {
    padding-top: 4px;
}


/* Orange */

.dg-about-orange-card {
    min-height: 150px;

    position: relative;

    padding: 28px 30px;

    border-radius: 16px;

    overflow: hidden;

    background: #ff9f00;

    color: #fff;
}


.dg-about-orange-card::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

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

    border-radius: 50%;

    right: -70px;
    bottom: -85px;
}


.dg-orange-card-icon {
    position: absolute;

    right: 25px;
    top: 23px;

    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    border-radius: 50%;

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

    font-size: 17px;
}


.dg-about-orange-card h3 {
    max-width: 285px;

    margin: 0;

    font-size: 16px;
    line-height: 1.4;

    font-weight: 800;

    text-transform: uppercase;
}


/* Black */

.dg-about-dark-card {
    min-height: 150px;

    margin-top: 7px;

    padding: 26px 30px;

    display: flex;
    align-items: center;

    border-radius: 16px;

    background: #17181a;

    color: #fff;
}


.dg-dark-big {
    min-width: 112px;

    font-size: 52px;
    line-height: 1;

    font-weight: 800;
}


.dg-dark-divider {
    width: 1px;
    height: 65px;

    margin: 0 27px;

    background: rgba(255,255,255,.17);
}


.dg-about-dark-card p {
    max-width: 195px;

    margin: 0;

    color: #9298a4;

    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
   MIDDLE AREA
========================================================= */

.dg-about-middle {
    height: 100%;

    padding: 4px 0 0;
}


.dg-about-middle h3 {
    margin: 0 0 21px;

    color: #ff9f00;

    font-size: 15px;
    line-height: 1.3;

    font-weight: 800;

    text-transform: uppercase;
}


.dg-about-middle ul {
    margin: 0;
    padding: 0;

    list-style: none;
}


.dg-about-middle li {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 14px;

    color: #292b2e;

    font-size: 13px;
    font-weight: 500;
}


.dg-about-middle li span {
    width: 18px;
    height: 18px;

    flex: 0 0 18px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 8px;
}


.dg-about-line {
    height: 1px;

    margin: 23px 0 22px;

    background: #d9d9d9;
}


/* client row */

.dg-client-row {
    display: flex;
    align-items: center;

    gap: 13px;
}


.dg-client-icons {
    display: flex;
    align-items: center;
}


.dg-client-icons span {
    width: 34px;
    height: 34px;

    margin-left: -8px;

    display: grid;
    place-items: center;

    border: 2px solid #fff;

    border-radius: 50%;

    background: #ececec;

    color: #ff9f00;

    font-size: 12px;
}


.dg-client-icons span:first-child {
    margin-left: 0;
}


.dg-client-text {
    color: #777;

    font-size: 12px;
}


/* button */

.dg-about-btn {
    min-width: 168px;
    height: 43px;

    margin-top: 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 40px;

    background: #ff9f00;

    color: #fff;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;

    transition: .3s ease;
}


.dg-about-btn:hover {
    color: #fff;

    background: #17181a;

    transform: translateY(-3px);
}


/* =========================================================
   SECOND PARAGRAPH
========================================================= */

.dg-about-second-text {
    max-width: 810px;

    margin: 32px 0 0;

    padding-top: 25px;

    border-top: 1px solid #e1e1e1;

    color: #74777d;

    font-size: 14px;
    line-height: 1.85;
}


/* =========================================================
   IMAGE
========================================================= */

.dg-about-image {
    position: relative;

    width: 100%;
    height: 100%;

    min-height: 570px;

    overflow: hidden;

    border-radius: 18px;

    background: #ddd;
}


.dg-about-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform .7s ease;
}


.dg-about-image:hover img {
    transform: scale(1.035);
}


/* small image badge */

.dg-about-image-label {
    position: absolute;

    left: 24px;
    bottom: 24px;

    display: inline-flex;
    align-items: center;

    gap: 10px;

    padding: 9px 15px 9px 8px;

    border-radius: 50px;

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

    color: #fff;

    font-size: 11px;
    font-weight: 700;

    backdrop-filter: blur(8px);
}


.dg-about-image-label span {
    width: 30px;
    height: 30px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;
}


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

@media (max-width: 991px) {

    .dg-about-section {
        padding: 70px 0;
    }


    .dg-about-heading-row {
        grid-template-columns: 1fr;

        gap: 18px;
    }


    .dg-about-title {
        max-width: 760px;

        font-size: 44px;
    }


    .dg-about-intro {
        margin-top: 22px;
    }


    .dg-about-image {
        min-height: 500px;

        margin-top: 15px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-about-section {
        padding: 55px 0;
    }


    .dg-about-title {
        font-size: 36px;

        letter-spacing: -1.5px;
    }


    .dg-about-intro,
    .dg-about-second-text {
        font-size: 13px;
        line-height: 1.7;
    }


    .dg-about-orange-card {
        min-height: 135px;

        padding: 25px;
    }


    .dg-about-dark-card {
        min-height: 135px;

        padding: 24px;
    }


    .dg-dark-big {
        min-width: 95px;

        font-size: 45px;
    }


    .dg-dark-divider {
        margin: 0 20px;
    }


    .dg-about-middle {
        padding-top: 8px;
    }


    .dg-about-image {
        min-height: 420px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-about-section {
        padding: 45px 0;
    }


    .dg-about-title {
        font-size: 31px;
        line-height: 1.05;
    }


    .dg-about-dark-card {
        align-items: flex-start;

        flex-direction: column;
    }


    .dg-dark-divider {
        width: 100%;
        height: 1px;

        margin: 17px 0;
    }


    .dg-about-dark-card p {
        max-width: 100%;
    }


    .dg-about-image {
        min-height: 360px;
    }


    .dg-about-image-label {
        left: 15px;
        bottom: 15px;

        font-size: 10px;
    }

}


/* =========================================================
   PROCESS SECTION
========================================================= */

.dg-process-section {
    position: relative;

    padding: 100px 0 90px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 15% 30%,
            rgba(255, 159, 0, .06),
            transparent 25%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(255, 255, 255, .035),
            transparent 25%
        ),
        #111214;

    color: #fff;
}


/* decorative circle */

.dg-process-section::before {
    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    right: -280px;
    top: -270px;

    border-radius: 50%;

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


/* =========================================================
   HEADER
========================================================= */

.dg-process-head {
    position: relative;
    z-index: 5;

    margin-bottom: 65px;
}


.dg-process-badge {
    width: max-content;

    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 24px;

    padding: 8px 15px;

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

    border-radius: 50px;

    color: #aaaeb5;

    font-size: 11px;
    font-weight: 700;
}


.dg-process-badge span {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-process-title {
    max-width: 720px;

    margin: 0;

    color: #fff;

    font-size: clamp(42px, 4.7vw, 68px);
    line-height: .96;

    font-weight: 300;

    letter-spacing: -3px;

    text-transform: uppercase;
}


.dg-process-title span {
    display: block;

    color: #ff9f00;

    font-weight: 900;
}


.dg-process-intro {
    max-width: 450px;

    margin: 0 0 5px auto;

    color: #999da5;

    font-size: 14px;
    line-height: 1.85;
}


/* =========================================================
   PROCESS WRAPPER
========================================================= */

.dg-process-wrap {
    position: relative;

    z-index: 5;
}


/* horizontal orange line */

.dg-process-line {
    position: absolute;

    z-index: 0;

    height: 1px;

    left: 10%;
    right: 10%;

    top: 99px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,159,0,.8) 15%,
            #ff9f00 50%,
            rgba(255,159,0,.8) 85%,
            transparent
        );
}


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

.dg-step-card {
    position: relative;
    z-index: 3;

    min-height: 385px;

    padding: 28px 26px 26px;

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

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.015)
        );

    transition:
        transform .4s ease,
        border-color .4s ease,
        background .4s ease;
}


.dg-step-card:hover {
    transform: translateY(-10px);

    border-color: rgba(255,159,0,.55);

    background:
        linear-gradient(
            145deg,
            rgba(255,159,0,.08),
            rgba(255,255,255,.02)
        );
}


/* =========================================================
   TOP
========================================================= */

.dg-step-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 45px;
}


.dg-step-number {
    color: rgba(255,255,255,.16);

    font-size: 54px;
    line-height: 1;

    font-weight: 800;

    letter-spacing: -3px;
}


.dg-step-icon {
    width: 52px;
    height: 52px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 17px;

    transition: .4s ease;
}


.dg-step-card:hover .dg-step-icon {
    transform: rotate(10deg) scale(1.08);
}


/* dot on process line */

.dg-step-dot {
    position: absolute;

    width: 13px;
    height: 13px;

    top: 93px;
    left: 27px;

    border: 3px solid #111214;

    border-radius: 50%;

    background: #ff9f00;

    box-shadow:
        0 0 0 3px rgba(255,159,0,.15);
}


/* =========================================================
   TEXT
========================================================= */

.dg-step-card h3 {
    max-width: 200px;

    margin: 0 0 17px;

    color: #fff;

    font-size: 23px;
    line-height: 1.15;

    font-weight: 800;

    text-transform: uppercase;
}


.dg-step-card p {
    margin: 0;

    color: #959aa2;

    font-size: 13px;
    line-height: 1.75;
}


.dg-step-label {
    position: absolute;

    left: 26px;
    bottom: 24px;

    display: inline-flex;
    align-items: center;

    gap: 7px;

    color: #ff9f00;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .7px;

    text-transform: uppercase;
}


.dg-step-label::before {
    content: "";

    width: 17px;
    height: 2px;

    background: #ff9f00;
}


/* =========================================================
   FEATURED CARD
========================================================= */

.dg-step-featured {
    background: #ff9f00;

    border-color: #ff9f00;
}


.dg-step-featured .dg-step-number {
    color: rgba(0,0,0,.16);
}


.dg-step-featured .dg-step-icon {
    background: #111214;

    color: #ff9f00;
}


.dg-step-featured .dg-step-dot {
    background: #111214;

    border-color: #ff9f00;

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


.dg-step-featured h3 {
    color: #111214;
}


.dg-step-featured p {
    color: rgba(17,18,20,.72);
}


.dg-step-featured .dg-step-label {
    color: #111214;
}


.dg-step-featured .dg-step-label::before {
    background: #111214;
}


.dg-step-featured:hover {
    background: #ff9f00;

    border-color: #ff9f00;
}


/* =========================================================
   BOTTOM CTA
========================================================= */

.dg-process-bottom {
    position: relative;
    z-index: 5;

    margin-top: 42px;

    min-height: 95px;

    display: flex;
    align-items: center;

    padding: 17px 20px;

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

    border-radius: 60px;

    background: rgba(255,255,255,.035);
}


.dg-process-bottom-icon {
    width: 58px;
    height: 58px;

    flex: 0 0 58px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 18px;
}


.dg-process-bottom-text {
    display: flex;
    flex-direction: column;

    margin-left: 18px;
}


.dg-process-bottom-text small {
    margin-bottom: 5px;

    color: #ff9f00;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1.2px;
}


.dg-process-bottom-text strong {
    color: #fff;

    font-size: 16px;
}


.dg-process-phone {
    min-width: 205px;
    height: 53px;

    margin-left: auto;

    padding: 0 7px 0 23px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-radius: 50px;

    background: #fff;

    color: #111214;

    text-decoration: none;

    font-size: 14px;
    font-weight: 900;

    transition: .3s ease;
}


.dg-process-phone span {
    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    transition: .3s ease;
}


.dg-process-phone:hover {
    background: #ff9f00;

    color: #111214;
}


.dg-process-phone:hover span {
    background: #111214;

    transform: rotate(-35deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-process-section {
        padding: 75px 0;
    }

    .dg-process-title {
        font-size: 52px;
    }

    .dg-process-intro {
        max-width: 600px;

        margin: 0;
    }

    .dg-process-head {
        margin-bottom: 45px;
    }

    .dg-process-line {
        display: none;
    }

    .dg-step-dot {
        display: none;
    }

    .dg-step-card {
        min-height: 360px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-process-section {
        padding: 60px 0;
    }

    .dg-process-title {
        font-size: 43px;

        letter-spacing: -2px;
    }

    .dg-process-intro {
        font-size: 13px;
        line-height: 1.7;
    }

    .dg-step-card {
        min-height: 330px;
    }

    .dg-process-bottom {
        padding: 15px;

        border-radius: 22px;

        flex-wrap: wrap;
    }

    .dg-process-bottom-text {
        width: calc(100% - 80px);
    }

    .dg-process-phone {
        width: 100%;

        margin: 15px 0 0;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-process-title {
        font-size: 36px;
    }

    .dg-process-head {
        margin-bottom: 35px;
    }

    .dg-step-card {
        min-height: 315px;

        padding: 24px;
    }

    .dg-step-number {
        font-size: 48px;
    }

    .dg-step-top {
        margin-bottom: 28px;
    }

    .dg-step-card h3 {
        font-size: 21px;
    }

    .dg-step-label {
        left: 24px;
        bottom: 22px;
    }

}



/* =========================================================
   RELIABLE SECTION
========================================================= */

.dg-reliable-section {
    position: relative;

    padding: 105px 0 90px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(255,159,0,.055),
            transparent 19%
        ),
        #f6f6f4;
}


/* background circles */

.dg-reliable-section::before {
    content: "";

    position: absolute;

    width: 470px;
    height: 470px;

    right: -260px;
    top: -270px;

    border-radius: 50%;

    border: 1px solid rgba(17,18,20,.04);
}


.dg-reliable-section::after {
    content: "";

    position: absolute;

    width: 310px;
    height: 310px;

    left: -190px;
    bottom: 150px;

    border-radius: 50%;

    border: 1px solid rgba(255,159,0,.09);
}


/* =========================================================
   IMAGE
========================================================= */

.dg-reliable-visual {
    position: relative;

    max-width: 570px;

    padding: 0 0 35px 25px;
}


.dg-reliable-image {
    position: relative;

    height: 575px;

    overflow: hidden;

    border-radius: 22px;

    background: #ddd;
}


.dg-reliable-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgba(8,9,10,.32) 100%
        );

    pointer-events: none;
}


.dg-reliable-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform .8s ease;
}


.dg-reliable-visual:hover img {
    transform: scale(1.045);
}


/* vertical orange line */

.dg-reliable-visual::before {
    content: "";

    position: absolute;

    width: 4px;

    left: 0;
    top: 60px;
    bottom: 95px;

    border-radius: 10px;

    background: #ff9f00;
}


/* =========================================================
   FLOATING STAMP
========================================================= */

.dg-reliable-stamp {
    position: absolute;
    z-index: 5;

    left: -5px;
    bottom: 0;

    min-width: 230px;

    display: flex;
    align-items: center;

    gap: 15px;

    padding: 16px 20px;

    border-radius: 16px;

    background: #111214;

    box-shadow:
        0 20px 50px rgba(0,0,0,.17);
}


.dg-reliable-stamp-icon {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 17px;
}


.dg-reliable-stamp > div {
    display: flex;
    align-items: center;

    gap: 11px;
}


.dg-reliable-stamp strong {
    color: #fff;

    font-size: 31px;
    line-height: 1;
}


.dg-reliable-stamp small {
    color: #999ea6;

    font-size: 8px;
    line-height: 1.4;

    font-weight: 800;

    letter-spacing: .7px;
}


/* orange corner */

.dg-reliable-corner {
    position: absolute;

    z-index: 4;

    width: 65px;
    height: 65px;

    right: -12px;
    top: 35px;

    display: grid;
    place-items: center;

    border: 7px solid #f6f6f4;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 19px;
}


/* =========================================================
   CONTENT
========================================================= */

.dg-reliable-content {
    position: relative;
    z-index: 5;

    padding-left: 20px;
}


.dg-reliable-badge {
    width: max-content;

    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 25px;

    padding: 8px 15px;

    border: 1px solid #d9d9d7;

    border-radius: 50px;

    background: #fff;

    color: #6f7278;

    font-size: 10px;
    font-weight: 700;
}


.dg-reliable-badge span {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-reliable-content > h2 {
    max-width: 620px;

    margin: 0 0 28px;

    color: #17181a;

    font-size: clamp(40px, 4.2vw, 62px);
    line-height: .98;

    letter-spacing: -3px;

    font-weight: 800;

    text-transform: uppercase;
}


.dg-reliable-content > p {
    max-width: 610px;

    margin: 0 0 20px;

    color: #71757b;

    font-size: 14px;
    line-height: 1.85;
}


/* =========================================================
   FEATURES
========================================================= */

.dg-reliable-features {
    margin-top: 34px;
    padding-top: 27px;

    display: grid;

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

    border-top: 1px solid #dadbd9;
}


.dg-reliable-feature {
    display: flex;
    align-items: center;

    gap: 11px;

    padding: 0 12px;

    border-right: 1px solid #ddd;
}


.dg-reliable-feature:first-child {
    padding-left: 0;
}


.dg-reliable-feature:last-child {
    border-right: 0;
}


.dg-reliable-feature > span {
    width: 43px;
    height: 43px;

    flex: 0 0 43px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 14px;
}


.dg-reliable-feature div {
    display: flex;
    flex-direction: column;
}


.dg-reliable-feature small {
    margin-bottom: 3px;

    color: #ff9f00;

    font-size: 8px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-reliable-feature strong {
    color: #242629;

    font-size: 11px;
}


/* =========================================================
   CREW DARK PANEL
========================================================= */

.dg-crew-panel {
    position: relative;
    z-index: 5;

    margin-top: 90px;

    min-height: 330px;

    display: grid;

    grid-template-columns:
        .9fr
        1px
        1.1fr;

    gap: 48px;

    align-items: center;

    padding: 50px 55px;

    overflow: hidden;

    border-radius: 24px;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(255,159,0,.11),
            transparent 25%
        ),
        #111214;
}


/* orange accent */

.dg-crew-panel::before {
    content: "";

    position: absolute;

    width: 130px;
    height: 7px;

    left: 55px;
    top: 0;

    border-radius: 0 0 10px 10px;

    background: #ff9f00;
}


/* =========================================================
   CREW HEADING
========================================================= */

.dg-crew-heading {
    position: relative;
    z-index: 3;

    display: flex;

    gap: 25px;

    align-items: flex-start;
}


.dg-crew-number {
    color: #ff9f00;

    font-size: 16px;
    font-weight: 900;
}


.dg-crew-mini {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 17px;

    color: #ff9f00;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1px;
}


.dg-crew-mini i {
    font-size: 5px;
}


.dg-crew-heading h2 {
    max-width: 430px;

    margin: 0;

    color: #fff;

    font-size: clamp(31px, 3vw, 45px);
    line-height: 1.03;

    letter-spacing: -2px;

    font-weight: 800;

    text-transform: uppercase;
}


/* divider */

.dg-crew-divider {
    width: 1px;
    height: 210px;

    background:
        linear-gradient(
            transparent,
            rgba(255,255,255,.18),
            transparent
        );
}


/* =========================================================
   CREW TEXT
========================================================= */

.dg-crew-copy {
    position: relative;
    z-index: 3;
}


.dg-crew-copy p {
    max-width: 590px;

    margin: 0 0 18px;

    color: #a0a4ab;

    font-size: 13px;
    line-height: 1.8;
}


.dg-crew-copy p:last-child {
    margin-bottom: 0;
}


/* huge background tool */

.dg-crew-decoration {
    position: absolute;

    right: -35px;
    bottom: -65px;

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

    font-size: 210px;

    transform: rotate(-20deg);
}


/* =========================================================
   SERVICE STRIP
========================================================= */

.dg-reliable-strip {
    position: relative;
    z-index: 5;

    min-height: 76px;

    margin-top: 25px;

    padding: 14px 24px;

    display: flex;
    align-items: center;

    border: 1px solid #dededc;

    border-radius: 50px;

    background: #fff;
}


.dg-strip-title {
    display: flex;
    align-items: center;

    gap: 11px;

    padding-right: 25px;

    color: #17181a;

    font-size: 12px;
    font-weight: 800;

    white-space: nowrap;
}


.dg-strip-title span {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 12px;
}


.dg-strip-services {
    flex: 1;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 15px;

    color: #72767b;

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


.dg-strip-services i {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #ff9f00;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-reliable-section {
        padding: 75px 0;
    }


    .dg-reliable-visual {
        max-width: 680px;

        margin: auto;
    }


    .dg-reliable-image {
        height: 520px;
    }


    .dg-reliable-content {
        padding: 20px 0 0;
    }


    .dg-reliable-content > h2 {
        font-size: 50px;
    }


    .dg-crew-panel {
        margin-top: 65px;

        grid-template-columns: 1fr;

        gap: 30px;

        padding: 45px;
    }


    .dg-crew-divider {
        width: 100%;
        height: 1px;

        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,.18),
                transparent
            );
    }


    .dg-reliable-strip {
        border-radius: 25px;

        flex-direction: column;

        align-items: flex-start;

        gap: 15px;
    }


    .dg-strip-services {
        width: 100%;

        justify-content: flex-start;

        flex-wrap: wrap;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-reliable-section {
        padding: 60px 0;
    }


    .dg-reliable-visual {
        padding-left: 12px;
        padding-bottom: 28px;
    }


    .dg-reliable-image {
        height: 440px;

        border-radius: 18px;
    }


    .dg-reliable-stamp {
        min-width: 205px;

        padding: 13px 16px;
    }


    .dg-reliable-corner {
        width: 58px;
        height: 58px;

        right: -4px;
    }


    .dg-reliable-content > h2 {
        font-size: 41px;

        letter-spacing: -2px;
    }


    .dg-reliable-content > p {
        font-size: 13px;
        line-height: 1.7;
    }


    .dg-reliable-features {
        grid-template-columns: 1fr;

        gap: 14px;
    }


    .dg-reliable-feature {
        padding: 0 0 14px;

        border-right: 0;
        border-bottom: 1px solid #ddd;
    }


    .dg-reliable-feature:last-child {
        border-bottom: 0;
    }


    .dg-crew-panel {
        margin-top: 50px;

        padding: 38px 27px;

        border-radius: 20px;
    }


    .dg-crew-heading {
        gap: 15px;
    }


    .dg-crew-heading h2 {
        font-size: 34px;
    }


    .dg-crew-copy p {
        font-size: 12.5px;
        line-height: 1.7;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-reliable-image {
        height: 380px;
    }


    .dg-reliable-content > h2 {
        font-size: 35px;
    }


    .dg-crew-panel {
        padding: 35px 22px;
    }


    .dg-crew-heading {
        display: block;
    }


    .dg-crew-number {
        display: block;

        margin-bottom: 12px;
    }


    .dg-crew-heading h2 {
        font-size: 30px;
    }


    .dg-reliable-strip {
        padding: 17px;
    }


    .dg-strip-services {
        gap: 10px;
    }

}


/* =========================================================
   SERVICES SHOWCASE
========================================================= */

.dg-showcase {
    position: relative;
    padding: 105px 0 65px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(255, 159, 0, .08),
            transparent 24%
        ),
        radial-gradient(
            circle at 10% 80%,
            rgba(255, 255, 255, .025),
            transparent 22%
        ),
        #111214;

    color: #fff;
}


/* =========================================================
   HUGE BACKGROUND WORD
========================================================= */

.dg-showcase-bg-word {
    position: absolute;

    top: 10px;
    right: -25px;

    color: transparent;

    -webkit-text-stroke:
        1px rgba(255,255,255,.025);

    font-size: 180px;
    line-height: 1;

    font-weight: 900;

    letter-spacing: -9px;

    pointer-events: none;
}


/* =========================================================
   HEADER
========================================================= */

.dg-showcase-header {
    position: relative;
    z-index: 5;

    margin-bottom: 60px;
}


.dg-showcase-badge {
    width: max-content;

    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 22px;

    padding: 8px 15px;

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

    border-radius: 50px;

    color: #a5a8ad;

    font-size: 10px;
    font-weight: 700;
}


.dg-showcase-badge span {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-showcase-title {
    max-width: 760px;

    margin: 0;

    color: #fff;

    font-size: clamp(46px, 5.2vw, 75px);
    line-height: .93;

    letter-spacing: -4px;

    font-weight: 300;

    text-transform: uppercase;
}


.dg-showcase-title span {
    display: block;

    color: #ff9f00;

    font-weight: 900;
}


.dg-showcase-intro {
    max-width: 390px;

    margin: 0 0 5px auto;

    color: #969ba3;

    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   MAIN
========================================================= */

.dg-showcase-main {
    position: relative;
    z-index: 5;

    overflow: hidden;

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

    border-radius: 25px;

    background: #151719;
}


/* =========================================================
   SERVICE ROWS
========================================================= */

.dg-service-list {
    height: 100%;
}


.dg-service-row {
    position: relative;

    min-height: 103px;

    display: grid;

    grid-template-columns:
        60px
        1fr
        60px;

    align-items: center;

    gap: 18px;

    padding: 15px 28px;

    border-bottom:
        1px solid rgba(255,255,255,.075);

    color: #fff;

    text-decoration: none;

    overflow: hidden;

    transition: .4s ease;
}


.dg-service-row:last-child {
    border-bottom: 0;
}


/* orange background animation */

.dg-service-row::before {
    content: "";

    position: absolute;

    inset: 0;

    background: #ff9f00;

    transform: translateX(-102%);

    transition: transform .45s ease;

    z-index: 0;
}


.dg-service-row:hover::before,
.dg-service-row.active::before {
    transform: translateX(0);
}


.dg-service-row > * {
    position: relative;
    z-index: 2;
}


/* =========================================================
   NUMBER
========================================================= */

.dg-service-num {
    color: #ff9f00;

    font-size: 11px;
    font-weight: 900;

    transition: .3s ease;
}


.dg-service-row:hover .dg-service-num,
.dg-service-row.active .dg-service-num {
    color: #111214;
}


/* =========================================================
   SERVICE NAME
========================================================= */

.dg-service-name small {
    display: block;

    margin-bottom: 5px;

    color: #6f747c;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 1.2px;

    transition: .3s ease;
}


.dg-service-name h3 {
    margin: 0;

    color: #fff;

    font-size: clamp(20px, 2vw, 29px);

    font-weight: 700;

    letter-spacing: -.8px;

    transition: .3s ease;
}


.dg-service-row:hover .dg-service-name small,
.dg-service-row.active .dg-service-name small {
    color: rgba(17,18,20,.6);
}


.dg-service-row:hover .dg-service-name h3,
.dg-service-row.active .dg-service-name h3 {
    color: #111214;
}


/* =========================================================
   ARROW
========================================================= */

.dg-service-arrow {
    width: 47px;
    height: 47px;

    display: grid;
    place-items: center;

    justify-self: end;

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

    border-radius: 50%;

    color: #fff;

    font-size: 12px;

    transition: .4s ease;
}


.dg-service-row:hover .dg-service-arrow,
.dg-service-row.active .dg-service-arrow {
    border-color: #111214;

    background: #111214;

    color: #ff9f00;

    transform: rotate(8deg);
}


/* =========================================================
   IMAGE
========================================================= */

.dg-showcase-visual {
    position: relative;

    height: 100%;
    min-height: 620px;

    overflow: hidden;

    background: #222;
}


.dg-showcase-visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.05) 30%,
            rgba(0,0,0,.72) 100%
        );

    pointer-events: none;
}


.dg-showcase-visual > img {
    width: 100%;
    height: 100%;

    position: absolute;
    inset: 0;

    object-fit: cover;

    display: block;

    transition: transform 1s ease;
}


.dg-showcase-main:hover
.dg-showcase-visual > img {
    transform: scale(1.045);
}


/* =========================================================
   IMAGE LABEL
========================================================= */

.dg-visual-label {
    position: absolute;
    z-index: 5;

    left: 25px;
    top: 25px;

    display: flex;
    align-items: center;

    gap: 10px;

    padding: 8px 14px 8px 8px;

    border-radius: 50px;

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

    backdrop-filter: blur(8px);
}


.dg-visual-label > span {
    width: 36px;
    height: 36px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 13px;
}


.dg-visual-label div {
    display: flex;
    flex-direction: column;
}


.dg-visual-label small {
    margin-bottom: 2px;

    color: #ff9f00;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-visual-label strong {
    color: #fff;

    font-size: 9px;
}


/* =========================================================
   BIG NUMBER
========================================================= */

.dg-visual-number {
    position: absolute;
    z-index: 5;

    right: 25px;
    top: 28px;

    display: flex;
    align-items: center;

    gap: 10px;
}


.dg-visual-number strong {
    color: #fff;

    font-size: 55px;
    line-height: 1;

    font-weight: 300;
}


.dg-visual-number span {
    color: rgba(255,255,255,.68);

    font-size: 8px;
    line-height: 1.4;

    font-weight: 800;

    letter-spacing: 1px;
}


/* =========================================================
   IMAGE BOTTOM
========================================================= */

.dg-visual-bottom {
    position: absolute;
    z-index: 6;

    left: 25px;
    right: 25px;
    bottom: 25px;

    display: flex;
    align-items: center;

    padding: 17px 17px 17px 21px;

    border-radius: 17px;

    background: #ff9f00;
}


.dg-visual-bottom div {
    display: flex;
    flex-direction: column;
}


.dg-visual-bottom small {
    margin-bottom: 4px;

    color: rgba(17,18,20,.62);

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-visual-bottom strong {
    color: #111214;

    font-size: 16px;
}


.dg-visual-bottom a {
    width: 46px;
    height: 46px;

    margin-left: auto;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #111214;

    color: #ff9f00;

    text-decoration: none;

    transition: .3s ease;
}


.dg-visual-bottom a:hover {
    transform: rotate(-15deg) scale(1.08);

    background: #fff;
}


/* =========================================================
   TICKER
========================================================= */

.dg-service-ticker {
    position: relative;
    z-index: 5;

    min-height: 75px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-top: 25px;

    padding: 15px 28px;

    border-top:
        1px solid rgba(255,255,255,.08);

    border-bottom:
        1px solid rgba(255,255,255,.08);
}


.dg-ticker-item {
    display: flex;
    align-items: center;

    gap: 10px;

    color: #fff;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .7px;
}


.dg-ticker-item i {
    color: #ff9f00;

    font-size: 9px;
}


.dg-service-ticker > span {
    width: 5px;
    height: 5px;

    flex: 0 0 5px;

    border-radius: 50%;

    background: #ff9f00;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-showcase {
        padding: 75px 0 55px;
    }

    .dg-showcase-bg-word {
        font-size: 120px;
    }

    .dg-showcase-title {
        font-size: 57px;
    }

    .dg-showcase-intro {
        max-width: 600px;

        margin: 0;
    }

    .dg-showcase-header {
        margin-bottom: 45px;
    }

    .dg-showcase-visual {
        min-height: 520px;
    }

    .dg-service-ticker {
        flex-wrap: wrap;

        justify-content: center;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-showcase {
        padding: 60px 0 45px;
    }

    .dg-showcase-title {
        font-size: 45px;

        letter-spacing: -2.5px;
    }

    .dg-showcase-intro {
        font-size: 13px;
    }

    .dg-service-row {
        min-height: 88px;

        grid-template-columns:
            35px
            1fr
            45px;

        gap: 10px;

        padding: 13px 17px;
    }

    .dg-service-name h3 {
        font-size: 21px;
    }

    .dg-service-name small {
        font-size: 7px;
    }

    .dg-service-arrow {
        width: 40px;
        height: 40px;
    }

    .dg-showcase-visual {
        min-height: 440px;
    }

    .dg-service-ticker {
        gap: 12px;

        padding-left: 10px;
        padding-right: 10px;
    }

    .dg-ticker-item {
        font-size: 10px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-showcase-title {
        font-size: 38px;
    }

    .dg-showcase-main {
        border-radius: 18px;
    }

    .dg-showcase-visual {
        min-height: 390px;
    }

    .dg-visual-number {
        display: none;
    }

    .dg-visual-label {
        left: 15px;
        top: 15px;
    }

    .dg-visual-bottom {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }

    .dg-service-ticker > span {
        display: none;
    }

}


/* =========================================================
   SIMPLE PROCESS
========================================================= */

.dg-simple-process {
    position: relative;
    padding: 95px 0;
    overflow: hidden;
    background: #f7f7f5;
}


/* =========================================================
   HEADER
========================================================= */

.dg-simple-head {
    margin-bottom: 60px;
}


.dg-simple-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 20px;

    color: #777b80;

    font-size: 11px;
    font-weight: 700;
}


.dg-simple-label i {
    width: 7px;
    height: 7px;

    display: block;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-simple-head h2 {
    max-width: 800px;

    margin: 0;

    color: #17181a;

    font-size: 2rem;
    line-height: .98;

    letter-spacing: -3.5px;

    font-weight: 700;

    text-transform: uppercase;
}


.dg-simple-head p {
    max-width: 430px;

    margin: 38px 0 0 auto;

    color: #74777c;

    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   STEPS
========================================================= */

.dg-simple-steps {
    border-top: 1px solid #d8d8d5;
}


.dg-simple-step {
    position: relative;

    min-height: 115px;

    display: grid;

    grid-template-columns:
        90px
        minmax(250px, .85fr)
        1.15fr;

    align-items: center;

    gap: 25px;

    padding: 20px 15px 20px 0;

    border-bottom: 1px solid #d8d8d5;

    transition:
        padding .35s ease,
        background .35s ease;
}


/* subtle hover */

.dg-simple-step:hover {
    padding-left: 18px;

    background: #fff;
}


/* =========================================================
   NUMBER
========================================================= */

.dg-simple-number {
    color: #ff9f00;

    font-size: 13px;
    font-weight: 900;

    letter-spacing: 1px;
}


/* =========================================================
   TITLE
========================================================= */

.dg-simple-step-title {
    display: flex;
    align-items: center;

    gap: 17px;
}


.dg-simple-step-title > span {
    width: 46px;
    height: 46px;

    flex: 0 0 46px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #17181a;

    color: #ff9f00;

    font-size: 14px;

    transition: .35s ease;
}


.dg-simple-step-title strong {
    color: #1a1b1d;

    font-size: 18px;
    line-height: 1.3;

    font-weight: 800;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.dg-simple-step > p {
    max-width: 520px;

    margin: 0;

    color: #777b80;

    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   HOVER
========================================================= */

.dg-simple-step:hover
.dg-simple-step-title > span {
    background: #ff9f00;

    color: #fff;

    transform: rotate(8deg);
}


/* little orange line */

.dg-simple-step::before {
    content: "";

    position: absolute;

    width: 0;
    height: 2px;

    left: 0;
    bottom: -1px;

    background: #ff9f00;

    transition: width .5s ease;
}


.dg-simple-step:hover::before {
    width: 100%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-simple-process {
        padding: 75px 0;
    }


    .dg-simple-head {
        margin-bottom: 45px;
    }


    .dg-simple-head h2 {
        font-size: 52px;
    }


    .dg-simple-head p {
        max-width: 650px;

        margin: 0;
    }


    .dg-simple-step {
        grid-template-columns:
            55px
            minmax(230px, .9fr)
            1.1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-simple-process {
        padding: 60px 0;
    }


    .dg-simple-head h2 {
        font-size: 41px;

        letter-spacing: -2px;
    }


    .dg-simple-head p {
        font-size: 13px;
        line-height: 1.7;
    }


    .dg-simple-step {
        grid-template-columns:
            35px
            1fr;

        gap: 12px 15px;

        padding: 22px 5px 22px 0;
    }


    .dg-simple-step > p {
        grid-column: 2;

        padding-left: 63px;
    }


    .dg-simple-step-title strong {
        font-size: 16px;
    }


    .dg-simple-step:hover {
        padding-left: 8px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-simple-process {
        padding: 50px 0;
    }


    .dg-simple-head {
        margin-bottom: 35px;
    }


    .dg-simple-head h2 {
        font-size: 34px;
    }


    .dg-simple-step {
        grid-template-columns: 1fr;

        gap: 12px;

        padding: 22px 5px;
    }


    .dg-simple-number {
        font-size: 11px;
    }


    .dg-simple-step > p {
        grid-column: auto;

        padding-left: 63px;

        font-size: 12.5px;
    }


    .dg-simple-step-title > span {
        width: 45px;
        height: 45px;

        flex: 0 0 45px;
    }

}


/* =========================================================
   SECTION
========================================================= */

.dg-offer-contact {
    position: relative;
    padding: 95px 0;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 8% 20%,
            rgba(255,159,0,.055),
            transparent 22%
        ),
        #111214;
}


/* background circle */

.dg-offer-contact::before {
    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    right: -270px;
    bottom: -300px;

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

    border-radius: 50%;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.dg-offer-heading {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 40px;

    margin-bottom: 48px;
}


.dg-offer-kicker {
    display: flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 18px;

    color: #9ca0a6;

    font-size: 10px;
    font-weight: 800;
}


.dg-offer-kicker i {
    width: 6px;
    height: 6px;

    display: block;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-offer-heading h2 {
    max-width: 750px;

    margin: 0;

    color: #fff;

    font-size: clamp(40px, 4.4vw, 64px);
    line-height: .96;

    letter-spacing: -3px;

    font-weight: 300;
}


.dg-offer-heading h2 span {
    display: block;

    color: #ff9f00;

    font-weight: 900;
}


.dg-offer-heading > p {
    max-width: 360px;

    margin: 0 0 5px;

    color: #92969d;

    font-size: 13px;
    line-height: 1.75;
}


/* =========================================================
   COUPON
========================================================= */

.dg-coupon {
    position: relative;

    height: 100%;
    min-height: 570px;

    padding: 32px;

    overflow: hidden;

    border-radius: 25px;

    background: #ff9f00;

    color: #111214;
}


/* big background circle */

.dg-coupon::before {
    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    right: -170px;
    top: 80px;

    border: 1px solid rgba(17,18,20,.09);

    border-radius: 50%;
}


/* =========================================================
   COUPON TOP
========================================================= */

.dg-coupon-top {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


.dg-coupon-brand {
    display: flex;
    align-items: center;

    gap: 11px;
}


.dg-coupon-brand-icon {
    width: 45px;
    height: 45px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #111214;

    color: #ff9f00;

    font-size: 15px;
}


.dg-coupon-brand div {
    display: flex;
    flex-direction: column;
}


.dg-coupon-brand small {
    font-size: 8px;
    font-weight: 900;

    letter-spacing: 1.2px;
}


.dg-coupon-brand strong {
    font-size: 12px;
}


.dg-coupon-tag {
    padding: 8px 13px;

    border: 1px solid rgba(17,18,20,.25);

    border-radius: 50px;

    font-size: 8px;
    font-weight: 900;

    letter-spacing: 1px;
}


/* =========================================================
   COUPON MAIN
========================================================= */

.dg-coupon-main {
    position: relative;
    z-index: 3;

    padding: 58px 0 38px;
}


.dg-coupon-small {
    display: block;

    margin-bottom: -4px;

    font-size: 12px;
    font-weight: 900;

    letter-spacing: 2px;
}


.dg-coupon-price {
    display: flex;
    align-items: center;

    margin-bottom: 12px;
}


.dg-coupon-price > span {
    align-self: flex-start;

    margin-top: 17px;

    font-size: 28px;
    font-weight: 900;
}


.dg-coupon-price > strong {
    font-size: clamp(100px, 10vw, 145px);
    line-height: .85;

    font-weight: 900;

    letter-spacing: -9px;
}


.dg-coupon-price > div {
    display: flex;
    flex-direction: column;

    margin-left: 18px;
}


.dg-coupon-price b {
    font-size: 34px;
    line-height: 1;

    font-weight: 900;
}


.dg-coupon-price small {
    margin-top: 5px;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: 1.4px;
}


.dg-coupon-main h3 {
    margin: 15px 0;

    font-size: 27px;
    line-height: 1.05;

    font-weight: 900;
}


.dg-coupon-main p {
    max-width: 360px;

    margin: 0;

    color: rgba(17,18,20,.68);

    font-size: 11px;
    line-height: 1.6;
}


/* =========================================================
   CUT LINE
========================================================= */

.dg-coupon-cut {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;

    margin: 8px -32px 25px;
}


.dg-coupon-cut > span {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    margin-left: 11px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #111214;

    color: #ff9f00;

    font-size: 13px;
}


.dg-coupon-cut > i {
    width: 100%;

    border-top: 1px dashed rgba(17,18,20,.35);
}


/* =========================================================
   COUPON BOTTOM
========================================================= */

.dg-coupon-bottom {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;
}


.dg-coupon-bottom > div:first-child {
    display: flex;
    flex-direction: column;
}


.dg-coupon-bottom small {
    margin-bottom: 5px;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1.1px;
}


.dg-coupon-bottom a {
    color: #111214;

    font-size: 22px;
    font-weight: 900;

    text-decoration: none;
}


.dg-coupon-code {
    display: flex;
    flex-direction: column;

    text-align: right;
}


.dg-coupon-code strong {
    padding: 7px 12px;

    border-radius: 6px;

    background: #111214;

    color: #ff9f00;

    font-size: 12px;

    letter-spacing: 2px;
}


/* background gear */

.dg-coupon-gear {
    position: absolute;

    right: -55px;
    bottom: -70px;

    color: rgba(17,18,20,.055);

    font-size: 230px;

    transform: rotate(15deg);
}


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

.dg-contact-box {
    height: 100%;
    min-height: 570px;

    padding: 35px;

    border-radius: 25px;

    background: #f7f7f5;
}


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

.dg-form-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 28px;
}


.dg-form-label {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 12px;

    color: #777b80;

    font-size: 9px;
    font-weight: 800;
}


.dg-form-label i {
    width: 5px;
    height: 5px;

    display: block;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-form-head h2 {
    margin: 0;

    color: #17181a;

    font-size: clamp(30px, 3vw, 42px);
    line-height: .98;

    letter-spacing: -2px;

    font-weight: 800;
}


.dg-form-head h2 span {
    display: block;

    color: #ff9f00;
}


.dg-form-head-icon {
    width: 53px;
    height: 53px;

    flex: 0 0 53px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #111214;

    color: #ff9f00;

    font-size: 16px;
}


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

.dg-form-field label {
    display: block;

    margin: 0 0 7px 4px;

    color: #8a8d91;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-input-wrap {
    position: relative;
}


.dg-input-wrap > i {
    position: absolute;

    z-index: 2;

    left: 17px;
    top: 50%;

    transform: translateY(-50%);

    color: #ff9f00;

    font-size: 11px;
}


.dg-input-wrap input,
.dg-input-wrap select,
.dg-input-wrap textarea {
    width: 100%;

    outline: 0;

    border: 1px solid #dededb;

    border-radius: 10px;

    background: #fff;

    color: #17181a;

    font-size: 11px;

    transition: .3s ease;
}


.dg-input-wrap input,
.dg-input-wrap select {
    height: 51px;

    padding: 0 15px 0 42px;
}


.dg-input-wrap textarea {
    height: 92px;

    padding: 16px 15px 15px 42px;

    resize: none;
}


.dg-textarea-wrap > i {
    top: 18px;

    transform: none;
}


.dg-input-wrap input:focus,
.dg-input-wrap select:focus,
.dg-input-wrap textarea:focus {
    border-color: #ff9f00;

    box-shadow:
        0 0 0 3px rgba(255,159,0,.08);
}


/* =========================================================
   BUTTON
========================================================= */

.dg-form-submit {
    width: 100%;
    height: 55px;

    margin-top: 4px;

    padding: 0 7px 0 21px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border: 0;

    border-radius: 50px;

    background: #111214;

    color: #fff;

    cursor: pointer;

    font-size: 10px;
    font-weight: 900;

    letter-spacing: .7px;

    transition: .3s ease;
}


.dg-form-submit i {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    transition: .3s ease;
}


.dg-form-submit:hover {
    background: #ff9f00;

    color: #111214;
}


.dg-form-submit:hover i {
    background: #111214;

    color: #ff9f00;

    transform: rotate(-35deg);
}


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

.dg-form-bottom {
    display: flex;
    align-items: center;

    gap: 17px;

    margin-top: 22px;
    padding-top: 18px;

    border-top: 1px solid #ddd;
}


.dg-form-bottom span {
    display: flex;
    align-items: center;

    gap: 6px;

    color: #74777c;

    font-size: 9px;
    font-weight: 700;
}


.dg-form-bottom span i {
    color: #ff9f00;
}


.dg-form-bottom a {
    margin-left: auto;

    color: #17181a;

    font-size: 12px;
    font-weight: 900;

    text-decoration: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-offer-contact {
        padding: 75px 0;
    }

    .dg-offer-heading {
        align-items: flex-start;

        flex-direction: column;

        margin-bottom: 40px;
    }

    .dg-offer-heading h2 {
        font-size: 52px;
    }

    .dg-offer-heading > p {
        max-width: 600px;
    }

    .dg-coupon,
    .dg-contact-box {
        min-height: auto;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-offer-contact {
        padding: 60px 0;
    }

    .dg-offer-heading h2 {
        font-size: 41px;

        letter-spacing: -2px;
    }

    .dg-coupon {
        padding: 25px;

        border-radius: 20px;
    }

    .dg-coupon-main {
        padding: 45px 0 30px;
    }

    .dg-coupon-price > strong {
        font-size: 115px;
    }

    .dg-coupon-cut {
        margin-left: -25px;
        margin-right: -25px;
    }

    .dg-contact-box {
        padding: 27px;

        border-radius: 20px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-offer-contact {
        padding: 50px 0;
    }

    .dg-offer-heading h2 {
        font-size: 35px;
    }

    .dg-coupon-top {
        align-items: flex-start;
    }

    .dg-coupon-tag {
        font-size: 6px;
    }

    .dg-coupon-price > strong {
        font-size: 95px;

        letter-spacing: -6px;
    }

    .dg-coupon-price b {
        font-size: 27px;
    }

    .dg-coupon-main h3 {
        font-size: 23px;
    }

    .dg-coupon-bottom a {
        font-size: 18px;
    }

    .dg-contact-box {
        padding: 23px 18px;
    }

    .dg-form-head h2 {
        font-size: 31px;
    }

    .dg-form-head-icon {
        width: 45px;
        height: 45px;

        flex-basis: 45px;
    }

    .dg-form-bottom {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .dg-form-bottom a {
        width: 100%;

        margin-left: 0;
    }

}

.dg-coupon-code {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    text-align: right;
}

.dg-coupon-code small {
    margin-bottom: 6px;

    color: #111214;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1.2px;
}


/* CLICK HERE BUTTON */

.dg-coupon-click {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 10px 15px;

    border-radius: 50px;

    background: #ffffff;

    color: #ff9f00;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 1px;

    text-decoration: none;

    transition: all .3s ease;
}


.dg-coupon-click i {
    font-size: 9px;

    transition: transform .3s ease;
}


/* HOVER */

.dg-coupon-click:hover {
    background: #fff;

    color: #111214;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
}


.dg-coupon-click:hover i {
    transform: translateX(4px);
}

















/* =========================================================
   FAQ SECTION
========================================================= */

.dg-faq-section {
    position: relative;
    padding: 95px 0;
    overflow: hidden;
    background: #f7f7f5;
}


.dg-faq-section::before {
    content: "";

    position: absolute;

    width: 430px;
    height: 430px;

    left: -250px;
    bottom: -250px;

    border-radius: 50%;

    border: 1px solid rgba(255,159,0,.08);
}


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

.dg-faq-left {
    position: sticky;
    top: 30px;
}


.dg-faq-badge {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 22px;

    color: #74777d;

    font-size: 10px;
    font-weight: 800;
}


.dg-faq-badge i {
    width: 6px;
    height: 6px;

    display: block;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-faq-left h2 {
    max-width: 520px;

    margin: 0;

    color: #17181a;

    font-size: clamp(42px, 4.7vw, 66px);
    line-height: .96;

    letter-spacing: -3.5px;

    font-weight: 300;
}


.dg-faq-left h2 span {
    display: block;

    color: #ff9f00;

    font-weight: 900;
}


.dg-faq-left > p {
    max-width: 400px;

    margin: 27px 0 0;

    color: #777b80;

    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   PHONE
========================================================= */

.dg-faq-call {
    width: max-content;

    display: flex;
    align-items: center;

    gap: 13px;

    margin-top: 32px;

    color: #17181a;

    text-decoration: none;
}


.dg-faq-call-icon {
    width: 50px;
    height: 50px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 14px;

    transition: .3s ease;
}


.dg-faq-call > div:last-child {
    display: flex;
    flex-direction: column;
}


.dg-faq-call small {
    margin-bottom: 4px;

    color: #8a8d92;

    font-size: 8px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-faq-call strong {
    color: #17181a;

    font-size: 16px;
    font-weight: 900;
}


.dg-faq-call:hover .dg-faq-call-icon {
    transform: rotate(-12deg) scale(1.07);
}


/* =========================================================
   ACCORDION
========================================================= */

.dg-faq-accordion {
    border-top: 1px solid #d9d9d6;
}


.dg-faq-accordion .accordion-item {
    border: 0;
    border-bottom: 1px solid #d9d9d6;

    border-radius: 0;

    background: transparent;
}


/* =========================================================
   BUTTON
========================================================= */

.dg-faq-accordion .accordion-button {
    position: relative;

    display: grid;

    grid-template-columns:
        50px
        1fr
        45px;

    align-items: center;

    gap: 18px;

    min-height: 112px;

    padding: 20px 5px;

    border: 0;

    border-radius: 0 !important;

    background: transparent;

    box-shadow: none !important;

    color: #17181a;
}


/* remove bootstrap default arrow */

.dg-faq-accordion .accordion-button::after {
    content: "+";

    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    margin: 0;

    border: 1px solid #d1d1ce;

    border-radius: 50%;

    background-image: none !important;

    color: #17181a;

    font-size: 23px;
    font-weight: 300;

    transform: none;

    transition: .3s ease;
}


.dg-faq-accordion .accordion-button:not(.collapsed)::after {
    content: "−";

    background: #ff9f00;

    border-color: #ff9f00;

    color: #fff;

    transform: rotate(180deg);
}


/* =========================================================
   NUMBER
========================================================= */

.dg-faq-number {
    color: #ff9f00;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 1px;
}


/* =========================================================
   QUESTION
========================================================= */

.dg-faq-question {
    max-width: 650px;

    color: #1c1d1f;

    font-size: 21px;
    line-height: 1.35;

    font-weight: 800;

    letter-spacing: -.4px;
}


/* =========================================================
   ACTIVE
========================================================= */

.dg-faq-accordion
.accordion-button:not(.collapsed)
.dg-faq-question {
    color: #ff9f00;
}


/* =========================================================
   BODY
========================================================= */

.dg-faq-accordion .accordion-body {
    max-width: 690px;

    padding:
        0
        55px
        30px
        73px;

    color: #75797f;

    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   HOVER
========================================================= */

.dg-faq-accordion .accordion-button:hover
.dg-faq-question {
    color: #ff9f00;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-faq-section {
        padding: 75px 0;
    }


    .dg-faq-left {
        position: relative;
        top: auto;

        margin-bottom: 15px;
    }


    .dg-faq-left h2 {
        font-size: 54px;
    }


    .dg-faq-left > p {
        max-width: 600px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-faq-section {
        padding: 60px 0;
    }


    .dg-faq-left h2 {
        font-size: 43px;

        letter-spacing: -2px;
    }


    .dg-faq-left > p {
        font-size: 13px;
        line-height: 1.7;
    }


    .dg-faq-accordion .accordion-button {
        grid-template-columns:
            35px
            1fr
            38px;

        gap: 10px;

        min-height: 95px;
    }


    .dg-faq-question {
        font-size: 17px;
    }


    .dg-faq-accordion .accordion-button::after {
        width: 36px;
        height: 36px;

        font-size: 20px;
    }


    .dg-faq-accordion .accordion-body {
        padding:
            0
            10px
            25px
            45px;

        font-size: 12.5px;
        line-height: 1.7;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-faq-section {
        padding: 50px 0;
    }


    .dg-faq-left h2 {
        font-size: 36px;
    }


    .dg-faq-call {
        margin-top: 25px;
    }


    .dg-faq-accordion .accordion-button {
        grid-template-columns:
            26px
            1fr
            34px;

        gap: 9px;

        min-height: 90px;

        padding-top: 17px;
        padding-bottom: 17px;
    }


    .dg-faq-number {
        font-size: 9px;
    }


    .dg-faq-question {
        font-size: 15px;
        line-height: 1.4;
    }


    .dg-faq-accordion .accordion-button::after {
        width: 32px;
        height: 32px;

        font-size: 18px;
    }


    .dg-faq-accordion .accordion-body {
        padding-left: 35px;
    }

}



/* =========================================================
   SIMPLE GALLERY
========================================================= */

.dg-gallery-section {
    padding: 95px 0;

    background: #f7f7f5;

    overflow: hidden;
}


/* =========================================================
   HEADING
========================================================= */

.dg-gallery-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 40px;

    margin-bottom: 45px;
}


.dg-gallery-label {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 17px;

    color: #777b80;

    font-size: 10px;
    font-weight: 800;
}


.dg-gallery-label i {
    width: 6px;
    height: 6px;

    display: block;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-gallery-head h2 {
    margin: 0;

    color: #17181a;

    font-size: clamp(42px, 4.5vw, 63px);
    line-height: .95;

    letter-spacing: -3px;

    font-weight: 300;
}


.dg-gallery-head h2 span {
    display: block;

    color: #ff9f00;

    font-weight: 900;
}


.dg-gallery-head > p {
    max-width: 350px;

    margin: 0 0 5px;

    color: #777b80;

    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   GALLERY ITEM
========================================================= */

.dg-gallery-item {
    position: relative;

    width: 100%;

    overflow: hidden;

    border-radius: 16px;

    background: #ddd;
}


.dg-gallery-large {
    height: 430px;
}


.dg-gallery-small {
    height: 245px;
}


/* =========================================================
   IMAGE
========================================================= */

.dg-gallery-item img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .65s ease;
}


.dg-gallery-item::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.58) 100%
        );

    pointer-events: none;
}


.dg-gallery-item:hover img {
    transform: scale(1.045);
}


/* =========================================================
   NAME
========================================================= */

.dg-gallery-name {
    position: absolute;
    z-index: 3;

    left: 18px;
    bottom: 17px;

    display: inline-flex;
    align-items: center;

    padding: 8px 13px;

    border-radius: 50px;

    background: rgba(17,18,20,.86);

    color: #fff;

    font-size: 10px;
    font-weight: 800;

    backdrop-filter: blur(5px);
}


.dg-gallery-name::before {
    content: "";

    width: 5px;
    height: 5px;

    margin-right: 8px;

    border-radius: 50%;

    background: #ff9f00;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-gallery-section {
        padding: 75px 0;
    }


    .dg-gallery-head h2 {
        font-size: 52px;
    }


    .dg-gallery-large {
        height: 370px;
    }


    .dg-gallery-small {
        height: 270px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-gallery-section {
        padding: 60px 0;
    }


    .dg-gallery-head {
        align-items: flex-start;

        flex-direction: column;

        gap: 18px;

        margin-bottom: 30px;
    }


    .dg-gallery-head h2 {
        font-size: 42px;

        letter-spacing: -2px;
    }


    .dg-gallery-head > p {
        max-width: 500px;
    }


    .dg-gallery-large,
    .dg-gallery-small {
        height: 310px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-gallery-section {
        padding: 50px 0;
    }


    .dg-gallery-head h2 {
        font-size: 35px;
    }


    .dg-gallery-large,
    .dg-gallery-small {
        height: 260px;
    }


    .dg-gallery-item {
        border-radius: 13px;
    }

}


/* =========================================================
   BRANDS SECTION
========================================================= */

.dg-brands-section {
    position: relative;

    padding: 75px 0 80px;

    overflow: hidden;

    background: #fff;
}


/* =========================================================
   HEADING
========================================================= */

.dg-brands-heading {
    max-width: 720px;

    margin: 0 auto 45px;

    text-align: center;
}


.dg-brands-label {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 15px;

    color: #777b80;

    font-size: 10px;
    font-weight: 800;
}


.dg-brands-label i {
    width: 6px;
    height: 6px;

    display: block;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-brands-heading h2 {
    margin: 0;

    color: #17181a;

    font-size: clamp(38px, 4vw, 55px);
    line-height: .98;

    letter-spacing: -2.5px;

    font-weight: 300;
}


.dg-brands-heading h2 span {
    color: #ff9f00;

    font-weight: 900;
}


.dg-brands-heading p {
    max-width: 500px;

    margin: 17px auto 0;

    color: #7b7e83;

    font-size: 12px;
    line-height: 1.7;
}


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

.dg-brands-grid {
    display: grid;

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

    border-top: 1px solid #e5e5e2;
    border-left: 1px solid #e5e5e2;
}


/* =========================================================
   BRAND
========================================================= */

.dg-brand-item {
    position: relative;

    min-height: 125px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 25px;

    overflow: hidden;

    border-right: 1px solid #e5e5e2;
    border-bottom: 1px solid #e5e5e2;

    background: #fff;

    transition:
        background .35s ease,
        transform .35s ease;
}


/* orange line */

.dg-brand-item::before {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 3px;

    transform: translateX(-50%);

    background: #ff9f00;

    transition: width .35s ease;
}


/* =========================================================
   LOGOS
========================================================= */

.dg-brand-item img {
    width: auto;
    height: auto;

    max-width: 125px;
    max-height: 48px;

    object-fit: contain;

    filter: grayscale(1);

    opacity: .55;

    transition:
        filter .35s ease,
        opacity .35s ease,
        transform .35s ease;
}


/* =========================================================
   HOVER
========================================================= */

.dg-brand-item:hover {
    background: #f8f8f6;
}


.dg-brand-item:hover::before {
    width: 100%;
}


.dg-brand-item:hover img {
    filter: grayscale(0);

    opacity: 1;

    transform: scale(1.07);
}


/* =========================================================
   LAST BRAND
========================================================= */

.dg-brand-item:last-child {
    grid-column: span 2;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-brands-section {
        padding: 65px 0;
    }


    .dg-brands-grid {
        grid-template-columns:
            repeat(4, 1fr);
    }


    .dg-brand-item:last-child {
        grid-column: auto;
    }


    .dg-brand-item {
        min-height: 115px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-brands-section {
        padding: 55px 0;
    }


    .dg-brands-heading {
        margin-bottom: 32px;
    }


    .dg-brands-heading h2 {
        font-size: 40px;

        letter-spacing: -2px;
    }


    .dg-brands-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }


    .dg-brand-item {
        min-height: 105px;

        padding: 18px;
    }


    .dg-brand-item img {
        max-width: 100px;
        max-height: 40px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-brands-section {
        padding: 45px 0;
    }


    .dg-brands-heading h2 {
        font-size: 34px;
    }


    .dg-brands-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .dg-brand-item {
        min-height: 100px;

        padding: 16px;
    }


    .dg-brand-item img {
        max-width: 105px;
        max-height: 38px;
    }

}



/* =========================================================
   LOCATION SECTION
========================================================= */

.dg-location-section {
    position: relative;

    padding: 90px 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(255, 159, 0, .055),
            transparent 20%
        ),
        #f7f7f5;
}


/* =========================================================
   CONTENT
========================================================= */

.dg-location-content {
    height: 100%;

    padding: 15px 25px 15px 0;
}


.dg-location-label {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 20px;

    color: #777b80;

    font-size: 10px;
    font-weight: 800;
}


.dg-location-label i {
    width: 6px;
    height: 6px;

    display: block;

    border-radius: 50%;

    background: #ff9f00;
}


/* =========================================================
   TITLE
========================================================= */

.dg-location-content > h2 {
    max-width: 580px;

    margin: 0 0 24px;

    color: #17181a;

    font-size: clamp(40px, 4.3vw, 61px);
    line-height: .96;

    letter-spacing: -3px;

    font-weight: 300;
}


.dg-location-content > h2 span {
    display: block;

    color: #ff9f00;

    font-weight: 900;
}


.dg-location-content > p {
    max-width: 530px;

    margin: 0 0 30px;

    color: #777b80;

    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   LOCATION PLACE
========================================================= */

.dg-location-place {
    display: flex;
    align-items: center;

    gap: 14px;

    padding: 17px 18px;

    margin-bottom: 13px;

    border: 1px solid #dfdfdc;

    border-radius: 13px;

    background: #fff;
}


.dg-location-icon {
    width: 47px;
    height: 47px;

    flex: 0 0 47px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #111214;

    color: #ff9f00;

    font-size: 15px;
}


.dg-location-place > div:nth-child(2) {
    display: flex;
    flex-direction: column;
}


.dg-location-place small {
    margin-bottom: 3px;

    color: #8c9095;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-location-place strong {
    color: #17181a;

    font-size: 15px;
}


.dg-location-place > span {
    margin-left: auto;

    color: #e3e3e0;

    font-size: 29px;
    font-weight: 900;
}


/* =========================================================
   ZIP BOX
========================================================= */

.dg-zip-area {
    margin-bottom: 13px;

    padding: 21px;

    border-radius: 15px;

    background: #111214;
}


.dg-zip-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 17px;
}


.dg-zip-top small {
    display: block;

    margin-bottom: 4px;

    color: #ff9f00;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-zip-top h3 {
    margin: 0;

    color: #fff;

    font-size: 18px;
    font-weight: 800;
}


.dg-zip-top > i {
    color: #ff9f00;

    font-size: 24px;
}


/* =========================================================
   ZIP CODE
========================================================= */

.dg-zip-codes {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}


.dg-zip-codes > span {
    min-width: 125px;

    padding: 11px 16px;

    display: flex;
    align-items: center;

    gap: 10px;

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

    border-radius: 50px;

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

    color: #fff;

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


.dg-zip-codes small {
    color: #ff9f00;

    font-size: 7px;
    font-weight: 900;
}


/* =========================================================
   PHONE
========================================================= */

.dg-location-call {
    display: flex;
    align-items: center;

    padding: 11px 11px 11px 19px;

    border-radius: 50px;

    background: #ff9f00;

    color: #111214;

    text-decoration: none;

    transition: .3s ease;
}


.dg-location-call > div {
    display: flex;
    flex-direction: column;
}


.dg-location-call small {
    margin-bottom: 2px;

    color: rgba(17,18,20,.62);

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-location-call strong {
    color: #111214;

    font-size: 17px;
    font-weight: 900;
}


.dg-location-call > span {
    width: 43px;
    height: 43px;

    margin-left: auto;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #111214;

    color: #ff9f00;

    transition: .3s ease;
}


.dg-location-call:hover {
    color: #111214;

    transform: translateY(-2px);
}


.dg-location-call:hover > span {
    transform: rotate(-12deg);
}


/* =========================================================
   MAP
========================================================= */

.dg-map-box {
    position: relative;

    height: 100%;
    min-height: 590px;

    overflow: hidden;

    border-radius: 22px;

    background: #ddd;
}


.dg-map-box iframe {
    width: 100%;
    height: 100%;

    position: absolute;
    inset: 0;

    border: 0;

    filter:
        grayscale(.25)
        contrast(1.03);
}


/* =========================================================
   MAP LABEL
========================================================= */

.dg-map-label {
    position: absolute;

    left: 22px;
    bottom: 22px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding: 9px 17px 9px 9px;

    border-radius: 50px;

    background: #111214;

    box-shadow:
        0 15px 35px rgba(0,0,0,.18);
}


.dg-map-label > span {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;
}


.dg-map-label > div {
    display: flex;
    flex-direction: column;
}


.dg-map-label small {
    margin-bottom: 2px;

    color: #ff9f00;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-map-label strong {
    color: #fff;

    font-size: 11px;
}


/* =========================================================
   MAP ZIP
========================================================= */

.dg-map-zip {
    position: absolute;

    right: 22px;
    top: 22px;

    width: 110px;
    height: 110px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    border: 6px solid #fff;

    border-radius: 50%;

    background: #ff9f00;

    box-shadow:
        0 15px 35px rgba(0,0,0,.15);
}


.dg-map-zip small {
    margin-bottom: 3px;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-map-zip strong {
    color: #111214;

    font-size: 23px;
    font-weight: 900;
}


/* =========================================================
   BOTTOM STRIP
========================================================= */

.dg-location-strip {
    display: flex;
    align-items: center;

    gap: 30px;

    margin-top: 22px;

    padding: 14px 18px;

    border: 1px solid #dfdfdc;

    border-radius: 50px;

    background: #fff;
}


.dg-location-strip-title {
    display: flex;
    align-items: center;

    gap: 11px;
}


.dg-location-strip-title > span {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #fff;

    font-size: 12px;
}


.dg-location-strip-title div {
    display: flex;
    flex-direction: column;
}


.dg-location-strip-title small {
    margin-bottom: 2px;

    color: #999ca0;

    font-size: 6px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-location-strip-title strong {
    color: #17181a;

    font-size: 11px;
}


/* services */

.dg-location-services {
    margin-left: auto;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 13px;

    color: #74777c;

    font-size: 10px;
    font-weight: 700;
}


.dg-location-services i {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #ff9f00;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-location-section {
        padding: 70px 0;
    }


    .dg-location-content {
        padding-right: 0;
    }


    .dg-location-content > h2 {
        font-size: 52px;
    }


    .dg-map-box {
        min-height: 480px;
    }


    .dg-location-strip {
        align-items: flex-start;
        flex-direction: column;

        border-radius: 22px;
    }


    .dg-location-services {
        width: 100%;

        margin-left: 0;

        justify-content: flex-start;

        flex-wrap: wrap;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-location-section {
        padding: 55px 0;
    }


    .dg-location-content > h2 {
        font-size: 42px;

        letter-spacing: -2px;
    }


    .dg-map-box {
        min-height: 420px;

        border-radius: 18px;
    }


    .dg-map-zip {
        width: 90px;
        height: 90px;

        right: 15px;
        top: 15px;
    }


    .dg-map-zip strong {
        font-size: 19px;
    }


    .dg-map-label {
        left: 15px;
        bottom: 15px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-location-section {
        padding: 50px 0;
    }


    .dg-location-content > h2 {
        font-size: 35px;
    }


    .dg-map-box {
        min-height: 360px;
    }


    .dg-location-place {
        padding: 14px;
    }


    .dg-map-zip {
        width: 78px;
        height: 78px;

        border-width: 4px;
    }


    .dg-map-zip small {
        font-size: 6px;
    }


    .dg-map-zip strong {
        font-size: 16px;
    }


    .dg-location-services {
        gap: 9px;
    }

}



/* =========================================================
   FOOTER
========================================================= */

.dg-footer {
    position: relative;

    padding: 35px 0 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 30%,
            rgba(255,159,0,.045),
            transparent 25%
        ),
        #111214;

    color: #fff;
}


/* subtle circle */

.dg-footer::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    right: -280px;
    bottom: -260px;

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

    border-radius: 50%;

    pointer-events: none;
}


/* =========================================================
   BEFORE AFTER
========================================================= */

.dg-footer-ba {
    position: relative;
    z-index: 2;

    overflow: hidden;

    margin-bottom: 75px;

    border-radius: 22px;

    background: #1a1b1e;
}


/* =========================================================
   BA CONTENT
========================================================= */

.dg-footer-ba-content {
    height: 100%;
    min-height: 330px;

    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;

    padding: 38px;
}


.dg-footer-label {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 18px;

    color: #92969c;

    font-size: 9px;
    font-weight: 800;
}


.dg-footer-label i {
    width: 6px;
    height: 6px;

    display: block;

    border-radius: 50%;

    background: #ff9f00;
}


.dg-footer-ba-content h2 {
    margin: 0;

    color: #fff;

    font-size: clamp(38px, 4vw, 54px);
    line-height: .93;

    letter-spacing: -2.5px;

    font-weight: 300;
}


.dg-footer-ba-content h2 span {
    display: block;

    color: #ff9f00;

    font-weight: 900;
}


.dg-footer-ba-content p {
    max-width: 340px;

    margin: 20px 0 25px;

    color: #858990;

    font-size: 11px;
    line-height: 1.7;
}


/* =========================================================
   BA BUTTON
========================================================= */

.dg-footer-ba-call {
    display: inline-flex;
    align-items: center;

    gap: 15px;

    color: #fff;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: .7px;

    text-decoration: none;
}


.dg-footer-ba-call i {
    width: 37px;
    height: 37px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #111214;

    transition: .3s ease;
}


.dg-footer-ba-call:hover {
    color: #ff9f00;
}


.dg-footer-ba-call:hover i {
    transform: rotate(-35deg);
}


/* =========================================================
   BEFORE AFTER IMAGES
========================================================= */

.dg-footer-ba-image {
    position: relative;

    height: 100%;
    min-height: 330px;

    overflow: hidden;
}


.dg-footer-ba-image img {
    width: 100%;
    height: 100%;

    position: absolute;
    inset: 0;

    display: block;

    object-fit: cover;

    transition: transform .6s ease;
}


.dg-footer-ba-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.45)
        );
}


.dg-footer-ba-image:hover img {
    transform: scale(1.04);
}


/* tag */

.dg-ba-tag {
    position: absolute;
    z-index: 3;

    left: 18px;
    bottom: 18px;

    display: inline-flex;
    align-items: center;

    gap: 9px;

    padding: 8px 14px;

    border-radius: 50px;

    background: #111214;

    color: #fff;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: .7px;
}


.dg-ba-tag small {
    color: #ff9f00;

    font-size: 7px;
}


.dg-ba-after {
    background: #ff9f00;

    color: #111214;
}


.dg-ba-after small {
    color: #111214;
}


/* =========================================================
   MAIN FOOTER
========================================================= */

.dg-footer-main {
    position: relative;
    z-index: 2;

    padding-bottom: 65px;
}


/* =========================================================
   LOGO
========================================================= */

.dg-footer-logo {
    width: max-content;

    display: flex;
    align-items: center;

    gap: 12px;

    color: #fff;

    text-decoration: none;

    font-size: 18px;
    line-height: 1;

    font-weight: 900;
}


.dg-footer-logo:hover {
    color: #fff;
}


.dg-footer-logo-icon {
    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #111214;

    font-size: 15px;
}


.dg-footer-logo > span:last-child {
    display: flex;
    flex-direction: column;
}


.dg-footer-logo small {
    margin-bottom: 4px;

    color: #ff9f00;

    font-size: 8px;

    letter-spacing: 2px;
}


/* description */

.dg-footer-brand > p {
    max-width: 410px;

    margin: 23px 0 28px;

    color: #858990;

    font-size: 11px;
    line-height: 1.8;
}


/* =========================================================
   PHONE
========================================================= */

.dg-footer-phone {
    width: max-content;

    display: flex;
    align-items: center;

    gap: 12px;

    color: #fff;

    text-decoration: none;
}


.dg-footer-phone:hover {
    color: #fff;
}


.dg-footer-phone-icon {
    width: 46px;
    height: 46px;

    flex: 0 0 46px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #1d1f22;

    color: #ff9f00;

    font-size: 13px;
}


.dg-footer-phone > span:last-child {
    display: flex;
    flex-direction: column;
}


.dg-footer-phone small {
    margin-bottom: 4px;

    color: #74787e;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: .8px;
}


.dg-footer-phone strong {
    color: #ff9f00;

    font-size: 21px;
    font-weight: 900;
}


/* =========================================================
   FOOTER COLUMNS
========================================================= */

.dg-footer-column-label {
    display: block;

    margin-bottom: 13px;

    color: #ff9f00;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1.3px;
}


.dg-footer-column h3 {
    margin: 0 0 21px;

    color: #fff;

    font-size: 17px;
    font-weight: 800;
}


/* =========================================================
   LINKS
========================================================= */

.dg-footer-column ul {
    margin: 0;
    padding: 0;

    list-style: none;
}


.dg-footer-column li {
    border-bottom:
        1px solid rgba(255,255,255,.07);
}


.dg-footer-column li:first-child {
    border-top:
        1px solid rgba(255,255,255,.07);
}


.dg-footer-column li a {
    min-height: 42px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    color: #8e9298;

    font-size: 10px;
    font-weight: 700;

    text-decoration: none;

    transition: .3s ease;
}


.dg-footer-column li a i {
    color: #55595f;

    font-size: 8px;

    transition: .3s ease;
}


.dg-footer-column li a:hover {
    padding-left: 7px;

    color: #ff9f00;
}


.dg-footer-column li a:hover i {
    color: #ff9f00;

    transform: translateX(3px);
}


/* =========================================================
   ADDRESS
========================================================= */

.dg-footer-address {
    display: flex;
    align-items: center;

    gap: 13px;

    padding: 16px;

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

    border-radius: 13px;
}


.dg-footer-address > span {
    width: 43px;
    height: 43px;

    flex: 0 0 43px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #ff9f00;

    color: #111214;

    font-size: 13px;
}


.dg-footer-address > div {
    display: flex;
    flex-direction: column;
}


.dg-footer-address small {
    margin-bottom: 4px;

    color: #6f7379;

    font-size: 6px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-footer-address strong {
    color: #fff;

    font-size: 11px;
    line-height: 1.6;
}


/* =========================================================
   ZIP
========================================================= */

.dg-footer-zip {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 10px;

    padding: 12px 16px;

    border-radius: 10px;

    background: #1a1b1e;
}


.dg-footer-zip small {
    color: #74787d;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 1px;
}


.dg-footer-zip strong {
    color: #ff9f00;

    font-size: 16px;
}


/* =========================================================
   LOCATION LINK
========================================================= */

.dg-footer-location-link {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-top: 18px;

    color: #ff9f00;

    font-size: 8px;
    font-weight: 900;

    letter-spacing: .7px;

    text-decoration: none;
}


.dg-footer-location-link:hover {
    color: #fff;
}


.dg-footer-location-link i {
    transition: .3s ease;
}


.dg-footer-location-link:hover i {
    transform: translateX(5px);
}


/* =========================================================
   BOTTOM FOOTER
========================================================= */

.dg-footer-bottom {
    position: relative;
    z-index: 3;

    min-height: 75px;

    display: flex;
    align-items: center;

    gap: 30px;

    border-top:
        1px solid rgba(255,255,255,.08);
}


.dg-footer-bottom p {
    margin: 0;

    color: #62666c;

    font-size: 8px;
}


/* links */

.dg-footer-bottom-links {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-left: auto;
}


.dg-footer-bottom-links a {
    color: #74787d;

    font-size: 8px;
    font-weight: 700;

    text-decoration: none;

    transition: .3s ease;
}


.dg-footer-bottom-links a:hover {
    color: #ff9f00;
}


.dg-footer-bottom-links span {
    width: 3px;
    height: 3px;

    border-radius: 50%;

    background: #ff9f00;
}


/* =========================================================
   BACK TO TOP
========================================================= */

.dg-footer-top {
    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    margin-left: 15px;

    border-radius: 50%;

    background: #ff9f00;

    color: #111214;

    font-size: 10px;

    text-decoration: none;

    transition: .3s ease;
}


.dg-footer-top:hover {
    background: #fff;

    color: #111214;

    transform: translateY(-4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .dg-footer-ba {
        margin-bottom: 60px;
    }


    .dg-footer-ba-content {
        min-height: auto;

        padding: 35px;
    }


    .dg-footer-ba-image {
        min-height: 310px;
    }


    .dg-footer-main {
        padding-bottom: 50px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dg-footer {
        padding-top: 20px;
    }


    .dg-footer-ba {
        margin-bottom: 50px;

        border-radius: 17px;
    }


    .dg-footer-ba-content {
        padding: 30px 25px;
    }


    .dg-footer-ba-content h2 {
        font-size: 43px;
    }


    .dg-footer-ba-image {
        min-height: 280px;
    }


    .dg-footer-main {
        padding-bottom: 40px;
    }


    .dg-footer-bottom {
        padding: 22px 0;

        align-items: flex-start;
        flex-direction: column;

        gap: 14px;
    }


    .dg-footer-bottom-links {
        margin-left: 0;

        flex-wrap: wrap;
    }


    .dg-footer-top {
        position: absolute;

        right: 0;
        top: 17px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .dg-footer-ba-content h2 {
        font-size: 37px;
    }


    .dg-footer-ba-image {
        min-height: 245px;
    }


    .dg-footer-phone {
        width: 100%;

        padding: 12px;

        border-radius: 12px;

        background: #1a1b1e;
    }


    /* make phone very clear on mobile */

    .dg-footer-phone strong {
        font-size: 23px;
    }


    .dg-footer-column h3 {
        font-size: 18px;
    }


    .dg-footer-column li a {
        min-height: 47px;

        font-size: 11px;
    }


    .dg-footer-address strong {
        font-size: 12px;
    }

}



   /* RESET */
*, *::before, *::after {
    box-sizing: border-box;
}

/* FORM WRAPPER */
form.CUS {
    max-width: 900px;
    width: 100%;
    margin: 20px auto;
    padding: 20px;
    background: #f9fafb;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-family: system-ui, sans-serif;
}

/* FLEX FIELDSET */
form.CUS fieldset {
    display: flex;
    flex-wrap: wrap;
    border: none;
    padding: 0;
    margin: 0;
}

/* BASE BLOCK STYLE */
form.CUS fieldset > p {
    width: 100%;
    padding: 10px;
    margin: 0;
    font-size: 0.95rem;
    color: #444;
}

/* Universal input/select styling */
form.CUS input,
form.CUS select,
form.CUS textarea {
    width: 100%;
    padding: 10px;
    margin-top: 6px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1rem;
}

/* ===============================
   ROW 1: Name, Phone, Address
=============================== */
form.CUS fieldset > p:nth-of-type(1),
form.CUS fieldset > p:nth-of-type(2),
form.CUS fieldset > p:nth-of-type(3) {
    width: 33.333%;
}

/* ===============================
   ROW 2: City, State, Zip Code
=============================== */
form.CUS fieldset > p:nth-of-type(4),
form.CUS fieldset > p:nth-of-type(5),
form.CUS fieldset > p:nth-of-type(6) {
    width: 33.333%;
}

/* ===============================
   SERVICE NEEDED TEXTAREA
=============================== */
form.CUS fieldset > p:nth-of-type(7) {
    width: 100%;
}

/* ===============================
   SERVICE DATE (Month, Day, Year)
   Ã¢â€ â€™ ALL 3 IN ONE ROW
=============================== */

/* Make the 8th <p> (Service Date block) a flex row */
form.CUS fieldset > p:nth-of-type(8) {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: flex-start;
}

/* Month, Day, Year = 3 equal flex columns */
form.CUS fieldset > p:nth-of-type(8) select#service_date,
form.CUS fieldset > p:nth-of-type(8) select#service_day,
form.CUS fieldset > p:nth-of-type(8) input#service_year {
    flex: 1 1 0;
    width: auto;          /* flex handles width */
    margin-top: 6px;
}

/* ===============================
   SERVICE TIME (Full width)
=============================== */
form.CUS fieldset > p:nth-of-type(9) {
    width: 100%;
}

/* ===============================
   SUBMIT BUTTON (Full width)
=============================== */
form.CUS fieldset > p:nth-of-type(10) {
    width: 100%;
}

form.CUS input[type="submit"] {
    width: 100%;
    background: #000;
    color: #fff;
    border: none;
    padding: 12px;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}

form.CUS input[type="submit"]:hover {
    background: #ff9f00;
}

/* Hide honeypot */
form.CUS input.subject {
    display: none;
}

/* ===============================
   MOBILE RESPONSIVE (stack fields)
=============================== */
@media (max-width: 600px) {

    form.CUS fieldset > p {
        width: 100%;
        padding: 6px 0;
    }

    /* Month, Day, Year full width stacked on mobile */
    form.CUS fieldset > p:nth-of-type(8) {
        flex-direction: column;
        gap: 6px;
    }

    form.CUS fieldset > p:nth-of-type(8) select#service_date,
    form.CUS fieldset > p:nth-of-type(8) select#service_day,
    form.CUS fieldset > p:nth-of-type(8) input#service_year {
        flex: none;
        width: 100% !important;
    }
/* ===============================
   ROW 1: Name, Phone, Address
=============================== */
form.CUS fieldset > p:nth-of-type(1),
form.CUS fieldset > p:nth-of-type(2),
form.CUS fieldset > p:nth-of-type(3) {
    width: 100%;
}

/* ===============================
   ROW 2: City, State, Zip Code
=============================== */
form.CUS fieldset > p:nth-of-type(4),
form.CUS fieldset > p:nth-of-type(5),
form.CUS fieldset > p:nth-of-type(6) {
    width: 100%;
}
}

