/* Catering styles are isolated; shared brand styles remain in ../style.css. */
.catering-page .catering-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4vw;min-height:900px;min-height:100svh}
.catering-page .catering-hero h1{font-size:clamp(3rem,5.6vw,7rem);line-height:.98;letter-spacing:-.065em}
.catering-page .hero-actions{flex-wrap:wrap;gap:22px}
.catering-photo{position:relative;overflow:hidden;margin:0;min-width:0;background:#21152c;color:#fff;border:1px solid #ffffff26}
.catering-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.catering-hero-image{width:100%;height:auto;aspect-ratio:1.38;min-height:0;align-self:center;margin-top:20px;border-radius:180px 180px 3px 3px}
.catering-hero-image>img{object-position:center 57%}
.catering-hero-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(23,13,34,.2));pointer-events:none}
.catering-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.catering-card{padding:0 0 24px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:3px}
.catering-card-image{display:block;width:100%;height:auto;aspect-ratio:1.32;object-fit:cover}
.catering-number{display:block;color:var(--purple);font-size:.72rem;letter-spacing:.12em;margin:23px 24px 20px}
.catering-card h3{font-size:1.45rem;line-height:1.15;letter-spacing:-.035em;min-height:2.3em;margin:0 24px 18px}
.catering-card p{color:#615d69;font-size:.94rem;margin:0 24px}
.catering-page .catering-why h2 em{color:var(--acid)}
.catering-occasions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;align-items:center;background:#fff}
.catering-detail-image{height:680px;border-radius:3px}
.catering-detail-image>img{object-position:center 52%}
.catering-occasion-copy{min-width:0}
.catering-occasion-copy .section-heading{display:block;margin-bottom:32px}
.catering-occasion-copy .section-heading h2{font-size:clamp(2.8rem,4.5vw,5.5rem)}
.catering-occasion-copy .section-heading>p:last-child{margin-top:28px}
.occasion-list{padding:0;margin:0 0 32px;list-style:none}
.occasion-list li{border-top:1px solid var(--line);padding:20px 0}
.occasion-list h3{font-size:1.1rem;margin:0 0 7px;letter-spacing:-.025em}
.occasion-list p{margin:0;color:#615d69;font-size:.94rem}
.catering-page .contact-content{min-width:0}
.catering-page .contact-mail span:nth-child(2){overflow-wrap:anywhere;min-width:0}
.catering-page .contact h2{line-height:.98}
@media(max-width:1100px){.catering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.catering-page .catering-hero{grid-template-columns:1fr;gap:48px}.catering-page .catering-hero h1{font-size:clamp(3rem,8vw,6rem)}.catering-hero-image{width:100%;height:auto;min-height:0;max-width:780px;aspect-ratio:1.45;justify-self:center;border-radius:160px 160px 3px 3px}.catering-occasions{grid-template-columns:1fr;gap:48px}.catering-detail-image{height:auto;aspect-ratio:1.16}}
@media(max-width:680px){.catering-page .catering-hero{padding-top:150px}.catering-page .catering-hero h1{font-size:clamp(2rem,8.5vw,3.7rem)}.catering-page .eyebrow{font-size:.62rem;letter-spacing:.12em}.catering-grid{grid-template-columns:1fr}.catering-card{padding:0 0 24px}.catering-card-image{aspect-ratio:1.36}.catering-number{margin:20px 22px 16px}.catering-card h3{margin-inline:22px}.catering-card p{margin-inline:22px}.catering-hero-image{height:auto;min-height:0;aspect-ratio:1.28;margin-top:0}.catering-detail-image{height:auto;aspect-ratio:.92}.catering-page .contact h2{font-size:clamp(2.7rem,12vw,5rem)}.catering-page .contact-mail{gap:8px;font-size:.82rem}}
