 @import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Montserrat:wght@300;400;600;700&family=Great+Vibes&display=swap');

 :root {
     --primary-blue: #1A237E;
     --dark-blue: #0D1240;
     --accent-gold: #D4AF37;
     --soft-gold: #f4e4bc;
     --light-bg: #fdfdfd;
     --section-alt: #f4f6f9;
     --white: #ffffff;
     --transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: 'Montserrat', sans-serif;
     color: #333;
     background: var(--light-bg);
     overflow-x: hidden !important;
     line-height: 1.6;
 }

 h1,
 h2,
 h3,
 h4 {
     font-family: 'Cinzel', serif;
     color: var(--primary-blue);
     text-transform: uppercase;
     letter-spacing: 2px;
 }

 p {
     font-size: 0.95rem;
     color: #555;
 }

 .cursive {
     font-family: 'Great Vibes', cursive;
     color: var(--accent-gold);
     font-size: 3rem;
     text-transform: none;
     letter-spacing: 0;
 }

 .container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 25px;
 }

 .section-padding {
     padding: 100px 0;
 }

 .center-text {
     text-align: center;
     margin-bottom: 60px;
 }

 .gold-divider {
     width: 80px;
     height: 3px;
     background: var(--accent-gold);
     margin: 15px auto;
 }

 /* --- NAVIGATION --- */
 header {
     position: fixed;
     top: 0;
     width: 100%;
     z-index: 1000;
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(10px);
     box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
     padding: 10px 0;
 }

 .nav-flex {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .logo-img {
     height: 60px;
     transition: var(--transition);
 }

 .nav-links {
     display: flex;
     list-style: none;
     gap: 20px;
 }

 .nav-links a {
     text-decoration: none;
     color: var(--primary-blue);
     font-weight: 700;
     font-size: 0.75rem;
     text-transform: uppercase;
     transition: var(--transition);
 }

 .nav-links a:hover {
     color: var(--accent-gold);
 }

 /* Hamburger Toggle */
 .menu-toggle {
     display: none;
     font-size: 1.8rem;
     cursor: pointer;
     color: var(--primary-blue);
 }

 /* --- HERO BANNER --- */
 /* HERO */
 .hero {
     position: relative;
     height: 100vh;
     background: url('../images/banner.jpg') center/cover no-repeat;
     display: flex;
     align-items: center;
     justify-content: flex-start;
     /* LEFT ALIGN (important) */
     padding-left: 80px;
     color: #fff;
 }

 /* OVERLAY (light so image text still visible) */
 .hero-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to right, rgb(0 0 0 / 60%), rgba(255, 255, 255, 0.2));
 }

 /* CONTENT */
 .hero-content {
     position: relative;
     z-index: 2;
     /* max-width: 600px; */
 }

 /* TEXT */
 .cursive {
     font-family: 'Great Vibes', cursive;
     font-size: 28px;
     color: #d4af37;
 }

 .hero h1 {
     font-size: 48px;
     margin: 10px 0;
 }

 .tagline {
     font-size: 16px;
     margin-bottom: 25px;
 }

 /* BUTTONS */
 .hero-buttons {
     display: flex;
     gap: 15px;
 }

 .btn {
     padding: 10px 22px;
     border-radius: 25px;
     text-decoration: none;
     font-size: 14px;
     transition: 0.3s;
 }

 .primary-btn {
     background: #d4af37;
     color: #000;
 }

 .primary-btn:hover {
     background: #fff;
 }

 .secondary-btn {
     border: 1px solid #fff;
     color: #fff;
 }

 .secondary-btn:hover {
     background: #fff;
     color: #000;
 }

 /* MOBILE */
 @media (max-width: 768px) {
     .hero {
         justify-content: center;
         padding-left: 20px;
         text-align: center;
     }

     .hero h1 {
         font-size: 32px;
     }

     .hero-buttons {
         justify-content: center;
         flex-wrap: wrap;
     }
 }

 @keyframes fadeUp {
     from {
         opacity: 0;
         transform: translateY(40px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .cursive {
     font-family: 'Great Vibes', cursive;
     font-size: 28px;
     color: #000000;

 }

 .hero h1 {
     font-size: 47px;
     margin: 10px 0;
     letter-spacing: 2px;
 }

 .tagline {
     font-size: 18px;
     margin-bottom: 25px;
     opacity: 0.9;
     color: #000;
 }

 /* Buttons */
 .hero-buttons {
     display: flex;
     gap: 15px;
     justify-content: left;
 }

 .btn {
     padding: 10px 22px;
     border-radius: 25px;
     text-decoration: none;
     font-size: 14px;
     transition: 0.3s ease;
 }

 .primary-btn {
     background: gold;
     color: #000;
 }

 .primary-btn:hover {
     background: #fff;
 }

 .secondary-btn {
     border: 1px solid #fff;
     color: #000000;
     background-color: #fff;
 }

 .secondary-btn:hover {
     background: gold;
     color: #000;
 }

 /* --- GRID SECTIONS --- */
 .event-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
     gap: 20px;
 }

 .event-card {
     position: relative;
     height: 350px;
     border-radius: 15px;
     overflow: hidden;
     cursor: pointer;
     display: flex;
     align-items: flex-end;
     padding: 20px;
 }

 .event-card img {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     z-index: 1;
     transition: var(--transition);
 }

 .event-card:hover img {
     transform: scale(1.1);
     filter: brightness(0.4);
 }

 .event-overlay {
     position: relative;
     z-index: 2;
     color: white;
 }

 .event-card h3 {
     color: white;
     font-size: 1.2rem;
 }

 .usp-row {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 40px;
 }

 .usp-item {
     text-align: center;
     padding: 20px;
     transition: var(--transition);
 }

 .usp-icon {
     font-size: 3.5rem;
     margin-bottom: 20px;
     display: block;
     color: var(--accent-gold);
 }

 .usp-item:hover {
     transform: translateY(-10px);
 }

 /* --- STATISTICS --- */
 .stats-section {
     position: relative;
     background: url('../images/counter.jpg') center/cover no-repeat;
     padding: 80px 0;
     color: #fff;
 }

 /* Overlay */
 .stats-overlay {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: #a7a7a7b3;
 }

 /* Content */
 .stats-section .container {
     position: relative;
     z-index: 2;
 }

 /* Header */
 .stats-header {
     margin-bottom: 50px;
 }

 .stats-header h2 {
     font-size: 36px;
 }

 /* Grid */
 .stats-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
     gap: 30px;
     text-align: center;
 }

 /* Cards */
 .stat-card {
     padding: 30px 20px;
     border-radius: 15px;
     background: #ffffff;
     backdrop-filter: blur(8px);
     transition: 0.3s;
 }

 .stat-card:hover {
     transform: translateY(-8px);
     background: #fff;
 }

 /* Numbers */
 .stat-number {
     font-size: 42px;
     font-weight: bold;
     color: gold;
     margin-bottom: 10px;
 }

 /* Label */
 .stat-card p {
     font-size: 18px;
     letter-spacing: 1px;
 }

 /* --- LAYOUTS & MENU --- */
 .layout-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 30px;
 }

 .layout-card {
     background: white;
     border-radius: 15px;
     padding: 30px;
     border: 1px solid #eee;
     text-align: center;
 }

 .layout-card i {
     font-size: 2.5rem;
     color: var(--primary-blue);
     margin-bottom: 15px;
     display: block;
 }

 .menu-tabs {
     display: flex;
     justify-content: center;
     gap: 20px;
     margin-bottom: 40px;
 }

 .tab-btn {
     padding: 10px 30px;
     border: 2px solid var(--accent-gold);
     background: transparent;
     font-family: 'Cinzel';
     cursor: pointer;
     transition: 0.3s;
 }

 .tab-btn.active,
 .tab-btn:hover {
     background: var(--accent-gold);
     color: white;
 }

 .menu-content {
     display: none;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 20px;
 }

 .menu-content.active {
     display: grid;
 }

 /* --- INSTAGRAM GRID --- */
 .insta-section {
     background: #f9f7f2;
     /* soft cream */
     color: #222;
 }

 /* Handle */
 .insta-handle {
     color: #888;
     margin-top: 5px;
     font-size: 14px;
 }

 /* Grid */
 .insta-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
     gap: 15px;
     margin-top: 40px;
 }

 /* Item */
 .insta-item {
     position: relative;
     overflow: hidden;
     border-radius: 12px;
 }

 .insta-item img {
     width: 100%;
     display: block;
     transition: 0.4s;
 }

 /* Overlay */
 .insta-overlay {
     position: absolute;
     inset: 0;
     background: rgba(255, 255, 255, 0.75);
     /* light overlay */
     backdrop-filter: blur(4px);
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 15px;
     font-size: 14px;
     opacity: 0;
     transition: 0.3s;
     color: #000;
 }

 /* Hover */
 .insta-item:hover img {
     transform: scale(1.08);
 }

 .insta-item:hover .insta-overlay {
     opacity: 1;
 }

 /* CTA */
 .insta-cta {
     text-align: center;
     margin-top: 30px;
 }

 .insta-btn {
     display: inline-block;
     padding: 10px 22px;
     border: 1px solid gold;
     color: #bfa046;
     text-decoration: none;
     border-radius: 25px;
     transition: 0.3s;
 }

 .insta-btn:hover {
     background: #bfa046;
     color: #fff;
 }

 /* --- TEAM & BLOG --- */
 .team-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 30px;
 }

 .team-card {
     background: white;
     border-radius: 15px;
     overflow: hidden;
     text-align: center;
     padding-bottom: 20px;
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
 }

 .team-img {
     width: 100%;
     height: 300px;
     object-fit: cover;
 }

 .blog-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 30px;
 }

 .blog-card {
     background: white;
     border-radius: 15px;
     overflow: hidden;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
 }

 .blog-card img {
     width: 100%;
     height: 200px;
     object-fit: cover;
 }

 .blog-info {
     padding: 20px;
 }

 /* --- OFFERS --- */
 .offer-section {
     background: #f9f7f2;
     /* soft elegant background */
 }

 /* Banner */
 .offer-banner {
     position: relative;
     padding: 50px 30px;
     border-radius: 20px;
     text-align: center;
     background: linear-gradient(135deg, #fff, #f3efe6);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     overflow: hidden;
 }

 /* Subtle gold glow */
 .offer-banner::before {
     content: "";
     position: absolute;
     top: -50px;
     right: -50px;
     width: 150px;
     height: 150px;
     background: radial-gradient(circle, rgba(191, 160, 70, 0.3), transparent);
 }

 /* Badge */
 .offer-badge {
     display: inline-block;
     background: #bfa046;
     color: #fff;
     font-size: 12px;
     padding: 5px 12px;
     border-radius: 20px;
     margin-bottom: 15px;
     letter-spacing: 1px;
 }

 /* Heading */
 .offer-banner h2 {
     font-size: 32px;
     margin-bottom: 10px;
     color: #222;
 }

 /* Text */
 .offer-banner p {
     font-size: 16px;
     color: #666;
     margin-bottom: 25px;
 }

 /* Button */
 .offer-btn {
     display: inline-block;
     padding: 12px 26px;
     background: #bfa046;
     color: #fff;
     text-decoration: none;
     border-radius: 25px;
     font-weight: 600;
     transition: 0.3s;
 }

 .offer-btn:hover {
     background: #a88c3d;
     transform: translateY(-2px);
 }

 /* --- QUICK CONTACT --- */
 .quick-contact {
     position: fixed;
     bottom: 0;
     width: 100%;
     background: var(--white);
     display: flex;
     justify-content: space-around;
     padding: 12px 0;
     box-shadow: 0 -2px 15px rgba(0, 0, 0, 0.1);
     z-index: 999;
 }

 .quick-btn {
     text-decoration: none;
     color: var(--primary-blue);
     font-weight: 700;
     font-size: 0.8rem;
     display: flex;
     flex-direction: column;
     align-items: center;
 }

 /* --- REVEAL ANIMATION --- */
 .reveal {
     opacity: 0;
     transform: translateY(40px);
     transition: 1s all ease;
 }

 .reveal.active {
     opacity: 1;
     transform: translateY(0);
 }

 @keyframes pulse {
     0% {
         transform: scale(1);
     }

     50% {
         transform: scale(1.1);
     }

     100% {
         transform: scale(1);
     }
 }

 /* --- RESPONSIVE MEDIA QUERIES --- */
 @media (max-width: 768px) {
     .menu-toggle {
         display: block;
     }

     .nav-links {
         position: absolute;
         top: 100%;
         left: 0;
         width: 100%;
         background: white;
         flex-direction: column;
         gap: 0;
         text-align: center;
         max-height: 0;
         overflow: hidden;
         transition: var(--transition);
         box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
     }

     .nav-links.active {
         max-height: 400px;
         padding: 20px 0;
     }

     .nav-links li {
         padding: 15px 0;
         border-bottom: 1px solid #eee;
     }

     .hero-content h1 {
         font-size: 2.8rem;
     }

     .insta-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .section-padding {
         padding: 60px 10px;
     }

     .offer-banner {
         padding: 40px 20px;
     }
 }

 /* Logo */
 .footer {
     position: relative;
     background: url('../images/footer.jpg') center/cover no-repeat;
     color: #fff;
     padding: 60px 0 20px;
     overflow: hidden;
 }

 /* Overlay FIX */
 .footer-overlay {
     position: absolute;
     inset: 0;
     background: rgba(0, 0, 0, 0.7);
     z-index: 1;
 }

 /* Bring content above overlay */
 .footer .container,
 .footer-bottom {
     position: relative;
     z-index: 2;
 }

 /* GRID FIX */
 .footer-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
     gap: 30px;
 }

 /* LOGO */
 .footer-logo {
     width: 270px;
     margin-bottom: 10px;
 }

 /* TEXT */
 .footer-text {
     color: #ccc;
     color: #f5f5f5;
     font-size: 15px;
 }

 /* HEADINGS */
 .footer-col h4 {
     margin-bottom: 15px;
     font-size: 18px;
     color: #fff;
 }

 /* LIST FIX */
 .footer-list {
     list-style: none;
     padding: 0;
     margin: 0;
 }

 .footer-list li {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 10px;
     font-size: 14px;
     color: #ffffff;
 }

 /* ICON FIX */
 .footer-list i {
     color: #d4af37;
     font-size: 19px;
     min-width: 18px;
 }

 /* LINKS */
 .footer-list a {
     color: #ffffff;
     text-decoration: none;
     transition: 0.3s;
 }

 .footer-list a:hover {
     color: #d4af37;
 }

 /* SOCIAL ICONS */
 .social-icons {
     margin-top: 10px;
 }

 .social-icons a {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 38px;
     height: 38px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     color: #fff;
     margin-right: 10px;
     transition: 0.3s;
 }

 .social-icons a:hover {
     background: #d4af37;
     color: #000;
 }

 /* BOTTOM */
 .footer-bottom {
     text-align: center;
     margin-top: 30px;
     padding-top: 15px;
     border-top: 1px solid rgba(255, 255, 255, 0.2);
     font-size: 13px;
     color: #aaa;
 }

 /* MOBILE FIX */
 @media (max-width: 768px) {
     .footer {
         text-align: left;
     }

     .footer-list li {
         justify-content: left;
     }
 }

 /* Social Icons */
 .social-icons a {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 38px;
     height: 38px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     color: #fff;
     margin-right: 10px;
     transition: 0.3s;
 }

 .social-icons a:hover {
     background: #d4af37;
     color: #000;
 }

 .white {
     color: #fff;
     margin-bottom: 25px;
 }

 .dark {
     color: #000;
 }

 .event-btn {
     padding: 10px 15px;
     /* margin-top: 10px; */
     background-color: #ffbc00;
     border-radius: 5px;
     color: #fff;
 }


 .why-us-section {
     background: var(--section-alt);
 }

 /* Subtitle */
 .section-subtitle {
     margin-top: 10px;
     color: #777;
     font-size: 14px;
 }

 /* Grid */
 .usp-row {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 30px;
     margin-top: 40px;
 }

 /* Card */
 .usp-card {
     background: #fff;
     padding: 30px 20px;
     border-radius: 15px;
     text-align: center;
     transition: 0.4s ease;
     position: relative;
     overflow: hidden;
 }

 /* Gold top border effect */
 .usp-card::before {
     content: "";
     position: absolute;
     top: 0;
     left: 50%;
     width: 0;
     height: 3px;
     background: gold;
     transition: 0.4s ease;
     transform: translateX(-50%);
 }

 .usp-card:hover::before {
     width: 80%;
 }

 /* Hover effect */
 .usp-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
 }

 /* Icon */
 .usp-icon {
     font-size: 40px;
     margin-bottom: 15px;
 }

 /* Text */
 .usp-card h3 {
     margin-bottom: 10px;
     font-size: 20px;
 }

 .usp-card p {
     font-size: 14px;
     color: #666;
 }



 .layout-section {
     background: #fafafa;
 }

 /* Subtitle */
 .section-subtitle {
     margin-top: 10px;
     color: #777;
     font-size: 14px;
 }

 /* Grid */
 .layout-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 30px;
     margin-top: 40px;
 }

 /* Card */
 .layout-card {
     border-radius: 15px;
     overflow: hidden;
     background: #fff;
     transition: 0.4s ease;
     box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
 }

 /* Image */
 .layout-card img {
     width: 100%;
     height: 200px;
     object-fit: cover;
     transition: 0.5s;
 }

 /* Content */
 .layout-content {
     padding: 20px;
 }

 .layout-content h3 {
     margin-bottom: 8px;
     font-size: 20px;
 }

 .layout-content p {
     font-size: 14px;
     margin-bottom: 6px;
     color: #444;
 }

 .layout-content span {
     font-size: 13px;
     color: #777;
 }

 /* Hover Effects */
 .layout-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
 }

 .layout-card:hover img {
     transform: scale(1.1);
 }


 .menu-section {
     background: #fff;
 }

 /* Subtitle */
 .section-subtitle {
     margin-top: 10px;
     color: #777;
     font-size: 14px;
 }

 /* Tabs */
 .menu-tabs {
     text-align: center;
     margin: 30px 0;
 }

 .tab-btn {
     padding: 8px 18px;
     border: none;
     background: transparent;
     border-bottom: 2px solid transparent;
     cursor: pointer;
     font-size: 15px;
     margin: 0 10px;
     transition: 0.3s;
 }

 .tab-btn.active {
     border-color: gold;
     color: gold;
 }

 .tab-btn:hover {
     color: gold;
 }

 /* Content */
 .menu-content {
     display: none;
 }

 .menu-content.active {
     display: block;
 }

 /* Grid */
 .menu-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 25px;
 }

 /* Card */
 .menu-card {
     background: #fafafa;
     padding: 25px;
     border-radius: 12px;
     transition: 0.3s;
 }

 .menu-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
 }

 /* Text */
 .menu-card h4 {
     margin-bottom: 12px;
 }

 .menu-card ul {
     list-style: none;
     padding: 0;
 }

 .menu-card li {
     font-size: 14px;
     margin-bottom: 6px;
     color: #555;
 }

 @media screen and (max-width:768px) {
     .logo-img {
         height: 52px;
     }
 }


 .events-hero {
     height: 500px;
     background:
         linear-gradient(rgba(10, 15, 60, 0.75), rgba(10, 15, 60, 0.75)),
         url('../images/sub-banner.jpg') center/cover no-repeat;

     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     padding: 20px;
 }

 .events-hero-content h1 {
     font-size: 54px;
     color: #fff;
     font-weight: 700;
     margin-bottom: 20px;
     letter-spacing: 1px;
 }

 .events-hero-content p {
     color: #ddd;
     max-width: 700px;
     margin: auto;
     line-height: 1.8;
     font-size: 17px;
 }

 .hero-btn {
     display: inline-block;
     margin-top: 30px;
     background: #1a237e;
     color: #fff;
     padding: 14px 34px;
     border-radius: 50px;
     text-decoration: none;
     font-weight: 500;
     transition: 0.4s;
     border: 2px solid #1a237e;
 }

 .hero-btn:hover {
     background: transparent;
     color: #fff;
 }

 /* SECTION */

 .section {
     padding: 100px 8%;
 }

 .section-title {
     text-align: center;
     margin-bottom: 70px;
 }

 .section-title h2 {
     font-size: 42px;
     color: #1a237e;
     margin-bottom: 15px;
 }

 .section-title p {
     color: #666;
     max-width: 700px;
     margin: auto;
     line-height: 1.8;
 }

 /* EVENT ROW */

 .event-row {
     display: flex;
     align-items: center;
     gap: 60px;
     margin-bottom: 80px;
     background: #fff;
     border-radius: 30px;
     overflow: hidden;
     box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
     transition: 0.4s;
 }

 .event-row:hover {
     transform: translateY(-8px);
 }

 .event-row img {
     width: 50%;
     height: 420px;
     object-fit: cover;
 }

 .event-content {
     width: 50%;
     padding: 50px 15px;
 }

 .event-content span {
     color: #1a237e;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 1px;
     font-size: 14px;
 }

 .event-content h2 {
     font-size: 29px;
     margin: 15px 0;
     color: #111;
 }

 .event-content p {
     color: #666;
     line-height: 1.9;
     margin-bottom: 25px;
     font-size: 16px;
 }

 .event-btn {
     display: inline-block;
     padding: 13px 28px;
     background: #d4af37;
     color: #fff;
     text-decoration: none;
     border-radius: 40px;
     transition: 0.4s;
     border: 2px solid #d4af37;
 }

 .event-btn:hover {
     background: transparent;
     color: #1a237e;
 }

 .reverse {
     flex-direction: row-reverse;
 }

 /* PREMIUM STRIP */

 .premium-strip {
     background: #1a237e;
     padding: 80px 8%;
     text-align: center;
     color: #fff;
 }

 .premium-strip h2 {
     font-size: 42px;
     margin-bottom: 20px;
 }

 .premium-strip p {
     max-width: 700px;
     margin: auto;
     line-height: 1.9;
     color: #d9d9d9;
 }

 .premium-btn {
     display: inline-block;
     margin-top: 30px;
     background: #fff;
     color: #1a237e;
     padding: 14px 34px;
     border-radius: 50px;
     text-decoration: none;
     font-weight: 600;
     transition: 0.4s;
 }

 .premium-btn:hover {
     transform: translateY(-4px);
 }

 /* RESPONSIVE */

 @media(max-width:991px) {

     .events-hero {
         height: 550px;
     }

     .events-hero-content h1 {
         font-size: 42px;
     }

     .event-row,
     .reverse {
         flex-direction: column;
     }

     .event-row img,
     .event-content {
         width: 100%;
     }

     .event-row img {
         height: 300px;
     }

     .event-content {
         padding: 35px;
     }

     .event-content h2 {
         font-size: 30px;
     }

 }

 @media(max-width:600px) {

     .section {
         padding: 70px 5%;
     }

     .events-hero-content h1 {
         font-size: 34px;
     }

     .section-title h2 {
         font-size: 32px;
     }

     .event-content {
         padding: 25px;
     }

     .event-content h2 {
         font-size: 26px;
     }

     .premium-strip h2 {
         font-size: 30px;
     }

 }


 /* HERO */

 .exp-hero {
     position: relative;
     height: 620px;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     overflow: hidden;

     background:
         linear-gradient(rgba(10, 20, 80, 0.78), rgba(10, 20, 80, 0.78)),
         url('../images/sub-banner.jpg') center/cover no-repeat;
 }

 .exp-hero::after {
     content: '';
     position: absolute;
     bottom: -1px;
     left: 0;
     width: 100%;
     height: 120px;
     background: linear-gradient(to top, #f6f8ff, transparent);
 }

 .hero-content {
     position: relative;
     z-index: 2;
     max-width: 850px;
     padding: 20px;
 }

 .hero-content span {
     display: inline-block;
     color: #dbe0ff;
     text-transform: uppercase;
     letter-spacing: 3px;
     font-size: 13px;
     margin-bottom: 18px;
     font-weight: 500;
 }

 .hero-content h1 {
     font-size: 45px;
     line-height: 1.15;
     color: var(--white);
     margin-bottom: 22px;
     font-weight: 700;
 }

 .hero-content p {
     color: #ffffff;
     font-size: 17px;
     line-height: 1.9;
     /* max-width: 700px; */
     margin: auto;
     margin-bottom: 15px;
 }

 .hero-content span {
     font-family: 'Cinzel', serif;
     color: #ffd700;
     font-size: 18px;
 }

 .hero-btns {
     margin-top: 35px;
     display: flex;
     gap: 18px;
     justify-content: center;
     flex-wrap: wrap;
 }

 .hero-btn {
     display: inline-block;
     padding: 15px 34px;
     border-radius: 50px;
     text-decoration: none;
     font-weight: 600;
     transition: 0.4s;
 }

 .hero-btn.primary {
     background: var(--white);
     color: var(--primary);
 }

 .hero-btn.secondary {
     border: 1.5px solid rgba(255, 255, 255, 0.5);
     color: var(--white);
 }

 .hero-btn:hover {
     transform: translateY(-5px);
 }

 /* SECTION */

 .section {
     padding: 110px 0;
 }

 .center {
     text-align: center;
     margin-bottom: 70px;
 }

 .center span {
     color: var(--primary);
     text-transform: uppercase;
     letter-spacing: 2px;
     font-size: 13px;
     font-weight: 600;
 }

 .center h2 {
     font-size: 48px;
     color: var(--primary);
     margin: 15px 0;
     font-weight: 700;
 }

 .center p {
     color: var(--light-text);
     font-size: 16px;
     line-height: 1.9;
     max-width: 700px;
     margin: auto;
 }

 /* EXPERIENCE GRID */

 .exp-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 30px;
 }

 .exp-card {
     position: relative;
     background: rgba(255, 255, 255, 0.9);
     backdrop-filter: blur(10px);
     padding: 45px 30px;
     border-radius: 30px;
     text-align: center;
     border: 1px solid rgba(26, 35, 126, 0.08);
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
     transition: 0.4s;
     overflow: hidden;
 }

 .exp-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 5px;
     background: linear-gradient(to right, #1a237e, #3f51b5);
 }

 .exp-card:hover {
     transform: translateY(-12px);
     box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
 }

 .exp-icon {
     width: 95px;
     height: 95px;
     margin: auto;
     margin-bottom: 28px;
     border-radius: 24px;
     background: linear-gradient(135deg, #eef1ff, #dfe5ff);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 42px;
 }

 .exp-card h3 {
     font-size: 22px;
     margin-bottom: 16px;
     color: #111;
     font-weight: 600;
 }

 .exp-card p {
     color: var(--light-text);
     line-height: 1.9;
     font-size: 15px;
 }

 /* LUXURY SECTION */

 .luxury {
     display: grid;
     grid-template-columns: 1fr 1fr;
     align-items: center;
     background: var(--white);
     border-radius: 35px;
     overflow: hidden;
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
 }

 .luxury-image {
     position: relative;
     height: 100%;
 }

 .luxury-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .floating-box {
     position: absolute;
     bottom: 35px;
     left: 35px;
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(12px);
     padding: 25px;
     border-radius: 24px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     max-width: 260px;
 }

 .floating-box h4 {
     font-size: 38px;
     color: var(--primary);
     margin-bottom: 5px;
 }

 .floating-box p {
     font-size: 14px;
     color: var(--light-text);
     line-height: 1.7;
 }

 .luxury-content {
     padding: 70px;
 }

 .luxury-content span {
     color: var(--primary);
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 2px;
     font-size: 13px;
 }

 .luxury-content h2 {
     font-size: 45px;
     margin: 20px 0;
     color: #111;
     line-height: 1.25;
 }

 .luxury-content p {
     color: var(--light-text);
     line-height: 2;
     margin-bottom: 22px;
     font-size: 16px;
 }

 .luxury-list {
     margin-top: 30px;
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 16px;
 }

 .luxury-list div {
     background: #f6f8ff;
     padding: 15px 18px;
     border-radius: 16px;
     font-size: 15px;
     color: #333;
     font-weight: 500;
 }

 /* CTA */

 .cta {
     position: relative;
     overflow: hidden;
     background:
         linear-gradient(rgba(10, 20, 80, 0.88), rgba(10, 20, 80, 0.88)),
         url('https://images.unsplash.com/photo-1511578314322-379afb476865?q=80&w=1800') center/cover no-repeat;

     padding: 120px 20px;
     text-align: center;
     border-radius: 40px;
     margin: 0 20px 80px;
 }

 .cta::before {
     content: '';
     position: absolute;
     width: 450px;
     height: 450px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.04);
     top: -150px;
     right: -100px;
 }

 .cta-content {
     position: relative;
     z-index: 2;
 }

 .cta h2 {
     font-size: 56px;
     margin-bottom: 20px;
     color: var(--white);
 }

 .cta p {
     color: #e0e0e0;
     font-size: 17px;
     line-height: 1.9;
     max-width: 700px;
     margin: auto;
 }

 .cta a {
     display: inline-block;
     margin-top: 35px;
     padding: 16px 40px;
     background: var(--white);
     color: var(--primary);
     text-decoration: none;
     border-radius: 50px;
     font-weight: 600;
     transition: 0.4s;
 }

 .cta a:hover {
     transform: translateY(-5px);
 }

 /* RESPONSIVE */

 @media(max-width:1100px) {

     .exp-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .luxury {
         grid-template-columns: 1fr;
     }

     .luxury-image {
         height: 450px;
     }

     .luxury-content {
         padding: 50px 35px;
     }

 }

 @media(max-width:768px) {

     .exp-hero {
         height: 550px;
     }

     .hero-content h1 {
         font-size: 46px;
     }

     .section {
         padding: 80px 0;
     }

     .center h2,
     .luxury-content h2,
     .cta h2 {
         font-size: 36px;
     }

     .luxury-list {
         grid-template-columns: 1fr;
     }

 }

 @media(max-width:600px) {

     .exp-grid {
         grid-template-columns: 1fr;
     }

     .hero-content h1 {
         font-size: 38px;
     }

     .hero-content p {
         font-size: 15px;
     }

     .luxury-image {
         height: 320px;
     }

     .floating-box {
         left: 20px;
         bottom: 20px;
         padding: 18px;
     }

     .cta {
         border-radius: 25px;
         margin: 0 15px 60px;
         padding: 90px 20px;
     }

 }


 .hero-menu {
     position: relative;
     height: 520px;
     overflow: hidden;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;

     background:
         linear-gradient(rgba(10, 20, 80, 0.82), rgba(10, 20, 80, 0.82)),
         url('https://images.unsplash.com/photo-1555244162-803834f70033?q=80&w=1800') center/cover no-repeat;
 }

 .hero-menu::before {
     content: '';
     position: absolute;
     width: 550px;
     height: 550px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.04);
     top: -180px;
     right: -100px;
 }

 .hero-menu::after {
     content: '';
     position: absolute;
     width: 400px;
     height: 400px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.03);
     bottom: -150px;
     left: -80px;
 }

 .hero-content-menu {
     position: relative;
     z-index: 2;
     max-width: 850px;
     padding: 20px;
 }

 .hero-content-menu span {
     display: inline-block;
     color: #d6dcff;
     letter-spacing: 3px;
     text-transform: uppercase;
     font-size: 13px;
     margin-bottom: 18px;
 }

 .hero-content-menu h1 {
     font-family: 'Cormorant Garamond', serif;
     font-size: 54px;
     color: #fff;
     line-height: 1.1;
     margin-bottom: 20px;
     font-weight: 700;
 }

 .hero-content-menu p {
     color: #ececec;
     line-height: 2;
     font-size: 16px;
     max-width: 700px;
     margin: auto;
 }

 /* MAIN BOX */

 .menu-wrapper {
     margin-top: -65px;
     position: relative;
     z-index: 5;
     padding-bottom: 100px;
 }

 .menu-box {
     background: rgba(255, 255, 255, 0.9);
     backdrop-filter: blur(14px);
     border-radius: 40px;
     overflow: hidden;
     box-shadow: 0 25px 70px rgba(0, 0, 0, 0.08);
     border: 1px solid rgba(26, 35, 126, 0.08);
 }

 /* TOP */

 .menu-top {
     padding: 70px 60px 40px;
     text-align: center;
     border-bottom: 1px solid #edf0ff;
 }

 .menu-top span {
     color: #1a237e;
     text-transform: uppercase;
     letter-spacing: 2px;
     font-size: 13px;
     font-weight: 600;
 }

 .menu-top h2 {
     font-size: 52px;
     color: #1a237e;
     margin: 18px 0;
     font-family: 'Cormorant Garamond', serif;
 }

 .menu-top p {
     color: #666;
     line-height: 1.9;
     max-width: 750px;
     margin: auto;
 }

 /* GRID */

 .menu-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 35px;
     padding: 60px;
 }

 /* MENU CARD */

 .menu-section {
     position: relative;
     background: linear-gradient(145deg, #ffffff, #f7f8ff);
     border-radius: 30px;
     padding: 35px 30px;
     transition: 0.4s;
     overflow: hidden;
     border: 1px solid rgba(26, 35, 126, 0.06);
 }

 .menu-section:hover {
     transform: translateY(-12px);
     box-shadow: 0 20px 45px rgba(0, 0, 0, 0.08);
 }

 .menu-number {
     position: absolute;
     right: 20px;
     top: 15px;
     font-size: 65px;
     font-weight: 700;
     color: rgba(26, 35, 126, 0.05);
     line-height: 1;
 }

 .menu-icon {
     width: 72px;
     height: 72px;
     border-radius: 22px;
     background: linear-gradient(135deg, #eef1ff, #dfe5ff);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 34px;
     margin-bottom: 25px;
 }

 .menu-section h3 {
     color: #1a237e;
     font-size: 21px;
     margin-bottom: 22px;
     position: relative;
     padding-bottom: 15px;
 }

 .menu-section h3::after {
     content: '';
     position: absolute;
     left: 0;
     bottom: 0;
     width: 60px;
     height: 3px;
     border-radius: 10px;
     background: #1a237e;
 }

 .menu-section ul {
     list-style: none;
 }

 .menu-section ul li {
     position: relative;
     padding-left: 28px;
     margin-bottom: 15px;
     color: #444;
     font-size: 15px;
 }

 .menu-section ul li::before {
     content: '✦';
     position: absolute;
     left: 0;
     top: 0;
     color: #1a237e;
     font-size: 13px;
 }

 /* BOTTOM CTA */

 .menu-contact {
     position: relative;
     overflow: hidden;
     background: linear-gradient(135deg, #1a237e, #283593);
     padding: 70px 40px;
     text-align: center;
 }

 .menu-contact::before {
     content: '';
     position: absolute;
     width: 350px;
     height: 350px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.05);
     top: -120px;
     right: -80px;
 }

 .menu-contact-content {
     position: relative;
     z-index: 2;
 }

 .menu-contact h3 {
     color: #fff;
     font-size: 52px;
     margin-bottom: 18px;
     font-family: 'Cormorant Garamond', serif;
 }

 .menu-contact p {
     color: #d9d9d9;
     max-width: 700px;
     margin: auto;
     line-height: 1.9;
 }

 .contact-btn {
     display: inline-block;
     margin-top: 35px;
     background: #fff;
     color: #1a237e;
     padding: 16px 40px;
     border-radius: 50px;
     text-decoration: none;
     font-weight: 600;
     transition: 0.4s;
 }

 .contact-btn:hover {
     transform: translateY(-5px);
 }

 /* RESPONSIVE */

 @media(max-width:1100px) {

     .menu-grid {
         grid-template-columns: repeat(2, 1fr);
     }

 }

 @media(max-width:768px) {

     .hero-menu {
         height: 550px;
     }

     .hero-content-menu h1 {
         font-size: 48px;
     }

     .menu-top {
         padding: 50px 25px 30px;
     }

     .menu-top h2 {
         font-size: 38px;
     }

     .menu-grid {
         grid-template-columns: 1fr;
         padding: 35px 25px;
     }

     .menu-contact h3 {
         font-size: 38px;
     }

 }

 @media(max-width:600px) {

     .hero-content-menu h1 {
         font-size: 38px;
     }

     .hero-content-menu p {
         font-size: 15px;
     }

     .menu-box {
         border-radius: 25px;
     }

     .menu-section {
         padding: 30px 24px;
     }

     .menu-contact {
         padding: 55px 20px;
     }

 }


 /* HERO */

 .hero-gallery {
     position: relative;
     height: 500px;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     overflow: hidden;

     background:
         linear-gradient(rgba(10, 20, 80, 0.8), rgba(10, 20, 80, 0.8)),
         url('../images/sub-banner.jpg') center/cover no-repeat;
 }

 .hero-gallery::before {
     content: '';
     position: absolute;
     width: 500px;
     height: 500px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.04);
     top: -180px;
     right: -120px;
 }

 .hero-content-gallery {
     position: relative;
     z-index: 2;
     max-width: 850px;
     padding: 20px;
 }

 .hero-content-gallery span {
     display: inline-block;
     color: #d8ddff;
     text-transform: uppercase;
     letter-spacing: 3px;
     font-size: 13px;
     margin-bottom: 18px;
 }

 .hero-content-gallery h1 {
     font-family: 'Cormorant Garamond', serif;
     font-size: 54px;
     color: #fff;
     margin-bottom: 18px;
     line-height: 1.1;
 }

 .hero-content-gallery p {
     color: #ececec;
     line-height: 2;
     font-size: 16px;
     max-width: 700px;
     margin: auto;
 }

 /* GALLERY WRAPPER */

 .gallery-wrapper {
     margin-top: -80px;
     position: relative;
     z-index: 5;
     padding-bottom: 100px;
 }

 .gallery-box {
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: blur(14px);
     border-radius: 40px;
     padding: 60px;
     box-shadow: 0 25px 70px rgba(0, 0, 0, 0.08);
     border: 1px solid rgba(26, 35, 126, 0.08);
 }

 /* TOP */

 .gallery-top {
     text-align: center;
     margin-bottom: 50px;
 }

 .gallery-top span {
     color: #1a237e;
     text-transform: uppercase;
     letter-spacing: 2px;
     font-size: 13px;
     font-weight: 600;
 }

 .gallery-top h2 {
     font-size: 54px;
     color: #1a237e;
     margin: 15px 0;
     font-family: 'Cormorant Garamond', serif;
 }

 .gallery-top p {
     color: #666;
     line-height: 1.9;
     max-width: 750px;
     margin: auto;
 }

 /* FILTER */

 .filters {
     display: flex;
     justify-content: center;
     gap: 18px;
     flex-wrap: wrap;
     margin-bottom: 55px;
 }

 .filters button {
     border: none;
     padding: 14px 30px;
     border-radius: 50px;
     background: #eef1ff;
     color: #1a237e;
     font-size: 15px;
     font-weight: 600;
     cursor: pointer;
     transition: 0.4s;
     font-family: 'Poppins', sans-serif;
 }

 .filters button:hover,
 .filters button.active {
     background: #1a237e;
     color: #fff;
     transform: translateY(-4px);
 }

 /* GALLERY */

 .gallery {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 30px;
 }

 /* ITEM */

 .gallery-item {
     position: relative;
     overflow: hidden;
     border-radius: 32px;
     cursor: pointer;
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
 }

 .gallery-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: 0.7s;
 }

 .gallery-item:hover img {
     transform: scale(1.12);
 }

 /* OVERLAY */

 .overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top,
             rgba(10, 20, 80, 0.9),
             rgba(10, 20, 80, 0.15));
     display: flex;
     align-items: flex-end;
     padding: 35px;
     color: #fff;
     font-size: 34px;
     font-family: 'Cormorant Garamond', serif;
     font-weight: 600;
     opacity: 0;
     transition: 0.5s;
 }

 .gallery-item:hover .overlay {
     opacity: 1;
 }

 /* LIGHTBOX */

 .lightbox {
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, 0.92);
     display: none;
     justify-content: center;
     align-items: center;
     z-index: 9999;
     padding: 20px;
 }

 .lightbox img {
     max-width: 90%;
     max-height: 90%;
     border-radius: 20px;
 }

 .lightbox span {
     position: absolute;
     top: 30px;
     right: 40px;
     color: #fff;
     font-size: 50px;
     cursor: pointer;
     line-height: 1;
 }

 /* RESPONSIVE */

 @media(max-width:1100px) {

     .gallery {
         grid-template-columns: repeat(2, 1fr);
     }

 }

 @media(max-width:768px) {

     .hero {
         height: 650px;
     }

     .hero-content h1 {
         font-size: 50px;
     }

     .gallery-box {
         padding: 40px 25px;
         border-radius: 30px;
     }

     .gallery-top h2 {
         font-size: 40px;
     }

 }

 @media(max-width:600px) {

     .gallery {
         grid-template-columns: 1fr;
     }

     .gallery-item {
         height: 280px;
     }

     .hero-content h1 {
         font-size: 40px;
     }

     .overlay {
         opacity: 1;
         font-size: 28px;
     }

 }


 /* HERO */

 .hero-contact {
     position: relative;
     height: 480px;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     overflow: hidden;

     background:
         linear-gradient(rgba(10, 20, 80, 0.82), rgba(10, 20, 80, 0.82)),
         url('../images/sub-banner.jpg') center/cover no-repeat;
 }

 .hero-contact::before {
     content: '';
     position: absolute;
     width: 500px;
     height: 500px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.04);
     top: -180px;
     right: -120px;
 }

 .hero-content-contact {
     position: relative;
     z-index: 2;
     padding: 20px;
     max-width: 800px;
 }

 .hero-content-contact span {
     display: inline-block;
     color: #d9deff;
     text-transform: uppercase;
     letter-spacing: 3px;
     font-size: 13px;
     margin-bottom: 18px;
 }

 .hero-content-contact h1 {
     font-family: 'Cormorant Garamond', serif;
     font-size: 54px;
     color: #fff;
     margin-bottom: 15px;
     line-height: 1.1;
 }

 .hero-content-contact p {
     color: #ececec;
     line-height: 2;
     font-size: 16px;
 }

 /* CONTACT WRAPPER */

 .contact-wrapper {
     margin-top: -80px;
     position: relative;
     z-index: 5;
     padding-bottom: 100px;
 }

 .contact-box {
     background: rgba(255, 255, 255, 0.94);
     backdrop-filter: blur(14px);
     border-radius: 40px;
     overflow: hidden;
     box-shadow: 0 25px 70px rgba(0, 0, 0, 0.08);
     border: 1px solid rgba(26, 35, 126, 0.08);
 }

 /* GRID */

 .contact-grid {
     display: grid;
     grid-template-columns: 1.1fr 0.9fr;
 }

 /* FORM */

 .contact-form {
     padding: 70px 60px;
 }

 .contact-form span {
     color: #1a237e;
     text-transform: uppercase;
     letter-spacing: 2px;
     font-size: 13px;
     font-weight: 600;
 }

 .contact-form h2 {
     font-size: 52px;
     margin: 15px 0 20px;
     color: #1a237e;
     font-family: 'Cormorant Garamond', serif;
 }

 .contact-form p {
     color: #666;
     line-height: 1.9;
     margin-bottom: 35px;
 }

 .input-group {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 20px;
 }

 .contact-form input,
 .contact-form textarea {
     width: 100%;
     border: none;
     outline: none;
     background: #f7f8ff;
     border: 1px solid rgba(26, 35, 126, 0.08);
     border-radius: 18px;
     padding: 18px 20px;
     font-size: 15px;
     margin-bottom: 20px;
     font-family: 'Poppins', sans-serif;
     transition: 0.4s;
 }

 .contact-form input:focus,
 .contact-form textarea:focus {
     border-color: #1a237e;
     background: #fff;
 }

 .contact-form textarea {
     resize: none;
 }

 .contact-btn {
     display: inline-block;
     border: none;
     background: #d4af37;
     color: #fff;
     padding: 16px 38px;
     border-radius: 50px;
     font-size: 15px;
     font-weight: 600;
     cursor: pointer;
     transition: 0.4s;
 }

 .contact-btn:hover {
     transform: translateY(-5px);
 }

 /* INFO */

 .contact-info {
     position: relative;
     overflow: hidden;
     background:
         linear-gradient(rgba(10, 20, 80, 0.92), rgba(10, 20, 80, 0.92)),
         url('../images/contact.jpg') center/cover no-repeat;

     padding: 70px 55px;
     color: #fff;
 }

 .contact-info::before {
     content: '';
     position: absolute;
     width: 320px;
     height: 320px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.05);
     top: -120px;
     right: -80px;
 }

 .contact-info-content {
     position: relative;
     z-index: 2;
 }

 .contact-info span {
     color: #d8ddff;
     text-transform: uppercase;
     letter-spacing: 2px;
     font-size: 13px;
 }

 .contact-info h3 {
     font-size: 48px;
     margin: 18px 0 35px;
     font-family: 'Cormorant Garamond', serif;
     color: #fff;
 }

 .info-box {
     display: flex;
     gap: 18px;
     margin-bottom: 28px;
 }

 .info-icon {
     min-width: 60px;
     height: 60px;
     border-radius: 18px;
     background: #d4af37;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 24px;
 }

 .info-content h4 {
     font-size: 18px;
     margin-bottom: 6px;
     color: #fff;
 }

 .info-content p,
 .info-content a {
     color: #dcdcdc;
     text-decoration: none;
     line-height: 1.8;
     font-size: 15px;
 }

 /* MAP */

 .map {
     width: 100%;
     height: 450px;
     overflow: hidden;
 }

 .map iframe {
     width: 100%;
     height: 100%;
     border: none;
     filter: grayscale(0.2);
 }

 /* RESPONSIVE */

 @media(max-width:1100px) {

     .contact-grid {
         grid-template-columns: 1fr;
     }

 }

 @media(max-width:768px) {

     .hero-contact {
         height: 550px;
     }

     .hero-gallery {
         height: 550px;
     }

     .hero-content-contact h1 {
         font-size: 52px;
     }

     .contact-form,
     .contact-info {
         padding: 50px 30px;
     }

     .contact-form h2,
     .contact-info h3 {
         font-size: 40px;
     }

     .input-group {
         grid-template-columns: 1fr;
     }

 }

 @media(max-width:600px) {

     .hero-content-contact h1 {
         font-size: 40px;
     }

     .contact-box {
         border-radius: 25px;
     }

     .map {
         height: 320px;
     }

 }



 /* WHATSAPP BUTTON */

 .whatsapp-btn {
     position: fixed;
     right: 25px;
     bottom: 25px;
     width: 68px;
     height: 68px;
     background: #25D366;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
     z-index: 9999;
     transition: 0.4s ease;
     animation: whatsappPulse 2s infinite;
 }

 .whatsapp-btn:hover {
     transform: translateY(-6px) scale(1.05);
 }

 /* PULSE ANIMATION */

 @keyframes whatsappPulse {

     0% {
         box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
     }

     70% {
         box-shadow: 0 0 0 18px rgba(37, 211, 102, 0);
     }

     100% {
         box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
     }

 }

 /* MOBILE */

 @media(max-width:768px) {

     .whatsapp-btn {
         width: 60px;
         height: 60px;
         right: 18px;
         bottom: 18px;
     }

     .whatsapp-btn svg {
         width: 24px;
         height: 24px;
     }

 }