.elementor-15 .elementor-element.elementor-element-94ef9fc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--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-15 .elementor-element.elementor-element-5bc1acc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--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-15 .elementor-element.elementor-element-c78cf6b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--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-15 .elementor-element.elementor-element-41b849c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--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-15 .elementor-element.elementor-element-558ce3e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--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-15 .elementor-element.elementor-element-72b8cb0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-baf69c2 *//* =========================================================
   VARIABLES
   ========================================================= */

.htm-site {
  --htm-black: #080808;
  --htm-black-soft: #111111;
  --htm-gold: #BF9548;
  --htm-gold-light: #D2AD65;
  --htm-charcoal: #545454;
  --htm-white: #F4F1EB;
  --htm-white-soft: rgba(244,241,235,.68);

  --htm-border: rgba(244,241,235,.15);

  --htm-max-width: 1440px;

  font-family:
    "Inter",
    "Helvetica Neue",
    Arial,
    sans-serif;

  background: var(--htm-black);
  color: var(--htm-white);

  position: relative;
  width: 100%;
  overflow: hidden;
}


/* =========================================================
   RESET
   ========================================================= */

.htm-site *,
.htm-site *::before,
.htm-site *::after {
  box-sizing: border-box;
}

.htm-site a {
  color: inherit;
  text-decoration: none;
}

.htm-site button {
  font-family: inherit;
}


/* =========================================================
   HEADER
   ========================================================= */

.htm-header {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  height: 92px;

  padding:
    0 clamp(24px, 4vw, 64px);

  display: grid;

  grid-template-columns:
    minmax(180px, 1fr)
    auto
    minmax(180px, 1fr);

  align-items: center;

  z-index: 1000;

  transition:
    height .6s cubic-bezier(.22,1,.36,1),
    background .6s ease,
    border-color .6s ease,
    backdrop-filter .6s ease;

  border-bottom: 1px solid transparent;
}


/* Header when scrolling */

.htm-header.is-scrolled {

  height: 74px;

  background: rgba(8,8,8,.78);

  backdrop-filter: blur(18px);

  border-color: rgba(191,149,72,.18);

}


/* =========================================================
   LOGO
   ========================================================= */

.htm-logo {

  display: flex;

  align-items: center;

  width: 170px;

  position: relative;

  z-index: 2;

}

.htm-logo img {

  width: 100%;

  height: auto;

  display: block;

}


/* =========================================================
   NAV
   ========================================================= */

.htm-nav {

  display: flex;

  align-items: center;

  gap: clamp(24px, 3vw, 48px);

}

.htm-nav a {

  position: relative;

  display: flex;

  align-items: center;

  gap: 7px;

  color: rgba(244,241,235,.72);

  font-size: 11px;

  font-weight: 500;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-nav a span {

  color: var(--htm-gold);

  font-size: 8px;

  opacity: .75;

}

.htm-nav a::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -7px;

  width: 0;

  height: 1px;

  background: var(--htm-gold);

  transition: width .4s cubic-bezier(.22,1,.36,1);

}

.htm-nav a:hover {

  color: var(--htm-white);

}

.htm-nav a:hover::after {

  width: 100%;

}


/* =========================================================
   HEADER CTA
   ========================================================= */

.htm-header-cta {

  justify-self: end;

  display: flex;

  align-items: center;

  gap: 14px;

  padding: 12px 17px;

  border: 1px solid rgba(191,149,72,.55);

  color: var(--htm-white);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    color .35s ease,
    border-color .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 24px rgba(0,0,0,.12);

}

.htm-header-cta svg {

  width: 16px;

  height: 16px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

  transition: transform .35s ease;

}

.htm-header-cta:hover {

  background: var(--htm-gold);

  border-color: var(--htm-gold);

  color: var(--htm-black);

}

.htm-header-cta:hover svg {

  transform: translateX(4px);

}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.htm-menu {

  display: none;

  justify-self: end;

  width: 48px;

  height: 48px;

  border: 1px solid rgba(191,149,72,.45);

  background: rgba(8,8,8,.7);

  cursor: pointer;

  padding: 0;

}

.htm-menu span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-white);

  margin: 5px auto;

  transition: transform .35s ease;

}


/* =========================================================
   HERO
   ========================================================= */

.htm-hero {

  position: relative;

  min-height: 100svh;

  height: max(760px, 100svh);

  overflow: hidden;

  isolation: isolate;

  background: var(--htm-black);

}


/* =========================================================
   HERO MEDIA
   ========================================================= */

.htm-hero-media {

  position: absolute;
  contain: paint;

  inset: 0;

  z-index: -3;

  overflow: hidden;

}

.htm-hero-media img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  filter:
    saturate(.72)
    contrast(1.08)
    brightness(.72);

  transform: translateZ(0) scale(1.06);
  will-change: transform;

  animation:
    htmHeroImage 18s
    cubic-bezier(.22,1,.36,1)
    infinite alternate;

}

@keyframes htmHeroImage {

  from {
    transform: scale(1.06);
  }

  to {
    transform: scale(1.13);
  }

}


/* =========================================================
   HERO OVERLAY
   ========================================================= */

.htm-hero-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      90deg,
      rgba(8,8,8,.96) 0%,
      rgba(8,8,8,.82) 28%,
      rgba(8,8,8,.32) 62%,
      rgba(8,8,8,.55) 100%
    );

}

.htm-hero-vignette {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      180deg,
      rgba(8,8,8,.7) 0%,
      transparent 25%,
      transparent 65%,
      rgba(8,8,8,.9) 100%
    );

}


/* =========================================================
   GRID LINES
   ========================================================= */

.htm-grid-lines {

  position: absolute;

  inset: 0;

  pointer-events: none;

  opacity: .18;

  z-index: -1;

}

.htm-grid-lines span {

  position: absolute;

  top: 0;

  bottom: 0;

  width: 1px;

  background: linear-gradient(
    to bottom,
    transparent,
    rgba(191,149,72,.45),
    transparent
  );

}

.htm-grid-lines span:nth-child(1) {
  left: 8%;
}

.htm-grid-lines span:nth-child(2) {
  left: 32%;
}

.htm-grid-lines span:nth-child(3) {
  left: 68%;
}

.htm-grid-lines span:nth-child(4) {
  left: 80%;
}

.htm-grid-lines span:nth-child(5) {
  left: 92%;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.htm-hero-content {

  position: relative;

  z-index: 5;

  width: min(
    calc(100% - 48px),
    var(--htm-max-width)
  );

  height: 100%;

  margin: 0 auto;

  padding:
    clamp(150px, 18vh, 210px)
    clamp(0px, 3vw, 48px)
    80px;

  display: flex;

  flex-direction: column;

  justify-content: center;

}


/* =========================================================
   KICKER
   ========================================================= */

.htm-hero-kicker {

  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 30px;

  color: var(--htm-white-soft);

  font-size: 10px;

  letter-spacing: .18em;

  text-transform: uppercase;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .15s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-kicker-line {

  width: 42px;

  height: 1px;

  background: var(--htm-gold);

}

.htm-kicker-location {

  margin-left: 14px;

  color: var(--htm-gold);

  opacity: .8;

}


/* =========================================================
   HERO TITLE
   ========================================================= */

.htm-hero-title {

  margin: 0;

  max-width: 1000px;

  font-size:
    clamp(60px, 9vw, 150px);

  line-height: .84;

  font-weight: 500;

  letter-spacing: -.065em;

  text-transform: uppercase;

}

.htm-title-line {

  display: block;

  overflow: hidden;

}

.htm-title-line > span {

  display: inline-block;

  transform: translateY(110%);

  animation:
    htmTitleReveal 1.15s
    cubic-bezier(.16,1,.3,1)
    forwards;

}

.htm-title-line:nth-child(1) > span {

  animation-delay: .25s;

}

.htm-title-line:nth-child(2) > span {

  animation-delay: .38s;

}

.htm-title-line:nth-child(3) > span {

  animation-delay: .51s;

}

.htm-title-indent {

  padding-left: clamp(25px, 7vw, 130px);

}

.htm-gold-text {

  color: var(--htm-gold);

}

@keyframes htmTitleReveal {

  to {
    transform: translateY(0);
  }

}


/* =========================================================
   HERO BOTTOM
   ========================================================= */

.htm-hero-bottom {

  margin-top: clamp(55px, 9vh, 90px);

  display: flex;

  align-items: flex-end;

  gap: 80px;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .75s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-hero-description {

  max-width: 400px;

}

.htm-hero-description p {

  margin: 0;

  color: rgba(244,241,235,.72);

  font-size: 14px;

  line-height: 1.8;

  font-weight: 300;

}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.htm-hero-actions {

  display: flex;

  align-items: center;

  gap: 28px;

}


/* Primary */

.htm-primary-button {

  display: inline-flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14);

  align-items: center;

  gap: 20px;

  padding: 17px 18px 17px 22px;

  background: var(--htm-gold);

  color: var(--htm-black);

  font-size: 10px;

  font-weight: 600;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;

}

.htm-primary-button:hover {

  background: var(--htm-gold-light);

  transform: translateY(-3px);

}

.htm-button-arrow {

  width: 31px;

  height: 31px;

  display: grid;

  place-items: center;

  background: rgba(8,8,8,.12);

}

.htm-button-arrow svg {

  width: 15px;

  height: 15px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

}


/* Text button */

.htm-text-button {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.8);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-text-button:hover {

  color: var(--htm-gold);

}

.htm-play-icon {

  width: 28px;

  height: 28px;

  border: 1px solid rgba(244,241,235,.45);

  border-radius: 50%;

  display: grid;

  place-items: center;

}

.htm-play-icon svg {

  width: 11px;

  height: 11px;

  fill: currentColor;

}


/* =========================================================
   SIDE LOCATIONS
   ========================================================= */

.htm-hero-side {

  position: absolute;

  right: 30px;

  top: 50%;

  transform:
    translateY(-50%)
    rotate(90deg);

  transform-origin: right center;

  display: flex;

  gap: 18px;

  color: rgba(244,241,235,.4);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

  z-index: 5;

}

.htm-hero-side span {

  white-space: nowrap;

}


/* =========================================================
   SCROLL
   ========================================================= */

.htm-scroll {

  position: absolute;

  bottom: 32px;

  left: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 13px;

  color: rgba(244,241,235,.5);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

}

.htm-scroll-line {

  width: 42px;

  height: 1px;

  overflow: hidden;

  background: rgba(244,241,235,.2);

}

.htm-scroll-line span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-gold);

  animation:
    htmScrollLine 2s
    ease-in-out
    infinite;

}

@keyframes htmScrollLine {

  0% {
    transform: translateX(-100%);
  }

  50% {
    transform: translateX(140%);
  }

  100% {
    transform: translateX(140%);
  }

}


/* =========================================================
   HERO COUNTER
   ========================================================= */

.htm-hero-number {

  position: absolute;

  bottom: 35px;

  right: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.55);

  font-size: 9px;

  letter-spacing: .15em;

}

