/* [project]/frontend/components/StickyNav/StickyNav.module.css [app-client] (css) */
.StickyNav-module__QZKIUa__stickyNav {
  z-index: 100;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #fafaf8f5;
  border-bottom: 1px solid #c9a84c33;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  width: 100%;
  height: 52px;
  padding: 0 1.5rem;
  display: flex;
  position: sticky;
  top: 0;
}

.StickyNav-module__QZKIUa__stickyNav a {
  color: var(--muted);
  letter-spacing: .18em;
  text-transform: uppercase;
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 50px;
  padding: .45rem 1.1rem;
  font-size: .75rem;
  text-decoration: none;
  transition: color .2s, border-color .2s, background .2s;
}

.StickyNav-module__QZKIUa__stickyNav a:hover {
  color: var(--gold);
  background: #c9a84c12;
  border-color: #c9a84c66;
}

.StickyNav-module__QZKIUa__stickyNav .StickyNav-module__QZKIUa__active {
  color: var(--gold);
  border-color: #c9a84c66;
}

.StickyNav-module__QZKIUa__navDivider {
  background: #c9a84c33;
  width: 1px;
  height: 14px;
}

.StickyNav-module__QZKIUa__navHamburger {
  z-index: 600;
  cursor: pointer;
  width: 52px;
  height: 52px;
  color: var(--text);
  background: none;
  border: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 0;
  display: none;
  position: fixed;
  top: 0;
  right: 0;
}

.StickyNav-module__QZKIUa__navHamburger span {
  background: currentColor;
  width: 24px;
  height: 2px;
  transition: transform .3s, opacity .3s;
  display: block;
}

.StickyNav-module__QZKIUa__navOpen .StickyNav-module__QZKIUa__navHamburger span:first-child {
  transform: translateY(7px)rotate(45deg);
}

.StickyNav-module__QZKIUa__navOpen .StickyNav-module__QZKIUa__navHamburger span:nth-child(2) {
  opacity: 0;
}

.StickyNav-module__QZKIUa__navOpen .StickyNav-module__QZKIUa__navHamburger span:nth-child(3) {
  transform: translateY(-7px)rotate(-45deg);
}

@media (max-width: 768px) {
  .StickyNav-module__QZKIUa__navHamburger {
    display: flex;
  }

  .StickyNav-module__QZKIUa__stickyNav {
    display: none !important;
  }
}

/* [project]/frontend/components/BottomNav/BottomNav.module.css [app-client] (css) */
.BottomNav-module__CiZOsW__btmNav, .BottomNav-module__CiZOsW__btmDrawer, .BottomNav-module__CiZOsW__btmOverlay {
  display: none;
}

