   /* ============ NAVIGATION ============ */
   a {
     text-decoration: none;
   }

   .navbar-custom {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 1000;
     padding: 26px 0;
     background: transparent;
     transition: all 0.55s cubic-bezier(.25, .7, .35, 1);
   }

   .navbar-custom.scrolled {
     padding: 14px 0;
     background: rgba(27, 54, 38, 0.94);
     backdrop-filter: blur(10px);
     box-shadow: 0 8px 30px rgba(18, 36, 25, 0.18);
   }

   .nav-wrap {
     display: flex;
     align-items: center;
     justify-content: space-between;
     max-width: 1320px;
     margin: 0 auto;
     padding: 0 40px;
   }

   .brand {
     font-family: 'Playfair Display', serif;
     font-size: 1.5rem;
     color: var(--ivory);
     letter-spacing: 0.06em;
     display: flex;
     flex-direction: column;
     line-height: 1;
   }

   .nav-wrap .brand span.sub {
     font-family: 'Inter', sans-serif;
     font-size: 0.56rem;
     letter-spacing: 0.4em;
     text-transform: uppercase;
     color: var(--gold-soft);
     margin-top: 6px;
   }

   .nav-links {
     display: flex;
     gap: 38px;
     list-style: none;
     margin: 0;
     padding: 0;
   }

   .nav-links a {
     color: var(--ivory);
     font-size: 0.82rem;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     position: relative;
     padding-bottom: 8px;
     transition: color 0.3s ease;
   }

   .nav-links a::after {
     content: "";
     position: absolute;
     left: 0;
     bottom: 0;
     width: 0;
     height: 1px;
     background: var(--gold);
     transition: width 0.35s ease;
   }

   .nav-links a:hover,
   .nav-links a.active {
     color: var(--gold-soft);
   }

   .nav-links a.active::after,
   .nav-links a:hover::after {
     width: 100%;
   }

   .btn-outline-gold {
     border: 1px solid var(--gold);
     color: var(--ivory);
     padding: 11px 30px;
     font-size: 0.78rem;
     letter-spacing: 0.14em;
     text-transform: uppercase;
     border-radius: 2px;
     transition: all 0.4s ease;
     background: transparent;
   }

   .btn-outline-gold:hover {
     background: var(--gold);
     color: var(--forest-deep);
   }

   .nav-toggle {
     display: none;
     background: none;
     border: none;
     color: var(--ivory);
     font-size: 1.6rem;
   }

   .d-md-none {
     display: none;
   }


   /* mobile nav */
   @media (max-width:991px) {
     .nav-links {
       position: fixed;
       top: 0;
       right: 0;
       height: 100vh;
       width: min(320px, 80vw);
       background: var(--forest-deep);
       flex-direction: column;
       justify-content: center;
       align-items: flex-start;
       padding: 40px;
       gap: 26px;
       transform: translateX(100%);
       transition: transform 0.5s cubic-bezier(.25, .7, .35, 1);
       z-index: 1001;
     }

     .nav-links.open {
       transform: translateX(0);
       box-shadow: -10px 0 40px rgba(0, 0, 0, 0.3);
     }

     .nav-toggle {
       display: block;
       z-index: 1002;
     }

     .nav-cta {
       display: none;
     }

     .d-md-none {
       display: contents;
     }
   }

   
  @media(max-width:768px) {
      .nav-toggle {
          display: flex;
      }

      header.menu-open {
          background: rgba(17, 26, 20, .98);
          padding-bottom: 24px;
      }

      .mobile-menu {
          display: none;
          flex-direction: column;
          gap: 0;
          margin-top: 22px;
          padding: 0 40px;
      }

      header.menu-open .mobile-menu {
          display: flex;
      }

      .mobile-menu a {
          color: var(--ivory);
          padding: 14px 0;
          border-bottom: 1px solid rgba(247, 243, 234, .1);
          font-size: 14px;
          letter-spacing: 1px;
          text-transform: uppercase;
      }

      .mobile-menu .nav-cta {
          display: inline-block;
          margin-top: 18px;
          width: fit-content;
      }

      .container {
          padding: 0 24px;
      }

      .welcome,
      .timeline-section,
      .values,
      .harmony,
      .team,
      .gallery-preview,
      .final-cta {
          padding: 90px 0;
      }

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

      .team-grid {
          grid-template-columns: 1fr 1fr;
          gap: 30px;
      }

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

      /* Timeline collapses to single column on mobile */
      .timeline::before {
          left: 20px;
      }

      .t-item {
          grid-template-columns: 40px 1fr;
          gap: 0;
      }

      .t-dot-col {
          grid-column: 1;
          justify-content: flex-start;
          padding-left: 14px;
      }

      .t-item:nth-child(odd) .t-content,
      .t-item:nth-child(even) .t-content {
          grid-column: 2;
          text-align: left;
          padding: 0 0 0 24px;
      }
  }