.elementor-14 .elementor-element.elementor-element-b435399{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14 .elementor-element.elementor-element-63987a8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-704b9d2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-2a6e70b */@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap');

.topbar {
  background: #0C0D0E;
  color: rgba(216, 143, 123, 0.7);
  font-family: 'Inter', sans-serif;
  border-bottom: 1px solid var(--line);
}
.topbar .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 38px;
  font-size: 13px;
  letter-spacing: .03em;
  font-weight: 400;
}
.topbar a {
  color: rgba(216, 143, 123, 0.7);
  text-decoration: none;
  transition: color 0.2s;
}
.topbar .l span {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 600;
}
.topbar .r {
  display: flex;
  gap: 24px;
}
.topbar .r a:hover {
  color: #C4421A;
}
header.nav, .site-header, .header-wrapper, #masthead {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  transition: all 0.3s cubic-bezier(.16,.84,.34,1);
}
header.nav.scrolled {
  box-shadow: 0 8px 30px rgba(22,20,14,.04);
  background: rgba(245, 243, 236, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
}
.logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.logo .mark {
  width: 38px;
  height: 38px;
  transition: transform 0.3s ease;
}
.logo:hover .mark {
  transform: rotate(5deg) scale(1.04);
}
.logo .word b {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 18px;
  display: block;
  line-height: 1;
  color: var(--ink);
  text-transform: uppercase;
}
.logo .word span {
  font-family: 'Archivo', sans-serif;
  font-size: 9px;
  letter-spacing: .32em;
  color: var(--accent);
  font-weight: 600;
  display: block;
  margin-top: 3px;
}
nav.menu {
  display: flex;
  align-items: center;
  gap: 28px;
}
nav.menu a {
  font-family: 'Archivo', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--soft);
  transition: color 0.2s ease;
  text-decoration: none;
  position: relative;
  padding: 8px 0;
}
nav.menu a:hover {
  color: var(--ink);
}
nav.menu a:not(.btn)::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s cubic-bezier(.16,.84,.34,1);
}
nav.menu a:not(.btn):hover::after {
  transform: scaleX(1);
  transform-origin: left;
}
.foot-brand .logo .word b {
  color: var(--dk-ink);
}
.burger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  cursor: pointer;
  z-index: 101;
  padding: 0;
}
.burger span {
  width: 100%;
  height: 2px;
  background: var(--ink);
  transition: all 0.3s cubic-bezier(.16,.84,.34,1);
  transform-origin: left center;
}
.burger.active span:nth-child(1) {
  transform: rotate(45deg) translate(1px, -1px);
}
.burger.active span:nth-child(2) {
  opacity: 0;
  width: 0;
}
.burger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(1px, 1px);
}

.mobile-footer {
  display: none;
}

