:root{
  --wp-bg:#050505;
  --wp-card:#0f0f0f;
  --wp-text:#e7e7e7;
  --wp-muted:#a8a9ad;
  --wp-gold:#d4af37;
  --wp-red:#e63946;
  --wp-pill:rgba(255,255,255,.05);
  --wp-pill-border:rgba(255,255,255,.05);
  --wp-shadow:0 20px 60px rgba(0,0,0,.65);
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Lato,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  color:var(--wp-text);
  background:var(--wp-bg);
  overflow-x:hidden;
  background-image:
    radial-gradient(1200px 700px at 50% 20%, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.65) 65%, rgba(0,0,0,0.92) 100%),
    url("../images/homebg.jpg"),
    radial-gradient(circle at 50% 0%, rgba(212,175,55,0.08) 0%, transparent 50%),
    radial-gradient(circle at 0% 100%, rgba(139,0,0,0.05) 0%, transparent 50%),
    url("https://www.transparenttextures.com/patterns/dark-leather.png");
  background-size:cover, cover, auto, auto, auto;
  background-position:center top, center top, 50% 0, 0% 100%, center;
  background-repeat:no-repeat, no-repeat, no-repeat, no-repeat, repeat;
  background-attachment:fixed, fixed, fixed, fixed, fixed;
}

a{color:inherit}

.wp-topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:50;
  padding:12px 16px;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,0));
  transition:background .6s ease, border-color .6s ease, backdrop-filter .6s ease, padding .6s ease;
}
.wp-topbar > *{pointer-events:auto}
.wp-topbar.is-scrolled{
  background:rgba(2,2,2,.78);
  border-bottom:1px solid rgba(255,255,255,.05);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  padding:10px 16px;
}
.wp-topbar__inner{
  max-width:1700px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  pointer-events:auto;
}

.wp-brand{
  font-family:Cinzel,serif;
  font-weight:900;
  letter-spacing:.06em;
  text-decoration:none;
  font-size:22px;
  line-height:1;
  text-transform:uppercase;
  text-shadow:0 6px 24px rgba(0,0,0,.55);
}
.wp-brand span{color:var(--wp-red)}
.wp-brand--footer{font-size:20px}

.wp-pillnav{
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.05);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 40px rgba(0,0,0,.35);
  flex-wrap:wrap;
}
.wp-pillnav__item,.wp-pillnav__icon{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-weight:800;
  color:rgba(156,163,175,.95);
  transition:background .2s ease,color .2s ease, transform .2s ease;
}
.wp-pillnav__item{
  border:0;
  background:transparent;
  cursor:pointer;
  min-height:40px;
}
.wp-pillnav__icon{
  border:0;
  background:transparent;
  cursor:pointer;
  min-height:40px;
}
.wp-pillnav__icon--burger{display:none}
.wp-pillnav__item--desktop{display:flex}
.wp-pillnav__icon--desktop{display:flex}
.wp-pillnav__item:hover,.wp-pillnav__icon:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}
.wp-pillnav__icon{
  padding:8px 10px;
}
.wp-pillnav__icon--desktop{
  color:rgba(156,163,175,.95);
}
.wp-pillnav__icon--desktop:hover{
  color:var(--wp-gold);
}
.wp-pillnav__icon:hover{
  background:transparent;
  color:var(--wp-gold);
}
.wp-pillnav__icon:hover i{transform:scale(1.08)}
.wp-pillnav__icon i{transition:transform .2s ease}
.wp-pillnav__item.is-active{
  background:var(--wp-gold);
  color:rgba(2,2,2,.95);
}
.wp-pillnav__item.is-active:hover{
  background:var(--wp-gold);
  color:rgba(2,2,2,.95);
}
.wp-pillnav__chev{opacity:.7;font-size:12px;margin-left:2px}
.wp-pillnav i{opacity:.85}

.wp-page{
  padding-top:112px;
}

