/* ── Catering page — extends the Nickel & Rye design system ───────────── */

.cat-hero{
  background:
    radial-gradient(ellipse at 70% 0%, #28527a26 0%, transparent 55%),
    linear-gradient(180deg, var(--black) 0%, var(--black-soft) 60%, var(--coal) 100%);
  padding:150px 32px 90px;
  text-align:center;
  position:relative;
  border-bottom:1px solid #376a9f33;
}
.cat-hero .wrap{max-width:900px}
.cat-hero .section-eyebrow{justify-content:center}
.cat-hero .section-eyebrow:before{display:none}
.cat-hero h1{
  font-family:var(--font-display);
  color:var(--cream);
  font-size:clamp(40px,6vw,72px);
  font-weight:900;
  line-height:1.05;
  letter-spacing:1px;
  margin-bottom:24px;
}
.cat-hero h1 em{
  font-family:var(--font-body);
  font-style:italic;
  font-weight:400;
  color:var(--gold);
}
.cat-hero .lede{margin:0 auto 30px;font-size:21px}
.cat-hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ── Menu index cards ─────────────────────────────────────────────────── */
.cat-index{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:18px;
  margin-top:10px;
}
.cat-index-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#ffffffd9;
  border:1px solid #376a9f4d;
  padding:24px 22px;
  text-decoration:none;
  transition:all .3s;
}
.cat-index-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 8px 24px #1c3d5c1f}
.cat-index-card .num{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:2.2px;
  color:var(--steel-light);
}
.cat-index-card h3{
  font-family:var(--font-display);
  font-size:22px;
  font-weight:700;
  line-height:1.15;
  color:var(--gold);
  letter-spacing:.5px;
}
.cat-index-card p{
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.5;
  color:var(--cream-dim);
  flex:1;
}
.cat-index-card .fare{
  font-family:var(--font-mono);
  font-size:13.5px;
  letter-spacing:1.6px;
  color:var(--gold-bright);
  border-top:1px dashed #376a9f59;
  padding-top:10px;
}

/* ── Individual catering menu blocks ──────────────────────────────────── */
.cat-menu{
  border-top:1px solid #376a9f33;
  padding-top:56px;
  margin-top:64px;
  scroll-margin-top:120px;
}
.cat-menu:first-of-type{border-top:0;padding-top:0;margin-top:0}

.cat-menu-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}
.cat-menu-head h2{
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,46px);
  font-weight:900;
  letter-spacing:1px;
  line-height:1.05;
  color:var(--cream);
}
.cat-menu-kicker{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:2.4px;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:10px;
}
.cat-menu-tagline{
  font-family:var(--font-body);
  font-style:italic;
  font-size:20px;
  color:var(--cream-dim);
  margin-bottom:28px;
  max-width:680px;
}

.fare-badge{
  flex:none;
  text-align:center;
  border:1px solid var(--gold);
  background:#376a9f14;
  padding:12px 22px;
  min-width:150px;
}
.fare-badge .amount{
  display:block;
  font-family:var(--font-display);
  font-size:32px;
  font-weight:900;
  color:var(--gold-bright);
  line-height:1;
}
.fare-badge .unit{
  display:block;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:2.2px;
  text-transform:uppercase;
  color:var(--cream-dim);
  margin-top:8px;
}

/* Selection tiers — "how it works" strip */
.tier-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:0;
  border:1px solid #5a6b7f4d;
  background:#ffffffb8;
  margin-bottom:34px;
}
.tier{padding:18px 22px;border-right:1px solid #5a6b7f33}
.tier:last-child{border-right:0}
.tier .head{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:2.2px;
  text-transform:uppercase;
  color:var(--steel-light);
  margin-bottom:6px;
}
.tier .body{
  font-family:var(--font-body);
  font-size:18px;
  color:var(--cream);
  line-height:1.4;
}
.tier .body strong{color:var(--gold);font-weight:700}

.cat-cols{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:26px;
  align-items:start;
}
.cat-menu .menu-section{margin-bottom:0}

.upcharge{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:0.9px;
  color:var(--copper);
  white-space:nowrap;
}

/* ── Shared "add to any menu" band ────────────────────────────────────── */
#extras{
  background:
    radial-gradient(ellipse at 20% 30%, #5a6b7f1a 0%, transparent 60%),
    linear-gradient(180deg, var(--coal) 0%, var(--black) 100%);
}
.included-note{
  border:1px dashed #376a9f66;
  background:#ffffffb8;
  padding:26px 30px;
  margin-top:26px;
}
.included-note h3{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:2.4px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:12px;
}
.included-note p{
  font-family:var(--font-body);
  font-size:18px;
  color:var(--cream);
  line-height:1.6;
}

/* ── Booking CTA ──────────────────────────────────────────────────────── */
.cat-book{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:24px;
  margin-top:10px;
}
.cat-book .gather-card .phone{
  font-family:var(--font-display);
  font-size:30px;
  font-weight:700;
  color:var(--gold);
  text-decoration:none;
  letter-spacing:1px;
}
.cat-book .gather-card .phone:hover{color:var(--gold-bright)}

@media (max-width:820px){
  .cat-hero{padding:120px 24px 70px}
  .cat-menu-head{align-items:flex-start}
  .fare-badge{min-width:130px;padding:10px 18px}
  .tier{border-right:0;border-bottom:1px solid #5a6b7f33}
  .tier:last-child{border-bottom:0}
}
