 :root {
     --saffron: #FF9933;
     --saffron-light: #FFB866;
     --saffron-dark: #E67E00;
     --saffron-pale: #FFF8F0;
     --maroon: #6B1A1A;
     --maroon-deep: #420A0A;
     --maroon-darkest: #220505;
     --gold: #D4AF37;
     --gold-light: #F3E5AB;
     --gold-glow: rgba(212, 175, 55, 0.4);
     --gold-pale: #FAF5E8;
     --cream: #FDFBF8;
     --parchment: #F4EBD8;
     --dark: #0A0503;
     --text: #2B1810;
     --text-muted: #7A5C4A;
     --white: #FFFFFF;
     --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.05);
     --shadow-hover: 0 20px 40px rgba(0, 0, 0, 0.15);
     --shadow-dark: 0 20px 50px rgba(0, 0, 0, 0.5);
     --transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
 }

 #social-proof {
     position: relative;
     z-index: 1;
     overflow: visible !important;
 }

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

 html {
     scroll-behavior: smooth;
     font-size: 16px;
 }

 body {
     font-family: 'EB Garamond', Georgia, serif;
     background: var(--cream);
     color: var(--text);
     overflow-x: hidden;
     -webkit-font-smoothing: antialiased;
     cursor: none;
 }

 body::before {
     content: '';
     position: fixed;
     inset: 0;
     background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
     pointer-events: none;
     z-index: 9999;
 }

 ::-webkit-scrollbar {
     width: 10px;
 }

 ::-webkit-scrollbar-track {
     background: var(--dark);
 }

 ::-webkit-scrollbar-thumb {
     background: var(--maroon);
     border-radius: 5px;
 }

 ::-webkit-scrollbar-thumb:hover {
     background: var(--saffron);
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 .serif {
     font-family: 'Playfair Display', serif;
 }

 .cinzel {
     font-family: 'Cinzel', serif;
 }

 .sans {
     font-family: 'Inter', sans-serif;
 }

 /* CURSOR */
 #custom-cursor {
     position: fixed;
     width: 28px;
     height: 28px;
     pointer-events: none;
     z-index: 99999;
     transform: translate(-50%, -50%);
     transition: transform 0.1s ease;
     font-size: 20px;
     line-height: 1;
     display: flex;
     align-items: center;
     justify-content: center;
     filter: drop-shadow(0 0 6px rgba(255, 153, 51, 0.8));
     animation: flicker 0.8s ease-in-out infinite alternate;
 }

 #cursor-ring {
     position: fixed;
     width: 44px;
     height: 44px;
     border: 1.5px solid rgba(212, 175, 55, 0.5);
     border-radius: 50%;
     pointer-events: none;
     z-index: 99998;
     transform: translate(-50%, -50%);
     transition: all 0.18s ease;
 }

 #cursor-ring.hovered {
     width: 60px;
     height: 60px;
     border-color: var(--saffron);
     background: rgba(255, 153, 51, 0.08);
 }

 @keyframes flicker {
     0% {
         transform: translate(-50%, -50%) rotate(-3deg) scale(1);
     }

     100% {
         transform: translate(-50%, -50%) rotate(3deg) scale(1.07);
     }
 }

 @media(max-width:768px) {
     body {
         cursor: auto;
     }

     #custom-cursor,
     #cursor-ring {
         display: none;
     }
 }

 /* SCROLL PROGRESS */
 #scroll-progress {
     position: fixed;
     top: 0;
     left: 0;
     height: 3px;
     background: linear-gradient(90deg, var(--saffron), var(--gold), var(--saffron-light));
     z-index: 10000;
     width: 0%;
     transition: width 0.1s linear;
     box-shadow: 0 0 8px rgba(255, 153, 51, 0.6);
 }

 /* LOADING */
 #loading-screen {
     position: fixed;
     inset: 0;
     background: var(--maroon-darkest);
     z-index: 100000;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     gap: 1.5rem;
     transition: opacity 0.8s ease, visibility 0.8s ease;
 }

 #loading-screen.hidden {
     opacity: 0;
     visibility: hidden;
 }

 .loading-om {
     font-size: 6rem;
     color: var(--gold);
     animation: omPulse 1.5s ease-in-out infinite;
     filter: drop-shadow(0 0 20px rgba(212, 175, 55, 0.7));
 }

 .loading-text {
     font-family: 'Cinzel', serif;
     font-size: 0.85rem;
     letter-spacing: 0.4em;
     color: rgba(255, 255, 255, 0.5);
     text-transform: uppercase;
 }

 .loading-bar-wrap {
     width: 200px;
     height: 2px;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 2px;
     overflow: hidden;
 }

 .loading-bar {
     height: 100%;
     background: linear-gradient(90deg, var(--saffron), var(--gold));
     width: 0%;
     animation: loadBar 2s ease forwards;
 }

 @keyframes omPulse {

     0%,
     100% {
         transform: scale(1);
         opacity: 1;
     }

     50% {
         transform: scale(1.1);
         opacity: 0.7;
     }
 }

 @keyframes loadBar {
     0% {
         width: 0%;
     }

     100% {
         width: 100%;
     }
 }

 /* BACK TO TOP */
 #back-to-top {
     position: fixed;
     bottom: 6rem;
     right: 2rem;
     width: 50px;
     height: 50px;
     background: var(--maroon);
     border: 1px solid rgba(212, 175, 55, 0.4);
     color: var(--gold-light);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.3rem;
     cursor: pointer;
     z-index: 5000;
     opacity: 0;
     visibility: hidden;
     transform: translateY(20px);
     transition: var(--transition);
     box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4);
 }

 #back-to-top.visible {
     opacity: 1;
     visibility: visible;
     transform: translateY(0);
 }

 #back-to-top:hover {
     background: var(--saffron);
     color: white;
     transform: translateY(-5px);
 }

 /* WHATSAPP */
 #whatsapp-float {
     position: fixed;
     bottom: 2rem;
     right: 2rem;
     z-index: 5000;
     display: flex;
     flex-direction: column;
     align-items: flex-end;
     gap: 0.6rem;
 }

 .wa-tooltip {
     background: var(--dark);
     color: var(--gold-light);
     font-family: 'Inter', sans-serif;
     font-size: 0.8rem;
     padding: 0.5rem 1rem;
     border-radius: 20px;
     white-space: nowrap;
     border: 1px solid rgba(212, 175, 55, 0.3);
     opacity: 0;
     transform: translateX(10px);
     transition: all 0.3s ease;
     pointer-events: none;
 }

 #whatsapp-float:hover .wa-tooltip {
     opacity: 1;
     transform: translateX(0);
 }

 .why-card {
      text-align: left;
      padding: 0;
      background: #fdfaf4;
      border-radius: 12px;
      position: relative;
      overflow: hidden;
      transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
      border: 1px solid rgba(130, 29, 29, 0.1);
      box-shadow: 0 10px 30px rgba(50, 20, 20, 0.04);
      display: flex;
      flex-direction: column;
  }

  /* Inner gold frame that appears on hover */
  .why-card::after {
      content: '';
      position: absolute;
      inset: 10px;
      border: 1px solid rgba(212, 175, 55, 0);
      border-radius: 8px;
      pointer-events: none;
      transition: border-color 0.4s ease, transform 0.4s ease;
      z-index: 2;
      transform: scale(0.95);
  }

  .why-card:hover {
      transform: translateY(-10px);
      background: #ffffff;
      box-shadow: 0 20px 45px rgba(139, 0, 0, 0.08), 0 5px 15px rgba(212, 175, 55, 0.1);
      border-color: rgba(212, 175, 55, 0.35);
  }

  .why-card:hover::after {
      border-color: rgba(212, 175, 55, 0.4);
      transform: scale(1);
  }

  .why-card-img {
      width: 100%;
      height: 220px;
      position: relative;
      overflow: hidden;
      background: #111;
  }

  .why-card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: grayscale(15%) sepia(10%);
      transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease;
  }

  .why-card-img::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(to bottom, transparent 50%, rgba(26, 12, 10, 0.5));
      z-index: 1;
  }

  .why-card:hover .why-card-img img {
      transform: scale(1.08);
      filter: grayscale(0%) sepia(0%);
  }



  .why-icon-badge {
      position: absolute;
      top: 195px;
      right: 1.5rem;
      width: 50px;
      height: 50px;
      background: var(--dark-red);
      color: var(--gold);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
      box-shadow: 0 6px 15px rgba(139, 0, 0, 0.3);
      z-index: 3;
      border: 1.5px solid var(--gold);
      transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  }

  .why-card:hover .why-icon-badge {
      transform: scale(1.15) rotate(15deg);
      box-shadow: 0 8px 20px rgba(139, 0, 0, 0.4), 0 0 10px rgba(212, 175, 55, 0.4);
  }

  .why-card-body {
      padding: 2.25rem 1.75rem 2.25rem;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
      position: relative;
      z-index: 2;
  }

  .why-card h3 {
      font-family: 'Cinzel', serif;
      font-size: 1.15rem;
      font-weight: 700;
      letter-spacing: 0.5px;
      color: var(--dark-red);
      margin-bottom: 0.85rem;
      line-height: 1.4;
      transition: color 0.3s ease;
  }

  .why-card:hover h3 {
      color: #b22222;
  }

  .why-card p {
      font-family: 'Inter', sans-serif;
      font-size: 0.92rem;
      color: #554444;
      line-height: 1.6;
      margin: 0;
  }

  .wa-btn {
     width: 58px;
     height: 58px;
     background: #25D366;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     text-decoration: none;
     box-shadow: 0 5px 20px rgba(37, 211, 102, 0.4);
     transition: var(--transition);
     animation: waPulse 2.5s infinite;
 }

 .wa-btn:hover {
     transform: scale(1.1);
     box-shadow: 0 8px 30px rgba(37, 211, 102, 0.6);
 }

 .wa-btn svg {
     width: 30px;
     height: 30px;
     fill: white;
 }

 /* QUICK SUPPORT */
 #support-float {
     position: fixed;
     bottom: 2rem;
     right: 7.3rem;
     z-index: 5000;
 }

 .support-action {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 58px;
     height: 58px;
     border-radius: 50%;
     text-decoration: none;
     border: 1px solid rgba(212, 175, 55, 0.25);
     background: rgba(34, 5, 5, 0.94);
     box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25);
     transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
 }

 .support-action:hover {
     transform: translateX(-2px);
     border-color: var(--saffron);
     background: rgba(66, 10, 10, 0.98);
 }

 .support-icon {
     width: 22px;
     height: 22px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     font-size: 1rem;
     line-height: 1;
 }

 .support-call {
     color: var(--gold-light);
 }

 @media (max-width: 768px) {
     #support-float {
         right: 6.1rem;
         bottom: 1.4rem;
     }

     .support-action {
         width: 54px;
         height: 54px;
     }

     #lang-toggle {
         top: 4.75rem;
         right: 0.6rem;
         left: auto;
         bottom: auto;
         transform: none;
         flex-direction: column;
         border-radius: 14px;
         border-right: 1px solid rgba(212, 175, 55, 0.3);
         padding: 0.15rem;
         gap: 0.15rem;
         width: 2.7rem;
         z-index: 1200;
     }

     .lang-divider {
         width: 100%;
         height: 1px;
     }

     .lang-btn {
         padding: 0.42rem 0.25rem;
         font-size: 0.56rem;
         min-height: 1.55rem;
     }
 }

 @keyframes waPulse {

     0%,
     100% {
         box-shadow: 0 5px 20px rgba(37, 211, 102, 0.4);
     }

     50% {
         box-shadow: 0 5px 35px rgba(37, 211, 102, 0.7), 0 0 0 8px rgba(37, 211, 102, 0.1);
     }
 }

 /* LANGUAGE TOGGLE — 3 buttons */
 #lang-toggle {
     position: fixed;
     top: 50%;
     right: 0;
     transform: translateY(-50%);
     z-index: 5000;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 0;
     background: var(--maroon-darkest);
     border: 1px solid rgba(212, 175, 55, 0.3);
     border-right: none;
     border-radius: 8px 0 0 8px;
     overflow: hidden;
 }

 .lang-btn {
     padding: 0.6rem 0.8rem;
     font-family: 'Cinzel', serif;
     font-size: 0.65rem;
     letter-spacing: 0.08em;
     color: rgba(255, 255, 255, 0.5);
     cursor: pointer;
     transition: all 0.3s;
     border: none;
     background: none;
     text-transform: uppercase;
 }

 .lang-btn.active {
     background: var(--saffron);
     color: white;
     font-weight: 600;
 }

 .lang-btn:hover:not(.active) {
     color: var(--gold-light);
     background: rgba(255, 255, 255, 0.05);
 }

 .lang-divider {
     width: 100%;
     height: 1px;
     background: rgba(212, 175, 55, 0.15);
 }

 .mobile-lang {
     display: none;
     flex-direction: row;
     gap: 0.5rem;
     margin-top: 0.5rem;
     padding-top: 1.5rem;
     border-top: 1px solid rgba(212, 175, 55, 0.2);
 }

 .mobile-lang .lang-btn {
     padding: 0.55rem 1rem;
     font-size: 0.75rem;
     border: 1px solid rgba(212, 175, 55, 0.35);
     border-radius: 6px;
 }

 .mobile-lang .lang-divider {
     display: none;
 }

 /* REUSABLE */
 .container {
     max-width: 1280px;
     margin: 0 auto;
     padding: 0 2.5rem;
     position: relative;
     z-index: 2;
 }

 section {
     padding: 7rem 0;
     position: relative;
 }

 .section-label {
     display: inline-flex;
     align-items: center;
     gap: 1rem;
     margin-bottom: 1.5rem;
 }

 .section-label::before {
     content: '';
     width: 50px;
     height: 1px;
     background: var(--saffron);
 }

 .section-label span {
     font-family: 'Cinzel', serif;
     font-size: 0.8rem;
     letter-spacing: 0.35em;
     text-transform: uppercase;
     color: var(--saffron);
     font-weight: 500;
 }

 .section-title {
     font-size: clamp(2.5rem, 5vw, 4rem);
     font-weight: 400;
     color: var(--maroon-deep);
     line-height: 1.15;
     margin-bottom: 2rem;
 }

 .section-title em {
     font-style: italic;
     color: var(--gold);
 }

 .dark-mode-text .section-title {
     color: var(--gold-pale);
 }

 .dark-mode-text .section-title em {
     color: var(--saffron-light);
 }

 .dark-mode-text .section-label span {
     color: var(--saffron-light);
 }

 .dark-mode-text .section-label::before {
     background: var(--gold);
 }

 .btn-primary {
     display: inline-block;
     padding: 1.1rem 3rem;
     background: linear-gradient(135deg, var(--saffron), var(--saffron-dark));
     color: var(--white);
     font-family: 'Cinzel', serif;
     font-size: 0.95rem;
     font-weight: 600;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     text-decoration: none;
     border-radius: 4px;
     position: relative;
     overflow: hidden;
     box-shadow: 0 5px 20px var(--gold-glow);
     transition: var(--transition);
     cursor: pointer;
     border: 1px solid rgba(255, 255, 255, 0.2);
 }

 .btn-primary:hover {
     box-shadow: 0 10px 30px rgba(230, 126, 0, 0.6);
     transform: translateY(-4px);
     color: var(--white);
 }

 .btn-outline {
     display: inline-block;
     padding: 1.1rem 3rem;
     background: rgba(10, 5, 3, 0.4);
     backdrop-filter: blur(8px);
     color: var(--gold);
     font-family: 'Cinzel', serif;
     font-size: 0.95rem;
     font-weight: 600;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     text-decoration: none;
     border-radius: 4px;
     border: 1px solid var(--gold);
     transition: var(--transition);
     cursor: pointer;
 }

 .btn-outline:hover {
     background: var(--gold);
     color: var(--dark);
     box-shadow: 0 0 25px var(--gold-glow);
     transform: translateY(-4px);
 }

 /* NAVBAR */
 nav {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 1000;
     transition: all 0.5s ease;
     border-bottom: 1px solid transparent;
     background: linear-gradient(180deg, rgba(10, 5, 3, 0.88) 0%, rgba(10, 5, 3, 0.45) 65%, transparent 100%);
 }

 nav.scrolled {
     background: rgba(10, 5, 3, 0.94);
     backdrop-filter: blur(20px);
     border-bottom: 1px solid rgba(212, 175, 55, 0.18);
     box-shadow: 0 8px 40px rgba(0, 0, 0, 0.45);
 }

 .nav-inner {
     max-width: 1360px;
     margin: 0 auto;
     padding: 0.85rem 3rem;
     display: grid;
     grid-template-columns: minmax(200px, 1fr) auto minmax(200px, 1fr);
     align-items: center;
     gap: 1.5rem;
 }

 nav.scrolled .nav-inner {
     padding: 0.65rem 3rem;
 }

 .nav-logo {
     text-decoration: none;
     display: flex;
     align-items: center;
     gap: 0.85rem;
     justify-self: start;
     min-width: 0;
 }

 .nav-logo-mark {
     flex-shrink: 0;
     width: 70px;
     height: 70px;
     border-radius: 50%;
     transition: var(--transition);
     display: block;
 }

 .nav-logo:hover .nav-logo-mark {
     opacity: 0.85;
 }

 .nav-logo-text {
     display: flex;
     flex-direction: column;
     gap: 0.2rem;
     min-width: 0;
 }

 .nav-logo-name {
     font-family: 'Playfair Display', serif;
     font-size: 1.45rem;
     font-weight: 500;
     line-height: 1.1;
     background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 55%, var(--saffron-light) 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     white-space: nowrap;
 }

 .nav-logo-sub {
     font-family: 'Cinzel', serif;
     font-size: 0.58rem;
     letter-spacing: 0.32em;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.72);
     white-space: nowrap;
 }

 .nav-actions {
     display: flex;
     align-items: center;
     gap: 1rem;
     justify-self: end;
 }

 .nav-cta-desktop {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 0.65rem 1.75rem;
     border-radius: 40px;
     border: 1px solid rgba(212, 175, 55, 0.55);
     color: var(--gold-light) !important;
     font-family: 'Cinzel', serif;
     font-size: 0.78rem;
     font-weight: 600;
     letter-spacing: 0.14em;
     text-transform: uppercase;
     text-decoration: none;
     background: rgba(10, 5, 3, 0.35);
     backdrop-filter: blur(6px);
     transition: var(--transition);
     white-space: nowrap;
 }

 .nav-cta-desktop:hover {
     background: var(--gold);
     color: var(--dark) !important;
     border-color: var(--gold);
     box-shadow: 0 0 22px var(--gold-glow);
     transform: translateY(-2px);
 }

 .mobile-menu-btn {
     display: none;
     cursor: pointer;
     z-index: 1001;
     padding: 0.25rem;
 }

 .mobile-menu-btn .bar {
     width: 25px;
     height: 2px;
     background: var(--gold);
     margin: 5px 0;
     transition: 0.4s;
 }

 .mobile-menu-btn.active .bar:nth-child(1) {
     transform: rotate(-45deg) translate(-5px, 6px);
 }

 .mobile-menu-btn.active .bar:nth-child(2) {
     opacity: 0;
 }

 .mobile-menu-btn.active .bar:nth-child(3) {
     transform: rotate(45deg) translate(-5px, -6px);
 }

 .nav-links {
     display: flex;
     gap: 1.75rem;
     list-style: none;
     align-items: center;
     justify-self: center;
     margin: 0;
     padding: 0;
 }

 .nav-links>li:not(.mobile-lang):not(.nav-cta-item) {
     flex-shrink: 0;
 }

 .nav-links a {
     text-decoration: none;
     color: rgba(255, 248, 240, 0.88);
     font-family: 'Cinzel', serif;
     font-size: 0.78rem;
     font-weight: 500;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     transition: color 0.35s;
     position: relative;
     white-space: nowrap;
 }

 .nav-links a::after {
     content: '';
     position: absolute;
     bottom: -5px;
     left: 0;
     right: 0;
     height: 1px;
     background: linear-gradient(90deg, var(--saffron), var(--gold));
     transform: scaleX(0);
     transform-origin: right;
     transition: transform 0.35s ease;
 }

 .nav-links a:hover {
     color: var(--gold-light);
 }

 .nav-links a:hover::after {
     transform: scaleX(1);
     transform-origin: left;
 }

 .nav-cta {
     background: transparent;
     border: 1px solid var(--gold);
     color: var(--gold-light) !important;
     padding: 0.7rem 2.2rem;
     border-radius: 40px;
     transition: var(--transition) !important;
 }

 .nav-cta:hover {
     background: var(--gold) !important;
     color: var(--dark) !important;
     box-shadow: 0 0 20px var(--gold-glow);
 }

 .nav-cta-item {
     display: none;
 }

 /* DROPDOWN MENU */
 .nav-dropdown {
     position: relative;
 }

 .dropdown-trigger {
     display: flex;
     align-items: center;
     gap: 0.25rem;
     cursor: pointer;
 }

 .dropdown-trigger .arrow {
     font-size: 0.65rem;
     transition: transform 0.3s ease;
     display: inline-block;
 }

 .dropdown-menu {
     position: absolute;
     top: 100%;
     left: 50%;
     transform: translateX(-50%) translateY(15px);
     background: rgba(18, 10, 8, 0.96);
     backdrop-filter: blur(15px);
     border: 1px solid rgba(212, 175, 55, 0.3);
     border-radius: 8px;
     padding: 0.75rem 0;
     list-style: none;
     min-width: 160px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 15px rgba(212, 175, 55, 0.15);
     opacity: 0;
     visibility: hidden;
     transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
     z-index: 1002;
     display: flex;
     flex-direction: column;
     gap: 0.25rem;
 }

 .dropdown-menu::before {
     content: '';
     position: absolute;
     bottom: 100%;
     left: 50%;
     transform: translateX(-50%);
     border-width: 6px;
     border-style: solid;
     border-color: transparent transparent rgba(212, 175, 55, 0.3) transparent;
 }

 .dropdown-menu li {
     width: 100%;
     padding: 0;
 }

 .dropdown-menu a {
     display: block;
     padding: 0.6rem 1.5rem;
     font-size: 0.75rem !important;
     color: rgba(255, 255, 255, 0.8) !important;
     font-family: 'Cinzel', serif;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     transition: all 0.3s ease;
     text-align: center;
     border: none;
 }

 .dropdown-menu a::after {
     display: none !important;
 }

 .dropdown-menu a:hover {
     color: var(--gold-light) !important;
     background: rgba(212, 175, 55, 0.08);
 }

 /* Hover Behavior for Desktop */
 @media (min-width: 769px) {
     .nav-dropdown:hover .dropdown-menu {
         opacity: 1;
         visibility: visible;
         transform: translateX(-50%) translateY(5px);
     }

     .nav-dropdown:hover .dropdown-trigger .arrow {
         transform: rotate(180deg);
         color: var(--gold-light);
     }
 }

 /* Mobile Dropdown styles */
 @media (max-width: 768px) {
     .nav-dropdown {
         width: 100%;
         text-align: center;
     }

     .nav-dropdown .dropdown-trigger {
         justify-content: center;
         width: 100%;
     }

     .nav-dropdown .dropdown-menu {
         position: static;
         transform: none !important;
         opacity: 1;
         visibility: visible;
         display: none;
         /* Toggled via JS class */
         background: rgba(0, 0, 0, 0.25);
         border: none;
         box-shadow: none;
         width: 100%;
         padding: 0.5rem 0;
         margin-top: 0.5rem;
         backdrop-filter: none;
     }

     .nav-dropdown.open .dropdown-menu {
         display: flex;
     }

     .nav-dropdown.open .dropdown-trigger .arrow {
         transform: rotate(180deg);
     }

     .dropdown-menu::before {
         display: none;
     }
 }

 /* HERO */
 #hero {
     min-height: 100vh;
     height: 100vh;
     box-sizing: border-box;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     overflow: hidden;
     position: relative;
 }

 .hero-slider {
     position: absolute;
     inset: 0;
     z-index: 1;
     overflow: hidden;
 }

 .hero-slide {
     position: absolute;
     inset: 0;
     opacity: 0;
     transition: opacity 1.5s ease-in-out;
     overflow: hidden;
 }

 .hero-slide img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transform: scale(1.05);
     transition: transform 10s linear;
 }

 .hero-slide.active {
     opacity: 1;
     z-index: 2;
 }

 .hero-slide.active img {
     transform: scale(1.15);
 }

 /* Video slide — YouTube Shorts (vertical 9:16) scaled to cover hero */
 .hero-slide-video {
     overflow: hidden;
 }

 /* Full‑width responsive video */
 .hero-slide-video {
     position: absolute;
     inset: 0;
     overflow: hidden;
 }

 .hero-slide-video iframe {
     width: 100%;
     height: 100%;
     position: absolute;
     top: 0;
     left: 0;
     border: 0;
     object-fit: cover;
     pointer-events: none;
 }

 .hero-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to bottom, rgba(10, 5, 3, 0.7) 0%, rgba(10, 5, 3, 0.3) 45%, rgba(10, 5, 3, 0.9) 100%);
     z-index: 2;
 }

 .hero-content {
     position: relative;
     z-index: 3;
     max-width: 950px;
     display: flex;
     flex-direction: column;
     align-items: center;
     padding: 0 1.5rem;
     text-align: center;
     margin-top: 2rem; /* Give breathing space under navbar */
 }

 .hero-divider {
     display: flex;
     align-items: center;
     gap: 1.5rem;
     margin-bottom: 1.2rem;
     margin-top: 0.5rem;
 }

 .hero-divider::before,
 .hero-divider::after {
     content: '';
     width: 80px;
     height: 1px;
     background: linear-gradient(90deg, transparent, var(--gold), transparent);
 }

 .hero-divider span {
     color: var(--gold-light);
     font-size: 0.85rem;
     letter-spacing: 0.5em;
     text-transform: uppercase;
     font-family: 'Cinzel', serif;
 }

 .hero-title {
     font-size: clamp(2.2rem, 5.5vw, 4.5rem);
     font-weight: 400;
     color: var(--white);
     line-height: 1.1;
     margin-bottom: 1.2rem;
     letter-spacing: -0.01em;
     text-shadow: 0 4px 15px rgba(0, 0, 0, 0.95), 0 2px 4px rgba(0, 0, 0, 0.95);
     opacity: 0;
 }

 .hero-title em {
     font-style: italic;
     color: var(--gold);
     display: inline;
     margin-top: 0;
 }

 .hero-tagline {
     font-family: 'Inter', sans-serif;
     font-size: clamp(0.78rem, 1.2vw, 0.95rem);
     color: rgba(255, 255, 255, 0.9);
     font-style: normal;
     letter-spacing: 0.35em;
     text-transform: uppercase;
     margin-bottom: 2.5rem;
     text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95);
     opacity: 0;
 }

 .hero-buttons {
     display: flex;
     gap: 2rem;
     opacity: 0;
 }

 .hero-scroll {
     position: absolute;
     bottom: 2.5rem;
     left: 50%;
     transform: translateX(-50%);
     z-index: 3;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 1rem;
     opacity: 0;
 }

 .hero-scroll span {
     font-size: 0.7rem;
     letter-spacing: 0.4em;
     color: rgba(255, 255, 255, 0.6);
     text-transform: uppercase;
     font-family: 'Inter', sans-serif;
 }

 .scroll-indicator {
     width: 1px;
     height: 70px;
     background: rgba(255, 255, 255, 0.15);
     position: relative;
     overflow: hidden;
 }

 .scroll-indicator::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 1px;
     height: 50%;
     background: var(--gold);
     animation: scrollDown 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;
 }

 .hero-social-proof {
     position: absolute;
     bottom: 8rem;
     right: 3rem;
     z-index: 3;
     background: rgba(10, 5, 3, 0.75);
     backdrop-filter: blur(10px);
     border: 1px solid rgba(212, 175, 55, 0.35);
     border-radius: 8px;
     padding: 1rem 1.5rem;
     text-align: center;
     animation: fadeInRight 1s ease 2s both;
 }

 .hero-social-proof .booking-count {
     font-family: 'Playfair Display', serif;
     font-size: 1.6rem;
     color: var(--gold-light);
     display: block;
 }

 .hero-social-proof .booking-label {
     font-family: 'Inter', sans-serif;
     font-size: 0.7rem;
     color: rgba(255, 255, 255, 0.6);
     letter-spacing: 0.15em;
     text-transform: uppercase;
 }

 @keyframes fadeInRight {
     from {
         opacity: 0;
         transform: translateX(20px);
     }

     to {
         opacity: 1;
         transform: translateX(0);
     }
 }

 @keyframes scrollDown {
     0% {
         transform: translateY(-100%);
         opacity: 1;
     }

     100% {
         transform: translateY(200%);
         opacity: 0;
     }
 }

 /* ABOUT */
 #about {
     background: var(--cream);
     overflow: hidden;
 }

 #about::before {
     content: 'ॐ';
     position: absolute;
     right: -5rem;
     top: 40%;
     font-size: 35rem;
     color: var(--parchment);
     line-height: 1;
     pointer-events: none;
     z-index: 1;
     opacity: 0.7;
 }

 .about-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 6rem;
     align-items: center;
 }

 .about-image-stack {
     position: relative;
     height: 600px;
 }

 .about-img-main {
     position: absolute;
     top: 0;
     left: 0;
     width: 80%;
     height: 85%;
     overflow: hidden;
     border-radius: 4px;
     box-shadow: 25px 25px 0 var(--parchment), 28px 28px 0 var(--gold);
     z-index: 2;
 }

 .about-img-accent {
     position: absolute;
     bottom: 0;
     right: 0;
     width: 55%;
     height: 55%;
     overflow: hidden;
     border-radius: 4px;
     border: 8px solid var(--cream);
     box-shadow: var(--shadow-hover);
     z-index: 3;
 }

 .about-badge {
     position: absolute;
     bottom: 3rem;
     left: -1.5rem;
     background: var(--maroon);
     color: var(--gold-light);
     padding: 1.5rem 2rem;
     text-align: center;
     border-radius: 4px;
     z-index: 4;
     box-shadow: var(--shadow-hover);
 }

 .about-badge strong {
     display: block;
     font-family: 'Playfair Display', serif;
     font-size: 2.5rem;
     font-weight: 400;
     color: var(--gold-light);
 }

 .about-badge span {
     font-size: 0.8rem;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     font-family: 'Inter', sans-serif;
 }

 .about-text p {
     font-size: 1.25rem;
     line-height: 1.9;
     color: var(--text-muted);
     margin-bottom: 1.8rem;
 }

 .about-text p:first-of-type {
     font-size: 1.4rem;
     color: var(--text);
     font-style: italic;
 }

 .about-guide {
     display: flex;
     align-items: center;
     gap: 1.5rem;
     margin-top: 3rem;
     padding: 2rem;
     border-left: 4px solid var(--saffron);
     background: var(--saffron-pale);
     border-radius: 0 8px 8px 0;
 }

 .guide-avatar {
     width: 92px;
     height: 92px;
     border-radius: 50%;
     flex-shrink: 0;
     border: 3px solid var(--gold);
     overflow: hidden;
     background: var(--maroon-deep);
     box-shadow: 0 4px 18px rgba(107, 26, 26, 0.18);
 }

 .guide-avatar img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center 28%;
     display: block;
 }

 .guide-info strong {
     display: block;
     font-family: 'Playfair Display', serif;
     color: var(--maroon);
     font-size: 1.3rem;
     margin-bottom: 0.35rem;
 }

 .guide-info .guide-role {
     display: block;
     font-family: 'Inter', sans-serif;
     font-size: 0.8rem;
     color: var(--saffron-dark);
     letter-spacing: 0.12em;
     text-transform: uppercase;
     font-weight: 600;
 }

 .guide-info .guide-bio {
     font-family: 'Cormorant Garamond', serif;
     font-size: 1.12rem;
     line-height: 1.6;
     color: var(--text);
     font-style: italic;
     margin: 0.75rem 0 0;
     max-width: 38rem;
     letter-spacing: 0.02em;
 }

 /* MANIKARNIKA SECTION */
 .manikarnika-section {
     background: #0f0706;
     padding: 8rem 0;
     position: relative;
     overflow: hidden;
     border-top: 1px solid rgba(212, 175, 55, 0.15);
     border-bottom: 1px solid rgba(212, 175, 55, 0.15);
 }

 .manikarnika-inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 2rem;
     display: flex;
     gap: 5rem;
     align-items: center;
 }

 .manikarnika-img-wrap {
     flex: 1;
     position: relative;
 }

 .manikarnika-img-frame {
     position: relative;
     border-radius: 12px;
     overflow: hidden;
     border: 2px solid var(--gold);
     box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6);
 }

 .manikarnika-img-frame img {
     width: 100%;
     height: 600px;
     object-fit: cover;
     display: block;
     transition: transform 0.8s ease;
 }

 .manikarnika-img-frame:hover img {
     transform: scale(1.05);
 }

 .manikarnika-img-label {
     position: absolute;
     bottom: 20px;
     left: 20px;
     background: rgba(15, 7, 6, 0.85);
     backdrop-filter: blur(8px);
     border: 1px solid rgba(212, 175, 55, 0.4);
     padding: 0.6rem 1.2rem;
     border-radius: 6px;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     color: var(--gold-light);
     font-family: 'Cinzel', serif;
     font-size: 0.9rem;
     letter-spacing: 0.05em;
 }

 .manikarnika-fire {
     animation: flameFlicker 1.5s ease-in-out infinite alternate;
 }

 @keyframes flameFlicker {
     0% { transform: scale(1); filter: brightness(1); }
     100% { transform: scale(1.15); filter: brightness(1.3); }
 }

 .manikarnika-quote-badge {
     position: absolute;
     bottom: -30px;
     right: -20px;
     background: var(--maroon-deep);
     color: var(--white);
     border: 1px solid var(--gold);
     padding: 1.5rem;
     border-radius: 10px;
     box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
     max-width: 250px;
     z-index: 2;
 }

 .manikarnika-quote-badge .mq-symbol {
     font-size: 2rem;
     color: var(--gold);
     display: block;
     line-height: 1;
     margin-bottom: 0.5rem;
 }

 .manikarnika-quote-badge p {
     font-family: 'Cormorant Garamond', serif;
     font-style: italic;
     font-size: 1.15rem;
     line-height: 1.4;
     margin: 0;
     color: var(--white);
 }

 .manikarnika-text {
     flex: 1.2;
 }

 .manikarnika-history .mh-lead {
     font-family: 'Cormorant Garamond', serif;
     font-size: 1.4rem;
     line-height: 1.6;
     color: var(--white);
     margin-bottom: 2rem;
 }

 .manikarnika-history .mh-lead strong {
     color: var(--gold);
 }

 .mh-blocks {
     display: flex;
     flex-direction: column;
     gap: 1.8rem;
     margin-bottom: 2.5rem;
 }

 .mh-block {
     display: flex;
     gap: 1.2rem;
     align-items: flex-start;
 }

 .mh-icon {
     font-size: 1.8rem;
     background: rgba(212, 175, 55, 0.1);
     border: 1px solid rgba(212, 175, 55, 0.3);
     width: 50px;
     height: 50px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .mh-block strong {
     display: block;
     font-family: 'Cinzel', serif;
     color: var(--gold-light);
     font-size: 1rem;
     margin-bottom: 0.3rem;
     letter-spacing: 0.05em;
 }

 .mh-block p {
     font-size: 0.95rem;
     line-height: 1.5;
     color: rgba(255, 255, 255, 0.7);
     margin: 0;
 }

 .manikarnika-cta {
     display: inline-block;
     text-decoration: none;
 }

 /* WALKS */
 #walks {
     background: var(--dark);
     position: relative;
 }

 #walks::before {
     content: '';
     position: absolute;
     inset: 0;
     background: repeating-linear-gradient(45deg, transparent, transparent 40px, rgba(255, 255, 255, 0.01) 40px, rgba(255, 255, 255, 0.01) 41px);
 }

 .walks-intro {
     font-size: 1.3rem;
     color: rgba(255, 255, 255, 0.7);
     max-width: 650px;
     line-height: 1.8;
     margin-bottom: 4rem;
     font-style: italic;
 }

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

 .walk-card {
     position: relative;
     overflow: hidden;
     border-radius: 6px;
     background: #000;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
     cursor: pointer;
     transition: var(--transition);
     border: 1px solid rgba(255, 255, 255, 0.05);
 }

 .walk-card.featured {
     grid-column: span 2;
 }

 .walk-card:hover {
     transform: translateY(-10px) scale(1.02);
     box-shadow: 0 30px 60px rgba(0, 0, 0, 0.8), 0 0 25px rgba(212, 175, 55, 0.15);
     border-color: rgba(212, 175, 55, 0.3);
 }

 .walk-img {
     width: 100%;
     height: 350px;
     object-fit: cover;
     display: block;
     transition: transform 1s var(--transition);
     filter: brightness(0.7) saturation(0.8);
 }

 .walk-card.featured .walk-img {
     height: 450px;
 }

 .walk-card:hover .walk-img {
     transform: scale(1.08);
     filter: brightness(0.9) saturation(1.1);
 }

 .walk-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(10, 5, 3, 0.95) 0%, rgba(10, 5, 3, 0.4) 50%, transparent 100%);
     display: flex;
     flex-direction: column;
     justify-content: flex-end;
     padding: 2rem;
 }

 .walk-tag {
     display: inline-block;
     background: var(--saffron);
     color: var(--white);
     font-family: 'Inter', sans-serif;
     font-size: 0.7rem;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     padding: 0.4rem 1rem;
     border-radius: 2px;
     margin-bottom: 1rem;
     align-self: flex-start;
     font-weight: 600;
 }

 .walk-title {
     font-family: 'Playfair Display', serif;
     font-size: 1.5rem;
     color: var(--gold-light);
     margin-bottom: 0.8rem;
     line-height: 1.3;
 }

 .walk-card.featured .walk-title {
     font-size: 2.2rem;
 }

 .walk-meta {
     font-family: 'Inter', sans-serif;
     font-size: 0.85rem;
     color: rgba(255, 255, 255, 0.6);
     margin-bottom: 1rem;
     letter-spacing: 0.1em;
     text-transform: uppercase;
 }

 .walk-price {
     display: inline-block;
     font-family: 'Playfair Display', serif;
     font-size: 1.1rem;
     color: var(--gold);
     background: rgba(212, 175, 55, 0.1);
     border: 1px solid rgba(212, 175, 55, 0.3);
     padding: 0.3rem 0.8rem;
     border-radius: 3px;
     margin-bottom: 0.8rem;
 }

 .walk-desc {
     font-size: 1rem;
     color: rgba(255, 255, 255, 0.7);
     line-height: 1.6;
     margin-bottom: 1.5rem;
     display: none;
 }

 .walk-card.featured .walk-desc {
     display: block;
 }

 .walk-link {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     color: var(--gold-light);
     font-family: 'Cinzel', serif;
     font-size: 0.95rem;
     letter-spacing: 0.15em;
     text-decoration: none;
     text-transform: uppercase;
     padding-bottom: 4px;
     border-bottom: 1px solid rgba(212, 175, 55, 0.4);
     transition: var(--transition);
 }

 .walk-link:hover {
     color: var(--saffron-light);
     border-color: var(--saffron-light);
     gap: 1rem;
 }

 /* MODAL */
 .modal-overlay {
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, 0.85);
     backdrop-filter: blur(10px);
     z-index: 50000;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 2rem;
     opacity: 0;
     visibility: hidden;
     transition: all 0.4s ease;
 }

 .modal-overlay.open {
     opacity: 1;
     visibility: visible;
 }

 .modal-box {
     background: var(--maroon-darkest);
     border: 1px solid rgba(212, 175, 55, 0.2);
     border-radius: 10px;
     max-width: 750px;
     width: 100%;
     max-height: 85vh;
     overflow-y: auto;
     transform: translateY(40px) scale(0.96);
     transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
     box-shadow: 0 30px 80px rgba(0, 0, 0, 0.8);
     position: relative;
 }

 .modal-overlay.open .modal-box {
     transform: translateY(0) scale(1);
 }

 .modal-hero-img {
     width: 100%;
     height: 280px;
     object-fit: cover;
     border-radius: 10px 10px 0 0;
 }

 .modal-body {
     padding: 2.5rem;
 }

 .modal-tag {
     display: inline-block;
     background: var(--saffron);
     color: white;
     font-family: 'Inter', sans-serif;
     font-size: 0.7rem;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     padding: 0.3rem 0.8rem;
     border-radius: 2px;
     margin-bottom: 1rem;
 }

 .modal-title {
     font-family: 'Playfair Display', serif;
     font-size: 2rem;
     color: var(--gold-light);
     margin-bottom: 0.5rem;
 }

 .modal-meta {
     font-family: 'Inter', sans-serif;
     font-size: 0.85rem;
     color: rgba(255, 255, 255, 0.5);
     letter-spacing: 0.1em;
     text-transform: uppercase;
     margin-bottom: 1.5rem;
 }

 .modal-desc {
     font-size: 1.1rem;
     color: rgba(255, 255, 255, 0.75);
     line-height: 1.85;
     margin-bottom: 1.5rem;
 }

 .modal-highlights {
     list-style: none;
     margin-bottom: 2rem;
 }

 .modal-highlights li {
     display: flex;
     align-items: center;
     gap: 0.8rem;
     color: rgba(255, 255, 255, 0.7);
     font-family: 'Inter', sans-serif;
     font-size: 0.95rem;
     padding: 0.5rem 0;
     border-bottom: 1px solid rgba(255, 255, 255, 0.05);
 }

 .modal-highlights li::before {
     content: '✦';
     color: var(--saffron);
     font-size: 0.7rem;
 }

 .modal-price {
     font-family: 'Playfair Display', serif;
     font-size: 2.5rem;
     color: var(--gold-light);
     margin-bottom: 1.5rem;
 }

 .modal-price sub {
     font-size: 1rem;
     color: rgba(255, 255, 255, 0.5);
     font-family: 'Inter', sans-serif;
 }

 .modal-footer {
     display: flex;
     gap: 1rem;
     align-items: center;
 }

 .modal-close {
     position: absolute;
     top: 1rem;
     right: 1.5rem;
     background: none;
     border: none;
     color: rgba(255, 255, 255, 0.5);
     font-size: 2rem;
     cursor: pointer;
     transition: color 0.3s;
     line-height: 1;
 }

 .modal-close:hover {
     color: var(--gold-light);
 }

 /* PRICING */
 #pricing {
     background: var(--parchment);
     position: relative;
     overflow: hidden;
 }

 #pricing::before {
     content: '';
     position: absolute;
     top: -100px;
     right: -100px;
     width: 500px;
     height: 500px;
     background: radial-gradient(circle, rgba(212, 175, 55, 0.08), transparent 70%);
     pointer-events: none;
 }

 .pricing-intro {
     text-align: center;
     max-width: 600px;
     margin: 0 auto 4rem;
     font-size: 1.15rem;
     color: var(--text-muted);
     font-style: italic;
     line-height: 1.7;
 }

 .pricing-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 2rem;
 }

 .pricing-card {
     background: var(--white);
     border-radius: 16px;
     padding: 0;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
     position: relative;
     overflow: hidden;
     transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
     border: 1px solid rgba(139, 0, 0, 0.05);
     text-align: center;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
 }

 .pricing-card-img {
     width: 100%;
     height: 180px;
     position: relative;
     overflow: hidden;
     background: #111;
 }

 .pricing-card-img img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
 }

 .pricing-card:hover .pricing-card-img img {
     transform: scale(1.08);
 }

 .pricing-card-img::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, 0.5));
     z-index: 1;
 }

 .pricing-card-body {
     padding: 2.25rem 1.75rem 2.5rem;
     flex-grow: 1;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
 }

 .pricing-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 5px;
     background: linear-gradient(90deg, var(--saffron), var(--gold));
     transform: scaleX(0);
     transform-origin: center;
     transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
     z-index: 2;
 }

 .pricing-card:hover {
     transform: translateY(-12px);
     box-shadow: 0 20px 40px rgba(139, 0, 0, 0.08);
     border-color: rgba(255, 153, 51, 0.3);
 }

 .pricing-card:hover::before {
     transform: scaleX(1);
 }

 .pricing-card.popular {
     background: linear-gradient(135deg, #4A0000 0%, var(--maroon-deep) 100%);
     color: white;
     border: 2px solid var(--gold);
     box-shadow: 0 15px 35px rgba(74, 0, 0, 0.25);
 }

 .pricing-card.popular::before {
     display: none;
 }

 .pricing-card.popular:hover {
     box-shadow: 0 25px 50px rgba(74, 0, 0, 0.35), 0 0 20px rgba(212, 175, 55, 0.3);
     transform: translateY(-14px);
 }

 .popular-badge {
     position: absolute;
     top: 1rem;
     right: 1rem;
     background: linear-gradient(135deg, var(--gold) 0%, #B8860B 100%);
     color: var(--maroon-deep);
     font-family: 'Inter', sans-serif;
     font-weight: 700;
     font-size: 0.65rem;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     padding: 0.35rem 0.9rem;
     border-radius: 20px;
     box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
     z-index: 2;
 }

 .pricing-icon {
     font-size: 2rem;
     margin-bottom: 1rem;
     display: inline-block;
     opacity: 0.8;
 }

 .pricing-name {
     font-family: 'Cinzel', serif;
     font-size: 1.05rem;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     color: var(--maroon);
     font-weight: 700;
     margin-bottom: 0.75rem;
 }

 .pricing-card.popular .pricing-name {
     color: var(--gold-light);
     text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
 }

 .pricing-amount {
     font-family: 'Playfair Display', serif;
     font-size: 3.25rem;
     font-weight: 500;
     color: var(--maroon-deep);
     line-height: 1;
     margin-bottom: 0.25rem;
     display: flex;
     align-items: baseline;
     justify-content: center;
 }

 .pricing-amount sub {
     font-size: 1.8rem;
     bottom: 0;
     margin-right: 2px;
 }

 .pricing-card.popular .pricing-amount {
     color: var(--white);
     text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
 }

 .pricing-per {
     font-family: 'Inter', sans-serif;
     font-size: 0.8rem;
     color: var(--text-muted);
     text-transform: lowercase;
     letter-spacing: 0.05em;
     margin-bottom: 2.25rem;
 }

 .pricing-card.popular .pricing-per {
     color: rgba(255, 255, 255, 0.6);
 }

 .pricing-features {
     list-style: none;
     text-align: left;
     margin-bottom: 2.5rem;
     flex-grow: 1;
 }

 .pricing-features li {
     display: flex;
     align-items: center;
     gap: 0.8rem;
     font-family: 'Inter', sans-serif;
     font-size: 0.92rem;
     color: var(--text-dark);
     padding: 0.7rem 0;
     border-bottom: 1px solid rgba(0, 0, 0, 0.04);
 }

 .pricing-card.popular .pricing-features li {
     color: rgba(255, 255, 255, 0.85);
     border-color: rgba(255, 255, 255, 0.08);
 }

 .pricing-features li::before {
     content: '🔸';
     font-size: 0.65rem;
     flex-shrink: 0;
 }

 .pricing-card.popular .pricing-features li::before {
     content: '🪔';
     font-size: 0.85rem;
 }

 /* Buttons styling in pricing */
 .pricing-card .btn-primary {
     display: block;
     text-align: center;
     font-size: 0.85rem;
     padding: 1rem 2rem !important;
     border-radius: 30px !important;
     font-weight: 600;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     transition: all 0.3s;
 }

 .pricing-card:not(.popular) .btn-primary {
     background: transparent !important;
     color: var(--maroon) !important;
     border: 2px solid var(--maroon) !important;
     box-shadow: none !important;
 }

 .pricing-card:not(.popular) .btn-primary:hover {
     background: var(--maroon) !important;
     color: white !important;
     transform: translateY(-2px);
     box-shadow: 0 5px 15px rgba(139, 0, 0, 0.15) !important;
 }

 .pricing-card.popular .btn-primary {
     background: linear-gradient(135deg, var(--gold) 0%, #B8860B 100%) !important;
     color: var(--maroon-deep) !important;
     border: none !important;
     box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3) !important;
 }

 .pricing-card.popular .btn-primary:hover {
     background: linear-gradient(135deg, #FFF 0%, var(--gold-light) 100%) !important;
     transform: translateY(-2px);
     box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5) !important;
 }

 .pricing-note {
     font-family: 'Inter', sans-serif;
     font-size: 0.78rem;
     color: var(--text-muted);
     font-style: italic;
     text-align: center;
     margin-top: 3rem;
 }

 /* ARATI */
 #arati {
     background: var(--maroon-deep);
     position: relative;
 }

 .arati-inner {
     display: grid;
     grid-template-columns: 1fr 1.2fr;
     min-height: 550px;
     border-radius: 8px;
     overflow: hidden;
     box-shadow: var(--shadow-dark);
     border: 1px solid rgba(212, 175, 55, 0.1);
 }

 .arati-visual {
     background: url('https://images.unsplash.com/photo-1616077168712-fc6c788db4af?q=80&w=1200&auto=format&fit=crop') center/cover;
     position: relative;
 }

 .arati-visual::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(to right, transparent 50%, var(--maroon-darkest));
 }

 .arati-content {
     background: var(--maroon-darkest);
     padding: 5rem 4rem;
     display: flex;
     flex-direction: column;
     justify-content: center;
     border-left: 1px solid rgba(212, 175, 55, 0.1);
 }

 .arati-content p {
     color: rgba(255, 255, 255, 0.7);
     font-size: 1.15rem;
     line-height: 1.85;
     margin-bottom: 1.5rem;
 }

 .arati-price {
     display: inline-flex;
     align-items: baseline;
     gap: 0.5rem;
     background: rgba(212, 175, 55, 0.1);
     border: 1px solid rgba(212, 175, 55, 0.3);
     padding: 1rem 2rem;
     border-radius: 4px;
     margin-bottom: 2rem;
     align-self: flex-start;
 }

 .arati-price strong {
     font-family: 'Playfair Display', serif;
     font-size: 2rem;
     color: var(--gold-light);
     font-weight: 500;
 }

 .arati-price span {
     font-family: 'Inter', sans-serif;
     font-size: 0.85rem;
     color: rgba(255, 255, 255, 0.6);
     letter-spacing: 0.1em;
     text-transform: uppercase;
 }

 /* 3D Floating Background Elements (Temples & Boats) */
 .floating-bg-3d {
     position: absolute;
     pointer-events: none;
     user-select: none;
     z-index: 1;
     opacity: 0.28;
     /* perfectly visible and elegant backdrop watermark */
     will-change: transform;
     transition: opacity 0.5s;
 }

 .floating-temple-3d {
     animation: float3D 24s infinite ease-in-out;
 }

 .floating-boat-3d {
     animation: drift3D 32s infinite ease-in-out;
 }

 @keyframes float3D {
     0% {
         transform: translateY(0) rotate(0deg) scale(1);
     }

     33% {
         transform: translateY(-30px) translateX(20px) rotate(4deg) scale(1.03);
     }

     66% {
         transform: translateY(20px) translateX(-15px) rotate(-5deg) scale(0.97);
     }

     100% {
         transform: translateY(0) rotate(0deg) scale(1);
     }
 }

 @keyframes drift3D {
     0% {
         transform: translateX(-35px) translateY(0) rotate(-1deg) scale(1);
     }

     50% {
         transform: translateX(40px) translateY(-20px) rotate(3deg) scale(1.05);
     }

     100% {
         transform: translateX(-35px) translateY(0) rotate(-1deg) scale(1);
     }
 }

 /* WHY */
 #why {
     background: var(--parchment);
     position: relative;
     text-align: center;
 }

 .why-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 2.5rem;
     margin-top: 5rem;
 }

 .why-card {
     text-align: left;
     padding: 0;
     background: #fdfaf4;
     border-radius: 12px;
     position: relative;
     overflow: hidden;
     transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
     border: 1px solid rgba(130, 29, 29, 0.1);
     box-shadow: 0 10px 30px rgba(50, 20, 20, 0.04);
     display: flex;
     flex-direction: column;
 }

 /* Inner gold frame that appears on hover */
 .why-card::after {
     content: '';
     position: absolute;
     inset: 10px;
     border: 1px solid rgba(212, 175, 55, 0);
     border-radius: 8px;
     pointer-events: none;
     transition: border-color 0.4s ease, transform 0.4s ease;
     z-index: 2;
     transform: scale(0.95);
 }

 .why-card:hover {
     transform: translateY(-10px);
     background: #ffffff;
     box-shadow: 0 20px 45px rgba(139, 0, 0, 0.08), 0 5px 15px rgba(212, 175, 55, 0.1);
     border-color: rgba(212, 175, 55, 0.35);
 }

 .why-card:hover::after {
     border-color: rgba(212, 175, 55, 0.4);
     transform: scale(1);
 }

 .why-card-img {
     width: 100%;
     height: 220px;
     position: relative;
     overflow: hidden;
     background: #111;
 }

 .why-card-img img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     filter: grayscale(15%) sepia(10%);
     transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease;
 }

 .why-card-img::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(to bottom, transparent 50%, rgba(26, 12, 10, 0.5));
     z-index: 1;
 }

 .why-card:hover .why-card-img img {
     transform: scale(1.08);
     filter: grayscale(0%) sepia(0%);
 }

 .why-icon-badge {
     position: absolute;
     top: 195px;
     right: 1.5rem;
     width: 50px;
     height: 50px;
     background: var(--dark-red);
     color: var(--gold);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.4rem;
     box-shadow: 0 6px 15px rgba(139, 0, 0, 0.3);
     z-index: 3;
     border: 1.5px solid var(--gold);
     transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
 }

 .why-card:hover .why-icon-badge {
     transform: scale(1.15) rotate(15deg);
     box-shadow: 0 8px 20px rgba(139, 0, 0, 0.4), 0 0 10px rgba(212, 175, 55, 0.4);
 }

 .why-card-body {
     padding: 2.25rem 1.75rem 2.25rem;
     flex-grow: 1;
     display: flex;
     flex-direction: column;
     position: relative;
     z-index: 2;
 }

 .why-card h3 {
     font-family: 'Cinzel', serif;
     font-size: 1.15rem;
     font-weight: 700;
     letter-spacing: 0.5px;
     color: var(--dark-red);
     margin-bottom: 0.85rem;
     line-height: 1.4;
     transition: color 0.3s ease;
 }

 .why-card:hover h3 {
     color: #b22222;
 }

 .why-card p {
     font-family: 'Inter', sans-serif;
     font-size: 0.92rem;
     color: #554444;
     line-height: 1.6;
     margin: 0;
 }

 /* GALLERY */
 #gallery {
     background: var(--white);
     padding: 8rem 0;
 }

 .gallery-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     grid-template-rows: 250px 250px;
     gap: 15px;
     margin-top: 3rem;
 }

 .gallery-item {
     overflow: hidden;
     position: relative;
     border-radius: 6px;
     cursor: crosshair;
 }

 .gallery-item:nth-child(1) {
     grid-column: span 2;
     grid-row: span 2;
 }

 .gallery-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), filter 0.5s;
     filter: saturate(0.8) brightness(0.85);
 }

 .gallery-item:hover img {
     transform: scale(1.1);
     filter: saturate(1.1) brightness(1.1);
 }

 .gallery-item::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(to bottom, transparent 50%, rgba(10, 5, 3, 0.6));
     opacity: 0;
     transition: opacity 0.5s;
     pointer-events: none;
 }

 .gallery-item:hover::after {
     opacity: 1;
 }

 /* TESTIMONIALS */
 /* TESTIMONIALS REDESIGN */
 #testimonials {
     background: linear-gradient(180deg, var(--maroon-deep) 0%, rgba(42, 6, 6, 0.95) 100%);
     padding: 8rem 0;
     position: relative;
     border-top: 1px solid var(--gold-border);
     border-bottom: 1px solid var(--gold-border);
 }

 .testimonials-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 2.5rem;
     margin-top: 4rem;
     margin-bottom: 4rem;
 }

 .testimonial-card {
     background: rgba(255, 255, 255, 0.02);
     border: 1px solid var(--gold-border);
     padding: 2.5rem;
     border-radius: 4px;
     position: relative;
     transition: all 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
 }

 .testimonial-card::before {
     content: '\201C';
     position: absolute;
     top: 0.5rem;
     right: 1.5rem;
     font-family: 'Playfair Display', serif;
     font-size: 6rem;
     color: rgba(212, 175, 55, 0.08);
     line-height: 1;
     pointer-events: none;
 }

 .testimonial-card:hover {
     transform: translateY(-8px);
     border-color: var(--gold);
     box-shadow: 0 20px 45px rgba(212, 175, 55, 0.15);
     background: rgba(255, 255, 255, 0.04);
 }

 .testimonial-text {
     font-family: 'EB Garamond', serif;
     font-style: italic;
     font-size: 1.25rem;
     line-height: 1.8;
     color: rgba(255, 255, 255, 0.85);
     margin-bottom: 2rem;
     position: relative;
     z-index: 1;
 }

 .testimonial-author {
     display: flex;
     align-items: center;
     gap: 1rem;
     border-top: 1px solid rgba(255, 255, 255, 0.05);
     padding-top: 1.25rem;
 }

 .author-avatar {
     width: 50px;
     height: 50px;
     border-radius: 50%;
     object-fit: cover;
     border: 2px solid var(--gold-border);
     transition: border-color 0.3s;
 }

 .testimonial-card:hover .author-avatar {
     border-color: var(--gold);
 }

 .author-name {
     font-family: 'Cinzel', serif;
     font-size: 0.95rem;
     color: var(--text-light);
     font-weight: 600;
     letter-spacing: 0.05em;
 }

 .author-from {
     font-family: 'Inter', sans-serif;
     font-size: 0.75rem;
     color: var(--text-muted);
     letter-spacing: 0.08em;
     text-transform: uppercase;
     margin-top: 0.15rem;
 }

 .stars {
     color: #fbbf24;
     font-size: 1rem;
     margin-bottom: 1.2rem;
     letter-spacing: 2px;
     text-shadow: 0 0 8px rgba(251, 191, 36, 0.3);
 }

 .testimonials-cta {
     text-align: center;
     margin-top: 2rem;
 }

 /* Responsive */
 @media (max-width: 992px) {
     .testimonials-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 1.8rem;
     }
 }

 @media (max-width: 768px) {
     .testimonials-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
     }
 }

 /* REVIEWS */
 #reviews {
     background: var(--dark);
     padding: 6rem 0;
 }

 .reviews-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 3rem;
     flex-wrap: wrap;
     gap: 2rem;
 }

 .google-rating-summary {
     display: flex;
     align-items: center;
     gap: 2rem;
     background: rgba(255, 255, 255, 0.04);
     border: 1px solid rgba(212, 175, 55, 0.2);
     padding: 1.5rem 2.5rem;
     border-radius: 8px;
 }

 .g-logo {
     font-family: 'Cinzel', serif;
     font-size: 2rem;
     background: linear-gradient(135deg, #4285f4, #ea4335, #fbbc05, #34a853);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     font-weight: 700;
 }

 .g-score {
     font-family: 'Playfair Display', serif;
     font-size: 3.5rem;
     color: var(--gold-light);
     line-height: 1;
 }

 .g-meta span {
     display: block;
     color: rgba(255, 255, 255, 0.5);
     font-family: 'Inter', sans-serif;
     font-size: 0.85rem;
 }

 .g-meta .g-stars {
     font-size: 1.4rem;
     color: #fbbc05;
     letter-spacing: 2px;
 }

 .reviews-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 1.5rem;
 }

 .review-card {
     background: rgba(255, 255, 255, 0.04);
     border: 1px solid rgba(255, 255, 255, 0.07);
     border-radius: 8px;
     padding: 1.8rem;
     transition: var(--transition);
 }

 .review-card:hover {
     background: rgba(255, 255, 255, 0.07);
     border-color: rgba(212, 175, 55, 0.2);
     transform: translateY(-4px);
 }

 .review-stars {
     color: #fbbc05;
     font-size: 1rem;
     letter-spacing: 2px;
     margin-bottom: 0.8rem;
 }

 .review-text {
     color: rgba(255, 255, 255, 0.7);
     font-size: 0.95rem;
     line-height: 1.7;
     margin-bottom: 1.2rem;
     font-style: italic;
 }

 .review-author {
     display: flex;
     align-items: center;
     gap: 0.8rem;
 }

 .review-avatar {
     width: 38px;
     height: 38px;
     border-radius: 50%;
     background: var(--saffron);
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: 'Inter', sans-serif;
     font-weight: 600;
     color: white;
     font-size: 0.9rem;
     flex-shrink: 0;
 }

 .review-name {
     font-family: 'Inter', sans-serif;
     font-size: 0.9rem;
     color: rgba(255, 255, 255, 0.8);
     font-weight: 500;
 }

 .review-date {
     font-size: 0.75rem;
     color: rgba(255, 255, 255, 0.35);
 }

 .review-google-link {
     color: var(--saffron-light);
     text-decoration: none;
     border-bottom: 1px solid rgba(255, 153, 51, 0.35);
 }

 .review-google-link:hover {
     color: var(--saffron);
 }

 .review-text--link {
     font-style: normal;
 }

 .review-text--link a {
     color: var(--gold-light);
     font-family: 'Inter', sans-serif;
     font-size: 0.9rem;
 }

 #google-reviews-grid:empty {
     min-height: 120px;
 }

 /* INSTAGRAM */
 #instagram {
     background: var(--cream);
     padding: 6rem 0;
 }

 .insta-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 2.5rem;
 }

 .insta-handle {
     display: flex;
     align-items: center;
     gap: 1rem;
 }

 .insta-icon {
     width: 45px;
     height: 45px;
     background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.3rem;
     color: white;
 }

 .insta-name {
     font-family: 'Cinzel', serif;
     font-size: 1.1rem;
     color: var(--maroon);
     letter-spacing: 0.1em;
 }

 .insta-name span {
     display: block;
     font-family: 'Inter', sans-serif;
     font-size: 0.75rem;
     color: var(--text-muted);
     letter-spacing: 0.05em;
     text-transform: uppercase;
 }

 .insta-follow {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     padding: 0.6rem 1.5rem;
     background: linear-gradient(45deg, #f09433, #dc2743, #bc1888);
     color: white;
     border-radius: 20px;
     font-family: 'Inter', sans-serif;
     font-size: 0.85rem;
     font-weight: 600;
     text-decoration: none;
     transition: var(--transition);
 }

 .insta-follow:hover {
     transform: translateY(-3px);
     box-shadow: 0 8px 20px rgba(220, 39, 67, 0.4);
 }

 .insta-grid {
     display: grid;
     grid-template-columns: repeat(6, 1fr);
     gap: 8px;
 }

 .insta-post {
     aspect-ratio: 1;
     overflow: hidden;
     border-radius: 4px;
     position: relative;
     cursor: pointer;
 }

 .insta-post img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.5s ease, filter 0.5s;
     filter: saturate(0.8);
 }

 .insta-post:hover img {
     transform: scale(1.1);
     filter: saturate(1.2) brightness(0.85);
 }

 .insta-post::after {
     content: '❤';
     position: absolute;
     inset: 0;
     background: rgba(0, 0, 0, 0.4);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.5rem;
     opacity: 0;
     transition: opacity 0.3s;
 }

 .insta-post:hover::after {
     opacity: 1;
 }

 /* SOCIAL PROOF COUNTER */
 #social-proof {
     background: var(--maroon);
     padding: 3rem 0;
 }

 .proof-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 2rem;
 }

 .proof-item {
     text-align: center;
     padding: 2rem;
 }

 .proof-number {
     font-family: 'Playfair Display', serif;
     font-size: 3.5rem;
     font-weight: 400;
     color: var(--gold-light);
     display: block;
     line-height: 1;
 }

 .proof-label {
     font-family: 'Inter', sans-serif;
     font-size: 0.8rem;
     color: rgba(255, 255, 255, 0.55);
     text-transform: uppercase;
     letter-spacing: 0.2em;
     margin-top: 0.5rem;
 }

 /* FAQ */
 #faq {
     background: var(--white);
 }

 .faq-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 2rem;
     margin-top: 4rem;
 }

 .faq-item {
     border: 1px solid rgba(0, 0, 0, 0.07);
     border-radius: 6px;
     overflow: hidden;
     transition: var(--transition);
 }

 .faq-item:hover {
     border-color: rgba(255, 153, 51, 0.3);
     box-shadow: var(--shadow-soft);
 }

 .faq-question {
     padding: 1.5rem 2rem;
     display: flex;
     justify-content: space-between;
     align-items: center;
     cursor: pointer;
     background: var(--cream);
     gap: 1rem;
     font-family: 'Playfair Display', serif;
     font-size: 1.05rem;
     color: var(--text);
     border: none;
     width: 100%;
     text-align: left;
 }

 .faq-question:hover {
     background: var(--saffron-pale);
 }

 .faq-toggle {
     width: 30px;
     height: 30px;
     border-radius: 50%;
     background: var(--saffron-pale);
     border: 1px solid rgba(255, 153, 51, 0.3);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     font-size: 1.2rem;
     color: var(--saffron);
     transition: all 0.3s;
     font-family: sans-serif;
 }

 .faq-item.open .faq-toggle {
     background: var(--saffron);
     color: white;
     transform: rotate(45deg);
 }

 .faq-answer {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.4s ease, padding 0.3s ease;
     background: white;
 }

 .faq-item.open .faq-answer {
     max-height: 300px;
 }

 .faq-answer-inner {
     padding: 1.5rem 2rem;
     font-family: 'Inter', sans-serif;
     font-size: 0.95rem;
     color: var(--text-muted);
     line-height: 1.75;
 }

 /* CALENDAR */
 #availability {
     background: var(--parchment);
 }

 .calendar-wrapper {
     background: var(--white);
     border-radius: 10px;
     padding: 3rem;
     box-shadow: var(--shadow-soft);
     max-width: 900px;
     margin: 3rem auto 0;
     border: 1px solid rgba(0, 0, 0, 0.06);
 }

 .calendar-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 2rem;
 }

 .cal-nav {
     background: none;
     border: 1px solid rgba(0, 0, 0, 0.1);
     border-radius: 6px;
     padding: 0.5rem 1rem;
     cursor: pointer;
     font-size: 1.2rem;
     color: var(--maroon);
     transition: all 0.3s;
 }

 .cal-nav:hover {
     background: var(--saffron);
     color: white;
     border-color: var(--saffron);
 }

 .cal-month {
     font-family: 'Playfair Display', serif;
     font-size: 1.5rem;
     color: var(--maroon-deep);
 }

 .cal-days-header {
     display: grid;
     grid-template-columns: repeat(7, 1fr);
     gap: 5px;
     margin-bottom: 8px;
 }

 .cal-day-name {
     text-align: center;
     font-family: 'Inter', sans-serif;
     font-size: 0.75rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--text-muted);
     padding: 0.5rem 0;
 }

 .cal-grid {
     display: grid;
     grid-template-columns: repeat(7, 1fr);
     gap: 5px;
 }

 .cal-day {
     aspect-ratio: 1;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 6px;
     font-family: 'Inter', sans-serif;
     font-size: 0.9rem;
     cursor: default;
     position: relative;
     transition: all 0.3s;
 }

 .cal-day.empty {
     background: transparent;
 }

 .cal-day.past {
     color: #ccc;
     background: #f9f9f9;
 }

 .cal-day.available {
     background: rgba(34, 197, 94, 0.1);
     color: var(--text);
     cursor: pointer;
     border: 1px solid rgba(34, 197, 94, 0.3);
 }

 .cal-day.available:hover {
     background: rgba(34, 197, 94, 0.2);
     transform: scale(1.08);
 }

 .cal-day.limited {
     background: rgba(255, 153, 51, 0.12);
     color: var(--saffron-dark);
     cursor: pointer;
     border: 1px solid rgba(255, 153, 51, 0.3);
 }

 .cal-day.limited:hover {
     background: rgba(255, 153, 51, 0.2);
     transform: scale(1.08);
 }

 .cal-day.full {
     background: rgba(220, 38, 38, 0.08);
     color: #dc2626;
     text-decoration: line-through;
 }

 .cal-day.today {
     font-weight: 700;
     box-shadow: 0 0 0 2px var(--gold);
     background: var(--gold-pale);
     color: var(--maroon);
 }

 .cal-legend {
     display: flex;
     gap: 2rem;
     margin-top: 1.5rem;
     flex-wrap: wrap;
 }

 .cal-legend-item {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     font-family: 'Inter', sans-serif;
     font-size: 0.8rem;
     color: var(--text-muted);
 }

 .cal-legend-dot {
     width: 12px;
     height: 12px;
     border-radius: 3px;
 }

 .cal-selected-info {
     margin-top: 1.5rem;
     padding: 1.2rem 1.5rem;
     background: var(--saffron-pale);
     border: 1px solid rgba(255, 153, 51, 0.3);
     border-radius: 6px;
     font-family: 'Inter', sans-serif;
     font-size: 0.9rem;
     color: var(--maroon);
     display: none;
 }

 .cal-selected-info.show {
     display: block;
 }

 /* BOAT */
 #boat {
     background: var(--maroon);
     position: relative;
     overflow: hidden;
 }

 .boat-inner {
     display: grid;
     grid-template-columns: 1fr 1.2fr;
     gap: 6rem;
     align-items: center;
 }

 .boat-content p {
     color: rgba(255, 255, 255, 0.75);
     font-size: 1.25rem;
     line-height: 1.85;
     margin-bottom: 2rem;
     font-style: italic;
 }

 .boat-options {
     display: flex;
     gap: 1.5rem;
     margin: 2.5rem 0;
 }

 .boat-option {
     flex: 1;
     background: rgba(0, 0, 0, 0.25);
     border: 1px solid rgba(212, 175, 55, 0.3);
     padding: 1.5rem;
     text-align: center;
     border-radius: 6px;
     transition: var(--transition);
 }

 .boat-option:hover {
     background: rgba(0, 0, 0, 0.4);
     transform: translateY(-5px);
     border-color: var(--gold);
 }

 .boat-option .icon {
     font-size: 2rem;
     margin-bottom: 1rem;
 }

 .boat-option strong {
     display: block;
     font-family: 'Playfair Display', serif;
     font-size: 1.2rem;
     color: var(--gold-light);
     margin-bottom: 0.4rem;
 }

 .boat-option span {
     font-family: 'Inter', sans-serif;
     font-size: 0.85rem;
     color: rgba(255, 255, 255, 0.6);
     text-transform: uppercase;
     letter-spacing: 0.1em;
 }

 .boat-price-tag {
     font-family: 'Playfair Display', serif;
     font-size: 3rem;
     color: var(--gold-light);
     font-weight: 500;
     margin-bottom: 2rem;
 }

 .boat-price-tag sub {
     font-size: 1rem;
     color: rgba(255, 255, 255, 0.6);
     font-family: 'EB Garamond', serif;
     font-weight: 400;
     font-style: italic;
     margin-left: 0.5rem;
 }

 .boat-visual {
     height: 550px;
     border-radius: 8px;
     box-shadow: -25px 25px 0 rgba(0, 0, 0, 0.3);
     position: relative;
     overflow: hidden;
 }

 .boat-visual img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .boat-visual::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, rgba(107, 26, 26, 0.4), transparent 60%);
     border-radius: 8px;
 }

 /* BOOKING */
 #booking {
     background: var(--dark);
     position: relative;
     overflow: hidden;
 }

 #booking::before {
     content: '';
     position: absolute;
     inset: 0;
     background: url('https://images.unsplash.com/photo-1541091523428-2d887a0bfa1e?q=80&w=2000&auto=format&fit=crop') center/cover no-repeat;
     background-attachment: fixed;
     opacity: 0.15;
     z-index: 0;
 }

 .booking-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 6rem;
     align-items: start;
     position: relative;
     z-index: 2;
 }

 .booking-info p {
     color: rgba(255, 255, 255, 0.7);
     font-size: 1.25rem;
     line-height: 1.8;
     margin-bottom: 2.5rem;
     font-style: italic;
 }

 .booking-features {
     list-style: none;
     display: flex;
     flex-direction: column;
     gap: 1.2rem;
 }

 .booking-features li {
     display: flex;
     align-items: center;
     gap: 1rem;
     color: rgba(255, 255, 255, 0.8);
     font-size: 1.05rem;
     font-family: 'Inter', sans-serif;
 }

 .booking-features li::before {
     content: '✦';
     color: var(--saffron);
     font-size: 1.2rem;
 }

 .booking-form {
     background: rgba(255, 255, 255, 0.04);
     backdrop-filter: blur(15px);
     border: 1px solid rgba(212, 175, 55, 0.2);
     padding: 3.5rem;
     border-radius: 8px;
     box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
 }

 .form-title {
     font-family: 'Playfair Display', serif;
     font-size: 2rem;
     color: var(--gold-light);
     margin-bottom: 2.5rem;
 }

 .form-row {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1.5rem;
 }

 .form-group {
     margin-bottom: 1.8rem;
 }

 .form-group label {
     display: block;
     font-family: 'Inter', sans-serif;
     font-size: 0.8rem;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.6);
     margin-bottom: 0.6rem;
 }

 .form-group input,
 .form-group select,
 .form-group textarea {
     width: 100%;
     background: rgba(255, 255, 255, 0.05);
     border: 1px solid rgba(255, 255, 255, 0.15);
     color: var(--white);
     padding: 1rem 1.2rem;
     font-family: 'Inter', sans-serif;
     font-size: 1rem;
     border-radius: 4px;
     outline: none;
     transition: var(--transition);
 }

 .form-group input:focus,
 .form-group select:focus,
 .form-group textarea:focus {
     border-color: var(--saffron);
     box-shadow: 0 0 15px rgba(255, 153, 51, 0.3);
     background: rgba(255, 255, 255, 0.1);
 }

 .form-group select option {
     background: var(--dark);
 }

 .form-group textarea {
     resize: none;
     height: 120px;
 }

 .form-submit {
     width: 100%;
     padding: 1.2rem;
     background: linear-gradient(135deg, var(--saffron), #E67E00);
     color: var(--white);
     border: none;
     font-family: 'Cinzel', serif;
     font-size: 1.1rem;
     font-weight: 600;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     border-radius: 4px;
     cursor: pointer;
     transition: var(--transition);
     margin-top: 1rem;
     box-shadow: 0 5px 20px rgba(255, 153, 51, 0.4);
 }

 .form-submit:hover {
     background: var(--gold);
     color: var(--dark);
     box-shadow: 0 10px 30px var(--gold-glow);
 }

 .payment-note {
     display: flex;
     align-items: center;
     gap: 0.8rem;
     margin-top: 1rem;
     padding: 0.8rem 1.2rem;
     background: rgba(255, 255, 255, 0.03);
     border: 1px solid rgba(255, 255, 255, 0.08);
     border-radius: 4px;
 }

 .payment-note span {
     font-family: 'Inter', sans-serif;
     font-size: 0.8rem;
     color: rgba(255, 255, 255, 0.4);
 }

 .payment-icons {
     display: flex;
     gap: 0.5rem;
 }

 .pay-badge {
     background: rgba(255, 255, 255, 0.08);
     border-radius: 3px;
     padding: 0.2rem 0.5rem;
     font-family: 'Inter', sans-serif;
     font-size: 0.7rem;
     color: rgba(255, 255, 255, 0.5);
     font-weight: 600;
 }

 /* CONTACT */
 #contact {
     background: var(--cream);
     padding: 7rem 0 5rem;
 }

 .contact-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 6rem;
     align-items: center;
 }

 .contact-details {
     margin-top: 3rem;
     display: flex;
     flex-direction: column;
     gap: 2rem;
 }

 .contact-item {
     display: flex;
     gap: 1.5rem;
     align-items: flex-start;
 }

 .contact-icon {
     width: 50px;
     height: 50px;
     background: var(--saffron-pale);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     font-size: 1.2rem;
     color: var(--saffron);
     border: 1px solid rgba(255, 153, 51, 0.3);
 }

 .contact-item strong {
     display: block;
     font-family: 'Inter', sans-serif;
     font-size: 0.85rem;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     color: var(--text-muted);
     margin-bottom: 0.4rem;
 }

 .contact-item p {
     font-size: 1.2rem;
     color: var(--text);
 }

 .map-container {
     height: 400px;
     background: var(--parchment);
     border-radius: 6px;
     overflow: hidden;
     position: relative;
     border: 1px solid rgba(0, 0, 0, 0.1);
     box-shadow: var(--shadow-soft);
 }

 .map-container iframe {
     width: 100%;
     height: 100%;
     border: none;
     filter: sepia(0.4) saturate(0.8) hue-rotate(345deg);
 }

 /* FOOTER */
 footer {
     background: var(--maroon-darkest);
     padding: 5rem 0 2rem;
     position: relative;
     color: var(--white);
 }

 .footer-inner {
     display: grid;
     grid-template-columns: 2fr 1fr 1fr;
     gap: 5rem;
     margin-bottom: 4rem;
 }

 .footer-brand .nav-logo {
     color: var(--gold-light);
     font-size: 2.2rem;
 }

 .footer-brand p {
     color: rgba(255, 255, 255, 0.5);
     font-size: 1.1rem;
     line-height: 1.8;
     margin-top: 1.5rem;
     max-width: 350px;
     font-style: italic;
 }

 .footer-col h4 {
     font-family: 'Cinzel', serif;
     font-size: 1.2rem;
     color: var(--gold-light);
     margin-bottom: 1.8rem;
 }

 .footer-col ul {
     list-style: none;
 }

 .footer-col ul li {
     margin-bottom: 1rem;
 }

 .footer-col ul li a {
     color: rgba(255, 255, 255, 0.6);
     text-decoration: none;
     font-family: 'Inter', sans-serif;
     font-size: 0.95rem;
     transition: color 0.3s;
 }

 .footer-col ul li a:hover {
     color: var(--saffron-light);
 }

 .footer-bottom {
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     padding-top: 2rem;
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .footer-bottom p {
     color: rgba(255, 255, 255, 0.4);
     font-family: 'Inter', sans-serif;
     font-size: 0.85rem;
     letter-spacing: 0.1em;
 }

 .footer-om {
     font-size: 2rem;
     color: rgba(212, 175, 55, 0.5);
 }

 .footer-social {
     display: flex;
     gap: 1rem;
     margin-top: 1.5rem;
 }

 .social-link {
     width: 40px;
     height: 40px;
     border-radius: 50%;
     border: 1px solid rgba(255, 255, 255, 0.15);
     display: flex;
     align-items: center;
     justify-content: center;
     color: rgba(255, 255, 255, 0.5);
     text-decoration: none;
     font-size: 1rem;
     transition: all 0.3s;
 }

 .social-link:hover {
     background: var(--saffron);
     border-color: var(--saffron);
     color: white;
     transform: translateY(-3px);
 }

 /* GSAP BASE */
 .gsap-reveal,
 .gsap-stagger-card {
     opacity: 0;
 }

 .walks-grid,
 .why-grid {
     min-height: 400px;
 }

 /* LANGUAGE CLASSES */
 .lang-es,
 .lang-it {
     display: none;
 }

 span.lang-es,
 span.lang-it {
     display: none;
 }

 /* Spanish */
 body.spanish .lang-en {
     display: none;
 }

 body.spanish .lang-es {
     display: block;
 }

 body.spanish span.lang-en {
     display: none;
 }

 body.spanish span.lang-es {
     display: inline;
 }

 /* Italian */
 body.italiano .lang-en {
     display: none;
 }

 body.italiano .lang-it {
     display: block;
 }

 body.italiano span.lang-en {
     display: none;
 }

 body.italiano span.lang-it {
     display: inline;
 }

 /* RESPONSIVE */
 @media(max-width:1200px) {
     .nav-inner {
         padding: 0.85rem 1.5rem;
     }

     .nav-links {
         gap: 1.1rem;
     }

     .nav-links a {
         font-size: 0.72rem;
         letter-spacing: 0.1em;
     }

     .nav-logo-name {
         font-size: 1.25rem;
     }

     .nav-cta-desktop {
         padding: 0.55rem 1.25rem;
         font-size: 0.72rem;
     }
 }

 @media(max-width:1024px) {

     .about-grid,
     .booking-grid,
     .contact-grid,
     .arati-inner,
     .boat-inner {
         grid-template-columns: 1fr;
         gap: 4rem;
     }

     .walks-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .why-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .gallery-grid {
         grid-template-columns: repeat(2, 1fr);
         grid-template-rows: auto;
     }

     .gallery-item:nth-child(1) {
         grid-column: span 2;
         grid-row: span 1;
     }

     .footer-inner {
         grid-template-columns: 1fr;
         gap: 3rem;
     }

     .pricing-grid {
         grid-template-columns: repeat(3, 1fr);
     }

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

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

     .insta-grid {
         grid-template-columns: repeat(3, 1fr);
     }

     .proof-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 @media(max-width:768px) {
     #support-float {
         display: none;
     }

     .container {
         padding: 0 1.2rem;
     }

     section {
         padding: 4rem 0;
     }

     .section-title {
         font-size: 2.2rem;
         margin-bottom: 1.5rem;
     }

     .nav-inner {
         padding: 0.75rem 1.2rem;
         display: flex;
         justify-content: space-between;
     }

     .nav-logo-name {
         font-size: 1.2rem;
     }

     .nav-logo-sub {
         font-size: 0.5rem;
         letter-spacing: 0.22em;
     }

     .nav-logo-mark {
         width: 42px;
         height: 42px;
     }

     .nav-cta-desktop {
         display: none;
     }

     .mobile-menu-btn {
         display: block;
     }

     .nav-links {
         position: fixed;
         top: 0;
         right: -100%;
         width: 80%;
         height: 100vh;
         background: var(--dark);
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
         gap: 1.8rem;
         transition: 0.5s var(--transition);
         z-index: 999;
         box-shadow: -10px 0 30px rgba(0, 0, 0, 0.5);
         overflow-y: auto;
         padding: 2rem;
     }

     .nav-links.active {
         right: 0;
     }

     .nav-links a {
         font-size: 1rem;
     }

     .mobile-lang {
         display: flex;
     }

     .nav-cta-item {
         display: list-item;
     }

     #whatsapp-float {
         bottom: 1.5rem;
         right: 1.2rem;
     }

     .wa-btn {
         width: 52px;
         height: 52px;
     }

     .wa-btn svg {
         width: 26px;
         height: 26px;
     }

     #back-to-top {
         bottom: 5.5rem;
         right: 1.2rem;
         width: 44px;
         height: 44px;
         font-size: 1.1rem;
     }

     #hero {
         min-height: 100svh;
         height: 100svh;
     }

     .hero-scroll {
         bottom: 1.1rem;
         gap: 0.65rem;
     }

     .hero-scroll span {
         font-size: 0.62rem;
         letter-spacing: 0.32em;
     }

     .scroll-indicator {
         height: 48px;
     }

     #about::before {
         font-size: 18rem;
         right: -2rem;
         top: 50%;
         opacity: 0.3;
     }

     .about-image-stack {
         height: 380px;
         margin-bottom: 2rem;
     }

     .about-img-main {
         width: 85%;
         height: 85%;
     }

     .about-img-accent {
         width: 50%;
         height: 50%;
         border-width: 4px;
     }

     .about-badge {
         left: 1rem;
         bottom: 1rem;
         padding: 0.8rem 1.2rem;
     }

     .about-badge strong {
         font-size: 1.8rem;
     }

     .about-badge span {
         font-size: 0.65rem;
     }

     .about-text p {
         font-size: 1.1rem;
         line-height: 1.7;
         margin-bottom: 1.2rem;
     }

     .about-guide {
         margin-top: 2rem;
         padding: 1.2rem;
         gap: 1rem;
     }

     .guide-avatar {
         width: 80px;
         height: 80px;
     }

     .walks-intro {
         font-size: 1.1rem;
         margin-bottom: 2.5rem;
     }

     .walks-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
     }

     .walk-card.featured {
         grid-column: span 1;
     }

     .walk-img,
     .walk-card.featured .walk-img {
         height: 240px;
     }

     .walk-overlay {
         padding: 1.5rem;
     }

     .walk-title {
         font-size: 1.3rem;
     }

     /* MOBILE TESTIMONIALS SLIDER */
     .testimonials-outer {
         overflow: hidden;
         width: 100%;
     }

     .testimonials-track {
         display: flex !important;
         flex-direction: row !important;
         width: auto !important;
         transform: translateX(0);
         transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
         padding: 0 1.2rem;
         margin-top: 2rem;
         gap: 0;
     }

     .testimonial-card {
         width: 100vw !important;
         min-width: 100vw;
         padding: 2rem 1.5rem;
         flex-shrink: 0;
         box-sizing: border-box;
     }

     .testi-dots {
         display: flex;
     }

     .testi-nav-btns {
         display: flex;
     }

     .pricing-grid {
         display: flex !important;
         flex-direction: row !important;
         flex-wrap: nowrap !important;
         overflow-x: scroll !important;
         scroll-snap-type: x mandatory !important;
         gap: 1.5rem !important;
         padding: 1.5rem 0.5rem 2.5rem !important;
         scrollbar-width: none !important;
         -ms-overflow-style: none !important;
         justify-content: flex-start !important;
         -webkit-overflow-scrolling: touch;
     }

     .pricing-grid::-webkit-scrollbar {
         display: none !important;
     }

     .pricing-card {
         flex: 0 0 72% !important;
         width: 72% !important;
         scroll-snap-align: center !important;
         box-sizing: border-box !important;
         padding: 0;
         border-radius: 14px;
         box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
     }

     .pricing-card-img {
         height: 120px;
     }

     .pricing-card-body {
         padding: 1.25rem 1rem 1.5rem;
     }

     .pricing-icon {
         font-size: 1.5rem;
         margin-bottom: 0.5rem;
     }

     .pricing-name {
         font-size: 0.85rem;
         letter-spacing: 0.1em;
         margin-bottom: 0.5rem;
     }

     .pricing-amount {
         font-size: 2.2rem;
     }

     .pricing-amount sub {
         font-size: 1.2rem;
     }

     .pricing-per {
         font-size: 0.7rem;
         margin-bottom: 1.25rem;
     }

     .pricing-features {
         margin-bottom: 1.5rem;
     }

     .pricing-features li {
         font-size: 0.82rem;
         padding: 0.5rem 0;
         gap: 0.5rem;
         line-height: 1.4;
     }

     .pricing-features li::before {
         font-size: 0.55rem;
     }

     .pricing-card.popular .pricing-features li::before {
         font-size: 0.75rem;
     }

     .pricing-card .btn-primary {
         font-size: 0.75rem !important;
         padding: 0.75rem 1.2rem !important;
         letter-spacing: 0.05em;
         border-radius: 20px !important;
     }

     .popular-badge {
         font-size: 0.55rem;
         padding: 0.25rem 0.6rem;
         top: 0.6rem;
         right: 0.6rem;
         letter-spacing: 0.1em;
     }

     .arati-visual {
         height: 250px;
     }

     .arati-content {
         padding: 2.5rem 1.2rem;
     }

     .why-grid {
         display: flex !important;
         flex-direction: row !important;
         flex-wrap: nowrap !important;
         overflow-x: scroll !important;
         scroll-snap-type: x mandatory !important;
         gap: 1.5rem !important;
         padding: 1.5rem 0.5rem 2.5rem !important;
         scrollbar-width: none !important;
         -ms-overflow-style: none !important;
         justify-content: flex-start !important;
         -webkit-overflow-scrolling: touch;
     }

     .why-grid::-webkit-scrollbar {
         display: none !important;
     }

     .why-card {
         flex: 0 0 72% !important;
         width: 72% !important;
         scroll-snap-align: center !important;
         box-sizing: border-box !important;
         padding: 0;
         border-radius: 12px;
         box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
     }

     .why-card-body {
         padding: 1.25rem 1rem 1.5rem;
     }

     .why-card-body h3 {
         font-size: 1.1rem;
         margin-bottom: 0.5rem;
     }

     .why-card-body p {
         font-size: 0.85rem;
         line-height: 1.5;
     }

     .why-card-img {
         height: 140px;
     }

     .why-icon-badge {
         top: 115px;
         right: 1rem;
         width: 42px;
         height: 42px;
         font-size: 1.25rem;
     }

     .reviews-header {
         flex-direction: column;
         align-items: flex-start;
         gap: 1.5rem;
         margin-bottom: 2.5rem;
     }

     .google-rating-summary {
         width: 100%;
         justify-content: center;
         padding: 1.2rem;
         gap: 1.5rem;
     }

     .reviews-grid {
         grid-template-columns: 1fr;
         gap: 1.2rem;
     }

     .insta-header {
         flex-direction: column;
         align-items: flex-start;
         gap: 1.5rem;
     }

     .insta-follow {
         width: 100%;
         justify-content: center;
     }

     .insta-grid {
         grid-template-columns: repeat(3, 1fr);
         gap: 5px;
     }

     .proof-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 1.5rem;
     }

     .proof-item {
         padding: 1rem;
     }

     .proof-number {
         font-size: 2.5rem;
     }

     .proof-label {
         font-size: 0.7rem;
     }

     .faq-grid {
         margin-top: 2rem;
         gap: 1rem;
     }

     .faq-question {
         padding: 1.2rem;
         font-size: 0.95rem;
     }

     .faq-answer-inner {
         padding: 1.2rem;
         font-size: 0.88rem;
     }

     .calendar-wrapper {
         padding: 1.5rem 0.8rem;
         margin-top: 2rem;
     }

     .cal-month {
         font-size: 1.2rem;
     }

     .cal-day-name {
         font-size: 0.7rem;
     }

     .cal-day {
         font-size: 0.8rem;
     }

     .cal-legend {
         gap: 1rem;
     }

     .boat-inner {
         grid-template-columns: 1fr;
         gap: 3rem;
     }

     .boat-visual {
         height: 250px;
         order: -1;
         box-shadow: -15px 15px 0 rgba(0, 0, 0, 0.3);
     }

     .boat-content p {
         font-size: 1.1rem;
     }

     .boat-options {
         flex-direction: column;
         gap: 1rem;
     }

     .boat-price-tag {
         font-size: 2.2rem;
     }

     .booking-grid {
         grid-template-columns: 1fr;
         gap: 3rem;
     }

     .booking-info p {
         font-size: 1.1rem;
     }

     .booking-form {
         padding: 1.5rem 1rem;
     }

     .form-title {
         font-size: 1.45rem;
         margin-bottom: 1.4rem;
     }

     .form-group {
         margin-bottom: 1rem;
     }

     .form-group input,
     .form-group select,
     .form-group textarea {
         padding: 0.8rem 1rem;
     }

     .form-submit {
         font-size: 0.88rem;
         padding: 0.95rem;
     }

     .contact-grid {
         grid-template-columns: 1fr;
         gap: 3rem;
     }

     .map-container {
         height: 280px;
     }

     .footer-inner {
         gap: 2.5rem;
     }

     .footer-col ul {
         display: grid;
         gap: 0.45rem;
     }

     .footer-col h4 {
         margin-bottom: 0.9rem;
     }

     .footer-bottom {
         flex-direction: column;
         gap: 1rem;
         text-align: center;
     }

     #lang-toggle {
         top: 4.75rem;
         right: 0.6rem;
         left: auto;
         bottom: auto;
         transform: none;
         flex-direction: column;
         border-radius: 14px;
         border-right: 1px solid rgba(212, 175, 55, 0.3);
         padding: 0.15rem;
         gap: 0.15rem;
         width: 2.7rem;
         z-index: 1200;
     }

     .lang-btn {
         padding: 0.42rem 0.25rem;
         font-size: 0.56rem;
         min-height: 1.55rem;
     }

     .modal-overlay {
         padding: 1rem 0.8rem;
     }

     .modal-box {
         max-height: 90vh;
     }

     .modal-hero-img {
         height: 180px;
     }

     .modal-body {
         padding: 1.5rem 1.2rem;
     }

     .modal-title {
         font-size: 1.6rem;
     }
 }

 @media (max-width: 480px) {
     #hero {
         padding-top: 4rem;
         padding-bottom: 1.1rem;
     }

     .hero-divider {
         gap: 1rem;
         margin-bottom: 1.35rem;
     }

     .hero-divider::before,
     .hero-divider::after {
         width: 38px;
     }

     .hero-divider span {
         font-size: 0.68rem;
         letter-spacing: 0.34em;
     }

     .hero-title {
         font-size: clamp(1.8rem, 11vw, 2.25rem);
         line-height: 1.02;
         margin-bottom: 0.9rem;
     }

     .hero-tagline {
         font-size: 0.74rem;
         line-height: 1.38;
         max-width: 92%;
         margin-bottom: 1rem;
     }

     .hero-buttons {
         gap: 0.6rem;
     }

     .hero-buttons .btn-primary,
     .hero-buttons .btn-outline {
         padding: 0.78rem 0.9rem;
         font-size: 0.7rem;
     }

     #lang-toggle {
         top: 4.55rem;
         right: 0.45rem;
         width: 2.55rem;
     }

     .lang-btn {
         padding: 0.38rem 0.18rem;
         font-size: 0.52rem;
     }
 }

 /* VIDEOS SECTION */
 #videos {
     background: #0f0705;
     border-top: 1px solid rgba(212, 175, 55, 0.12);
     padding: 7rem 0;
     position: relative;
 }

 .videos-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
     gap: 2.5rem;
     margin-top: 3.5rem;
 }

 .video-card {
     background: rgba(255, 255, 255, 0.02);
     border: 1px solid rgba(212, 175, 55, 0.15);
     border-radius: 8px;
     overflow: hidden;
     transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     cursor: pointer;
     position: relative;
 }

 .video-card:hover {
     transform: translateY(-8px);
     border-color: var(--saffron);
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 153, 51, 0.15);
 }

 .video-thumbnail {
     position: relative;
     aspect-ratio: 16/9;
     overflow: hidden;
     background: #000;
 }

 .video-thumbnail img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     opacity: 0.85;
     transition: transform 0.6s ease, opacity 0.6s ease;
 }

 .video-card:hover .video-thumbnail img {
     transform: scale(1.08);
     opacity: 1;
 }

 .play-btn {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 60px;
     height: 60px;
     background: var(--saffron);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 0 30px rgba(255, 153, 51, 0.5);
     transition: all 0.4s ease;
     z-index: 2;
 }

 .play-btn svg {
     width: 26px;
     height: 26px;
     fill: var(--white);
     margin-left: 3px;
     transition: transform 0.3s ease;
 }

 .video-card:hover .play-btn {
     background: var(--gold-light);
     transform: translate(-50%, -50%) scale(1.15);
     box-shadow: 0 0 40px rgba(212, 175, 55, 0.7);
 }

 .video-info {
     padding: 1.5rem;
     border-top: 1px solid rgba(212, 175, 55, 0.1);
 }

 .video-info h3 {
     font-family: 'Playfair Display', serif;
     font-size: 1.35rem;
     font-weight: 500;
     color: var(--gold-pale);
     margin-bottom: 0.5rem;
 }

 .video-info p {
     font-family: 'Inter', sans-serif;
     font-size: 0.88rem;
     color: rgba(255, 255, 255, 0.65);
     line-height: 1.6;
 }

 @media(max-width: 768px) {
     #videos {
         padding: 3rem 0;
     }

     .videos-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
         margin-top: 1.5rem;
     }
 }

 @media(max-width: 992px) {
      .manikarnika-inner {
          flex-direction: column;
          gap: 2.5rem;
      }
      
      .manikarnika-img-frame img {
          height: 280px;
      }
      
      
      .manikarnika-quote-badge {
          position: relative;
          bottom: auto;
          right: auto;
          background: transparent !important;
          border: none !important;
          box-shadow: none !important;
          padding: 0.5rem 0 0 0 !important;
          margin: 0.8rem auto 0 !important;
          max-width: 90% !important;
          text-align: center;
          z-index: 5;
      }
      
      .manikarnika-quote-badge .mq-symbol {
          font-size: 1.4rem;
          margin-bottom: 0.2rem;
          display: block;
          color: var(--gold);
      }
      
      .manikarnika-quote-badge p {
          font-size: 0.9rem;
          line-height: 1.4;
          display: block;
          color: rgba(255, 255, 255, 0.85);
          font-style: italic;
      }

      .manikarnika-img-label {
          bottom: 12px;
          top: auto;
          left: 12px;
          padding: 0.4rem 0.8rem;
          font-size: 0.75rem;
      }

      
      .manikarnika-section {
          padding: 3rem 0;
      }
  }

  /* --- MOBILE OPTIMIZATIONS FOR SOCIAL PROOF AND CHAKRA DIVIDER --- */
  @media (max-width: 768px) {
      .hero-social-proof {
          display: none !important; /* Hide "23 walks booked" overlay box on mobile to fix layout conflicts */
      }

      #social-proof {
          padding: 1.8rem 0 !important; /* Elegant strip padding */
      }

      .proof-grid {
          grid-template-columns: repeat(2, 1fr) !important; /* 2 columns for a spacious, readable look */
          gap: 1.5rem 1rem !important;
      }

      .proof-item {
          padding: 0.5rem 0 !important;
      }

      .proof-item.hide-mobile {
          display: none !important; /* Hide secondary stats to fit nicely on narrow screens */
      }

      .proof-number {
          font-size: 1.8rem !important; /* Larger, readable numbers */
          font-weight: 500 !important;
      }

      .proof-label {
          font-size: 0.68rem !important;
          letter-spacing: 0.1em !important;
          margin-top: 0.3rem !important;
          line-height: 1.2;
      }


      /* Keep the native responsive chakra centering rules from index.php intact */


      /* Overall page height minimization */
      section {
          padding: 2.5rem 0 !important; /* Reduce padding to avoid too much scrolling */
      }

      .section-title {
          font-size: 1.8rem !important;
          margin-bottom: 1rem !important;
      }

      .about-image-stack {
          height: 250px !important;
          margin-bottom: 1.5rem !important;
      }

      .about-text p {
          font-size: 0.95rem !important;
          line-height: 1.5 !important;
          margin-bottom: 0.8rem !important;
      }

      .about-guide {
          margin-top: 1rem !important;
          padding: 0.8rem !important;
      }

      .guide-avatar {
          width: 60px !important;
          height: 60px !important;
      }
  }