.catering-hero, .catering-essentials, .catering-collection, .catering-order { color: #173b38; font: 16px/1.65 Arial, Helvetica, sans-serif; }
.catering-hero *, .catering-essentials *, .catering-collection *, .catering-order * { box-sizing: border-box; }
.catering-hero { position: relative; overflow: hidden; padding: clamp(44px, 6vw, 88px) 24px; background: #faf6ee; }
.catering-hero__inner { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 40px; width: min(1180px, 100%); margin: auto; }
.catering-eyebrow { margin: 0 0 18px; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.catering-hero h1 { margin: 0 0 24px; font: 400 clamp(38px, 4.7vw, 66px)/1.07 Georgia, serif; letter-spacing: -.035em; }
.catering-hero h1 em { color: #94602d; font-weight: 400; }
.catering-intro { max-width: 540px; font-size: 18px; }
.catering-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; margin: 28px 0; }
.catering-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 22px; min-height: 48px; border-radius: 999px; background: #173b38; color: #fff9eb; font-size: 14px; font-weight: 700; text-decoration: none; }
.catering-button:hover { background: #396f86; }
.catering-text-link { display: inline-flex; align-items: center; min-height: 44px; color: inherit; font-size: 14px; font-weight: 700; text-underline-offset: 5px; }
.catering-hero__note { padding-top: 22px; border-top: 1px solid #173b3833; font-size: 12px; letter-spacing: .04em; }
.catering-hero__art { margin: 0; padding: 12px; border: 1px solid #b8874945; border-radius: 48% 48% 8px 8px; background: #f0e5d0; transform: rotate(2deg); }
.catering-hero__art img { display: block; width: 100%; height: auto; }
.catering-hero__art figcaption { margin-top: -26px; padding: 12px; text-align: center; font: italic 18px/1.4 Georgia, serif; }
.catering-essentials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 36px max(24px, calc((100% - 1180px) / 2)); gap: 32px; border-block: 1px solid #173b3825; background: #f0e7d8; }
.catering-essentials .catering-eyebrow { display: block; margin-bottom: 10px; }
.catering-essentials strong { font: 400 25px/1.2 Georgia, serif; }
.catering-essentials p { margin: 12px 0 0; font-size: 14px; }
.catering-collection { padding: 64px 0 32px; background: #ece6db; }
.catering-collection__heading { max-width: 850px; margin: auto; padding: 0 24px 12px; text-align: center; }
.catering-collection h2:not(.menu-title):not(.section-title), .catering-order h2 { margin: 0 0 20px; font: 400 clamp(34px, 4vw, 48px)/1.1 Georgia, serif; letter-spacing: -.03em; }
.catering-category-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 28px 0 8px; }
.catering-category-links a { display: inline-flex; align-items: center; padding: 8px 14px; min-height: 44px; border: 1px solid #173b3845; border-radius: 999px; color: #173b38; font-size: 13px; font-weight: 700; text-decoration: none; }
.catering-category-links a:hover { background: #173b38; color: #faf6ee; }
.catering-order { padding: 64px 24px; color: #fff9eb; background: #173b38; }
.catering-order > div { max-width: 800px; margin: auto; }
.catering-order .catering-eyebrow { color: #edc38a; }
.catering-order .catering-button { color: #173b38; background: #edc38a; }
.catering-order__note { max-width: 660px; font-size: 13px; color: #e4ddce; }
.catering-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 760px) {
  .catering-hero__inner { grid-template-columns: 1fr; gap: 32px; }
  .catering-hero__art { max-width: 420px; width: 100%; margin: auto; }
  .catering-essentials { grid-template-columns: 1fr; gap: 24px; }
  .catering-essentials > div + div { border-top: 1px solid #173b3825; padding-top: 24px; }
}
@media print {
  .site-header, .skip-link, .catering-hero, .catering-essentials, .catering-collection__heading, .catering-order, .site-footer { display: none !important; }
  #site-content { padding: 0 !important; }
  .catering-collection { padding: 0; background: #fff; }
}
