/* DFW Limo Black Car v2.1 consolidated frontend CSS. */

/* ===== style.css ===== */
img{
          border: none;
        }
        ul{
            margin: 0;
            padding: 0;
        }
        a{
            text-decoration: none;
        }

        .header-top-call-email{
            text-align: right;
        }
        @media (max-width: 992px) {
            .header-top-call-email{
                text-align: left;
            }
            .header-top-part{
                display: none;
            }
        }

        .author-name{
    /*         padding: 5px 0; */
        }
        .author-name p{
            padding: 0;
            margin: 0;
            color: #f39c12;
            font-size: 26px;
            font-weight: bold;
        }

        .mobile-auth-name p{
            color: #FFFFFF;
            font-size: 18px;
            font-weight: bold;
        }
        @media (max-width: 992px) {
            .author-name{
                display: none;
            }
        }
       
        .breadcrumb {
            --bs-breadcrumb-padding-x: 0;
            --bs-breadcrumb-padding-y: 0;
             --bs-breadcrumb-margin-bottom: 0rem; 
            --bs-breadcrumb-bg: ;
            --bs-breadcrumb-border-radius: ;
            --bs-breadcrumb-divider-color: var(--bs-secondary-color);
            --bs-breadcrumb-item-padding-x: 0.5rem;
            --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
            display: flex;
            flex-wrap: wrap;
            padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
            margin-bottom: var(--bs-breadcrumb-margin-bottom);
            font-size: var(--bs-breadcrumb-font-size);
            list-style: none;
            background-color: var(--bs-breadcrumb-bg);
            border-radius: var(--bs-breadcrumb-border-radius);
        }
       
        
       


        
        .header-bottom-mobail-bar{
            display: none;
        }
        .nav-bar-icon{
            float: right;
            padding-top: 22px;
        }
        .nav-bar-icon .fas{
            font-size: 30px;
            color: #FFFFFF;
        }
        .mobile-auth-logo{
            display: flex;
            justify-content: flex-start;
        }
        .mobile-auth-logo img{
            width: 250px;
            height:auto;
        }
        @media (max-width: 992px) {
            .header-bottom-mobail-bar{
                display: block;
            }
            .nav-bar-icon{
                display: block;
                margin-top: 0px;
            }
            .nav-button-contant{
                background: none;
                padding: 10px 0;
            }
            .nav-button-contant h5{
                display: none;
            }
            .nav-button-contant img{
                width: 60px;
                display: block;
                padding-left: 0;
                margin-left: 0;         
            }
        }
        @media (max-width: 767px) {
            .mobile-auth-logo img{
                width: 250px;
            }
            .nav-bar-icon{
                margin-top: 0px;
            }
            .nav-bar-icon .fas{
                font-size: 35px;
            }
        }
        @media (max-width: 345px) {
            .nav-bar-icon{
                padding-top: 18px;
            }
        }
        @media (max-width: 313px) {
            .nav-bar-icon{
                padding-top: 15px;
            }
        }
        @media (max-width: 290px) {
            
            .nav-bar-icon .fas{
                font-size: 30px;
            }
        }
        @media (max-width: 253px) {
            .nav-bar-icon{
                padding-top: 12px;
            }
            .nav-bar-icon .fas{
                font-size: 25px;
            }
        }
        @media (max-width: 230px) {
            .nav-bar-icon{
                padding-top: 8px;
            }
        }
        @media (max-width: 320px) {
            
            .nav-button-contant h5{
                font-size: 14px;
            }
            .nav-button-contant img{
                width: 40px;
            }
        }

        .send-btn{
            width: 100%;
        }
        .send-btn .btns{
            border: 1px solid #bfa37c;
            color: #bfa37c;
            font-size: 20px;
            transition: .3s;
            width: 100%;
            padding: 4px;
            border-radius: 5px;
            background: transparent;
        }
        .send-btn .btns:hover{
            background: #bfa37c;
            color: #ffffff;
        }

        .virtical-menu {
            position: relative;
            /* background: #ffffff; */
            z-index: 111;
        }

        .virtical-menu ul {
            
            display: flex;
            justify-content: flex-end;
        }

        .virtical-menu ul li {
            padding: 25px 10px;
            list-style: none;
            display: block;
        }

        /* .virtical-menu ul li:last-child {
            padding-right: 0;
        } */
        .virtical-menu ul li:first-child {
            padding-left: 0;

        }
        .virtical-menu ul li a .fas {
            /*margin-left: 5px;*/
            color: #FFFFFF;
            font-size: 16px;
        }

        .virtical-menu ul li a .far {
            color: #A1A1A1;
            font-size: 16px;
        }

        .virtical-menu ul li a .fab {
            margin-left: 5px;
            color: #f39c12;
            font-size: 16px;
        }

        .virtical-menu ul li a .fa {
            margin-left: 5px;
            color: #f39c12;ele
            font-size: 16px;
        }

        .virtical-menu ul li a .fr {
            margin-left: 5px;
            color: #f39c12;
            font-size: 16px;
        }

        .virtical-menu ul li a {
            display: block;
    /*         font-family: 'Montserrat', serif; */
            text-decoration: none;
            font-size: 16px;
            /* color: rgba(238, 238, 238, 1); */
            color: #FFFFFF;
            font-weight: 400;
            text-transform: capitalize;
        }

      

        .virtical-sub-category-item {
            display: none;
        }

        .virtical-menu ul li:hover .virtical-sub-category-item {
            display: block;
            position: absolute;
/*             background: #FFFFFF; */
            margin-top: 15px;
            z-index: 111;
        }
        .virtical-menu ul li:hover .virtical-sub-category-item ul{
            display: block;
        }
        .virtical-menu ul li:hover .virtical-sub-category-item ul li {
            width: 300px;
            flex: none;
            padding: 7px 10px;
            text-align: left;
            border-bottom: 1px solid #555555;
        }

        .virtical-menu ul li:hover .virtical-sub-category-item ul li:last-child {
            border-bottom: none;
        }

        .virtical-menu ul li:hover .virtical-sub-category-item ul li a {
        /*  font-family: 'Vidaloka', serif; */
            display: block;
            color: #00FFCB;
            font-size: 15px;
        /*     font-weight: bold; */
        }

        .virtical-menu ul li:hover .virtical-sub-category-item ul li a:hover {
           
            color: #ddd;
        }

        .virtical-sub-category-item-2 {
            display: none;
             width: 180px;
             background: #f1f1f1;
             /* margin-top: -15px; */
             z-index: 111;
        }

        .virtical-sub-category-item ul li:hover .virtical-sub-category-item-2 {
            position: absolute;
            display: block;
            margin-top: -28px;
            margin-left: 170px;
        }
        .virtical-sub-category-item ul li:hover .virtical-sub-category-item-2 ul{
            display: block;
        }

        @media (max-width: 992px) {
            .virtical-menu ul{
                display: none;
            }
            .author-logo{
                display: none;
            }
            .nav-button-part{
                display: none;
            }
        }
        .fleet-service-table .tabale-bgcolor{
            background: #2d3436;
            color: #f39c12;
        }
        .fleet-service-table .d-grid{
            background: #2d3436;
            color: #f39c12;
        }
        .fleet-service-table .d-grid a{
            background: #2d3436;
            color: #f39c12;
        }


        
            
        /* menu part end */
        /* ==========================================================================
                 header-banner-main-menu end
           ========================================================================== */
.service-area{
    padding: 20px 0;
    background: #000000;
}
/* Card Wrapper with Border Animation */
.premium-border-card {
    position: relative;
    padding: 2px;
    background: #111;
    overflow: hidden;
    border-radius: 15px;
    z-index: 1;
    height: 100%; /* Column-er full height nibe */
}

/* Rotating Border Logic */
.premium-border-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: conic-gradient(transparent, transparent, #f39c12, transparent);
    animation: rotate-border 4s linear infinite;
    z-index: -1;
}

@keyframes rotate-border {
    100% { transform: rotate(360deg); }
}

/* Card Inner */
.fleet-contant {
    background: #000;
    border-radius: 13px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Sab Image Soman Rakhar Logic */
.equal-img {
    width: 100%;
    height: 250px; /* Apni height kom-beshi korte paren */
    object-fit: cover; /* Image choto-boro holeo frame-e fit hobe */
    transition: transform 0.6s ease;
}

.premium-border-card:hover .equal-img {
    transform: scale(1.1);
}

/* Text Styling */
.card-details {
    color: #fff;
    flex-grow: 1; /* Description choto-boro holeo card soman thakbe */
}

.card-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #ccc; /* Gold color */
}

.card-desc {
    font-size: 14px;
    color: #ccc;
    line-height: 1.6;
    margin-bottom: 15px;
}

.read-more {
    color: #f39c12;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
}

.read-more i {
    margin-left: 5px;
    transition: margin 0.3s;
}

.read-more:hover i {
    margin-left: 10px;
}
/* ==========================================================================
         Home Service Area css
   ========================================================================== */
/* Premium Card Base */
.premium-border-card {
    position: relative;
    padding: 2px;
    background: #111;
    overflow: hidden;
    border-radius: 15px;
    z-index: 1;
    height: 100%;
}

/* Rotating Border Animation */
.premium-border-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: conic-gradient(transparent, transparent, #f39c12, transparent);
    animation: rotateBorder 4s linear infinite;
    z-index: -1;
}

@keyframes rotateBorder {
    100% { transform: rotate(360deg); }
}

/* Inner Content */
.fleet-contant {
    background: #000;
    border-radius: 13px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Equal Image Height */
.equal-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Rate Details Overlay on Hover */
.car-callection-images {
    position: relative;
    overflow: hidden;
}

.rate-details-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.car-callection-images:hover .rate-details-overlay {
    opacity: 1;
}

.premium-border-card:hover .equal-img {
    transform: scale(1.1);
}

/* Typography */
.card-title {
    font-size: 20px;
    color: #f39c12;
    min-height: 1.2em;
}

.card-desc {
    font-size: 13px;
    color: #ccc;
    margin-bottom: 10px;
}

.read-more {
    color: #f39c12;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: bold;
}
   /* ==========================================================================
         Home fleet css
   ========================================================================== */

        .elementor-section{
            background-color: #FFFFFF;
        }
        .elementor-widget-cals{
            color: #ccc;
        }
        .call-center{
            margin-top: 10px;
        }
        .call-center p .fas{
            font-size: 24px;
            color: #f39c12;
            float: left;
            font-weight: bold;
            margin-right: 15px;
        }
        .call-center p a{
            font-size: 20px;
            color: #ccc;
            letter-spacing: 2px;
        }
        .elementor-widget-container{
            background: #ffffff;
            
        }
        .car-callection-conatnt a{
            color: #555555;
        }
        /*.car-callection-conatnt a h3{*/
        /*    color: #ffffff; */
        /*    text-align: center;*/
        /*    padding-top: 15px;*/
        /*}*/
        .car-callection-conatnt a p{
            color: #f39c12;
            text-align: center; 
        }
        .elementor-widget-container .title-m-widget h3{
            color: #f39c12;
            font-size: 24px;
            font-weight: bold;
        }
        .elementor-widget-container .title-m-widget span{
            color: #ccc;
            font-size: 16px;
            letter-spacing: 1px;
        }
        @media (max-width: 576px) {
           .elementor-widget-container .title-m-widget h3{
                font-size: 20px;
            }
        }
        @media (max-width: 300px) {
           .elementor-widget-container .title-m-widget h3{
                font-size: 20px;
            }
            .elementor-widget-container .title-m-widget span{
                font-size: 14px;
            }
        }
        .qodef-section-title h4,
        .qodef-section-title h2{
            color: #f39c12;
            font-weight: bold;
            font-size: 24px;
        }
        
        .safety-convenience{
            background: #FFFFFF;
        }
        
        .accordion-button{
            background: #f1f1f1;
            color: #000000;
        }
        .our-fleet-service {
            background: #FFFFFF;
        }
        .our-fleet-srvice-images{
            background: #FFFFFF;
            padding: 5px;
        }

        .call-fixed-btn{
            position: fixed;
            right: 150px;
            bottom: 90px;
            z-index: 111;
        }
        .call-fixed-btn .glow-on-hover {

            width: 50px;
            height: 50px;
            border: none;
            outline: none;
            color: #fff;
            background: #ffffff;
            cursor: pointer;
            position: relative;
            z-index: 0;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
        }


        .call-fixed-btn .glow-on-hover:before {
            content: '';
            background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
            position: absolute;
            top: -2px;
            left:-2px;
            background-size: 400%;
            z-index: -1;
            filter: blur(5px);
            width: calc(100% + 4px);
            height: calc(100% + 4px);
            animation: glowing 20s linear infinite;
            opacity: 1;
            transition: opacity .3s ease-in-out;
            border-radius: 10px;
        }

        .call-fixed-btn .glow-on-hover:active {
            color: #fff
        }

        .call-fixed-btn .glow-on-hover:active:after {
            background: #2d3436;
        }

        /* .call-fixed-btn .glow-on-hover:hover:before {
            opacity: 1;
        } */

        .call-fixed-btn .glow-on-hover:after {
            z-index: -1;
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            background: #ff0000;
            left: 0;
            top: 0;
            border-radius: 10px;
        }

        @keyframes glowing {
            0% { background-position: 0 0; }
            50% { background-position: 400% 0; }
            100% { background-position: 0 0; }
        }
        @media (max-width: 1560px) {
            .call-fixed-btn {
                right: 140px;
            }
        }

        @media (max-width: 1530px) {
            .call-fixed-btn {
                right: 125px;
            }
        }

        @media (max-width: 1500px) {
            .call-fixed-btn {
                right: 108px;
            }
        }

        @media (max-width: 1450px) {
            .call-fixed-btn {
                right: 80px;
            }
        }

        @media (max-width: 1400px) {
            .call-fixed-btn {
                right: 146px;
            }
        }

        @media (max-width: 1350px) {
            .call-fixed-btn {
                right: 120px;
            }
        }

        @media (max-width: 1300px) {
            .call-fixed-btn {
                right: 95px;
            }
        }

        @media (max-width: 1250px) {
            .call-fixed-btn {
                right: 70px;
            }
        }

        @media (max-width: 1220px) {
            .call-fixed-btn {
                right: 55px;
            }
        }
            @media (max-width: 1199px) {
                .call-fixed-btn {
                    right: 137px;
                }
            }
            @media (max-width: 1150px) {
                .call-fixed-btn {
                    right: 113px;
                }
            }
            @media (max-width: 1100px) {
                .call-fixed-btn {
                    right: 88px;
                }
            }
            @media (max-width: 1050px) {
                .call-fixed-btn {
                    right: 60px;
                }
            }
            @media (max-width: 1000px) {
                .call-fixed-btn {
                    right: 38px;
                }
            }
            @media (max-width: 992px) {
                .call-fixed-btn {
                    bottom: 90px;
                }
            }
            @media (max-width: 991px) {
                .call-fixed-btn {
                    right: 153px;
                }
            }
            @media (max-width: 950px) {
                .call-fixed-btn {
                    right: 128px;
                }
            }
            @media (max-width: 900px) {
                .call-fixed-btn {
                    right: 105px;
                }
            }
            @media (max-width: 850px) {
                .call-fixed-btn {
                    right: 75px;
                }
            }
            @media (max-width: 800px) {
                .call-fixed-btn {
                    right: 58px;
                }
            }
            @media (max-width: 768px) {
                .call-fixed-btn {
                    right: 40px;
                }
            }
            @media (max-width: 767px) {
                .call-fixed-btn {
                    right: 130px;
                }
            }
            @media (max-width: 750px) {
                .call-fixed-btn {
                    right: 120px;
                }
            }
            @media (max-width: 700px) {
                .call-fixed-btn {
                    right: 98px;
                }
            }
            @media (max-width: 650px) {
                .call-fixed-btn {
                    right: 70px;
                }
            }
            @media (max-width: 600px) {
                .call-fixed-btn {
                    right: 45px;
                }
            }
            @media (max-width: 576px) {
                .call-fixed-btn {
                    right: 30px;
                }
            }

            /* offf canvase menu start */
         .accordion-container .accordion-title {
            position: relative;
            margin: 0;
            padding: 10px;
    /*         background-color: #131f35; */
    /*         font-size: 1.25em; */
            font-weight: normal;
            color: #FFFFFF;
            cursor: pointer;
            border-bottom: 1px solid #555555;
        }

        .accordion-container .accordion-title a {
            font-family: 'Lato', sans-serif;
            text-decoration: none;
            color: #ffffff;
            font-size: 18px;
            text-transform: capitalize;
        }

        .accordion-container .accordion-title:hover,
        .accordion-container .accordion-title:active,
        .accordion-title.open {
            background-color: #555555;
        }

        .accordion-container .accordion-title::before {
            content: "";
            position: absolute;
            top: 50%;
            right: 25px;
            width: 15px;
            height: 3px;
            transform: rotate(90deg);
            background: #f39c12;
            transition: all .3s ease-in-out;
        }

        .accordion-container .accordion-title::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 25px;
            width: 15px;
            height: 3px;
            background: #f39c12;
            transition: all .2s ease-in-out;
        }

        .accordion-container .accordion-title.open::before {
            transform: rotate(180deg);
        }

        .accordion-container .accordion-title.open::after {
            opacity: 0;
        }

        .accordion-content {
            background: #2d3436;
    /*         padding-left: 15px; */
            border: 1px solid #40546c;
        }

        .accordion-content a {
            font-family: 'Lato', sans-serif;
            font-size: 16px;
            padding: 8px 12px;
            display: block;
            text-decoration: none;
            color: #f1f1f1;
    /*         border-bottom: 1px solid #555555; */
        }



        /* offf canvase menu End */

        .limousine-services .limousine-services-overly{
            background-color: #000000;
            opacity: .8;
            padding: 130px 0px ;

        }
        .service-car-text{
        /*     padding: 100px; */
        }
        .service-car-text h1{
            color: #fff;
            text-align: center;
            text-transform: capitalize;
            font-weight: bold;
        }
        .service-car-text p{
            margin-top: 10px;
            color: #00FFCB;
            text-align: center;
            text-transform: capitalize;
            font-size: 20px;
            letter-spacing: 1px;
        }
        .limousine-services-text h3{
            font-weight: bold;
            font-size: 20px;
        }
        .limousine-services-text span{
            font-size: 16px;
            color: #bfa37c;
            letter-spacing: 1px;
        }
        
        .fleet-service{
            background: #ecf0f1;
        }
        
        
       
        .service-text p,a{
            font-size: 14px;
        }
        .service-text span{
            font-size: 0.9rem;
        }
        .service-text div{
            font-size: 0;
            font-size: 14px;
        }
        
        .about{
            padding: 15px 0 30px;
        }
        .about-text h3{
            font-family: 'Oswald', sans-serif;
            text-transform: capitalize;
            font-size: 20px;
            color: #000000;
            margin-bottom: 15px;
            border-bottom: 1px solid #ddd;
            margin-left: 5px;
            font-weight: bold;
        }
        .about-text h1{
            font-family: 'Oswald', sans-serif;
            text-transform: capitalize;
            font-size: 20px;
            color: #000000;
            font-weight: bold;
        }
        .about-text p{
            font-size: 14px;
        }
        .about-text span{
            font-size: 0.9rem;
        }
        .about-text a{
            font-size: 14px;
        }
        .about-text div{
            font-size: 14px;
        }
        .about-btn{
            padding-top: 30px;
            text-align: center;
        }
        /* .about-btn a{
            padding: 10px 20px;
            border: 1px solid #EE5A24;
            color: #000;
            font-size: 16px;
            letter-spacing: 2px;
            border-radius: 5px;
            transition: .5s;
        }
        .about-btn a:hover{
            background: #EE5A24;
            color: #fff;
        } */
        .about-control{
            position: relative;
        }
        .about-img1{
            margin-left: 20%;
            overflow: hidden;
        }
        .about-img1 img{
           width: 100%;
            height: 100%;    
        }
        .about-img2{
            position: absolute;
            top: 60%;

        }
        .about-img2 img{
            width: 80%;
            background: #fff;
            padding: 10px;
        }
        /* ==========================================================================
                About-part-end
           ========================================================================== */

        .contact-part{
            padding: 20px 0;
            background: #f1f1f1;
        }
        .contact-contants{
        width: 100%;
        background: #fff;
        border-radius: 6px;
        padding: 20px 60px 30px 40px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
        }
        .contact-contants .content{
        display: flex;
        align-items: center;
        justify-content: space-between;
        }
        .contact-contants .content .left-side{
        width: 25%;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-top: 15px;
        position: relative;
        }
        .content .left-side::before{
        content: '';
        position: absolute;
        height: 70%;
        width: 2px;
        right: -15px;
        top: 50%;
        transform: translateY(-50%);
        background: #afafb6;
        }
        .content .left-side .details{
        margin: 14px;
        text-align: center;
        }
        .content .left-side .details i{
        font-size: 30px;
        color: #2d3436;
        margin-bottom: 10px;
        }
        .content .left-side .details .topic{
        font-size: 18px;
        font-weight: 500;
        }
        .content .left-side .details .text-one,
        .content .left-side .details .text-two{
        font-size: 14px;
        color: #afafb6;
        }
        .contact-contants .content .right-side{
        width: 75%;
        margin-left: 75px;
        }
        .content .right-side .topic-text{
        font-size: 23px;
        font-weight: 600;
        color: #2d3436;
        }
        .right-side .input-box{
        height: 50px;
        width: 100%;
        margin: 12px 0;
        }
        .right-side .input-box input,
        .right-side .input-box textarea{
        height: 100%;
        width: 100%;
        border: none;
        outline: none;
        font-size: 16px;
        background: #F0F1F8;
        border-radius: 6px;
        padding: 0 15px;
        resize: none;
        }
        .right-side .message-box{
        min-height: 110px;
        }
        .right-side .input-box textarea{
        padding-top: 6px;
        }
        .right-side .button{
        display: inline-block;
        margin-top: 12px;
        }
        .right-side .button button[type="submit"]{
        background: transparent;
        color: #fff;
        font-size: 18px;
        outline: none;
        border: none;
        padding: 8px 16px;
        border-radius: 6px;
        background: #2d3436;
        cursor: pointer;
        transition: all 0.3s ease;
        border: 1px solid #2d3436;
        }
        .button button[type="submit"]:hover{
        background: #ffffff;
        color: #2d3436;
        }
        @media (max-width: 950px) {
        .contact-contants{
          width: 90%;
          padding: 30px 40px 40px 35px ;
        }
        .contact-contants .content .right-side{
         width: 75%;
         margin-left: 55px;
        }
        }
        @media (max-width: 820px) {
        .contact-contants{
          margin: 40px 0;
          height: 100%;
        }
        .contact-contants .content{
          flex-direction: column-reverse;
        }
        .contact-contants .content .left-side{
         width: 100%;
         flex-direction: row;
         margin-top: 40px;
         justify-content: center;
         flex-wrap: wrap;
        }
        .contact-contants .content .left-side::before{
         display: none;
        }
        .contact-contants .content .right-side{
         width: 100%;
         margin-left: 0;
        }
        }

        .google-map{
            padding: 1px 0 20px;
            background: #f1f1f1;
        }
        .google-map-conatnt{
            background: #ffffff;
            padding: 15px;
        }
        .fleet-cars-details-button{
            margin: 0 .5rem;
        }
        .fleet-cars-details-button ul{
            display: inline-block;
        }
        .fleet-cars-details-button ul li{
            list-style: none;
            border: 1px solid #ddd;
            text-align: center;
        }
        .fleet-cars-details-button ul li img{
            height: 60px;
            width: 60px;
            border-radius: 50%;
        }
        .fleet-cars-details-button ul li:hover{
            border: 1px solid #ddd;
        }
        .fleet-cars-details-button ul li:first-child{
            margin-left: 0;
        }
        .fleet-car-blog h1,h2,h3,h4,h5,h6{
            font-size: 18px;
        }
        .fleet-car-blog p{
            font-size: 14px;
        }
        .fleet-car-blog a{
            font-size: 14px;
        }
        .fleet-car-blog span{
            font-size: 14px;
        }
        .fleet-car-blog div{
            font-size: 14px;
        }
        @media (max-width: 992px) {
            .fleet-cars-contant{
                margin-top: 15px;
            }
        }
    .signup-part{
        background: #f1f1f1;
    }
    .luxury-submit-btn {
    background-color: #f39c12 !important; /* Gold Color */
    color: #000 !important;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 2px;
    padding: 15px;
    border: none;
    border-radius: 50px; /* Rounded pill shape */
    transition: all 0.4s ease;
    box-shadow: 0 10px 20px rgba(243, 156, 18, 0.3);
    text-transform: uppercase;
}

