.catering-hero{background:var(--deep);color:var(--paper);padding:64px 0;overflow:hidden}
.catering-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.catering-hero h1{font-size:clamp(3.4rem,6vw,6.2rem);line-height:1.02;letter-spacing:-.05em;margin:25px 0}
.catering-hero h1 em,.catering-contact h2 em{color:var(--gold-light)}
.catering-hero p{color:#dfd5d1;line-height:1.8;max-width:440px;margin:0 0 28px}
.catering-hero-meta{font-size:11px;letter-spacing:.04em;color:#d7cfbc;margin-top:28px}
.catering-hero-meta span{margin:0 12px;color:var(--gold-light)}
.catering-hero-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}
.catering-hero figure{position:relative;margin:0;min-width:0}
.catering-hero img{display:block;width:100%;height:auto}
.catering-hero-photos .photo-frame{display:flex;aspect-ratio:3/4;align-items:center;justify-content:center}
.catering-hero-photos img{width:100%;height:100%;object-fit:contain}
.catering-hero figcaption{color:var(--gold-light);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding-top:12px}
.catering-list{padding-top:70px;padding-bottom:65px}
.catering-list-heading{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:end;margin-bottom:28px}
.catering-list-heading h2{font-size:clamp(2.8rem,4.5vw,4.7rem);margin:18px 0 0;letter-spacing:-.04em}
.catering-list-heading h2 em{color:var(--bronze)}
.catering-list-heading p{color:var(--muted);line-height:1.8;max-width:530px;margin-bottom:4px;font-size:14px}
.catering-tabs{position:sticky;top:calc(var(--header-height) - 1px);z-index:15;background:var(--cream);display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}
.catering-tabs button{flex-shrink:0;border:1px solid var(--line);padding:12px 20px;background:transparent;color:var(--ink);font:inherit;font-size:13px;cursor:pointer;transition:background .2s,color .2s}
.catering-tabs button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--paper)}
.catering-tabs button:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.catering-count{font-size:11px;letter-spacing:.04em;color:var(--muted);margin:16px 0 24px}
.catering-prices{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:0}
.catering-prices [hidden]{display:none}
.catering-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:7%;align-items:center;margin:10px 0 8px;background:var(--stone);padding:32px 8% 32px 32px;min-width:0}
.catering-feature figure{margin:0;max-width:300px;min-width:0}
.catering-feature img{width:100%;height:auto;display:block}
.catering-feature h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(3rem,5vw,5rem);font-weight:400;line-height:1;letter-spacing:-.04em;margin:22px 0}
.catering-feature h3 em{color:var(--bronze)}
.catering-feature p{color:var(--muted);max-width:390px;line-height:1.8;font-size:15px}
.catering-feature-note{display:block;border-top:1px solid #80603955;padding-top:18px;margin-top:26px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze)}
.catering-feature-sweet{background:var(--deep);color:var(--paper);margin-top:36px}
.catering-feature-sweet h3 em{color:var(--gold-light)}
.catering-feature-sweet p{color:#dfd5d1}
.catering-feature-sweet .catering-feature-note{color:var(--gold-light);border-color:#c8a66e55}
/* Category titles and prices share one continuous menu, without uneven cards. */
.catering-category{display:grid;grid-template-columns:minmax(0,.26fr) minmax(0,.74fr);gap:48px;min-width:0;padding:26px 0;border-bottom:1px solid var(--line)}
.catering-category header{position:relative;min-width:0;padding:8px 0}
.catering-category h3{font-size:28px;line-height:1.25;margin:0;letter-spacing:-.025em;color:var(--ink);font-weight:400}
.catering-category ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;list-style:none;padding:0;margin:0;align-content:start}
.catering-category li{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid #80603926;line-height:1.6;font-size:15px;min-width:0}
.catering-category li:last-child{border-bottom:0}
.catering-price{font-family:'Playfair Display',Georgia,serif;font-size:20px;color:var(--bronze);white-space:nowrap;font-weight:400;font-variant-numeric:tabular-nums}
.catering-drinks-heading{grid-column:1/-1;padding-top:28px}
.catering-drinks-heading h3{font-size:clamp(2.8rem,4vw,4rem);margin:16px 0;letter-spacing:-.04em;font-weight:400}
.catering-drinks-heading h3 em{color:var(--bronze)}
.catering-drinks-heading p{font-size:12px;line-height:1.7;color:var(--muted)}
.catering-moments{padding-top:20px;padding-bottom:80px}
.catering-moments-heading{border-top:1px solid var(--line);padding-top:40px}
.catering-moments h2{font-size:clamp(2.6rem,4vw,4rem);margin:18px 0;letter-spacing:-.04em}
.catering-moments h2 em{color:var(--bronze)}
.catering-moments-heading p{font-size:14px;color:var(--muted)}
.catering-moments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;margin-top:32px}
.catering-moments figure{margin:0;min-width:0}
.catering-moments figure:first-child{margin-top:0}
.catering-moments figure:last-child{margin-top:0}
.catering-moments img{width:100%;height:auto;display:block}
.catering-moments figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}
.catering-contact{padding:65px 0;background:var(--primary);color:var(--paper)}
.catering-contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:center}
.catering-contact h2{font-size:clamp(2.8rem,4.5vw,4.5rem);margin:22px 0;line-height:1.1}
.catering-contact p{color:#dfd5d1;line-height:1.8;max-width:430px}
.catering-contact address{display:flex;flex-direction:column;align-items:flex-start;gap:20px;font-style:normal;line-height:1.6}
.catering-contact address a{text-decoration:none;color:var(--paper);overflow-wrap:anywhere}
.catering-contact-name{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light)}
.catering-phone{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem)}
@media(max-width:940px){
 .catering-hero{padding:40px 0}
 .catering-hero-grid,.catering-list-heading,.catering-contact-grid{grid-template-columns:1fr;gap:28px}
 .catering-hero h1{font-size:clamp(3rem,10vw,4.8rem);margin:20px 0}
 .catering-hero p{font-size:15px;max-width:560px}
 .catering-hero-photos{max-width:570px;width:100%;gap:16px;margin:0 auto}
 .catering-hero-meta{margin-top:20px}
 .catering-tabs{top:calc(var(--header-height) - 1px);gap:6px}
 .catering-tabs button{font-size:12px;padding:11px 14px}
 .catering-feature{padding:24px;gap:7%;grid-template-columns:.8fr 1fr}
 .catering-feature h3{font-size:44px}
 .catering-feature p{font-size:14px;line-height:1.7}
 .catering-feature-note{font-size:10px;line-height:1.6;margin-top:18px;padding-top:14px}
 .catering-feature-sweet{margin-top:20px}
 .catering-category{gap:28px;grid-template-columns:minmax(0,.3fr) minmax(0,.7fr)}
 .catering-category ul{grid-template-columns:minmax(0,1fr)}
 .catering-category h3{font-size:27px}
 .catering-moments-grid{gap:16px}
 .catering-moments{padding-bottom:50px}
 .catering-contact{padding:45px 0}
}
@media(max-width:600px){
 .catering-hero-photos{max-width:350px}
 .catering-hero figcaption{font-size:9px;letter-spacing:.08em}
 .catering-list{padding-top:42px;padding-bottom:42px}
 .catering-list-heading{gap:16px;margin-bottom:18px}
 .catering-list-heading h2{font-size:42px;margin-top:14px}
 .catering-list-heading p{font-size:13px}
 .catering-prices{grid-template-columns:minmax(0,1fr);gap:0}
 .catering-feature{padding:18px;gap:18px;grid-template-columns:.8fr 1fr}
 .catering-feature .section-kicker{font-size:8px;letter-spacing:.1em}
 .catering-feature h3{font-size:36px;margin:12px 0}
 .catering-feature p{font-size:12px;line-height:1.6}
 .catering-feature-note{font-size:9px;letter-spacing:.03em;margin-top:12px;padding-top:10px}
 .catering-category{grid-template-columns:minmax(0,1fr);gap:4px;padding:22px 0}
 .catering-category h3{font-size:27px}
 .catering-category header{padding:0 0 8px}
 .catering-category li{font-size:14px;gap:14px;padding:12px 0}
 .catering-price{font-size:19px}
 .catering-moments-heading{padding-top:28px}
 .catering-moments-grid{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px}
 .catering-moments figure:first-child{grid-column:auto;margin:0}
 .catering-moments figure:last-child{margin-top:0}
}

