/* ---------- NAV ---------- */
  header {
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    z-index:50;
    background:linear-gradient(180deg, rgba(9,15,15,.42), rgba(15,23,23,.28));
    -webkit-backdrop-filter:blur(6px) saturate(105%);
    backdrop-filter:blur(6px) saturate(105%);
    border-bottom:1px solid rgba(255,255,255,.14);
    box-shadow:0 8px 24px rgba(0,0,0,.1);
    transition:background .65s var(--ease-soft), border-color .65s var(--ease-soft), box-shadow .65s var(--ease-soft);
  }
  nav.wrap {
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:78px;
    transition:height .55s var(--ease-luxury);
  }
  header.scrolled nav.wrap {
    height:68px;
  }
  header.scrolled {
    background:linear-gradient(180deg, rgba(9,15,15,.5), rgba(15,23,23,.36));
    border-bottom-color:rgba(255,255,255,.18);
    box-shadow:0 10px 28px rgba(0,0,0,.14);
  }

  .logo {
    font-family:'Instrument Serif', serif;
    font-size:1.9rem;
    letter-spacing:0.02em;
    transition:font-size .55s var(--ease-luxury);
  }
  header .logo,
  header .nav-links { color:var(--paper); }
  header .nav-links a::after { background:var(--paper); }
  header .burger span { background:var(--paper); }
  header .nav-cta {
    background:rgba(247,244,236,.1);
    border-color:rgba(247,244,236,.3);
    color:var(--paper);
    box-shadow:none;
  }
  header .nav-cta:hover {
    background:var(--accent-gold);
    border-color:var(--accent-gold);
  }
  header.scrolled .logo {
    font-size:1.7rem;
  }
  .logo em {
    font-style:italic;
    color:var(--accent-gold);
  }
  .nav-links {
    display:flex;
    gap:36px;
    list-style:none;
    margin:0;
    padding:0;
    font-size:0.92rem;
  }
  .nav-links:hover a {
    opacity:0.6; /* On container hover, dim all links */
  }
  .nav-links a {
    text-decoration:none;
    position:relative;
    padding-bottom:4px;
    opacity:0.9; /* Slightly transparent by default */
    transition:opacity .45s var(--ease-soft);
  }
  .nav-links a:hover {
    opacity:1; /* Bring hovered link to full opacity */
  }
  .nav-links a::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-2px; /* Start slightly below */
    height:1px; background:var(--ink);
    opacity:0;
    transition:opacity .45s var(--ease-soft), transform .55s var(--ease-luxury);
  }
  .nav-links a:hover::after {
    opacity:1;
    transform:translateY(-2px); /* Slide up into position */
  }
  .btn {
    font-family:'JetBrains Mono', monospace;
    font-size:0.75rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    text-decoration:none;
    padding:13px 24px;
    border-radius:2px;
    display:inline-block;
    border:1px solid transparent;
    transition:
      background-color .48s var(--ease-soft),color .48s var(--ease-soft),
      border-color .48s var(--ease-soft),
      transform .55s var(--ease-luxury),
      box-shadow .55s var(--ease-luxury);
    cursor:pointer;
    box-shadow: 0 2px 5px rgba(31, 46, 43, 0.08); /* Add a subtle default shadow */
  }
  .btn:hover {
    transform:translateY(-2px); /* Lift the button */
    box-shadow:0 4px 12px rgba(31, 46, 43, 0.15); /* Enhance the shadow */
  }
  .btn-primary {background:var(--deep);
    color:var(--paper);
  }
  .btn-primary:hover {
    background:var(--accent-gold);
    transform:translateY(-2px); /* Ensure transform is consistent */
  }
  .btn-ghost {
    border-color:var(--ink);
    color:var(--ink);
  }
  .btn-ghost:hover {
    background:var(--ink);
    color:var(--paper);
    transform:translateY(-2px); /* Ensure transform is consistent */
  }
  .nav-cta {
    display:inline-block;
  }
  .mobile-nav-booking { display:none; }
  .nav-overlay-info { display:none; }
  .form-cta {
    border:none; width:100%;
  }
  .burger {
    display:none;
    background:none;
    border:none; cursor:pointer;
    padding:11px; margin:-11px;
    -webkit-tap-highlight-color:transparent;
  }
  .burger span { /* The three lines of the burger */
    display:block;
    width:22px;
    height:1.5px;
    background:var(--ink);
    margin:5px 0;
    transition:transform .65s var(--ease-luxury), opacity .4s var(--ease-soft), background-color .4s var(--ease-soft);
  }
  /* Animate burger to 'X' when mobile menu is open */
  .nav-links.mobile-open ~ .burger span:nth-child(1),
  body.nav-open .burger span:nth-child(1) {
    transform:translateY(6.5px) rotate(45deg);
  }
  .nav-links.mobile-open ~ .burger span:nth-child(2),
  body.nav-open .burger span:nth-child(2) {
    opacity:0;
  }
  .nav-links.mobile-open ~ .burger span:nth-child(3),
  body.nav-open .burger span:nth-child(3) {
    transform:translateY(-6.5px) rotate(-45deg);
  }
  .nav-links.mobile-open ~ .burger span,
  body.nav-open .burger span { background:var(--paper); }
  body.nav-open { overflow:hidden; }
  body.nav-open header {
    z-index:90;
    background:transparent;
    border-color:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    pointer-events:none;
  }
  body.nav-open header .logo {
    opacity:1;
    color:var(--paper);
    pointer-events:none;
  }
  body.nav-open header .burger { pointer-events:auto; }
