/* Banquets page */

/* per-breakpoint copy / line breaks */
.lg-copy-d, .lg-copy-t { display: none; }
@media (min-width: 768px) { .lg-br-m { display: none; } .lg-copy-m { display: none; } .lg-copy-t { display: inline; } }
@media (min-width: 1200px) { .lg-copy-t { display: none; } .lg-copy-d { display: inline; } }

/* ---------- 01 Hero ---------- */
.lg-hero {
  position: relative; overflow: hidden; isolation: isolate;
  height: 780px; display: flex; flex-direction: column; justify-content: flex-end;
  padding: 0 var(--margin) 72px;
}
.lg-hero__photo { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.lg-hero::before { /* dim 55 % + vignette */
  content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background:
    radial-gradient(62% 75% at 50% 45%, rgba(23,27,25,0) 0%, rgba(23,27,25,.55) 60%, var(--bg-base) 100%),
    rgba(23, 27, 25, .55);
}
.lg-hero::after { /* bottom fade */
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 200px; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(23,27,25,0), var(--bg-base));
}
.lg-hero__content { display: flex; flex-direction: column; align-items: center; text-align: center; }
.lg-hero__kicker { color: var(--text-primary); white-space: nowrap; }
@media (max-width: 767px) { .lg-sp { display: none; } }  /* mobile frame: single spaces around the dot */
.lg-hero h1 { margin-top: 12px; }
.lg-hero__lead { margin-top: 16px; max-width: 342px; text-wrap: balance; }
.lg-hero__btn { margin-top: 32px; }
@media (max-width: 767px) {
  .lg-hero__content { align-self: stretch; }
  .lg-hero__btn { width: 100%; background: var(--text-primary); color: var(--bg-base); box-shadow: none; }
  .lg-hero__btn:hover { background: #fff; transform: none; box-shadow: none; }
}

/* ---------- 02 Intro ---------- */
.lg-intro__grid > * { grid-column: 1 / -1; min-width: 0; }
.lg-intro__text { margin-top: 32px; }
.lg-intro__stats { margin-top: 40px; display: flex; justify-content: space-between; gap: 16px; }
.lg-intro__stats .stat { white-space: nowrap; }
@media (max-width: 374px) { .lg-intro__stats { gap: 8px; } .lg-intro__stats .stat { white-space: normal; min-width: 0; } .lg-intro__stats .t-stat { font-size: 24px; } .lg-intro__stats .t-label { letter-spacing: .2em; } }

/* ---------- 03 The table ---------- */
.lg-show__grid > * { grid-column: 1 / -1; min-width: 0; }
.lg-show__photo { aspect-ratio: 342 / 442; }
.lg-show__text { margin-top: 40px; }
.lg-show__title { display: flex; flex-direction: column; gap: 10px; }
.lg-show__lead { margin-top: 20px; }
.lg-show__rows { margin-top: 28px; border-bottom: 0; }
.lg-show__rows .info-row { height: 40px; padding: 0; }

/* ---------- 04 Two panels ---------- */
.lg-panels__grid { row-gap: 24px; }
.lg-panels__grid > * { grid-column: 1 / -1; min-width: 0; }
.lg-panel { overflow: hidden; }
.lg-panel__photo { width: 100%; height: 240px; object-fit: cover; }
.lg-panel__text { padding: 28px 28px 32px; display: flex; flex-direction: column; gap: 12px; }

/* ---------- 05 Strip ---------- */
.lg-strip { padding-top: 0; }
.lg-strip__track {
  display: flex; gap: 16px;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  margin-inline: calc(var(--margin) * -1); padding-inline: var(--margin); scroll-padding-inline: var(--margin);
  padding-bottom: 64px; margin-bottom: -64px;   /* room for the photo shadow inside the scroller */
}
.lg-strip__track::-webkit-scrollbar { display: none; }
.lg-strip__track li { flex: 0 0 220px; height: 280px; scroll-snap-align: start; }

/* ---------- 06 Reserve CTA ---------- */
.lg-cta { padding-block: 96px; overflow: hidden; isolation: isolate; }
.lg-cta::before, .lg-cta::after { content: ""; position: absolute; left: 0; right: 0; height: 120px; z-index: -1; pointer-events: none; }
.lg-cta::before { top: 0; background: linear-gradient(180deg, var(--bg-base), rgba(23,27,25,0)); }
.lg-cta::after { bottom: 0; background: linear-gradient(0deg, var(--bg-base), rgba(23,27,25,0)); }
.lg-cta__inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.lg-cta__lead { margin-top: 16px; }
.lg-cta__btn { margin-top: 32px; width: 100%; }
.lg-cta__tel { margin-top: 16px; transition: color .2s; }
.lg-cta__tel:hover { color: var(--text-primary); }

/* ================= tablet ================= */
@media (min-width: 768px) {
  .lg-hero { height: 1024px; justify-content: center; padding-bottom: 0; }
  .lg-hero__lead { margin-top: 20px; max-width: none; }
  .lg-hero__btn { margin-top: 40px; }

  .lg-intro__text { grid-column: 1 / 7; margin-top: 24px; }
  .lg-intro__stats { margin-top: 48px; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); column-gap: var(--gutter); }
  .lg-intro__stats .stat:nth-child(1) { grid-column: 1 / 4; }
  .lg-intro__stats .stat:nth-child(2) { grid-column: 4 / 7; }
  .lg-intro__stats .stat:nth-child(3) { grid-column: 7 / 9; }

  .lg-show__grid { align-items: center; }
  .lg-show__photo { grid-column: 1 / 5; aspect-ratio: 328 / 480; }
  .lg-show__text { grid-column: 5 / 9; grid-row: 1; margin-top: 0; }
  .lg-show__rows { margin-top: 32px; }

  .lg-panels { padding-top: 0; }
  .lg-panels__grid > :nth-child(1) { grid-column: 1 / 5; }
  .lg-panels__grid > :nth-child(2) { grid-column: 5 / 9; }
  .lg-panel__text { padding: 32px 32px 40px; }

  .lg-strip__track { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; overflow: visible; margin-inline: 0; padding: 0; margin-bottom: 0; }
  .lg-strip__track li { height: auto; aspect-ratio: 328 / 360; }

  .lg-cta { padding-block: 120px; }
  .lg-cta::before { height: 160px; }
  .lg-cta::after { display: none; }
  .lg-cta__btn { width: auto; }
}

