@layer components {
  .restaurant-hero {
    background: radial-gradient(circle at 0 0, #FAF7F2 0, #F7F3EC 40%, #E8DED0 100%);
    padding: var(--space-10) 0 var(--space-12);
  }

  .restaurant-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: var(--space-10);
    align-items: center;
  }

  .restaurant-hero__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .restaurant-hero__facts {
    margin-top: var(--space-4);
  }

  .restaurant-hero__media {
    position: relative;
  }

  .restaurant-section {
    padding: var(--space-10) 0;
    background-color: var(--color-bg);
  }

  .restaurant-section--feature {
    background: linear-gradient(135deg, #F7F3EC 0, #DCE5DF 40%, #D9E6EA 100%);
  }

  .restaurant-section--subtle {
    background-color: var(--color-bg-secondary);
  }

  .restaurant-section--team {
    background-color: var(--color-neutral-50);
  }

  .restaurant-section--interiors {
    background: radial-gradient(circle at 0 0, #FAF7F2 0, #E8DED0 35%, #DCE5DF 100%);
  }

  .restaurant-section--promise {
    background-color: var(--color-feature);
  }

  .restaurant-section__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }

  .restaurant-section__inner--stack {
    gap: var(--space-6);
  }

  .restaurant-section__header {
    max-width: 44rem;
  }

  .restaurant-section__header--center {
    max-width: 46rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .restaurant-section__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: var(--space-8);
    align-items: center;
  }

  .restaurant-section__grid--reverse {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  }

  .restaurant-section__card {
    height: 100%;
  }

  .restaurant-section__image-wrap {
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(201, 188, 175, 0.9);
    box-shadow: var(--shadow-md);
    background-color: #F7F3EC;
  }

  .restaurant-section__image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .restaurant-list,
  .restaurant-ordered-list {
    display: grid;
    gap: var(--space-2);
    font-size: var(--font-size-md);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-4);
  }

  .restaurant-ordered-list {
    counter-reset: item;
  }

  .restaurant-ordered-list li {
    position: relative;
    padding-left: 1.5rem;
  }

  .restaurant-ordered-list li::before {
    counter-increment: item;
    content: counter(item, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0.1rem;
    font-size: 0.8rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-accent);
  }

  .restaurant-inline-cta {
    margin-top: var(--space-3);
  }

  .restaurant-wine {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
    gap: var(--space-8);
    align-items: center;
  }

  .restaurant-wine__image-wrap {
    border-radius: 24px;
    border: 1px solid rgba(201, 188, 175, 0.9);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
  }

  .restaurant-wine__card {
    position: relative;
  }

  .restaurant-editorial {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
    gap: var(--space-8);
    align-items: center;
  }

  .restaurant-editorial__image-wrap {
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(201, 188, 175, 0.9);
    box-shadow: var(--shadow-md);
  }

  .restaurant-editorial__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .restaurant-editorial__cta-group,
  .restaurant-promise__cta-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-2);
  }

  .restaurant-team {
    gap: var(--space-6);
  }

  .restaurant-team__card h3 {
    margin-bottom: var(--space-2);
  }

  .restaurant-interiors {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.3fr);
    gap: var(--space-8);
    align-items: center;
  }

  .restaurant-interiors__image-wrap {
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(201, 188, 175, 0.9);
    box-shadow: var(--shadow-lg);
  }

  .restaurant-interiors__card {
    position: relative;
  }

  .restaurant-promise {
    max-width: 54rem;
    margin-left: auto;
    margin-right: auto;
  }

  .restaurant-promise__card h3 {
    margin-bottom: var(--space-3);
  }

  @media (max-width: 960px) {
    .restaurant-hero__inner {
      grid-template-columns: minmax(0, 1fr);
    }

    .restaurant-hero {
      padding: var(--space-8) 0 var(--space-9);
    }

    .restaurant-section__grid,
    .restaurant-section__grid--reverse,
    .restaurant-wine,
    .restaurant-editorial,
    .restaurant-interiors {
      grid-template-columns: minmax(0, 1fr);
    }

    .restaurant-editorial__image-wrap,
    .restaurant-wine__image-wrap {
      order: -1;
    }
  }

  @media (max-width: 640px) {
    .restaurant-hero {
      padding: var(--space-6) 0 var(--space-8);
    }

    .restaurant-section {
      padding: var(--space-8) 0;
    }

    .restaurant-section__header,
    .restaurant-section__header--center {
      text-align: left;
    }

    .restaurant-editorial__cta-group,
    .restaurant-promise__cta-group {
      flex-direction: column;
      align-items: stretch;
    }
  }
}

@layer utilities {
  .restaurant-section + .restaurant-section {
    border-top: 1px solid rgba(201, 188, 175, 0.6);
  }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }
