/* Stitch luxury redesign — shared custom styles */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
}

.editorial-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

.hover-lift {
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hover-lift:hover {
  transform: translateY(-8px);
}

.nav-mobile-panel {
  display: none;
}

.nav-mobile-panel.open {
  display: flex;
}

@media (max-width: 768px) {
  .nav-desktop-links {
    display: none !important;
  }
  .nav-desktop-actions .btn-reserve-desktop {
    display: none !important;
  }
  .menu-toggle-btn {
    display: flex !important;
  }
}

.menu-toggle-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.menu-toggle-btn span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: currentColor;
}

.page-hero-inner {
  padding-top: calc(72px + 4rem);
  padding-bottom: 4rem;
}

.form-success {
  display: none;
  padding: 1rem;
  background: #e8f5e9;
  border: 1px solid #a5d6a7;
  color: #2e7d32;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.form-success.show {
  display: block;
}

/* Hero headline — 70% of display-lg (30% smaller) */
.hero-title {
  font-size: 1.575rem; /* ~70% of text-4xl (2.25rem) */
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #0d0d0d; /* onyx black */
}

@media (min-width: 768px) {
  .hero-title {
    font-size: 2.8125rem; /* 70% of 64px display-lg */
    line-height: 1.12;
  }
}

.hero-title .hero-accent {
  color: #c5a059; /* luxury gold */
  font-style: italic;
  font-weight: 400;
}
