.hero-contact {
  position: relative;
  color: #fdf7ee;
  padding-block: var(--space-16);
  overflow: hidden;
}
.hero-contact__background {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.hero-contact__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.05) brightness(0.8);
}
.hero-contact__overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 10% 0%, rgba(217, 179, 108, 0.35), transparent 60%), radial-gradient(circle at 100% 100%, rgba(13, 91, 79, 0.5), transparent 65%), linear-gradient(to top, rgba(7, 6, 9, 0.96), rgba(7, 6, 9, 0.7));
  mix-blend-mode: multiply;
}
.hero-contact__inner {
  position: relative;
  z-index: 1;
}
.hero-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.3fr);
  gap: var(--space-8);
  align-items: center;
}
.hero-contact__copy {
  max-width: 34rem;
}
.hero-contact__kicker {
  font-size: 0.8rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  margin-bottom: var(--space-3);
  color: rgba(246, 228, 198, 0.9);
}
.hero-contact__headline {
  font-family: var(--font-serif);
  font-size: clamp(2.4rem, 4.4vw, 3rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: var(--space-4);
  color: white;
}
.hero-contact__subcopy {
  color: #f3e6d5;
  margin-bottom: var(--space-6);
}
.hero-contact__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.hero-contact__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.hero-contact__card-wrap {
  position: relative;
}
.hero-contact__card {
  background: linear-gradient(135deg, rgba(15, 14, 18, 0.96), rgba(9, 11, 12, 0.96));
}
.hero-contact__details {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-3);
  margin-bottom: var(--space-4);
}
.hero-contact__details dt {
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: rgba(243, 230, 213, 0.9);
}
.hero-contact__details dd {
  margin: 0;
  font-size: var(--text-sm);
  color: #fdf7ee;
}
.hero-contact__social-row {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.hero-contact__social-label {
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: rgba(244, 233, 220, 0.9);
}
.hero-contact__social-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  font-size: var(--text-sm);
}
.hero-contact__badge-stack {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
}

@media (max-width: 900px) {
  .hero-contact__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero-contact__card-wrap {
    order: -1;
  }
  .hero-contact__badge-stack {
    position: static;
    margin-top: var(--space-4);
  }
}

@media (max-width: 640px) {
  .hero-contact {
    padding-block: var(--space-12);
  }
}

.contact-cards-grid {
  align-items: stretch;
}
.contact-card__title {
  margin-bottom: var(--space-3);
}
.contact-card__emphasis {
  font-weight: 600;
  color: var(--color-espresso);
}
.contact-card__meta {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.contact-card__list {
  list-style: none;
  padding-left: 0;
}
.contact-card__list li + li {
  margin-top: var(--space-2);
}
.contact-card__social-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.section-hours {
  background: var(--color-bg-alt);
}
.section-hours__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: var(--space-6);
}
.section-hours__table-card {
  padding: var(--space-4);
}
.section-hours__highlight h3 {
  margin-bottom: var(--space-3);
}
.section-hours__highlight ul {
  padding-left: 1.2rem;
}
.section-hours__highlight li + li {
  margin-top: var(--space-2);
}
.section-hours__cta-text {
  margin-top: var(--space-4);
}
.hours-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}
.hours-table th,
.hours-table td {
  padding-block: 0.6rem;
}
.hours-table th {
  text-align: left;
  font-weight: 600;
  color: var(--color-espresso);
  width: 26%;
}
.hours-table tr + tr th,
.hours-table tr + tr td {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.hours-table__note {
  display: inline-block;
  margin-left: 0.3rem;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

@media (max-width: 900px) {
  .section-hours__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.section-contact-forms__container {
  max-width: var(--content-wide-width);
}
.section-contact-forms__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr);
  gap: var(--space-8);
  align-items: flex-start;
}
.contact-form {
  margin-top: var(--space-4);
}
.contact-form__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: var(--space-4);
}
.contact-form__response-time {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.contact-form__privacy {
  margin-top: var(--space-3);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}
.section-contact-forms__aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.section-contact-forms__reservation-card h3,
.section-contact-forms__meeting-card h3 {
  margin-bottom: var(--space-3);
}
.reservation-steps {
  list-style: none;
  padding-left: 0;
}
.reservation-steps li + li {
  margin-top: var(--space-2);
}
.reservation-steps__meta {
  margin-top: var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.section-contact-forms__reservation-cta {
  margin-top: var(--space-4);
}
.section-contact-forms__meeting-list {
  padding-left: 1.2rem;
}
.section-contact-forms__meeting-list li + li {
  margin-top: var(--space-2);
}
.section-contact-forms__meeting-note {
  margin-top: var(--space-3);
  font-size: var(--text-sm);
}

@media (max-width: 1024px) {
  .section-contact-forms__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.section-map__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr);
  gap: var(--space-6);
  align-items: stretch;
}
.section-map__directions h3 {
  margin-bottom: var(--space-3);
}
.section-map__list {
  padding-left: 1.2rem;
}
.section-map__list li + li {
  margin-top: var(--space-2);
}
.section-map__note {
  margin-top: var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.section-map__note-card h3 {
  margin-bottom: var(--space-3);
}
.section-map__note-meta {
  font-size: var(--text-sm);
  color: rgba(244, 233, 220, 0.85);
}

@media (max-width: 900px) {
  .section-map__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.section-callback {
  background: var(--color-bg-alt);
}
.section-callback__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr);
  gap: var(--space-6);
  align-items: flex-start;
}
.section-callback__copy {
  max-width: 32rem;
}
.section-callback__title {
  margin-bottom: var(--space-3);
}
.section-callback__bullets {
  padding-left: 1.2rem;
}
.section-callback__bullets li + li {
  margin-top: var(--space-2);
}
.section-callback__form-wrap {
  background: rgba(0, 0, 0, 0.18);
  padding: var(--space-4);
  border-radius: var(--radius-lg);
}
.callback-form__button {
  width: 100%;
  margin-top: var(--space-2);
}
.callback-form__helper {
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: rgba(244, 233, 220, 0.85);
}

@media (max-width: 900px) {
  .section-callback__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .section-callback__form-wrap {
    background: rgba(0, 0, 0, 0.12);
  }
}

.section-testimonials {
  background: var(--color-bg-alt);
}
.section-heading--center {
  text-align: center;
}
.section-heading--center .section-heading__lead {
  margin-inline: auto;
}
.section-testimonials__slider {
  margin-top: var(--space-4);
}
.testimonial-card blockquote {
  font-style: italic;
  color: var(--color-text-soft);
  margin-bottom: var(--space-4);
}
.testimonial-card__name {
  font-weight: 600;
}
.testimonial-card__meta {
  display: block;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.section-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr);
  gap: var(--space-8);
  align-items: flex-start;
}
.section-faq__privacy h3 {
  margin-bottom: var(--space-2);
}
.section-faq__privacy p + p {
  margin-top: var(--space-2);
}

.accordion-panel p {
  padding-bottom: var(--space-4);
  font-size: var(--text-sm);
}

@media (max-width: 900px) {
  .section-faq__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.section-farewell {
  padding-bottom: var(--space-16);
}
.section-farewell__card {
  text-align: center;
}
.section-farewell__title {
  margin-bottom: var(--space-3);
}
.section-farewell__content p {
  color: rgba(244, 233, 220, 0.9);
}
.section-farewell__actions {
  margin-top: var(--space-4);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}
