/* Inner page hero */
.page-hero { position: relative; background: var(--cocoa-950); color: var(--cream); padding-block: clamp(var(--s-7), 9vw, 128px); overflow: hidden; }
.page-hero .eyebrow { margin-bottom: var(--s-4); }
.page-hero h1 { font-size: clamp(2.75rem, 6.5vw, 5.75rem); font-weight: 700; line-height: .95; letter-spacing: -.025em; max-width: 12ch; }
.page-hero h1 em { font-style: normal; color: var(--caramel); }
.page-hero .lede { color: var(--muted-on-dark); }
.page-hero-actions { display: flex; flex-wrap: wrap; gap: var(--s-3); margin-top: var(--s-5); }
.page-hero-grid { display: grid; gap: var(--s-6); }
.page-hero-media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-plate); }
.page-hero-media.is-cutout img { aspect-ratio: auto; object-fit: contain; border-radius: 0; box-shadow: none; filter: drop-shadow(0 32px 40px rgba(0, 0, 0, .55)); }
@media (min-width: 1024px) {
  .page-hero-grid { grid-template-columns: repeat(12, 1fr); align-items: center; }
  .page-hero-copy { grid-column: 1 / 7; }
  .page-hero-media { grid-column: 8 / 13; }
}

/* Compact closer card and contact page title */
.closer-card { background: var(--cocoa-800); border: 1px solid var(--line-on-dark); border-radius: var(--radius-lg); padding: clamp(var(--s-4), 4vw, var(--s-6)); }
.closer-card h3 { font-size: var(--fs-h3); color: var(--cream); margin-bottom: var(--s-2); }
.closer-card p { font-size: var(--fs-small); color: var(--muted-on-dark); max-width: 44ch; }
.closer-card .btn { margin-top: var(--s-4); }
.closer .page-title { font-size: clamp(2.75rem, 6.5vw, 5.75rem); font-weight: 700; line-height: .95; letter-spacing: -.025em; color: var(--cream); margin-bottom: var(--s-4); max-width: 12ch; }
@media (min-width: 1024px) { .closer .closer-card { grid-column: 7 / 13; } }

/* Delivery and dispatch */
.delivery { background: var(--cream); padding-block: var(--section-y); }
.delivery-grid { display: grid; gap: var(--s-6); }
.delivery-table > div { display: grid; grid-template-columns: 1fr auto; gap: var(--s-3); padding: var(--s-3) 0; border-bottom: 1px solid var(--line-on-light); align-items: baseline; }
.delivery-table > div:first-child { border-top: 1px solid var(--line-on-light); }
.delivery-table dt { font-weight: 600; }
.delivery-table dt span { display: block; font-size: var(--fs-eyebrow); font-weight: 500; color: var(--muted-on-light); }
.delivery-table dd { font-family: var(--font-display); font-size: 1.375rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--brown-deep); white-space: nowrap; }
@media (min-width: 1024px) {
  .delivery-grid { grid-template-columns: repeat(12, 1fr); align-items: start; }
  .delivery-copy { grid-column: 1 / 6; }
  .delivery-table { grid-column: 7 / 13; }
  .delivery-copy .section-head { margin-bottom: 0; }
}

/* Seasonal menu list */
.menu { background: var(--cream); padding-block: var(--section-y); }
.menu-list { max-width: 900px; }
.menu-item { display: grid; gap: var(--s-2); padding: var(--s-4) 0; border-top: 1px solid var(--line-on-light); }
.menu-item:last-child { border-bottom: 1px solid var(--line-on-light); }
.menu-item h3 { font-size: 1.375rem; line-height: 1.2; }
.menu-item p { font-size: var(--fs-small); color: var(--muted-on-light); max-width: 60ch; }
.menu-cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-4); margin-top: var(--s-6); }
.menu-cta p { font-size: var(--fs-small); color: var(--muted-on-light); }
@media (min-width: 768px) { .menu-item { grid-template-columns: 2fr 3fr; gap: var(--s-5); align-items: start; } }

/* Catering options */
.occasions { background: var(--cream-deep); padding-block: var(--section-y); }
.occasion-grid { display: grid; gap: var(--s-4); }
.occasion { padding: var(--s-5); background: var(--white); border-radius: var(--radius-lg); border: 1px solid var(--line-on-light); }
.occasion .bite { width: 24px; height: 24px; margin-bottom: var(--s-4); }
.occasion h3 { font-size: var(--fs-h3); line-height: 1.1; margin-bottom: var(--s-2); }
.occasion p { font-size: var(--fs-small); color: var(--muted-on-light); }
@media (min-width: 768px) { .occasion-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .occasion-grid { grid-template-columns: repeat(4, 1fr); } }

/* Gallery band */
.gallery { background: var(--cream); padding-block: var(--section-y); }
.gallery-grid { display: grid; gap: var(--s-3); }
.gallery-grid img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); }
@media (min-width: 640px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .gallery-grid { grid-template-columns: repeat(4, 1fr); gap: var(--s-4); } }