/* ================= desktop ================= */
@media (min-width: 1200px) {
  .lg-hero { height: 900px; }
  .lg-hero h1, .lg-hero__lead { margin-top: 24px; }
  .lg-hero__btn { margin-top: 56px; }

  .lg-intro__grid { row-gap: 50px; align-items: center; }   /* 56 px under the title to the body, stats centred on it */
  .lg-intro__head { white-space: nowrap; }
  .lg-intro__text { grid-column: 1 / 7; grid-row: 2; margin-top: 0; }
  .lg-intro__stats { grid-column: 8 / 13; grid-row: 2; margin-top: 0; display: flex; justify-content: flex-start; gap: 48px; }
  .lg-intro__stats .stat:nth-child(n) { grid-column: auto; }

  .lg-show__photo { grid-column: 1 / 6; aspect-ratio: 436 / 560; }
  .lg-show__text { grid-column: 8 / 13; }
  .lg-show__lead { margin-top: 32px; max-width: 372px; }

  .lg-panels { padding-top: var(--section-pad); }
  .lg-panels__grid > :nth-child(1) { grid-column: 1 / 7; }
  .lg-panels__grid > :nth-child(2) { grid-column: 7 / 13; }
  .lg-panel__photo { height: 360px; }
  .lg-panel__text { padding: 40px 40px 48px; }

  .lg-strip { padding-top: var(--section-pad); }
  .lg-strip__track { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  .lg-strip__track li { aspect-ratio: 252 / 336; }

  .lg-cta { padding-block: 128px; background: radial-gradient(50% 50% at 50% 50%, var(--bg-glow) 0%, var(--bg-base) 85%); }
  .lg-cta::before { display: none; }
  .lg-cta__btn { margin-top: 48px; }
}
