    :root {
        /* Preserving Original Brand Colors */
        --mainred: #7a0c08;
        --accentyellow: #e89c1e;
        /* Adding a subtle, soft pink for decoration */
        --softpink: #f7e0e4; 
    }
    
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    
    body {
        font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
        /* Using soft pink background for a romantic atmosphere */
        background-color: var(--softpink); 
        color: #333;
        margin: 0;
        font-size: 14px;
        line-height: 20px;
    }
    
    /* Navbar Styles - Minimal style changes */
    
    .button-primary {
        color: #fff;
        letter-spacing: 0;
        text-transform: none;
        background-color: var(--accentyellow);
        /* Softened button shape */
        border-radius: 12px; 
        padding: 12px 25px;
        font-size: 15px;
        font-weight: 700;
        line-height: 20px;
        transition: all .2s;
        text-decoration: none;
        display: inline-block;
    }
    
    .button-primary:hover {
        color: #fff;
        background-color: #32343a;
    }
    
    /* Hero Section - Thematic Centerpiece */
    .hero-section {
        background: linear-gradient(135deg, var(--mainred) 0%, #5a0805 100%);
        padding: 5rem 2rem 4rem;
        text-align: center;
        position: relative;
        overflow: hidden;
    }
    
    /* Single Large Heart in Hero Background (Restored) */
    .hero-section::before {
        content: '♥';
        position: absolute;
        font-size: 300px; /* Large size for desktop */
        opacity: 0.06; /* Semi-transparent */
        top: 40%;
        left: 50%;
        transform: translate(-50%, -50%); /* Centered and rotated */
        color: #fff;
        pointer-events: none;
        z-index: 0;
    }

    /* Keyframes heart-flow removed */
    
    .hero-title {
        font-family: "Playfair Display", Helvetica Neue, serif;
        font-size: 4rem;
        color: #fff;
        margin-bottom: 1rem;
        font-style: italic;
        font-weight: 700;
        position: relative;
        z-index: 1;
        /* Added shadow for prominence */
        text-shadow: 0 0 10px rgba(255, 255, 255, 0.5); 
    }
    
    .hero-subtitle {
        font-family: "Playfair Display", Helvetica Neue, serif;
        font-size: 1.8rem;
        color: var(--accentyellow);
        margin-bottom: 1rem;
        position: relative;
        z-index: 1;
    }
    
    .hero-description {
        font-size: 1.1rem;
        color: #fff;
        max-width: 800px;
        margin: 0 auto;
        line-height: 1.8;
        position: relative;
        z-index: 1;
    }

    /* Adding a decorative line below the subtitle */
    .hero-section .container::after {
        content: '❦'; /* Floral/Romantic separator */
        color: var(--accentyellow);
        font-size: 2rem;
        display: block;
        margin-top: 15px;
        z-index: 1;
        position: relative;
    }
    
    /* Packages Section */
    .packages-section {
        padding: 5rem 2rem;
        background-color: var(--softpink); /* Use soft pink background */
    }
    
    .packages-grid {
        display: grid;
        /* Grid setup is already responsive using auto-fit and minmax */
        grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
        gap: 3rem;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .package-card {
        background: #fff;
        /* Use a dashed border for a decorative/vintage look */
        border: 2px dashed var(--mainred); 
        border-radius: 15px;
        padding: 2.5rem;
        position: relative;
        transition: transform 0.3s, box-shadow 0.3s;
        /* Added shadow with a touch of pink */
        box-shadow: 0 5px 15px rgba(122, 12, 8, 0.1); 
    }
    
    .package-card:hover {
        transform: translateY(-10px);
        /* Enhanced red shadow on hover */
        box-shadow: 0 10px 30px rgba(122, 12, 8, 0.4);
    }
    
    /* Decorative Heart Ribbons on the Cards */
    .package-card::before {
        content: '❤';
        position: absolute;
        top: 10px;
        left: 10px;
        color: var(--mainred);
        font-size: 1.5rem;
        z-index: 1;
    }
    .package-card::after {
        content: '❤';
        position: absolute;
        bottom: 10px;
        right: 10px;
        color: var(--accentyellow);
        font-size: 1.5rem;
        z-index: 1;
    }
    
    .package-badge {
        position: absolute;
        top: -15px;
        right: 30px;
        background-color: var(--accentyellow);
        color: var(--mainred);
        padding: 0.5rem 1.5rem;
        /* Pill shape */
        border-radius: 20px; 
        font-weight: 700;
        font-size: 0.9rem;
        text-transform: uppercase;
        font-family: Varela Round, sans-serif;
    }
    
    .vip-badge {
        background: linear-gradient(135deg, var(--accentyellow) 0%, #cf8408 100%);
        box-shadow: 0 4px 15px rgba(232, 156, 30, 0.4);
        /* Adding a star/sparkle for VIP */
        content: '⭐ VIP Experience ⭐'; 
    }
    
    .package-title {
        font-family: "Playfair Display", Helvetica Neue, serif;
        font-size: 2.5rem;
        color: var(--mainred);
        margin-bottom: 1.5rem;
        text-align: center;
        font-style: italic;
        font-weight: 700;
        /* Added a divider below title */
        border-bottom: 1px solid var(--accentyellow); 
        padding-bottom: 10px;
    }
    
    .package-price {
        text-align: center;
        margin-bottom: 2rem;
    }
    
    .price-number {
        font-size: 3rem;
        color: var(--mainred);
        font-weight: 700;
        font-family: Varela Round, sans-serif;
    }
    
    .price-currency {
        font-size: 1.5rem;
        color: var(--accentyellow);
        margin-left: 0.5rem;
        font-weight: 700;
    }
    
    .package-items {
        list-style: none;
        margin-bottom: 2rem;
    }
    
    .package-items li {
        padding: 1rem;
        margin-bottom: 0.75rem;
        /* Lighter background color */
        background-color: rgba(232, 156, 30, 0.05); 
        /* Changed border to solid mainred */
        border-left: 3px solid var(--mainred); 
        border-radius: 5px;
        font-size: 1.05rem;
        line-height: 1.6;
        font-family: Varela Round, sans-serif;
    }
    
    .item-number {
        color: var(--mainred);
        font-weight: 700;
        margin-right: 0.5rem;
    }
    
    .item-description {
        color: #4b5563;
        display: block;
        margin-top: 0.25rem;
        font-size: 0.95rem;
        font-style: italic;
    }
    
    .order-button {
        display: block;
        width: 100%;
        background-color: var(--accentyellow);
        color: var(--mainred);
        text-align: center;
        padding: 1rem;
        text-decoration: none;
        border-radius: 8px;
        font-size: 1.2rem;
        font-weight: 700;
        transition: all 0.3s;
        text-transform: uppercase;
        font-family: Varela Round, sans-serif;
        /* Overriding the text with content property for emoji decoration */
        content: '💖 Reserve Now 💖'; 
    }
    
    .order-button:hover {
        background-color: var(--mainred); /* Hover to red */
        color: var(--accentyellow); /* Text to yellow */
        transform: scale(1.02);
        box-shadow: 0 5px 15px rgba(232, 156, 30, 0.4);
    }
    
    /* Footer */
    .footer-subscribe {
        border-top: 3px double var(--mainred); /* Decorative border */
        padding: 50px 30px 40px;
        position: relative;
        background-color: #fff;
    }
    
    .container-3 {
        width: 100%;
        max-width: 940px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .footer-wrapper-three {
        justify-content: space-between;
        align-items: center;
        display: flex;
    }
    
    .footer-block-three {
        grid-column-gap: 4px;
        grid-row-gap: 4px;
        flex-flow: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin-left: -20px;
        margin-right: -20px;
        display: flex;
        color: #1a1b1f;
    }
    
    .footer-block-three div {
        margin-bottom: 0.5rem;
    }
    
    .bold-text {
        color: var(--accentyellow);
        font-size: 16px;
        font-weight: 700;
    }
    
    .footer-social-block-three {
        justify-content: flex-start;
        align-items: center;
        margin-left: -32px;
        display: flex;
    }
    
    .footer-social-link-three {
        margin-left: 32px;
        color: #1b1c20;
        font-size: 24px;
        transition: color 0.3s;
    }
    
    .footer-social-link-three:hover {
        color: var(--mainred); /* Social icons turn red on hover */
    }
    
    .footer-divider-two {
        background-color: #e4ebf3;
        width: 100%;
        height: 1px;
        margin-top: 40px;
        margin-bottom: 40px;
    }
    
    .footer-bottom {
        text-align: center;
    }
    
    .footer-copyright {
        color: #3a4554;
        font-size: 14px;
    }
    
    .ion-icon {
        color: #1b1c20;
        font-size: 24px;
    }
    
    /* Responsive Design Adjustments */
    
    /* For Tablets and Smaller Desktops (less than 992px) */
    @media (max-width: 991px) {
        .packages-grid {
            /* Now allows cards to stack sooner */
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); 
        }
        
        .hero-title {
            /* Reduced for better fit on tablets */
            font-size: 3.5rem;
        }
        
        .hero-subtitle {
            font-size: 1.5rem;
        }
        
        .package-card {
            padding: 2rem;
        }
    }
    
    /* For Phones (less than 768px) */
    @media (max-width: 767px) {
        .nav-menu-2 {
            flex-direction: column;
            gap: 1rem;
            padding-bottom: 20px;
        }
        
        .hero-title {
            /* Significantly reduced for phone screens */
            font-size: 2.5rem; 
        }
        
        .hero-subtitle {
            font-size: 1.3rem;
        }
        
        .hero-description {
            font-size: 1rem;
        }
        
        /* Reduced size for the single heart on mobile screens */
        .hero-section::before {
            font-size: 150px; 
        }
        
        .footer-wrapper-three {
            flex-direction: column;
            gap: 2rem;
        }
        
        .footer-block-three {
            align-items: center;
        }
    }
    
    /* For Small Phones (less than 480px) */
    @media (max-width: 479px) {
        .packages-grid {
            padding: 0 1rem;
            /* Force single column layout on smallest screens */
            grid-template-columns: 1fr; 
        }
        
        .package-card {
            padding: 1.5rem;
        }
            
        .package-title {
            font-size: 2rem;
        }
        
        .price-number {
            font-size: 2.5rem;
        }
        
        .hero-title {
            font-size: 2rem;
        }
        
        .hero-section {
            padding: 3rem 1rem 2rem;
        }
        
        /* Keeping corner hearts and adjusting their size/position for mobile screens */
        .package-card::before {
            font-size: 1rem; /* Reduced size */
            top: 5px; /* Closer to the corner */
            left: 5px; /* Closer to the corner */
        }
        
        .package-card::after {
            font-size: 1rem; /* Reduced size */
            bottom: 5px; /* Closer to the corner */
            right: 5px; /* Closer to the corner */
        }
    }

    .language-bar{
        background-color: #570805;
        color: white;
        position: relative;
        display: flex;
        justify-content: center;
        gap: 1rem;
        font-size: 24px;
        font-weight: bold;
        height: auto;
        overflow: hidden;
        text-wrap: nowrap;
        padding: 10px 0px   ;
    }

    .text-language-bar{
        padding: 0px 5px;
    }