

    :root {
        --white-color: #fff;
    }

    @font-face {
        font-family: 'Poppins-Light';
        src: url('../fonts/Poppins-Light.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }

    @font-face {
        font-family: 'Poppins-Bold';
        src: url('../fonts/Poppins-Bold.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }

    @font-face {
        font-family: 'Poppins-Medium';
        src: url('../fonts/Poppins-Medium.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }

    
    body {
        overflow-x: hidden;
    }

    /*-- 1.HEADER MAIN PAGE --*/
    /*-------------------------*/

    .hero-container {
        height: 90vh;
        border-radius: 0px 25px 0px 25px;
        overflow: hidden;
        position: relative;
        width: 100%;
    }

    .hero-floating-video {
        position: absolute !important;
        right: -20px;
        bottom: -20px;
        width: 380px;
        height: 220px;
        border-radius: 35px;
        overflow: hidden;
        cursor: pointer;
        box-shadow: 0 8px 20px rgba(0,0,0,0.25);
        transition: transform .3s ease;
        z-index: 5;
        background: var(--white-color);
        padding: 20px;
    }

    .hero-floating-video:hover {
        transform: scale(1.03);
    }

    .hero-overlay-text {
        position: absolute;
        bottom: 200px;
        left: 40px;
        color: var(--white-color);
        max-width: 700px;
        z-index: 4;
    }

    .hero-overlay-text h1 {
        font-size: 3rem;
        line-height: 1.2;
        font-family: 'Poppins-Light';
        text-shadow: 2px 2px 5px #222;
    }

    .hero-overlay-text .hero-span {
        font-family: 'Poppins-Medium';
    }

    .hero-search-box {
        position: absolute;
        bottom: 50px;
        left: 40px;
        width: 700px;
        z-index: 4;
        padding: 20px;
        border-radius: 10px;
        background: rgba(0, 0, 0, 0.7);
    }

    .hero-search-box label{
        font-family: 'Poppins-Medium';
        font-weight: 100 !important;
    }

    .hero-search-box input {
        background: rgba(0, 0, 0, 0.7) !important;
        color: var(--white-color) !important;
        border: 1px solid #211f1f !important;
    }

    .hero-search-box input::placeholder {
        color: rgba(255,255,255,0.65) !important;
        font-size: 1rem !important;
    }
    .hero-search-box input::-webkit-input-placeholder {
        font-size: 1rem !important;
    }
    .hero-search-box input:-ms-input-placeholder {
        font-size: 1rem !important;
    }

    .swap-video-btn {
        position: absolute !important;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border: none;
        background: transparent;
        cursor: pointer;
        z-index: 10;
    }

    .swap-icon {
        width: 40px;
        height: 40px;
        transition: 0.2s ease;
    }

    .swap-icon:hover {
        width: 50px;
        height: 50px;
    }

    /* NAV WRAPPER */
    .navbar-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        padding: 15px 40px;
        z-index: 20;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    /* LOGO BOX */
    .navbar-logo-box {
        z-index: 12;
        background: #fff;
        padding: 33px 16px 13px 33px;
        border-radius: 27px;
        position: relative;
        bottom: 40px;
        right: 66px;
    }
    .navbar-logo-box img {
        height: 88px;
    }

    /* HAMBURGER */
    .navbar-toggler {
        background: transparent;
        border: none;
        color: #fff;
        font-size: 30px;
        display: none;
    }

    /* NAV MENU */
    .navbar-menu {
        display: flex;
        align-items: center;
        gap: 110px;
        margin-bottom: 57px;
    }

    /* MENU LINKS */
    .nav-links {
        list-style: none;
        display: flex;
        gap: 32px;
        margin: 0;
        padding: 0;
    }
    .nav-links a {
        color: var(--white-color);
        text-decoration: none;
        font-size: 1.2rem;
        font-family: 'Poppins-Light';
        text-shadow: 1px 1px 6px #000;
    }

    /* SOCIAL ICONS */
    .nav-social a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border: 2px solid white;
        border-radius: 50%;
        color: var(--white-color);
        font-size: 15px;
        text-decoration: none;
        margin-left: 10px;
    }

    .curve-01 {
        position: absolute; 
        bottom: 122px; 
        left: 249px;
    }

    .curve-01 img {
        height: 55px;
    }

    .curve-02
    {
        position: absolute; 
        bottom: 13px; 
        left: -15px;
    }

    .curve-02 img {
        height: 55px;
    }

    .curve-03 {
        position: absolute; 
        bottom: 188px; 
        right: -15px; 
        z-index: 15;
    }

    .curve-03 img {
        height: 55px; 
        transform: rotate(180deg);
    }

    .curve-04 {
        position: absolute; 
        bottom: -13px; 
        right: 345px; 
        z-index: 15;
    }

    .curve-04 img {
        height: 55px; 
        transform: rotate(180deg);
    }

    .nav-auth {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-left: auto;
    }

    .auth-btn {
        padding: 6px 16px;
        border-radius: 6px;
        font-weight: 600;
        text-decoration: none;
    }

    .login-btn {
        color: #fff;
        background: rgba(0,0,0,0.6);
    }

    .register-btn {
        background: #0f8c5a;
        color: #fff;
    }

    .auth-user-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        text-decoration: none;
        color: #fff;
    }

    .auth-avatar {
        width: 34px;
        height: 34px;
        border-radius: 50%;
    }

    .auth-dropdown .dropdown-menu {
        background: #fff;
        border-radius: 8px;
    }

    /* Mobile collapse */
    @media(max-width: 992px) {
        .nav-auth {
            flex-direction: column;
            align-items: flex-start;
            padding: 10px 0;
        }
    }



    /*-- 2.NEWSLETTER SECTION --*/
    /*-------------------------*/

    .newsletter-section {
        background: #0f8c5a;
    }

    .newsletter-section input.form-control {
        height: 52px;
    }

    .newsletter-section button.btn {
        height: 52px;
    }

    

    /*-- RESPONSIVE LAYOUT -->
    /*-----------------------*/

    /* XS: Phones */
    @media (max-width: 575.98px) { 

        .hero-container {
            height: 75vh;
        }

        .navbar-logo-box {
            padding: 29px 14px 14px 24px;
            bottom: 40px;
            right: 64px;
        }
        .navbar-logo-box img {
            height: 56px;
        }
        .curve-01 {
            bottom: 101px;
            left: 158px;
        }
        .curve-01 img {
            height: 35px;
        }
        .curve-02 {
            bottom: 28px;
            left: -9px;
        }
        .curve-02 img {
            height: 35px;
        }
        .curve-03 {
            bottom: 169px;
            right: -9px;
        }
        .curve-03 img {
            height: 35px;
        }
        .curve-04 {
            bottom: -8px;
            right: 235px;
        }
        .curve-04 img {
            height: 35px;
        }
        .px-5 {
            padding-right: 1rem !important;
            padding-left: 1rem !important;
        }
        .hero-overlay-text h1 {
            line-height: 1.3;
        }
        .navbar-toggler {
            display: block;
        }
        .navbar-menu {
            position: absolute;
            top: 78%;
            right: 10px;
            width: 75%;
            background: rgba(0,0,0,0.65);
            backdrop-filter: blur(6px);
            padding: 26px 29px;
            flex-direction: column;
            gap: 18px;
            border-radius: 20px;
            display: none;
            animation: fadeDown 0.3s ease forwards;
        }
        .nav-links {
            flex-direction: column;
            text-align: center;
            gap: 20px;
        }
        .hero-overlay-text h1 {
            font-size: 1.4rem;
        }
        .hero-overlay-text {
            top: 135px;
            bottom: 0px;
            left: 20px;
            right: 20px;
        }
        .hero-floating-video {
            right: -11px;
            width: 256px;
            height: 189px;
            padding: 15px;
            bottom: -9px;
            border-radius: 30px;
        }

        .hero-search-box {
            left: 11px;
            padding: 10px;
            width: 330px;
            bottom: 200px;
        }

        .hero-search-box input::placeholder {
            color: rgba(255,255,255,0.65) !important;
            font-size: 0.8rem !important;
        }
        .hero-search-box input::-webkit-input-placeholder {
            font-size: 0.8rem !important;
        }
        .hero-search-box input:-ms-input-placeholder {
            font-size: 0.8rem !important;
        }



    }

    /* SM: Larger phones */
    @media (min-width: 576px) and (max-width: 767.98px) { 
        

    }

    /* MD: Tablets */
    @media (min-width: 768px) and (max-width: 991.98px) { 
        .newsletter-section form {
            flex-direction: column;
            gap: 12px;
        }
        .newsletter-section input.form-control,
        .newsletter-section button.btn {
            width: 100% !important;
            border-radius: 50px !important;
        }

    }

    /* LG: Small laptops */
    @media (min-width: 992px) and (max-width: 1199.98px) { 

        .navbar-toggler {
            display: block;
        }

        .navbar-menu {
            position: absolute;
            top: 100%;
            right: 0;
            width: 100%;
            background: rgba(0,0,0,0.65);
            backdrop-filter: blur(6px);
            padding: 20px 30px;
            flex-direction: column;
            gap: 20px;
            display: none;
            animation: fadeDown 0.3s ease forwards;
        }

        .nav-links {
            flex-direction: column;
            text-align: center;
            gap: 20px;
        }

        .nav-social {
            justify-content: center;
            display: flex;
            gap: 15px;
        }

    }

    /* XL & XXL: Desktops */
    @media (min-width: 1200px) { }


    /* ANIMATION */
    @keyframes fadeDown {
        from { opacity: 0; transform: translateY(-10px); }
        to   { opacity: 1; transform: translateY(0); }
    }