:root{--vl-ease-premium:cubic-bezier(.22,.75,.24,1);--vl-ease-soft:cubic-bezier(.16,1,.3,1);--vl-ease-exit:cubic-bezier(.4,0,1,1)}
body.vl-menu-open{overflow:hidden}
.vl-skip-link{position:fixed;left:16px;top:-60px;z-index:1200;background:#fff;color:#082f3d;padding:10px 14px;border-radius:999px;text-decoration:none;font:700 .78rem/1.2 Arial,sans-serif;transition:top .2s ease}.vl-skip-link:focus{top:12px}
header.vl-site-header{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,4vw,58px);background:linear-gradient(180deg,rgba(5,28,36,.76),rgba(5,28,36,.08));color:#fff;transform:translateZ(0);will-change:background,backdrop-filter,box-shadow;transition:background .46s var(--vl-ease-premium),backdrop-filter .46s var(--vl-ease-premium),box-shadow .46s var(--vl-ease-premium),padding .38s var(--vl-ease-premium)}
header.vl-site-header.scrolled{background:rgba(8,47,61,.90);color:#fff;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 10px 34px rgba(4,28,36,.16)}
.vl-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.vl-brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.60);border-radius:50%;font-family:Georgia,"Times New Roman",serif;font-size:.78rem;letter-spacing:.08em;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .34s var(--vl-ease-premium),background-color .34s ease,border-color .34s ease,box-shadow .34s ease}.vl-brand:hover .vl-brand-mark{transform:translateY(-1px);background:rgba(255,255,255,.13);box-shadow:0 8px 24px rgba(3,22,29,.12)}.vl-brand-copy strong{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:1.08rem;letter-spacing:.11em;line-height:1.15}.vl-brand-copy small{display:block;text-transform:uppercase;font:700 .55rem/1.4 Arial,sans-serif;letter-spacing:.24em;color:#f2d4a6;margin-top:1px}
.vl-header-actions{display:flex;align-items:center;gap:18px}.vl-language-switch{display:flex;align-items:center;gap:7px;font:800 .72rem/1 Arial,sans-serif;letter-spacing:.1em}.vl-lang-btn{border:0;background:transparent;color:rgba(255,255,255,.65);padding:4px;cursor:pointer;font:inherit;font-weight:800;letter-spacing:.1em;transition:transform .24s var(--vl-ease-premium),color .24s ease,opacity .24s ease}.vl-lang-btn.active{color:#fff}.vl-lang-btn:hover,.vl-lang-btn:focus-visible{color:#fff;transform:translateY(-1px)}
.vl-waffle-btn{width:44px;height:44px;display:grid;grid-template-columns:repeat(3,4px);grid-auto-rows:4px;gap:5px;place-content:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(8,47,61,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;padding:0;transform:translateZ(0);will-change:transform;transition:transform .28s var(--vl-ease-premium),box-shadow .28s var(--vl-ease-premium),background-color .28s ease,border-color .28s ease}.vl-waffle-btn span{width:4px;height:4px;border-radius:50%;background:#fff;transition:transform .32s var(--vl-ease-premium),opacity .24s ease}.vl-waffle-btn:hover,.vl-waffle-btn:focus-visible{background:rgba(8,47,61,.42);transform:scale(1.04);box-shadow:0 10px 28px rgba(3,22,29,.18)}.vl-waffle-btn:active{transform:scale(.975)}.vl-waffle-btn.is-open{transform:rotate(90deg) scale(.98);background:rgba(8,47,61,.50)}.vl-waffle-btn:focus-visible,.vl-lang-btn:focus-visible,.vl-menu-close:focus-visible,.vl-menu-panel a:focus-visible{outline:2px solid #f2d4a6;outline-offset:4px}
.vl-menu-overlay{position:fixed;inset:0;z-index:1008;background:rgba(3,22,29,.58);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .38s ease;will-change:opacity}.vl-menu-overlay.visible{opacity:1}
.vl-menu-panel{position:fixed;z-index:1010;top:0;right:0;width:min(430px,92vw);height:100svh;background:#f8f4ec;padding:28px 28px 22px;transform:translate3d(104%,0,0) scale(.995);transform-origin:right center;transition:transform .52s var(--vl-ease-soft);box-shadow:-30px 0 80px rgba(4,27,35,.25);display:flex;flex-direction:column;color:#103946;overflow:hidden;will-change:transform;backface-visibility:hidden}.vl-menu-panel.open{transform:translate3d(0,0,0) scale(1)}
.vl-menu-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid rgba(16,57,70,.14);flex:0 0 auto;opacity:0;transform:translateY(-10px);transition:opacity .38s .12s var(--vl-ease-premium),transform .46s .12s var(--vl-ease-premium)}.vl-menu-panel.open .vl-menu-topline{opacity:1;transform:none}.vl-menu-panel .vl-brand-mark{color:#c79b63;border-color:rgba(199,155,99,.4);background:#fff}.vl-menu-panel .vl-brand-copy small{color:#c79b63}.vl-menu-close{border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer;color:#103946;padding:4px 8px;transition:transform .3s var(--vl-ease-premium),color .24s ease,opacity .24s ease}.vl-menu-close:hover,.vl-menu-close:focus-visible{transform:rotate(90deg);color:#0e5660}.vl-menu-close:active{transform:rotate(90deg) scale(.94)}
.vl-menu-nav{display:flex;flex-direction:column;gap:0;margin-top:16px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-width:thin;scrollbar-color:rgba(16,57,70,.28) transparent}.vl-menu-nav::-webkit-scrollbar{width:5px}.vl-menu-nav::-webkit-scrollbar-thumb{background:rgba(16,57,70,.24);border-radius:999px}.vl-menu-nav a{display:flex;align-items:center;min-height:54px;flex:0 0 auto;border-bottom:1px solid rgba(16,57,70,.14);background:transparent;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;text-align:left;text-decoration:none;color:#103946;opacity:0;transform:translate3d(18px,0,0);transition:opacity .4s var(--vl-ease-premium),transform .5s var(--vl-ease-premium),padding-left .26s var(--vl-ease-premium),color .24s ease}.vl-menu-panel.open .vl-menu-nav a{opacity:1;transform:none}.vl-menu-panel.open .vl-menu-nav a:nth-child(1){transition-delay:.08s}.vl-menu-panel.open .vl-menu-nav a:nth-child(2){transition-delay:.115s}.vl-menu-panel.open .vl-menu-nav a:nth-child(3){transition-delay:.15s}.vl-menu-panel.open .vl-menu-nav a:nth-child(4){transition-delay:.185s}.vl-menu-panel.open .vl-menu-nav a:nth-child(5){transition-delay:.22s}.vl-menu-panel.open .vl-menu-nav a:nth-child(6){transition-delay:.255s}.vl-menu-panel.open .vl-menu-nav a:nth-child(7){transition-delay:.29s}.vl-menu-panel:not(.open) .vl-menu-nav a{transition-delay:0s}.vl-menu-nav a:hover{color:#0e5660;padding-left:8px}.vl-menu-nav a[aria-current="page"]{color:#0e5660}.vl-menu-nav a[aria-current="page"]::after{content:"•";margin-left:auto;color:#c79b63}
.vl-menu-book{margin:18px 0 8px!important;background:#082f3d!important;color:#fff!important;border-radius:999px!important;justify-content:center!important;border-bottom:0!important;font-family:Arial,sans-serif!important;font-size:.82rem!important;font-weight:800!important}.vl-menu-book:hover{padding-left:0!important;transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(8,47,61,.18)}
.vl-menu-social{flex:0 0 auto;margin-top:14px;padding-top:18px;border-top:1px solid rgba(16,57,70,.14);background:#f8f4ec;opacity:0;transform:translateY(12px);transition:opacity .42s .28s var(--vl-ease-premium),transform .48s .28s var(--vl-ease-premium)}.vl-menu-panel.open .vl-menu-social{opacity:1;transform:none}.vl-menu-social p{margin:0 0 10px;font:800 .68rem/1.2 Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#c79b63}.vl-social-row{display:flex;gap:10px;flex-wrap:wrap}.vl-social-row a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid rgba(16,57,70,.14);border-radius:999px;background:#fff;font:800 .78rem/1 Arial,sans-serif;text-decoration:none;color:#103946;transition:transform .24s var(--vl-ease-premium),box-shadow .24s var(--vl-ease-premium),border-color .24s ease,color .24s ease}.vl-social-row a:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(8,47,61,.10);border-color:rgba(199,155,99,.45);color:#0e5660}.vl-social-row a:active{transform:scale(.975)}
@media(max-width:640px){header.vl-site-header{padding:14px 16px}.vl-brand-mark{width:40px;height:40px}.vl-brand-copy strong{font-size:.94rem}.vl-language-switch{gap:3px}.vl-header-actions{gap:10px}.vl-menu-panel{padding:20px 18px 16px}.vl-menu-nav a{min-height:50px;font-size:1.15rem}.vl-menu-social{padding-top:14px}.vl-social-row{gap:8px}.vl-social-row a{padding:0 11px;font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.vl-menu-overlay,.vl-menu-panel,header.vl-site-header,.vl-menu-topline,.vl-menu-nav a,.vl-menu-social,.vl-waffle-btn,.vl-waffle-btn span,.vl-lang-btn,.vl-menu-close,.vl-social-row a,.vl-brand-mark{transition:none!important;animation:none!important}.vl-menu-topline,.vl-menu-nav a,.vl-menu-social{opacity:1!important;transform:none!important}}
/* Villa Leddy v13.4 — unified ecosystem navigation matching the premium homepage */
header.vl-site-header{padding:22px clamp(20px,4vw,58px);background:linear-gradient(180deg,rgba(4,30,41,.72),rgba(4,30,41,.02))}
header.vl-site-header.scrolled{padding:15px clamp(20px,4vw,58px);background:rgba(251,248,242,.93);color:#0b3643;border-bottom:1px solid rgba(11,54,67,.08);box-shadow:0 14px 36px rgba(4,30,41,.10)}
header.vl-site-header.scrolled .vl-brand-mark{border-color:rgba(11,54,67,.28);background:rgba(255,255,255,.72)}
header.vl-site-header.scrolled .vl-brand-copy small{color:#b8874d}
header.vl-site-header.scrolled .vl-lang-btn{color:rgba(11,54,67,.50)}
header.vl-site-header.scrolled .vl-lang-btn.active{color:#0b3643}
header.vl-site-header.scrolled .vl-waffle-btn{color:#0b3643;border-color:rgba(11,54,67,.48);background:rgba(255,255,255,.76)}
header.vl-site-header.scrolled .vl-waffle-btn span{background:#0b3643}
.vl-brand-mark{width:52px;height:52px;font-size:.83rem}
.vl-brand-copy strong{font-size:1.18rem;letter-spacing:.10em}
.vl-waffle-btn{width:58px;height:58px;grid-template-columns:repeat(3,5px);grid-auto-rows:5px;gap:6px}
.vl-waffle-btn span{width:5px;height:5px}
.vl-menu-overlay{background:rgba(3,22,29,.68);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.vl-menu-panel{width:min(500px,94vw);padding:30px 34px 26px;background:#fbf8f2;box-shadow:-34px 0 90px rgba(4,27,35,.30)}
.vl-menu-nav{counter-reset:vlmenu;margin-top:20px}
.vl-menu-nav a{counter-increment:vlmenu;min-height:62px;font-size:1.36rem;letter-spacing:-.01em;justify-content:space-between}
.vl-menu-nav a::after{content:counter(vlmenu, decimal-leading-zero);margin-left:18px;font:800 .67rem/1 Arial,sans-serif;letter-spacing:.14em;color:rgba(16,57,70,.44)}
.vl-menu-nav a[aria-current="page"]::after{content:counter(vlmenu, decimal-leading-zero);color:#b8874d}
.vl-menu-nav a[aria-current="page"]{color:#0e5660;padding-left:8px}
.vl-menu-social p{color:#b8874d}
.vl-social-row a{border-color:rgba(16,57,70,.16);background:#fff}
@media(max-width:640px){header.vl-site-header{padding:14px 16px}.vl-brand-mark{width:42px;height:42px}.vl-brand-copy strong{font-size:.98rem}.vl-waffle-btn{width:50px;height:50px}.vl-menu-panel{width:min(430px,96vw);padding:21px 20px 18px}.vl-menu-nav a{min-height:55px;font-size:1.16rem}.vl-menu-nav a::after{font-size:.62rem}}

/* v13.4.1 — premium active-page marker. Keeps the menu number on the right. */
.vl-menu-nav a[aria-current="page"]::before{content:"";width:7px;height:7px;flex:0 0 7px;margin-right:11px;border-radius:50%;background:#c79b63;box-shadow:0 0 0 4px rgba(199,155,99,.13),0 0 16px rgba(199,155,99,.42)}

/* v13.4.3 — compact premium menu so the Airbnb CTA remains visible. */
.vl-menu-panel{padding:23px 28px 18px}
.vl-menu-topline{padding-bottom:17px}
.vl-menu-nav{margin-top:12px}
.vl-menu-nav a{min-height:49px;font-size:1.18rem}
.vl-menu-book{margin:12px 0 5px!important;min-height:46px!important}
.vl-menu-social{margin-top:9px;padding-top:12px}
@media(max-width:640px){.vl-menu-panel{padding:17px 17px 13px}.vl-menu-topline{padding-bottom:13px}.vl-menu-nav{margin-top:8px}.vl-menu-nav a{min-height:45px;font-size:1.06rem}.vl-menu-book{min-height:44px!important;margin:9px 0 4px!important}.vl-menu-social{margin-top:7px;padding-top:9px}.vl-menu-social p{margin-bottom:7px}.vl-social-row a{min-height:34px}}
@media(max-height:760px){.vl-menu-panel{padding-top:14px;padding-bottom:10px}.vl-menu-topline{padding-bottom:10px}.vl-menu-nav{margin-top:6px}.vl-menu-nav a{min-height:40px;font-size:1rem}.vl-menu-book{min-height:42px!important;margin:7px 0 3px!important}.vl-menu-social{margin-top:5px;padding-top:7px}.vl-menu-social p{display:none}.vl-social-row a{min-height:31px;font-size:.7rem}}


/* RC10 — persistent Airbnb reservation CTA in every shared internal menu.
   The CTA sits outside the scrollable navigation so it remains easy to reach
   on mobile without changing the functional page content or integrations. */
.vl-menu-panel>.vl-menu-book{display:flex;align-items:center;justify-content:center;flex:0 0 auto;text-decoration:none;opacity:0;transform:translateY(8px);transition:opacity .34s .25s var(--vl-ease-premium),transform .42s .25s var(--vl-ease-premium),box-shadow .24s var(--vl-ease-premium)}
.vl-menu-panel.open>.vl-menu-book{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.vl-menu-panel>.vl-menu-book{transition:none!important;opacity:1!important;transform:none!important}}

/* RC11 — match the shared reservation CTA to the approved gold homepage button.
   Visual-only override; routing, placement and integrations remain unchanged. */
.vl-menu-panel>.vl-menu-book{
  background:#d1a24b!important;
  color:#15333a!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  min-height:54px!important;
  padding:0 1.55rem!important;
  font-family:"Manrope",Arial,sans-serif!important;
  font-size:.72rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  box-shadow:0 16px 36px rgba(0,0,0,.18)!important;
  transition:opacity .34s .25s var(--vl-ease-premium),transform .42s .25s var(--vl-ease-premium),box-shadow .25s ease,background .25s ease!important;
}
.vl-menu-panel>.vl-menu-book:hover,
.vl-menu-panel>.vl-menu-book:focus-visible{
  color:#15333a!important;
  background:#d1a24b!important;
  padding-left:1.55rem!important;
  transform:translateY(-2px)!important;
  box-shadow:0 20px 42px rgba(0,0,0,.22)!important;
}
.vl-menu-panel>.vl-menu-book:active{
  transform:translateY(0) scale(.985)!important;
}
@media(max-width:640px){
  .vl-menu-panel>.vl-menu-book{
    min-height:48px!important;
    padding:0 1.25rem!important;
    font-size:.69rem!important;
  }
  .vl-menu-panel>.vl-menu-book:hover,
  .vl-menu-panel>.vl-menu-book:focus-visible{padding-left:1.25rem!important}
}
@media(max-height:760px){
  .vl-menu-panel>.vl-menu-book{min-height:44px!important;margin:7px 0 3px!important}
}

@media(prefers-reduced-motion:reduce){.vl-menu-panel>.vl-menu-book{transition:none!important;opacity:1!important;transform:none!important}}
