  
.main-menu .navigation > li.dropdown > a::after {
  content: none !important;
}

/* Parent must be relative */
.dropdown {
  position: relative;
}

/* Submenu base */
.dropdown > ul {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  min-width: 260px;
  padding: 10px 0;
  margin: 0;
  list-style: none;

  /* Hide properly */
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.25s ease;

  box-shadow: 0 15px 40px rgba(0,0,0,0.15);
  z-index: 9999;
}

/* SHOW submenu */
.dropdown:hover > ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Submenu links */
.dropdown > ul li a {
  display: block;
  padding: 10px 18px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
}

.dropdown > ul li a:hover {
  background: #f5f5f5;
}
/* Submenu container */
.dropdown > ul {
  min-width: 280px;          /* increase width */
  max-width: 360px;          /* prevent too wide */
  white-space: normal;       /* allow wrapping */
}

/* Submenu links */
.dropdown > ul li a {
  white-space: normal;       /* wrap text */
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1.4;
}



    .insta-float {
  position: fixed;
  width: 48px;
  height: 48px;
  bottom: 145px; /* above WhatsApp */
  right: 20px;
  background: radial-gradient(circle at 30% 30%, #feda75, #d62976, #962fbf, #4f5bd5);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  z-index: 999;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.insta-float:hover {
  transform: scale(1.08);
  box-shadow: 0 12px 25px rgba(0,0,0,0.3);
}

.whatsapp-float {
  position: fixed;
  width: 48px;
  height: 48px;
  bottom: 90px; /* keeps distance from scroll-to-top button */
  right: 20px;
  background-color: #25d366;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  z-index: 999;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.whatsapp-float:hover {
  transform: scale(1.08);
  box-shadow: 0 12px 25px rgba(0,0,0,0.3);
}


        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #0a4d68 0%, #088395 50%, #05bfdb 100%);
            color: #fff;
            overflow-x: hidden;
        }

        .hero {
            position: relative;
            height: 60vh;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(rgba(0, 40, 80, 0.6), rgba(0, 80, 120, 0.4)), 
                        url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 300"><path fill="%23ffffff" fill-opacity="0.05" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,122.7C672,117,768,139,864,138.7C960,139,1056,117,1152,101.3C1248,85,1344,75,1392,69.3L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>');
            background-size: cover;
            background-position: center;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px);
            background-size: 50px 50px;
            animation: drift 60s linear infinite;
        }

        @keyframes drift {
            0% { transform: translate(0, 0); }
            100% { transform: translate(50px, 50px); }
        }

        .hero-content {
            position: relative;
            text-align: center;
            z-index: 2;
            padding: 2rem;
        }

        .hero h1 {
            font-size: 3.5rem;
            font-weight: 700;
            margin-bottom: 1rem;
            text-shadow: 2px 2px 8px rgba(0,0,0,0.3);
            animation: fadeInUp 1s ease;
        }

        .hero p {
            font-size: 1.3rem;
            opacity: 0.95;
            max-width: 700px;
            margin: 0 auto;
            animation: fadeInUp 1.2s ease;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 4rem 2rem;
        }

        .section-title {
            font-size: 2.5rem;
            text-align: center;
            margin-bottom: 3rem;
            position: relative;
            padding-bottom: 1rem;
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 100px;
            height: 4px;
            background: linear-gradient(90deg, transparent, #fff, transparent);
            border-radius: 2px;
        }

        .trips-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 2rem;
            margin-bottom: 4rem;
        }

        .trip-card {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            border-radius: 20px;
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            border: 1px solid rgba(255, 255, 255, 0.2);
        }

      

        .trip-header {
            background: linear-gradient(135deg, rgba(8, 131, 149, 0.8), rgba(5, 191, 219, 0.8));
            padding: 2rem;
            text-align: center;
        }

        .trip-header h3 {
            font-size: 1.8rem;
            margin-bottom: 0.5rem;
        }

        .trip-header .subtitle {
            font-size: 1rem;
            opacity: 0.9;
        }

        .trip-body {
            padding: 2rem;
        }

        .trip-info {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        .info-item {
            background: rgba(255, 255, 255, 0.05);
            padding: 1rem;
            border-radius: 10px;
            border-left: 3px solid #05bfdb;
        }

        .info-item .label {
            font-size: 0.85rem;
            opacity: 0.8;
            margin-bottom: 0.3rem;
        }

        .info-item .value {
            font-size: 1.1rem;
            font-weight: 600;
        }

        .trip-description {
            line-height: 1.8;
            margin-bottom: 1.5rem;
            opacity: 0.95;
        }

        .highlights {
            margin-bottom: 1.5rem;
        }

        .highlights h4 {
            font-size: 1.2rem;
            margin-bottom: 1rem;
            color: #05bfdb;
        }

        .highlights ul {
            list-style: none;
            padding-left: 0;
        }

        .highlights li {
            padding: 0.5rem 0;
            padding-left: 1.5rem;
            position: relative;
        }

        .highlights li::before {
            content: '⚓';
            position: absolute;
            left: 0;
            color: #05bfdb;
        }

        .cta-button {
            display: inline-block;
            width: 100%;
            padding: 1rem 2rem;
            background: linear-gradient(135deg, #088395, #05bfdb);
            color: white;
            text-decoration: none;
            border-radius: 50px;
            font-weight: 600;
            text-align: center;
            transition: all 0.3s ease;
            border: 2px solid transparent;
            margin-top: 1rem;
        }

        .cta-button:hover {
            background: linear-gradient(135deg, #05bfdb, #088395);
            border-color: #fff;
            transform: scale(1.05);
        }

        .features-section {
            background: rgba(255, 255, 255, 0.05);
            padding: 3rem 2rem;
            border-radius: 20px;
            margin-bottom: 3rem;
        }

        .features-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .feature-card {
            text-align: center;
            padding: 2rem;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 15px;
            transition: transform 0.3s ease;
        }

        
        .feature-icon {
            font-size: 3rem;
            margin-bottom: 1rem;
        }

        .feature-card h4 {
            font-size: 1.3rem;
            margin-bottom: 0.5rem;
            color: #05bfdb;
        }

        .wave {
            position: relative;
            margin-top: -1px;
        }

        .wave svg {
            display: block;
            width: 100%;
            height: 80px;
        }

        @media (max-width: 768px) {
            .hero h1 {
                font-size: 2.5rem;
            }

            .hero p {
                font-size: 1.1rem;
            }

            .trips-grid {
                grid-template-columns: 1fr;
            }

            .trip-info {
                grid-template-columns: 1fr;
            }
        }
        /* ===============================
   TEXT VISIBILITY FIX (CRITICAL)
   =============================== */

/* Ensure all card text is visible */
.trip-card,
.trip-body,
.trip-description,
.highlights,
.highlights ul li,
.info-item,
.info-item .label,
.info-item .value {
    color: #0a2540 !important; /* dark readable text */
}

/* Fix section headings inside cards */
.highlights h4,
.trip-header h3,
.trip-header .subtitle {
    color: #ffffff !important;
}

/* Fix white cards background */
.trip-body {
    background: #ffffff !important;
}

/* Info cards */
.info-item {
    background: #f4f9fc !important;
    border-left-color: #05bfdb;
}

/* Highlights list icon visibility */
.highlights li::before {
    color: #05bfdb;
}

/* Section titles (Fishing Options, What's Included, Expedition Highlights) */
.section-title,
.highlights h4 {
    opacity: 1 !important;
}

/* Remove accidental opacity inheritance */
.trip-card *,
.features-section *,
.feature-card * {
    opacity: 1 !important;
}
/* Center sticky header menu */
.sticky-header .inner-container {
  display: flex;
  justify-content: center;
}

.sticky-header .nav-outer {
  width: 100%;
  display: flex;
  justify-content: center;
}

.sticky-header .main-menu .navigation {
  display: flex;
  justify-content: center;
  align-items: center;
}
/* ===============================
   EQUAL HEIGHT TRIP CARDS FIX
   =============================== */

/* Make cards stretch equally */
.trips-grid {
  align-items: stretch;
}

/* Make each card a flex container */
.trip-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Header stays natural height */
.trip-header {
  flex-shrink: 0;
}

/* Body takes remaining space */
.trip-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* Push CTA button to bottom */
.trip-body .cta-button {
  margin-top: auto;
}
/* =====================================
   REMOVE ALL CARD ANIMATIONS (STATIC)
===================================== */

/* Trip cards – no animation, no hover effects */
.trip-card,
.trip-card:hover {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Disable animation on everything inside cards */
.trip-card *,
.trip-card:hover * {
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

/* Disable CTA hover animation inside cards */
.trip-card .cta-button,
.trip-card .cta-button:hover {
  transform: none !important;
  transition: none !important;
  box-shadow: none !important;
}

/* Disable feature-card hover (if visually connected) */
.feature-card,
.feature-card:hover {
  transform: none !important;
  transition: none !important;
}

/* Mobile menu dropdown fix */
@media (max-width: 991px) {
    .mobile-menu .submenu,
    .mobile-menu ul ul {
        background: #000 !important;   /* or #111 */
    }

    .mobile-menu .submenu li a,
    .mobile-menu ul ul li a {
        color: #fff !important;
    }
}
/* ===== SUMMARY TRIP CARDS ===== */

.trip-cards-section {
  background: linear-gradient(180deg, #0a1929 0%, #162433 50%, #1a2d42 100%);
  padding: 60px 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  position: relative;
  overflow: hidden;
}

/* Animated wave background */
.trip-cards-section::before,
.trip-cards-section::after {
  content: '';
  position: absolute;
  width: 200%;
  height: 100px;
  background: linear-gradient(90deg, 
    transparent, 
    rgba(56, 189, 248, 0.1), 
    transparent
  );
  animation: wave 15s linear infinite;
}

.trip-cards-section::before {
  top: 20%;
  animation-delay: -5s;
}

.trip-cards-section::after {
  bottom: 30%;
  animation-delay: -10s;
  opacity: 0.5;
}

@keyframes wave {
  0% { transform: translateX(-50%) translateY(0); }
  100% { transform: translateX(0%) translateY(0); }
}

/* Card */
.trip-card {
  background: linear-gradient(135deg, #597ea1 0%, #2a4359 100%);
  border-radius: 16px;
  padding: 28px;
  color: #fff;
  box-shadow: 
    0 15px 40px rgba(196, 193, 66, 0.603),
    0 0 0 1px rgba(56, 189, 248, 0.1);
  display: flex;
  flex-direction: column;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  animation: float 6s ease-in-out infinite;
}

/* Stagger the float animation for each card */
.trip-card:nth-child(1) { animation-delay: 0s; }
.trip-card:nth-child(2) { animation-delay: 1s; }
.trip-card:nth-child(3) { animation-delay: 2s; }
.trip-card:nth-child(4) { animation-delay: 3s; }

/* Floating boat animation */
@keyframes float {
  0%, 100% { 
    transform: translateY(0px) rotate(0deg);
  }
  25% { 
    transform: translateY(-10px) rotate(1deg);
  }
  50% { 
    transform: translateY(-5px) rotate(0deg);
  }
  75% { 
    transform: translateY(-12px) rotate(-1deg);
  }
}

/* Water ripple effect on hover */
.trip-card::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(
    circle,
    rgba(47, 163, 212, 0.89) 0%,
    transparent 70%
  );
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}



@keyframes ripple {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

/* Sailing effect on hover */



/* Boat sail decoration */
.trip-card::after {
  content: '⛵';
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 28px;
  opacity: 0.15;
  transition: all 0.4s ease;
}



.trip-card h3 {
  font-size: 22px;
  margin-bottom: 6px;
  position: relative;
  animation: fadeInDown 0.6s ease-out;
}

.trip-meta {
  font-size: 14px;
  color: #b7c7d8;
  margin-bottom: 18px;
  animation: fadeInDown 0.6s ease-out 0.1s both;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Bullet points */
.trip-points {
  list-style: none;
  padding: 0;
  margin: 0 0 25px 0;
}

.trip-points li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  font-size: 14px;
  color: #e1eaf3;
  opacity: 0;
  animation: slideInLeft 0.5s ease-out forwards;
}

/* Stagger list items */
.trip-points li:nth-child(1) { animation-delay: 0.2s; }
.trip-points li:nth-child(2) { animation-delay: 0.3s; }
.trip-points li:nth-child(3) { animation-delay: 0.4s; }
.trip-points li:nth-child(4) { animation-delay: 0.5s; }
.trip-points li:nth-child(5) { animation-delay: 0.6s; }

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.trip-points li::before {
  content: "⚓";
  position: absolute;
  left: 0;
  color: #f5a623;
  font-weight: bold;
  animation: anchor 2s ease-in-out infinite;
}

@keyframes anchor {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-3px); }
}

/* Button with wave effect */
.card-btn {
  margin-top: auto;
  text-align: center;
  padding: 12px;
  background: linear-gradient(135deg, #f5a623 0%, #ffb84d 100%);
  color: #000;
  font-weight: 600;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(245, 166, 35, 0.3);
}

.card-btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.card-btn:hover::before {
  width: 300px;
  height: 300px;
}

.card-btn:hover {
  background: linear-gradient(135deg, #ffb84d 0%, #ffd480 100%);
  transform: scale(1.05);
  box-shadow: 0 6px 25px rgba(245, 166, 35, 0.5);
}

/* Ocean sparkle effect */
@keyframes sparkle {
  0%, 100% { 
    opacity: 0;
    transform: scale(0);
  }
  50% { 
    opacity: 1;
    transform: scale(1);
  }
}




/* Add gentle rocking on hover */
@keyframes rock {
  0%, 100% { transform: translateY(-15px) rotate(-2deg); }
  50% { transform: translateY(-15px) rotate(2deg); }
}

  .image-box {
  position: relative;
  width: 100%;
}

.image-box .image img,
.image-box .image-2 img {
  width: 100%;
  height: auto;
  display: block;
}

/* MAIN FIX FOR 3.JPG */
.image-box .image-2 {
  position: absolute;
  right: -60px;   /* move into empty space */
  bottom: -40px;
  width: 75%;     /* increase size */
  max-width: none;
}

/* Optional: smooth look */
.image-box .image-2 img {
  border-radius: 12px;
}
      /* =====================================
   EQUAL HEIGHT SERVICE CARDS
===================================== */

/* Make Bootstrap columns stretch */
.services-content {
  display: flex;
  flex-wrap: wrap;
}

/* Each service block full height */
.services-section .service-block {
  display: flex;
}

/* Card container */
.services-section .service-block .inner-box {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

/* Image box fixed height */
.services-section .service-block .image-box {
  height: 240px;
  overflow: hidden;
}

/* Image fits without stretch */
.services-section .service-block .image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Content box fills remaining space */
.services-section .service-block .content-box {
  flex-grow: 1;
  display: flex;
  align-items: flex-start;
}

/* Info box spacing consistency */
.services-section .service-block .info-box {
  padding: 30px;
  width: 100%;
}
@media (max-width: 767px) {
  .services-content {
    display: block;
  }

  .services-section .service-block .image-box {
    height: 200px;
  }
}
    /* =========================
   VIDEO HERO SECTION
========================= */

.video-section {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* Background Image Layer */
.video-section .bg-image {
  position: absolute;
  inset: 0;
  background-size: cover;              /* Fill screen */
  background-position: center 70%;     /* Show more lower part (boat) */
  background-repeat: no-repeat;
  z-index: -2;
}

/* Dark overlay for readability */
.video-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: -1;
}

/* Content wrapper */
.video-section .outer-box {
  text-align: center;
  padding: 60px 20px 40px;
}

/* Videos */
.video-section video {
  width: 100%;
  border-radius: 14px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
  background: #000;
}

/* Title */
.video-section .title {
  margin-top: 40px;
  color: #ffffff;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* =========================
   RESPONSIVE FIXES
========================= */

@media (max-width: 991px) {
  .video-section {
    min-height: auto;
    padding: 80px 0;
  }

  .video-section .title {
    font-size: 32px;
  }
}

@media (max-width: 576px) {
  .video-section .bg-image {
    background-position: center bottom; /* Mobile shows full boat */
  }

  .video-section .title {
    font-size: 24px;
  }
}
.hero-fullscreen {
  height: 100vh;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.hero-slide {
  height: 100vh;
  width: 100%;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  position: relative;
  animation: kenBurns 20s ease-in-out infinite alternate;
}

@keyframes kenBurns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(2, 6, 23, 0.8),
    rgba(2, 6, 23, 0.4)
  );
  z-index: 1;
}

.hero-overlay::before {
  content: '';
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(circle at 30% 50%, rgba(201, 163, 106, 0.15) 0%, transparent 50%),
    radial-gradient(circle at 70% 80%, rgba(201, 163, 106, 0.1) 0%, transparent 60%);
  animation: shimmer 8s ease-in-out infinite;
}

@keyframes shimmer {
  0%, 100% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}

.hero-caption-wrap {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  padding-left: 80px;
  color: #f8fafc;
  animation: fadeInLeft 1.2s ease-out;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* SUBTITLE */
.hero-subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  letter-spacing: 6px;
  text-transform: uppercase;
  margin-bottom: 25px;
  display: inline-block;
  color: #e2e8f0;
  position: relative;
  padding-left: 60px;
  animation: fadeIn 1s ease-out 0.3s backwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.hero-subtitle::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 45px;
  height: 2px;
  background: linear-gradient(90deg, #c9a36a, transparent);
  animation: lineExpand 1s ease-out 0.5s backwards;
}

@keyframes lineExpand {
  from {
    width: 0;
  }
  to {
    width: 45px;
  }
}

/* MAIN TITLE */
.hero-title {
  font-family: 'Cinzel', serif;
  font-size: 72px;
  line-height: 1.15;
  font-weight: 600;
  margin-bottom: 45px;
  text-shadow: 
    0 8px 30px rgba(0, 0, 0, 0.6),
    0 2px 10px rgba(201, 163, 106, 0.3);
  background: linear-gradient(135deg, #ffffff, #f1f5f9, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 200% 200%;
  animation: titleGradient 3s ease infinite, fadeInUp 1s ease-out 0.6s backwards;
  position: relative;
}

@keyframes titleGradient {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-title::after {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 0;
  width: 120px;
  height: 4px;
  background: linear-gradient(90deg, #c9a36a, transparent);
  animation: underlineExpand 1s ease-out 1s backwards;
}

@keyframes underlineExpand {
  from {
    width: 0;
  }
  to {
    width: 120px;
  }
}

/* BUTTON */
.hero-btn {
  font-family: 'Montserrat', sans-serif;
  display: inline-block;
  padding: 16px 44px;
  border: 2px solid #c9a36a;
  color: #c9a36a;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  z-index: 1;
  animation: fadeIn 1s ease-out 1.2s backwards;
}

.hero-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #c9a36a;
  transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1;
}

.hero-btn:hover::before {
  left: 0;
}

.hero-btn:hover {
  color: #020617;
  transform: translateY(-3px);
  box-shadow: 
    0 10px 30px rgba(201, 163, 106, 0.4),
    0 0 40px rgba(201, 163, 106, 0.2);
  border-color: #d4b378;
}

.hero-btn::after {
  content: '→';
  position: absolute;
  right: 20px;
  opacity: 0;
  transition: all 0.3s ease;
}

.hero-btn:hover::after {
  opacity: 1;
  right: 15px;
}

.hero-btn:active {
  transform: translateY(-1px);
}

/* SCROLL INDICATOR */
.hero-fullscreen::after {
  content: '';
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 50px;
  background: linear-gradient(180deg, transparent, #c9a36a, transparent);
  z-index: 3;
  animation: scrollBounce 2s ease-in-out infinite;
}

@keyframes scrollBounce {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
    opacity: 0.6;
  }
  50% {
    transform: translateX(-50%) translateY(15px);
    opacity: 1;
  }
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  .hero-title {
    font-size: 52px;
  }
  
  .hero-caption-wrap {
    padding-left: 60px;
  }
}

@media (max-width: 768px) {
  .hero-slide {
    justify-content: center;
  }
  
  .hero-caption-wrap {
    padding-left: 30px;
    padding-right: 30px;
    text-align: center;
  }
  
  .hero-title {
    font-size: 42px;
  }
  
  .hero-subtitle {
    padding-left: 0;
  }
  
  .hero-subtitle::before {
    display: none;
  }
  
  .hero-title::after {
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (max-width: 480px) {
  .hero-title {
    font-size: 32px;
    margin-bottom: 35px;
  }
  
  .hero-subtitle {
    font-size: 12px;
    letter-spacing: 4px;
    margin-bottom: 20px;
  }
  
  .hero-btn {
    padding: 14px 32px;
    font-size: 12px;
    letter-spacing: 2px;
  }
  
  .hero-caption-wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  .hero-slide,
  .hero-overlay::before,
  .hero-caption-wrap,
  .hero-subtitle,
  .hero-title,
  .hero-btn,
  .hero-fullscreen::after {
    animation: none;
  }
  
  .hero-btn::before,
  .hero-btn::after {
    transition: none;
  }
}
.hero-fullscreen {
  height: 100vh;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.hero-slider {
  position: relative;
  height: 100vh;
  width: 100%;
}

/* EACH SLIDE */
.hero-slide {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  opacity: 0;
  visibility: hidden;

  transition: opacity 1.2s ease-in-out, visibility 1.2s ease-in-out;
}

/* ACTIVE SLIDE */
.hero-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

/* OVERLAY */
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(2,6,23,0.75),
    rgba(2,6,23,0.35)
  );
  z-index: 1;
}

/* CONTENT */
.hero-caption-wrap {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  padding-left: 80px;
  color: #f8fafc;
}

@media (max-width: 768px) {
  .hero-caption-wrap {
    padding-left: 0;
    text-align: center;
    margin: auto;
  }
}
/* ===============================
   HEADER ONE-LINE FIX (DESKTOP)
================================ */
@media (min-width: 1200px) {

  /* Header lower row */
  .main-header .header-lower .inner-container,
  .main-header .main-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  /* Logo */
  .main-header .header-lower .logo-box {
    margin-right: 40px;   /* remove huge 10% gap */
    min-width: auto;
  }

  /* Navigation container */
  .main-header .main-box .nav-outer {
    flex: 1;
    display: flex;
    justify-content: flex-end;
  }

  /* Menu list */
  .main-menu .navigation {
    display: flex;
    align-items: center;
    white-space: nowrap;
  }

  /* Menu items */
  .main-menu .navigation > li {
    float: none;              /* IMPORTANT */
    margin-right: 35px;       /* reduce spacing */
    padding: 35px 0;
  }

  .main-menu .navigation > li:last-child {
    margin-right: 0;
  }

  /* Prevent wrapping */
  .main-menu .navigation > li > a {
    white-space: nowrap;
  }

  /* Remove outer-box width restriction */
  .main-header .outer-box {
    width: auto;
  }
}
/* FIX ICON SHRINKING FOR ADDRESS ITEM */
.d-sm-flex .icon {
  flex: 0 0 48px;        /* lock size */
  width: 48px;
  height: 48px;
  min-width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Ensure icon inside does not scale */
.d-sm-flex .icon span {
  font-size: 22px;
  line-height: 1;
}

/* Allow text to wrap properly */
.d-sm-flex .text {
  flex: 1;
  margin-left: 15px;
  white-space: normal;
  word-break: break-word;
}

/* Improve address readability */
.d-sm-flex .text span {
  display: block;
  line-height: 1.6;
}
.hero-fullscreen::after {
  display: none !important;
}
/* ================= HEADER CTA MENU ================= */

.main-menu .navigation {
  display: flex;
  align-items: center;
}

.main-menu .navigation > li {
  margin-right: 35px;
}

.main-menu .navigation > li.menu-cta {
  margin-left: 20px;
  margin-right: 0;
}

.main-menu .navigation > li.menu-cta > a {
  background: var(--theme-color1); /* gold */
  color: var(--theme-color-dark);
  padding: 14px 34px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  border-radius: 0;
  line-height: 1;
  transition: all 0.3s ease;
}

.main-menu .navigation > li.menu-cta > a:hover {
  background: var(--theme-color1-dark);
  color: var(--theme-color-light);
  transform: translateY(-2px);
}

/* Remove underline / hover line from CTA */
.main-menu .navigation > li.menu-cta > a::before,
.main-menu .navigation > li.menu-cta > a::after {
  display: none !important;
}
.main-menu,
.main-menu a {
  pointer-events: auto !important;
}

.header-lower,
.main-box {
  z-index: 9999;
  position: relative;
}
.logo-box {
  display: flex;
  align-items: center;
}

/* Increase visible logo size */
.logo-box .logo img {
  height: 250px;          /* ⬅️ increase this */
  width: auto;
  max-width: none;        /* IMPORTANT */
  object-fit: contain;
  display: block;
}