.htm-hero-number i {

  width: 35px;

  height: 1px;

  background: var(--htm-gold);

}


/* =========================================================
   GENERAL ANIMATION
   ========================================================= */

@keyframes htmFadeUp {

  from {

    opacity: 0;

    transform: translateY(25px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .htm-header {

    grid-template-columns:
      1fr
      auto;

  }

  .htm-nav,
  .htm-header-cta {

    display: none;

  }

  .htm-menu {

    display: block;

  }

  .htm-hero-content {

    padding-left: 0;
    padding-right: 0;

  }

  .htm-hero-bottom {

    gap: 40px;

  }

  .htm-hero-description {

    max-width: 330px;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .htm-header {

    height: 76px;

    padding:
      0 20px;

  }

  .htm-logo {

    width: 135px;

  }

  .htm-menu {

    width: 44px;

    height: 44px;

  }

  .htm-hero {

    min-height: 760px;

    height: 100svh;

  }

  .htm-hero-media img {

    object-position:
      62% center;

    filter:
      saturate(.65)
      contrast(1.05)
      brightness(.58);

  }

  .htm-hero-overlay {

    background:

      linear-gradient(
        180deg,
        rgba(8,8,8,.72) 0%,
        rgba(8,8,8,.55) 35%,
        rgba(8,8,8,.88) 100%
      );

  }

  .htm-hero-content {

    width:
      calc(100% - 40px);

    padding:
      125px 0 110px;

    justify-content:
      center;

  }

  .htm-hero-kicker {

    margin-bottom: 24px;

    font-size: 8px;

    letter-spacing: .14em;

  }

  .htm-kicker-location {

    display: none;

  }

  .htm-hero-title {

    font-size:
      clamp(48px, 14.5vw, 82px);

    line-height: .87;

    letter-spacing: -.07em;

  }

  .htm-title-indent {

    padding-left: 22px;

  }

  .htm-hero-bottom {

    margin-top: 45px;

    display: block;

  }

  .htm-hero-description {

    max-width: 320px;

  }

  .htm-hero-description p {

    font-size: 13px;

    line-height: 1.7;

  }

  .htm-hero-actions {

    margin-top: 30px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 20px;

  }

  .htm-primary-button {

    padding:
      15px 15px 15px 18px;

  }

  .htm-hero-side {

    display: none;

  }

  .htm-grid-lines span:nth-child(2),
  .htm-grid-lines span:nth-child(3) {

    display: none;

  }

  .htm-grid-lines span:nth-child(1) {

    left: 10%;

  }

  .htm-grid-lines span:nth-child(4) {

    left: 90%;

  }

  .htm-scroll {

    left: 20px;
    bottom: 25px;

  }

  .htm-hero-number {

    right: 20px;
    bottom: 25px;

  }

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.htm-site a:focus-visible,
.htm-site button:focus-visible {

  outline:
    2px solid var(--htm-gold);

  outline-offset: 5px;

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .htm-site *,
  .htm-site *::before,
  .htm-site *::after {

    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;

  }

}


/* =========================================================
   ELEMENTOR SAFETY
   ========================================================= */

.elementor-widget-html {

  margin-bottom: 0 !important;

}


/* Mobile menu state — fixes the existing toggle behavior without adding objects */
@media (max-width: 1024px) {
  .htm-nav.htm-mobile-open {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 20px 20px;
    background: rgba(8,8,8,.96);
    border-bottom: 1px solid rgba(191,149,72,.18);
    box-shadow: 0 18px 40px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
  }

  .htm-nav.htm-mobile-open a {
    padding: 14px 4px;
    border-bottom: 1px solid rgba(244,241,235,.08);
  }

  .htm-nav.htm-mobile-open a:last-child {
    border-bottom: 0;
  }

  .htm-menu[aria-expanded="true"] span:first-child {
    transform: translateY(3px) rotate(45deg);
  }

  .htm-menu[aria-expanded="true"] span:last-child {
    transform: translateY(-3px) rotate(-45deg);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ec26c17 *//* =========================================================
   VARIABLES
   ========================================================= */

.htm-site {
  --htm-black: #080808;
  --htm-black-soft: #111111;
  --htm-gold: #BF9548;
  --htm-gold-light: #D2AD65;
  --htm-charcoal: #545454;
  --htm-white: #F4F1EB;
  --htm-white-soft: rgba(244,241,235,.68);

  --htm-border: rgba(244,241,235,.15);

  --htm-max-width: 1440px;

  font-family:
    "Inter",
    "Helvetica Neue",
    Arial,
    sans-serif;

  background: var(--htm-black);
  color: var(--htm-white);

  position: relative;
  width: 100%;
  overflow: hidden;
}


/* =========================================================
   RESET
   ========================================================= */

.htm-site *,
.htm-site *::before,
.htm-site *::after {
  box-sizing: border-box;
}

.htm-site a {
  color: inherit;
  text-decoration: none;
}

.htm-site button {
  font-family: inherit;
}


/* =========================================================
   HEADER
   ========================================================= */

.htm-header {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  height: 92px;

  padding:
    0 clamp(24px, 4vw, 64px);

  display: grid;

  grid-template-columns:
    minmax(180px, 1fr)
    auto
    minmax(180px, 1fr);

  align-items: center;

  z-index: 1000;

  transition:
    height .6s cubic-bezier(.22,1,.36,1),
    background .6s ease,
    border-color .6s ease,
    backdrop-filter .6s ease;

  border-bottom: 1px solid transparent;
}


/* Header when scrolling */

.htm-header.is-scrolled {

  height: 74px;

  background: rgba(8,8,8,.78);

  backdrop-filter: blur(18px);

  border-color: rgba(191,149,72,.18);

}


/* =========================================================
   LOGO
   ========================================================= */

.htm-logo {

  display: flex;

  align-items: center;

  width: 170px;

  position: relative;

  z-index: 2;

}

.htm-logo img {

  width: 100%;

  height: auto;

  display: block;

}


/* =========================================================
   NAV
   ========================================================= */

.htm-nav {

  display: flex;

  align-items: center;

  gap: clamp(24px, 3vw, 48px);

}

.htm-nav a {

  position: relative;

  display: flex;

  align-items: center;

  gap: 7px;

  color: rgba(244,241,235,.72);

  font-size: 11px;

  font-weight: 500;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-nav a span {

  color: var(--htm-gold);

  font-size: 8px;

  opacity: .75;

}

.htm-nav a::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -7px;

  width: 0;

  height: 1px;

  background: var(--htm-gold);

  transition: width .4s cubic-bezier(.22,1,.36,1);

}

.htm-nav a:hover {

  color: var(--htm-white);

}

.htm-nav a:hover::after {

  width: 100%;

}


/* =========================================================
   HEADER CTA
   ========================================================= */

.htm-header-cta {

  justify-self: end;

  display: flex;

  align-items: center;

  gap: 14px;

  padding: 12px 17px;

  border: 1px solid rgba(191,149,72,.55);

  color: var(--htm-white);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    color .35s ease,
    border-color .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 24px rgba(0,0,0,.12);

}

.htm-header-cta svg {

  width: 16px;

  height: 16px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

  transition: transform .35s ease;

}

.htm-header-cta:hover {

  background: var(--htm-gold);

  border-color: var(--htm-gold);

  color: var(--htm-black);

}

.htm-header-cta:hover svg {

  transform: translateX(4px);

}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.htm-menu {

  display: none;

  justify-self: end;

  width: 48px;

  height: 48px;

  border: 1px solid rgba(191,149,72,.45);

  background: rgba(8,8,8,.7);

  cursor: pointer;

  padding: 0;

}

.htm-menu span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-white);

  margin: 5px auto;

  transition: transform .35s ease;

}


/* =========================================================
   HERO
   ========================================================= */

.htm-hero {

  position: relative;

  min-height: 100svh;

  height: max(760px, 100svh);

  overflow: hidden;

  isolation: isolate;

  background: var(--htm-black);

}


/* =========================================================
   HERO MEDIA
   ========================================================= */

.htm-hero-media {

  position: absolute;
  contain: paint;

  inset: 0;

  z-index: -3;

  overflow: hidden;

}

.htm-hero-media img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  filter:
    saturate(.72)
    contrast(1.08)
    brightness(.72);

  transform: translateZ(0) scale(1.06);
  will-change: transform;

  animation:
    htmHeroImage 18s
    cubic-bezier(.22,1,.36,1)
    infinite alternate;

}

@keyframes htmHeroImage {

  from {
    transform: scale(1.06);
  }

  to {
    transform: scale(1.13);
  }

}


/* =========================================================
   HERO OVERLAY
   ========================================================= */

.htm-hero-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      90deg,
      rgba(8,8,8,.96) 0%,
      rgba(8,8,8,.82) 28%,
      rgba(8,8,8,.32) 62%,
      rgba(8,8,8,.55) 100%
    );

}

.htm-hero-vignette {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      180deg,
      rgba(8,8,8,.7) 0%,
      transparent 25%,
      transparent 65%,
      rgba(8,8,8,.9) 100%
    );

}


/* =========================================================
   GRID LINES
   ========================================================= */

.htm-grid-lines {

  position: absolute;

  inset: 0;

  pointer-events: none;

  opacity: .18;

  z-index: -1;

}

.htm-grid-lines span {

  position: absolute;

  top: 0;

  bottom: 0;

  width: 1px;

  background: linear-gradient(
    to bottom,
    transparent,
    rgba(191,149,72,.45),
    transparent
  );

}

.htm-grid-lines span:nth-child(1) {
  left: 8%;
}

.htm-grid-lines span:nth-child(2) {
  left: 32%;
}

.htm-grid-lines span:nth-child(3) {
  left: 68%;
}

.htm-grid-lines span:nth-child(4) {
  left: 80%;
}

.htm-grid-lines span:nth-child(5) {
  left: 92%;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.htm-hero-content {

  position: relative;

  z-index: 5;

  width: min(
    calc(100% - 48px),
    var(--htm-max-width)
  );

  height: 100%;

  margin: 0 auto;

  padding:
    clamp(150px, 18vh, 210px)
    clamp(0px, 3vw, 48px)
    80px;

  display: flex;

  flex-direction: column;

  justify-content: center;

}


/* =========================================================
   KICKER
   ========================================================= */

.htm-hero-kicker {

  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 30px;

  color: var(--htm-white-soft);

  font-size: 10px;

  letter-spacing: .18em;

  text-transform: uppercase;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .15s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-kicker-line {

  width: 42px;

  height: 1px;

  background: var(--htm-gold);

}

.htm-kicker-location {

  margin-left: 14px;

  color: var(--htm-gold);

  opacity: .8;

}


/* =========================================================
   HERO TITLE
   ========================================================= */

.htm-hero-title {

  margin: 0;

  max-width: 1000px;

  font-size:
    clamp(60px, 9vw, 150px);

  line-height: .84;

  font-weight: 500;

  letter-spacing: -.065em;

  text-transform: uppercase;

}

.htm-title-line {

  display: block;

  overflow: hidden;

}

.htm-title-line > span {

  display: inline-block;

  transform: translateY(110%);

  animation:
    htmTitleReveal 1.15s
    cubic-bezier(.16,1,.3,1)
    forwards;

}

.htm-title-line:nth-child(1) > span {

  animation-delay: .25s;

}

.htm-title-line:nth-child(2) > span {

  animation-delay: .38s;

}

.htm-title-line:nth-child(3) > span {

  animation-delay: .51s;

}

.htm-title-indent {

  padding-left: clamp(25px, 7vw, 130px);

}

.htm-gold-text {

  color: var(--htm-gold);

}

@keyframes htmTitleReveal {

  to {
    transform: translateY(0);
  }

}


/* =========================================================
   HERO BOTTOM
   ========================================================= */

.htm-hero-bottom {

  margin-top: clamp(55px, 9vh, 90px);

  display: flex;

  align-items: flex-end;

  gap: 80px;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .75s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-hero-description {

  max-width: 400px;

}

.htm-hero-description p {

  margin: 0;

  color: rgba(244,241,235,.72);

  font-size: 14px;

  line-height: 1.8;

  font-weight: 300;

}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.htm-hero-actions {

  display: flex;

  align-items: center;

  gap: 28px;

}


/* Primary */

.htm-primary-button {

  display: inline-flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14);

  align-items: center;

  gap: 20px;

  padding: 17px 18px 17px 22px;

  background: var(--htm-gold);

  color: var(--htm-black);

  font-size: 10px;

  font-weight: 600;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;

}

.htm-primary-button:hover {

  background: var(--htm-gold-light);

  transform: translateY(-3px);

}

.htm-button-arrow {

  width: 31px;

  height: 31px;

  display: grid;

  place-items: center;

  background: rgba(8,8,8,.12);

}

.htm-button-arrow svg {

  width: 15px;

  height: 15px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

}


/* Text button */

.htm-text-button {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.8);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-text-button:hover {

  color: var(--htm-gold);

}

.htm-play-icon {

  width: 28px;

  height: 28px;

  border: 1px solid rgba(244,241,235,.45);

  border-radius: 50%;

  display: grid;

  place-items: center;

}

.htm-play-icon svg {

  width: 11px;

  height: 11px;

  fill: currentColor;

}


/* =========================================================
   SIDE LOCATIONS
   ========================================================= */

.htm-hero-side {

  position: absolute;

  right: 30px;

  top: 50%;

  transform:
    translateY(-50%)
    rotate(90deg);

  transform-origin: right center;

  display: flex;

  gap: 18px;

  color: rgba(244,241,235,.4);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

  z-index: 5;

}

.htm-hero-side span {

  white-space: nowrap;

}


/* =========================================================
   SCROLL
   ========================================================= */

.htm-scroll {

  position: absolute;

  bottom: 32px;

  left: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 13px;

  color: rgba(244,241,235,.5);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

}

.htm-scroll-line {

  width: 42px;

  height: 1px;

  overflow: hidden;

  background: rgba(244,241,235,.2);

}

.htm-scroll-line span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-gold);

  animation:
    htmScrollLine 2s
    ease-in-out
    infinite;

}

@keyframes htmScrollLine {

  0% {
    transform: translateX(-100%);
  }

  50% {
    transform: translateX(140%);
  }

  100% {
    transform: translateX(140%);
  }

}


/* =========================================================
   HERO COUNTER
   ========================================================= */

.htm-hero-number {

  position: absolute;

  bottom: 35px;

  right: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.55);

  font-size: 9px;

  letter-spacing: .15em;

}

.htm-hero-number i {

  width: 35px;

  height: 1px;

  background: var(--htm-gold);

}


/* =========================================================
   GENERAL ANIMATION
   ========================================================= */

@keyframes htmFadeUp {

  from {

    opacity: 0;

    transform: translateY(25px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .htm-header {

    grid-template-columns:
      1fr
      auto;

  }

  .htm-nav,
  .htm-header-cta {

    display: none;

  }

  .htm-menu {

    display: block;

  }

  .htm-hero-content {

    padding-left: 0;
    padding-right: 0;

  }

  .htm-hero-bottom {

    gap: 40px;

  }

  .htm-hero-description {

    max-width: 330px;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .htm-header {

    height: 76px;

    padding:
      0 20px;

  }

  .htm-logo {

    width: 135px;

  }

  .htm-menu {

    width: 44px;

    height: 44px;

  }

  .htm-hero {

    min-height: 760px;

    height: 100svh;

  }

  .htm-hero-media img {

    object-position:
      62% center;

    filter:
      saturate(.65)
      contrast(1.05)
      brightness(.58);

  }

  .htm-hero-overlay {

    background:

      linear-gradient(
        180deg,
        rgba(8,8,8,.72) 0%,
        rgba(8,8,8,.55) 35%,
        rgba(8,8,8,.88) 100%
      );

  }

  .htm-hero-content {

    width:
      calc(100% - 40px);

    padding:
      125px 0 110px;

    justify-content:
      center;

  }

  .htm-hero-kicker {

    margin-bottom: 24px;

    font-size: 8px;

    letter-spacing: .14em;

  }

  .htm-kicker-location {

    display: none;

  }

  .htm-hero-title {

    font-size:
      clamp(48px, 14.5vw, 82px);

    line-height: .87;

    letter-spacing: -.07em;

  }

  .htm-title-indent {

    padding-left: 22px;

  }

  .htm-hero-bottom {

    margin-top: 45px;

    display: block;

  }

  .htm-hero-description {

    max-width: 320px;

  }

  .htm-hero-description p {

    font-size: 13px;

    line-height: 1.7;

  }

  .htm-hero-actions {

    margin-top: 30px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 20px;

  }

  .htm-primary-button {

    padding:
      15px 15px 15px 18px;

  }

  .htm-hero-side {

    display: none;

  }

  .htm-grid-lines span:nth-child(2),
  .htm-grid-lines span:nth-child(3) {

    display: none;

  }

  .htm-grid-lines span:nth-child(1) {

    left: 10%;

  }

  .htm-grid-lines span:nth-child(4) {

    left: 90%;

  }

  .htm-scroll {

    left: 20px;
    bottom: 25px;

  }

  .htm-hero-number {

    right: 20px;
    bottom: 25px;

  }

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.htm-site a:focus-visible,
.htm-site button:focus-visible {

  outline:
    2px solid var(--htm-gold);

  outline-offset: 5px;

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .htm-site *,
  .htm-site *::before,
  .htm-site *::after {

    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;

  }

}


/* =========================================================
   ELEMENTOR SAFETY
   ========================================================= */

.elementor-widget-html {

  margin-bottom: 0 !important;

}


/* Mobile menu state — fixes the existing toggle behavior without adding objects */
@media (max-width: 1024px) {
  .htm-nav.htm-mobile-open {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 20px 20px;
    background: rgba(8,8,8,.96);
    border-bottom: 1px solid rgba(191,149,72,.18);
    box-shadow: 0 18px 40px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
  }

  .htm-nav.htm-mobile-open a {
    padding: 14px 4px;
    border-bottom: 1px solid rgba(244,241,235,.08);
  }

  .htm-nav.htm-mobile-open a:last-child {
    border-bottom: 0;
  }

  .htm-menu[aria-expanded="true"] span:first-child {
    transform: translateY(3px) rotate(45deg);
  }

  .htm-menu[aria-expanded="true"] span:last-child {
    transform: translateY(-3px) rotate(-45deg);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8687c2b *//* =========================================================
   VARIABLES
   ========================================================= */

.htm-site {
  --htm-black: #080808;
  --htm-black-soft: #111111;
  --htm-gold: #BF9548;
  --htm-gold-light: #D2AD65;
  --htm-charcoal: #545454;
  --htm-white: #F4F1EB;
  --htm-white-soft: rgba(244,241,235,.68);

  --htm-border: rgba(244,241,235,.15);

  --htm-max-width: 1440px;

  font-family:
    "Inter",
    "Helvetica Neue",
    Arial,
    sans-serif;

  background: var(--htm-black);
  color: var(--htm-white);

  position: relative;
  width: 100%;
  overflow: hidden;
}


/* =========================================================
   RESET
   ========================================================= */

.htm-site *,
.htm-site *::before,
.htm-site *::after {
  box-sizing: border-box;
}

.htm-site a {
  color: inherit;
  text-decoration: none;
}

.htm-site button {
  font-family: inherit;
}


/* =========================================================
   HEADER
   ========================================================= */

.htm-header {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  height: 92px;

  padding:
    0 clamp(24px, 4vw, 64px);

  display: grid;

  grid-template-columns:
    minmax(180px, 1fr)
    auto
    minmax(180px, 1fr);

  align-items: center;

  z-index: 1000;

  transition:
    height .6s cubic-bezier(.22,1,.36,1),
    background .6s ease,
    border-color .6s ease,
    backdrop-filter .6s ease;

  border-bottom: 1px solid transparent;
}


/* Header when scrolling */

.htm-header.is-scrolled {

  height: 74px;

  background: rgba(8,8,8,.78);

  backdrop-filter: blur(18px);

  border-color: rgba(191,149,72,.18);

}


/* =========================================================
   LOGO
   ========================================================= */

.htm-logo {

  display: flex;

  align-items: center;

  width: 170px;

  position: relative;

  z-index: 2;

}

.htm-logo img {

  width: 100%;

  height: auto;

  display: block;

}


/* =========================================================
   NAV
   ========================================================= */

.htm-nav {

  display: flex;

  align-items: center;

  gap: clamp(24px, 3vw, 48px);

}

.htm-nav a {

  position: relative;

  display: flex;

  align-items: center;

  gap: 7px;

  color: rgba(244,241,235,.72);

  font-size: 11px;

  font-weight: 500;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-nav a span {

  color: var(--htm-gold);

  font-size: 8px;

  opacity: .75;

}

.htm-nav a::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -7px;

  width: 0;

  height: 1px;

  background: var(--htm-gold);

  transition: width .4s cubic-bezier(.22,1,.36,1);

}

.htm-nav a:hover {

  color: var(--htm-white);

}

.htm-nav a:hover::after {

  width: 100%;

}


/* =========================================================
   HEADER CTA
   ========================================================= */

.htm-header-cta {

  justify-self: end;

  display: flex;

  align-items: center;

  gap: 14px;

  padding: 12px 17px;

  border: 1px solid rgba(191,149,72,.55);

  color: var(--htm-white);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    color .35s ease,
    border-color .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 24px rgba(0,0,0,.12);

}

.htm-header-cta svg {

  width: 16px;

  height: 16px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

  transition: transform .35s ease;

}

.htm-header-cta:hover {

  background: var(--htm-gold);

  border-color: var(--htm-gold);

  color: var(--htm-black);

}

.htm-header-cta:hover svg {

  transform: translateX(4px);

}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.htm-menu {

  display: none;

  justify-self: end;

  width: 48px;

  height: 48px;

  border: 1px solid rgba(191,149,72,.45);

  background: rgba(8,8,8,.7);

  cursor: pointer;

  padding: 0;

}

.htm-menu span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-white);

  margin: 5px auto;

  transition: transform .35s ease;

}


/* =========================================================
   HERO
   ========================================================= */

.htm-hero {

  position: relative;

  min-height: 100svh;

  height: max(760px, 100svh);

  overflow: hidden;

  isolation: isolate;

  background: var(--htm-black);

}


/* =========================================================
   HERO MEDIA
   ========================================================= */

.htm-hero-media {

  position: absolute;
  contain: paint;

  inset: 0;

  z-index: -3;

  overflow: hidden;

}

.htm-hero-media img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  filter:
    saturate(.72)
    contrast(1.08)
    brightness(.72);

  transform: translateZ(0) scale(1.06);
  will-change: transform;

  animation:
    htmHeroImage 18s
    cubic-bezier(.22,1,.36,1)
    infinite alternate;

}

@keyframes htmHeroImage {

  from {
    transform: scale(1.06);
  }

  to {
    transform: scale(1.13);
  }

}


/* =========================================================
   HERO OVERLAY
   ========================================================= */

.htm-hero-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      90deg,
      rgba(8,8,8,.96) 0%,
      rgba(8,8,8,.82) 28%,
      rgba(8,8,8,.32) 62%,
      rgba(8,8,8,.55) 100%
    );

}

.htm-hero-vignette {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      180deg,
      rgba(8,8,8,.7) 0%,
      transparent 25%,
      transparent 65%,
      rgba(8,8,8,.9) 100%
    );

}


/* =========================================================
   GRID LINES
   ========================================================= */

.htm-grid-lines {

  position: absolute;

  inset: 0;

  pointer-events: none;

  opacity: .18;

  z-index: -1;

}

.htm-grid-lines span {

  position: absolute;

  top: 0;

  bottom: 0;

  width: 1px;

  background: linear-gradient(
    to bottom,
    transparent,
    rgba(191,149,72,.45),
    transparent
  );

}

.htm-grid-lines span:nth-child(1) {
  left: 8%;
}

.htm-grid-lines span:nth-child(2) {
  left: 32%;
}

.htm-grid-lines span:nth-child(3) {
  left: 68%;
}

.htm-grid-lines span:nth-child(4) {
  left: 80%;
}

.htm-grid-lines span:nth-child(5) {
  left: 92%;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.htm-hero-content {

  position: relative;

  z-index: 5;

  width: min(
    calc(100% - 48px),
    var(--htm-max-width)
  );

  height: 100%;

  margin: 0 auto;

  padding:
    clamp(150px, 18vh, 210px)
    clamp(0px, 3vw, 48px)
    80px;

  display: flex;

  flex-direction: column;

  justify-content: center;

}


/* =========================================================
   KICKER
   ========================================================= */

.htm-hero-kicker {

  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 30px;

  color: var(--htm-white-soft);

  font-size: 10px;

  letter-spacing: .18em;

  text-transform: uppercase;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .15s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-kicker-line {

  width: 42px;

  height: 1px;

  background: var(--htm-gold);

}

.htm-kicker-location {

  margin-left: 14px;

  color: var(--htm-gold);

  opacity: .8;

}


/* =========================================================
   HERO TITLE
   ========================================================= */

.htm-hero-title {

  margin: 0;

  max-width: 1000px;

  font-size:
    clamp(60px, 9vw, 150px);

  line-height: .84;

  font-weight: 500;

  letter-spacing: -.065em;

  text-transform: uppercase;

}

.htm-title-line {

  display: block;

  overflow: hidden;

}

.htm-title-line > span {

  display: inline-block;

  transform: translateY(110%);

  animation:
    htmTitleReveal 1.15s
    cubic-bezier(.16,1,.3,1)
    forwards;

}

.htm-title-line:nth-child(1) > span {

  animation-delay: .25s;

}

.htm-title-line:nth-child(2) > span {

  animation-delay: .38s;

}

.htm-title-line:nth-child(3) > span {

  animation-delay: .51s;

}

.htm-title-indent {

  padding-left: clamp(25px, 7vw, 130px);

}

.htm-gold-text {

  color: var(--htm-gold);

}

@keyframes htmTitleReveal {

  to {
    transform: translateY(0);
  }

}


/* =========================================================
   HERO BOTTOM
   ========================================================= */

.htm-hero-bottom {

  margin-top: clamp(55px, 9vh, 90px);

  display: flex;

  align-items: flex-end;

  gap: 80px;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .75s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-hero-description {

  max-width: 400px;

}

.htm-hero-description p {

  margin: 0;

  color: rgba(244,241,235,.72);

  font-size: 14px;

  line-height: 1.8;

  font-weight: 300;

}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.htm-hero-actions {

  display: flex;

  align-items: center;

  gap: 28px;

}


/* Primary */

.htm-primary-button {

  display: inline-flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14);

  align-items: center;

  gap: 20px;

  padding: 17px 18px 17px 22px;

  background: var(--htm-gold);

  color: var(--htm-black);

  font-size: 10px;

  font-weight: 600;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;

}

.htm-primary-button:hover {

  background: var(--htm-gold-light);

  transform: translateY(-3px);

}

.htm-button-arrow {

  width: 31px;

  height: 31px;

  display: grid;

  place-items: center;

  background: rgba(8,8,8,.12);

}

.htm-button-arrow svg {

  width: 15px;

  height: 15px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

}


/* Text button */

.htm-text-button {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.8);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-text-button:hover {

  color: var(--htm-gold);

}

.htm-play-icon {

  width: 28px;

  height: 28px;

  border: 1px solid rgba(244,241,235,.45);

  border-radius: 50%;

  display: grid;

  place-items: center;

}

.htm-play-icon svg {

  width: 11px;

  height: 11px;

  fill: currentColor;

}


/* =========================================================
   SIDE LOCATIONS
   ========================================================= */

.htm-hero-side {

  position: absolute;

  right: 30px;

  top: 50%;

  transform:
    translateY(-50%)
    rotate(90deg);

  transform-origin: right center;

  display: flex;

  gap: 18px;

  color: rgba(244,241,235,.4);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

  z-index: 5;

}

.htm-hero-side span {

  white-space: nowrap;

}


/* =========================================================
   SCROLL
   ========================================================= */

.htm-scroll {

  position: absolute;

  bottom: 32px;

  left: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 13px;

  color: rgba(244,241,235,.5);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

}

.htm-scroll-line {

  width: 42px;

  height: 1px;

  overflow: hidden;

  background: rgba(244,241,235,.2);

}

.htm-scroll-line span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-gold);

  animation:
    htmScrollLine 2s
    ease-in-out
    infinite;

}

@keyframes htmScrollLine {

  0% {
    transform: translateX(-100%);
  }

  50% {
    transform: translateX(140%);
  }

  100% {
    transform: translateX(140%);
  }

}


/* =========================================================
   HERO COUNTER
   ========================================================= */

.htm-hero-number {

  position: absolute;

  bottom: 35px;

  right: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.55);

  font-size: 9px;

  letter-spacing: .15em;

}

.htm-hero-number i {

  width: 35px;

  height: 1px;

  background: var(--htm-gold);

}


/* =========================================================
   GENERAL ANIMATION
   ========================================================= */