.luxury-submit-btn:hover {
    background-color: #fff !important;
    color: #f39c12 !important;
    transform: translateY(-3px); /* Halka upore uthbe */
    box-shadow: 0 15px 30px rgba(255, 255, 255, 0.2);
}

/* Mobile-er jonno padding ektu kom hobe */
@media (max-width: 768px) {
    .luxury-submit-btn {
        font-size: 16px;
        padding: 12px;
    }
}

    .socail-media-contant a .facbook{
        color: #1877F2;
        border: 1px solid #1877F2;
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        transition: .5s;
    }
    .socail-media-contant a .facbook:hover{
        background: #1877F2;
        color: #fff;
    }
    .socail-media-contant a .twitter{
        color: #1DA1F2;
        border: 1px solid #1DA1F2;
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        transition: .5s;
    }
    .socail-media-contant a .twitter:hover{
        background: #1DA1F2;
        color: #fff;
    }
    .socail-media-contant a .linkedin{
        color: #0A66C2;
        border: 1px solid #0A66C2;
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        transition: .5s;
    }
    .socail-media-contant a .linkedin:hover{
        background: #0A66C2;
        color: #fff;
    }
    .socail-media-contant a .instagram{
        color: #E4405F;
        border: 1px solid #E4405F;
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        transition: .5s;
    }
    .socail-media-contant a .instagram:hover{
        background: #E4405F;
        color: #fff;
    }
    .socail-media-contant a .youtube{
        color: #CD201F;
        border: 1px solid #CD201F;
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        transition: .5s;
    }
    .socail-media-contant a .youtube:hover{
        background: #CD201F;
        color: #fff;
    }
    .socail-media-contant a .pinterest{
        color: #E60023;
        border: 1px solid #E60023;
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        transition: .5s;
    }
    .socail-media-contant a .pinterest:hover{
        background: #E60023;
        color: #fff;
    }
    .payment-navs ul{
        display: flex;
        justify-content: center;
    }
    .payment-navs ul li{
        list-style: none;
        margin-right: 5px;
    }
    .payment-navs ul li img{
        height: 60px;
        width: 60px;
        border-radius: 50%;
    }

    .whatsapp-fixed-btn{
        position: fixed;
        right: 150px;
        bottom: 20px;
        z-index: 111;
    }
    .whatsapp-fixed-btn .glow-on-hover {
        width: 50px;
        height: 50px;
        border: none;
        outline: none;
        color: #fff;
        background: #25d366;
        cursor: pointer;
        position: relative;
        z-index: 0;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
    }


        .whatsapp-fixed-btn .glow-on-hover:before {
            content: '';
            background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
            position: absolute;
            top: -2px;
            left:-2px;
            background-size: 400%;
            z-index: -1;
            filter: blur(5px);
            width: calc(100% + 4px);
            height: calc(100% + 4px);
            animation: glowing 20s linear infinite;
            opacity: 1;
            transition: opacity .3s ease-in-out;
            border-radius: 10px;
        }

        .whatsapp-fixed-btn .glow-on-hover:active {
            color: #fff
        }

        .whatsapp-fixed-btn .glow-on-hover:active:after {
            background: #25d366;
        }

        /* .whatsapp-fixed-btn .glow-on-hover:hover:before {
            opacity: 1;
        } */

        .whatsapp-fixed-btn .glow-on-hover:after {
            z-index: -1;
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            background: #25d366;
            left: 0;
            top: 0;
            border-radius: 10px;
        }

        @keyframes glowing {
            0% { background-position: 0 0; }
            50% { background-position: 400% 0; }
            100% { background-position: 0 0; }
        }
        @media (max-width: 1560px) {
            .whatsapp-fixed-btn {
                right: 140px;
            }
        }

        @media (max-width: 1530px) {
            .whatsapp-fixed-btn {
                right: 125px;
            }
        }

        @media (max-width: 1500px) {
            .whatsapp-fixed-btn {
                right: 108px;
            }
        }

        @media (max-width: 1450px) {
            .whatsapp-fixed-btn {
                right: 80px;
            }
        }

        @media (max-width: 1400px) {
            .whatsapp-fixed-btn {
                right: 146px;
            }
        }

        @media (max-width: 1350px) {
            .whatsapp-fixed-btn {
                right: 120px;
            }
        }

        @media (max-width: 1300px) {
            .whatsapp-fixed-btn {
                right: 95px;
            }
        }

        @media (max-width: 1250px) {
            .whatsapp-fixed-btn {
                right: 70px;
            }
        }

        @media (max-width: 1220px) {
            .whatsapp-fixed-btn {
                right: 55px;
            }
        }
            @media (max-width: 1199px) {
                .whatsapp-fixed-btn {
                    right: 137px;
                }
            }
            @media (max-width: 1150px) {
                .whatsapp-fixed-btn {
                    right: 113px;
                }
            }
            @media (max-width: 1100px) {
                .whatsapp-fixed-btn {
                    right: 88px;
                }
            }
            @media (max-width: 1050px) {
                .whatsapp-fixed-btn {
                    right: 60px;
                }
            }
            @media (max-width: 1000px) {
                .whatsapp-fixed-btn {
                    right: 38px;
                }
            }
            @media (max-width: 992px) {
                .whatsapp-fixed-btn {
                    bottom: 20px;
                }
            }
            @media (max-width: 991px) {
                .whatsapp-fixed-btn {
                    right: 153px;
                }
            }
            @media (max-width: 950px) {
                .whatsapp-fixed-btn {
                    right: 128px;
                }
            }
            @media (max-width: 900px) {
                .whatsapp-fixed-btn {
                    right: 105px;
                }
            }
            @media (max-width: 850px) {
                .whatsapp-fixed-btn {
                    right: 75px;
                }
            }
            @media (max-width: 800px) {
                .whatsapp-fixed-btn {
                    right: 58px;
                }
            }
            @media (max-width: 768px) {
                .whatsapp-fixed-btn {
                    right: 40px;
                }
            }
            @media (max-width: 767px) {
                .whatsapp-fixed-btn {
                    right: 130px;
                }
            }
            @media (max-width: 750px) {
                .whatsapp-fixed-btn {
                    right: 120px;
                }
            }
            @media (max-width: 700px) {
                .whatsapp-fixed-btn {
                    right: 98px;
                }
            }
            @media (max-width: 650px) {
                .whatsapp-fixed-btn {
                    right: 70px;
                }
            }
            @media (max-width: 600px) {
                .whatsapp-fixed-btn {
                    right: 45px;
                }
            }
            @media (max-width: 576px) {
                .whatsapp-fixed-btn {
                    right: 30px;
                }
            }

    .tramsAndCondition{
        background: #f1f1f1;

    }
    .tramsCondition-head-title {
        padding-bottom: 20px;
    }
    .tramsAndCondition-contant{
        background: #ffffff;
        padding: 15px;
    }
    .tramsCondition-head-title h3 {
        font-weight: bold;
        font-family: Calibri;
        font-size: 30px;
        letter-spacing: 1px;
        border-bottom: 1px solid #000;
    }
    
    .accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: #ddd;
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 #ddd;
}


