        :root {
            --primary-green: #2e6dcc;
            --primary-dark: #1a495f;
            --accent-orange: #ff6b35;
            --accent-coral: #ff8c69;
            --accent-yellow: #ff9b3d;
            --navy-blue: #1e3a5f;
            --sky-blue: #4fc3f7;
            --deep-blue: #0d1b2a;
            --light-pink: #ffe6f0;
            --cream: #fff8f0;
            --soft-peach: #ffe5d9;
            --text-dark: #2c3e50;
            --text-light: #6c757d;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Poppins', sans-serif;
            color: var(--text-dark);
            overflow-x: hidden;
            background: var(--cream);
        }
        .elementor-gallery-item {
            position: relative;
            overflow: hidden;
            display: block;
            text-decoration: none;
            /* border-radius: px; */
        }
        .elementor-gallery-item__image {
            height: 350px;
            background-size: cover;
            background-position: center;
            transition: 0.4s ease;
        }
        .elementor-gallery-item__overlay {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            background: rgba(0, 0, 0, 0.4);
            opacity: 0;
            transition: 0.4s ease;
        }
        .elementor-gallery-item__title {
            border-radius: 5px;
            font-weight: 400;
            width: 180px;
            height: 40px;
            background-color: white;
            color: #1a495f;
            justify-content: center;
            align-content: center;
            text-align: center;
        }
        .elementor-gallery-item__content {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            color: #fff;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 20px;
            text-align: center;
            opacity: 0;
            transition: 0.4s ease;
        }

        .elementor-gallery-item:hover .elementor-gallery-item__overlay,
        .elementor-gallery-item:hover .elementor-gallery-item__content {
            opacity: 1;
        }

        .elementor-gallery-item:hover .elementor-gallery-item__image {
            transform: scale(1.1);
        }

        .elementor-gallery-item__title {
            font-size: 22px;
            font-weight: 700;
            margin-bottom: 10px;
        }

        .elementor-gallery-item__description {
            font-size: 14px;
        }
        /* Top Info Bar */
        .top-bar {
            background: linear-gradient(135deg, var(--primary-dark) 0%, var(--navy-blue) 100%);
            color: white;
            padding: 12px 0;
            font-size: 14px;
        }

        .top-bar a {
            color: white;
            text-decoration: none;
            transition: color 0.3s;
        }

        .top-bar a:hover {
            color: var(--accent-yellow);
        }

        .top-bar i {
            margin-right: 8px;
            color: var(--accent-yellow);
        }

        /* Remove extra gap */
        .navbar-nav .nav-item {
            margin-left: 18px;
        }
        /* Increase Navbar Height */
.navbar {
    margin-top: 5px;
    margin-bottom: px;
}

/* Vertically center menu items */
.navbar-nav {
    align-items: center;
}

/* Adjust logo height if needed */
.navbar-brand img {
    height: 42px;   /* Change as needed */
}

/* Fix dropdown position below navbar */
.dropdown-menu {
    margin-top: 15px;
}

/* Remove extra spacing issue */
.navbar-nav .nav-item {
    margin-left: 20px;
}