@keyframes htmFadeUp {

  from {

    opacity: 0;

    transform: translateY(25px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .htm-header {

    grid-template-columns:
      1fr
      auto;

  }

  .htm-nav,
  .htm-header-cta {

    display: none;

  }

  .htm-menu {

    display: block;

  }

  .htm-hero-content {

    padding-left: 0;
    padding-right: 0;

  }

  .htm-hero-bottom {

    gap: 40px;

  }

  .htm-hero-description {

    max-width: 330px;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .htm-header {

    height: 76px;

    padding:
      0 20px;

  }

  .htm-logo {

    width: 135px;

  }

  .htm-menu {

    width: 44px;

    height: 44px;

  }

  .htm-hero {

    min-height: 760px;

    height: 100svh;

  }

  .htm-hero-media img {

    object-position:
      62% center;

    filter:
      saturate(.65)
      contrast(1.05)
      brightness(.58);

  }

  .htm-hero-overlay {

    background:

      linear-gradient(
        180deg,
        rgba(8,8,8,.72) 0%,
        rgba(8,8,8,.55) 35%,
        rgba(8,8,8,.88) 100%
      );

  }

  .htm-hero-content {

    width:
      calc(100% - 40px);

    padding:
      125px 0 110px;

    justify-content:
      center;

  }

  .htm-hero-kicker {

    margin-bottom: 24px;

    font-size: 8px;

    letter-spacing: .14em;

  }

  .htm-kicker-location {

    display: none;

  }

  .htm-hero-title {

    font-size:
      clamp(48px, 14.5vw, 82px);

    line-height: .87;

    letter-spacing: -.07em;

  }

  .htm-title-indent {

    padding-left: 22px;

  }

  .htm-hero-bottom {

    margin-top: 45px;

    display: block;

  }

  .htm-hero-description {

    max-width: 320px;

  }

  .htm-hero-description p {

    font-size: 13px;

    line-height: 1.7;

  }

  .htm-hero-actions {

    margin-top: 30px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 20px;

  }

  .htm-primary-button {

    padding:
      15px 15px 15px 18px;

  }

  .htm-hero-side {

    display: none;

  }

  .htm-grid-lines span:nth-child(2),
  .htm-grid-lines span:nth-child(3) {

    display: none;

  }

  .htm-grid-lines span:nth-child(1) {

    left: 10%;

  }

  .htm-grid-lines span:nth-child(4) {

    left: 90%;

  }

  .htm-scroll {

    left: 20px;
    bottom: 25px;

  }

  .htm-hero-number {

    right: 20px;
    bottom: 25px;

  }

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.htm-site a:focus-visible,
.htm-site button:focus-visible {

  outline:
    2px solid var(--htm-gold);

  outline-offset: 5px;

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .htm-site *,
  .htm-site *::before,
  .htm-site *::after {

    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;

  }

}


/* =========================================================
   ELEMENTOR SAFETY
   ========================================================= */

.elementor-widget-html {

  margin-bottom: 0 !important;

}


/* Mobile menu state — fixes the existing toggle behavior without adding objects */
@media (max-width: 1024px) {
  .htm-nav.htm-mobile-open {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 20px 20px;
    background: rgba(8,8,8,.96);
    border-bottom: 1px solid rgba(191,149,72,.18);
    box-shadow: 0 18px 40px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
  }

  .htm-nav.htm-mobile-open a {
    padding: 14px 4px;
    border-bottom: 1px solid rgba(244,241,235,.08);
  }

  .htm-nav.htm-mobile-open a:last-child {
    border-bottom: 0;
  }

  .htm-menu[aria-expanded="true"] span:first-child {
    transform: translateY(3px) rotate(45deg);
  }

  .htm-menu[aria-expanded="true"] span:last-child {
    transform: translateY(-3px) rotate(-45deg);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-80aaccc *//* =========================================================
   VARIABLES
   ========================================================= */

.htm-site {
  --htm-black: #080808;
  --htm-black-soft: #111111;
  --htm-gold: #BF9548;
  --htm-gold-light: #D2AD65;
  --htm-charcoal: #545454;
  --htm-white: #F4F1EB;
  --htm-white-soft: rgba(244,241,235,.68);

  --htm-border: rgba(244,241,235,.15);

  --htm-max-width: 1440px;

  font-family:
    "Inter",
    "Helvetica Neue",
    Arial,
    sans-serif;

  background: var(--htm-black);
  color: var(--htm-white);

  position: relative;
  width: 100%;
  overflow: hidden;
}


/* =========================================================
   RESET
   ========================================================= */

.htm-site *,
.htm-site *::before,
.htm-site *::after {
  box-sizing: border-box;
}

.htm-site a {
  color: inherit;
  text-decoration: none;
}

.htm-site button {
  font-family: inherit;
}


/* =========================================================
   HEADER
   ========================================================= */

.htm-header {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  height: 92px;

  padding:
    0 clamp(24px, 4vw, 64px);

  display: grid;

  grid-template-columns:
    minmax(180px, 1fr)
    auto
    minmax(180px, 1fr);

  align-items: center;

  z-index: 1000;

  transition:
    height .6s cubic-bezier(.22,1,.36,1),
    background .6s ease,
    border-color .6s ease,
    backdrop-filter .6s ease;

  border-bottom: 1px solid transparent;
}


/* Header when scrolling */

.htm-header.is-scrolled {

  height: 74px;

  background: rgba(8,8,8,.78);

  backdrop-filter: blur(18px);

  border-color: rgba(191,149,72,.18);

}


/* =========================================================
   LOGO
   ========================================================= */

.htm-logo {

  display: flex;

  align-items: center;

  width: 170px;

  position: relative;

  z-index: 2;

}

.htm-logo img {

  width: 100%;

  height: auto;

  display: block;

}


/* =========================================================
   NAV
   ========================================================= */

.htm-nav {

  display: flex;

  align-items: center;

  gap: clamp(24px, 3vw, 48px);

}

.htm-nav a {

  position: relative;

  display: flex;

  align-items: center;

  gap: 7px;

  color: rgba(244,241,235,.72);

  font-size: 11px;

  font-weight: 500;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-nav a span {

  color: var(--htm-gold);

  font-size: 8px;

  opacity: .75;

}

.htm-nav a::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -7px;

  width: 0;

  height: 1px;

  background: var(--htm-gold);

  transition: width .4s cubic-bezier(.22,1,.36,1);

}

.htm-nav a:hover {

  color: var(--htm-white);

}

.htm-nav a:hover::after {

  width: 100%;

}


/* =========================================================
   HEADER CTA
   ========================================================= */

.htm-header-cta {

  justify-self: end;

  display: flex;

  align-items: center;

  gap: 14px;

  padding: 12px 17px;

  border: 1px solid rgba(191,149,72,.55);

  color: var(--htm-white);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    color .35s ease,
    border-color .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 24px rgba(0,0,0,.12);

}

.htm-header-cta svg {

  width: 16px;

  height: 16px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

  transition: transform .35s ease;

}

.htm-header-cta:hover {

  background: var(--htm-gold);

  border-color: var(--htm-gold);

  color: var(--htm-black);

}

.htm-header-cta:hover svg {

  transform: translateX(4px);

}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.htm-menu {

  display: none;

  justify-self: end;

  width: 48px;

  height: 48px;

  border: 1px solid rgba(191,149,72,.45);

  background: rgba(8,8,8,.7);

  cursor: pointer;

  padding: 0;

}

.htm-menu span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-white);

  margin: 5px auto;

  transition: transform .35s ease;

}


/* =========================================================
   HERO
   ========================================================= */

.htm-hero {

  position: relative;

  min-height: 100svh;

  height: max(760px, 100svh);

  overflow: hidden;

  isolation: isolate;

  background: var(--htm-black);

}


/* =========================================================
   HERO MEDIA
   ========================================================= */

.htm-hero-media {

  position: absolute;
  contain: paint;

  inset: 0;

  z-index: -3;

  overflow: hidden;

}

.htm-hero-media img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  filter:
    saturate(.72)
    contrast(1.08)
    brightness(.72);

  transform: translateZ(0) scale(1.06);
  will-change: transform;

  animation:
    htmHeroImage 18s
    cubic-bezier(.22,1,.36,1)
    infinite alternate;

}

@keyframes htmHeroImage {

  from {
    transform: scale(1.06);
  }

  to {
    transform: scale(1.13);
  }

}


/* =========================================================
   HERO OVERLAY
   ========================================================= */

.htm-hero-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      90deg,
      rgba(8,8,8,.96) 0%,
      rgba(8,8,8,.82) 28%,
      rgba(8,8,8,.32) 62%,
      rgba(8,8,8,.55) 100%
    );

}

.htm-hero-vignette {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      180deg,
      rgba(8,8,8,.7) 0%,
      transparent 25%,
      transparent 65%,
      rgba(8,8,8,.9) 100%
    );

}


/* =========================================================
   GRID LINES
   ========================================================= */

.htm-grid-lines {

  position: absolute;

  inset: 0;

  pointer-events: none;

  opacity: .18;

  z-index: -1;

}

.htm-grid-lines span {

  position: absolute;

  top: 0;

  bottom: 0;

  width: 1px;

  background: linear-gradient(
    to bottom,
    transparent,
    rgba(191,149,72,.45),
    transparent
  );

}

.htm-grid-lines span:nth-child(1) {
  left: 8%;
}

.htm-grid-lines span:nth-child(2) {
  left: 32%;
}

.htm-grid-lines span:nth-child(3) {
  left: 68%;
}

.htm-grid-lines span:nth-child(4) {
  left: 80%;
}

.htm-grid-lines span:nth-child(5) {
  left: 92%;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.htm-hero-content {

  position: relative;

  z-index: 5;

  width: min(
    calc(100% - 48px),
    var(--htm-max-width)
  );

  height: 100%;

  margin: 0 auto;

  padding:
    clamp(150px, 18vh, 210px)
    clamp(0px, 3vw, 48px)
    80px;

  display: flex;

  flex-direction: column;

  justify-content: center;

}


/* =========================================================
   KICKER
   ========================================================= */

.htm-hero-kicker {

  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 30px;

  color: var(--htm-white-soft);

  font-size: 10px;

  letter-spacing: .18em;

  text-transform: uppercase;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .15s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-kicker-line {

  width: 42px;

  height: 1px;

  background: var(--htm-gold);

}

.htm-kicker-location {

  margin-left: 14px;

  color: var(--htm-gold);

  opacity: .8;

}


/* =========================================================
   HERO TITLE
   ========================================================= */

.htm-hero-title {

  margin: 0;

  max-width: 1000px;

  font-size:
    clamp(60px, 9vw, 150px);

  line-height: .84;

  font-weight: 500;

  letter-spacing: -.065em;

  text-transform: uppercase;

}

.htm-title-line {

  display: block;

  overflow: hidden;

}

.htm-title-line > span {

  display: inline-block;

  transform: translateY(110%);

  animation:
    htmTitleReveal 1.15s
    cubic-bezier(.16,1,.3,1)
    forwards;

}

.htm-title-line:nth-child(1) > span {

  animation-delay: .25s;

}

.htm-title-line:nth-child(2) > span {

  animation-delay: .38s;

}

.htm-title-line:nth-child(3) > span {

  animation-delay: .51s;

}

.htm-title-indent {

  padding-left: clamp(25px, 7vw, 130px);

}

.htm-gold-text {

  color: var(--htm-gold);

}

@keyframes htmTitleReveal {

  to {
    transform: translateY(0);
  }

}


/* =========================================================
   HERO BOTTOM
   ========================================================= */

.htm-hero-bottom {

  margin-top: clamp(55px, 9vh, 90px);

  display: flex;

  align-items: flex-end;

  gap: 80px;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .75s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-hero-description {

  max-width: 400px;

}

.htm-hero-description p {

  margin: 0;

  color: rgba(244,241,235,.72);

  font-size: 14px;

  line-height: 1.8;

  font-weight: 300;

}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.htm-hero-actions {

  display: flex;

  align-items: center;

  gap: 28px;

}


/* Primary */

.htm-primary-button {

  display: inline-flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14);

  align-items: center;

  gap: 20px;

  padding: 17px 18px 17px 22px;

  background: var(--htm-gold);

  color: var(--htm-black);

  font-size: 10px;

  font-weight: 600;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;

}

.htm-primary-button:hover {

  background: var(--htm-gold-light);

  transform: translateY(-3px);

}

.htm-button-arrow {

  width: 31px;

  height: 31px;

  display: grid;

  place-items: center;

  background: rgba(8,8,8,.12);

}

.htm-button-arrow svg {

  width: 15px;

  height: 15px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

}


/* Text button */

.htm-text-button {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.8);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-text-button:hover {

  color: var(--htm-gold);

}

.htm-play-icon {

  width: 28px;

  height: 28px;

  border: 1px solid rgba(244,241,235,.45);

  border-radius: 50%;

  display: grid;

  place-items: center;

}

.htm-play-icon svg {

  width: 11px;

  height: 11px;

  fill: currentColor;

}


/* =========================================================
   SIDE LOCATIONS
   ========================================================= */

.htm-hero-side {

  position: absolute;

  right: 30px;

  top: 50%;

  transform:
    translateY(-50%)
    rotate(90deg);

  transform-origin: right center;

  display: flex;

  gap: 18px;

  color: rgba(244,241,235,.4);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

  z-index: 5;

}

.htm-hero-side span {

  white-space: nowrap;

}


/* =========================================================
   SCROLL
   ========================================================= */

.htm-scroll {

  position: absolute;

  bottom: 32px;

  left: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 13px;

  color: rgba(244,241,235,.5);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

}

.htm-scroll-line {

  width: 42px;

  height: 1px;

  overflow: hidden;

  background: rgba(244,241,235,.2);

}

.htm-scroll-line span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-gold);

  animation:
    htmScrollLine 2s
    ease-in-out
    infinite;

}

@keyframes htmScrollLine {

  0% {
    transform: translateX(-100%);
  }

  50% {
    transform: translateX(140%);
  }

  100% {
    transform: translateX(140%);
  }

}


/* =========================================================
   HERO COUNTER
   ========================================================= */

.htm-hero-number {

  position: absolute;

  bottom: 35px;

  right: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.55);

  font-size: 9px;

  letter-spacing: .15em;

}

.htm-hero-number i {

  width: 35px;

  height: 1px;

  background: var(--htm-gold);

}


/* =========================================================
   GENERAL ANIMATION
   ========================================================= */

