/* Catering: connected copy and photography, compact menus and practical groups. */
.catering-page .catering-story{padding-top:28px;padding-bottom:28px}
.catering-story h2,.catering-page .menu-title h2{font-size:clamp(30px,2.8vw,39px);line-height:1.15;letter-spacing:-.025em}
.catering-story .catering-copy>h2{margin:0 0 16px}
.catering-story .catering-copy>p{font-size:16px;line-height:1.7;max-width:65ch}
.catering-story--image{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:start}
.catering-media{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;align-items:start;min-width:0}
.catering-media figure{margin:0!important;min-width:0}
.catering-media img{width:100%;height:280px;max-height:none;object-fit:cover}
.catering-media figure:nth-child(2){padding-top:0}
.catering-media figure:nth-child(2) img{height:280px}
.catering-media figcaption{font-size:11px;letter-spacing:.07em;text-transform:none;line-height:1.5;margin-top:9px}
.catering-story--text>.catering-copy{display:block;max-width:1000px}
.catering-story--text>.catering-copy>h2{margin:0 0 16px;max-width:none}
.catering-story--text>.catering-copy>p{max-width:85ch}
.catering-story--text .catering-copy>p+p{margin-top:16px}
.catering-story .catering-copy>.text-link{margin-bottom:0}
.catering-process,.catering-practical,.catering-clients{display:block}
.catering-process>h2,.catering-practical>h2,.catering-clients>h2{margin:0 0 26px}
.catering-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;counter-reset:step}
.catering-step{border-top:1px solid var(--red);padding-top:18px;counter-increment:step}
.catering-step::before{content:"0" counter(step);display:block;font:38px/1 var(--serif);color:var(--red);margin-bottom:16px}
.catering-step h5,.catering-fact h5{font:500 19px/1.35 var(--sans);margin:0 0 12px}
.catering-step p,.catering-fact p{font-size:16px;line-height:1.65}
.catering-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.catering-fact{border-top:1px solid var(--line);padding-top:18px}
.catering-highlights{grid-column:1/-1;margin-top:24px}
.catering-highlights .catering-fact{margin-top:0}
.catering-requirements{background:#e9e7dc}
.catering-requirements .catering-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.catering-clients .editorial-images img{width:100%;height:auto;max-height:190px;object-fit:contain;object-position:left center}
.catering-enquiry{display:grid;grid-template-columns:1fr 1.25fr;gap:7%;align-items:start;background:#e9e7dc}
.catering-enquiry .catering-copy{padding-top:10px}
.catering-enquiry .catering-copy>h2{max-width:none}
.catering-form-panel{background:#faf8f1;padding:24px 30px;border:1px solid var(--line)}
.catering-form-panel .contact-form{margin-top:0}
.catering-page .menu-section{border-bottom:1px solid var(--line)}
.catering-page .menu-title{max-width:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px}
.catering-page .menu-title>.tiny{flex-basis:100%}
.catering-page .menu-title>h2{margin:8px 0}
.catering-page .menu-title>p{font-size:15px;max-width:60ch}
.catering-page .menu-nav{margin-top:20px}
.catering-page .menu-category{display:block;padding-top:24px;padding-bottom:24px}
.catering-page .menu-category-title{display:flex;align-items:center;gap:14px;min-height:70px;margin-bottom:20px;overflow:visible}
.catering-page .menu-category-title h3{font-size:34px;line-height:1.1;margin:0;overflow-wrap:anywhere}
.catering-page .menu-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px;align-items:start}
.catering-page .catering-menu-group:only-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.catering-page .catering-menu-group:only-child>h3{grid-column:1/-1}
.catering-page .menu-items h3{margin:0 0 10px;font-size:12px;line-height:1.5}
.catering-page .dish{padding:10px 0}
.catering-page .dish h5{font-size:24px;line-height:1.22}
.catering-page .dish p{font-size:14px;line-height:1.6}
.catering-page .menu-photo{height:70px;width:105px;margin:0 0 0 auto;object-fit:cover}
.catering-page .menu-pizza{width:80px;height:80px;object-fit:contain;margin:0 0 0 auto;transform:rotate(-10deg)}
.catering-page .occasion-strip{padding-top:12px;padding-bottom:12px}
@media(max-width:1100px){
  .catering-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catering-media img,.catering-media figure:nth-child(2) img{height:240px}
  .catering-page .menu-items{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catering-page .catering-menu-group:only-child{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:761px) and (max-width:1000px){
  .catering-story--image{grid-template-columns:1fr;gap:20px}
  .catering-story .catering-copy>p{max-width:85ch}
  .catering-media{max-width:100%}
}
@media(max-width:760px){
  .catering-page .catering-story{padding-top:26px;padding-bottom:26px}
  .catering-story--image,.catering-enquiry{grid-template-columns:1fr;gap:24px}
  .catering-story--text>.catering-copy{display:block}
  .catering-story--text>.catering-copy>h2{max-width:none;margin-bottom:18px}
  .catering-story .catering-copy>h2{font-size:32px;max-width:none}
  .catering-media{gap:12px}
  .catering-media img,.catering-media figure:nth-child(2) img{height:220px}
  .catering-media figure:nth-child(2){padding-top:0}
  .catering-media:has(figure:only-child) img{height:240px}
  .catering-steps,.catering-requirements .catering-facts{grid-template-columns:1fr;gap:22px}
  .catering-step{position:relative;padding:18px 0 0 48px}
  .catering-step::before{position:absolute;left:0;top:18px;font-size:30px}
  .catering-facts{gap:22px}
  .catering-fact h5{font-size:18px}
  .catering-form-panel{padding:20px}
  .catering-page .menu-category{display:block;padding-top:24px;padding-bottom:24px}
  .catering-page .menu-category-title{min-height:0;margin-bottom:20px}
  .catering-page .menu-category-title h3{font-size:30px;margin:0}
  .catering-page .menu-photo,.catering-page .menu-pizza{display:none}
  .catering-page .menu-items{gap:24px 20px}
  .catering-page .menu-title{display:block}
  .catering-page .menu-title>h2{margin:14px 0}
  .catering-page .menu-nav{overflow-x:auto;gap:20px;justify-content:flex-start}
  .catering-page .menu-nav a{white-space:nowrap;font-size:14px}
}
@media(max-width:480px){
  .catering-page .menu-items,.catering-facts{grid-template-columns:1fr}
  .catering-page .catering-menu-group:only-child{grid-template-columns:1fr}
  .catering-media img,.catering-media figure:nth-child(2) img{height:190px}
}