@media (max-width: 768px) {
  .BottomNav-module__CiZOsW__btmNav {
    -webkit-backdrop-filter: blur(12px);
    z-index: 600;
    background: #fafaf8f7;
    border-top: 1px solid #c9a84c40;
    border-radius: 20px 20px 0 0;
    align-items: stretch;
    height: 60px;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    box-shadow: 0 -4px 24px #00000014;
  }

  .BottomNav-module__CiZOsW__btmNavItem {
    color: #0006;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    background: none;
    border: none;
    outline: none;
    flex-direction: column;
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: 3px;
    padding: 0 2px;
    font-family: inherit;
    font-size: 9px;
    text-decoration: none;
    transition: color .18s;
    display: flex;
  }

  .BottomNav-module__CiZOsW__btmNavItem svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
  }

  .BottomNav-module__CiZOsW__btmNavItem.BottomNav-module__CiZOsW__active {
    color: #c9a84c;
  }

  .BottomNav-module__CiZOsW__btmNavItem.BottomNav-module__CiZOsW__active svg {
    filter: drop-shadow(0 0 6px #c9a84c80);
  }

  .BottomNav-module__CiZOsW__btmNavItem:active {
    color: #c9a84c;
  }

  .BottomNav-module__CiZOsW__btmDrawer {
    z-index: 599;
    background: #fafaf8fc;
    border-top: 1px solid #c9a84c2e;
    transition: transform .3s cubic-bezier(.4, 0, .2, 1);
    display: block;
    position: fixed;
    bottom: 60px;
    left: 0;
    right: 0;
    transform: translateY(102%);
  }

  .BottomNav-module__CiZOsW__btmDrawer.BottomNav-module__CiZOsW__open {
    transform: translateY(0);
  }

  .BottomNav-module__CiZOsW__btmDrawerTitle {
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #c9a84c99;
    padding: .7rem 1.2rem .35rem;
    font-size: 9px;
  }

  .BottomNav-module__CiZOsW__btmDrawerGrid {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }

  .BottomNav-module__CiZOsW__btmDrawerItem {
    color: #00000073;
    letter-spacing: .1em;
    text-transform: uppercase;
    -webkit-tap-highlight-color: transparent;
    border-bottom: 1px solid #c9a84c1f;
    border-right: 1px solid #c9a84c1f;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 7px;
    padding: 1rem .5rem;
    font-size: 10px;
    text-decoration: none;
    transition: color .18s, background .18s;
    display: flex;
  }

  .BottomNav-module__CiZOsW__btmDrawerItem:nth-child(2n) {
    border-right: none;
  }

  .BottomNav-module__CiZOsW__btmDrawerItem.BottomNav-module__CiZOsW__active, .BottomNav-module__CiZOsW__btmDrawerItem:active {
    color: #c9a84c;
    background: #c9a84c12;
  }

  .BottomNav-module__CiZOsW__btmDrawerItem svg {
    width: 28px;
    height: 28px;
  }

  .BottomNav-module__CiZOsW__btmOverlay {
    z-index: 598;
    background: #0000004d;
    display: none;
    position: fixed;
    inset: 0 0 60px;
  }

  .BottomNav-module__CiZOsW__btmOverlay.BottomNav-module__CiZOsW__open {
    display: block;
  }
}

/* [project]/frontend/app/home/home.module.css [app-client] (css) */
.home-module__z2cGBW__page {
  color: #f8fafc;
  min-height: 100vh;
  font-family: var(--font-jost), sans-serif;
  background: #0f172a;
  flex-direction: column;
  display: flex;
}