.blog-part {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    padding: 50px 0;
}
.card {
    transition: transform 0.3s, box-shadow 0.3s;
    overflow: hidden;  /* Ensure that the zoom effect doesn't overflow outside the card */
}
.card:hover {
    transform: translateY(-10px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.card-img-top {
    transition: transform 0.3s ease; /* Smooth zoom effect */
}
.card:hover .card-img-top {
    transform: scale(1.1); /* Zoom in effect */
}

.card-text {
    font-size: 14px;
    color: #6c757d;
}

.tranding-head{
    background: #fff;
    border-radius: 5px;
    border: 1px solid #ddd
}
.tranding-head h3{
    font-size: 25px;
    font-weight: bold;
}
@media screen and (max-width: 992px) {
    .tranding-head {
        margin-top: 15px;
    }
    .tranding-head h3 {
        font-size: 20px;
    }
}

@media screen and (max-width: 668px) {
    .tranding-head h3 {
        font-size: 18px;
    }
}
.tranding-contant a {
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    color: inherit; /* Ensure the initial color is inherited from parent or set a specific color */
}

.tranding-contant a:hover {
    text-decoration: underline;
    color: #f39c12; /* Change the color on hover */
}

.comment-section {
    font-family: Arial, sans-serif;
    width: 100%;
    margin: 0 auto;
    background-color: #ffffff;
    border-radius: 5px;
/*     box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
    padding: 15px;
}

.comment-section h2 {
    margin-top: 0;
}

/* Individual comment styling */
.comment {
    border-bottom: 1px solid #dee2e6;
}


/* Meta information for comments and replies */
.comment-meta, .reply-meta {
    font-size: 14px;
    color: #6c757d;
    margin: 5px 0;
}

.comment-meta strong, .reply-meta strong {
    font-weight: bold;
    color: #343a40;
}

/* Styling for comment text */
.comment-text {
    padding: 10px;
    margin: 5px 15px;
    color: #495057;
    font-size: 14px;
    background: #f1f1f1;
    display: inline-block;
}

/* Styling for replies */
.reply {
    padding: 10px;
    margin: 5px 15px;
    color: #495057;
    font-size: 14px;
    background: #f1f1f1;
    display: inline-block;
}
.single-blog-part{
    background-color: #f1f1f1;
}
.comment-section h3{
    font-size: 25px;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
}
@media (max-weight: 992px){
    .comment-section h3{
        font-size: 20px;
    }
}
@media (max-weight: 768px){
    .comment-section h3{
        font-size: 18px;
    }
}
.comment-input-box{
    font-family: Arial, sans-serif;
    width: 100%;
    margin: 0 auto;
    background-color: #ffffff;
    border-radius: 5px;
/*     box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
    padding: 15px;
}
.comment-input-box h4{
    font-family: Arial, sans-serif;
    font-size: 25px;
    font-weight: bold;
    padding-bottom: 10px;
}
.comment-button .btn{
    background: #2b2f32;
    color: #fff;
    transition: all liner .3s;
}
.comment-button .btn:hover{
    background: #f39c12;
}
.bolog-details-container{
    font-family: Arial, sans-serif;
    width: 100%;
    margin: 0 auto;
    background-color: #ffffff;
    border-radius: 5px;
/*     box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
    padding: 15px;
}

.blog-contant .blog-titles h1{
    font-family: 'Roboto', sans-serif;
    font-size: 22px;
    font-weight: bold;
    padding-top: 5px;
}
.blog-contant p{
    padding-top: 10px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
}

@media (max-width: 992px) {
    .blog-contant .blog-titles h1{
        font-size: 20px;
    }
    .comment-input-box h4{
        font-size: 22px;
    }
}
@media (max-width: 768px) {
    .blog-contant .blog-titles h1 {
        font-size: 18px;
    }
    .comment-input-box h4 {
        font-size: 20px;
    }
}

/*review css*/
.review-head{
    margin-bottom: 1.5rem;
}
.review-head h3{
    border-bottom: 2px solid #f39c12;
    display: inline-block;
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    padding-bottom: 2px
}
@media (max-width: 768px) {
    .review-head{
        margin-bottom: 15px;
        margin-top: 15px;
    }
}
.owl-carousel .owl-item img {
        width: 100%;
        height: 100%;
    }
    .reviews-contant {
        background-color: #000;
        color: #fff;
        padding: 15px;
        text-align: center;
        border-radius: 5px;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        height: 300px; /* Fixed height for all review items */
        box-sizing: border-box;
        border: 1px solid #f39c12;
    }
    .reviews-contant h4 {
        color: #f39c12;
        margin: 0;
        padding: 0;
        font-size: 16px;
        font-weight: bold;
    }
    .reviews-contant p {
        margin: 0;
        padding: 0;
        font-family: Arial, sans-serif;
        color: #ccc;
        font-size: 14px;
        max-height: 100px; /* Fixed height for the text container */
        overflow: auto; /* Enable scrolling if the text exceeds the height */
        width: 100%; /* Make sure it takes the full width */
    }
    .reviews-contant span {
        font-family: Arial, sans-serif;
        font-size: 22px;
    }
    .reviewer-image {
        display: block;
        width: 100%;
        height: 100%;
        max-width: 100px; /* Optional, sets a max size */
        max-height: 100px; /* Optional, sets a max size */
        border-radius: 50%;
        margin: 0 auto;
        margin-bottom: 10px;
        border: 3px solid #f39c12;
    }
    .star-rating {
        color: gold;
    }

/* ===== luxury-theme.css ===== */
:root {
  --dfw-black: #070707;
  --dfw-black-soft: #101010;
  --dfw-panel: #151515;
  --dfw-panel-2: #1c1b18;
  --dfw-gold: #d6aa55;
  --dfw-gold-light: #f2d894;
  --dfw-cream: #f7f1e6;
  --dfw-muted: #b8b1a6;
  --dfw-line: rgba(214, 170, 85, .24);
  --dfw-shadow: 0 24px 70px rgba(0, 0, 0, .28);
  --dfw-radius: 22px;
}

html { scroll-behavior: smooth; background: var(--dfw-black); }
body {
  margin: 0;
  color: #28241f;
  background: #fbf9f4;
  font-family: "Manrope", Arial, sans-serif;
  line-height: 1.72;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
body::before {
  position: fixed; inset: 0; z-index: -1; content: ""; pointer-events: none;
  background: radial-gradient(circle at 12% 15%, rgba(214,170,85,.06), transparent 26%),
              radial-gradient(circle at 90% 70%, rgba(214,170,85,.05), transparent 28%);
}
::selection { color: #080808; background: var(--dfw-gold-light); }
a { transition: color .25s ease, opacity .25s ease, transform .25s ease, border-color .25s ease, background .25s ease; }
img { max-width: 100%; }

h1, h2, h3, h4, h5, h6,
.slider-contant h1, .about-title h2, .service-title h2, .fleet-title h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  letter-spacing: -.018em;
}
h1 { font-size: clamp(2.7rem, 6vw, 5.6rem); line-height: .98; }
h2 { font-size: clamp(2.15rem, 4vw, 3.8rem); line-height: 1.08; }
h3 { font-size: clamp(1.55rem, 2.6vw, 2.25rem); }
p { color: #615b52; }

.skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 99999; padding: 10px 16px;
  color: #080808; background: var(--dfw-gold-light); border-radius: 10px;
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
.content-anchor { position: absolute; scroll-margin-top: 120px; }

.luxury-topbar {
  position: relative; z-index: 1032; color: #d7d0c4; background: #050505;
  border-bottom: 1px solid rgba(214,170,85,.16); font-size: 12px; letter-spacing: .035em;
}
.luxury-topbar__inner { min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.luxury-topbar__location, .luxury-topbar__contact { display: flex; align-items: center; gap: 20px; }
.luxury-topbar a, .luxury-topbar span { color: #d7d0c4; text-decoration: none; white-space: nowrap; }
.luxury-topbar i { color: var(--dfw-gold); margin-right: 6px; }
.luxury-topbar a:hover { color: var(--dfw-gold-light); }

.luxury-navbar {
  z-index: 1030; background: rgba(7,7,7,.94); border-bottom: 1px solid rgba(214,170,85,.18);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transition: box-shadow .3s ease, background .3s ease;
}
.luxury-navbar.is-scrolled { background: rgba(5,5,5,.985); box-shadow: 0 18px 55px rgba(0,0,0,.28); }
.luxury-navbar__inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.luxury-brand { display: inline-flex; width: min(215px, 26vw); flex: 0 0 auto; }
.luxury-brand img { display: block; width: 100%; height: 70px; object-fit: contain; object-position: left center; }
.luxury-navlinks { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 1.7vw, 29px); }
.luxury-navitem { position: relative; }
.luxury-navitem > a {
  position: relative; display: flex; align-items: center; gap: 7px; padding: 34px 0;
  color: #f7f1e6; font-size: 13px; font-weight: 600; letter-spacing: .055em; text-decoration: none; text-transform: uppercase;
}
.luxury-navitem > a::after { position: absolute; left: 0; right: 100%; bottom: 24px; height: 1px; content: ""; background: var(--dfw-gold); transition: right .25s ease; }
.luxury-navitem:hover > a, .luxury-navitem:focus-within > a { color: var(--dfw-gold-light); }
.luxury-navitem:hover > a::after, .luxury-navitem:focus-within > a::after { right: 0; }
.luxury-navitem i { font-size: 9px; }
.luxury-dropdown {
  position: absolute; top: calc(100% - 8px); left: -24px; z-index: 50; width: 280px; max-height: 430px; padding: 12px;
  overflow: auto; visibility: hidden; opacity: 0; transform: translateY(12px); pointer-events: none;
  background: rgba(12,12,12,.985); border: 1px solid var(--dfw-line); border-radius: 16px; box-shadow: var(--dfw-shadow);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.luxury-navitem:hover .luxury-dropdown, .luxury-navitem:focus-within .luxury-dropdown { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
.luxury-dropdown a { display: block; padding: 11px 13px; color: #d8d2c7; border-radius: 9px; font-size: 13px; text-decoration: none; }
.luxury-dropdown a:hover, .luxury-dropdown a:focus { color: var(--dfw-gold-light); background: rgba(214,170,85,.1); padding-left: 17px; }
.luxury-navbar__actions { display: flex; align-items: center; gap: 12px; }
.luxury-cta, .slider-button a, .booking-button, .btn-warning, button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 22px;
  color: #0b0a08 !important; background: linear-gradient(135deg, #f0d48b, #c99a45) !important;
  border: 1px solid rgba(255,255,255,.22) !important; border-radius: 999px !important;
  box-shadow: 0 12px 32px rgba(201,154,69,.19); font-weight: 700; letter-spacing: .025em; text-decoration: none !important;
}
.luxury-cta:hover, .slider-button a:hover, .booking-button:hover, .btn-warning:hover, button[type="submit"]:hover { transform: translateY(-2px); filter: brightness(1.07); box-shadow: 0 17px 38px rgba(201,154,69,.3); }
.luxury-menu-toggle { display: none; width: 48px; height: 48px; color: var(--dfw-gold-light); background: rgba(255,255,255,.04); border: 1px solid var(--dfw-line); border-radius: 50%; }

/* Hero and banners */
.slider-part, .banner-part, .page-banner, [class*="banner-part"] { position: relative; isolation: isolate; background-color: var(--dfw-black); }
.slider-part::after, .banner-part::after { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(90deg, rgba(0,0,0,.84) 5%, rgba(0,0,0,.48) 55%, rgba(0,0,0,.58)); pointer-events: none; }
.slider-contant, .banner-contant { max-width: 880px; }
.slider-contant h1, .slider-contant h2, .banner-contant h1, .banner-contant h2 { color: #fff; text-wrap: balance; text-shadow: 0 12px 45px rgba(0,0,0,.45); }
.slider-contant p, .banner-contant p { max-width: 700px; color: #ded8ce; font-size: clamp(1rem, 1.6vw, 1.16rem); }

/* Consistent sections and content cards */
section, [class*="-part"] { position: relative; }
.about-part, .service-part, .fleet-part, .area-part, .blog-part, .faq-part, .review-part,
.our-services-part, .our-fleet-part, .fleet-contant-part, .service-contant-part { padding-top: clamp(64px, 8vw, 112px); padding-bottom: clamp(64px, 8vw, 112px); }
.bg-dark, footer.bg-dark { background-color: var(--dfw-black-soft) !important; }
.text-warning { color: var(--dfw-gold) !important; }
.border-warning { border-color: var(--dfw-gold) !important; }

.card, .service-item, .fleet-item, .area-item, .blog-item, .review-card, .google-review-card,
[class*="service-card"], [class*="fleet-card"], [class*="review-item"] {
  overflow: hidden; background: #fff; border: 1px solid rgba(50,40,24,.1); border-radius: var(--dfw-radius);
  box-shadow: 0 14px 44px rgba(34,27,17,.08); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.card:hover, .service-item:hover, .fleet-item:hover, .area-item:hover, .blog-item:hover, .review-card:hover, .google-review-card:hover,
[class*="service-card"]:hover, [class*="fleet-card"]:hover, [class*="review-item"]:hover {
  transform: translateY(-8px); border-color: rgba(214,170,85,.55); box-shadow: 0 24px 64px rgba(35,27,15,.16);
}
.card img, .service-item img, .fleet-item img, .area-item img, .blog-item img { transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
.card:hover img, .service-item:hover img, .fleet-item:hover img, .area-item:hover img, .blog-item:hover img { transform: scale(1.045); filter: saturate(.9) contrast(1.04); }

/* Reviews */
.review-section, .customer-review-part, #reviews { background: linear-gradient(145deg, #070707, #17140e); color: #fff; }
.review-section h2, .review-section h3, .customer-review-part h2, .customer-review-part h3 { color: var(--dfw-cream); }
.review-card, .google-review-card, [class*="review-item"] {
  position: relative; color: #ddd5c7; background: linear-gradient(155deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
  border-color: rgba(214,170,85,.22); backdrop-filter: blur(11px);
}
.review-card::before, .google-review-card::before, [class*="review-item"]::before {
  position: absolute; top: 8px; right: 18px; content: "“"; color: rgba(214,170,85,.22); font: 700 72px/1 "Cormorant Garamond", serif;
}
.review-card p, .google-review-card p, [class*="review-item"] p { color: #d8d1c5; }
.fa-star, .rating-star, .stars { color: var(--dfw-gold) !important; }

/* Forms */
form { position: relative; }
.form-control, .form-select, input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea {
  min-height: 52px; padding: 12px 15px; color: #28231c; background: #fff; border: 1px solid rgba(68,53,31,.18); border-radius: 11px;
  box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
textarea.form-control, textarea { min-height: 126px; }
.form-control:focus, .form-select:focus, input:focus, select:focus, textarea:focus {
  border-color: var(--dfw-gold); box-shadow: 0 0 0 4px rgba(214,170,85,.15); outline: none;
}
.booking-form, .request-form, [class*="booking-form"], [class*="request-form"] {
  padding: clamp(20px, 3vw, 38px); background: rgba(255,255,255,.97); border: 1px solid rgba(214,170,85,.25); border-radius: 24px; box-shadow: var(--dfw-shadow);
}

/* Footer and mobile drawer */
footer { position: relative; overflow: hidden; border-top: 1px solid var(--dfw-line) !important; }
footer::before { position: absolute; top: -260px; right: -180px; width: 520px; height: 520px; content: ""; border: 1px solid rgba(214,170,85,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(214,170,85,.025), 0 0 0 140px rgba(214,170,85,.018); }
footer h6 { color: var(--dfw-gold-light) !important; font-family: "Manrope", sans-serif; letter-spacing: .11em; }
footer p, footer a { color: #c8c0b5 !important; }
footer a:hover { color: var(--dfw-gold-light) !important; }
footer .fleet-cars-details-button img { max-height: 30px; width: auto; filter: grayscale(1) brightness(1.8); opacity: .72; }
.offcanvas { color: #eee; background: #090909 !important; }
.offcanvas .offcanvas-header, .offcanvas .offcanvas-body { background: #090909 !important; }
.offcanvas .btn-close { filter: invert(1); }
.offcanvas .accordion-title, .offcanvas a { color: #eee !important; }
.offcanvas .accordion-content a { display: block; padding: 8px 12px; color: #bbb !important; }
.offcanvas .accordion-content a:hover { color: var(--dfw-gold-light) !important; }

/* Motion enhancement */
.dfw-reveal { opacity: 0; transform: translateY(28px); transition: opacity .72s ease, transform .72s cubic-bezier(.2,.8,.2,1); }
.dfw-reveal.is-visible { opacity: 1; transform: translateY(0); }
.dfw-reveal[data-delay="1"] { transition-delay: .08s; }
.dfw-reveal[data-delay="2"] { transition-delay: .16s; }
.dfw-reveal[data-delay="3"] { transition-delay: .24s; }
.dfw-reveal[data-delay="4"] { transition-delay: .32s; }

@media (max-width: 1199px) {
  .luxury-navlinks { gap: 13px; }
  .luxury-navitem > a { font-size: 11px; }
  .luxury-cta { padding-inline: 16px; font-size: 12px; }
}
@media (max-width: 991.98px) {
  .luxury-topbar__location { display: none; }
  .luxury-topbar__inner { justify-content: center; }
  .luxury-topbar__contact { width: 100%; justify-content: space-between; gap: 10px; }
  .luxury-topbar__contact .service-open, .luxury-topbar__contact a:first-of-type { display: none; }
  .luxury-navbar__inner { min-height: 75px; }
  .luxury-brand { width: 185px; max-width: 58vw; }
  .luxury-brand img { height: 58px; }
  .luxury-navlinks, .luxury-cta { display: none; }
  .luxury-menu-toggle { display: inline-grid; place-items: center; }
  .luxury-navbar { top: 0; }
  .luxury-topbar { position: sticky; top: 0; }
}
@media (max-width: 575.98px) {
  .luxury-topbar__inner { min-height: 34px; padding-inline: 12px; }
  .luxury-topbar__contact { justify-content: center; }
  .luxury-topbar__contact a { font-size: 11px; }
  .luxury-navbar__inner { padding-inline: 15px; }
  .luxury-brand { width: 165px; }
  .luxury-menu-toggle { width: 44px; height: 44px; }
  h1 { font-size: clamp(2.45rem, 14vw, 4rem); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .dfw-reveal { opacity: 1; transform: none; }
}


.lux-review-card {
  min-height: 100%; padding: 25px; color: #dfd7ca;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  border: 1px solid rgba(214,170,85,.24); border-radius: 20px;
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.lux-review-card:hover { transform: translateY(-7px); border-color: rgba(242,216,148,.62); box-shadow: 0 28px 60px rgba(0,0,0,.28); }
.lux-review-card p { color: #d6cec1; }
.lux-review-card footer { color: #a99f90 !important; background: transparent !important; border: 0 !important; }
.review-author { display: flex; align-items: center; gap: 14px; margin-bottom: 15px; }
.reviewer-image, .review-avatar-fallback { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(214,170,85,.55); }
.review-avatar-fallback { display: grid; place-items: center; color: #0b0906; background: var(--dfw-gold-light); font-weight: 800; }
.star-rating { color: var(--dfw-gold); letter-spacing: .08em; }
.review-summary { min-width: 94px; padding: 10px 14px; text-align: center; border: 1px solid var(--dfw-line); border-radius: 15px; }
.review-summary strong { display: block; color: var(--dfw-gold-light); font: 700 30px/1 "Cormorant Garamond", serif; }
.review-summary span { color: #bdb4a7; font-size: 11px; }
.eyebrow { display: inline-block; color: var(--dfw-gold); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

.g-recaptcha.captcha-invalid {
    border: 2px solid #dc3545;
    border-radius: 0.5rem;
    padding: 0.35rem;
}

/* Dark luxury surface system — overrides legacy inline light panels without changing content or booking fields. */
body {
  color: #e9e2d5;
  background: #080808;
}
body::before { z-index: 0; }
body > * { position: relative; z-index: 1; }
main, .bg-dark-light, .limousine-services-contant, .av-special-heading-tag,
.blog-part, .fleet-contant-part, .service-contant-part, .area-contant-part,
.our-blog-part, .terms-condition-part, .privacy-policy-part, .about-part {
  color: #e9e2d5;
  background-color: #0d0d0d !important;
}
main h1, main h2, main h3, main h4, main h5, main h6,
section h1, section h2, section h3, section h4, section h5, section h6 {
  color: var(--dfw-cream);
}
main p, main li, main td, main label, section p, section li, section td, section label {
  color: #c8c0b5;
}
main a:not(.btn):not(.luxury-cta), section a:not(.btn):not(.luxury-cta) { color: var(--dfw-gold-light); }

.card, .service-item, .fleet-item, .area-item, .blog-item, .review-card, .google-review-card,
[class*="service-card"], [class*="fleet-card"], [class*="review-item"],
.fleet-home-contant, .fleet-cars-image, .fleet-cars-contant, .fleet-car-blog,
.service-text, .limousine-services-text, .tranding-contant,
main [style*="background: #ffffff"], main [style*="background:#ffffff"],
main [style*="background: #fff"], main [style*="background:#fff"],
section [style*="background: #ffffff"], section [style*="background:#ffffff"],
section [style*="background: #fff"], section [style*="background:#fff"] {
  color: #e8e1d6 !important;
  background: linear-gradient(145deg, #171717, #101010) !important;
  border-color: rgba(214, 170, 85, .22) !important;
}
.card p, .service-item p, .fleet-item p, .area-item p, .blog-item p,
.fleet-cars-contant p, .service-text p, .limousine-services-text p,
.tranding-contant p { color: #c6beb2 !important; }
.table { --bs-table-bg: transparent; --bs-table-color: #ddd5c8; --bs-table-border-color: rgba(214,170,85,.2); }
.table > :not(caption) > * > * { color: #ddd5c8; background: rgba(255,255,255,.025); border-color: rgba(214,170,85,.18); }
.table-active { --bs-table-bg-state: rgba(214,170,85,.09); }
.breadcrumb, .breadcrumb a { color: #bfb5a6 !important; }
.breadcrumb-item.active, .breadcrumb-item + .breadcrumb-item::before { color: var(--dfw-gold) !important; }

.booking-form, .request-form, [class*="booking-form"], [class*="request-form"],
#signup-part .card-body, .signup-part .card-body, .contact-form, .contact-form-part form {
  color: #eee7dc;
  background: linear-gradient(145deg, rgba(24,24,24,.98), rgba(10,10,10,.98)) !important;
  border: 1px solid rgba(214,170,85,.32) !important;
  border-radius: 24px;
  box-shadow: 0 30px 75px rgba(0,0,0,.42);
}
.form-control, .form-select, input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea {
  color: #f4eee4 !important;
  background-color: #141414 !important;
  border-color: rgba(214,170,85,.25) !important;
}
.form-control::placeholder, input::placeholder, textarea::placeholder { color: #8f877c !important; opacity: 1; }
.form-select { color-scheme: dark; }
.form-check-input { background-color: #151515; border-color: rgba(214,170,85,.5); }
.form-check-input:checked { background-color: var(--dfw-gold); border-color: var(--dfw-gold); }

.hero-slider { min-height: min(780px, 82vh); }
.hero-slider::after {
  position: absolute; inset: 0; z-index: 1; content: ""; pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.1) 58%, rgba(0,0,0,.42));
}
.hero-slider .slider-content { position: absolute; left: clamp(24px, 8vw, 120px); bottom: clamp(48px, 11vh, 120px); z-index: 3; max-width: 720px; }
.hero-slider .slider-content h3 { color: #fff; font-size: clamp(2.5rem, 6vw, 5.8rem); line-height: .98; text-shadow: 0 16px 55px rgba(0,0,0,.62); }

@media (max-width: 768px) {
  .hero-slider { min-height: 300px; height: 300px !important; }
  .hero-slider .slider-content { left: 22px; right: 22px; bottom: 28px; }
  .hero-slider .slider-content h3 { font-size: clamp(2rem, 11vw, 3.2rem); }
}

/* ===== premium-v2.css ===== */
:root {
  --dfw-bg: #050505;
  --dfw-bg-soft: #0a0a0a;
  --dfw-panel: #101010;
  --dfw-panel-2: #151515;
  --dfw-line: rgba(255, 255, 255, .105);
  --dfw-line-gold: rgba(212, 174, 88, .35);
  --dfw-gold: #d4ae58;
  --dfw-gold-light: #f1d486;
  --dfw-gold-deep: #9f772b;
  --dfw-white: #f7f4ed;
  --dfw-muted: #aaa59b;
  --dfw-danger: #ef6b6b;
  --dfw-radius: 22px;
  --dfw-radius-sm: 14px;
  --dfw-shadow: 0 28px 80px rgba(0, 0, 0, .38);
  --dfw-container: 1240px;
}

html { scroll-behavior: smooth; background: var(--dfw-bg); }
body {
  margin: 0;
  color: var(--dfw-white);
  background: var(--dfw-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 82% 8%, rgba(212, 174, 88, .08), transparent 28rem),
    radial-gradient(circle at 6% 70%, rgba(109, 91, 50, .07), transparent 32rem),
    #050505;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease; }
p { margin-top: 0; color: var(--dfw-muted); }
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  color: var(--dfw-white);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.08;
}
.container { width: min(calc(100% - 36px), var(--dfw-container)); max-width: var(--dfw-container); }
.site-main, .site-main > section, .site-main > div { background-color: transparent; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 99999; padding: 10px 14px; background: var(--dfw-gold); color: #080808; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

/* Keep every public content page on the same dark visual system. */
.site-main,
.site-main .bg-white,
.site-main .bg-light,
.site-main .bg-dark-light,
.site-main .service-area,
.site-main .service-banner,
.site-main .about-area,
.site-main .contact-area,
.site-main .blog-area,
.site-main .faq-area,
.site-main .fleet-area,
.site-main .book-now-area,
.site-main [style*="background: white"],
.site-main [style*="background:#fff"],
.site-main [style*="background: #fff"],
.site-main [style*="background-color: white"],
.site-main [style*="background-color:#fff"],
.site-main [style*="background-color: #fff"],
.site-main [style*="#f1f1f1"],
.site-main [style*="#f8f9fa"] { background: var(--dfw-bg) !important; color: var(--dfw-white) !important; }
.site-main .card,
.site-main .contact-form,
.site-main .accordion-item,
.site-main .blog-contant,
.site-main .service-contant,
.site-main .fleet-contant,
.site-main .area-contant,
.site-main .book-now-contant,
.site-main .form-area,
.site-main [style*="background: rgb(255"],
.site-main [style*="background-color: rgb(255"] {
  color: var(--dfw-white) !important;
  background: linear-gradient(145deg, rgba(21,21,21,.97), rgba(9,9,9,.98)) !important;
  border-color: var(--dfw-line) !important;
  box-shadow: var(--dfw-shadow);
}
.site-main .text-dark, .site-main [style*="color: black"], .site-main [style*="color:#000"], .site-main [style*="color: #000"] { color: var(--dfw-white) !important; }
.site-main input, .site-main textarea, .site-main select,
.site-main .form-control, .site-main .form-select {
  color: var(--dfw-white) !important;
  background-color: #0b0b0b !important;
  border: 1px solid var(--dfw-line) !important;
}
.site-main input::placeholder, .site-main textarea::placeholder { color: #77736b !important; opacity: 1; }
.site-main .form-control:focus, .site-main .form-select:focus,
.site-main input:focus, .site-main textarea:focus, .site-main select:focus {
  border-color: var(--dfw-gold) !important;
  box-shadow: 0 0 0 3px rgba(212,174,88,.13) !important;
  outline: none;
}
.site-main select option { color: #f7f4ed; background: #111; }
.site-main .modal-content { background: var(--dfw-panel); border: 1px solid var(--dfw-line); color: var(--dfw-white); }
.site-main table { color: var(--dfw-white); }

.premium-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 17px;
  color: var(--dfw-gold-light);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.35;
  text-transform: uppercase;
}
.premium-kicker::before { content: ""; width: 31px; height: 1px; background: linear-gradient(90deg, transparent, var(--dfw-gold)); }
.premium-section { position: relative; padding: clamp(74px, 8vw, 126px) 0; background: var(--dfw-bg); }
.premium-section__header { display: grid; grid-template-columns: minmax(0, .95fr) minmax(320px, .65fr); align-items: end; gap: 70px; margin-bottom: 48px; }
.premium-section__header h2 { max-width: 720px; margin-bottom: 0; font-size: clamp(2.25rem, 5vw, 4.65rem); }
.premium-section__header > p { max-width: 600px; margin: 0 0 6px; font-size: 1.05rem; }
.premium-section__cta { display: flex; justify-content: center; margin-top: 42px; }
.page-surface { background: linear-gradient(145deg, rgba(22,22,22,.98), rgba(8,8,8,.98)); border: 1px solid var(--dfw-line); border-radius: var(--dfw-radius); box-shadow: var(--dfw-shadow); }

.premium-btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 23px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
  cursor: pointer;
}
.premium-btn:hover { transform: translateY(-2px); }
.premium-btn--gold { color: #100e09; background: linear-gradient(135deg, var(--dfw-gold-light), var(--dfw-gold) 55%, #b7842c); box-shadow: 0 12px 35px rgba(212,174,88,.16); }
.premium-btn--gold:hover { color: #080706; box-shadow: 0 18px 45px rgba(212,174,88,.24); }
.premium-btn--ghost { color: var(--dfw-white); border-color: rgba(255,255,255,.19); background: rgba(255,255,255,.025); }
.premium-btn--ghost:hover, .premium-btn--glass:hover { color: var(--dfw-gold-light); border-color: var(--dfw-line-gold); background: rgba(212,174,88,.08); }
.premium-btn--glass { color: var(--dfw-white); border-color: rgba(255,255,255,.18); background: rgba(4,4,4,.32); backdrop-filter: blur(12px); }
.premium-link { display: inline-flex; align-items: center; gap: 9px; color: var(--dfw-gold-light); font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.premium-link:hover { color: #fff2bf; gap: 13px; }

/* Top bars and navigation */
.luxury-topbar { position: relative; z-index: 1031; min-height: 37px; color: #aaa69f; background: #030303; border-bottom: 1px solid rgba(255,255,255,.07); font-size: .73rem; }
.luxury-topbar__inner { min-height: 37px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.luxury-topbar__location, .luxury-topbar__contact, .luxury-topbar__contact a, .luxury-topbar__contact span { display: flex; align-items: center; gap: 8px; }
.luxury-topbar__contact { gap: 22px; }
.luxury-topbar i { color: var(--dfw-gold); }
.luxury-topbar a:hover { color: var(--dfw-white); }
.luxury-navbar { top: 0; z-index: 1030; height: 82px; background: rgba(6,6,6,.84); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(18px) saturate(130%); transition: height .3s ease, background .3s ease, box-shadow .3s ease; }
.luxury-navbar.is-scrolled { height: 70px; background: rgba(4,4,4,.96); box-shadow: 0 12px 38px rgba(0,0,0,.28); }
.luxury-navbar__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.luxury-brand { display: flex; width: 168px; height: 62px; align-items: center; flex: 0 0 auto; }
.luxury-brand img { width: 100%; max-height: 57px; object-fit: contain; object-position: left center; }
.luxury-navlinks { display: flex; align-items: center; justify-content: center; gap: clamp(17px, 2vw, 30px); }
.luxury-navitem { position: relative; height: 82px; display: flex; align-items: center; }
.is-scrolled .luxury-navitem { height: 70px; }
.luxury-navitem > a { display: flex; align-items: center; gap: 7px; color: #d5d1c8; font-size: .77rem; font-weight: 700; letter-spacing: .065em; text-transform: uppercase; white-space: nowrap; }
.luxury-navitem > a::after { content: ""; position: absolute; right: 50%; bottom: 17px; left: 50%; height: 1px; background: var(--dfw-gold); transition: left .25s ease, right .25s ease; }
.luxury-navitem:hover > a { color: var(--dfw-white); }
.luxury-navitem:hover > a::after { right: 0; left: 0; }
.luxury-navitem i { font-size: .56rem; color: var(--dfw-gold); }
.luxury-dropdown { position: absolute; top: calc(100% - 4px); left: -24px; width: 310px; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(12px); background: rgba(11,11,11,.985); border: 1px solid var(--dfw-line); border-radius: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.55); transition: .25s ease; }
.luxury-navitem:hover .luxury-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.luxury-dropdown a { display: block; padding: 11px 13px; color: #b9b5ac; border-radius: 9px; font-size: .82rem; line-height: 1.35; }
.luxury-dropdown a:hover { color: var(--dfw-gold-light); background: rgba(212,174,88,.07); padding-left: 17px; }
.luxury-navbar__actions { display: flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.luxury-phone { width: 43px; height: 43px; display: grid; place-items: center; color: var(--dfw-gold-light); border: 1px solid var(--dfw-line); border-radius: 50%; }
.luxury-phone:hover { border-color: var(--dfw-line-gold); transform: rotate(-8deg); }
.luxury-cta { min-height: 44px; display: flex; align-items: center; gap: 10px; padding: 11px 18px; color: #0c0a05; background: linear-gradient(135deg, var(--dfw-gold-light), var(--dfw-gold)); border-radius: 999px; font-size: .69rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.luxury-cta:hover { color: #080706; transform: translateY(-2px); }
.luxury-menu-toggle { display: none; width: 44px; height: 44px; color: var(--dfw-white); background: transparent; border: 1px solid var(--dfw-line); border-radius: 50%; }

/* Hero */
.premium-hero { position: relative; min-height: clamp(690px, calc(100vh - 118px), 900px); overflow: hidden; background: #050505; }
.premium-hero__slides, .premium-hero__slide { position: absolute; inset: 0; }
.premium-hero__slide { opacity: 0; visibility: hidden; transition: opacity 1.05s ease, visibility 1.05s ease; }
.premium-hero__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.premium-hero__slide > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.045); transition: transform 8s ease; }
.premium-hero__slide.is-active > img { transform: scale(1); }
.premium-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,3,3,.96) 0%, rgba(4,4,4,.78) 38%, rgba(4,4,4,.30) 67%, rgba(3,3,3,.58) 100%), linear-gradient(0deg, #050505 0%, transparent 32%); }
.premium-hero__content { position: relative; z-index: 2; height: 100%; min-height: inherit; display: flex; align-items: center; padding-top: 45px; padding-bottom: 90px; }
.premium-hero__copy { max-width: 820px; }
.premium-hero h1, .premium-hero h2 { max-width: 920px; margin-bottom: 24px; font-size: clamp(3.15rem, 7.4vw, 7.35rem); letter-spacing: -.055em; text-wrap: balance; }
.premium-hero p { max-width: 700px; margin-bottom: 31px; color: #cec9bf; font-size: clamp(1rem, 1.4vw, 1.17rem); }
.premium-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.premium-hero__trust { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 38px; color: #aaa59b; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.premium-hero__trust span { display: inline-flex; gap: 7px; align-items: baseline; }
.premium-hero__trust strong { color: var(--dfw-gold-light); font-family: Georgia, serif; font-size: 1.05rem; font-weight: 500; }
.premium-hero__controls { position: absolute; right: 0; bottom: 35px; left: 0; z-index: 4; display: flex; justify-content: flex-end; align-items: center; gap: 13px; pointer-events: none; }
.premium-hero__controls > button { width: 42px; height: 42px; display: grid; place-items: center; color: var(--dfw-white); background: rgba(5,5,5,.55); border: 1px solid rgba(255,255,255,.18); border-radius: 50%; pointer-events: auto; backdrop-filter: blur(10px); }
.premium-hero__controls > button:hover { color: var(--dfw-gold-light); border-color: var(--dfw-line-gold); }
.premium-hero__dots { display: flex; gap: 8px; margin: 0 4px; pointer-events: auto; }
.premium-hero__dots button { width: 24px; height: 3px; padding: 0; background: rgba(255,255,255,.35); border: 0; transition: width .25s ease, background .25s ease; }
.premium-hero__dots button.is-active { width: 44px; background: var(--dfw-gold); }
.premium-hero__scroll { position: absolute; bottom: 29px; left: max(18px, calc((100vw - var(--dfw-container)) / 2)); z-index: 4; display: flex; align-items: center; gap: 10px; color: #aaa59b; font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.premium-hero__scroll i { color: var(--dfw-gold); animation: dfw-bounce 2.3s ease-in-out infinite; }
@keyframes dfw-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }

/* Booking */
.premium-booking-shell { position: relative; z-index: 2; padding: 0 0 clamp(80px, 9vw, 130px); background: var(--dfw-bg); }
.premium-booking-shell--home { margin-top: -1px; }
.premium-booking-shell > .container { display: grid; grid-template-columns: .72fr 1.45fr; gap: 26px; align-items: stretch; }
.premium-booking-shell__aside { padding: clamp(38px, 4.2vw, 68px) clamp(20px, 3vw, 44px); background: linear-gradient(145deg, #0c0c0c, #070707); border: 1px solid var(--dfw-line); border-radius: var(--dfw-radius); }
.premium-booking-shell__aside h2 { margin-bottom: 22px; font-size: clamp(2.1rem, 4vw, 3.8rem); }
.premium-booking-shell__aside > p { font-size: .98rem; }
.premium-check-list { display: grid; gap: 14px; padding: 0; margin: 30px 0 0; list-style: none; }
.premium-check-list li { display: grid; grid-template-columns: 24px 1fr; gap: 11px; color: #c9c4ba; font-size: .88rem; }
.premium-check-list i { width: 24px; height: 24px; display: grid; place-items: center; color: #0c0a05; background: var(--dfw-gold); border-radius: 50%; font-size: .65rem; }
.premium-booking-shell__form { padding: clamp(25px, 4vw, 47px); }
.premium-booking-form { margin: 0; }
.booking-form__intro { display: grid; grid-template-columns: 1fr .75fr; align-items: end; gap: 28px; padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--dfw-line); }
.booking-form__intro h2 { margin-bottom: 0; font-size: clamp(1.9rem, 3.4vw, 3.1rem); }
.booking-form__intro p { margin: 0; font-size: .9rem; }
.booking-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.premium-field { min-width: 0; }
.premium-field--wide { grid-column: 1 / -1; }
.premium-field label { display: block; margin-bottom: 7px; color: #d2cdc3; font-size: .69rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.premium-field label span { color: var(--dfw-gold); }
.premium-field input, .premium-field select, .premium-field textarea {
  width: 100%; min-height: 52px; padding: 13px 15px; color: var(--dfw-white); background: #080808; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; font: inherit; font-size: .91rem; box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.premium-field textarea { min-height: 102px; resize: vertical; }
.premium-field input:focus, .premium-field select:focus, .premium-field textarea:focus { outline: none; border-color: var(--dfw-gold); background: #0b0b0b; box-shadow: 0 0 0 3px rgba(212,174,88,.11); }
.premium-field input:invalid:not(:placeholder-shown), .was-validated .premium-field input:invalid, .was-validated .premium-field select:invalid { border-color: rgba(239,107,107,.7); }
.premium-field[hidden] { display: none !important; }
.dfw-honeypot { position: absolute !important; left: -10000px !important; opacity: 0 !important; }
.booking-stop-actions { display: flex; align-items: center; justify-content: space-between; min-height: 31px; }
.booking-stop-actions span { color: #77736b; font-size: .72rem; }
.booking-text-button { display: inline-flex; align-items: center; gap: 8px; padding: 0; color: var(--dfw-gold-light); background: none; border: 0; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.premium-switch { display: flex !important; align-items: center; gap: 11px; margin: 2px 0 !important; cursor: pointer; }
.premium-switch input { position: absolute; opacity: 0; pointer-events: none; }
.premium-switch > span { position: relative; width: 42px; height: 23px; background: #232323; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; transition: .2s ease; }
.premium-switch > span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; background: #aaa; border-radius: 50%; transition: .2s ease; }
.premium-switch input:checked + span { background: rgba(212,174,88,.2); border-color: var(--dfw-gold); }
.premium-switch input:checked + span::after { left: 22px; background: var(--dfw-gold-light); }
.booking-form__security { min-height: 45px; display: flex; align-items: center; margin-top: 22px; }
.booking-form__security p { display: flex; align-items: center; gap: 9px; margin: 0; color: #7e7a72; font-size: .74rem; }
.booking-form__security i { color: var(--dfw-gold); }
.booking-form__security [data-recaptcha-error] { color: var(--dfw-danger); }
.booking-form__submit { display: flex; align-items: center; gap: 18px; margin-top: 18px; }
.booking-form__submit p { margin: 0; color: #716e67; font-size: .72rem; }
.premium-btn--submit { min-width: 255px; }
.premium-btn.is-loading, .premium-btn[aria-busy="true"] { opacity: .7; pointer-events: none; }

/* Cards */
.premium-card-grid { display: grid; gap: 23px; }
.premium-card-grid--services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.premium-card-grid--fleet { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.premium-card { position: relative; overflow: hidden; color: var(--dfw-white); background: linear-gradient(145deg, rgba(20,20,20,.98), rgba(8,8,8,.98)); border: 1px solid var(--dfw-line); border-radius: var(--dfw-radius-sm); box-shadow: 0 16px 45px rgba(0,0,0,.22); isolation: isolate; }
.premium-card::before { content: ""; position: absolute; z-index: -1; width: 240px; height: 240px; top: calc(var(--pointer-y, 50%) - 120px); left: calc(var(--pointer-x, 50%) - 120px); opacity: 0; background: radial-gradient(circle, rgba(212,174,88,.11), transparent 68%); transition: opacity .25s ease; pointer-events: none; }
.premium-card:hover::before { opacity: 1; }
.premium-card:hover { border-color: var(--dfw-line-gold); transform: translateY(-7px); box-shadow: 0 24px 70px rgba(0,0,0,.34); }
.premium-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 16/10; background: #111; }
.premium-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,5,5,.65), transparent 65%); }
.premium-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.04); transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .45s ease; }
.premium-card:hover .premium-card__media img { transform: scale(1.055); filter: saturate(1) contrast(1.06); }
.premium-card__number { position: absolute; right: 18px; bottom: 13px; z-index: 2; color: rgba(255,255,255,.72); font-family: Georgia, serif; font-size: 1.05rem; }
.premium-card__body { padding: 25px 24px 27px; }
.premium-card__body h3 { margin-bottom: 12px; font-size: 1.45rem; }
.premium-card__body h3 a:hover { color: var(--dfw-gold-light); }
.premium-card__body p { min-height: 72px; margin-bottom: 21px; font-size: .87rem; }
.premium-fleet-card__label { position: absolute; z-index: 2; top: 15px; left: 15px; padding: 7px 10px; color: #110e08; background: var(--dfw-gold); border-radius: 999px; font-size: .61rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.premium-fleet-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; border-top: 1px solid var(--dfw-line); }
.premium-fleet-card__meta span { color: #8d8981; font-size: .72rem; }
.premium-fleet-card__meta i { color: var(--dfw-gold); margin-right: 6px; }

.premium-services { background: #070707; }
.premium-fleet { background: linear-gradient(180deg, #050505, #090909 50%, #050505); }

/* Experience */
.premium-experience { overflow: hidden; background: #090909; }
.premium-experience::before { content: ""; position: absolute; top: -180px; right: -180px; width: 500px; height: 500px; border: 1px solid rgba(212,174,88,.08); border-radius: 50%; box-shadow: 0 0 0 80px rgba(212,174,88,.015), 0 0 0 160px rgba(212,174,88,.01); }
.premium-experience__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(45px, 8vw, 105px); align-items: center; }
.premium-experience__visual { position: relative; min-height: 650px; }
.premium-experience__visual > img { width: 100%; height: 650px; object-fit: cover; border-radius: 220px 220px 18px 18px; filter: saturate(.75); }
.premium-experience__visual::after { content: ""; position: absolute; inset: 18px -18px -18px 18px; z-index: -1; border: 1px solid var(--dfw-line-gold); border-radius: 220px 220px 18px 18px; }
.premium-experience__badge { position: absolute; right: -42px; bottom: 40px; width: 145px; height: 145px; display: grid; place-content: center; text-align: center; background: var(--dfw-gold); color: #0b0905; border: 8px solid #090909; border-radius: 50%; box-shadow: 0 14px 45px rgba(0,0,0,.4); }
.premium-experience__badge strong { font-family: Georgia, serif; font-size: 2.35rem; font-weight: 500; line-height: 1; }
.premium-experience__badge span { margin-top: 5px; font-size: .63rem; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.premium-experience__copy h2 { margin-bottom: 23px; font-size: clamp(2.5rem, 5vw, 5rem); }
.premium-experience__copy > p { max-width: 700px; font-size: 1rem; }
.premium-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 35px 0 34px; }
.premium-value-grid > div { padding: 20px 16px; border: 1px solid var(--dfw-line); border-radius: 12px; background: rgba(255,255,255,.016); }
.premium-value-grid i { width: 25px; height: 25px; display: grid; place-items: center; margin-bottom: 17px; color: #0b0905; background: var(--dfw-gold); border-radius: 50%; font-size: .64rem; }
.premium-value-grid h3 { margin-bottom: 9px; font-family: inherit; font-size: .82rem; font-weight: 800; letter-spacing: .04em; }
.premium-value-grid p { margin: 0; font-size: .75rem; line-height: 1.55; }

/* Proof */
.premium-proof { padding: 62px 0; background: linear-gradient(135deg, #17130b, #0c0b08 50%, #080808); border-top: 1px solid var(--dfw-line-gold); border-bottom: 1px solid var(--dfw-line-gold); }
.premium-proof__grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 70px; }
.premium-proof h2 { max-width: 500px; margin-bottom: 0; font-size: clamp(2.3rem, 4.4vw, 4.2rem); }
.premium-proof__stats { display: grid; grid-template-columns: repeat(4, 1fr); }
.premium-proof__stats > div { min-height: 110px; display: flex; flex-direction: column; justify-content: center; padding: 10px 24px; border-left: 1px solid rgba(255,255,255,.12); }
.premium-proof__stats strong { color: var(--dfw-gold-light); font-family: Georgia, serif; font-size: clamp(2rem, 3vw, 3.3rem); font-weight: 500; line-height: 1; }
.premium-proof__stats span { margin-top: 9px; color: #a5a096; font-size: .66rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

/* Reviews */
.premium-section__header--controls { grid-template-columns: 1fr auto; }
.premium-carousel-controls { display: flex; gap: 9px; }
.premium-carousel-controls button { width: 47px; height: 47px; display: grid; place-items: center; color: var(--dfw-white); background: #101010; border: 1px solid var(--dfw-line); border-radius: 50%; }
.premium-carousel-controls button:hover { color: var(--dfw-gold-light); border-color: var(--dfw-line-gold); }
.premium-review-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(330px, 31.7%); gap: 22px; overflow-x: auto; padding: 4px 2px 22px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.premium-review-track::-webkit-scrollbar { display: none; }
.premium-review-card { min-height: 360px; display: flex; flex-direction: column; padding: 27px; scroll-snap-align: start; }
.premium-review-card__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.premium-review-card__top > i { color: var(--dfw-gold); font-size: 1.25rem; }
.premium-review-card__author { display: flex; align-items: center; gap: 13px; }
.premium-review-card__author > img, .premium-review-card__author > span { width: 52px; height: 52px; flex: 0 0 52px; display: grid; place-items: center; object-fit: cover; color: #0b0905; background: linear-gradient(135deg, var(--dfw-gold-light), var(--dfw-gold)); border: 2px solid rgba(212,174,88,.3); border-radius: 50%; font-family: Georgia, serif; font-size: 1.3rem; }
.premium-review-card__author h3 { margin: 0 0 3px; font-family: inherit; font-size: .9rem; font-weight: 800; letter-spacing: 0; }
.premium-review-card__author small { color: #7f7b74; font-size: .69rem; }
.premium-stars { margin: 25px 0 17px; color: var(--dfw-gold); font-size: .92rem; letter-spacing: .12em; }
.premium-review-card blockquote { flex: 1; margin: 0; color: #d4cfc5; font-family: Georgia, serif; font-size: 1.08rem; line-height: 1.68; }
.premium-review-card footer { margin-top: 23px; padding-top: 16px; color: #77736c; border-top: 1px solid var(--dfw-line); font-size: .69rem; }

/* FAQ */
.premium-faq { background: #090909; }
.premium-faq__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px, 8vw, 105px); align-items: start; }
.premium-faq__intro { position: sticky; top: 110px; }
.premium-faq__intro h2 { margin-bottom: 21px; font-size: clamp(2.5rem, 4.8vw, 4.8rem); }
.premium-faq__intro p { max-width: 470px; }
.premium-accordion { border-top: 1px solid var(--dfw-line); }
.premium-accordion details { border-bottom: 1px solid var(--dfw-line); }
.premium-accordion summary { position: relative; padding: 27px 46px 27px 0; color: var(--dfw-white); font-family: Georgia, serif; font-size: 1.26rem; cursor: pointer; list-style: none; }
.premium-accordion summary::-webkit-details-marker { display: none; }
.premium-accordion summary span, .premium-accordion summary span::after { position: absolute; top: 50%; right: 0; width: 17px; height: 1px; background: var(--dfw-gold); transition: transform .25s ease; }
.premium-accordion summary span::after { content: ""; top: 0; transform: rotate(90deg); }
.premium-accordion details[open] summary span::after { transform: rotate(0); }
.premium-accordion details > div { padding: 0 45px 25px 0; }
.premium-accordion details p { margin: 0; font-size: .92rem; }

/* Final CTA */
.premium-final-cta { position: relative; overflow: hidden; padding: clamp(72px, 8vw, 115px) 0; background: linear-gradient(135deg, rgba(45,35,16,.98), rgba(10,9,7,.98) 55%, #050505); border-top: 1px solid rgba(212,174,88,.26); }
.premium-final-cta::after { content: "DFW"; position: absolute; right: -2vw; bottom: -7vw; color: rgba(255,255,255,.025); font-family: Georgia, serif; font-size: min(31vw, 420px); line-height: .8; pointer-events: none; }
.premium-final-cta .container { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 55px; }
.premium-final-cta h2 { max-width: 810px; margin-bottom: 16px; font-size: clamp(2.7rem, 6vw, 6rem); }
.premium-final-cta p { max-width: 650px; margin-bottom: 0; }
.premium-final-cta .container > div:last-child { display: flex; flex-wrap: wrap; gap: 11px; justify-content: flex-end; }

/* Inner page hero and booking page */
.premium-page-hero { position: relative; overflow: hidden; padding: clamp(105px, 13vw, 190px) 0 clamp(75px, 9vw, 125px); background:
  linear-gradient(90deg, rgba(4,4,4,.95), rgba(4,4,4,.55)),
  url('../images/banner/banner-1.jpg') center 43% / cover no-repeat;
  border-bottom: 1px solid var(--dfw-line);
}
.premium-page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #050505, transparent 60%); }
.premium-page-hero .container { position: relative; z-index: 1; }
.premium-page-hero h1 { max-width: 900px; margin-bottom: 19px; font-size: clamp(3.2rem, 8vw, 7rem); }
.premium-page-hero p { max-width: 760px; color: #c7c2b9; font-size: 1.05rem; }
.premium-page-hero__meta { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 30px; color: #a9a49b; font-size: .76rem; letter-spacing: .05em; }
.premium-page-hero__meta span { display: inline-flex; align-items: center; gap: 8px; }
.premium-page-hero__meta i { color: var(--dfw-gold); }
.premium-booking-page { padding-top: 45px; }
.premium-booking-page__grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 25px; align-items: start; }
.premium-booking-page__aside { position: sticky; top: 100px; padding: 38px 31px; }
.premium-booking-page__aside h2 { font-size: clamp(2rem, 3.4vw, 3.25rem); }
.premium-steps { display: grid; gap: 25px; padding: 0; margin: 32px 0 38px; list-style: none; }
.premium-steps li { display: grid; grid-template-columns: 43px 1fr; gap: 15px; }
.premium-steps li > span { width: 43px; height: 43px; display: grid; place-items: center; color: var(--dfw-gold-light); background: rgba(212,174,88,.08); border: 1px solid var(--dfw-line-gold); border-radius: 50%; font-family: Georgia, serif; font-size: .82rem; }
.premium-steps h3 { margin-bottom: 7px; font-family: inherit; font-size: .9rem; font-weight: 800; letter-spacing: 0; }
.premium-steps p { margin: 0; font-size: .78rem; }
.premium-booking-page__call { display: flex; align-items: center; gap: 13px; padding: 17px; background: rgba(212,174,88,.07); border: 1px solid var(--dfw-line-gold); border-radius: 12px; }
.premium-booking-page__call > i { color: var(--dfw-gold); font-size: 1.35rem; }
.premium-booking-page__call small { display: block; color: #88837a; font-size: .67rem; }
.premium-booking-page__call a { color: var(--dfw-white); font-family: Georgia, serif; font-size: 1.02rem; }
.premium-booking-page__form { padding: clamp(27px, 4vw, 48px); }
.premium-booking-trust { padding-top: 0; }
.premium-booking-trust .container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.premium-booking-trust .container > div { padding: 31px; background: #0e0e0e; border: 1px solid var(--dfw-line); border-radius: var(--dfw-radius-sm); }
.premium-booking-trust i { margin-bottom: 21px; color: var(--dfw-gold); font-size: 1.5rem; }
.premium-booking-trust h2 { margin-bottom: 10px; font-family: inherit; font-size: 1rem; font-weight: 800; }
.premium-booking-trust p { margin: 0; font-size: .82rem; }

/* Footer */
.premium-footer { position: relative; padding: 72px 0 24px; background: #030303; border-top: 1px solid var(--dfw-line); }
.premium-footer__top { display: flex; align-items: end; justify-content: space-between; gap: 50px; padding-bottom: 44px; margin-bottom: 48px; border-bottom: 1px solid var(--dfw-line); }
.premium-footer__top h2 { margin-bottom: 0; font-size: clamp(2.5rem, 4.7vw, 4.8rem); }
.premium-footer__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 11px; }
.premium-footer__grid { display: grid; grid-template-columns: 1.45fr .7fr .9fr 1.1fr; gap: 55px; }
.premium-footer h3 { margin-bottom: 16px; font-size: 1.55rem; }
.premium-footer h4 { margin-bottom: 20px; font-family: inherit; font-size: .73rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.premium-footer__brand p { max-width: 400px; font-size: .82rem; }
.premium-socials { display: flex; gap: 8px; margin-top: 23px; }
.premium-socials a { width: 38px; height: 38px; display: grid; place-items: center; color: #9a958c; border: 1px solid var(--dfw-line); border-radius: 50%; }
.premium-socials a:hover { color: #0a0804; background: var(--dfw-gold); border-color: var(--dfw-gold); transform: translateY(-3px); }
.premium-footer__links { display: grid; gap: 9px; padding: 0; margin: 0; list-style: none; }
.premium-footer__links a { color: #929087; font-size: .79rem; }
.premium-footer__links a:hover { color: var(--dfw-gold-light); padding-left: 4px; }
.premium-footer address { display: grid; gap: 11px; margin: 0; }
.premium-footer address p { display: grid; grid-template-columns: 20px 1fr; gap: 8px; margin: 0; color: #929087; font-size: .78rem; font-style: normal; }
.premium-footer address i { margin-top: 5px; color: var(--dfw-gold); }
.premium-legal { display: flex; gap: 15px; margin-top: 19px; }
.premium-legal a { color: #74716a; font-size: .72rem; }
.premium-footer__bottom { display: flex; justify-content: space-between; gap: 25px; padding-top: 25px; margin-top: 49px; border-top: 1px solid var(--dfw-line); }
.premium-footer__bottom p { margin: 0; color: #66635d; font-size: .68rem; }
.mobile-call-rail, .mobile-book-rail { display: none; }
.premium-drawer { color: var(--dfw-white); background: #090909; border-right: 1px solid var(--dfw-line); }
.premium-drawer .offcanvas-header { border-bottom: 1px solid var(--dfw-line); }
.premium-drawer .btn-close { filter: invert(1); }
.mobile-nav__item { border-bottom: 1px solid var(--dfw-line); }
.mobile-nav__row { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.mobile-nav__row > a { flex: 1; padding: 16px 0; color: #ddd8ce; font-size: .86rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.mobile-nav__row button { width: 38px; height: 38px; color: var(--dfw-gold); background: none; border: 0; }
.mobile-nav__submenu { display: none; padding: 0 0 15px 15px; }
.mobile-nav__submenu.is-open { display: grid; }
.mobile-nav__submenu a { padding: 7px 0; color: #938f87; font-size: .79rem; }

/* Generic legacy page cleanup */
.site-main > section:not(.premium-hero):not(.premium-section):not(.premium-page-hero):not(.premium-final-cta),
.site-main > div:not(.premium-hero):not(.premium-section) { color: var(--dfw-white); }
.site-main .container-fluid { background: transparent !important; }
.site-main .breadcrumb, .site-main .breadcrumb-area { background: #0b0b0b !important; }
.site-main .breadcrumb a { color: var(--dfw-gold-light) !important; }
.site-main .btn-common, .site-main .btn-warning, .site-main button[type="submit"] { border-radius: 999px; }
.site-main .btn-common { color: #0c0a05 !important; background: var(--dfw-gold) !important; border-color: var(--dfw-gold) !important; }
.site-main .accordion-button { color: var(--dfw-white) !important; background: #111 !important; box-shadow: none !important; }
.site-main .accordion-button:not(.collapsed) { color: var(--dfw-gold-light) !important; }
.site-main .accordion-body { color: #b0aba2 !important; background: #0b0b0b !important; }
.site-main .blog-details p, .site-main .service-details p, .site-main .area-details p, .site-main .fleet-details p,
.site-main .blog-details li, .site-main .service-details li, .site-main .area-details li, .site-main .fleet-details li { color: #bbb6ad !important; }
.site-main .blog-details h1, .site-main .blog-details h2, .site-main .blog-details h3,
.site-main .service-details h1, .site-main .service-details h2, .site-main .service-details h3,
.site-main .area-details h1, .site-main .area-details h2, .site-main .area-details h3,
.site-main .fleet-details h1, .site-main .fleet-details h2, .site-main .fleet-details h3 { color: var(--dfw-white) !important; }

/* Lightweight reveal animation */
.premium-reveal { opacity: 0; transform: translateY(26px); transition: opacity .65s ease var(--reveal-delay, 0ms), transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms); }
.premium-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1199px) {
  .luxury-navlinks { display: none; }
  .luxury-menu-toggle { display: grid; place-items: center; }
  .premium-card-grid--services, .premium-card-grid--fleet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .premium-booking-shell > .container { grid-template-columns: 1fr; }
  .premium-booking-shell__aside { display: grid; grid-template-columns: 1fr .8fr; gap: 30px; }
  .premium-check-list { margin-top: 0; }
  .premium-experience__grid { gap: 60px; }
  .premium-value-grid { grid-template-columns: 1fr; }
  .premium-value-grid > div { display: grid; grid-template-columns: 28px 1fr; column-gap: 12px; }
  .premium-value-grid i { grid-row: 1 / 3; }
  .premium-proof__grid { grid-template-columns: 1fr; }
  .premium-proof__stats > div:first-child { border-left: 0; }
  .premium-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .premium-footer__grid > div:nth-child(3) { display: none; }
  .premium-booking-page__grid { grid-template-columns: .72fr 1.28fr; }
}

@media (max-width: 991px) {
  .luxury-topbar__location, .luxury-topbar .service-open { display: none; }
  .luxury-topbar__inner { justify-content: center; }
  .luxury-navbar { height: 72px; }
  .luxury-brand { width: 145px; height: 54px; }
  .luxury-cta { display: none; }
  .premium-hero { min-height: 720px; }
  .premium-hero__veil { background: linear-gradient(90deg, rgba(3,3,3,.94), rgba(3,3,3,.57)), linear-gradient(0deg, #050505, transparent 43%); }
  .premium-hero__copy { max-width: 700px; }
  .premium-section__header { grid-template-columns: 1fr; gap: 20px; }
  .premium-experience__grid { grid-template-columns: 1fr; }
  .premium-experience__visual { max-width: 600px; min-height: 570px; }
  .premium-experience__visual > img { height: 570px; }
  .premium-experience__badge { right: -15px; }
  .premium-faq__grid { grid-template-columns: 1fr; }
  .premium-faq__intro { position: static; }
  .premium-final-cta .container { align-items: flex-start; flex-direction: column; }
  .premium-final-cta .container > div:last-child { justify-content: flex-start; }
  .premium-booking-page__grid { grid-template-columns: 1fr; }
  .premium-booking-page__aside { position: static; }
  .premium-booking-trust .container { grid-template-columns: 1fr; }
  .premium-footer__top { align-items: flex-start; flex-direction: column; }
  .premium-footer__actions { justify-content: flex-start; }
  .premium-footer__grid { grid-template-columns: 1.3fr 1fr; }
  .premium-footer__grid > div:nth-child(3) { display: block; }
  .premium-review-track { grid-auto-columns: minmax(320px, 47%); }
}

@media (max-width: 767px) {
  body { padding-bottom: 58px; }
  .container { width: min(calc(100% - 28px), var(--dfw-container)); }
  .luxury-topbar { min-height: 33px; }
  .luxury-topbar__inner { min-height: 33px; }
  .luxury-topbar__contact { width: 100%; justify-content: space-between; gap: 10px; }
  .luxury-topbar__contact a { font-size: .65rem; }
  .luxury-navbar__actions { gap: 7px; }
  .luxury-phone { width: 40px; height: 40px; }
  .premium-hero { min-height: 690px; }
  .premium-hero__content { align-items: flex-end; padding-bottom: 112px; }
  .premium-hero h1, .premium-hero h2 { font-size: clamp(2.65rem, 13vw, 4.35rem); }
  .premium-hero p { font-size: .93rem; }
  .premium-hero__actions .premium-btn { width: 100%; }
  .premium-hero__trust { gap: 13px 18px; margin-top: 26px; }
  .premium-hero__controls { bottom: 22px; }
  .premium-hero__scroll { display: none; }
  .premium-booking-shell { padding-top: 20px; }
  .premium-booking-shell__aside { display: block; padding: 30px 24px; }
  .premium-check-list { margin-top: 25px; }
  .premium-booking-shell__form, .premium-booking-page__form { padding: 24px 18px; }
  .booking-form__intro { grid-template-columns: 1fr; gap: 12px; }
  .booking-form__grid { grid-template-columns: 1fr; }
  .premium-field--wide { grid-column: auto; }
  .booking-form__submit { align-items: stretch; flex-direction: column; }
  .premium-btn--submit { width: 100%; min-width: 0; }
  .premium-card-grid--services, .premium-card-grid--fleet { grid-template-columns: 1fr; }
  .premium-card__body p { min-height: 0; }
  .premium-experience__visual { min-height: 450px; margin-right: 13px; }
  .premium-experience__visual > img { height: 450px; border-radius: 170px 170px 16px 16px; }
  .premium-experience__visual::after { border-radius: 170px 170px 16px 16px; }
  .premium-experience__badge { width: 115px; height: 115px; right: -7px; bottom: 20px; }
  .premium-experience__badge strong { font-size: 1.9rem; }
  .premium-value-grid { grid-template-columns: 1fr; }
  .premium-proof__stats { grid-template-columns: repeat(2, 1fr); }
  .premium-proof__stats > div:nth-child(3) { border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .premium-proof__stats > div:nth-child(4) { border-top: 1px solid rgba(255,255,255,.12); }
  .premium-review-track { grid-auto-columns: minmax(285px, 88%); }
  .premium-section__header--controls { grid-template-columns: 1fr; }
  .premium-carousel-controls { justify-content: flex-start; }
  .premium-final-cta .premium-btn { width: 100%; }
  .premium-final-cta .container > div:last-child { width: 100%; }
  .premium-page-hero { padding-top: 100px; }
  .premium-page-hero h1 { font-size: clamp(3rem, 15vw, 5rem); }
  .premium-footer__grid { grid-template-columns: 1fr; gap: 37px; }
  .premium-footer__bottom { flex-direction: column; }
  .mobile-call-rail, .mobile-book-rail { position: fixed; bottom: 0; z-index: 1040; width: 50%; height: 58px; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
  .mobile-call-rail { left: 0; color: var(--dfw-white); background: #111; border-top: 1px solid var(--dfw-line); }
  .mobile-book-rail { right: 0; color: #0c0a05; background: var(--dfw-gold); }
}

@media (max-width: 480px) {
  .luxury-topbar__contact a:first-of-type { display: none; }
  .luxury-topbar__contact { justify-content: center; }
  .premium-hero__trust span:nth-child(2) { display: none; }
  .premium-proof__stats > div { padding: 17px; }
  .booking-stop-actions { align-items: flex-start; flex-direction: column; gap: 5px; }
  .premium-card__body { padding: 22px 19px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .premium-reveal { opacity: 1; transform: none; }
}

.booking-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px 18px;
  margin: 0 0 22px;
  border: 1px solid var(--dfw-line);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  color: var(--dfw-white);
  font-size: .9rem;
}
.booking-notice i { margin-top: 4px; }
.booking-notice--success { border-color: rgba(84, 190, 126, .36); background: rgba(84, 190, 126, .08); }
.booking-notice--success i { color: #75d99b; }
.booking-notice--error { border-color: rgba(239, 107, 107, .36); background: rgba(239, 107, 107, .08); }
.booking-notice--error i { color: var(--dfw-danger); }

/* Defer below-the-fold paint work without hiding content from the HTML or crawlers. */
@supports (content-visibility: auto) {
  .site-main > section:nth-of-type(n+3),
  .premium-footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 900px;
  }
}

/* ================================================================
   DFW v1.5 — Booking address / Google Places visual hotfix
   Prevent repeated browser/Bootstrap validation icons and keep the
   Google prediction panel readable above the premium booking form.
   ================================================================ */
.premium-booking-form input[data-google-places],
.premium-booking-form input[data-google-places]:valid,
.premium-booking-form input[data-google-places]:invalid,
.premium-booking-form.was-validated input[data-google-places]:valid,
.premium-booking-form.was-validated input[data-google-places]:invalid,
.premium-booking-form.dfw-was-validated input[data-google-places]:valid,
.premium-booking-form.dfw-was-validated input[data-google-places]:invalid,
.site-main .premium-booking-form input[data-google-places] {
  background-color: #080808 !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: initial !important;
  background-size: 0 0 !important;
  padding-right: 15px !important;
  -webkit-appearance: none;
  appearance: none;
}

.premium-booking-form input[data-google-places]::-webkit-contacts-auto-fill-button,
.premium-booking-form input[data-google-places]::-webkit-credentials-auto-fill-button {
  visibility: hidden !important;
  display: none !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 0 !important;
}

/* Google appends this panel directly under <body>. */
.pac-container {
  z-index: 2147483647 !important;
  display: block !important;
  box-sizing: border-box !important;
  margin-top: 7px !important;
  overflow: hidden !important;
  color: #eee7dc !important;
  background: #111 !important;
  border: 1px solid rgba(212, 174, 88, .42) !important;
  border-radius: 12px !important;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .58) !important;
  font-family: inherit !important;
}

.pac-container:empty {
  display: none !important;
}

.pac-item {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 11px 15px !important;
  overflow: hidden !important;
  color: #aaa39a !important;
  background: #111 !important;
  border-top: 1px solid rgba(255, 255, 255, .07) !important;
  cursor: pointer !important;
  font-size: 13px !important;
  line-height: 24px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.pac-item:first-child {
  border-top: 0 !important;
}

.pac-item:hover,
.pac-item-selected {
  background: #1a1814 !important;
}

.pac-item-query {
  display: inline !important;
  color: #fff !important;
  font-size: 14px !important;
}

/* Hide Google's small sprite icon. It can be corrupted by old global CSS. */
.pac-icon {
  display: none !important;
}

.pac-matched {
  color: #e3bd67 !important;
  font-weight: 800 !important;
}

.pac-logo::after {
  opacity: .72 !important;
}

.dfw-was-validated .premium-field input:invalid,
.dfw-was-validated .premium-field select:invalid,
.dfw-was-validated .premium-field textarea:invalid {
  border-color: rgba(239, 107, 107, .78) !important;
  box-shadow: none !important;
}

/* ===== premium-v3.css ===== */
/* DFW Limo Black Car — Premium UI v1.7 */
:root{
  --dfw-black:#050505;
  --dfw-ink:#0b0b0d;
  --dfw-panel:#111114;
  --dfw-panel-2:#17171b;
  --dfw-gold:#d8ad55;
  --dfw-gold-light:#f1d38d;
  --dfw-gold-dark:#8f6724;
  --dfw-text:#f7f3ea;
  --dfw-muted:#b9b4aa;
  --dfw-line:rgba(216,173,85,.24);
  --dfw-shadow:0 28px 80px rgba(0,0,0,.42);
  --dfw-radius:24px;
}
html{scroll-behavior:smooth}
body{background:var(--dfw-black);color:var(--dfw-text);overflow-x:hidden}
main,#main-content{background:
  radial-gradient(circle at 8% 10%,rgba(216,173,85,.08),transparent 30rem),
  radial-gradient(circle at 90% 40%,rgba(216,173,85,.05),transparent 28rem),
  var(--dfw-black)}
a{text-decoration:none}
.df-muted{color:var(--dfw-muted)}
.df-eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--dfw-gold-light);font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.df-eyebrow:before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--dfw-gold))}
.df-section{position:relative;padding:clamp(64px,8vw,112px) 0;overflow:hidden}
.df-section--tight{padding:clamp(42px,6vw,78px) 0}
.df-section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:2rem;align-items:end;margin-bottom:2.5rem}
.df-section-head h2,.df-page-hero h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em}
.df-section-head h2{font-size:clamp(2.15rem,4.8vw,4.8rem);line-height:.98;margin:.75rem 0 0;color:#fff}
.df-section-head p{margin:0;color:var(--dfw-muted);font-size:1.02rem;line-height:1.8}
.df-page-hero{position:relative;min-height:390px;display:grid;align-items:end;padding:150px 0 72px;background:#070708;isolation:isolate;overflow:hidden}
.df-page-hero:before{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.7) 52%,rgba(0,0,0,.33) 100%),
 var(--dfw-page-image,linear-gradient(135deg,#171719,#050505));background-size:cover;background-position:center;z-index:-2;transform:scale(1.03);animation:dfwHeroDrift 14s ease-in-out infinite alternate}
.df-page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#050505 100%),radial-gradient(circle at 78% 35%,rgba(216,173,85,.18),transparent 30%);z-index:-1}
.df-page-hero__inner{max-width:850px}
.df-page-hero h1{font-size:clamp(2.7rem,6.2vw,6rem);line-height:.94;margin:.8rem 0 1.25rem;color:#fff;text-wrap:balance}
.df-page-hero p{max-width:700px;color:#d5d0c7;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75;margin:0}
.df-breadcrumb{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem;font-size:.82rem;color:#aaa49b}
.df-breadcrumb a{color:var(--dfw-gold-light)}
.df-breadcrumb i{font-size:.62rem;color:#706b63}

/* Hero redesign */
.premium-hero{min-height:min(920px,100svh);background:#030303}
.premium-hero__slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.88)),linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.58) 52%,rgba(0,0,0,.12) 100%);pointer-events:none}
.premium-hero__slide img{filter:saturate(.82) contrast(1.06)}
.premium-hero__content{z-index:3;position:relative;display:flex;align-items:center;min-height:min(920px,100svh);padding-top:110px;padding-bottom:110px}
.premium-hero__copy{max-width:780px;padding:0;background:none;border:0;box-shadow:none}
.premium-hero__copy h1,.premium-hero__copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.1rem,7.4vw,7.7rem);font-weight:500;letter-spacing:-.055em;line-height:.84;max-width:900px;margin:.8rem 0 1.5rem;color:#fff;text-wrap:balance;text-shadow:0 12px 40px rgba(0,0,0,.45)}
.premium-hero__copy h1 em,.premium-hero__copy h2 em{font-style:italic;color:var(--dfw-gold-light)}
.premium-hero__copy>p{max-width:650px;font-size:clamp(1.02rem,1.45vw,1.2rem);line-height:1.78;color:#ded8cd;margin-bottom:1.8rem}
.df-hero-badge{display:inline-flex;align-items:center;gap:.7rem;padding:.6rem .9rem;border:1px solid rgba(216,173,85,.35);background:rgba(7,7,7,.52);backdrop-filter:blur(14px);border-radius:999px;color:var(--dfw-gold-light);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.df-hero-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#65d88c;box-shadow:0 0 0 6px rgba(101,216,140,.12);animation:dfwPulse 2s infinite}
.df-hero-service-line{display:flex;align-items:center;gap:1rem;margin-top:1.4rem;color:#ded8cd;font-size:.9rem;letter-spacing:.04em}
.df-hero-service-line span{display:inline-flex;align-items:center;gap:.45rem}
.df-hero-service-line i{color:var(--dfw-gold)}
.premium-hero__actions{gap:.8rem;flex-wrap:wrap}
.premium-btn,.fleet-book-btn .btn,.book-now-btns .btn,.comment-button .btn,.contact-form button{position:relative;isolation:isolate;overflow:hidden;border-radius:999px!important;font-weight:800;letter-spacing:.045em;transition:transform .3s ease,box-shadow .3s ease,color .3s ease,background .3s ease,border-color .3s ease}
.premium-btn--gold,.fleet-book-btn .btn,.book-now-btns .btn,.contact-form button,.df-btn-gold{color:#0b0905!important;background:linear-gradient(135deg,var(--dfw-gold-light),var(--dfw-gold) 55%,#b07e2d)!important;border:1px solid #f0d18b!important;box-shadow:0 14px 34px rgba(216,173,85,.2)}
.premium-btn--gold:hover,.fleet-book-btn .btn:hover,.book-now-btns .btn:hover,.contact-form button:hover,.df-btn-gold:hover{color:#050505!important;transform:translateY(-3px);box-shadow:0 22px 44px rgba(216,173,85,.3)}
.premium-btn--ghost,.premium-btn--glass{color:#fff!important;background:rgba(13,13,15,.55)!important;border:1px solid rgba(255,255,255,.22)!important;backdrop-filter:blur(14px)}
.premium-btn--ghost:hover,.premium-btn--glass:hover{border-color:var(--dfw-gold)!important;color:var(--dfw-gold-light)!important;transform:translateY(-3px)}
.premium-hero__trust{margin-top:2rem;display:flex;gap:.65rem;flex-wrap:wrap}
.premium-hero__trust span{min-width:130px;padding:.85rem 1rem;background:rgba(8,8,8,.5);border:1px solid rgba(255,255,255,.11);border-radius:14px;backdrop-filter:blur(12px);color:#cfc9be}
.premium-hero__trust strong{color:var(--dfw-gold-light)}
.df-hero-sidecard{position:absolute;right:max(24px,calc((100vw - 1320px)/2));bottom:120px;z-index:4;width:min(330px,30vw);padding:1.25rem;border:1px solid rgba(216,173,85,.28);border-radius:22px;background:rgba(8,8,10,.62);backdrop-filter:blur(18px);box-shadow:var(--dfw-shadow)}
.df-hero-sidecard__top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}
.df-hero-sidecard__top strong{font-family:Georgia,serif;font-size:1.35rem;color:#fff}.df-hero-sidecard__top span{font-size:.75rem;color:var(--dfw-gold-light);text-transform:uppercase;letter-spacing:.12em}
.df-hero-route{display:grid;grid-template-columns:12px 1fr;gap:.8rem;padding-top:1rem}.df-hero-route__rail{display:flex;flex-direction:column;align-items:center}.df-hero-route__rail:before,.df-hero-route__rail:after{content:"";width:8px;height:8px;border-radius:50%;border:2px solid var(--dfw-gold)}.df-hero-route__rail span{height:38px;width:1px;background:linear-gradient(var(--dfw-gold),rgba(216,173,85,.18))}.df-hero-route__text{display:grid;gap:1.2rem;color:#eee}.df-hero-route__text small{display:block;color:#8e8981;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.12rem}
.premium-hero__controls{z-index:6}

/* Grids and premium cards */
.df-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}
.df-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.df-lux-card{position:relative;background:linear-gradient(145deg,rgba(25,25,28,.97),rgba(9,9,10,.98));border:1px solid rgba(255,255,255,.09);border-radius:var(--dfw-radius);overflow:hidden;box-shadow:0 18px 55px rgba(0,0,0,.28);transform:translateZ(0);transition:transform .5s cubic-bezier(.2,.75,.2,1),border-color .5s,box-shadow .5s}
.df-lux-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(145deg,rgba(241,211,141,.55),transparent 35%,transparent 70%,rgba(216,173,85,.2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.35;pointer-events:none;transition:opacity .4s}
.df-lux-card:hover{transform:translateY(-10px);border-color:rgba(216,173,85,.42);box-shadow:0 35px 90px rgba(0,0,0,.52)}
.df-lux-card:hover:before{opacity:1}
.df-lux-card__media{position:relative;display:block;aspect-ratio:1.48/1;overflow:hidden;background:#0b0b0c}
.df-lux-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,4,4,.88));transition:opacity .4s}
.df-lux-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.18,.72,.2,1),filter .5s;filter:saturate(.85)}
.df-lux-card:hover .df-lux-card__media img{transform:scale(1.08);filter:saturate(1)}
.df-lux-card__index{position:absolute;top:1rem;right:1rem;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(5,5,5,.72);border:1px solid rgba(216,173,85,.35);color:var(--dfw-gold-light);font-size:.75rem;backdrop-filter:blur(10px)}
.df-lux-card__body{padding:1.35rem 1.35rem 1.5rem}
.df-lux-card__body h2,.df-lux-card__body h3{font-family:Georgia,serif;font-size:1.5rem;line-height:1.2;margin:0 0 .7rem;color:#fff}
.df-lux-card__body h2 a,.df-lux-card__body h3 a{color:inherit}
.df-lux-card__body p{color:var(--dfw-muted);line-height:1.7;margin:0 0 1rem;font-size:.93rem}
.df-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}
.df-card-meta span{color:var(--dfw-gold-light);font-size:.82rem;font-weight:700}.df-card-meta a{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-size:.82rem;font-weight:800}.df-card-meta a i{transition:transform .3s}.df-card-meta a:hover i{transform:translateX(4px)}
.df-chip-row{display:flex;flex-wrap:wrap;gap:.55rem}
.df-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border:1px solid rgba(216,173,85,.28);background:rgba(216,173,85,.07);border-radius:999px;color:#f3e4bf!important;font-size:.78rem!important;line-height:1.2!important;opacity:1!important;visibility:visible!important}
.df-chip i{color:var(--dfw-gold)}

/* Detail pages */
.df-detail{padding:clamp(48px,7vw,96px) 0}
.df-detail-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:2rem;align-items:stretch}
.df-detail-media{position:relative;min-height:520px;border-radius:28px;overflow:hidden;background:#101012;border:1px solid var(--dfw-line);box-shadow:var(--dfw-shadow)}
.df-detail-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.df-detail-media:hover img{transform:scale(1.035)}
.df-detail-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(0,0,0,.75))}
.df-detail-panel{padding:clamp(1.5rem,4vw,3rem);background:linear-gradient(145deg,#17171a,#0b0b0c);border:1px solid rgba(216,173,85,.22);border-radius:28px;box-shadow:var(--dfw-shadow);display:flex;flex-direction:column;justify-content:center}
.df-detail-panel h1,.df-detail-panel h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4.4rem);line-height:1;margin:.75rem 0 1.1rem;color:#fff}
.df-detail-panel p,.df-rich-content{color:#c9c4ba;line-height:1.85}
.df-detail-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.df-rate-card{margin:1.25rem 0;padding:1rem;border:1px solid rgba(216,173,85,.22);background:rgba(216,173,85,.055);border-radius:18px}
.df-rate-table{width:100%;color:#eee;border-collapse:collapse}.df-rate-table th,.df-rate-table td{padding:.7rem;border-bottom:1px solid rgba(255,255,255,.08);font-size:.88rem}.df-rate-table th{color:var(--dfw-gold-light);font-weight:700}.df-rate-table tr:last-child th,.df-rate-table tr:last-child td{border-bottom:0}
.df-content-split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.df-content-card{padding:clamp(1.4rem,3vw,2.5rem);border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(145deg,#151518,#0b0b0d);overflow:hidden}.df-content-card h2,.df-content-card h3{font-family:Georgia,serif;color:#fff}.df-content-card img{width:100%;height:100%;min-height:360px;object-fit:cover;border-radius:18px}
.df-rich-content h2,.df-rich-content h3,.df-rich-content h4{color:#fff;margin-top:1.5em}.df-rich-content a{color:var(--dfw-gold-light)}.df-rich-content li{margin:.4rem 0}.df-rich-content strong{color:#fff}

/* Blog */
.df-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.df-blog-card:first-child{grid-column:span 2}.df-blog-card:first-child .df-lux-card__media{aspect-ratio:2.2/1}.df-blog-card__date{display:inline-flex;align-items:center;gap:.45rem;color:var(--dfw-gold-light);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.7rem}
.df-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:2rem;align-items:start}.df-article{border:1px solid rgba(255,255,255,.08);border-radius:28px;background:#0d0d0f;overflow:hidden;box-shadow:var(--dfw-shadow)}.df-article__hero{aspect-ratio:1.8/1;overflow:hidden}.df-article__hero img{width:100%;height:100%;object-fit:cover}.df-article__body{padding:clamp(1.5rem,5vw,4rem)}.df-article__body h1{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,5rem);line-height:1.02;color:#fff;margin:.6rem 0 1.4rem}.df-article__body p{color:#c9c4bb;line-height:1.9}.df-article__body h2,.df-article__body h3{color:#fff;font-family:Georgia,serif;margin-top:1.6em}.df-article__body img{max-width:100%;height:auto;border-radius:18px}.df-article__body a{color:var(--dfw-gold-light)}
.df-sidebar{position:sticky;top:110px;display:grid;gap:1rem}.df-sidebar-card{padding:1.25rem;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#111113}.df-sidebar-card h3{font-family:Georgia,serif;color:#fff;margin:0 0 1rem}.df-mini-card{display:grid;grid-template-columns:86px 1fr;gap:.85rem;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.df-mini-card:last-child{border-bottom:0}.df-mini-card img{width:86px;height:72px;object-fit:cover;border-radius:12px}.df-mini-card a{color:#fff;font-weight:700;font-size:.88rem;line-height:1.35}.df-mini-card small{color:#8f8a82}

/* Comments */
.df-comments{margin-top:1.5rem;padding:clamp(1.25rem,4vw,2.5rem);border:1px solid rgba(255,255,255,.08);border-radius:24px;background:#0e0e10}.df-comments__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.df-comments__head h2{font-family:Georgia,serif;color:#fff;margin:0}.df-comment{padding:1.15rem;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#151517;margin-top:.85rem;animation:dfwCommentIn .45s ease both}.df-comment__top{display:flex;justify-content:space-between;gap:1rem;align-items:center}.df-comment__author{display:flex;align-items:center;gap:.75rem}.df-comment__avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--dfw-gold-light),var(--dfw-gold-dark));color:#090806;font-weight:900}.df-comment__author strong{color:#fff}.df-comment__author small{display:block;color:#89847c}.df-comment__text{color:#cec8bf;line-height:1.7;margin:.9rem 0}.df-comment__actions{display:flex;gap:.5rem}.df-vote-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#0d0d0e;color:#bcb7ae;font-size:.78rem;transition:.25s}.df-vote-btn:hover,.df-vote-btn.is-active{color:#070706;background:var(--dfw-gold-light);border-color:var(--dfw-gold-light)}.df-comment__reply{margin-top:1rem;margin-left:2rem;padding:1rem;border-left:2px solid var(--dfw-gold);background:rgba(216,173,85,.05);border-radius:0 14px 14px 0;color:#cfc8bd}.df-comment-form{margin-top:1.25rem;padding:clamp(1.25rem,4vw,2rem);border:1px solid rgba(216,173,85,.18);border-radius:22px;background:linear-gradient(145deg,#161619,#0b0b0c)}.df-comment-form h3{font-family:Georgia,serif;color:#fff}.df-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.df-field{display:grid;gap:.45rem}.df-field--full{grid-column:1/-1}.df-field label{color:#ddd7cc;font-size:.84rem;font-weight:700}.df-field input,.df-field textarea,.df-field select{width:100%;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#09090a;color:#fff;outline:none;transition:.25s}.df-field input:focus,.df-field textarea:focus,.df-field select:focus{border-color:var(--dfw-gold);box-shadow:0 0 0 4px rgba(216,173,85,.1)}.df-form-status{min-height:24px;margin-top:.7rem;color:var(--dfw-gold-light);font-size:.88rem}

/* Contact */
.df-contact-grid{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:1.5rem}.df-contact-info,.df-contact-form{border:1px solid rgba(255,255,255,.08);border-radius:28px;background:linear-gradient(145deg,#171719,#0b0b0d);box-shadow:var(--dfw-shadow)}.df-contact-info{padding:clamp(1.5rem,4vw,3rem);display:grid;align-content:start;gap:1rem}.df-contact-item{display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:start;padding:1rem;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}.df-contact-item i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#0a0804;background:linear-gradient(135deg,var(--dfw-gold-light),var(--dfw-gold))}.df-contact-item h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dfw-gold-light);margin:0 0 .3rem}.df-contact-item p,.df-contact-item a{color:#d5cfc4;margin:0;line-height:1.55}.df-contact-form{padding:clamp(1.5rem,4vw,3rem)}.df-contact-form h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.8rem);color:#fff}.df-contact-form button{padding:.95rem 1.5rem}.df-notice{padding:1rem 1.1rem;border-radius:14px;margin-bottom:1rem}.df-notice--success{background:rgba(77,190,117,.12);border:1px solid rgba(77,190,117,.35);color:#b8f0cb}.df-notice--error{background:rgba(230,85,85,.1);border:1px solid rgba(230,85,85,.3);color:#ffc1c1}.df-map{margin-top:1.5rem;border-radius:28px;overflow:hidden;border:1px solid var(--dfw-line);min-height:480px;box-shadow:var(--dfw-shadow)}.df-map iframe{display:block;width:100%;height:480px;border:0;filter:grayscale(.7) invert(.88) contrast(1.1)}

/* Reveal and motion */
[data-dfw-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}[data-dfw-reveal].is-visible{opacity:1;transform:none}
[data-dfw-stagger]>*{opacity:0;transform:translateY(28px)}[data-dfw-stagger].is-visible>*{animation:dfwRise .65s ease forwards}[data-dfw-stagger].is-visible>*:nth-child(2){animation-delay:.08s}[data-dfw-stagger].is-visible>*:nth-child(3){animation-delay:.16s}[data-dfw-stagger].is-visible>*:nth-child(4){animation-delay:.24s}[data-dfw-stagger].is-visible>*:nth-child(5){animation-delay:.32s}[data-dfw-stagger].is-visible>*:nth-child(6){animation-delay:.4s}
@keyframes dfwRise{to{opacity:1;transform:none}}@keyframes dfwHeroDrift{to{transform:scale(1.08) translate3d(-1%,1%,0)}}@keyframes dfwPulse{50%{box-shadow:0 0 0 10px rgba(101,216,140,0)}}@keyframes dfwCommentIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:1100px){.df-card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.df-hero-sidecard{display:none}.df-detail-grid,.df-blog-layout{grid-template-columns:1fr}.df-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.premium-hero__copy h1,.premium-hero__copy h2{font-size:clamp(3rem,9vw,6rem)}}
@media(max-width:1120px) and (min-width:821px){
  .df-blog-editorial{grid-template-columns:repeat(2,minmax(0,1fr))}
  .df-blog-story.is-featured{grid-column:1/-1}
}

@media(max-width:820px){.df-section-head{grid-template-columns:1fr}.df-card-grid,.df-blog-grid,.df-contact-grid,.df-content-split{grid-template-columns:1fr}.df-blog-card:first-child{grid-column:auto}.df-blog-card:first-child .df-lux-card__media{aspect-ratio:1.48/1}.df-detail-media{min-height:390px}.df-sidebar{grid-template-columns:1fr}.df-page-hero{min-height:340px;padding-top:130px}.premium-hero__content{align-items:flex-end;min-height:840px;padding-bottom:125px}.premium-hero__trust{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.premium-hero__trust span{min-width:0;padding:.7rem;font-size:.72rem}.df-hero-service-line{display:none}}
@media(max-width:560px){.df-section{padding:58px 0}.df-card-grid--4{grid-template-columns:1fr}.df-form-grid{grid-template-columns:1fr}.df-field--full{grid-column:auto}.premium-hero__copy h1,.premium-hero__copy h2{font-size:clamp(2.75rem,15vw,4.7rem);line-height:.9}.premium-hero__copy>p{font-size:.96rem}.premium-hero__actions{display:grid;grid-template-columns:1fr}.premium-hero__actions .premium-btn{justify-content:center}.premium-hero__trust{grid-template-columns:1fr 1fr}.premium-hero__trust span:last-child{grid-column:1/-1}.df-detail-panel{padding:1.35rem}.df-detail-media{min-height:290px}.df-comment__top{align-items:flex-start;flex-direction:column}.df-comment__reply{margin-left:.5rem}.df-map,.df-map iframe{min-height:380px;height:380px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-dfw-reveal],[data-dfw-stagger]>*{opacity:1!important;transform:none!important}}

/* ===== premium-v4.css ===== */
/* DFW Limo Black Car — Mobile-first premium refinement v1.8 */
:root{
  --dfw-v4-gold:#dcb35d;
  --dfw-v4-gold-soft:#f3d895;
  --dfw-v4-surface:#0d0d0f;
  --dfw-v4-line:rgba(242,211,142,.2);
}

/* Homepage hero — restrained editorial luxury */
.premium-hero--signature{
  min-height:clamp(720px,92svh,900px);
  isolation:isolate;
  overflow:hidden;
  border-bottom:1px solid rgba(242,211,142,.13);
}
.premium-hero--signature:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/88px 100%,
    radial-gradient(circle at 68% 38%,rgba(220,179,93,.12),transparent 27%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46));
  mix-blend-mode:screen;
  opacity:.55;
}
.premium-hero--signature:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:150px;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,#050505 92%);
}
.premium-hero--signature .premium-hero__slide:after{
  background:
    linear-gradient(90deg,rgba(2,2,3,.94) 0%,rgba(3,3,4,.84) 35%,rgba(4,4,5,.34) 68%,rgba(2,2,2,.55) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.74));
}
.premium-hero--signature .premium-hero__slide>img{
  filter:saturate(.72) contrast(1.08) brightness(.82);
  object-position:center 46%;
}
.premium-hero--signature .premium-hero__slide.is-active>img{
  animation:dfwSignatureImage 7.2s cubic-bezier(.16,.8,.18,1) both;
}
.premium-hero--signature .premium-hero__content{
  min-height:clamp(720px,92svh,900px);
  padding-top:130px;
  padding-bottom:150px;
  align-items:center;
}
.premium-hero--signature .premium-hero__copy{
  width:min(690px,58vw);
  max-width:none;
}
.df-signature-eyebrow{
  display:flex;
  align-items:center;
  gap:.85rem;
  color:rgba(255,255,255,.68);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.df-signature-eyebrow__line{width:52px;height:1px;background:linear-gradient(90deg,var(--dfw-v4-gold),transparent)}
.premium-hero--signature .df-hero-badge{
  padding:.52rem .76rem;
  background:rgba(7,7,8,.4);
  font-size:.67rem;
  letter-spacing:.15em;
}
.premium-hero--signature .premium-hero__copy h1,
.premium-hero--signature .premium-hero__copy h2{
  max-width:740px;
  margin:1.15rem 0 1.35rem;
  font-size:clamp(3.25rem,6.35vw,6.55rem);
  line-height:.91;
  letter-spacing:-.052em;
  text-shadow:0 18px 60px rgba(0,0,0,.52);
}
.premium-hero--signature .premium-hero__copy h1 em,
.premium-hero--signature .premium-hero__copy h2 em{
  position:relative;
  color:var(--dfw-v4-gold-soft);
  font-weight:400;
}
.premium-hero--signature .premium-hero__copy h1 em:after,
.premium-hero--signature .premium-hero__copy h2 em:after{
  content:"";
  position:absolute;
  left:.04em;right:.04em;bottom:-.04em;height:1px;
  background:linear-gradient(90deg,transparent,var(--dfw-v4-gold),transparent);
  transform:scaleX(0);
  transform-origin:left;
}
.premium-hero--signature .premium-hero__slide.is-active h1 em:after,
.premium-hero--signature .premium-hero__slide.is-active h2 em:after{animation:dfwSignatureLine 1.1s .7s ease forwards}
.premium-hero--signature .premium-hero__copy>p{
  max-width:585px;
  margin-bottom:1.65rem;
  color:rgba(245,240,231,.77);
  font-size:clamp(.98rem,1.2vw,1.12rem);
  line-height:1.75;
}
.premium-hero--signature .premium-hero__actions{display:flex;align-items:center;gap:.75rem}
.premium-hero--signature .premium-btn{min-height:50px;padding:.85rem 1.25rem}
.df-signature-proof{
  display:flex;
  align-items:stretch;
  gap:0;
  width:max-content;
  max-width:100%;
  margin-top:1.55rem;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.df-signature-proof span{
  min-width:128px;
  padding:.82rem 1.35rem .82rem 0;
  margin-right:1.35rem;
  border-right:1px solid rgba(255,255,255,.1);
}
.df-signature-proof span:last-child{margin-right:0;border-right:0}
.df-signature-proof strong{display:block;color:#fff;font-family:Georgia,serif;font-size:1.18rem;font-weight:500}
.df-signature-proof small{display:block;margin-top:.1rem;color:#8e8980;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}

.df-signature-panel{
  position:absolute;
  right:max(28px,calc((100vw - 1320px)/2));
  top:50%;
  z-index:5;
  width:min(320px,29vw);
  transform:translateY(-42%);
  padding:1.4rem;
  overflow:hidden;
  border:1px solid rgba(242,211,142,.25);
  border-radius:26px;
  background:linear-gradient(155deg,rgba(23,23,25,.8),rgba(7,7,8,.72));
  box-shadow:0 32px 100px rgba(0,0,0,.5);
  backdrop-filter:blur(22px) saturate(1.15);
}
.df-signature-panel:before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.05);border-radius:20px;pointer-events:none}
.df-signature-panel__glow{position:absolute;right:-80px;top:-100px;width:220px;height:220px;border-radius:50%;background:rgba(220,179,93,.16);filter:blur(35px)}
.df-signature-panel__head{position:relative;display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);color:var(--dfw-v4-gold-soft);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.df-signature-panel__head i{font-size:1rem}
.df-signature-panel__title{position:relative;margin:1.2rem 0 1.35rem;color:#fff;font-family:Georgia,serif;font-size:clamp(1.65rem,2.25vw,2.2rem);line-height:1.04;letter-spacing:-.035em}
.df-signature-panel__title em{color:var(--dfw-v4-gold-soft);font-weight:400}
.df-signature-route{position:relative;display:grid;gap:0}
.df-signature-route>div{display:grid;grid-template-columns:18px 1fr;gap:.7rem;min-height:58px}
.df-signature-route>div:first-child:after{content:"";position:absolute;left:5px;top:11px;height:55px;width:1px;background:linear-gradient(var(--dfw-v4-gold),rgba(220,179,93,.12))}
.df-signature-route__dot{position:relative;z-index:1;width:11px;height:11px;margin-top:4px;border:2px solid var(--dfw-v4-gold);border-radius:50%;background:#0b0b0c;box-shadow:0 0 0 5px rgba(220,179,93,.08)}
.df-signature-route p{margin:0;color:#f4efe5;font-size:.88rem}.df-signature-route small{display:block;margin-bottom:.12rem;color:#7f7a72;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.df-signature-panel__foot{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08)}
.df-signature-panel__foot span{display:flex;align-items:center;gap:.35rem;color:#98938b;font-size:.65rem}.df-signature-panel__foot i{color:var(--dfw-v4-gold)}

.df-signature-controls{
  position:absolute;
  left:50%;bottom:52px;
  z-index:7;
  display:flex;
  align-items:center;
  gap:.75rem;
  transform:translateX(-50%);
}
.df-signature-count{display:flex;align-items:baseline;gap:.25rem;min-width:55px;color:#837d73;font-size:.7rem}.df-signature-count strong{color:#fff;font-family:Georgia,serif;font-size:1.25rem;font-weight:400}
.df-signature-progress{position:relative;width:110px;height:1px;overflow:hidden;background:rgba(255,255,255,.16)}
.df-signature-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--dfw-v4-gold),var(--dfw-v4-gold-soft));transform:scaleX(0);transform-origin:left}
.premium-hero--signature.is-progressing .df-signature-progress span{animation:dfwHeroProgress 6.5s linear forwards}
.df-signature-controls .premium-hero__dots{display:flex;gap:.4rem}
.df-signature-controls .premium-hero__dots button{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.25)}
.df-signature-controls .premium-hero__dots button.is-active{width:22px;border-radius:999px;background:var(--dfw-v4-gold)}
.df-signature-controls>[data-hero-prev],.df-signature-controls>[data-hero-next]{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(10,10,11,.52);color:#fff;transition:.25s}
.df-signature-controls>[data-hero-prev]:hover,.df-signature-controls>[data-hero-next]:hover{border-color:var(--dfw-v4-gold);color:var(--dfw-v4-gold);transform:translateY(-2px)}
.premium-hero--signature .premium-hero__scroll{right:max(25px,calc((100vw - 1320px)/2));bottom:40px;z-index:7;color:#aaa49b}

/* Reduce the large empty seam visible between homepage booking and services */
.premium-booking-shell--compact{padding-bottom:clamp(38px,5vw,66px)!important}
.premium-booking-shell--compact+.premium-services{padding-top:clamp(48px,5.5vw,78px)!important}
.premium-booking-shell--compact>.container{gap:20px}
.premium-booking-shell--compact .premium-booking-shell__aside,
.premium-booking-shell--compact .premium-booking-shell__form{align-self:stretch}

/* Contact and comment form spacing */
.df-contact-section{padding-top:clamp(52px,6vw,84px)}
.df-contact-info h2{margin:.15rem 0 .3rem;font-family:Georgia,serif;color:#fff;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1}
.df-contact-form{padding:clamp(1.45rem,3.5vw,3.15rem)!important}
.df-contact-form__intro{padding-bottom:1.45rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.df-contact-form__intro h2{margin:.5rem 0 .65rem!important;line-height:1.02}
.df-contact-form__intro p{margin:0;max-width:680px;line-height:1.7}
.df-contact-form__fields{display:grid;gap:1.4rem}
.df-contact-form__fields .df-form-grid{gap:1.15rem 1rem}
.df-contact-form__fields .df-field{gap:.55rem}
.df-contact-form__fields input,.df-contact-form__fields textarea{min-height:52px}
.df-contact-form__fields textarea{min-height:170px;resize:vertical}
.df-contact-form__actions{display:flex;align-items:center;gap:1rem;padding-top:.15rem}
.df-contact-form__actions button{min-height:50px;padding:.95rem 1.45rem!important;margin:0!important}
.df-contact-form__actions span{display:flex;align-items:center;gap:.4rem;color:#817c74;font-size:.76rem}
.df-contact-form__actions span i{color:var(--dfw-v4-gold)}

.df-comment-form{padding:clamp(1.45rem,3.5vw,2.5rem)!important}
.df-comment-form__intro{padding-bottom:1.2rem;margin-bottom:1.35rem;border-bottom:1px solid rgba(255,255,255,.08)}
.df-comment-form__intro h3{margin:.45rem 0 .35rem;font-size:clamp(1.8rem,3vw,2.55rem)}
.df-comment-form__intro p{margin:0;line-height:1.65}
.df-comment-form form{display:grid;gap:1.25rem}
.df-comment-form .df-form-grid{gap:1.05rem}
.df-comment-form .df-field{gap:.55rem}
.df-comment-form textarea{min-height:145px;resize:vertical}
.df-comment-form__actions{display:flex;align-items:center;gap:1rem}
.df-comment-form__actions .premium-btn{min-height:48px;margin:0!important;padding:.85rem 1.25rem!important}
.df-comment-form__actions>span{display:flex;align-items:center;gap:.4rem;color:#817c74;font-size:.75rem}
.df-comment-form__actions>span i{color:var(--dfw-v4-gold)}
.df-form-status{margin-top:0!important}

/* About page */
.df-about-hero{min-height:clamp(440px,66svh,690px)}
.df-about-story{padding-bottom:clamp(72px,8vw,118px)}
.df-about-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:-1px;margin-bottom:clamp(62px,7vw,105px)}
.df-about-intro article{position:relative;padding:1.5rem 1.55rem 1.7rem;border-top:1px solid var(--dfw-v4-line);border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,rgba(220,179,93,.045),transparent)}
.df-about-intro strong{position:absolute;right:1.2rem;top:1rem;color:rgba(242,211,142,.22);font-family:Georgia,serif;font-size:2.6rem;font-weight:400}
.df-about-intro span{display:block;margin-bottom:.6rem;color:#fff;font-family:Georgia,serif;font-size:1.45rem}
.df-about-intro p{max-width:310px;margin:0;color:#9f9a91;font-size:.9rem;line-height:1.7}
.df-about-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.df-about-copy h2{max-width:620px;margin:.8rem 0 1.5rem;color:#fff;font-family:Georgia,serif;font-size:clamp(2.5rem,5.3vw,5.2rem);line-height:.97;letter-spacing:-.045em}
.df-about-copy .df-rich-content{color:#bbb5ac;font-size:1rem;line-height:1.9}
.df-about-copy .df-rich-content>*:first-child{margin-top:0}
.df-about-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.df-about-visual{position:relative;min-height:650px}
.df-about-visual__main{position:absolute;left:0;top:0;width:72%;height:86%;margin:0;overflow:hidden;border-radius:30px;border:1px solid rgba(255,255,255,.09);box-shadow:0 35px 100px rgba(0,0,0,.5)}
.df-about-visual__secondary{position:absolute;right:0;bottom:0;width:44%;height:49%;margin:0;overflow:hidden;border:10px solid #050505;border-radius:24px;box-shadow:0 28px 70px rgba(0,0,0,.45)}
.df-about-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05);transition:transform 1s cubic-bezier(.2,.75,.2,1)}
.df-about-visual:hover img{transform:scale(1.035)}
.df-about-seal{position:absolute;right:15%;top:11%;display:grid;place-items:center;width:158px;height:158px;padding:1.2rem;text-align:center;border:1px solid rgba(242,211,142,.35);border-radius:50%;background:rgba(7,7,8,.78);box-shadow:0 22px 55px rgba(0,0,0,.45);backdrop-filter:blur(16px)}
.df-about-seal:before{content:"";position:absolute;inset:7px;border:1px dashed rgba(242,211,142,.25);border-radius:50%}
.df-about-seal i{color:var(--dfw-v4-gold);font-size:.82rem}.df-about-seal strong{position:relative;color:#fff;font-family:Georgia,serif;font-size:.95rem;line-height:1.15}.df-about-seal span{position:relative;color:#8e8980;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}
.df-about-values{background:linear-gradient(180deg,#080809,#050505)}
.df-about-values__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.df-about-values__grid article{position:relative;padding:clamp(1.4rem,3vw,2.35rem);overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(145deg,#151518,#09090a);transition:.4s}
.df-about-values__grid article:after{content:"";position:absolute;right:-65px;bottom:-70px;width:150px;height:150px;border-radius:50%;background:rgba(220,179,93,.09);filter:blur(10px);transition:.45s}
.df-about-values__grid article:hover{transform:translateY(-8px);border-color:rgba(220,179,93,.4)}
.df-about-values__grid article:hover:after{transform:scale(1.35)}
.df-about-values__grid i{display:grid;place-items:center;width:48px;height:48px;margin-bottom:1.2rem;border:1px solid rgba(220,179,93,.34);border-radius:50%;color:var(--dfw-v4-gold-soft)}
.df-about-values__grid h3{margin:0 0 .65rem;color:#fff;font-family:Georgia,serif;font-size:1.5rem}.df-about-values__grid p{margin:0;color:#9e9990;line-height:1.7}

/* Blog index */
.df-blog-hero{min-height:clamp(420px,62svh,650px)}
.df-blog-index{padding-top:clamp(58px,7vw,95px)}
.df-blog-index__head{margin-bottom:clamp(2rem,4vw,3.4rem)}
.df-blog-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.df-blog-story{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:26px;background:linear-gradient(145deg,#151518,#09090a);box-shadow:0 22px 65px rgba(0,0,0,.28);transition:transform .45s cubic-bezier(.2,.75,.2,1),border-color .4s,box-shadow .4s}
.df-blog-story:hover{transform:translateY(-8px);border-color:rgba(220,179,93,.38);box-shadow:0 36px 90px rgba(0,0,0,.46)}
.df-blog-story.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);min-height:500px}
.df-blog-story__media{position:relative;display:block;min-height:260px;overflow:hidden;background:#09090a}
.df-blog-story.is-featured .df-blog-story__media{min-height:500px}
.df-blog-story__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(4,4,5,.78));pointer-events:none}
.df-blog-story__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform .9s cubic-bezier(.2,.75,.2,1),filter .45s}
.df-blog-story:hover .df-blog-story__media img{transform:scale(1.055);filter:saturate(1)}
.df-blog-story__number{position:absolute;right:1rem;top:1rem;z-index:2;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(242,211,142,.34);border-radius:50%;background:rgba(8,8,9,.68);color:var(--dfw-v4-gold-soft);font-family:Georgia,serif;backdrop-filter:blur(12px)}
.df-blog-story__featured{position:absolute;left:1rem;bottom:1rem;z-index:2;padding:.5rem .72rem;border:1px solid rgba(242,211,142,.28);border-radius:999px;background:rgba(8,8,9,.72);color:var(--dfw-v4-gold-soft);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(12px)}
.df-blog-story__body{display:flex;flex-direction:column;padding:clamp(1.35rem,3vw,2.35rem)}
.df-blog-story.is-featured .df-blog-story__body{justify-content:center}
.df-blog-story__meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem;color:#8f8980;font-size:.69rem;letter-spacing:.08em;text-transform:uppercase}
.df-blog-story__meta span{display:flex;align-items:center;gap:.4rem}.df-blog-story__meta i{color:var(--dfw-v4-gold)}
.df-blog-story h2{margin:0 0 .85rem;font-family:Georgia,serif;font-size:clamp(1.35rem,1.8vw,2rem);line-height:1.12;letter-spacing:-.025em}.df-blog-story h2 a{color:#fff}
.df-blog-story.is-featured h2{font-size:clamp(2.2rem,4vw,4rem)}
.df-blog-story p{margin:0 0 1.3rem;color:#aaa49a;line-height:1.75}
.df-blog-story__link{display:inline-flex;align-items:center;gap:.55rem;width:max-content;margin-top:auto;color:#fff;font-size:.82rem;font-weight:800}.df-blog-story__link i{color:var(--dfw-v4-gold);transition:transform .3s}.df-blog-story:hover .df-blog-story__link i{transform:translateX(5px)}
.df-blog-empty{padding:4rem 1.5rem;text-align:center;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:#0d0d0f}.df-blog-empty i{color:var(--dfw-v4-gold);font-size:2rem}.df-blog-empty h2{color:#fff;font-family:Georgia,serif}.df-blog-empty p{color:#99948b}

/* Mobile-first refinements */
@media(max-width:1100px){
  .df-signature-panel{display:none}
  .premium-hero--signature .premium-hero__copy{width:min(760px,76vw)}
  .df-about-grid{grid-template-columns:1fr;gap:3rem}
  .df-about-visual{width:min(720px,100%);margin-inline:auto}
}

@media(max-width:1120px) and (min-width:821px){
  .df-blog-editorial{grid-template-columns:repeat(2,minmax(0,1fr))}
  .df-blog-story.is-featured{grid-column:1/-1}
}

@media(max-width:820px){
  .premium-hero--signature{min-height:780px}
  .premium-hero--signature .premium-hero__content{min-height:780px;align-items:flex-end;padding:120px 0 145px}
  .premium-hero--signature .premium-hero__slide:after{background:linear-gradient(180deg,rgba(3,3,4,.25) 0%,rgba(3,3,4,.62) 42%,rgba(2,2,3,.96) 88%)}
  .premium-hero--signature .premium-hero__slide>img{object-position:62% center;filter:saturate(.75) contrast(1.05) brightness(.78)}
  .premium-hero--signature .premium-hero__copy{width:100%;max-width:620px}
  .premium-hero--signature .premium-hero__copy h1,.premium-hero--signature .premium-hero__copy h2{font-size:clamp(3rem,11.6vw,5.2rem);line-height:.91;margin:1rem 0 1.15rem}
  .premium-hero--signature .premium-hero__copy>p{max-width:560px;margin-bottom:1.35rem;font-size:.96rem;line-height:1.65}
  .df-signature-proof{width:100%}
  .df-signature-proof span{flex:1;min-width:0;padding:.7rem .8rem .7rem 0;margin-right:.8rem}
  .df-signature-controls{bottom:34px;width:calc(100% - 36px);padding-inline:0}
  .premium-hero--signature .premium-hero__scroll{display:none}
  .premium-booking-shell--compact{padding-top:10px!important;padding-bottom:42px!important}
  .premium-booking-shell--compact+.premium-services{padding-top:48px!important}
  .df-contact-grid{gap:1rem}
  .df-contact-form,.df-contact-info{border-radius:22px}
  .df-about-intro{grid-template-columns:1fr;gap:0;margin-bottom:58px}
  .df-about-intro article{padding:1.25rem 1rem 1.35rem}
  .df-about-intro strong{font-size:2rem}
  .df-about-values__grid{grid-template-columns:1fr}
  .df-blog-editorial{grid-template-columns:1fr}
  .df-blog-story.is-featured{grid-column:auto;display:block;min-height:0}
  .df-blog-story.is-featured .df-blog-story__media{min-height:340px}
  .df-blog-story.is-featured h2{font-size:clamp(1.9rem,7vw,3rem)}
}

@media(max-width:560px){
  .df-section{padding:54px 0}
  .df-page-hero{min-height:330px;padding:112px 0 48px}
  .df-page-hero h1{font-size:clamp(2.45rem,12vw,3.7rem);line-height:.97;margin:.65rem 0 1rem}
  .df-page-hero p{font-size:.94rem;line-height:1.65}
  .premium-hero--signature{min-height:730px}
  .premium-hero--signature:before{background:radial-gradient(circle at 72% 28%,rgba(220,179,93,.1),transparent 30%)}
  .premium-hero--signature .premium-hero__content{min-height:730px;padding:105px 0 125px}
  .premium-hero--signature .premium-hero__copy h1,.premium-hero--signature .premium-hero__copy h2{font-size:clamp(2.85rem,14.3vw,4.35rem);line-height:.9;letter-spacing:-.05em}
  .df-signature-eyebrow{gap:.55rem;font-size:.6rem;letter-spacing:.12em}.df-signature-eyebrow__line{width:26px}.premium-hero--signature .df-hero-badge{font-size:.58rem}
  .premium-hero--signature .premium-hero__actions{display:grid;grid-template-columns:1fr;gap:.55rem}
  .premium-hero--signature .premium-btn{width:100%;justify-content:center;min-height:48px}
  .df-signature-proof{margin-top:1rem}
  .df-signature-proof span{padding:.65rem .45rem .65rem 0;margin-right:.45rem}
  .df-signature-proof strong{font-size:1rem}.df-signature-proof small{font-size:.54rem;letter-spacing:.04em}
  .df-signature-progress{flex:1;width:auto}
  .df-signature-controls .premium-hero__dots{display:none}
  .df-signature-controls>[data-hero-prev],.df-signature-controls>[data-hero-next]{width:38px;height:38px}
  .premium-booking-shell--compact>.container{gap:12px}
  .premium-booking-shell--compact .premium-booking-shell__aside{padding:26px 20px}
  .premium-booking-shell--compact .premium-booking-shell__form{padding:20px 14px}
  .df-contact-form,.df-contact-info{padding:1.25rem!important}
  .df-contact-item{grid-template-columns:42px 1fr;gap:.8rem;padding:.85rem}.df-contact-item i{width:42px;height:42px}
  .df-contact-form__intro{padding-bottom:1.1rem;margin-bottom:1.2rem}
  .df-contact-form__fields .df-form-grid{gap:.9rem}
  .df-contact-form__actions,.df-comment-form__actions{align-items:stretch;flex-direction:column}
  .df-contact-form__actions button,.df-comment-form__actions .premium-btn{width:100%;justify-content:center}
  .df-contact-form__actions span,.df-comment-form__actions>span{justify-content:center;text-align:center}
  .df-comment-form{padding:1.2rem!important;border-radius:18px}
  .df-comments{padding:1.15rem!important;border-radius:18px}
  .df-about-story{padding-top:38px}
  .df-about-grid{gap:2.2rem}
  .df-about-copy h2{font-size:clamp(2.35rem,11.4vw,3.8rem)}
  .df-about-actions{display:grid;grid-template-columns:1fr}.df-about-actions .premium-btn{justify-content:center}
  .df-about-visual{min-height:440px}
  .df-about-visual__main{width:82%;height:82%;border-radius:22px}
  .df-about-visual__secondary{width:48%;height:43%;border-width:7px;border-radius:18px}
  .df-about-seal{right:5%;top:7%;width:118px;height:118px;padding:.8rem}.df-about-seal strong{font-size:.75rem}.df-about-seal span{font-size:.48rem}
  .df-about-values__grid article{padding:1.3rem;border-radius:19px}
  .df-blog-index{padding-top:45px}
  .df-blog-story,.df-blog-story__media{border-radius:20px}
  .df-blog-story__media,.df-blog-story.is-featured .df-blog-story__media{min-height:245px;aspect-ratio:1.42/1}
  .df-blog-story__body{padding:1.2rem}
  .df-blog-story h2,.df-blog-story.is-featured h2{font-size:clamp(1.65rem,7.8vw,2.35rem)}
  .df-blog-story__meta{align-items:flex-start;flex-direction:column;gap:.35rem}
  .df-blog-story__featured{left:.75rem;bottom:.75rem}.df-blog-story__number{right:.75rem;top:.75rem;width:40px;height:40px}
}

@keyframes dfwSignatureImage{from{transform:scale(1.08)}to{transform:scale(1.015)}}
@keyframes dfwSignatureLine{to{transform:scaleX(1)}}
@keyframes dfwHeroProgress{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.premium-hero--signature .premium-hero__slide.is-active>img,.premium-hero--signature.is-progressing .df-signature-progress span{animation:none!important}.premium-hero--signature .premium-hero__copy h1 em:after,.premium-hero--signature .premium-hero__copy h2 em:after{transform:scaleX(1)!important}}

/* ===== premium-v5.css ===== */
/* DFW v1.9 — full-width comment form and threaded public replies */
.df-comment-form__grid{grid-template-columns:1fr!important}
.df-comment-form__grid>.df-field{grid-column:1/-1;width:100%}
.df-comment-form__grid input,.df-comment-form__grid textarea{display:block;width:100%}
.df-comment__actions{flex-wrap:wrap;justify-content:flex-end}
.df-reply-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .78rem;border:1px solid rgba(220,179,93,.25);border-radius:999px;background:rgba(220,179,93,.07);color:var(--dfw-v4-gold-soft);font-size:.78rem;font-weight:800;transition:border-color .25s ease,background .25s ease,color .25s ease,transform .25s ease}
.df-reply-btn:hover{border-color:var(--dfw-v4-gold);background:var(--dfw-v4-gold);color:#090806;transform:translateY(-2px)}
.df-reply-thread{position:relative;display:grid;gap:.75rem;margin:1rem 0 0 2.15rem;padding-left:1.15rem;border-left:1px solid rgba(220,179,93,.28)}
.df-reply-thread:before{content:"";position:absolute;left:-4px;top:0;width:7px;height:7px;border-radius:50%;background:var(--dfw-v4-gold);box-shadow:0 0 0 5px rgba(220,179,93,.08)}
.df-user-reply{position:relative;padding:1rem 1.05rem;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(145deg,rgba(21,21,23,.96),rgba(10,10,11,.98));animation:dfwCommentIn .38s ease both}
.df-user-reply__top{display:flex;align-items:center;justify-content:space-between;gap:.85rem}
.df-user-reply__actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.df-user-reply__text{margin:.75rem 0 0;color:#cfc9bf;line-height:1.72;overflow-wrap:anywhere}
.df-comment__avatar--reply{width:36px;height:36px;font-size:.8rem;background:linear-gradient(135deg,#f0d28b,#9f7330)}
.df-user-reply .df-comment__author small{font-size:.7rem}
.df-user-reply .df-vote-btn{padding:.38rem .62rem;font-size:.72rem}

.df-modal-open{overflow:hidden}
.df-reply-modal[hidden]{display:none!important}
.df-reply-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:1rem;opacity:0;transition:opacity .22s ease}
.df-reply-modal.is-open{opacity:1}
.df-reply-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.df-reply-modal__dialog{position:relative;z-index:1;width:min(590px,100%);max-height:min(760px,calc(100svh - 2rem));overflow:auto;padding:clamp(1.35rem,4vw,2.15rem);border:1px solid rgba(220,179,93,.3);border-radius:24px;background:linear-gradient(145deg,#171719,#080809);box-shadow:0 34px 110px rgba(0,0,0,.66);transform:translateY(18px) scale(.975);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.df-reply-modal.is-open .df-reply-modal__dialog{transform:translateY(0) scale(1)}
.df-reply-modal__dialog:before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.045);border-radius:18px;pointer-events:none}
.df-reply-modal__dialog h3{position:relative;margin:.55rem 2.5rem .45rem 0;color:#fff;font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,2.55rem);line-height:1.05}
.df-reply-modal__dialog h3 span{color:var(--dfw-v4-gold-soft)}
.df-reply-modal__dialog>p{position:relative;margin:0 0 1.2rem;line-height:1.65}
.df-reply-modal__dialog form{position:relative;display:grid;gap:1rem}
.df-reply-modal__close{position:absolute;right:1rem;top:1rem;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#0b0b0c;color:#fff;transition:.25s}
.df-reply-modal__close:hover{border-color:var(--dfw-v4-gold);color:var(--dfw-v4-gold);transform:rotate(8deg)}
.df-reply-modal textarea{min-height:145px;resize:vertical}
.df-reply-modal__actions{display:flex;align-items:center;gap:.7rem;padding-top:.2rem}
.df-reply-modal__actions .premium-btn{min-height:48px;margin:0!important;padding:.85rem 1.2rem!important}

@media(max-width:560px){
  .df-comment__top,.df-user-reply__top{align-items:flex-start;flex-direction:column}
  .df-comment__actions,.df-user-reply__actions{width:100%;justify-content:flex-start}
  .df-reply-thread{margin-left:.35rem;padding-left:.85rem}
  .df-user-reply{padding:.9rem;border-radius:14px}
  .df-reply-modal{align-items:end;padding:.6rem}
  .df-reply-modal__dialog{width:100%;max-height:calc(100svh - 1.2rem);padding:1.25rem 1rem 1rem;border-radius:22px 22px 16px 16px}
  .df-reply-modal__dialog h3{margin-top:.45rem;font-size:1.85rem}
  .df-reply-modal__actions{display:grid;grid-template-columns:1fr;gap:.55rem}
  .df-reply-modal__actions .premium-btn{width:100%;justify-content:center}
}

/* v2.1 SEO, legal and real-404 refinements */
.dfw-not-found { min-height:65vh; display:grid; place-items:center; padding:clamp(90px,12vw,160px) 0; background:radial-gradient(circle at 50% 0,rgba(201,161,76,.14),transparent 35rem),#070707; }
.dfw-not-found__card { max-width:760px; margin:auto; padding:clamp(30px,6vw,70px); text-align:center; border:1px solid rgba(201,161,76,.24); border-radius:24px; background:linear-gradient(145deg,rgba(25,25,25,.96),rgba(8,8,8,.96)); box-shadow:0 30px 100px rgba(0,0,0,.45); }
.dfw-not-found__card h1 { margin:12px 0 16px; color:#f6f1e8; font-family:Georgia,serif; font-size:clamp(2rem,6vw,4.5rem); letter-spacing:-.045em; }
.dfw-not-found__card p { max-width:600px; margin:0 auto; color:#aaa69e; line-height:1.75; }
.dfw-not-found__actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:28px; }
.df-legal-page { background:radial-gradient(circle at 85% 10%,rgba(201,161,76,.08),transparent 30rem),#090909; }
.df-legal-page__content { max-width:980px; margin:auto; padding:clamp(24px,5vw,58px); color:#c9c5bd; line-height:1.8; }
.df-legal-page__content h2,.df-legal-page__content h3 { margin:1.8em 0 .6em; color:#f2eee6; font-family:Georgia,serif; }
.df-legal-page__content a { color:#e2c070; text-decoration:underline; text-underline-offset:3px; }
.df-legal-page__content ul,.df-legal-page__content ol { padding-left:1.35rem; }
.df-article__body > h2 { color:#f4efe7; font-family:Georgia,serif; font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-.035em; }
@media (max-width:767px) {
  .dfw-not-found__actions { display:grid; grid-template-columns:1fr; }
  .dfw-not-found__actions .premium-btn { width:100%; }
}


/* DFW v2.2 — resilient category/fleet pages and 3-column blog grid */
.df-fleet-empty{grid-column:1/-1;padding:clamp(2rem,5vw,4.5rem);text-align:center;border:1px solid rgba(220,179,93,.24);border-radius:24px;background:linear-gradient(145deg,#151518,#09090a)}
.df-fleet-empty i{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 1rem;border:1px solid rgba(220,179,93,.35);border-radius:50%;color:var(--dfw-v4-gold);font-size:1.35rem}
.df-fleet-empty h2{margin:.2rem 0 .65rem;color:#fff;font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,3rem)}
.df-fleet-empty p{margin:0;color:#aaa49a}.df-fleet-empty a{color:var(--dfw-v4-gold-soft);font-weight:800}
.df-blog-story.is-grid-item{display:flex;min-width:0;flex-direction:column;height:100%}
.df-blog-story.is-grid-item .df-blog-story__media{aspect-ratio:16/10;min-height:0}
.df-blog-story.is-grid-item .df-blog-story__body{flex:1}
@media(max-width:820px){.df-blog-story.is-grid-item .df-blog-story__media{aspect-ratio:1.42/1}}
