.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-24b3684 */:root{
  --maroon: #561718;
  --maroon-deep: #451a1a;
  --maroon-soft: #7a2b2b;

  --gold: #b88921;
  --gold-soft: #d3a650;
  --beige: #fdfdfc;

  --charcoal: #211a1c;
  --white: #ffffff;
  --ink: #2a2124;

  --font-display: 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  --font-script: 'Great Vibes', cursive;
  --font-body: 'Manrope', Arial, sans-serif;

  --ease: cubic-bezier(.19,1,.22,1);
  --container: 1240px;
}

*{ margin:0; padding:0; box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; }
button{ font-family:inherit; border:none; background:none; cursor:pointer; }

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 40px;
}

.logo-script,
.script-font{
  font-family:var(--font-script);
}

::selection{
  background:var(--maroon);
  color:var(--white);
}

@media (max-width:768px){
  body{ cursor:auto; }
  .container{ padding:0 24px; }
}

@media (prefers-reduced-motion: reduce){
  *{
    animation-duration:0.001s !important;
    transition-duration:0.001s !important;
    scroll-behavior:auto !important;
  }
}

/* PRELOADER */
#preloader{
  position:fixed;
  inset:0;
  z-index:9999;
  background:var(--maroon-deep);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:18px;
}

#preloader .loader-mark{
  width:56px;
  height:56px;
  opacity:.95;
}

#preloader .loader-mark svg{
  width:100%;
  height:100%;
}

#preloader .loader-mark path{
  stroke:var(--gold-soft);
  stroke-width:1.4;
  fill:none;
  stroke-dasharray:220;
  stroke-dashoffset:220;
  animation:drawLaurel 1.4s var(--ease) forwards infinite alternate;
}

@keyframes drawLaurel{
  to{ stroke-dashoffset:0; }
}

#preloader .loader-text{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:300;
  color:var(--beige);
  letter-spacing:.08em;
  font-size:14px;
}

/* CUSTOM CURSOR */
.cursor-dot,
.cursor-ring{
  position:fixed;
  top:0;
  left:0;
  pointer-events:none;
  z-index:9998;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.cursor-dot{
  width:6px;
  height:6px;
  background:var(--maroon);
}

.cursor-ring{
  width:38px;
  height:38px;
  border:1px solid var(--maroon);
  transition:
    width .3s var(--ease),
    height .3s var(--ease),
    border-color .3s var(--ease),
    opacity .3s var(--ease),
    background .3s var(--ease);
}

.cursor-ring.hovered{
  width:64px;
  height:64px;
  background:rgba(86,23,24,.07);
  border-color:var(--gold);
}

@media (max-width:768px){
  .cursor-dot,
  .cursor-ring{ display:none; }
}

/* NAVBAR */
.navbar{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:500;
  padding:6px 0;
  background:rgba(253,253,252,.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(184,137,33,.22);
  transition:
    background .5s var(--ease),
    padding .5s var(--ease),
    box-shadow .5s var(--ease);
}

.navbar.scrolled{
  background:rgba(253,253,252,.96);
  padding:2px 0;
  box-shadow:0 8px 30px rgba(69,26,26,.12);
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.brand svg{
  width:30px;
  height:30px;
}

.brand path,
.brand circle{
  stroke:var(--maroon);
  transition:stroke .4s;
}

.brand-text{
  font-family:var(--font-display);
  font-weight:500;
  font-size:19px;
  letter-spacing:.04em;
  color:var(--maroon);
  transition:color .5s var(--ease);
}

.brand-text em{
  font-family:var(--font-script);
  font-style:normal;
  font-weight:400;
  color:var(--gold);
}

.nav-links{
  display:flex;
  align-items:center;
  gap:44px;
}

.nav-links a{
  position:relative;
  font-size:13.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink);
  font-weight:500;
  padding-bottom:4px;
  transition:color .5s var(--ease);
}

.nav-links a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  height:1px;
  width:0;
  background:var(--gold);
  transition:width .4s var(--ease);
}

.nav-links a:hover::after{
  width:100%;
}

.nav-links a:hover{
  color:var(--gold);
}

.btn-book{
  padding:13px 28px;
  border:1px solid var(--gold);
  background:var(--gold);
  color:var(--maroon-deep) !important;
  font-size:12.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:600;
  position:relative;
  overflow:hidden;
  transition:
    color .4s var(--ease),
    border-color .4s var(--ease),
    background .4s var(--ease),
    transform .4s var(--ease),
    box-shadow .4s var(--ease);
}

.btn-book span{
  position:relative;
  z-index:2;
}

.btn-book::before{
  content:'';
  position:absolute;
  inset:0;
  background:var(--gold-soft);
  transform:translateY(101%);
  transition:transform .45s var(--ease);
  z-index:1;
}

.btn-book:hover::before{
  transform:translateY(0);
}

.btn-book:hover{
  color:var(--maroon-deep) !important;
  border-color:var(--gold-soft);
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(69,26,26,.18);
}

.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  position:relative;
  z-index:999;
}