@media(max-width:680px){
  .topbar .r {
    display: none;
  }
  .burger {
    display: flex;
  }
  nav.menu {
    display: flex !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: calc(100vh - 76px);
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    background: #16140e; /* Rich dark background */
    padding: 40px 32px 60px;
    gap: 0;
    border-bottom: 4px solid var(--accent);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: opacity 0.4s cubic-bezier(.16,.84,.34,1), transform 0.4s cubic-bezier(.16,.84,.34,1), visibility 0.4s, height 0.3s ease;
    pointer-events: none;
    overflow-y: auto;
    counter-reset: menu-counter;
  }
  nav.menu.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  
  nav.menu a:not(.btn) {
    counter-increment: menu-counter;
    position: relative;
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--paper);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s cubic-bezier(.16,.84,.34,1), transform 0.4s cubic-bezier(.16,.84,.34,1), color 0.2s ease;
    width: 100%;
    text-align: left;
    padding: 14px 0;
    border-bottom: 1px solid rgba(245, 243, 236, 0.08);
    text-decoration: none;
  }
  
  nav.menu a:not(.btn)::before {
    content: "0" counter(menu-counter);
    font-family: 'Archivo', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: var(--accent);
    margin-right: 16px;
    letter-spacing: 0.1em;
  }

  nav.menu a:not(.btn):hover {
    color: var(--gold);
  }

  /* Booking Button in Menu */
  nav.menu a.btn {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 24px;
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s cubic-bezier(.16,.84,.34,1), transform 0.4s cubic-bezier(.16,.84,.34,1);
    box-sizing: border-box;
  }
  
  /* Mobile Footer */
  .mobile-footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: auto;
    width: 100%;
    padding-top: 32px;
    text-align: left;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s cubic-bezier(.16,.84,.34,1), transform 0.4s cubic-bezier(.16,.84,.34,1);
  }
  
  .mf-label {
    font-family: 'Archivo', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--gold);
    margin-bottom: 8px;
    font-weight: 600;
  }
  
  .mf-link {
    font-family: 'Inter', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    color: rgba(245, 243, 236, 0.6) !important;
    text-decoration: none;
    margin: 4px 0;
    text-transform: none !important;
    letter-spacing: 0.02em !important;
    opacity: 1 !important;
    transform: none !important;
    transition: color 0.2s !important;
    width: auto !important;
    padding: 0 !important;
  }
  
  .mf-link:hover {
    color: var(--paper) !important;
  }

  nav.menu.open a:not(.btn),
  nav.menu.open a.btn,
  nav.menu.open .mobile-footer {
    opacity: 1;
    transform: translateY(0);
  }
  
  nav.menu.open a:nth-child(1) { transition-delay: 0.05s; }
  nav.menu.open a:nth-child(2) { transition-delay: 0.1s; }
  nav.menu.open a:nth-child(3) { transition-delay: 0.15s; }
  nav.menu.open a:nth-child(4) { transition-delay: 0.2s; }
  nav.menu.open a:nth-child(5) { transition-delay: 0.25s; }
  nav.menu.open a:nth-child(6) { transition-delay: 0.3s; }
  nav.menu.open a:nth-child(7) { transition-delay: 0.35s; }
  nav.menu.open .mobile-footer { transition-delay: 0.4s; }
}/* End custom CSS */
/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap');

:root{--paper:#f5f3ec;--paper-2:#ece9df;--card:#fbfaf5;--ink:#16140e;--soft:#5f5a4f;--dim:#8c877b;--line:rgba(22,20,14,.16);--accent:#c4421a;--accent-2:#a8350f;--gold:#dd9a2b;--teal:#1f7a6b;--maxw:1320px;--ease:cubic-bezier(.16,.84,.34,1);--dk:#16140e;--dk-ink:#f5f3ec;--dk-soft:#a8a194;--dk-line:rgba(245,243,236,.16)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip !important}
body{background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip !important}
h1,h2,h3,h4{font-family:'Archivo',system-ui,sans-serif;font-weight:800;line-height:1;letter-spacing:-.03em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--accent);color:#fff}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:'Archivo',sans-serif;font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--accent)}
.btn{display:inline-flex;align-items:center;gap:11px;font-family:'Archivo',sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.03em;text-transform:uppercase;padding:17px 28px;cursor:pointer;border:2px solid var(--ink);transition:all .3s var(--ease);background:transparent;color:var(--ink)}
.btn .ar{transition:transform .3s var(--ease)}
.btn:hover .ar{transform:translate(4px,-4px)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-2);border-color:var(--accent-2)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* Prevent global font-family overrides from breaking Elementor, FontAwesome, and WordPress admin icons */
[class^="eicon-"], [class*=" eicon-"] {
  font-family: 'elementor-icons', 'eicons' !important;
}
.fa, .fas, .far, .fab, [class^="fa-"], [class*=" fa-"] {
  font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands', 'FontAwesome' !important;
}
[class^="dashicons-"], [class*=" dashicons-"], .dashicons {
  font-family: 'dashicons' !important;
}

/* Force common WordPress/Elementor theme wrappers to not break position: sticky */
#page, #content, .site, .site-content, .ast-container, #wpwrap, .main-header-bar, .ast-site-header-wrap {
  overflow: visible !important;
  overflow-x: clip !important;
}

/* Prevent Elementor section/container overflow from hiding reveal animations */
.elementor-section,
.elementor-container,
.elementor-widget-wrap,
.elementor-widget-container,
.e-con,
.e-con-inner,
.elementor-top-section {
  overflow: visible !important;
}/* End custom CSS */