.section{padding-top:var(--space-12);padding-bottom:var(--space-12)}.section-header{display:flex;flex-direction:column;gap:var(--space-3);max-width:44rem}.section-header-main>p{font-size:var(--font-size-md)}.section-header-center{text-align:center;align-items:center;margin:0 auto;max-width:44rem}.section-header-center p{margin-left:auto;margin-right:auto}.section-cta-center{margin-top:var(--space-6);display:flex;justify-content:center}.section-cta-inline{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-3)}.section-cta-stack{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-3)}.feature-list{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);margin-bottom:var(--space-2)}.feature-list-tight{gap:var(--space-2)}.feature-list-label{display:block;font-weight:600;font-size:0.9rem;color:var(--color-text)}.feature-list-text{display:block;font-size:0.86rem;color:var(--color-text-soft)}.text-link{display:inline-flex;align-items:center;font-size:0.88rem;color:var(--color-primary);border-bottom:1px solid rgba(196,122,50,0.25);padding-bottom:2px}.text-link:hover{border-color:rgba(196,122,50,0.6)}.section-culinary-grid{align-items:stretch;margin-top:var(--space-6)}.section-culinary-card-second{background:linear-gradient(145deg,#f2ebe1,#ffffff)}.section-team{background:linear-gradient(to bottom,#faf6f0,#f7f3ec)}.section-team-grid{align-items:center;gap:var(--space-8)}.section-team-photo{padding:var(--space-4)}.section-team-figure{display:flex;flex-direction:column;gap:var(--space-3)}.section-team-caption{font-size:0.82rem;color:var(--color-text-soft)}.section-lounge-grid{align-items:center;gap:var(--space-8)}.section-lounge-media{padding:var(--space-4)}.section-lounge-figure{display:flex;flex-direction:column;gap:var(--space-3)}.section-lounge-caption{font-size:0.82rem;color:var(--color-text-soft)}.section-menu-grid{margin-top:var(--space-6)}.menu-card .card-body{margin-bottom:var(--space-3)}.section-reservations{background-color:#f7f3ec}.section-reservations-grid{align-items:flex-start;gap:var(--space-8)}.section-reservations-card{max-width:480px;margin-left:auto}.reservation-form{margin-top:var(--space-3)}.reservation-submit{width:100%;justify-content:center}.reservation-form-footnote{margin-top:var(--space-2);font-size:0.78rem;color:var(--color-text-soft)}.section-testimonials-grid{margin-top:var(--space-6)}.testimonial-card .card-body{font-size:0.9rem}.testimonial-meta{margin-top:var(--space-2);font-size:0.8rem;color:var(--gray-500)}.section-story-grid{gap:var(--space-8);align-items:flex-start}.section-story-card{background:var(--color-surface-muted)}.story-meta-list{display:flex;flex-direction:column;gap:var(--space-3);font-size:0.86rem}.story-meta-item dt{font-weight:600;color:var(--color-text);margin-bottom:2px}.story-meta-item dd{color:var(--color-text-soft)}.section-utility{padding-top:var(--space-8);padding-bottom:var(--space-8);border-top:1px solid var(--color-border)}.section-utility-inner{display:flex;justify-content:flex-end}.section-utility-links{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:0.85rem}.section-utility-links a{color:var(--color-text-soft)}.section-utility-links a:hover{color:var(--color-primary)}@media (max-width:900px){.section-team-grid,.section-lounge-grid,.section-reservations-grid,.section-story-grid{grid-template-columns:minmax(0,1fr)}.section-reservations-card{max-width:100%;margin-left:0;margin-top:var(--space-6)}.section-utility-inner{justify-content:center}}@media (max-width:640px){.section{padding-top:var(--space-8);padding-bottom:var(--space-8)}.section-header{max-width:100%}.section-cta-inline,.section-cta-stack{flex-direction:column;align-items:stretch}.section-utility-links{justify-content:center;text-align:center}}

/* Homepage hero — organic composition */
.hero {
  padding-top: clamp(3.5rem, 8vw, 6rem);
  padding-bottom: clamp(3.5rem, 8vw, 6rem);
}

.hero-inner {
  align-items: center;
  gap: clamp(2rem, 5vw, 3.5rem);
}

.hero-copy {
  gap: var(--space-6);
}

.hero-title {
  margin: 0;
  letter-spacing: -0.02em;
}

.hero-subtitle {
  margin: 0;
}

.hero-badges {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.hero-actions {
  margin-top: var(--space-2);
}

.hero-media {
  gap: var(--space-4);
}

.hero-media-main {
  grid-template-columns: minmax(0, 1fr);
  border-radius: 32px 18px 36px 22px;
  padding: 0.7rem;
  overflow: visible;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 252, 246, 0.95), transparent 45%),
    linear-gradient(165deg, #f7ebe0 0%, #ead7c2 55%, #e3ceb8 100%);
  box-shadow:
    0 28px 56px rgba(55, 40, 22, 0.14),
    0 8px 18px rgba(55, 40, 22, 0.06);
  border: 1px solid rgba(191, 169, 138, 0.4);
}

.hero-media-photo {
  position: relative;
  border-radius: 26px 14px 20px 28px;
  min-height: 280px;
  aspect-ratio: 16 / 11;
  max-height: 360px;
  overflow: hidden;
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.2), transparent 50%),
    #e8d7c4;
}

.hero-media-photo::after {
  background: linear-gradient(
    180deg,
    transparent 42%,
    rgba(20, 14, 10, 0.28) 72%,
    rgba(20, 14, 10, 0.62) 100%
  );
  mix-blend-mode: normal;
}

.hero-media-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  display: block;
  z-index: 0;
}

.hero-media-photo-overlay {
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  max-width: 18rem;
  padding: 0.85rem 1rem;
  border-radius: 16px;
  background: rgba(18, 14, 10, 0.78);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff7ed;
  z-index: 1;
}

.hero-media-photo-overlay-title,
.hero-media-photo-overlay-meta {
  color: #fff7ed;
  margin-bottom: 0;
}

.hero-media-photo-overlay-title {
  margin-bottom: 4px;
}

.hero-media-photo-overlay-meta {
  color: rgba(255, 247, 237, 0.9);
  opacity: 1;
}

.hero-media-card {
  margin-top: -3.25rem;
  margin-inline: 0.85rem 0.85rem;
  position: relative;
  z-index: 2;
  border-radius: 22px 16px 24px 18px;
  padding: var(--space-5);
  background: rgba(255, 252, 247, 0.94);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(191, 169, 138, 0.5);
  box-shadow: 0 18px 40px rgba(55, 40, 22, 0.12);
}

.hero-media-list {
  gap: 0.85rem;
}

.hero-media-list-item {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

.hero-media-list-pill {
  max-width: 100%;
  line-height: 1.35;
  border-radius: 999px;
  padding: 0.4rem 0.85rem;
}

.hero-media-strip {
  border-radius: 22px;
  padding: 0.85rem 1.15rem;
}

@media (max-width: 1024px) {
  .hero-media {
    max-width: 520px;
  }
}

@media (max-width: 640px) {
  .hero-media-photo {
    min-height: 220px;
    aspect-ratio: 5 / 4;
    max-height: 300px;
  }

  .hero-media-card {
    margin-top: -2.25rem;
    margin-inline: 0.4rem;
    padding: var(--space-4);
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }
}
