 .gallery-overlay {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     background: rgba(0, 0, 0, 0.468);
     /* Dark semi-transparent background */
     color: #ffffff;
     padding: 20px;
     opacity: 0;
     visibility: hidden;
     transition: opacity 0.3s ease, visibility 0.4s ease;
 }

 /* Hover effects: Reveals text and subtly zooms the image */
 .card:hover .gallery-overlay {
     opacity: 1;
     visibility: visible;
     transform: translateY(0);
 }

 .gallery-card:hover img {
     transform: scale(1.05);
 }

 :root {
     --primary-red: #c51d2f;
     --dark-red: #8b0000;
     --amber-gold: #d4af37;
     --light-amber: #fff8e7;
     --text-dark: #2b2b2b;
     --white: #ffffff;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     scroll-behavior: smooth;
 }

 body {
     font-family: 'Poppins', sans-serif;
     color: var(--text-dark);
     background-color: var(--light-amber);
     overflow-x: hidden;
 }

 h1,
 h2,
 h3,
 h4,
 .playfair {
     font-family: 'Playfair Display', serif;
 }

 .top-bar {
     background: linear-gradient(135deg, var(--dark-red), var(--primary-red));
     color: var(--white);
     padding: 10px 5%;
     display: flex;
     justify-content: space-between;
     align-items: center;
     font-size: 0.9rem;
     top: 0;
     z-index: 1000;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
 }

 .top-bar div {
     display: flex;
     align-items: center;
     gap: 15px;
 }

 .top-bar a {
     color: var(--white);
     text-decoration: none;
     transition: color 0.3s ease;
 }

 .top-bar a:hover {
     color: var(--amber-gold);
 }

 header {
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(10px);
     padding: 15px 5%;
     display: flex;
     justify-content: space-between;
     align-items: center;
     position: sticky;
     top: 0px;
     z-index: 999;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
     transition: all 0.3s ease;
 }

 .logo-container {
     display: flex;
     align-items: center;
     gap: 12px;
     text-decoration: none;
 }

 .logo-icon {
     width: 50px;
     height: 50px;
     background: linear-gradient(135deg, var(--primary-red), var(--amber-gold));
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--white);
     font-size: 1.4rem;
     box-shadow: 0 4px 10px rgba(197, 29, 47, 0.3);
 }

 .logo-text h1 {
     font-size: 1.6rem;
     color: var(--primary-red);
     font-weight: 900;
     line-height: 1.1;
     letter-spacing: 0.5px;
 }

 .logo-text p {
     font-size: 0.75rem;
     color: var(--amber-gold);
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 nav ul {
     display: flex;
     list-style: none;
     gap: 30px;
     align-items: center;
 }

 nav ul li a {
     text-decoration: none;
     color: var(--text-dark);
     font-weight: 500;
     font-size: 1rem;
     transition: color 0.3s ease;
 }

 nav ul li a:hover,
 nav ul li a.active {
     color: var(--primary-red);
 }

 .btn-book {
     background: linear-gradient(135deg, var(--primary-red), #e63946);
     color: var(--white);
     padding: 12px 25px;
     border-radius: 50px;
     text-decoration: none;
     font-weight: 600;
     box-shadow: 0 4px 15px rgba(197, 29, 47, 0.4);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     border: none;
     cursor: pointer;
 }

 .btn-book:hover {
     transform: translateY(-2px);
     box-shadow: 0 6px 20px rgba(197, 29, 47, 0.6);
 }

 .mobile-menu-btn {
     display: none;
     font-size: 1.5rem;
     cursor: pointer;
     color: var(--primary-red);
 }

 .hero {
     position: relative;
     min-height: 85vh;
     background: url('https://images.unsplash.com/photo-1555244162-803834f70033?auto=format&fit=crop&w=1920&q=80') no-repeat center center/cover;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     padding: 40px 5%;
 }

 .hero-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, rgba(255, 248, 231, 0.77), rgba(254, 243, 199, 0.479));
 }

 .hero-content {
     position: relative;
     z-index: 2;
     max-width: 900px;
 }

 .hero-badge {
     display: inline-block;
     background: linear-gradient(45deg, var(--amber-gold), #ff8000);
     color: var(--dark-red);
     font-weight: 700;
     padding: 8px 20px;
     border-radius: 50px;
     font-size: 0.9rem;
     text-transform: uppercase;
     letter-spacing: 1.5px;
     margin-bottom: 20px;
     box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
 }

 .animated-badge {
     animation: pulseGlow 1.0s infinite alternate;
     /* border: 2px solid var(--primary-red); */
     background: linear-gradient(45deg, var(--amber-gold), #ff8000);
     color: var(--dark-red);
     margin-top: 10px;
 }

 @keyframes pulseGlow {
     0% {
         box-shadow: 0 0 5px rgba(212, 175, 55, 0.4);
         transform: scale(1);
     }

     100% {
         box-shadow: 0 0 20px rgba(212, 175, 55, 1);
         transform: scale(1.05);
     }
 }

 .hero-content h2 {
     font-size: 3.5rem;
     color: var(--dark-red);
     font-weight: 900;
     line-height: 1.2;
     margin-bottom: 20px;
 }

 .hero-content h2 span {
     color: var(--primary-red);
     font-style: italic;
 }

 .hero-content p {
     font-size: 1.2rem;
     color: #4b5563;
     margin-bottom: 35px;
     line-height: 1.6;
 }

 .hero-buttons {
     display: flex;
     gap: 20px;
     justify-content: center;
     flex-wrap: wrap;
 }

 .btn-secondary {
     background: var(--white);
     color: var(--primary-red);
     padding: 12px 30px;
     border-radius: 50px;
     text-decoration: none;
     font-weight: 600;
     border: 2px solid var(--primary-red);
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease;
 }

 .btn-secondary:hover {
     background: var(--primary-red);
     color: var(--white);
 }

 .section {
     padding: 50px 8%;
     /* Pehle 90px tha, blank space kam karne ke liye 50px kar diya */
     position: relative;
 }

 .bg-food-1 {
     background: linear-gradient(rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.92));
 }

 .bg-food-2 {
     background: linear-gradient(rgba(254, 243, 199, 0.153), rgba(254, 243, 199, 0.268)), url('../gallery/1.jpg') no-repeat center center/cover;
 }

 .bg-food-3 {
     background: linear-gradient(rgba(255, 255, 255, 0.499), rgba(255, 255, 255, 0.153));
 }

 #refreshments {
     padding-top: 0;
 }

 /* .bg-food-4 {
     background: linear-gradient(rgba(254, 243, 199, 0.492), rgba(254, 243, 199, 0.268)), url('../gallery/2.jpg') no-repeat center center/cover;
 } */

 .section-header {
     text-align: center;
     max-width: 700px;
     margin: 0 auto 50px auto;
 }

 .section-header span {
     color: var(--primary-red);
     font-weight: 700;
     text-transform: uppercase;
     font-size: 0.85rem;
     letter-spacing: 2px;
     background: #fde8e8;
     padding: 6px 15px;
     border-radius: 20px;
     display: inline-block;
     margin-bottom: 10px;
 }

 .section-header h3 {
     font-size: 2.8rem;
     color: var(--dark-red);
     margin-bottom: 15px;
 }

 .section-header p {
     color: #6b7280;
     font-size: 1.05rem;
 }

 .grid-3 {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
     gap: 30px;
 }

 .card {
     position: relative;
     overflow: hidden;
     border-radius: 16px;
     /* Matches your current rounded corners */
     cursor: pointer;
     background: var(--white);
     border-radius: 24px;
     overflow: hidden;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     border: 1px solid rgba(212, 175, 55, 0.2);
 }

 .card:hover {
     transform: translateY(-8px);
     box-shadow: 0 20px 40px rgba(197, 29, 47, 0.15);
 }

 .card-img {
     height: 220px;
     width: 100%;
     object-fit: cover;
     transition: transform 0.5s ease;
     display: block;
 }

 .card:hover .card-img {
     transform: scale(1.05);
 }

 .card-body {
     padding: 25px;
 }

 .card-tag {
     background: var(--amber-gold);
     color: var(--dark-red);
     font-size: 0.75rem;
     font-weight: 700;
     padding: 4px 12px;
     border-radius: 20px;
     display: inline-block;
     margin-bottom: 12px;
     text-transform: uppercase;
 }

 .card-body h4 {
     font-size: 1.5rem;
     color: var(--dark-red);
     margin-bottom: 10px;
 }

 .card-body p {
     color: #6b7280;
     font-size: 0.95rem;
     margin-bottom: 20px;
     line-height: 1.5;
 }

 .card-footer {
     display: flex;
     justify-content: space-between;
     align-items: center;
     border-top: 1px solid #f3f4f6;
     padding-top: 15px;
 }

 .menu-list {
     list-style: none;
     padding: 0;
     color: #4b5563;
     font-size: 0.95rem;
     line-height: 1.8;
     margin-bottom: 20px;
 }

 .menu-list li i {
     color: var(--amber-gold);
     margin-right: 8px;
 }

 .card-footer a,
 .card-footer button {
     color: var(--primary-red);
     text-decoration: none;
     font-weight: 700;
     font-size: 0.9rem;
     background: none;
     border: none;
     cursor: pointer;
     display: flex;
     align-items: center;
     gap: 5px;
     transition: color 0.3s ease;
 }

 .card-footer a:hover,
 .card-footer button:hover {
     color: var(--dark-red);
 }

 .menu-filters {
     display: flex;
     justify-content: center;
     gap: 15px;
     margin-bottom: 40px;
     flex-wrap: wrap;
 }

 .filter-btn {
     background: var(--white);
     border: 2px solid #e5e7eb;
     color: var(--text-dark);
     padding: 10px 22px;
     border-radius: 30px;
     font-weight: 600;
     cursor: pointer;
     transition: all 0.3s ease;
 }

 .filter-btn.active,
 .filter-btn:hover {
     background: var(--primary-red);
     color: var(--white);
     border-color: var(--primary-red);
     box-shadow: 0 4px 15px rgba(197, 29, 47, 0.3);
 }

 .about-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 50px;
     align-items: center;
 }

 .about-text span {
     color: var(--primary-red);
     font-weight: 700;
     text-transform: uppercase;
     font-size: 0.85rem;
     letter-spacing: 2px;
     background: #fde8e8;
     padding: 6px 15px;
     border-radius: 20px;
     display: inline-block;
     margin-bottom: 10px;
 }

 .about-text h3 {
     font-size: 2.8rem;
     color: var(--dark-red);
     margin-bottom: 20px;
 }

 .about-text p {
     color: #4b5563;
     line-height: 1.7;
     margin-bottom: 20px;
 }

 .stats-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 20px;
     margin-top: 30px;
 }

 .stat-box {
     background: var(--white);
     padding: 20px;
     border-radius: 20px;
     text-align: center;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
     border: 1px solid var(--amber-gold);
 }

 .stat-box h4 {
     font-size: 2rem;
     color: var(--primary-red);
     margin-bottom: 5px;
 }

 .stat-box p {
     font-size: 0.8rem;
     color: #6b7280;
     font-weight: 600;
     text-transform: uppercase;
     margin: 0;
 }

 .contact-container {
     display: grid;
     grid-template-columns: 1fr 1.5fr;
     gap: 40px;
 }

 .contact-info-card {
     background: var(--white);
     padding: 40px;
     border-radius: 30px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     border: 1px solid var(--amber-gold);
 }

 .info-item {
     display: flex;
     gap: 20px;
     margin-bottom: 25px;
     align-items: flex-start;
 }

 .info-icon {
     width: 50px;
     height: 50px;
     background: #fde8e8;
     color: var(--primary-red);
     border-radius: 15px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.2rem;
     flex-shrink: 0;
 }

 .info-details h5 {
     font-size: 1.1rem;
     color: var(--dark-red);
     margin-bottom: 5px;
 }

 .info-details p,
 .info-details a {
     color: #6b7280;
     font-size: 0.95rem;
     text-decoration: none;
     transition: color 0.3s ease;
 }

 .info-details a:hover {
     color: var(--primary-red);
 }

 .contact-form-card {
     background: var(--white);
     padding: 40px;
     border-radius: 30px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     border: 1px solid rgba(212, 175, 55, 0.3);
 }

 .form-group {
     margin-bottom: 20px;
 }

 .form-row {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 20px;
 }

 .form-group label {
     display: block;
     font-size: 0.85rem;
     font-weight: 700;
     text-transform: uppercase;
     color: var(--text-dark);
     margin-bottom: 8px;
 }

 .form-control {
     width: 100%;
     padding: 14px 20px;
     border: 2px solid #e5e7eb;
     border-radius: 15px;
     font-size: 0.95rem;
     font-family: 'Poppins', sans-serif;
     outline: none;
     transition: border-color 0.3s ease;
     background: #fafaf9;
 }

 .form-control:focus {
     border-color: var(--primary-red);
     background: var(--white);
 }

 footer {
     background: var(--dark-red);
     color: var(--white);
     padding: 20px 8% 5px 8%;
     width: 100%;
     height: auto;
     /* Changed from 400px to auto so it fits the content tightly */
 }

 .footer-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 20px;
     /* Reduced from 40px to 20px to squeeze columns */
     margin-bottom: 5px;
     max-width: 1200px;
     margin-left: auto;
     margin-right: auto;
 }

 .footer-col h4 {
     font-size: 1.2rem;
     color: var(--amber-gold);
     margin-bottom: 15px;
     /* Reduced from 20px */
     position: relative;
     padding-bottom: 8px;
 }

 .footer-col h4::after {
     content: '';
     position: absolute;
     left: 0;
     bottom: 0;
     width: 50px;
     height: 2px;
     background: var(--amber-gold);
 }

 .footer-col p,
 .footer-col ul li a {
     color: #d1d5db;
     font-size: 0.95rem;
     line-height: 1.8;
     text-decoration: none;
     transition: color 0.3s ease;
 }

 .footer-col ul {
     list-style: none;
 }

 .footer-col ul li a:hover {
     color: var(--amber-gold);
     padding-left: 5px;
 }

 .social-icons {
     display: flex;
     gap: 15px;
     margin-top: 20px;
 }

 .social-icons a {
     width: 40px;
     height: 40px;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--white);
     text-decoration: none;
     transition: background 0.3s ease;
 }

 .social-icons a:hover {
     background: var(--amber-gold);
     color: var(--dark-red);
 }

 .footer-bottom {
     border-top: 1px solid rgba(255, 255, 255, 0.15);
     padding-top: 15px;
     text-align: center;
     font-size: 0.85rem;
     color: #9ca3af;
     max-width: 1200px;
     margin: 15px auto 0;
 }

 /* Modal popup */
 .modal-overlay {
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, 0.6);
     backdrop-filter: blur(5px);
     z-index: 2000;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 20px;
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.3s ease;
 }

 .modal-overlay.active {
     opacity: 1;
     pointer-events: auto;
 }

 .modal-card {
     background: var(--white);
     width: 100%;
     max-width: 550px;
     border-radius: 30px;
     padding: 40px;
     position: relative;
     box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
     transform: scale(0.9);
     transition: transform 0.3s ease;
 }

 .modal-overlay.active .modal-card {
     transform: scale(1);
 }

 .modal-close {
     position: absolute;
     top: 20px;
     right: 25px;
     background: #f3f4f6;
     border: none;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     font-size: 1.2rem;
     cursor: pointer;
     color: var(--text-dark);
     transition: background 0.3s ease;
 }

 .modal-close:hover {
     background: #e5e7eb;
     color: var(--primary-red);
 }

 /* Toast notification */
 .toast {
     position: fixed;
     bottom: 30px;
     right: 30px;
     background: #059669;
     color: var(--white);
     padding: 15px 25px;
     border-radius: 15px;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
     display: flex;
     align-items: center;
     gap: 12px;
     z-index: 3000;
     transform: translateY(100px);
     opacity: 0;
     transition: all 0.3s ease;
 }

 .toast.show {
     transform: translateY(0);
     opacity: 1;
 }

 @media (max-width: 992px) {
     nav ul {
         display: none;
         position: absolute;
         top: 100%;
         left: 0;
         width: 100%;
         background: var(--white);
         flex-direction: column;
         padding: 20px 0;
         box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
         text-align: center;
     }

     nav ul.show {
         display: flex;
     }

     .mobile-menu-btn {
         display: block;
     }

     .about-grid,
     .contact-container {
         grid-template-columns: 1fr;
     }

     .hero-content h2 {
         font-size: 2.5rem;
     }
 }

 @media (max-width: 576px) {
     .form-row {
         grid-template-columns: 1fr;
     }

     .top-bar {
         flex-direction: column;
         gap: 5px;
         text-align: center;
     }
 }

 /* Packages Section Styling */
 .packages-section {
     padding: 80px 20px;
     background-color: #fffaf0;
     /* Warm bright light background */
     text-align: center;
 }

 .section-container {
     max-width: 1200px;
     margin: 0 auto;
 }


 .section-header h2 {
     font-size: 36px;
     color: #2c3e50;
     margin: 15px 0 10px;
     font-family: 'Playfair Display', serif;
 }

 .section-header p {
     color: #666;
     font-size: 16px;
     margin-bottom: 40px;
 }

 /* Tabs */
 .package-tabs {
     display: flex;
     justify-content: center;
     gap: 15px;
     margin-bottom: 40px;
     flex-wrap: wrap;
 }


 /* Grid Layout */
 .packages-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
     gap: 30px;
     align-items: stretch;
 }

 /* Package Card */
 .package-card {
     background: #ffffff;
     border-radius: 16px;
     overflow: hidden;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     position: relative;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     border: 1px solid #ffebe6;
     text-align: left;
     display: flex;
     flex-direction: column;
 }

 .package-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 15px 35px rgba(255, 111, 97, 0.2);
 }

 .package-card.featured {
     border: 2px solid var(--primary-red);
 }

 /* Badges */
 .package-badge {
     position: absolute;
     top: 15px;
     right: 15px;
     background: #ff6f61;
     color: #fff;
     padding: 5px 12px;
     font-size: 12px;
     font-weight: 700;
     border-radius: 20px;
     z-index: 2;
     text-transform: uppercase;
 }

 .gold-badge {
     background: #f39c12;
 }

 .platinum-badge {
     background: #8e44ad;
 }

 /* Package Image Header */
 .package-img {
     height: 200px;
     background-size: cover;
     background-position: center;
     position: relative;
 }

 /* Package Content */
 .package-content {
     padding: 25px;
     display: flex;
     flex-direction: column;
     flex-grow: 1;
 }

 .package-content h3 {
     font-size: 22px;
     color: #2c3e50;
     margin-bottom: 8px;
     font-family: 'Playfair Display', serif;
 }

 .package-price {
     font-size: 26px;
     font-weight: 700;
     color: var(--primary-red);
     margin-bottom: 20px;
 }

 .package-price span {
     font-size: 14px;
     color: black;
     font-weight: bold;
 }

 .package-features {
     list-style: none;
     padding: 0;
     margin-bottom: 25px;
 }

 .package-features li {
     font-size: 15px;
     color: #374151;
     padding: 12px 10px;
     border-bottom: 1px solid rgba(212, 175, 55, 0.2);
     display: flex;
     align-items: flex-start;
     gap: 12px;
     transition: all 0.3s ease;
     font-weight: 500;
     border-radius: 6px;
 }

 .package-features li:last-child {
     border-bottom: none;
 }

 .package-features li:hover {
     transform: translateX(5px);
     color: var(--dark-red);
     background-color: #fffaf0;
     border-bottom-color: rgba(212, 175, 55, 0.5);
 }

 .package-icon {
     color: var(--amber-gold);
     font-size: 1.1rem;
     margin-top: 2px;
 }

 .package-btn {
     display: block;
     width: 100%;
     padding: 12px;
     background: var(--primary-red);
     color: white;
     text-align: center;
     text-decoration: none;
     font-weight: 600;
     border-radius: 8px;
     transition: background 0.3s ease;
     margin-top: auto;
 }

 .package-btn:hover {
     background: var(--primary-red);
 }

 /* ===== ABOUT SECTION (NEW) ===== */
 .ab-intro {
     max-width: 1150px;
     margin: 0 auto;
     padding: 0 20px;
     display: grid;
     grid-template-columns: 1fr 1.2fr;
     gap: 60px;
     align-items: center;
 }

 .ab-photo-wrap {
     position: relative;
     max-width: 420px;
     margin: 0 auto;
     animation: abFloat 5s ease-in-out infinite;
 }

 .ab-photo-frame {
     position: absolute;
     top: 20px;
     left: 20px;
     width: 100%;
     height: 100%;
     border: 3px solid var(--amber-gold);
     border-radius: 24px;
     background: linear-gradient(135deg, var(--primary-red), var(--dark-red));
     opacity: .9;
     z-index: 0;
 }

 .ab-photo {
     position: relative;
     z-index: 1;
     width: 100%;
     height: 480px;
     object-fit: cover;
     border-radius: 24px;
     border: 4px solid var(--amber-gold);
     box-shadow: 0 20px 40px rgba(0, 0, 0, .25);
 }

 .ab-badge {
     position: absolute;
     z-index: 2;
     bottom: -18px;
     left: 50%;
     transform: translateX(-50%);
     background: var(--amber-gold);
     color: var(--dark-red);
     font-weight: 700;
     font-size: 13px;
     padding: 10px 22px;
     border-radius: 50px;
     white-space: nowrap;
     box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
 }

 .ab-content h4 {
     font-size: 2rem;
     color: var(--dark-red);
     margin-bottom: 18px;
 }

 .ab-content p {
     line-height: 1.8;
     color: #444;
     margin-bottom: 14px;
 }

 .ab-quote {
     position: relative;
     background: rgba(255, 255, 255, .95);
     border-left: 5px solid var(--amber-gold);
     border-radius: 12px;
     padding: 20px 24px 20px 56px;
     margin: 22px 0;
     box-shadow: 0 8px 25px rgba(0, 0, 0, .08);
 }

 .ab-quote i {
     position: absolute;
     left: 20px;
     top: 20px;
     font-size: 1.5rem;
     color: var(--amber-gold);
 }

 .ab-quote p {
     font-style: italic;
     margin-bottom: 8px;
 }

 .ab-quote span {
     font-weight: 600;
     color: var(--primary-red);
     font-size: 14px;
 }

 .ab-actions {
     display: flex;
     gap: 15px;
     flex-wrap: wrap;
     margin-top: 10px;
 }

 .ab-call {
     display: inline-flex;
     align-items: center;
     gap: 8px;
 }

 /* Why Choose Us grid */
 .ab-why-grid {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 20px;
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 25px;
 }

 .ab-why-card {
     background: rgba(255, 255, 255, .96);
     border: 2px solid transparent;
     border-radius: 18px;
     padding: 30px 20px;
     text-align: center;
     box-shadow: 0 8px 25px rgba(0, 0, 0, .08);
     transition: transform .35s, box-shadow .35s, border-color .35s;
 }

 .ab-why-card:hover {
     transform: translateY(-10px);
     border-color: var(--amber-gold);
     box-shadow: 0 18px 40px rgba(185, 28, 28, .25), 0 0 0 4px rgba(245, 158, 11, .15);
 }

 .ab-why-card h5 {
     font-size: 1.05rem;
     color: var(--dark-red);
     margin: 16px 0 8px;
     font-weight: 700;
 }

 .ab-why-card p {
     font-size: .88rem;
     color: #666;
     line-height: 1.6;
     margin: 0;
 }

 .ab-icon {
     width: 72px;
     height: 72px;
     margin: 0 auto;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.8rem;
     color: var(--white);
     background: linear-gradient(135deg, var(--amber-gold), var(--primary-red));
     box-shadow: 0 8px 18px rgba(185, 28, 28, .35);
 }

 .ab-why-card:hover .ab-icon {
     animation: abSpin .8s ease !important;
 }

 .anim-bounce {
     animation: abBounce 2s ease-in-out infinite;
 }

 .anim-pulse {
     animation: abPulse 2s ease-in-out infinite;
 }

 .anim-sway {
     animation: abSway 3s ease-in-out infinite;
 }

 .anim-shake {
     animation: abShake 2.5s ease-in-out infinite;
 }

 .anim-float {
     animation: abFloat 3s ease-in-out infinite;
 }

 @keyframes abBounce {

     0%,
     100% {
         transform: translateY(0)
     }

     50% {
         transform: translateY(-10px)
     }
 }

 @keyframes abPulse {

     0%,
     100% {
         transform: scale(1)
     }

     50% {
         transform: scale(1.15)
     }
 }

 @keyframes abSway {

     0%,
     100% {
         transform: rotate(-10deg)
     }

     50% {
         transform: rotate(10deg)
     }
 }

 @keyframes abShake {

     0%,
     80%,
     100% {
         transform: rotate(0)
     }

     85% {
         transform: rotate(-12deg)
     }

     90% {
         transform: rotate(12deg)
     }

     95% {
         transform: rotate(-8deg)
     }
 }

 @keyframes abFloat {

     0%,
     100% {
         transform: translateY(0)
     }

     50% {
         transform: translateY(-12px)
     }
 }

 @keyframes abSpin {
     to {
         transform: rotate(360deg) scale(1.1);
     }
 }

 /* Stats band */
 .ab-stats {
     max-width: 1100px;
     margin: 70px auto 0;
     background: linear-gradient(135deg, var(--dark-red), var(--primary-red));
     border-top: 5px solid var(--amber-gold);
     border-radius: 20px;
     padding: 45px 20px;
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 20px;
     text-align: center;
     box-shadow: 0 20px 45px rgba(185, 28, 28, .35);
 }

 .ab-stat i {
     font-size: 1.8rem;
     color: var(--amber-gold);
     margin-bottom: 10px;
 }

 .ab-stat h4 {
     font-size: 3rem;
     color: var(--white);
     margin: 0;
 }

 .ab-stat p {
     color: #fde68a;
     font-weight: 500;
     letter-spacing: 1px;
     text-transform: uppercase;
     font-size: .85rem;
     margin: 5px 0 0;
 }

 .ab-stat+.ab-stat {
     border-left: 1px solid rgba(245, 158, 11, .4);
 }

 /* Scroll reveal */
 .ab-reveal {
     opacity: 0;
     transform: translateY(40px);
     transition: opacity .7s ease, transform .7s ease;
 }

 .ab-reveal.in-view {
     opacity: 1;
     transform: translateY(0);
 }

 /* Responsive */
 @media (max-width: 1024px) {
     .ab-why-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 @media (max-width: 820px) {
     .ab-intro {
         grid-template-columns: 1fr;
         gap: 50px;
     }

     .ab-photo {
         height: 400px;
     }
 }

 @media (max-width: 600px) {
     .ab-why-grid {
         grid-template-columns: 1fr;
     }

     .ab-stats {
         grid-template-columns: 1fr;
     }

     .ab-stat+.ab-stat {
         border-left: none;
         border-top: 1px solid rgba(245, 158, 11, .4);
         padding-top: 20px;
     }
 }

 /* About Us Premium Section Styles */
 .about-container {
     max-width: 1200px;
     margin: 0 auto;
     display: flex;
     flex-direction: column;
     gap: 40px;
 }

 .about-header-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 30px;
     flex-wrap: wrap;
 }

 .founder-profile {
     display: block;
     flex: 1;
     min-width: 300px;
     margin-top: -40px;
     margin-bottom: 50px;
 }

 .founder-image-wrapper {
     float: left;
     width: 250px;
     height: 250px;
     margin-top: 50px;
     border-radius: 50%;
     border: 4px solid var(--amber-gold);
     padding: 5px;
     margin-right: 40px;
     margin-left: -140px;
     margin-bottom: 30px;
     shape-outside: border-box;
     shape-margin: 15px;
     background: linear-gradient(135deg, var(--amber-gold), #fff);
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
     flex-shrink: 0;
 }

 .founder-img {
     width: 100%;
     height: 100%;
     border-radius: 50%;
     object-fit: cover;
 }

 .founder-intro {
     /* No margin needed here, parent is moved up */
 }

 .founder-intro .sub-heading {
     color: var(--dark-red);
     font-weight: 700;
     letter-spacing: 2px;
     font-size: 2.0rem;
     /* Font size bada diya (Pehle 0.85rem tha) */
     text-transform: uppercase;
     display: block;
     text-align: center;
     margin-top: 30px;
 }

 .founder-intro .main-heading {
     font-size: 1.9rem;
     color: var(--dark-red);
     margin: 10px 0;
 }

 .founder-quote-card {
     display: flex;
     align-items: center;
     gap: 15px;
     background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(245, 245, 245, 0.9));
     padding: 20px 25px;
     border-radius: 15px;
     border: 2px solid var(--amber-gold);
     box-shadow: 0 15px 30px rgba(0, 0, 0, 0.05);
     max-width: 450px;
 }

 .founder-small-img {
     width: 70px;
     height: 70px;
     border-radius: 50%;
     object-fit: cover;
     border: 2px solid var(--amber-gold);
     flex-shrink: 0;
 }

 .quote-content .sub-heading {
     color: var(--dark-red);
     font-size: 0.75rem;
     font-weight: 700;
     letter-spacing: 1px;
 }

 .quote-content h3 {
     color: var(--text-dark);
     margin: 5px 0;
     font-size: 1.2rem;
 }

 .quote-content p {
     font-style: italic;
     font-size: 0.85rem;
     color: #555;
     margin: 0;
 }

 .about-features-box {
     position: relative;
     background: linear-gradient(135deg, #fdfbf7, #f4eee1);
     /* Marble-like */
     border-radius: 20px;
     border: 1px solid rgba(212, 175, 55, 0.4);
     box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08), inset 0 0 20px rgba(255, 255, 255, 0.8);
     padding: 40px;
     margin-top: -30px;
     /* Upar ka blank space kam karne ke liye negative margin */
 }

 .features-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 25px 40px;
     position: relative;
     z-index: 2;
 }

 .feature-item {
     display: flex;
     align-items: center;
     gap: 15px;
     font-weight: 600;
     font-size: 1.05rem;
     color: #2b2b2b;
 }

 .feature-icon {
     color: var(--dark-red);
     font-size: 1.4rem;
     background: -webkit-linear-gradient(135deg, var(--dark-red), var(--primary-red));
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.1));
     width: 30px;
     text-align: center;
 }

 .floating-icon {
     position: absolute;
     font-size: 3.5rem;
     color: var(--amber-gold);
     filter: drop-shadow(4px 10px 15px rgba(0, 0, 0, 0.2));
     z-index: 10;
     opacity: 0.8;
 }

 .icon-top-right {
     top: -25px;
     left: 20%;
     transform: rotate(-15deg);
 }

 .icon-bottom-right {
     bottom: -25px;
     right: 25%;
     transform: rotate(10deg);
 }

 .icon-center-right {
     top: 40%;
     right: -30px;
     transform: rotate(15deg);
 }

 .about-stats-row {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 25px;
 }

 .stat-card {
     display: flex;
     align-items: center;
     gap: 15px;
     background: linear-gradient(135deg, #fdfbf7, #f4eee1);
     padding: 20px 25px;
     border-radius: 15px;
     border: 1px solid rgba(212, 175, 55, 0.3);
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06), inset 0 0 10px rgba(255, 255, 255, 0.7);
 }

 .stat-icon {
     font-size: 2.2rem;
     color: var(--dark-red);
     background: -webkit-linear-gradient(135deg, var(--dark-red), var(--amber-gold));
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
 }

 .stat-info h3 {
     font-size: 1.8rem;
     color: var(--dark-red);
     margin: 0;
     line-height: 1.1;
 }

 .stat-info p {
     margin: 0;
     font-size: 0.85rem;
     color: #555;
     font-weight: 600;
 }

 @media (max-width: 992px) {
     .features-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .about-stats-row {
         grid-template-columns: repeat(2, 1fr);
     }

     .founder-quote-card {
         max-width: 100%;
     }
 }

 @media (max-width: 768px) {
     .features-grid {
         grid-template-columns: 1fr;
     }

     .about-stats-row {
         grid-template-columns: 1fr;
     }

     .floating-icon {
         display: none;
     }

     .founder-profile {
         flex-direction: column;
         text-align: center;
     }
 }

 #testimonials,
 #clients {
     padding-top: 30px;
 }

 /* ===== Generic Infinite Slider ===== */
 .infinite-slider {
     overflow: hidden;
     padding: 20px 0 35px;
     margin: 0 -8%;
     -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
     mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
 }

 .infinite-track {
     display: flex;
     width: max-content;
     animation: infiniteScroll 30s linear infinite;
     will-change: transform;
 }

 .infinite-slider:hover .infinite-track {
     animation-play-state: paused;
 }

 @keyframes infiniteScroll {
     0% {
         transform: translateX(0);
     }
     100% {
         transform: translateX(var(--shift, -100%));
     }
 }

 /* Specific styles for Expertise cards in slider */
 .expertise-track,
 .refreshments-track {
     padding-left: 15px;
 }

 .expertise-track .card,
 .refreshments-track .card {
     width: 360px;
     flex-shrink: 0;
     margin-right: 30px;
 }

 /* ===== Testimonial Slider ===== */
 .testimonial-slider {
     overflow: hidden;
     padding: 20px 0 35px;
     margin: 0 -8%;
     /* section ke side padding tak full width */
     -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
     mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
 }

 .testimonial-track {
     display: flex;
     width: max-content;
     animation: testimonialScroll 30s linear infinite;
     will-change: transform;
 }

 .testimonial-slider:hover .testimonial-track {
     animation-play-state: paused;
 }

 .testimonial-track .testimonial-card {
     width: 360px;
     flex-shrink: 0;
     margin-right: 30px;
     background: linear-gradient(135deg, #fdfbf7, #f4eee1);
     border: 1px solid rgba(212, 175, 55, 0.3);
     border-radius: 15px;
     padding: 30px;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
     position: relative;
 }

 .quote-icon {
     font-size: 2.5rem;
     color: rgba(212, 175, 55, 0.3);
     position: absolute;
     top: 20px;
     right: 20px;
 }

 .stars {
     color: var(--amber-gold);
     margin-bottom: 15px;
 }

 .testimonial-text {
     font-size: 0.95rem;
     color: #555;
     line-height: 1.6;
     margin-bottom: 20px;
     font-style: italic;
 }

 .client-info {
     display: flex;
     align-items: center;
     gap: 15px;
 }

 .client-img {
     width: 60px;
     height: 60px;
     border-radius: 50%;
     object-fit: cover;
     border: 2px solid var(--amber-gold);
 }

 .client-info h5 {
     color: var(--dark-red);
     margin: 0 0 5px 0;
     font-size: 1rem;
 }

 .client-info span {
     font-size: 0.8rem;
     color: #777;
     font-weight: 500;
 }

 @keyframes testimonialScroll {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(var(--shift, -50%));
     }
 }

 @media (max-width: 576px) {
     .testimonial-track .testimonial-card {
         width: 290px;
         margin-right: 20px;
     }
 }

 /* ===== Client List Section ===== */
 .client-stats {
     max-width: 900px;
     margin: 0 auto 50px;
     background: linear-gradient(135deg, var(--dark-red), var(--primary-red));
     border-top: 4px solid var(--amber-gold);
     border-radius: 20px;
     padding: 30px 20px;
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     text-align: center;
     box-shadow: 0 15px 35px rgba(139, 0, 0, 0.25);
 }

 .client-stat i {
     font-size: 1.5rem;
     color: var(--amber-gold);
     margin-bottom: 8px;
 }

 .client-stat h3 {
     font-size: 2.2rem;
     color: var(--white);
     line-height: 1.1;
 }

 .client-stat p {
     font-size: 0.8rem;
     color: #fde68a;
     font-weight: 500;
     letter-spacing: 1px;
     text-transform: uppercase;
     margin-top: 4px;
 }

 .client-stat+.client-stat {
     border-left: 1px solid rgba(212, 175, 55, 0.4);
 }

 .client-grid {
     max-width: 1200px;
     margin: 0 auto;
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 25px;
 }

 .client-card {
     background: var(--white);
     border: 1px solid rgba(212, 175, 55, 0.3);
     border-radius: 20px;
     padding: 30px 25px;
     text-align: center;
     box-shadow: 0 8px 25px rgba(0, 0, 0, 0.07);
     transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
 }

 .client-card:hover {
     transform: translateY(-8px);
     border-color: var(--amber-gold);
     box-shadow: 0 18px 40px rgba(197, 29, 47, 0.15);
 }

 .client-logo {
     width: 70px;
     height: 70px;
     margin: 0 auto 18px;
     border-radius: 50%;
     background: linear-gradient(135deg, var(--primary-red), var(--amber-gold));
     color: var(--white);
     font-size: 1.7rem;
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 6px 15px rgba(197, 29, 47, 0.3);
 }

 .client-card h4 {
     font-size: 1.25rem;
     color: var(--dark-red);
     margin-bottom: 8px;
 }

 .client-category {
     display: inline-block;
     background: #fde8e8;
     color: var(--primary-red);
     font-size: 0.75rem;
     font-weight: 700;
     padding: 4px 14px;
     border-radius: 20px;
     margin-bottom: 18px;
 }

 .client-meta {
     list-style: none;
     border-top: 1px dashed #e5e7eb;
     padding-top: 15px;
     display: flex;
     flex-direction: column;
     gap: 8px;
 }

 .client-meta li {
     font-size: 0.9rem;
     color: #6b7280;
 }

 .client-meta li i {
     color: var(--amber-gold);
     margin-right: 6px;
 }

 @media (max-width: 992px) {
     .client-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 @media (max-width: 576px) {
     .client-grid {
         grid-template-columns: 1fr;
     }

     .client-stats {
         grid-template-columns: 1fr;
         gap: 20px;
     }

     .client-stat+.client-stat {
         border-left: none;
         border-top: 1px solid rgba(212, 175, 55, 0.4);
         padding-top: 20px;
     }
 }

 /* ===== Testimonials Section ===== */
 .testimonial-card {
     position: relative;
     background: var(--white);
     padding: 35px 30px 30px;
     border-radius: 24px;
     border: 1px solid rgba(212, 175, 55, 0.3);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .testimonial-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 20px 40px rgba(197, 29, 47, 0.15);
 }

 .testimonial-card .quote-icon {
     position: absolute;
     top: 20px;
     right: 25px;
     font-size: 2.5rem;
     color: var(--amber-gold);
     opacity: 0.35;
 }

 .testimonial-card .stars {
     color: var(--amber-gold);
     font-size: 1rem;
     margin-bottom: 15px;
     display: flex;
     gap: 3px;
 }

 .testimonial-text {
     color: #4b5563;
     font-size: 0.97rem;
     line-height: 1.7;
     font-style: italic;
     margin-bottom: 25px;
 }

 .client-info {
     display: flex;
     align-items: center;
     gap: 15px;
     border-top: 1px solid #f3f4f6;
     padding-top: 20px;
 }

 .client-avatar {
     width: 50px;
     height: 50px;
     border-radius: 50%;
     background: linear-gradient(135deg, var(--primary-red), var(--amber-gold));
     color: var(--white);
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: 700;
     font-size: 1.2rem;
     flex-shrink: 0;
 }

 .client-info h5 {
     font-size: 1.05rem;
     color: var(--dark-red);
     margin-bottom: 2px;
 }

 .client-info span {
     font-size: 0.82rem;
     color: #6b7280;
 }

 /* ===== Testimonial Slider ===== */
 .testimonial-slider {
     overflow: hidden;
     padding: 20px 0 35px;
     margin: 0 -8%;
     -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
     mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
 }

 .testimonial-track {
     display: flex;
     width: max-content;
     animation: testimonialScroll 30s linear infinite;
     will-change: transform;
 }

 .testimonial-slider:hover .testimonial-track {
     animation-play-state: paused;
 }

 .testimonial-track .testimonial-card {
     width: 360px;
     flex-shrink: 0;
     margin-right: 30px;
 }

 @keyframes testimonialScroll {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(var(--shift, -50%));
     }
 }

 @media (max-width: 576px) {
     .testimonial-track .testimonial-card,
     .expertise-track .card,
     .refreshments-track .card {
         width: 290px;
         margin-right: 20px;
     }
 }

 /* Floating Contact Buttons */
 .floating-contact {
     position: fixed;
     bottom: 30px;
     right: 30px;
     /* Floating on the right side */
     display: flex;
     flex-direction: column;
     gap: 15px;
     z-index: 1000;
 }

 .float-btn {
     width: 55px;
     height: 55px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.8rem;
     color: white;
     text-decoration: none;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .float-btn:hover {
     transform: scale(1.1);
     box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
     color: white;
 }

 .float-wa {
     background-color: #25D366;
     /* WhatsApp Green */
 }

 .float-call {
     background-color: #007bff;
     /* Blue for call */
 }

 /* Mobile Responsive Top Bar */
 @media (max-width: 768px) {
     .top-bar {
         flex-direction: column;
         text-align: center;
         gap: 10px;
         padding: 12px 5%;
     }

     .top-bar div {
         flex-wrap: wrap;
         justify-content: center;
         gap: 15px;
     }
 }

 /* Mobile Responsive About Us Section */
 @media (max-width: 768px) {
     .founder-image-wrapper {
         float: none;
         margin-left: auto;
         margin-right: auto;
         margin-bottom: 20px;
         shape-outside: none;
     }

     .founder-intro {
         text-align: center;
     }

     .founder-intro p {
         text-align: justify;
     }

     /* Make grids stack on mobile */
     .features-grid {
         grid-template-columns: 1fr;
     }

     .about-stats-row {
         grid-template-columns: 1fr;
     }
 }

/* Gallery Styles & Mobile Responsiveness */
.gallery-card {
    border: none;
    box-shadow: none;
    position: relative;
}

.gallery-media {
    width: 100%;
    height: 280px;
    object-fit: cover;
    cursor: pointer;
    border-radius: 15px;
    transition: transform 0.3s ease;
}

.gallery-media:hover {
    transform: scale(1.02);
}

.play-icon-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4rem;
    color: rgba(255, 255, 255, 0.8);
    pointer-events: none;
    transition: color 0.3s ease, transform 0.3s ease;
}

.gallery-card:hover .play-icon-overlay {
    color: var(--amber-gold);
    transform: translate(-50%, -50%) scale(1.1);
}

@media (max-width: 768px) {
    .gallery-media {
        height: 200px;
    }
    
    .play-icon-overlay {
        font-size: 3rem;
    }
}

/* Custom Highlight Classes */
.gst-text {
    font-weight: bold;
    color: black;
}

.founder-highlight {
    background: linear-gradient(90deg, #d32f2f, #ff9800);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}