:root {
  --gold: #d7b85a;
  --gold-light: #f0d67d;
  --black: #070707;
  --dark: #0d0d0d;
  --dark2: #151515;
  --dark3: #1c1c1c;
  --white: #f8f6f1;
  --gray: #aaa79f;
}

body {
  background: var(--black);
  font-family: "Barlow", sans-serif;
  -webkit-text-size-adjust: 100%;
}

body::before {
  display: none;
}

nav {
  min-height: 76px;
  padding: .7rem clamp(1.2rem, 4vw, 4rem);
}

nav.scrolled {
  background: rgba(7,7,7,.93);
  border-bottom: 1px solid rgba(255,255,255,.12);
  padding: .5rem clamp(1.2rem, 4vw, 4rem);
}

.nav-logo::before,
.footer-logo::before {
  display: none;
}

.nav-logo img {
  filter: none;
  height: 64px;
}

nav.scrolled .nav-logo img {
  height: 56px;
}

.nav-links {
  gap: 2rem;
}

.nav-links a {
  color: rgba(255,255,255,.72);
  font-size: .72rem;
  letter-spacing: .18em;
}

.nav-book,
.btn-primary,
.form-submit,
.btn-book-next,
.book-fab {
  background: var(--gold);
  box-shadow: none;
  color: var(--black);
}

section {
  padding: clamp(5rem, 9vw, 8rem) clamp(1.2rem, 4vw, 4rem);
}

.page-hero {
  background: var(--black);
  border-bottom: 1px solid rgba(255,255,255,.12);
  padding: 10rem 1.5rem 6rem;
}

.page-hero::before {
  background: radial-gradient(circle at 50% 100%, rgba(215,184,90,.12), transparent 48%);
}

.page-hero h1,
.section-h2 {
  font-family: "Barlow Condensed", sans-serif;
  letter-spacing: -.035em;
}

.page-hero p,
.cal-subtitle {
  font-family: "Barlow", sans-serif;
}

.section-tag {
  letter-spacing: .3em;
}

.package-common {
  color: var(--gray);
  line-height: 1.7;
  margin: 1.5rem auto 0;
  max-width: 760px;
}

.packages-grid {
  background: transparent;
  gap: 1rem;
}

.package-card {
  border: 1px solid rgba(255,255,255,.1);
  padding: 2.7rem 2.2rem;
}

.package-card.featured {
  border-color: rgba(215,184,90,.65);
  transform: translateY(-.7rem);
}

.package-card::after,
.event-card::before,
.addon-card::after {
  display: none;
}

.package-card.featured::before {
  background: var(--gold);
  color: var(--black);
}

.package-price {
  color: var(--gold);
  font-family: "Barlow Condensed", sans-serif;
}

.package-features li::before {
  background: var(--gold);
  border-radius: 50%;
  height: 5px;
  width: 5px;
}

.addons-grid,
.events-grid {
  background: transparent;
  gap: 1rem;
}

.addon-card,
.event-card,
.faq-item,
.contact-form,
.calendar-wrap {
  border: 1px solid rgba(255,255,255,.1);
}

.gallery-masonry {
  columns: unset;
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1240px;
}

.gallery-masonry-item {
  margin: 0;
}

.gallery-masonry-item video {
  aspect-ratio: 9 / 14;
}

.gallery-status {
  margin-bottom: 2rem;
}

.gallery-load-more {
  border-color: var(--gold);
  color: var(--gold);
}

.gallery-cta {
  border-top: 1px solid rgba(255,255,255,.12);
}

.social-bar {
  border-color: rgba(255,255,255,.12);
}

footer {
  border-top: 1px solid rgba(255,255,255,.12);
}

.footer-logo img {
  filter: none;
  height: 72px;
}

.form-group input,
.form-group select,
.form-group textarea,
.book-input {
  border-color: rgba(255,255,255,.12);
}

@media (max-width: 900px) {
  nav,
  nav.scrolled {
    min-height: 72px;
    padding: .5rem max(1rem, env(safe-area-inset-right)) .5rem max(1rem, env(safe-area-inset-left));
  }

  .nav-logo img,
  nav.scrolled .nav-logo img {
    height: 52px;
  }

  .hamburger {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
  }

  .nav-links.open {
    gap: 1.25rem;
    height: 100dvh;
    overflow-y: auto;
    padding: calc(5rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  }

  .nav-links.open a {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 44px;
  }

  section {
    padding: 4.75rem 1.25rem;
  }

  .package-card.featured {
    transform: none;
  }

  .gallery-masonry {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  section {
    padding: 4rem 1rem;
  }

  .page-hero {
    padding: 7.25rem 1rem 3.75rem;
  }

  .page-hero h1,
  .section-h2 {
    font-size: clamp(2.6rem, 14vw, 3.8rem);
  }

  .package-card,
  .addon-card,
  .event-card,
  .contact-form,
  .calendar-wrap {
    padding: 1.75rem 1.25rem;
  }

  .packages-grid,
  .addons-grid,
  .events-grid {
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .form-group input,
  .form-group select,
  .form-group textarea,
  .book-input {
    font-size: 1rem;
    min-height: 48px;
  }

  .btn-primary,
  .form-submit,
  .btn-book-next,
  .gallery-load-more,
  .cal-arrow {
    min-height: 48px;
  }

  .gallery-section {
    padding: 4rem 1rem;
  }

  .gallery-toolbar {
    margin-bottom: 1.5rem;
  }

  .gallery-filter select {
    font-size: 1rem;
    min-height: 52px;
  }

  .gallery-masonry {
    gap: .65rem;
    grid-template-columns: 1fr;
  }

  .gallery-load-more {
    width: 100%;
  }

  .gallery-cta {
    padding: 4rem 1rem;
  }

  .lightbox {
    padding: .5rem;
  }

  .lightbox-inner,
  .lightbox-inner iframe,
  .lightbox-inner img,
  .lightbox-inner video {
    max-height: 92dvh;
    max-width: 100%;
    width: 100%;
  }

  .lightbox-close {
    height: 48px;
    right: max(.75rem, env(safe-area-inset-right));
    top: max(.75rem, env(safe-area-inset-top));
    width: 48px;
  }

  .book-modal-overlay {
    align-items: stretch;
    padding: 0;
  }

  .book-modal {
    border: 0;
    max-height: 100dvh;
    max-width: none;
  }

  .book-modal-header {
    padding: max(1rem, env(safe-area-inset-top)) 1rem 1rem;
  }

  .book-modal-close {
    min-height: 44px;
    min-width: 44px;
  }

  .book-modal-body {
    padding: 1.25rem 1rem calc(1.5rem + env(safe-area-inset-bottom));
  }

  .social-bar {
    gap: .75rem 1rem;
    justify-content: center;
    padding: 2rem 1rem;
  }

  .social-link {
    min-height: 44px;
  }

  footer {
    padding: 2rem 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
