.catering-hero img { aspect-ratio: 1; }
.catering-collection, .catering-contact { padding: clamp(35px, 6vw, 88px) var(--editorial-edge); }
.catering-collection h2 { margin-bottom: clamp(22px, 4vw, 46px); }
.catering-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(24px, 4vw, 54px) clamp(12px, 2.2vw, 36px); }
.catering-grid a { display: block; color: var(--dark-sage); text-decoration: none; }
.catering-grid a:hover h3 { text-decoration: underline; }
.catering-grid img { aspect-ratio: 1; object-fit: cover; background: var(--editorial-cream); }
.catering-grid h3 { font-size: clamp(17px, 2vw, 27px); letter-spacing: -.02em; margin: 14px 0 8px; }
.catering-grid p { max-width: 38ch; }
.catering-contact { background: var(--editorial-cream); }
.catering-contact p { max-width: 57ch; margin: 16px 0 20px; }
@media (max-width: 900px) { .catering-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.catering-inquire { display: block; padding: 8px 0; min-height: 44px; border: 0; background: transparent; text-align: left; text-decoration: underline; color: var(--dark-sage); font-weight: 600; }
.catering-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; max-width: 720px; margin-bottom: 20px; }
.catering-fields label { display: grid; gap: 5px; font-weight: 600; }
.catering-contact .catering-email-note { margin: 8px 0 0; font-size: 14px; overflow-wrap: anywhere; }
@media (max-width: 540px) { .catering-fields { grid-template-columns: minmax(0, 1fr); } }