.nav-toggle span{
  width:26px;
  height:1.5px;
  background:var(--maroon);
  transition:background .4s, transform .4s, opacity .4s;
}

@media (max-width:900px){
  .nav-links{
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:min(80vw,340px);
    background:var(--maroon-deep);
    flex-direction:column;
    justify-content:center;
    gap:34px;
    transform:translateX(100%);
    transition:transform .5s var(--ease);
    box-shadow:-20px 0 60px rgba(69,26,26,.32);
  }

  .nav-links.open{
    transform:translateX(0);
  }

  .nav-links a{
    color:var(--beige) !important;
    font-size:15px;
  }

  .nav-links a:hover{
    color:var(--gold-soft) !important;
  }

  .nav-toggle{
    display:flex;
  }

  .btn-book{
    display:none;
  }

  .nav-links .btn-book-mobile{
    display:inline-block;
    border:1px solid var(--gold);
    color:var(--gold-soft) !important;
    padding:13px 26px;
    font-size:12px;
    letter-spacing:.1em;
  }
}

/* SECTION LABELS / SHARED */
.section{
  padding:130px 0;
  position:relative;
}

@media (max-width:768px){
  .section{ padding:80px 0; }
}

.eyebrow{
  font-size:12.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--maroon);
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
}

.eyebrow::before{
  content:'';
  width:34px;
  height:1px;
  background:var(--gold);
}

.section-heading{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(30px,4vw,50px);
  line-height:1.15;
  max-width:680px;
  color:var(--maroon-deep);
  letter-spacing:.02em;
}

.section-heading em{
  font-family:var(--font-script);
  font-style:normal;
  color:var(--gold);
  font-weight:400;
}

.section-text{
  margin-top:22px;
  font-size:16.5px;
  line-height:1.85;
  color:#5b4b4b;
  max-width:560px;
  font-weight:300;
}

.section-head-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  flex-wrap:wrap;
}

.btn-outline{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 30px;
  border:1px solid var(--maroon);
  color:var(--maroon);
  font-size:12.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:600;
  white-space:nowrap;
  position:relative;
  overflow:hidden;
  transition:border-color .4s var(--ease), transform .4s var(--ease);
}

.btn-outline span{
  position:relative;
  z-index:2;
  transition:color .4s;
}

.btn-outline::before{
  content:'';
  position:absolute;
  inset:0;
  background:var(--maroon);
  transform:translateY(101%);
  transition:transform .45s var(--ease);
}

.btn-outline:hover::before{
  transform:translateY(0);
}

.btn-outline:hover{
  border-color:var(--maroon);
  transform:translateY(-2px);
}

.btn-outline:hover span{
  color:var(--white);
}

.laurel-rule{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:0 auto 26px;
  width:fit-content;
}

.laurel-rule svg{
  width:34px;
  height:34px;
  opacity:.8;
}

.laurel-rule .bar{
  width:60px;
  height:1px;
  background:var(--gold);
}

/* DROPDOWN */
.has-dropdown{
  position:relative;
}

.dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:240px;
  background:rgba(253,253,252,.97);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:14px 0;
  box-shadow:0 18px 45px rgba(69,26,26,.14);
  border:1px solid rgba(184,137,33,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  transition:all .35s var(--ease);
  z-index:999;
}

.has-dropdown:hover .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.dropdown-menu li a{
  display:block;
  padding:12px 22px;
  font-size:12.5px;
  color:var(--ink);
  white-space:nowrap;
}

.dropdown-menu li a:hover{
  color:var(--gold);
  background:rgba(184,137,33,.09);
}

.dropdown-menu li a::after{
  display:none;
}

@media (max-width:900px){
  .has-dropdown{
    width:100%;
    text-align:center;
  }

  .dropdown-menu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    background:transparent;
    box-shadow:none;
    border:none;
    padding:10px 0 0;
    min-width:auto;
  }

  .dropdown-menu li a{
    color:var(--gold-soft) !important;
    font-size:13px;
    padding:8px 0;
  }
}

/* GLOBAL DARK COLOR NORMALIZER */
[class*="dark"],
.dark,
.footer,
.cta,
.events,
.feature-strip,
.card,
.topbar,
#mobile-nav{
  background-color:var(--maroon-deep);
}

.footer,
.cta,
.events,
.feature-strip,
.card,
.topbar{
  color:var(--beige);
}

.footer h1,
.footer h2,
.footer h3,
.footer h4,
.cta h1,
.cta h2,
.cta h3,
.events h1,
.events h2,
.events h3,
.feature-strip h1,
.feature-strip h2,
.feature-strip h3,
.card h1,
.card h2,
.card h3{
  color:var(--gold-soft);
}

.footer a,
.footer p,
.cta p,
.events p,
.feature-strip p,
.card p,
.topbar{
  color:rgba(253,253,252,.82);
}

.footer a:hover{
  color:var(--gold-soft);
}/* End custom CSS */