  html,
        body {
            height: 100%;
            margin: 0;
            padding: 0;
        }

        a {
            text-decoration: none;
            cursor: pointer;
            color: #000;

        }

        body {
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        .main-content {
            flex: 1 0 auto;
            display: flex;
            flex-direction: column;
            margin-bottom: -10px;
        }

        .footer-banner {
            flex-shrink: 0;
            width: 100vw;
            background: linear-gradient(to right, #0d0d13 0%, #3737bc 100%);
            color: #fff;
            font-family: 'Montserrat', sans-serif;
            padding: 12px 0 2px 0;
            font-weight: bold;
            box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.13);
            margin: 0;
        }

        .footer-content {
            display: flex;
            align-items: center;
            justify-content: center;
            max-width: 1400px;
            margin: 0 auto;
            gap: 24px;
        }

        .footer-serving {
            font-size: 1.6em;
            text-align: center;
            margin-bottom: 4px;
            font-weight: bold;
        }

        .footer-cities {
            font-size: 1.6em;
            text-align: center;
            font-weight: bold;
            letter-spacing: .5px;
        }

        .footer-icon {
            margin-left: 18px;
            display: flex;
            align-items: flex-start;
            height: 100%;
        }

        @media (max-width: 700px) {
            .footer-content {
                flex-direction: column;
                gap: 10px;
            }

            .footer-icon {
                margin-left: 0;
                margin-top: 10px;
            }
        }

        body {
            background: linear-gradient(to right, #cbfdda, #95bafe);
        }

        .hero {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 40px 40px 0px 40px;
            flex-wrap: wrap;
            flex: 1 0 auto;
            display: flex;
        }

        .hero-left {
            position: relative;
            z-index: 1;
        }

        .hero-left img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        .hero-right {
            flex: 1;
            min-width: 300px;
            color: #000;
            text-align: center;
            margin-left: -300px;
            z-index: 2;
            position: relative;
        }

        .hero-right h1 {
            font-size: 48px;
            font-weight: bold;
            margin-bottom: 10px;
        }

        .typewriter {
            overflow: hidden;
            white-space: nowrap;
            font-size: 30px;
            margin-bottom: 10px;
            font-family: 'Montserrat', sans-serif;
            font-weight: bold;
            animation: typing 2.8s steps(34, end) forwards;
            min-height: 42px;
            letter-spacing: 1px;
            width: fit-content;
            margin-left: auto;
            margin-right: auto;
        }

        @keyframes typing {
            from {
                width: 0;
            }

            to {
                width: 34ch;
            }
        }

        .phone {
            font-size: 55px;
            margin-bottom: 20px;
            font-family: 'Montserrat', sans-serif;
            font-weight: bold;
        }

        .btn-custom {
            display: block;
            margin: 20px auto;
            padding: 10px 31px;
            font-size: 31px;
            background: linear-gradient(to right, #000000, #3433cc);
            color: white;
            border: none;
            width: 90%;
            max-width: 492px;
            font-family: 'Montserrat', sans-serif;
            font-weight: bold;
            cursor: pointer;
        }

        .fade-in-logo {
            opacity: 0;
            transform: translateX(-50px);
            animation: fadeSlideIn 1.5s ease-out forwards;
            animation-delay: 0.5s;
        }

        @keyframes fadeSlideIn {
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @media (max-width: 900px) {
            .hero {
                gap: 24px;
            }
        }

        @media (max-width: 1399px) {
            .hero-right img {
                max-width: 70vw;
                width: 100%;
                height: auto;
                margin: 0 auto 16px auto;
                display: block;
            }

            .hero {
                flex-direction: column-reverse;
                padding: 20px 5vw 0 5vw;
                margin: 0;
            }

            .hero-right {
                margin-left: 0;
                min-width: 0;
                width: 100%;
            }

            .hero-left img {
                width: 90vw;
                max-width: 400px;
                margin: 0 auto 20px auto;
                display: block;
            }

            .footer-content {
                flex-direction: column;
                gap: 10px;
                text-align: center;
            }

            .footer-icon {
                margin-left: 0;
                margin-top: 10px;
                justify-content: center;
            }

            .phone {
                font-size: 8vw;
                min-font-size: 32px;
            }

            .btn-custom {
                font-size: 22px;
                padding: 10px 0;
                max-width: 95vw;
            }

            .footer-serving,
            .footer-cities {
                font-size: 1.1em;
            }

            .typewriter {
                overflow: hidden;
                white-space: nowrap;
                font-size: 18px;
                margin-bottom: 10px;
                font-family: 'Montserrat', sans-serif;
                font-weight: bold;
                animation: typing 2.8s steps(32, end);
                min-height: 42px;
                letter-spacing: 1px;
                width: fit-content;
                margin-left: auto;
                margin-right: auto;
            }
        }

        .btn-custom {
            transition:
                background 0.25s cubic-bezier(.4, 0, .2, 1),
                box-shadow 0.25s cubic-bezier(.4, 0, .2, 1),
                transform 0.15s cubic-bezier(.4, 0, .2, 1);
            /* keep the rest of your styles */
        }

        .btn-custom:hover,
        .btn-custom:focus {
            background: linear-gradient(to right, #2323e9 20%, #0e64f5 100%);
            color: #fff;
            box-shadow: 0 6px 24px -4px #3433cc99, 0 1.5px 12px -2px #0002;
            transform: translateY(-2px) scale(1.03);
            outline: none;
        }

        .btn-custom {
            display: block;
            margin: 20px auto;
            padding: 10px 31px;
            font-size: 31px;
            background: linear-gradient(to right, #000000, #3433cc);
            color: white;
            border: none;
            width: 90%;
            max-width: 492px;
            font-family: 'Montserrat', sans-serif;
            font-weight: bold;
            transition:
                background 0.25s cubic-bezier(.4, 0, .2, 1),
                box-shadow 0.25s cubic-bezier(.4, 0, .2, 1),
                transform 0.15s cubic-bezier(.4, 0, .2, 1);
        }

        .btn-custom:hover,
        .btn-custom:focus {
            background: linear-gradient(to right, #5c5c5c 20%, #4b4b4b 100%);
            color: #fff;
            box-shadow: 0 6px 24px -4px #3433cc99, 0 1.5px 12px -2px #0002;
            transform: translateY(-2px) scale(1.03);
            outline: none;
        }