.home-module__z2cGBW__hero {
  background: linear-gradient(135deg, #0f172a 0%, #0d3d38 50%, #0f172a 100%);
  justify-content: center;
  align-items: center;
  min-height: 88vh;
  padding: 4rem 2rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.home-module__z2cGBW__hero:before {
  content: "";
  background: radial-gradient(at 20%, #0d94882e 0%, #0000 55%), radial-gradient(at 80% 30%, #d4a8431a 0%, #0000 50%);
  position: absolute;
  inset: 0;
}

.home-module__z2cGBW__heroInner {
  z-index: 1;
  text-align: center;
  max-width: 560px;
  position: relative;
}

.home-module__z2cGBW__heroEyebrow {
  letter-spacing: .35em;
  text-transform: uppercase;
  color: #0d9488;
  margin-bottom: 1rem;
  font-size: .75rem;
}

.home-module__z2cGBW__heroTitle {
  font-family: var(--font-playfair), serif;
  letter-spacing: .04em;
  color: #f8fafc;
  margin: 0 0 1.2rem;
  font-size: clamp(2.8rem, 8vw, 5.5rem);
  line-height: 1.1;
}

.home-module__z2cGBW__heroTagline {
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #d4a843;
  margin-bottom: 2.5rem;
  font-size: 1rem;
}

.home-module__z2cGBW__heroCta {
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  display: flex;
}

.home-module__z2cGBW__ctaPrimary {
  color: #fff;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: #0d9488;
  border-radius: 50px;
  padding: .85rem 2.2rem;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, transform .2s;
}

.home-module__z2cGBW__ctaPrimary:hover {
  background: #0f766e;
  transform: translateY(-2px);
}

.home-module__z2cGBW__ctaSecondary {
  color: #d4a843;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: none;
  border: 1px solid #d4a84380;
  border-radius: 50px;
  padding: .85rem 2.2rem;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .2s, background .2s, transform .2s;
}

.home-module__z2cGBW__ctaSecondary:hover {
  background: #d4a84314;
  border-color: #d4a843;
  transform: translateY(-2px);
}

.home-module__z2cGBW__heroBadge {
  letter-spacing: .3em;
  text-transform: uppercase;
  color: #d4a84380;
  border: 1px solid #d4a84333;
  border-radius: 50px;
  padding: .35rem .75rem;
  font-size: .65rem;
  position: absolute;
  bottom: 2rem;
  right: 2.5rem;
}

.home-module__z2cGBW__spots {
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 3rem 2.5rem;
  display: grid;
}

.home-module__z2cGBW__spotCard {
  border-radius: 16px;
  text-decoration: none;
  transition: transform .3s, box-shadow .3s;
  display: block;
  overflow: hidden;
}

.home-module__z2cGBW__spotCard:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px #0006;
}

.home-module__z2cGBW__spotImg {
  aspect-ratio: 16 / 9;
  width: 100%;
  position: relative;
}

.home-module__z2cGBW__spotOverlay {
  background: linear-gradient(to top, #000000b3 0%, #0000001a 60%, #0000 100%);
  transition: background .3s;
  position: absolute;
  inset: 0;
}

.home-module__z2cGBW__spotCard:hover .home-module__z2cGBW__spotOverlay {
  background: linear-gradient(to top, #0d9488b3 0%, #0003 60%, #0000 100%);
}

.home-module__z2cGBW__spotLabel {
  flex-direction: column;
  gap: .25rem;
  display: flex;
  position: absolute;
  bottom: 1.25rem;
  left: 1.5rem;
}

.home-module__z2cGBW__spotTitle {
  font-family: var(--font-playfair), serif;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
}

.home-module__z2cGBW__spotSub {
  font-family: var(--font-jost), sans-serif;
  letter-spacing: .1em;
  color: #ffffffbf;
  text-transform: uppercase;
  font-size: .72rem;
}

@media (max-width: 600px) {
  .home-module__z2cGBW__spots {
    grid-template-columns: 1fr;
    padding: 2rem 1.25rem;
  }
}

.home-module__z2cGBW__highlights {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 4rem 2.5rem;
  display: grid;
}

.home-module__z2cGBW__card {
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  flex-direction: column;
  gap: .75rem;
  padding: 2rem 1.75rem;
  transition: border-color .2s, background .2s;
  display: flex;
}

.home-module__z2cGBW__card:hover {
  background: #0d94880f;
  border-color: #0d948866;
}

.home-module__z2cGBW__cardIcon {
  font-size: 2rem;
  line-height: 1;
}

.home-module__z2cGBW__card h3 {
  font-family: var(--font-playfair), serif;
  color: #f8fafc;
  margin: 0;
  font-size: 1.3rem;
}

.home-module__z2cGBW__card p {
  color: #94a3b8;
  flex: 1;
  margin: 0;
  font-size: .88rem;
  line-height: 1.6;
}

.home-module__z2cGBW__cardLink {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #0d9488;
  margin-top: .5rem;
  font-size: .78rem;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s;
}

.home-module__z2cGBW__cardLink:hover {
  color: #14b8a6;
}

.home-module__z2cGBW__strip {
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #64748b;
  border-top: 1px solid #ffffff0f;
  border-bottom: 1px solid #ffffff0f;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem .5rem;
  padding: 2rem;
  font-size: .72rem;
  display: flex;
}

.home-module__z2cGBW__dot {
  color: #d4a843;
  opacity: .6;
}

.home-module__z2cGBW__footer {
  text-align: center;
  letter-spacing: .12em;
  color: #334155;
  margin-top: auto;
  padding: 1.5rem;
  font-size: .7rem;
}

/*# sourceMappingURL=frontend_0x52zlx._.css.map*/