.wp-dd{position:relative}
.wp-dd__menu{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  min-width:220px;
  padding:8px;
  border-radius:18px;
  background:#020202;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 50px rgba(0,0,0,.65);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.wp-dd__menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-10px;
  height:10px;
}
.wp-dd__menu a{
  display:block;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(156,163,175,.95);
  transition:background .15s ease,color .15s ease;
}
.wp-dd__menu a:hover{
  background:rgba(255,255,255,.06);
  color:var(--wp-gold);
}
.wp-dd.is-open .wp-dd__menu{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
@media (hover:hover){
  .wp-dd:hover .wp-dd__menu{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
  .wp-dd:hover .wp-dd__trigger[aria-expanded="false"]{
    color:#fff;
  }
}

.wp-maps{
  position:relative;
  z-index:2;
  padding:70px 20px 80px;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(0,0,0,.40) 0%, rgba(0,0,0,.78) 70%, rgba(0,0,0,.88) 100%);
}
.wp-maps__inner{
  max-width:1100px;
  margin:0 auto;
}
.wp-maps__title{
  font-family:Cinzel,serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin:0;
  font-size:34px;
  text-align:center;
}
.wp-maps__subtitle{
  margin:10px 0 0;
  text-align:center;
  color:var(--wp-gold);
  font-family:Cinzel,serif;
  letter-spacing:.06em;
}

.wp-search{
  max-width:560px;
  margin:30px auto 0;
  position:relative;
}
.wp-search__input{
  background:rgba(0,0,0,.62);
  border:1px solid rgba(255,255,255,.12);
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:2px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.wp-search__input:focus-within{
  border-color:rgba(197,160,89,.60);
  box-shadow:0 0 0 1px rgba(197,160,89,.18), 0 16px 40px rgba(0,0,0,.45);
}
.wp-search__input i{color:rgba(197,160,89,.85)}
.wp-search__input input{
  background:transparent;
  border:none;
  color:#fff;
  width:100%;
  outline:none;
  font-size:16px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.wp-search__input input::placeholder{color:rgba(255,255,255,.45)}
.wp-search__clear{
  background:transparent;
  border:0;
  color:rgba(255,255,255,.55);
  cursor:pointer;
  padding:6px 6px;
}
.wp-search__clear:hover{color:#fff}
.wp-search__results{
  display:none;
  position:absolute;
  width:100%;
  background:rgba(10,10,10,.92);
  border:1px solid rgba(255,255,255,.10);
  z-index:10;
  margin-top:8px;
  max-height:320px;
  overflow:auto;
  border-radius:8px;
  box-shadow:var(--wp-shadow);
}
.wp-search__results ul{margin:0;padding:12px 12px 6px;list-style:none}
.wp-search__results li{margin:0 0 10px}
.wp-search__results a{color:var(--wp-gold);text-decoration:none}
.wp-search__results li:first-child{
  color:rgba(255,255,255,.55);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.wp-search__results .searchDescription{
  margin-top:6px;
  color:rgba(255,255,255,.55);
  font-size:12px;
  line-height:1.35;
}
.wp-search__results .truncated{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

#search-input-wrapper.sticky{
  position:sticky;
  top:92px;
  z-index:40;
}

.wp-maps-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:16px;
  margin:28px auto 0;
}
.wp-mapbtn{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  padding:18px 20px;
  font-family:Cinzel,serif;
  text-decoration:none;
  text-transform:uppercase;
  font-size:14px;
  letter-spacing:.14em;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  position:relative;
  overflow:hidden;
  min-height:66px;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.wp-mapbtn::before{
  content:"\f279";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  margin-right:12px;
  color:var(--wp-gold);
  opacity:.9;
  transition:color .2s ease,opacity .2s ease;
}
.wp-mapbtn:hover{
  transform:translateY(-2px);
  background:rgba(185,29,29,.18);
  border-color:rgba(255,255,255,.22);
  box-shadow:0 18px 45px rgba(0,0,0,.35);
}
.wp-mapbtn:hover::before{color:#fff;opacity:1}

.wp-footer{
  padding:26px 20px 34px;
  background:#010101;
  border-top:1px solid rgba(255,255,255,.08);
}
.wp-footer__inner{
  max-width:1100px;
  margin:0 auto;
  text-align:center;
}
.wp-footer p{
  margin:10px 0 0;
  color:rgba(255,255,255,.45);
  font-size:13px;
}

.wp-searchmodal{
  position:fixed;
  inset:0;
  z-index:80;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:90px 18px 18px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.wp-searchmodal__inner{
  width:min(720px, 100%);
  background:rgba(10,10,11,.92);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 80px rgba(0,0,0,.65);
  padding:16px 16px 18px;
}
.wp-searchmodal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}
.wp-searchmodal__title{
  font-family:Cinzel,serif;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(255,255,255,.70);
}
.wp-searchmodal__form{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.10);
  border-radius:2px;
}
.wp-searchmodal__form:focus-within{
  border-color:rgba(197,160,89,.60);
  box-shadow:0 0 0 1px rgba(197,160,89,.18), 0 16px 40px rgba(0,0,0,.45);
}
.wp-searchmodal__form i{color:rgba(197,160,89,.85)}
.wp-searchmodal__form input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font-size:16px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.wp-searchmodal__form input::placeholder{color:rgba(255,255,255,.45)}
.wp-searchmodal__hint{
  margin-top:10px;
  font-size:11px;
  color:rgba(255,255,255,.45);
  letter-spacing:.08em;
}

.wp-mobile{
  position:fixed;
  inset:0;
  z-index:85;
  display:flex;
  flex-direction:column;
  padding:92px 22px 28px;
  background:rgba(0,0,0,.92);
  overflow:auto;
  isolation:isolate;
}
.wp-mobile::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(1000px 600px at 60% 20%, rgba(0,0,0,.10), rgba(0,0,0,.88) 70%),
    url("../images/homebg.jpg"),
    url("https://www.transparenttextures.com/patterns/dark-leather.png");
  background-size:cover, cover, auto;
  background-position:center top, center top, center;
  background-repeat:no-repeat, no-repeat, repeat;
  opacity:.60;
  pointer-events:none;
  z-index:-1;
}
.wp-mobile__top{
  position:fixed;
  top:20px;
  right:18px;
  z-index:90;
}
.wp-mobile__close{
  width:52px;
  height:52px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#fff;
  cursor:pointer;
  font-size:20px;
}
.wp-mobile__content{
  width:100%;
  max-width:520px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:22px;
  align-items:stretch;
}

.wp-mnav{width:100%}
.wp-mnav__label{
  color:var(--wp-gold);
  font-size:12px;
  letter-spacing:.55em;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:18px;
}
.wp-mnav__primary{
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 0 18px;
  text-decoration:none;
  color:#fff;
  font-family:Cinzel,serif;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:26px;
}
.wp-mnav__icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.85);
}
.wp-msection{margin-top:14px}
.wp-msection__label{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:900;
  color:rgba(148,163,184,.65);
  margin:14px 0 10px;
}
.wp-mitem{
  display:block;
  padding:12px 0;
  text-decoration:none;
  font-family:Cinzel,serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:18px;
  color:rgba(255,255,255,.92);
}
.wp-mitem:hover{color:var(--wp-gold)}
.wp-mitem.is-active{color:var(--wp-gold)}

@media (max-width: 980px){
  .wp-pillnav__item--desktop{display:none}
  .wp-pillnav__icon--desktop{display:none}
  .wp-pillnav__icon--burger{display:flex}
  #open-search-mobile{display:flex}
  .wp-topbar{padding:16px 16px}
  .wp-pillnav{
    background:transparent;
    border:0;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    padding:0;
    gap:10px;
  }
  .wp-pillnav__icon{
    width:46px;
    height:46px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.02);
    justify-content:center;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
  }
  .wp-pillnav__icon:hover{background:rgba(255,255,255,.04)}
}
@media (min-width: 981px){
  .wp-brand{font-size:28px}
  .wp-topbar{padding:14px 32px}
  #open-search-mobile{display:none}
}
@media (max-width: 520px){
  .wp-brand{font-size:22px}
  .wp-page{padding-top:92px}
}