@keyframes htmFadeUp {

  from {

    opacity: 0;

    transform: translateY(25px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .htm-header {

    grid-template-columns:
      1fr
      auto;

  }

  .htm-nav,
  .htm-header-cta {

    display: none;

  }

  .htm-menu {

    display: block;

  }

  .htm-hero-content {

    padding-left: 0;
    padding-right: 0;

  }

  .htm-hero-bottom {

    gap: 40px;

  }

  .htm-hero-description {

    max-width: 330px;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .htm-header {

    height: 76px;

    padding:
      0 20px;

  }

  .htm-logo {

    width: 135px;

  }

  .htm-menu {

    width: 44px;

    height: 44px;

  }

  .htm-hero {

    min-height: 760px;

    height: 100svh;

  }

  .htm-hero-media img {

    object-position:
      62% center;

    filter:
      saturate(.65)
      contrast(1.05)
      brightness(.58);

  }

  .htm-hero-overlay {

    background:

      linear-gradient(
        180deg,
        rgba(8,8,8,.72) 0%,
        rgba(8,8,8,.55) 35%,
        rgba(8,8,8,.88) 100%
      );

  }

  .htm-hero-content {

    width:
      calc(100% - 40px);

    padding:
      125px 0 110px;

    justify-content:
      center;

  }

  .htm-hero-kicker {

    margin-bottom: 24px;

    font-size: 8px;

    letter-spacing: .14em;

  }

  .htm-kicker-location {

    display: none;

  }

  .htm-hero-title {

    font-size:
      clamp(48px, 14.5vw, 82px);

    line-height: .87;

    letter-spacing: -.07em;

  }

  .htm-title-indent {

    padding-left: 22px;

  }

  .htm-hero-bottom {

    margin-top: 45px;

    display: block;

  }

  .htm-hero-description {

    max-width: 320px;

  }

  .htm-hero-description p {

    font-size: 13px;

    line-height: 1.7;

  }

  .htm-hero-actions {

    margin-top: 30px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 20px;

  }

  .htm-primary-button {

    padding:
      15px 15px 15px 18px;

  }

  .htm-hero-side {

    display: none;

  }

  .htm-grid-lines span:nth-child(2),
  .htm-grid-lines span:nth-child(3) {

    display: none;

  }

  .htm-grid-lines span:nth-child(1) {

    left: 10%;

  }

  .htm-grid-lines span:nth-child(4) {

    left: 90%;

  }

  .htm-scroll {

    left: 20px;
    bottom: 25px;

  }

  .htm-hero-number {

    right: 20px;
    bottom: 25px;

  }

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.htm-site a:focus-visible,
.htm-site button:focus-visible {

  outline:
    2px solid var(--htm-gold);

  outline-offset: 5px;

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .htm-site *,
  .htm-site *::before,
  .htm-site *::after {

    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;

  }

}


/* =========================================================
   ELEMENTOR SAFETY
   ========================================================= */

.elementor-widget-html {

  margin-bottom: 0 !important;

}


/* Mobile menu state — fixes the existing toggle behavior without adding objects */
@media (max-width: 1024px) {
  .htm-nav.htm-mobile-open {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 20px 20px;
    background: rgba(8,8,8,.96);
    border-bottom: 1px solid rgba(191,149,72,.18);
    box-shadow: 0 18px 40px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
  }

  .htm-nav.htm-mobile-open a {
    padding: 14px 4px;
    border-bottom: 1px solid rgba(244,241,235,.08);
  }

  .htm-nav.htm-mobile-open a:last-child {
    border-bottom: 0;
  }

  .htm-menu[aria-expanded="true"] span:first-child {
    transform: translateY(3px) rotate(45deg);
  }

  .htm-menu[aria-expanded="true"] span:last-child {
    transform: translateY(-3px) rotate(-45deg);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d9d0a99 *//* =========================================================
   VARIABLES
   ========================================================= */

.htm-site {
  --htm-black: #080808;
  --htm-black-soft: #111111;
  --htm-gold: #BF9548;
  --htm-gold-light: #D2AD65;
  --htm-charcoal: #545454;
  --htm-white: #F4F1EB;
  --htm-white-soft: rgba(244,241,235,.68);

  --htm-border: rgba(244,241,235,.15);

  --htm-max-width: 1440px;

  font-family:
    "Inter",
    "Helvetica Neue",
    Arial,
    sans-serif;

  background: var(--htm-black);
  color: var(--htm-white);

  position: relative;
  width: 100%;
  overflow: hidden;
}


/* =========================================================
   RESET
   ========================================================= */

.htm-site *,
.htm-site *::before,
.htm-site *::after {
  box-sizing: border-box;
}

.htm-site a {
  color: inherit;
  text-decoration: none;
}

.htm-site button {
  font-family: inherit;
}


/* =========================================================
   HEADER
   ========================================================= */

.htm-header {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  height: 92px;

  padding:
    0 clamp(24px, 4vw, 64px);

  display: grid;

  grid-template-columns:
    minmax(180px, 1fr)
    auto
    minmax(180px, 1fr);

  align-items: center;

  z-index: 1000;

  transition:
    height .6s cubic-bezier(.22,1,.36,1),
    background .6s ease,
    border-color .6s ease,
    backdrop-filter .6s ease;

  border-bottom: 1px solid transparent;
}


/* Header when scrolling */

.htm-header.is-scrolled {

  height: 74px;

  background: rgba(8,8,8,.78);

  backdrop-filter: blur(18px);

  border-color: rgba(191,149,72,.18);

}


/* =========================================================
   LOGO
   ========================================================= */

.htm-logo {

  display: flex;

  align-items: center;

  width: 170px;

  position: relative;

  z-index: 2;

}

.htm-logo img {

  width: 100%;

  height: auto;

  display: block;

}


/* =========================================================
   NAV
   ========================================================= */

.htm-nav {

  display: flex;

  align-items: center;

  gap: clamp(24px, 3vw, 48px);

}

.htm-nav a {

  position: relative;

  display: flex;

  align-items: center;

  gap: 7px;

  color: rgba(244,241,235,.72);

  font-size: 11px;

  font-weight: 500;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-nav a span {

  color: var(--htm-gold);

  font-size: 8px;

  opacity: .75;

}

.htm-nav a::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -7px;

  width: 0;

  height: 1px;

  background: var(--htm-gold);

  transition: width .4s cubic-bezier(.22,1,.36,1);

}

.htm-nav a:hover {

  color: var(--htm-white);

}

.htm-nav a:hover::after {

  width: 100%;

}


/* =========================================================
   HEADER CTA
   ========================================================= */

.htm-header-cta {

  justify-self: end;

  display: flex;

  align-items: center;

  gap: 14px;

  padding: 12px 17px;

  border: 1px solid rgba(191,149,72,.55);

  color: var(--htm-white);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    color .35s ease,
    border-color .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 24px rgba(0,0,0,.12);

}

.htm-header-cta svg {

  width: 16px;

  height: 16px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

  transition: transform .35s ease;

}

.htm-header-cta:hover {

  background: var(--htm-gold);

  border-color: var(--htm-gold);

  color: var(--htm-black);

}

.htm-header-cta:hover svg {

  transform: translateX(4px);

}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.htm-menu {

  display: none;

  justify-self: end;

  width: 48px;

  height: 48px;

  border: 1px solid rgba(191,149,72,.45);

  background: rgba(8,8,8,.7);

  cursor: pointer;

  padding: 0;

}

.htm-menu span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-white);

  margin: 5px auto;

  transition: transform .35s ease;

}


/* =========================================================
   HERO
   ========================================================= */

.htm-hero {

  position: relative;

  min-height: 100svh;

  height: max(760px, 100svh);

  overflow: hidden;

  isolation: isolate;

  background: var(--htm-black);

}


/* =========================================================
   HERO MEDIA
   ========================================================= */

.htm-hero-media {

  position: absolute;
  contain: paint;

  inset: 0;

  z-index: -3;

  overflow: hidden;

}

.htm-hero-media img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  filter:
    saturate(.72)
    contrast(1.08)
    brightness(.72);

  transform: translateZ(0) scale(1.06);
  will-change: transform;

  animation:
    htmHeroImage 18s
    cubic-bezier(.22,1,.36,1)
    infinite alternate;

}

@keyframes htmHeroImage {

  from {
    transform: scale(1.06);
  }

  to {
    transform: scale(1.13);
  }

}


/* =========================================================
   HERO OVERLAY
   ========================================================= */

.htm-hero-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      90deg,
      rgba(8,8,8,.96) 0%,
      rgba(8,8,8,.82) 28%,
      rgba(8,8,8,.32) 62%,
      rgba(8,8,8,.55) 100%
    );

}

.htm-hero-vignette {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      180deg,
      rgba(8,8,8,.7) 0%,
      transparent 25%,
      transparent 65%,
      rgba(8,8,8,.9) 100%
    );

}


/* =========================================================
   GRID LINES
   ========================================================= */

.htm-grid-lines {

  position: absolute;

  inset: 0;

  pointer-events: none;

  opacity: .18;

  z-index: -1;

}

.htm-grid-lines span {

  position: absolute;

  top: 0;

  bottom: 0;

  width: 1px;

  background: linear-gradient(
    to bottom,
    transparent,
    rgba(191,149,72,.45),
    transparent
  );

}

.htm-grid-lines span:nth-child(1) {
  left: 8%;
}

.htm-grid-lines span:nth-child(2) {
  left: 32%;
}

.htm-grid-lines span:nth-child(3) {
  left: 68%;
}

.htm-grid-lines span:nth-child(4) {
  left: 80%;
}