/* Keep dropdown arrow inline */
.navbar .dropdown-toggle::after {
    margin-left: 6px;
    vertical-align: middle;
}

        /* Fix dropdown arrow position */
        .navbar .dropdown-toggle::after {
            margin-left: 6px;
            vertical-align: middle;
        }

        /* Make nav items same line height */
        .nav-link {
            font-weight: 500;
            display: flex;
            align-items: center;
        }

        /* Remove weird spacing */
        .navbar-nav {
            gap: 0 !important;
        }

        /* Dropdown style */
        .dropdown-menu {
            border-radius: 0;
            border: none;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
        }

        /* Enable hover dropdown */
        @media (min-width: 992px) {
            .navbar .dropdown:hover>.dropdown-menu {
                display: block;
                margin-top: 0;
            }
        }

        /* Optional: smooth dropdown feel */
        .dropdown-menu {
            transition: all 0.25s ease;
        }


        /* Hero Section */
        .hero-section {
            position: relative;
            height: 90vh;
            display: flex;
            align-items: center;
            justify-content: center;
            /* background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%); */
            overflow: hidden;
        }

        .hero-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23ffffff" fill-opacity="0.1" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,122.7C672,117,768,139,864,144C960,149,1056,139,1152,122.7C1248,107,1344,85,1392,74.7L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>');
            background-size: cover;
            background-position: bottom;
            animation: wave 15s linear infinite;
        }

        @keyframes wave {
            0% {
                transform: translateX(0);
            }

            100% {
                transform: translateX(-50%);
            }
        }

        .hero-content {
            position: relative;
            padding-bottom: -50px;
            z-index: 2;
            text-align: center;
            color: white;
            animation: fadeInUp 1s ease-out;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .hero-content h1 {
            font-family: 'Playfair Display', serif;
            font-size: 72px;
            color: #1a495f;
            font-weight: 900;
            margin-bottom: 20px;
            text-shadow: 3px 3px 6px rgba(68, 63, 63, 0.3);
            animation: fadeInUp 1s ease-out 0.2s both;
        }

        .hero-content p {
            font-size: 24px;
            color: #07388386;
            margin-bottom: 40px;
            font-weight: 300;
            animation: fadeInUp 1s ease-out 0.4s both;
        }

        .search-box {
            background: white;
            border-radius: 60px;
            padding: 10px;
            box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
            display: flex;
            max-width: 900px;
            margin: 0 auto;
            animation: fadeInUp 1s ease-out 0.6s both;
        }

        .search-box input {
            border: none;
            padding: 18px 25px;
            font-size: 16px;
            flex: 1;
            border-radius: 50px;
            outline: none;
        }

        .search-box button {
            background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-coral) 100%);
            color: white;
            border: none;
            padding: 18px 45px;
            border-radius: 50px;
            font-weight: 600;
            cursor: pointer;
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .search-box button:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(255, 107, 53, 0.4);
        }

        /* Floating Shapes */
        .floating-shape {
            position: absolute;
            border-radius: 50%;
            animation: float 6s ease-in-out infinite;
            opacity: 0.6;
        }

        @keyframes float {

            0%,
            100% {
                transform: translateY(0) rotate(0deg);
            }

            50% {
                transform: translateY(-30px) rotate(180deg);
            }
        }

        .shape1 {
            width: 80px;
            height: 80px;
            background: var(--accent-yellow);
            top: 15%;
            left: 10%;
            animation-delay: 0s;
        }

        .shape2 {
            width: 60px;
            height: 60px;
            background: var(--accent-orange);
            top: 70%;
            right: 15%;
            animation-delay: 2s;
        }

        .shape3 {
            width: 100px;
            height: 100px;
            background: var(--sky-blue);
            bottom: 20%;
            left: 20%;
            animation-delay: 4s;
        }

        /* Section Titles */
        .section-title {
            font-family: 'Playfair Display', serif;
            font-size: 48px;
            font-weight: 800;
            text-align: center;
            margin-bottom: 15px;
            padding-bottom: 35px;
            color: var(--navy-blue);
            position: relative;
        }

        .section-subtitle {
            text-align: center;
            color: var(--accent-orange);
            font-size: 16px;
            text-transform: uppercase;
            letter-spacing: 3px;
            font-weight: 600;
            margin-bottom: 10px;
        }

        /* Services Section */
        .services-section {
            padding: 100px 0;
            background: white;
        }

        .service-card {
            background: white;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
            transition: transform 0.3s, box-shadow 0.3s;
            margin-bottom: 30px;
            border: 2px solid transparent;
        }

        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
            border-color: var(--accent-orange);
        }

        .service-card img {
            width: 100%;
            height: 250px;
            object-fit: cover;
            transition: transform 0.5s;
        }

        .service-card:hover img {
            transform: scale(1.1);
        }

        .service-card-body {
            padding: 30px;
        }

        .service-card h3 {
            font-size: 24px;
            font-weight: 700;
            margin-bottom: 15px;
            color: var(--navy-blue);
        }

        .service-card p {
            color: var(--text-light);
            margin-bottom: 20px;
        }

        .service-card .btn-read-more {
            background: linear-gradient(135deg, var(--primary-green) 0%, var(--primary-dark) 100%);
            color: white;
            padding: 10px 25px;
            border-radius: 25px;
            text-decoration: none;
            display: inline-block;
            font-weight: 600;
            transition: transform 0.3s;
        }

        .service-card .btn-read-more:hover {
            transform: translateX(5px);
        }

        /* Packages Carousel */
        .packages-section {
            padding: 100px 0;
            background: linear-gradient(135deg, var(--soft-peach) 0%, var(--light-pink) 100%);
        }



        .package-card {
            background: white;
            border-radius: 25px;
            overflow: hidden;
            box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
            margin: 20px;
            transition: transform 0.10s ease-out;
        }

        .package-card:hover {
            transform: scale(1.05);
        }

        .package-image {
            position: relative;
            height: 300px;
            overflow: hidden;
        }

        .package-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .package-badge {
            position: absolute;
            top: 20px;
            right: 20px;
            background: var(--accent-orange);
            color: white;
            padding: 8px 20px;
            border-radius: 25px;
            font-weight: 600;
            font-size: 14px;
        }

        .package-rating {
            position: absolute;
            bottom: 20px;
            left: 20px;
            background: rgba(255, 255, 255, 0.95);
            padding: 8px 15px;
            border-radius: 20px;
            font-weight: 600;
        }

        .package-rating i {
            color: var(--accent-yellow);
        }

        .package-body {
            padding: 30px;
        }

        .package-body h3 {
            font-size: 26px;
            font-weight: 700;
            margin-bottom: 15px;
            color: var(--navy-blue);
        }

        .package-duration {
            color: var(--accent-orange);
            font-weight: 600;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
        }

        .package-duration i {
            margin-right: 8px;
        }

        .package-locations {
            color: var(--text-light);
            margin-bottom: 20px;
            line-height: 1.8;
        }

        .package-price {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: 20px;
            border-top: 2px solid #f0f0f0;
        }

        .price-tag {
            font-size: 25px;
            font-weight: 800;
            color: var(--primary-green);
        }

        .btn-book {
            background: linear-gradient(135deg, var(--navy-blue) 0%, var(--primary-dark) 100%);
            color: white;
            padding: 12px 30px;
            border-radius: 25px;
            text-decoration: none;
            font-weight: 550;
            transition: transform 0.3s;
        }

        .btn-book:hover {
            transform: translateY(-3px);
            color: white;
        }

        /* Activities Section */
        .activities-section {
            padding: 100px 0;
            background: white;
        }

        .activity-card {
            position: relative;
            height: 400px;
            border-radius: 25px;
            overflow: hidden;
            margin-bottom: 30px;
            cursor: pointer;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
        }

        .activity-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s;
        }

        .activity-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
            padding: 40px 30px;
            color: white;
            transition: all 0.3s;
        }

        .activity-card:hover img {
            transform: scale(1.1);
        }

        .activity-card:hover .activity-overlay {
            background: linear-gradient(to top, rgba(243, 73, 12, 0.823) 0%, rgba(255, 107, 53, 0.807) 100%);
        }

        .activity-overlay h3 {
            font-size: 28px;
            font-weight: 700;
            margin-bottom: 10px;
        }

        .activity-overlay p {
            font-size: 16px;
            opacity: 0.9;
        }

        /* Testimonials */
        .testimonials-section {
            padding: 100px 0;
            background: linear-gradient(135deg, var(--primary-green) 0%, var(--primary-dark) 100%);
            position: relative;
            overflow: hidden;
        }

        .testimonials-section::before {
            content: '❝';
            position: absolute;
            top: -50px;
            left: 50px;
            font-size: 300px;
            color: rgba(255, 255, 255, 0.1);
            font-family: Georgia, serif;
        }

        .testimonials-section .section-title,
        .testimonials-section .section-subtitle {
            color: white;
        }

        .testimonial-card {
            background: rgba(255, 255, 255, 0.15);
            backdrop-filter: blur(10px);
            border-radius: 25px;
            padding: 40px;
            margin: 20px;
            border: 2px solid rgba(255, 255, 255, 0.2);
            transition: transform 0.3s;
        }

        .testimonial-card:hover {
            transform: translateY(-10px);
            background: rgba(255, 255, 255, 0.2);
        }

        .testimonial-text {
            color: white;
            font-size: 18px;
            line-height: 1.8;
            margin-bottom: 25px;
            font-style: italic;
        }

        .testimonial-author {
            display: flex;
            align-items: center;
            color: white;
        }

        .author-icon {
            width: 60px;
            height: 60px;
            background: var(--accent-yellow);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 28px;
            margin-right: 15px;
        }

        .author-info h4 {
            font-weight: 700;
            margin-bottom: 5px;
        }

        .author-info p {
            font-size: 14px;
            opacity: 0.9;
        }

        /* Newsletter */
        .newsletter-section {
            padding: 80px 0;
            background: white;
        }

        .newsletter-box {
            background: linear-gradient(135deg, var(--sky-blue) 0%, var(--navy-blue) 100%);
            border-radius: 30px;
            padding: 60px;
            text-align: center;
            color: white;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
        }

        .newsletter-box h2 {
            font-family: 'Playfair Display', serif;
            font-size: 42px;
            font-weight: 800;
            margin-bottom: 15px;
        }

        .newsletter-box p {
            font-size: 18px;
            margin-bottom: 30px;
            opacity: 0.95;
        }

        .newsletter-form {
            display: flex;
            max-width: 600px;
            margin: 0 auto;
            gap: 15px;
        }

        .newsletter-form input {
            flex: 1;
            padding: 18px 25px;
            border-radius: 50px;
            border: none;
            font-size: 16px;
            outline: none;
        }

        .newsletter-form button {
            background: var(--accent-orange);
            color: white;
            border: none;
            padding: 18px 40px;
            border-radius: 50px;
            font-weight: 700;
            cursor: pointer;
            transition: transform 0.3s;
        }

        .newsletter-form button:hover {
            transform: scale(1.05);
        }

        /* Footer */
        .footer {
            background: var(--deep-blue);
            color: white;
            padding: 80px 0 30px;
        }

        .footer h4 {
            font-family: 'Playfair Display', serif;
            font-size: 24px;
            font-weight: 700;
            margin-bottom: 25px;
            /*color: linear-gradient(90deg, var(--accent-orange), var(--accent-orange));*/
        }

        .footer-links {
            list-style: none;
            padding: 0;
        }

        .footer-links li {
            margin-bottom: 12px;
        }

        .footer-links a {
            color: rgba(255, 255, 255, 0.8);
            text-decoration: none;
            transition: color 0.3s;
            display: flex;
            align-items: center;
        }

        .footer-links a:hover {
            color: var(--accent-orange);
            padding-left: 5px;
        }

        .footer-links i {
            margin-right: 10px;
            color: var(--accent-orange);
        }

        .social-links {
            display: flex;
            gap: 15px;
            margin-top: 20px;
        }

        .social-links a {
            width: 45px;
            height: 45px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            transition: all 0.3s;
        }

        .social-links a:hover {
            background: var(--accent-orange);
            transform: translateY(-5px);
        }

        .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            margin-top: 50px;
            padding-top: 30px;
            text-align: center;
            color: rgba(255, 255, 255, 0.6);
        }

        /* Scroll to Top */
        .scroll-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 50px;
            height: 50px;
            background: var(--accent-orange);
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            opacity: 0;
            transition: opacity 0.3s, transform 0.3s;
            z-index: 1000;
        }

        .scroll-top.active {
            opacity: 1;
        }

        .scroll-top:hover {
            transform: translateY(-5px);
        }

        /* Carousel Custom Controls */
        .carousel-control-prev,
        .carousel-control-next {
            width: 60px;
            height: 60px;
            background: var(--accent-orange);
            border-radius: 50%;
            top: 50%;
            transform: translateY(-50%);
            opacity: 1;
        }

        .carousel-control-prev:hover,
        .carousel-control-next:hover {
            background: var(--navy-blue);
        }

        .carousel-indicators button {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--accent-orange);
        }

        /* Responsive */
        @media (max-width: 768px) {
            .hero-content h1 {
                font-size: 42px;
            }

            .hero-content p {
                font-size: 18px;
            }

            .search-box {
                flex-direction: column;
                gap: 10px;
            }

            .section-title {
                font-size: 36px;
            }

            .newsletter-form {
                flex-direction: column;
            }

            .newsletter-box {
                padding: 40px 20px;
            }
        }


        .container-fluid {
            padding-left: 0;
            padding-right: 0;
        }

        .slider-post-section {
            padding: 0px 0 0px;
            background: linear-gradient(180deg, rgba(15, 23, 42, 0.02), rgba(15, 23, 42, 0.02));

        }

        .slider-post-section .section-title h2 {
            color: var(--primary-color);
            font-size: 32px;
            margin-bottom: 6px;
            font-weight: 700;
        }

        .slider-post-section .section-title p {
            color: #6b7280;
            margin-bottom: 22px;
            font-size: 15px;
        }

        .carousel-img {
            width: 100%;
            height: 620px;
            object-fit: cover;
            display: block;
            border-radius: 12px;
            box-shadow: 0 14px 40px rgba(2, 6, 23, 0.06);
        }

        /* caption style */
        .carousel-caption {
            left: 28px;
            right: auto;
            bottom: 28px;
            padding: 12px 18px;
            border-radius: 8px;
            background: linear-gradient(180deg, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.45));
            text-align: left;
        }

        .carousel-caption h5 {
            margin: 0 0 4px;
            font-size: 18px;
            font-weight: 700;
            color: #fff;
        }

        .carousel-caption p {
            margin: 0;
            color: rgba(255, 255, 255, 0.9);
            font-size: 13px;
        }

        /* controls (make icons visible on images) */
        .carousel-control-prev,
        .carousel-control-next {
            width: 56px;
            height: 56px;
            top: 50%;
            transform: translateY(-50%);
            border-radius: 50%;
            background: rgba(0, 0, 0, 0.35);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background .2s;
            border: none;
        }

        .carousel-control-prev:hover,
        .carousel-control-next:hover {
            background: rgba(0, 0, 0, 0.55);
        }

        .carousel-control-prev-icon,
        .carousel-control-next-icon {
            filter: invert(1) sepia(1) saturate(0) hue-rotate(180deg);
            width: 22px;
            height: 22px;
        }

        /* indicators */
        .carousel-indicators [data-bs-target] {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background-color: rgba(100, 116, 139, 0.55);
        }

        .carousel-indicators .active {
            background-color: var(--secondary-color);
            width: 12px;
            height: 12px;
        }

        /* responsive heights */
        @media (max-width: 1200px) {
            .carousel-img {
                height: 420px;
            }
        }

        @media (max-width: 992px) {
            .carousel-img {
                height: 320px;
            }

            .carousel-caption {
                left: 18px;
                bottom: 18px;
                padding: 10px 14px;
            }
        }

        @media (max-width: 576px) {
            .slider-post-section {
                padding: 28px 0;
            }

            .carousel-img {
                height: 200px;
                border-radius: 8px;
            }

            .carousel-caption {
                display: none;
            }

            .slider-post-section .section-title h2 {
                font-size: 22px;
            }

            .slider-post-section .section-title p {
                font-size: 13px;
            }
        }


        .feature-style-two {
            background: linear-gradient(180deg, rgba(255, 245, 240, 0.6) 0%, var(--cream) 100%);
            color: var(--text-dark);
            overflow: hidden;
        }

        .feature-style-two .auto-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .feature-style-two .sec-title.centred {
            text-align: center;
            margin-bottom: 58px;
        }

        .feature-style-two .sec-title.centred h2 {
            font-family: 'Playfair Display', serif;
            font-size: 40px;
            color: var(--navy-blue);
            margin: 0 auto;
            line-height: 1.05;
            font-weight: 800;
            letter-spacing: -0.5px;
            max-width: 900px;
        }

        .feature-style-two .w3-bar {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10px;
            margin: 14px 0 22px;
            background: transparent;
            padding: 6px;
        }

        .feature-style-two .theme-btn-one {
            background: linear-gradient(90deg, var(--accent-orange), var(--accent-orange));
            color: #fff;
            border: none;
            padding: 8px 14px;
            border-radius: 12px;
            font-weight: 700;
            font-size: 13px;
            cursor: pointer;
            transition: transform .18s ease, box-shadow .18s ease;
            box-shadow: 0 6px 18px rgba(46, 109, 204, 0.06);
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .feature-style-two .theme-btn-one:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 30px rgba(46, 109, 204, 0.12);
        }

        .feature-style-two .city {
            display: none;
            margin-top: 18px;
        }

        .feature-style-two .city.active,
        .feature-style-two .city:first-of-type {
            display: block;
        }

        .feature-style-two .place-block {
            padding: 12px;
        }

        .feature-style-two .place-block-one {
            background: #fff;
            border-radius: 16px;
            overflow: hidden;
            transition: transform .35s cubic-bezier(.2, .9, .2, 1), box-shadow .35s;
            box-shadow: 0 12px 40px rgba(13, 27, 42, 0.06);
            border: 1px solid rgba(13, 27, 42, 0.03);
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        .feature-style-two .place-block-one:hover {
            transform: translateY(-10px);
            box-shadow: 0 22px 60px rgba(13, 27, 42, 0.12);
        }

        .feature-style-two .place-block-one .inner-box {
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        .feature-style-two figure.image-box {
            margin: 0;
            height: 285px;
            overflow: hidden;
            border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        }

        .feature-style-two figure.image-box img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .6s ease;
            display: block;
        }

        .feature-style-two .place-block-one:hover figure.image-box img {
            transform: scale(1.07);
        }

        .feature-style-two .lower-content {
            padding: 18px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
            margin-top: auto;
        }

        .feature-style-two .lower-content .inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
        }

        .feature-style-two .lower-content h3,
        .feature-style-two .lower-content h3 a {
            margin: 0;
            color: var(--navy-blue);
            font-size: 18px;
            font-weight: 700;
            text-decoration: none;
        }

        .feature-style-two .lower-content a span {
            display: inline-block;
            background: transparent;
            color: var(--accent-orange);
            font-weight: 700;
            padding: 6px 10px;
            border-radius: 8px;
            border: 1px solid rgba(255, 107, 83, 0.08);
            transition: background .2s, color .2s, transform .18s;
        }

        .feature-style-two .lower-content a:hover span {
            background: linear-gradient(90deg, var(--primary-green), var(--primary-dark));
            color: #fff;
            transform: translateX(6px);
        }

        .feature-style-two .row.clearfix {
            margin: 0 -12px;
        }

        .feature-style-two .row.clearfix>.place-block {
            padding: 12px;
        }

        .feature-style-two img {
            display: block;
            max-width: 100%;
            height: auto;
        }

        .feature-style-two .theme-btn-one:focus,
        .feature-style-two .lower-content a:focus {
            outline: 3px solid rgba(79, 195, 247, 0.18);
            outline-offset: 3px;
        }

        @media (max-width: 991px) {
            .feature-style-two .sec-title.centred h2 {
                font-size: 34px;
            }

            .feature-style-two figure.image-box {
                height: 220px;
            }

            .feature-style-two .theme-btn-one {
                padding: 8px 12px;
                font-size: 13px;
            }
        }

        @media (max-width: 768px) {
            .feature-style-two {
                padding: 40px 0;
            }

            .feature-style-two .sec-title.centred h2 {
                font-size: 28px;
            }

            .feature-style-two .w3-bar {
                gap: 8px;
            }

            .feature-style-two figure.image-box {
                height: 180px;
            }

            .feature-style-two .lower-content .inner {
                flex-direction: column;
                align-items: flex-start;
                gap: 8px;
            }

            .feature-style-two .lower-content a span {
                padding: 7px 12px;
            }
        }

        @media (max-width: 480px) {
            .feature-style-two .sec-title.centred h2 {
                font-size: 22px;
            }

            .feature-style-two figure.image-box {
                height: 150px;
            }

            .feature-style-two .sec-title.centred {
                margin-bottom: 16px;
            }

            .feature-style-two .theme-btn-one {
                padding: 7px 10px;
                font-size: 12px;
                border-radius: 10px;
            }

            .feature-style-two .lower-content h3 {
                font-size: 16px;
            }

            .feature-style-two .lower-content a span {
                font-size: 13px;
                padding: 6px 10px;
            }

            /* quick fixes to ensure city cards/images show and align correctly */
            .feature-style-two {
                overflow: visible !important;
                padding-top: 40px;
                /* reduce if you still see big gap */
            }

            /* column sizing for the place blocks (works with Bootstrap markup) */
            .feature-style-two .place-block {
                box-sizing: border-box;
                padding: 12px;
            }

            /* card styles (ensure visible even if animation library hiccups) */
            .feature-style-two .place-block-one {
                display: flex;
                flex-direction: column;
                visibility: visible !important;
                opacity: 1 !important;
                transform: none !important;
            }

            /* image area: make images fill card and never disappear */
            .feature-style-two figure.image-box {
                height: 285px;
                overflow: hidden;
                margin: 0;
                border-bottom: 1px solid rgba(0, 0, 0, 0.04);
            }

            .feature-style-two figure.image-box img {
                width: 100% !important;
                height: 100% !important;
                object-fit: cover;
                display: block;
                max-height: 285px;
            }

            /* lower content layout */
            .feature-style-two .lower-content {
                padding: 14px;
            }

            /* responsive breakpoints */
            @media (max-width: 1100px) {

                .feature-style-two .col-lg-4,
                .feature-style-two .place-block {
                    flex: 0 0 50%;
                    max-width: 50%;
                }

                .feature-style-two figure.image-box {
                    height: 240px;
                }

                .feature-style-two figure.image-box img {
                    max-height: 240px;
                }
            }

            @media (max-width: 768px) {

                .feature-style-two .col-lg-4,
                .feature-style-two .place-block {
                    flex: 0 0 100%;
                    max-width: 100%;
                }

                .feature-style-two figure.image-box {
                    height: 180px;
                }

                .feature-style-two figure.image-box img {
                    max-height: 180px;
                }

                .feature-style-two .sec-title.centred {
                    text-align: center;
                }

                .feature-style-two .w3-bar {
                    justify-content: center;
                    gap: 8px;
                }
            }

            /* last-resort: override any .w3-*/
            .w3-black style that forces display none */ .w3-container.city[style*="display:none"] {
                display: block !important;
            }
        }

        /* ------------------------
  Feature-style-two: grid + cards + tabs
   - 3 columns desktop, 2 tablet, 1 mobile
   - images cover card area, consistent heights
   - tab buttons toggle .active-btn and tab content
   - small accessibility + focus styles
   ------------------------ */
        .feature-style-two {
            padding: 80px 0;
            background: linear-gradient(180deg, rgba(255, 245, 240, 0.6) 0%, var(--cream) 100%);
            color: var(--text-dark);
            box-sizing: border-box;
            overflow: visible;
        }

        /* container and title */
        .feature-style-two .auto-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .feature-style-two .sec-title.centred {
            text-align: center;
            margin-bottom: 58px;
        }

        .feature-style-two .sec-title.centred span {
            display: block;
            color: var(--accent-orange);
            font-weight: 700;
            font-size: 13px;
            letter-spacing: 2px;
            margin-bottom: 8px;
        }

        .feature-style-two .sec-title.centred h2 {
            font-family: 'Playfair Display', serif;
            font-size: 40px;
            color: var(--navy-blue);
            margin: 0 auto;
            line-height: 1.05;
            font-weight: 800;
        }

        /* tabs buttons */
        .tab-btn-box {
            display: flex;
            justify-content: center;
            margin-bottom: 28px;
        }

        .tab-buttons {
            display: flex;
            gap: 14px;
            list-style: none;
            padding: 0;
            margin: 0;
            flex-wrap: wrap;
            justify-content: center;
        }

        .tab-buttons .tab-btn {
            cursor: pointer;
            padding: 10px 18px;
            border-radius: 26px;
            font-weight: 700;
            font-size: 14px;
            color: var(--navy-blue);
            background: transparent;
            border: 2px solid rgba(255, 107, 83, 0.08);
            transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
            user-select: none;
        }

        .tab-buttons .tab-btn:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 30px rgba(13, 27, 42, 0.06);
        }

        .tab-buttons .tab-btn.active-btn {
            background: linear-gradient(90deg, var(--accent-orange), var(--accent-coral));
            color: #fff;
            border-color: transparent;
            box-shadow: 0 16px 40px rgba(46, 109, 204, 0.08);
        }

        /* tab contents */
        .tabs-content {
            width: 100%;
        }

        .tab {
            display: none;
            opacity: 0;
            transform: translateY(6px);
            transition: all .28s ease;
        }

        .tab.active-tab {
            display: block;
            opacity: 1;
            transform: none;
        }



        /* each news-block = one card column */
        .news-block {
            box-sizing: border-box;
            padding: 0 12px;
            flex: 0 0 calc(33.3333% - 16px);
            max-width: calc(33.3333% - 16px);
        }

        /* card */
        .news-block-one {
            background: #fff;
            border-radius: 14px;
            overflow: hidden;
            height: 100%;
            display: flex;
            flex-direction: column;
            transition: transform .28s ease, box-shadow .28s ease;
            border: 1px solid rgba(13, 27, 42, 0.03);
            box-shadow: 0 10px 34px rgba(13, 27, 42, 0.04);
        }

        .news-block-one:hover {
            transform: translateY(-8px);
            box-shadow: 0 26px 80px rgba(13, 27, 42, 0.12);
        }

        .news-block-one .inner-box {
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        /* image area: fixed height, images cover */
        figure.image-box {
            position: relative;
            margin: 0;
            height: 300px;
            overflow: hidden;
            display: block;
            border-radius: 10px 10px 0 0;
        }

        figure.image-box img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform .6s ease;
        }

        .news-block-one:hover figure.image-box img {
            transform: scale(1.05);
        }

        /* small icon link on image (if present) */
        figure.image-box a {
            position: absolute;
            top: 12px;
            right: 12px;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(255, 255, 255, 0.95);
            color: var(--accent-orange);
            text-decoration: none;
            box-shadow: 0 8px 22px rgba(13, 27, 42, 0.06);
        }

        /* lower content */
        .lower-content {
            padding: 16px 18px;
            margin-top: auto;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.995) 0%, rgba(255, 255, 255, 0.98) 100%);
        }

        .lower-content h3 {
            margin: 0 0 8px 0;
            font-size: 16px;
            color: var(--navy-blue);
            font-weight: 700;
            line-height: 1.2;
        }

        .lower-content h3 a {
            color: inherit;
            text-decoration: none;
        }

        .post-info a {
            color: var(--accent-orange);
            font-weight: 700;
            text-decoration: none;
            font-size: 13px;
        }

        /* ensure animated classes don't hide content */
        .wow,
        .animated {
            visibility: visible !important;
            opacity: 1 !important;
            transform: none !important;
        }

        /* accessibility focus states */
        .tab-buttons .tab-btn:focus,
        .lower-content a:focus,
        figure.image-box a:focus {
            outline: 3px solid rgba(79, 195, 247, 0.18);
            outline-offset: 3px;
        }

        /* responsive breakpoints */

        /* 2 columns on medium screens */
        @media (max-width: 1100px) {
            .news-block {
                flex: 0 0 calc(50% - 12px);
                max-width: calc(50% - 12px);
            }

            figure.image-box {
                height: 260px;
            }

            .feature-style-two .sec-title.centred h2 {
                font-size: 36px;
            }
        }

        /* 1 column on small screens */
        @media (max-width: 768px) {
            .feature-style-two {
                padding: 48px 0;
            }

            .news-block {
                flex: 0 0 100%;
                max-width: 100%;
                padding: 0 8px;
            }

            figure.image-box {
                height: 200px;
                border-radius: 10px;
            }

            .tab-buttons .tab-btn {
                padding: 8px 12px;
                font-size: 13px;
                border-radius: 20px;
            }

            .feature-style-two .sec-title.centred h2 {
                font-size: 28px;
            }
        }

        /* small phones */
        @media (max-width: 420px) {
            figure.image-box {
                height: 150px;
            }

            .feature-style-two .sec-title.centred h2 {
                font-size: 22px;
            }

            .lower-content h3 {
                font-size: 15px;
            }

            .post-info a {
                font-size: 13px;
            }
        }