@media(min-width:941px) and (max-width:1100px){.catering-category ul{grid-template-columns:minmax(0,1fr)}.catering-category{grid-template-columns:minmax(0,.3fr) minmax(0,.7fr)}}

/* A matching photograph for every price category, with uncropped previews. */
.catering-category-photo{margin:0 0 16px;width:100%;max-width:340px}
.catering-category-photo img{display:block;width:100%;height:auto}
.catering-category header{padding-top:12px}
.catering-moments-grid .photo-frame{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--stone);padding:10px}
.catering-moments-grid img{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
.catering-moments figcaption{margin-top:12px;line-height:1.6}
@media(max-width:600px){
 .catering-category header{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:16px;padding-top:0;padding-bottom:8px}
 .catering-category-photo{margin:0;max-width:none}
 .catering-category h3{font-size:24px;overflow-wrap:anywhere}
 .catering-moments-grid .photo-frame{aspect-ratio:4/3;padding:8px}
}
.wine-product-link{display:inline-flex;gap:12px;margin-top:14px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:11px;line-height:1.5;color:var(--bronze)}
.wine-shop-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0 26px}
.catering-drinks-heading .wine-shop-invite p{font-size:15px;line-height:1.7;margin:0;max-width:440px;color:var(--ink)}
.wine-shop-invite .button{min-width:0;font-size:10px;gap:20px;letter-spacing:.07em}
@media(max-width:600px){
 .wine-shop-invite{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 0 22px}
 .wine-shop-invite .button{max-width:100%;padding:16px}
}
/* Lifestyle selection from COOP WINE, separate from the catering price groups. */
.wine-scenes{scroll-margin-top:160px;grid-column:1/-1;padding:6px 0 0;min-width:0}
.wine-scenes-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 22px}
.wine-scenes-heading p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}
.wine-scenes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.wine-scene-card{min-width:0;background:var(--paper)}
.wine-scene-card figure{margin:0}
.wine-scene-card img{display:block;width:100%;height:auto}
.wine-scene-copy{padding:23px 22px 25px}
.wine-scene-copy .micro{font-size:9px;line-height:1.6;letter-spacing:.13em}
.wine-scene-card h4{font-family:'Playfair Display',Georgia,serif;font-size:27px;font-weight:400;letter-spacing:-.025em;line-height:1.25;margin:12px 0 0}
.wine-scene-copy .wine-product-link{font-size:10px;line-height:1.6}
.wine-prices-label{margin:32px 0 0;padding:22px 0 0;border-top:1px solid var(--line);color:var(--bronze);font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:1.6}
@media(max-width:940px){.wine-scenes-grid{gap:16px}.wine-scene-copy{padding:18px 16px 21px}.wine-scene-card h4{font-size:23px}}
@media(max-width:600px){
 .wine-scenes-heading{display:block;margin-bottom:18px}
 .wine-scenes-heading p{margin-top:12px;font-size:10px}
 .wine-scenes-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .wine-scene-copy{padding:20px}
 .wine-scene-card h4{font-size:27px}
 .catering-wine-prices header{display:block;padding:0 0 8px}
}
/* Compact, automatically advancing wine cards on phones. */
:is(.wine-scenes,.catering-moments) .card-strip-tools{display:none}
@media(max-width:600px){
 .wine-scenes-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;gap:14px;padding-bottom:10px;align-items:stretch}
 .wine-scene-card{flex:0 0 calc(100% - 18px);min-width:0;scroll-snap-align:start}
 :is(.wine-scenes,.catering-moments) .card-strip-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 20px;font-size:10px;line-height:1.6;color:var(--bronze)}
 :is(.wine-scenes,.catering-moments) .card-strip-tools>div{display:flex;gap:8px}
 :is(.wine-scenes,.catering-moments) .card-strip-tools button{width:40px;height:40px;border:1px solid var(--bronze);border-radius:50%;background:transparent;color:var(--ink);font-size:20px;cursor:pointer}
 :is(.wine-scenes,.catering-moments) .card-strip-tools button:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
 :is(.wine-scenes,.catering-moments) .swipe-hint{display:inline-block;margin-left:auto;font-size:22px;color:var(--bronze)}
 :is(.wine-scenes,.catering-moments) .hint-active .swipe-hint{animation:wine-swipe-hint 1.6s ease-in-out 3}
}
@keyframes wine-swipe-hint{0%,100%{transform:translateX(0);opacity:.6}35%{transform:translateX(-5px);opacity:1}70%{transform:translateX(5px);opacity:1}}
@media(prefers-reduced-motion:reduce){:is(.wine-scenes,.catering-moments) .hint-active .swipe-hint{animation:none}}

@media(max-width:600px){
 .catering-moments-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;gap:14px;padding-bottom:10px;align-items:stretch}
 .catering-moments-grid>figure{flex:0 0 calc(100% - 18px);min-width:0;scroll-snap-align:start}
}

@media(max-width:600px){
 .catering-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible}
 .catering-tabs button{width:100%;min-width:0;white-space:normal;text-align:center}
}