.htm-grid-lines span:nth-child(5) {
  left: 92%;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.htm-hero-content {

  position: relative;

  z-index: 5;

  width: min(
    calc(100% - 48px),
    var(--htm-max-width)
  );

  height: 100%;

  margin: 0 auto;

  padding:
    clamp(150px, 18vh, 210px)
    clamp(0px, 3vw, 48px)
    80px;

  display: flex;

  flex-direction: column;

  justify-content: center;

}


/* =========================================================
   KICKER
   ========================================================= */

.htm-hero-kicker {

  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 30px;

  color: var(--htm-white-soft);

  font-size: 10px;

  letter-spacing: .18em;

  text-transform: uppercase;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .15s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-kicker-line {

  width: 42px;

  height: 1px;

  background: var(--htm-gold);

}

.htm-kicker-location {

  margin-left: 14px;

  color: var(--htm-gold);

  opacity: .8;

}


/* =========================================================
   HERO TITLE
   ========================================================= */

.htm-hero-title {

  margin: 0;

  max-width: 1000px;

  font-size:
    clamp(60px, 9vw, 150px);

  line-height: .84;

  font-weight: 500;

  letter-spacing: -.065em;

  text-transform: uppercase;

}

.htm-title-line {

  display: block;

  overflow: hidden;

}

.htm-title-line > span {

  display: inline-block;

  transform: translateY(110%);

  animation:
    htmTitleReveal 1.15s
    cubic-bezier(.16,1,.3,1)
    forwards;

}

.htm-title-line:nth-child(1) > span {

  animation-delay: .25s;

}

.htm-title-line:nth-child(2) > span {

  animation-delay: .38s;

}

.htm-title-line:nth-child(3) > span {

  animation-delay: .51s;

}

.htm-title-indent {

  padding-left: clamp(25px, 7vw, 130px);

}

.htm-gold-text {

  color: var(--htm-gold);

}

@keyframes htmTitleReveal {

  to {
    transform: translateY(0);
  }

}


/* =========================================================
   HERO BOTTOM
   ========================================================= */

.htm-hero-bottom {

  margin-top: clamp(55px, 9vh, 90px);

  display: flex;

  align-items: flex-end;

  gap: 80px;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .75s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-hero-description {

  max-width: 400px;

}

.htm-hero-description p {

  margin: 0;

  color: rgba(244,241,235,.72);

  font-size: 14px;

  line-height: 1.8;

  font-weight: 300;

}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.htm-hero-actions {

  display: flex;

  align-items: center;

  gap: 28px;

}


/* Primary */

.htm-primary-button {

  display: inline-flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14);

  align-items: center;

  gap: 20px;

  padding: 17px 18px 17px 22px;

  background: var(--htm-gold);

  color: var(--htm-black);

  font-size: 10px;

  font-weight: 600;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;

}

.htm-primary-button:hover {

  background: var(--htm-gold-light);

  transform: translateY(-3px);

}

.htm-button-arrow {

  width: 31px;

  height: 31px;

  display: grid;

  place-items: center;

  background: rgba(8,8,8,.12);

}

.htm-button-arrow svg {

  width: 15px;

  height: 15px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

}


/* Text button */

.htm-text-button {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.8);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-text-button:hover {

  color: var(--htm-gold);

}

.htm-play-icon {

  width: 28px;

  height: 28px;

  border: 1px solid rgba(244,241,235,.45);

  border-radius: 50%;

  display: grid;

  place-items: center;

}

.htm-play-icon svg {

  width: 11px;

  height: 11px;

  fill: currentColor;

}


/* =========================================================
   SIDE LOCATIONS
   ========================================================= */

.htm-hero-side {

  position: absolute;

  right: 30px;

  top: 50%;

  transform:
    translateY(-50%)
    rotate(90deg);

  transform-origin: right center;

  display: flex;

  gap: 18px;

  color: rgba(244,241,235,.4);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

  z-index: 5;

}

.htm-hero-side span {

  white-space: nowrap;

}


/* =========================================================
   SCROLL
   ========================================================= */

.htm-scroll {

  position: absolute;

  bottom: 32px;

  left: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 13px;

  color: rgba(244,241,235,.5);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

}

.htm-scroll-line {

  width: 42px;

  height: 1px;

  overflow: hidden;

  background: rgba(244,241,235,.2);

}

.htm-scroll-line span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-gold);

  animation:
    htmScrollLine 2s
    ease-in-out
    infinite;

}

@keyframes htmScrollLine {

  0% {
    transform: translateX(-100%);
  }

  50% {
    transform: translateX(140%);
  }

  100% {
    transform: translateX(140%);
  }

}


/* =========================================================
   HERO COUNTER
   ========================================================= */

.htm-hero-number {

  position: absolute;

  bottom: 35px;

  right: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.55);

  font-size: 9px;

  letter-spacing: .15em;

}

.htm-hero-number i {

  width: 35px;

  height: 1px;

  background: var(--htm-gold);

}


/* =========================================================
   GENERAL ANIMATION
   ========================================================= */

@keyframes htmFadeUp {

  from {

    opacity: 0;

    transform: translateY(25px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .htm-header {

    grid-template-columns:
      1fr
      auto;

  }

  .htm-nav,
  .htm-header-cta {

    display: none;

  }

  .htm-menu {

    display: block;

  }

  .htm-hero-content {

    padding-left: 0;
    padding-right: 0;

  }

  .htm-hero-bottom {

    gap: 40px;

  }

  .htm-hero-description {

    max-width: 330px;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .htm-header {

    height: 76px;

    padding:
      0 20px;

  }

  .htm-logo {

    width: 135px;

  }

  .htm-menu {

    width: 44px;

    height: 44px;

  }

  .htm-hero {

    min-height: 760px;

    height: 100svh;

  }

  .htm-hero-media img {

    object-position:
      62% center;

    filter:
      saturate(.65)
      contrast(1.05)
      brightness(.58);

  }

  .htm-hero-overlay {

    background:

      linear-gradient(
        180deg,
        rgba(8,8,8,.72) 0%,
        rgba(8,8,8,.55) 35%,
        rgba(8,8,8,.88) 100%
      );

  }

  .htm-hero-content {

    width:
      calc(100% - 40px);

    padding:
      125px 0 110px;

    justify-content:
      center;

  }

  .htm-hero-kicker {

    margin-bottom: 24px;

    font-size: 8px;

    letter-spacing: .14em;

  }

  .htm-kicker-location {

    display: none;

  }

  .htm-hero-title {

    font-size:
      clamp(48px, 14.5vw, 82px);

    line-height: .87;

    letter-spacing: -.07em;

  }

  .htm-title-indent {

    padding-left: 22px;

  }

  .htm-hero-bottom {

    margin-top: 45px;

    display: block;

  }

  .htm-hero-description {

    max-width: 320px;

  }

  .htm-hero-description p {

    font-size: 13px;

    line-height: 1.7;

  }

  .htm-hero-actions {

    margin-top: 30px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 20px;

  }

  .htm-primary-button {

    padding:
      15px 15px 15px 18px;

  }

  .htm-hero-side {

    display: none;

  }

  .htm-grid-lines span:nth-child(2),
  .htm-grid-lines span:nth-child(3) {

    display: none;

  }

  .htm-grid-lines span:nth-child(1) {

    left: 10%;

  }

  .htm-grid-lines span:nth-child(4) {

    left: 90%;

  }

  .htm-scroll {

    left: 20px;
    bottom: 25px;

  }

  .htm-hero-number {

    right: 20px;
    bottom: 25px;

  }

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.htm-site a:focus-visible,
.htm-site button:focus-visible {

  outline:
    2px solid var(--htm-gold);

  outline-offset: 5px;

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .htm-site *,
  .htm-site *::before,
  .htm-site *::after {

    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;

  }

}


/* =========================================================
   ELEMENTOR SAFETY
   ========================================================= */

.elementor-widget-html {

  margin-bottom: 0 !important;

}


/* Mobile menu state — fixes the existing toggle behavior without adding objects */
@media (max-width: 1024px) {
  .htm-nav.htm-mobile-open {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 20px 20px;
    background: rgba(8,8,8,.96);
    border-bottom: 1px solid rgba(191,149,72,.18);
    box-shadow: 0 18px 40px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
  }

  .htm-nav.htm-mobile-open a {
    padding: 14px 4px;
    border-bottom: 1px solid rgba(244,241,235,.08);
  }

  .htm-nav.htm-mobile-open a:last-child {
    border-bottom: 0;
  }

  .htm-menu[aria-expanded="true"] span:first-child {
    transform: translateY(3px) rotate(45deg);
  }

  .htm-menu[aria-expanded="true"] span:last-child {
    transform: translateY(-3px) rotate(-45deg);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f31d5e7 *//* =========================================================
   VARIABLES
   ========================================================= */

.htm-site {
  --htm-black: #080808;
  --htm-black-soft: #111111;
  --htm-gold: #BF9548;
  --htm-gold-light: #D2AD65;
  --htm-charcoal: #545454;
  --htm-white: #F4F1EB;
  --htm-white-soft: rgba(244,241,235,.68);

  --htm-border: rgba(244,241,235,.15);

  --htm-max-width: 1440px;

  font-family:
    "Inter",
    "Helvetica Neue",
    Arial,
    sans-serif;

  background: var(--htm-black);
  color: var(--htm-white);

  position: relative;
  width: 100%;
  overflow: hidden;
}


/* =========================================================
   RESET
   ========================================================= */

.htm-site *,
.htm-site *::before,
.htm-site *::after {
  box-sizing: border-box;
}

.htm-site a {
  color: inherit;
  text-decoration: none;
}

.htm-site button {
  font-family: inherit;
}


/* =========================================================
   HEADER
   ========================================================= */

.htm-header {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  height: 92px;

  padding:
    0 clamp(24px, 4vw, 64px);

  display: grid;

  grid-template-columns:
    minmax(180px, 1fr)
    auto
    minmax(180px, 1fr);

  align-items: center;

  z-index: 1000;

  transition:
    height .6s cubic-bezier(.22,1,.36,1),
    background .6s ease,
    border-color .6s ease,
    backdrop-filter .6s ease;

  border-bottom: 1px solid transparent;
}


/* Header when scrolling */

.htm-header.is-scrolled {

  height: 74px;

  background: rgba(8,8,8,.78);

  backdrop-filter: blur(18px);

  border-color: rgba(191,149,72,.18);

}


/* =========================================================
   LOGO
   ========================================================= */

.htm-logo {

  display: flex;

  align-items: center;

  width: 170px;

  position: relative;

  z-index: 2;

}

.htm-logo img {

  width: 100%;

  height: auto;

  display: block;

}


/* =========================================================
   NAV
   ========================================================= */

.htm-nav {

  display: flex;

  align-items: center;

  gap: clamp(24px, 3vw, 48px);

}

.htm-nav a {

  position: relative;

  display: flex;

  align-items: center;

  gap: 7px;

  color: rgba(244,241,235,.72);

  font-size: 11px;

  font-weight: 500;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-nav a span {

  color: var(--htm-gold);

  font-size: 8px;

  opacity: .75;

}

.htm-nav a::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -7px;

  width: 0;

  height: 1px;

  background: var(--htm-gold);

  transition: width .4s cubic-bezier(.22,1,.36,1);

}

.htm-nav a:hover {

  color: var(--htm-white);

}

.htm-nav a:hover::after {

  width: 100%;

}


/* =========================================================
   HEADER CTA
   ========================================================= */

.htm-header-cta {

  justify-self: end;

  display: flex;

  align-items: center;

  gap: 14px;

  padding: 12px 17px;

  border: 1px solid rgba(191,149,72,.55);

  color: var(--htm-white);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    color .35s ease,
    border-color .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 24px rgba(0,0,0,.12);

}

.htm-header-cta svg {

  width: 16px;

  height: 16px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

  transition: transform .35s ease;

}

.htm-header-cta:hover {

  background: var(--htm-gold);

  border-color: var(--htm-gold);

  color: var(--htm-black);

}

.htm-header-cta:hover svg {

  transform: translateX(4px);

}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.htm-menu {

  display: none;

  justify-self: end;

  width: 48px;

  height: 48px;

  border: 1px solid rgba(191,149,72,.45);

  background: rgba(8,8,8,.7);

  cursor: pointer;

  padding: 0;

}

.htm-menu span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-white);

  margin: 5px auto;

  transition: transform .35s ease;

}


/* =========================================================
   HERO
   ========================================================= */

.htm-hero {

  position: relative;

  min-height: 100svh;

  height: max(760px, 100svh);

  overflow: hidden;

  isolation: isolate;

  background: var(--htm-black);

}


/* =========================================================
   HERO MEDIA
   ========================================================= */

.htm-hero-media {

  position: absolute;
  contain: paint;

  inset: 0;

  z-index: -3;

  overflow: hidden;

}

.htm-hero-media img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  filter:
    saturate(.72)
    contrast(1.08)
    brightness(.72);

  transform: translateZ(0) scale(1.06);
  will-change: transform;

  animation:
    htmHeroImage 18s
    cubic-bezier(.22,1,.36,1)
    infinite alternate;

}

@keyframes htmHeroImage {

  from {
    transform: scale(1.06);
  }

  to {
    transform: scale(1.13);
  }

}


/* =========================================================
   HERO OVERLAY
   ========================================================= */

.htm-hero-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      90deg,
      rgba(8,8,8,.96) 0%,
      rgba(8,8,8,.82) 28%,
      rgba(8,8,8,.32) 62%,
      rgba(8,8,8,.55) 100%
    );

}

.htm-hero-vignette {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(
      180deg,
      rgba(8,8,8,.7) 0%,
      transparent 25%,
      transparent 65%,
      rgba(8,8,8,.9) 100%
    );

}


/* =========================================================
   GRID LINES
   ========================================================= */

.htm-grid-lines {

  position: absolute;

  inset: 0;

  pointer-events: none;

  opacity: .18;

  z-index: -1;

}

.htm-grid-lines span {

  position: absolute;

  top: 0;

  bottom: 0;

  width: 1px;

  background: linear-gradient(
    to bottom,
    transparent,
    rgba(191,149,72,.45),
    transparent
  );

}

.htm-grid-lines span:nth-child(1) {
  left: 8%;
}

.htm-grid-lines span:nth-child(2) {
  left: 32%;
}

.htm-grid-lines span:nth-child(3) {
  left: 68%;
}

.htm-grid-lines span:nth-child(4) {
  left: 80%;
}

.htm-grid-lines span:nth-child(5) {
  left: 92%;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.htm-hero-content {

  position: relative;

  z-index: 5;

  width: min(
    calc(100% - 48px),
    var(--htm-max-width)
  );

  height: 100%;

  margin: 0 auto;

  padding:
    clamp(150px, 18vh, 210px)
    clamp(0px, 3vw, 48px)
    80px;

  display: flex;

  flex-direction: column;

  justify-content: center;

}


/* =========================================================
   KICKER
   ========================================================= */

.htm-hero-kicker {

  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 30px;

  color: var(--htm-white-soft);

  font-size: 10px;

  letter-spacing: .18em;

  text-transform: uppercase;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .15s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-kicker-line {

  width: 42px;

  height: 1px;

  background: var(--htm-gold);

}

.htm-kicker-location {

  margin-left: 14px;

  color: var(--htm-gold);

  opacity: .8;

}


/* =========================================================
   HERO TITLE
   ========================================================= */

.htm-hero-title {

  margin: 0;

  max-width: 1000px;

  font-size:
    clamp(60px, 9vw, 150px);

  line-height: .84;

  font-weight: 500;

  letter-spacing: -.065em;

  text-transform: uppercase;

}

.htm-title-line {

  display: block;

  overflow: hidden;

}

.htm-title-line > span {

  display: inline-block;

  transform: translateY(110%);

  animation:
    htmTitleReveal 1.15s
    cubic-bezier(.16,1,.3,1)
    forwards;

}

.htm-title-line:nth-child(1) > span {

  animation-delay: .25s;

}

.htm-title-line:nth-child(2) > span {

  animation-delay: .38s;

}

.htm-title-line:nth-child(3) > span {

  animation-delay: .51s;

}

.htm-title-indent {

  padding-left: clamp(25px, 7vw, 130px);

}

.htm-gold-text {

  color: var(--htm-gold);

}

@keyframes htmTitleReveal {

  to {
    transform: translateY(0);
  }

}


/* =========================================================
   HERO BOTTOM
   ========================================================= */

.htm-hero-bottom {

  margin-top: clamp(55px, 9vh, 90px);

  display: flex;

  align-items: flex-end;

  gap: 80px;

  opacity: 0;

  animation:
    htmFadeUp .9s
    .75s
    cubic-bezier(.22,1,.36,1)
    forwards;

}

.htm-hero-description {

  max-width: 400px;

}

.htm-hero-description p {

  margin: 0;

  color: rgba(244,241,235,.72);

  font-size: 14px;

  line-height: 1.8;

  font-weight: 300;

}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.htm-hero-actions {

  display: flex;

  align-items: center;

  gap: 28px;

}


/* Primary */

.htm-primary-button {

  display: inline-flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14);

  align-items: center;

  gap: 20px;

  padding: 17px 18px 17px 22px;

  background: var(--htm-gold);

  color: var(--htm-black);

  font-size: 10px;

  font-weight: 600;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition:
    background .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease;

}

.htm-primary-button:hover {

  background: var(--htm-gold-light);

  transform: translateY(-3px);

}

.htm-button-arrow {

  width: 31px;

  height: 31px;

  display: grid;

  place-items: center;

  background: rgba(8,8,8,.12);

}

.htm-button-arrow svg {

  width: 15px;

  height: 15px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.3;

}


/* Text button */

.htm-text-button {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.8);

  font-size: 10px;

  letter-spacing: .1em;

  text-transform: uppercase;

  transition: color .3s ease;

}

.htm-text-button:hover {

  color: var(--htm-gold);

}

.htm-play-icon {

  width: 28px;

  height: 28px;

  border: 1px solid rgba(244,241,235,.45);

  border-radius: 50%;

  display: grid;

  place-items: center;

}

.htm-play-icon svg {

  width: 11px;

  height: 11px;

  fill: currentColor;

}


/* =========================================================
   SIDE LOCATIONS
   ========================================================= */

.htm-hero-side {

  position: absolute;

  right: 30px;

  top: 50%;

  transform:
    translateY(-50%)
    rotate(90deg);

  transform-origin: right center;

  display: flex;

  gap: 18px;

  color: rgba(244,241,235,.4);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

  z-index: 5;

}

.htm-hero-side span {

  white-space: nowrap;

}


/* =========================================================
   SCROLL
   ========================================================= */

.htm-scroll {

  position: absolute;

  bottom: 32px;

  left: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 13px;

  color: rgba(244,241,235,.5);

  font-size: 8px;

  letter-spacing: .2em;

  text-transform: uppercase;

}

.htm-scroll-line {

  width: 42px;

  height: 1px;

  overflow: hidden;

  background: rgba(244,241,235,.2);

}

.htm-scroll-line span {

  display: block;

  width: 18px;

  height: 1px;

  background: var(--htm-gold);

  animation:
    htmScrollLine 2s
    ease-in-out
    infinite;

}

@keyframes htmScrollLine {

  0% {
    transform: translateX(-100%);
  }

  50% {
    transform: translateX(140%);
  }

  100% {
    transform: translateX(140%);
  }

}


/* =========================================================
   HERO COUNTER
   ========================================================= */

.htm-hero-number {

  position: absolute;

  bottom: 35px;

  right: clamp(24px, 4vw, 64px);

  display: flex;

  align-items: center;

  gap: 10px;

  color: rgba(244,241,235,.55);

  font-size: 9px;

  letter-spacing: .15em;

}

.htm-hero-number i {

  width: 35px;

  height: 1px;

  background: var(--htm-gold);

}


/* =========================================================
   GENERAL ANIMATION
   ========================================================= */

@keyframes htmFadeUp {

  from {

    opacity: 0;

    transform: translateY(25px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .htm-header {

    grid-template-columns:
      1fr
      auto;

  }

  .htm-nav,
  .htm-header-cta {

    display: none;

  }

  .htm-menu {

    display: block;

  }

  .htm-hero-content {

    padding-left: 0;
    padding-right: 0;

  }

  .htm-hero-bottom {

    gap: 40px;

  }

  .htm-hero-description {

    max-width: 330px;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .htm-header {

    height: 76px;

    padding:
      0 20px;

  }

  .htm-logo {

    width: 135px;

  }

  .htm-menu {

    width: 44px;

    height: 44px;

  }

  .htm-hero {

    min-height: 760px;

    height: 100svh;

  }

  .htm-hero-media img {

    object-position:
      62% center;

    filter:
      saturate(.65)
      contrast(1.05)
      brightness(.58);

  }

  .htm-hero-overlay {

    background:

      linear-gradient(
        180deg,
        rgba(8,8,8,.72) 0%,
        rgba(8,8,8,.55) 35%,
        rgba(8,8,8,.88) 100%
      );

  }

  .htm-hero-content {

    width:
      calc(100% - 40px);

    padding:
      125px 0 110px;

    justify-content:
      center;

  }

  .htm-hero-kicker {

    margin-bottom: 24px;

    font-size: 8px;

    letter-spacing: .14em;

  }

  .htm-kicker-location {

    display: none;

  }

  .htm-hero-title {

    font-size:
      clamp(48px, 14.5vw, 82px);

    line-height: .87;

    letter-spacing: -.07em;

  }

  .htm-title-indent {

    padding-left: 22px;

  }

  .htm-hero-bottom {

    margin-top: 45px;

    display: block;

  }

  .htm-hero-description {

    max-width: 320px;

  }

  .htm-hero-description p {

    font-size: 13px;

    line-height: 1.7;

  }

  .htm-hero-actions {

    margin-top: 30px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 20px;

  }

  .htm-primary-button {

    padding:
      15px 15px 15px 18px;

  }

  .htm-hero-side {

    display: none;

  }

  .htm-grid-lines span:nth-child(2),
  .htm-grid-lines span:nth-child(3) {

    display: none;

  }

  .htm-grid-lines span:nth-child(1) {

    left: 10%;

  }

  .htm-grid-lines span:nth-child(4) {

    left: 90%;

  }

  .htm-scroll {

    left: 20px;
    bottom: 25px;

  }

  .htm-hero-number {

    right: 20px;
    bottom: 25px;

  }

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.htm-site a:focus-visible,
.htm-site button:focus-visible {

  outline:
    2px solid var(--htm-gold);

  outline-offset: 5px;

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .htm-site *,
  .htm-site *::before,
  .htm-site *::after {

    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;

  }

}


/* =========================================================
   ELEMENTOR SAFETY
   ========================================================= */

.elementor-widget-html {

  margin-bottom: 0 !important;

}


/* Mobile menu state — fixes the existing toggle behavior without adding objects */
@media (max-width: 1024px) {
  .htm-nav.htm-mobile-open {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 20px 20px;
    background: rgba(8,8,8,.96);
    border-bottom: 1px solid rgba(191,149,72,.18);
    box-shadow: 0 18px 40px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
  }

  .htm-nav.htm-mobile-open a {
    padding: 14px 4px;
    border-bottom: 1px solid rgba(244,241,235,.08);
  }

  .htm-nav.htm-mobile-open a:last-child {
    border-bottom: 0;
  }

  .htm-menu[aria-expanded="true"] span:first-child {
    transform: translateY(3px) rotate(45deg);
  }

  .htm-menu[aria-expanded="true"] span:last-child {
    transform: translateY(-3px) rotate(-45deg);
  }
}/* End custom CSS */