.catering-page{--ink:#17221e;--muted:#60716a;--green:#0f7a5d;--green-dark:#07533f;--soft:#eef9f5;--gold:#c89a35;--line:#dce8e3;--warm:#fffaf1;color:var(--ink);background:#fff;overflow:clip}.catering-page[hidden],[data-catering-v3] [hidden]{display:none!important}.catering-page button,.catering-page input,.catering-page select,.catering-page textarea{font:inherit}.catering-page a{-webkit-tap-highlight-color:transparent}.catering-page .eyebrow{margin:0 0 8px;color:var(--green);font-size:.76rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.catering-hero{padding:12px 0 54px}.catering-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);min-height:445px;border-radius:28px;background:linear-gradient(135deg,#f4fbf8,#fffaf1);box-shadow:0 20px 54px rgba(15,83,63,.1);overflow:hidden}.catering-hero-copy{align-self:center;padding:clamp(32px,5vw,64px)}.catering-hero-copy h1{max-width:700px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,4.8vw,4.6rem);line-height:1;letter-spacing:-.045em}.catering-hero-copy>p:not(.eyebrow){max-width:650px;margin:20px 0 0;color:var(--muted);font-size:1.06rem;line-height:1.7}.catering-hero-proof{display:flex;gap:10px;align-items:center;max-width:620px;margin-top:21px;padding:12px 14px;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:rgba(255,255,255,.72)}.catering-hero-proof strong{font-size:.8rem}.catering-hero-proof span{color:var(--muted);font-size:.78rem}.catering-hero-copy ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:23px 0 0;padding:0;list-style:none}.catering-hero-copy li{padding:12px;border:1px solid rgba(15,122,93,.16);border-radius:13px;background:rgba(255,255,255,.78)}.catering-hero-copy li strong,.catering-hero-copy li span{display:block}.catering-hero-copy li strong{color:var(--green-dark);font-size:1rem}.catering-hero-copy li span{margin-top:4px;color:var(--muted);font-size:.7rem}.catering-hero-visual{position:relative;min-height:445px;background:#d6e8e0}.catering-hero-visual img{display:block;width:100%;height:100%;object-fit:cover}.catering-hero-visual:after{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,49,37,.05),rgba(7,49,37,.2));content:"";pointer-events:none}.catering-hero-visual>div{position:absolute;right:22px;bottom:22px;z-index:2;max-width:260px;padding:17px 18px;border-radius:15px;color:#fff;background:rgba(7,55,42,.9);box-shadow:0 14px 30px rgba(7,42,32,.2)}.catering-hero-visual span,.catering-hero-visual strong{display:block}.catering-hero-visual span{color:#ccecdf;font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.catering-hero-visual strong{margin-top:6px;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.15}.catering-trust-section,.catering-category-section,.catering-catalog-section,.catering-booking-section{padding:64px 0}.catering-trust-section{background:#fbfdfc}.catering-section-heading{max-width:850px}.catering-section-heading.text-center{margin-inline:auto;text-align:center}.catering-section-heading h2{margin:0;font-size:clamp(1.9rem,3.9vw,3.15rem);line-height:1.08;letter-spacing:-.035em}.catering-section-heading>p:last-child{margin:13px 0 0;color:var(--muted);line-height:1.7}.catering-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:28px}.catering-trust-grid figure{position:relative;margin:0;border-radius:15px;background:#e2eee9;overflow:hidden;box-shadow:0 8px 22px rgba(20,63,51,.07)}.catering-trust-grid figure:first-child{grid-column:span 2;grid-row:span 2}.catering-trust-grid img{display:block;width:100%;height:190px;object-fit:cover}.catering-trust-grid figure:first-child img{height:396px}.catering-trust-grid figcaption{position:absolute;right:8px;bottom:8px;left:8px;padding:8px 10px;border-radius:9px;color:#fff;background:rgba(7,55,42,.84);font-size:.72rem;font-weight:750}.catering-category-section{background:#fff}.catering-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}.catering-category-card{position:relative;display:block;min-height:220px;border-radius:17px;color:#fff;background:#123b2f;overflow:hidden;text-decoration:none;box-shadow:0 11px 28px rgba(20,63,51,.1);transition:transform .16s ease,box-shadow .16s ease}.catering-category-card:hover,.catering-category-card:focus-visible{transform:translateY(-3px);box-shadow:0 17px 34px rgba(20,63,51,.18);outline:3px solid rgba(15,122,93,.16);outline-offset:2px}.catering-category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}.catering-category-card:after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,42,31,.05),rgba(5,42,31,.92));content:""}.catering-category-card-content{position:absolute;right:15px;bottom:14px;left:15px;z-index:1}.catering-category-card strong,.catering-category-card small,.catering-category-card b{display:block}.catering-category-card strong{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;line-height:1.15}.catering-category-card small{margin-top:6px;color:rgba(255,255,255,.82);font-size:.75rem;line-height:1.4}.catering-category-card b{margin-top:9px;color:#d8f1e6;font-size:.76rem}.catering-catalog-section{background:#f7fbf9}.catering-menu-groups{display:grid;gap:43px;margin-top:32px}.catering-menu-group{scroll-margin-top:18px}.catering-menu-group-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}.catering-menu-group-heading h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.08}.catering-menu-group-heading p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:.88rem}.catering-menu-group-heading>a{flex:0 0 auto;color:var(--green-dark);font-size:.77rem;font-weight:850;text-underline-offset:3px}.catering-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catering-menu-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(20,63,51,.07);overflow:hidden}.catering-menu-card-image{position:relative;height:170px;background:#dfece7}.catering-menu-card-image img{display:block;width:100%;height:100%;object-fit:cover}.catering-menu-card-image span{position:absolute;top:12px;right:12px;padding:6px 10px;border-radius:999px;color:#fff;font-size:.72rem;font-weight:900}.tier-regular .catering-menu-card-image span{background:#287b60}.tier-medium .catering-menu-card-image span{background:#b17a19}.tier-large .catering-menu-card-image span{background:#513b82}.tier-special .catering-menu-card-image span{background:#245b89}.catering-menu-card-body{display:flex;min-height:360px;flex:1;flex-direction:column;padding:16px}.catering-menu-kicker{margin:0 0 6px;color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.catering-menu-card h4{margin:0;font-size:1.08rem;line-height:1.3}.catering-menu-card-body>p:not(.catering-menu-kicker):not(.catering-event-note){margin:9px 0 0;color:var(--muted);font-size:.8rem;line-height:1.52}.catering-menu-preview{display:grid;gap:6px;margin:13px 0 0;padding:11px 12px;border-radius:10px;background:#f3f8f5;list-style:none}.catering-menu-preview li{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.72rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.catering-menu-preview strong{color:var(--ink)}.catering-price-row{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px}.catering-price-row small{color:var(--muted);font-size:.68rem;line-height:1.35}.catering-price-row strong{display:block;margin-top:2px;color:var(--ink);font-size:1.17rem}.catering-event-note{margin:10px 0 0;color:var(--green-dark);font-size:.72rem;font-weight:800}.catering-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.catering-menu-actions button,.catering-dialog-actions button{min-height:42px;padding:9px 10px;border:1px solid var(--green);border-radius:10px;color:var(--green-dark);background:#fff;font-size:.77rem;font-weight:850;cursor:pointer}.catering-menu-actions button.primary,.catering-dialog-actions .button-whatsapp{color:#fff;background:var(--green)}.catering-menu-actions button:hover,.catering-menu-actions button:focus-visible,.catering-dialog-actions button:hover,.catering-dialog-actions button:focus-visible{outline:3px solid rgba(15,122,93,.16);outline-offset:1px}.catering-booking-section{color:#fff;background:#102a22}.catering-booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:45px;align-items:center}.catering-booking-section .eyebrow{color:#8bd5b9}.catering-booking-section h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.9rem,4vw,3.15rem);line-height:1.07}.catering-booking-section p:not(.eyebrow){margin:13px 0 0;color:rgba(255,255,255,.74);line-height:1.65}.catering-booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.catering-booking-actions .button{justify-content:center;text-align:center}.catering-booking-actions .button-dark{color:#fff;background:#24152b}.catering-menu-dialog{width:min(95vw,1060px);max-height:92vh;padding:0;border:0;border-radius:20px;color:var(--ink);background:#fff;box-shadow:0 30px 90px rgba(9,43,33,.34);overflow:auto}.catering-menu-dialog::backdrop{background:rgba(7,33,25,.74);backdrop-filter:blur(3px)}.catering-dialog-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.catering-dialog-header h2{margin:0;font-size:clamp(1.3rem,3vw,2rem);line-height:1.15}.catering-dialog-header>button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:#fff;font-size:1.6rem;cursor:pointer}.catering-dialog-body{padding:22px}.catering-full-menu{color:var(--muted);line-height:1.55}.catering-menu-intro{margin:0;color:var(--ink);font-size:.92rem}.catering-selection-help{margin-top:13px;padding:11px 13px;border-left:4px solid var(--gold);border-radius:0 9px 9px 0;color:#5d4816;background:#fff8df;font-size:.8rem}.catering-option-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px}.catering-option-group{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfc}.catering-option-group.is-missing{border-color:#c64b3f;background:#fff6f4}.catering-option-group legend{padding:0 4px;color:var(--green-dark);font-size:.82rem;font-weight:900}.catering-option-group legend small{display:block;margin-top:2px;color:var(--muted);font-size:.64rem;font-weight:600}.catering-option-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin-top:8px}.catering-option-group label{display:flex;min-width:0;gap:6px;align-items:flex-start;padding:4px;color:var(--ink);font-size:.72rem;line-height:1.35}.catering-option-group input{margin-top:2px;accent-color:var(--green)}.catering-service-notes{margin-top:15px;padding:12px 14px;border-radius:10px;background:#f3f8f5;font-size:.78rem}.catering-service-notes strong{color:var(--green-dark)}.catering-service-notes ul{margin:6px 0 0;padding-left:18px}.catering-price-table-wrap{margin-top:16px;overflow-x:auto}.catering-price-table{width:100%;border-collapse:collapse;font-size:.78rem}.catering-price-table th,.catering-price-table td{padding:8px 10px;border:1px solid var(--line);text-align:left}.catering-price-table th{color:#fff;background:var(--green-dark)}.catering-price-table tr.is-highlighted td{color:#5c450e;background:#fff1b9;font-weight:900}.catering-quote-form{margin-top:24px;padding-top:21px;border-top:1px solid var(--line)}.catering-quote-form[hidden]{display:none}.catering-quote-form h3{margin:0;font-size:1.18rem}.catering-form-note{margin:7px 0 0;color:var(--muted);font-size:.78rem}.catering-quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px}.catering-quote-fields label{display:grid;gap:5px;color:var(--ink);font-size:.76rem;font-weight:800}.catering-quote-fields label.wide{grid-column:1/-1}.catering-quote-fields input,.catering-quote-fields select,.catering-quote-fields textarea{width:100%;min-height:43px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;font-size:.82rem}.catering-quote-fields textarea{resize:vertical}.catering-quote-fields input:focus,.catering-quote-fields select:focus,.catering-quote-fields textarea:focus{border-color:var(--green);outline:3px solid rgba(15,122,93,.12)}.catering-quote-status{margin:12px 0 0;padding:10px 12px;border-radius:9px;color:#8e2d23;background:#fff0ed;font-size:.78rem;font-weight:800}.catering-dialog-actions{display:flex;flex-wrap:wrap;gap:9px;margin:21px 0 0;padding-top:16px;border-top:1px solid var(--line)}.catering-dialog-actions .button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.catering-dialog-actions .button-dark{color:#fff;background:#24152b}.catering-dialog-actions .button-secondary{color:var(--ink);background:#fff}
@media(max-width:1080px){.catering-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catering-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catering-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catering-trust-grid figure:first-child{grid-column:span 2}}
@media(max-width:760px){.catering-hero{padding-top:8px}.catering-hero-grid{grid-template-columns:1fr;min-height:0;border-radius:19px}.catering-hero-copy{padding:25px 20px}.catering-hero-copy h1{font-size:clamp(2rem,10vw,3rem)}.catering-hero-copy>p:not(.eyebrow){margin-top:14px;font-size:.91rem}.catering-hero-proof{align-items:flex-start;flex-direction:column;gap:3px}.catering-hero-copy ul{gap:6px;margin-top:18px}.catering-hero-copy li{padding:9px 7px}.catering-hero-copy li strong{font-size:.79rem}.catering-hero-copy li span{font-size:.6rem}.catering-hero-visual{min-height:220px;max-height:240px}.catering-hero-visual>div{right:12px;bottom:12px;padding:11px 13px}.catering-hero-visual strong{font-size:1.05rem}.catering-trust-section,.catering-category-section,.catering-catalog-section,.catering-booking-section{padding:44px 0}.catering-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px}.catering-trust-grid figure:first-child{grid-column:span 2;grid-row:auto}.catering-trust-grid img,.catering-trust-grid figure:first-child img{height:135px}.catering-trust-grid figure:first-child img{height:205px}.catering-trust-grid figcaption{font-size:.62rem;padding:6px}.catering-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}.catering-category-card{min-height:190px}.catering-category-card strong{font-size:.98rem}.catering-category-card small{font-size:.67rem}.catering-menu-groups{gap:31px;margin-top:24px}.catering-menu-group-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:11px}.catering-menu-group-heading h3{font-size:1.65rem}.catering-menu-grid{grid-template-columns:1fr;gap:12px}.catering-menu-card-image{height:170px}.catering-menu-card-body{min-height:0}.catering-booking-grid{grid-template-columns:1fr;gap:22px}.catering-booking-actions{grid-template-columns:1fr 1fr}.catering-option-groups{grid-template-columns:1fr}.catering-option-group>div{grid-template-columns:1fr 1fr}.catering-dialog-body{padding:16px}.catering-quote-fields{grid-template-columns:1fr}.catering-quote-fields label.wide{grid-column:auto}.catering-dialog-actions{flex-direction:column}.catering-dialog-actions>*{width:100%;justify-content:center}.catering-dialog-actions .button{width:100%}}
@media(max-width:390px){.catering-category-grid{grid-template-columns:1fr}.catering-booking-actions{grid-template-columns:1fr}.catering-option-group>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.catering-page *{scroll-behavior:auto!important;transition-duration:.01ms!important}}

.catering-hero-enquiry{margin-top:23px;padding:16px;border:1px solid rgba(15,122,93,.18);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 14px 28px rgba(15,83,63,.08)}.catering-hero-enquiry-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.catering-hero-enquiry-heading strong,.catering-hero-enquiry-heading span{display:block}.catering-hero-enquiry-heading strong{color:var(--green-dark);font-size:1.02rem}.catering-hero-enquiry-heading span{margin-top:4px;color:var(--muted);font-size:.73rem;line-height:1.35}.catering-hero-enquiry-heading>b{flex:0 0 auto;padding:6px 9px;border-radius:999px;color:#795c13;background:#fff1b9;font-size:.67rem;letter-spacing:.04em;text-transform:uppercase}.catering-hero-enquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.catering-hero-enquiry label{display:grid;gap:4px;color:var(--ink);font-size:.69rem;font-weight:850}.catering-hero-enquiry input,.catering-hero-enquiry select{width:100%;min-height:40px;padding:8px 9px;border:1px solid #cfe1da;border-radius:9px;color:var(--ink);background:#fff;font-size:.76rem}.catering-hero-enquiry input:focus,.catering-hero-enquiry select:focus{border-color:var(--green);outline:3px solid rgba(15,122,93,.13)}.catering-hero-enquiry-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:45px;margin-top:13px;padding:10px 13px;border:0;border-radius:10px;color:#fff;background:linear-gradient(110deg,#0f7a5d,#07533f);box-shadow:0 10px 18px rgba(7,83,63,.2);font-size:.82rem;font-weight:900;cursor:pointer}.catering-hero-enquiry-submit b{font-size:1.2rem;line-height:1}.catering-hero-enquiry-submit:hover,.catering-hero-enquiry-submit:focus-visible{outline:3px solid rgba(15,122,93,.2);outline-offset:2px}.catering-hero-enquiry small{display:block;margin-top:9px;color:var(--muted);font-size:.63rem;line-height:1.35}.catering-hero-enquiry-note{margin:8px 0 0;padding:8px 10px;border-radius:8px;color:var(--green-dark);background:#e9f8f1;font-size:.7rem;font-weight:800}.catering-hero-copy>.catering-hero-proof{margin-top:18px}
@media(max-width:760px){.catering-hero-enquiry{margin-top:17px;padding:13px;border-radius:14px}.catering-hero-enquiry-heading strong{font-size:.93rem}.catering-hero-enquiry-heading span{font-size:.67rem}.catering-hero-enquiry-grid{grid-template-columns:1fr;gap:8px;margin-top:12px}.catering-hero-enquiry input,.catering-hero-enquiry select{min-height:42px;font-size:.8rem}.catering-hero-enquiry-submit{min-height:47px;font-size:.8rem}.catering-hero-copy>.catering-hero-proof{margin-top:16px}}

.catering-category-card{isolation:isolate;background:#173c33}.catering-category-card:before{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.3),transparent 35%),radial-gradient(circle at 12% 88%,rgba(255,255,255,.15),transparent 42%);content:""}.catering-category-card:after{background:none}.catering-category-card-content{right:18px;bottom:18px;left:18px}.catering-category-card small{max-width:270px}.catering-category-card.tone-saffron{background:linear-gradient(135deg,#f59e0b,#9a3412)}.catering-category-card.tone-leaf{background:linear-gradient(135deg,#21845f,#07553f)}.catering-category-card.tone-chilli{background:linear-gradient(135deg,#d34b35,#791e2a)}.catering-category-card.tone-turmeric{color:#412b00;background:linear-gradient(135deg,#f5c84c,#d88618)}.catering-category-card.tone-turmeric small{color:rgba(65,43,0,.78)}.catering-category-card.tone-turmeric b{color:#412b00}.catering-category-card.tone-berry{background:linear-gradient(135deg,#a34a83,#4c245d)}.catering-category-card.tone-morning{background:linear-gradient(135deg,#2787a7,#154b77)}.catering-category-card.tone-night{background:linear-gradient(135deg,#334b75,#18233f)}.catering-category-card.tone-rose{background:linear-gradient(135deg,#d46b89,#812b59)}
.catering-category-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:17px 19px;border:1px solid var(--line);border-radius:17px;box-shadow:0 10px 24px rgba(20,63,51,.08)}.catering-category-summary>div:first-child strong,.catering-category-summary>div:first-child span{display:block}.catering-category-summary>div:first-child strong{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}.catering-category-summary>div:first-child span{margin-top:5px;color:var(--muted);font-size:.76rem}.catering-category-summary.tone-saffron{background:linear-gradient(135deg,#fff7e7,#fff)}.catering-category-summary.tone-leaf{background:linear-gradient(135deg,#edf9f3,#fff)}.catering-category-summary.tone-chilli{background:linear-gradient(135deg,#fff0ed,#fff)}.catering-category-summary.tone-turmeric{background:linear-gradient(135deg,#fff9df,#fff)}.catering-category-summary.tone-berry{background:linear-gradient(135deg,#faf0fa,#fff)}.catering-category-summary.tone-morning{background:linear-gradient(135deg,#edf8fc,#fff)}.catering-category-summary.tone-night{background:linear-gradient(135deg,#eef2fb,#fff)}.catering-category-summary.tone-rose{background:linear-gradient(135deg,#fff0f5,#fff)}.catering-tier-choices{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tier-choice{display:grid;min-width:105px;gap:3px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;color:#fff;text-decoration:none;box-shadow:0 5px 12px rgba(20,63,51,.12);transition:transform .16s ease,box-shadow .16s ease}.tier-choice:hover,.tier-choice:focus-visible{transform:translateY(-2px);box-shadow:0 9px 18px rgba(20,63,51,.18);outline:3px solid rgba(15,122,93,.14);outline-offset:1px}.tier-choice strong{font-size:.74rem}.tier-choice span{font-size:.63rem;opacity:.9}.tier-choice.tier-regular{background:#287b60}.tier-choice.tier-medium{background:#b17a19}.tier-choice.tier-large{background:#513b82}.tier-choice.tier-special{background:#245b89}.catering-menu-grid[data-category-menu-grid]{display:block}.catering-menu-grid[data-category-menu-grid] .catering-menu-card{max-width:780px;margin-inline:auto}.catering-menu-card.is-revealed{animation:catering-card-in .22s ease both}.catering-menu-card-image{background:#e8f1ed}.catering-menu-card-image img{object-position:center}
@keyframes catering-card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.catering-category-summary{align-items:stretch;flex-direction:column;gap:13px;margin-bottom:12px;padding:14px}.catering-tier-choices{justify-content:stretch}.tier-choice{flex:1;min-width:0}.catering-menu-grid[data-category-menu-grid] .catering-menu-card{max-width:none}}

/* V7: tighter opening view, compact package cards and deterministic tier switching. */
.catering-hero-grid{min-height:0;align-items:stretch}
.catering-hero-copy{align-self:start;padding:clamp(24px,3.4vw,42px)}
.catering-hero-copy h1{font-size:clamp(2rem,3.65vw,3.55rem);line-height:.98}
.catering-hero-visual{min-height:100%;height:auto}
.catering-menu-card-body{min-height:0}
.catering-price-row{margin-top:18px}

@media(max-width:760px){
  .catering-hero-copy{padding:20px 16px}
  .catering-hero-copy h1{font-size:clamp(1.9rem,9vw,2.65rem);line-height:1}
  .catering-hero-visual{min-height:280px;max-height:360px}
  .catering-hero-enquiry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catering-hero-enquiry-grid label:nth-child(1),.catering-hero-enquiry-grid label:nth-child(2){grid-column:1/-1}
}
@media(max-width:420px){.catering-hero-enquiry-grid{grid-template-columns:1fr}.catering-hero-enquiry-grid label:nth-child(1),.catering-hero-enquiry-grid label:nth-child(2){grid-column:auto}}

/* V8: keep the complete opening enquiry form inside the first hero panel. */
@media(min-width:761px){
  .catering-hero-grid{min-height:clamp(560px,calc(100svh - 135px),700px)}
  .catering-hero-copy{padding:18px 27px}
  .catering-hero-copy h1{max-width:510px;font-size:clamp(1.9rem,3vw,2.95rem);line-height:.96}
  .catering-hero-enquiry{margin-top:13px;padding:12px 13px}
  .catering-hero-enquiry-heading strong{font-size:.9rem}
  .catering-hero-enquiry-heading span{font-size:.67rem}
  .catering-hero-enquiry-grid{gap:7px;margin-top:9px}
  .catering-hero-enquiry label{font-size:.63rem}
  .catering-hero-enquiry input,.catering-hero-enquiry select{min-height:35px;padding:6px 8px;font-size:.7rem}
  .catering-hero-enquiry-submit{min-height:39px;margin-top:10px;padding:8px 11px;font-size:.75rem}
  .catering-hero-enquiry small{margin-top:6px;font-size:.59rem}
  .catering-hero-copy>.catering-hero-proof{margin-top:10px;padding:8px 10px}
  .catering-hero-copy ul{gap:6px;margin-top:9px}
  .catering-hero-copy li{padding:8px}
  .catering-hero-copy li strong{font-size:.8rem}
  .catering-hero-copy li span{font-size:.61rem}
}
@media(max-width:760px){
  .catering-hero-copy h1{max-width:18ch}
  .catering-hero-enquiry{margin-top:12px}
  .catering-hero-enquiry-heading span{max-width:28ch}
  .catering-hero-copy>.catering-hero-proof{margin-top:11px}
  .catering-hero-copy ul{margin-top:11px}
}

/* V9: mobile-first opening form and cache-safe asset refresh. */
@media(max-width:760px){
  .catering-hero{padding-bottom:24px}
  .catering-hero-copy{padding:14px 12px}
  .catering-hero-copy h1{max-width:none;font-size:clamp(1.7rem,8.5vw,2.35rem);line-height:.95}
  .catering-hero-enquiry{margin-top:9px;padding:10px}
  .catering-hero-enquiry-heading{gap:8px}
  .catering-hero-enquiry-heading strong{font-size:.85rem}
  .catering-hero-enquiry-heading span{font-size:.62rem}
  .catering-hero-enquiry-heading>b{padding:5px 7px;font-size:.58rem}
  .catering-hero-enquiry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
  .catering-hero-enquiry-grid label:nth-child(1),.catering-hero-enquiry-grid label:nth-child(2){grid-column:1/-1}
  .catering-hero-enquiry label{gap:2px;font-size:.6rem}
  .catering-hero-enquiry input,.catering-hero-enquiry select{min-height:36px;padding:6px 7px;font-size:.72rem}
  .catering-hero-enquiry-submit{min-height:42px;margin-top:8px;padding:8px 10px;font-size:.75rem}
  .catering-hero-enquiry small{margin-top:5px;font-size:.57rem}
  .catering-hero-copy>.catering-hero-proof,.catering-hero-copy>ul{display:none}
}

/* V10: polished mobile presentation. */
@media(max-width:760px){
  body[data-page="catering"] .mobile-actions{display:none!important}
  body[data-page="catering"] .site-header{box-shadow:0 5px 18px rgba(20,63,51,.06)}
  body[data-page="catering"] .breadcrumbs{padding-top:12px;padding-bottom:3px}
  body[data-page="catering"] .breadcrumbs ol{gap:5px;font-size:.67rem}
  .catering-page{-webkit-text-size-adjust:100%;background:linear-gradient(180deg,#fbfdfc 0,#fff 44%)}
  .catering-hero{padding:5px 0 20px}
  .catering-hero-grid{border-radius:22px;background:linear-gradient(145deg,#f0faf6,#fffaf1);box-shadow:0 14px 34px rgba(15,83,63,.1)}
  .catering-hero-copy{padding:18px 14px 15px}
  .catering-hero-copy>.eyebrow{margin-bottom:6px;font-size:.62rem;letter-spacing:.14em}
  .catering-hero-copy h1{max-width:17ch;margin:0;font-size:clamp(1.75rem,8vw,2.2rem);line-height:.97;letter-spacing:-.045em}
  .catering-hero-enquiry{margin-top:13px;padding:13px;border:1px solid rgba(15,122,93,.16);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 9px 20px rgba(15,83,63,.08)}
  .catering-hero-enquiry-heading{gap:8px}
  .catering-hero-enquiry-heading strong{font-size:.86rem;line-height:1.15}
  .catering-hero-enquiry-heading span{max-width:27ch;margin-top:4px;font-size:.62rem;line-height:1.28}
  .catering-hero-enquiry-heading>b{padding:5px 7px;font-size:.56rem}
  .catering-hero-enquiry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 7px;margin-top:12px}
  .catering-hero-enquiry-grid label:nth-child(1),.catering-hero-enquiry-grid label:nth-child(2){grid-column:1/-1}
  .catering-hero-enquiry label{gap:3px;color:#26342f;font-size:.62rem;letter-spacing:.01em}
  .catering-hero-enquiry input,.catering-hero-enquiry select{min-height:41px;padding:8px 9px;border-color:#c9ddd5;border-radius:10px;font-size:.75rem}
  .catering-hero-enquiry input::placeholder{color:#83908b;opacity:1}
  .catering-hero-enquiry-submit{min-height:45px;margin-top:12px;border-radius:11px;font-size:.77rem;box-shadow:0 8px 16px rgba(7,83,63,.18)}
  .catering-hero-enquiry small{margin-top:7px;font-size:.57rem;line-height:1.3}
  .catering-hero-visual{min-height:210px;max-height:235px;border-radius:0 0 22px 22px}
  .catering-hero-visual>div{right:10px;bottom:10px;max-width:200px;padding:9px 11px;border-radius:11px}
  .catering-hero-visual strong{font-size:.9rem}
}
@media(max-width:360px){
  .catering-hero-copy{padding-inline:11px}
  .catering-hero-enquiry{padding:11px}
  .catering-hero-enquiry-grid{gap:7px 5px}
  .catering-hero-enquiry input,.catering-hero-enquiry select{padding-inline:7px;font-size:.7rem}
  .catering-hero-copy h1{font-size:1.7rem}
}

/* V11: prevent date/guest controls from intruding into adjacent columns. */
@media(max-width:760px){
  .catering-hero-enquiry-grid>label{min-width:0}
  .catering-hero-enquiry input,.catering-hero-enquiry select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
  .catering-hero-enquiry input[type="date"]{display:block;min-width:0;appearance:none;-webkit-appearance:none}
}

/* V13: lead with compact menu choices, move the quick quote below the gallery,
   and open tier menus directly without an intermediate product card. */
.catering-hero-grid{grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr)}
.catering-hero-menu-picker{margin-top:18px;scroll-margin-top:18px}
.catering-category-grid--hero{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:0}
.catering-category-grid--hero .catering-category-card{min-height:108px;border-radius:14px}
.catering-category-grid--hero .catering-category-card-content{right:12px;bottom:11px;left:12px}
.catering-category-grid--hero .catering-category-card strong{font-size:.88rem;line-height:1.12}
.catering-category-grid--hero .catering-category-card b{margin-top:7px;font-size:.64rem}
.catering-quote-section{padding:64px 0;background:#fff}
.catering-quick-quote{max-width:1080px;margin:0 auto;padding:22px 24px}
.catering-quick-quote .catering-hero-enquiry-heading h2{margin:0;color:var(--green-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,2.6vw,2.15rem);line-height:1.08}
.catering-quick-quote .catering-hero-enquiry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.catering-quick-quote input,.catering-quick-quote select{min-height:44px;padding:9px 10px;font-size:.8rem}
.catering-quick-quote .catering-hero-enquiry-submit{min-height:47px;margin-top:15px;font-size:.84rem}
.catering-service-notes p{margin:7px 0 0;color:var(--ink);line-height:1.5}

@media(max-width:1080px) and (min-width:761px){
  .catering-category-grid--hero{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catering-category-grid--hero .catering-category-card{min-height:88px}
}

@media(max-width:760px){
  .catering-hero-copy{padding-bottom:17px}
  .catering-hero-menu-picker{margin-top:14px}
  .catering-category-grid--hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .catering-category-grid--hero .catering-category-card{min-height:88px;border-radius:12px}
  .catering-category-grid--hero .catering-category-card-content{right:9px;bottom:9px;left:9px}
  .catering-category-grid--hero .catering-category-card strong{font-size:.78rem}
  .catering-category-grid--hero .catering-category-card b{margin-top:5px;font-size:.57rem}
  .catering-quote-section{padding:38px 0}
  .catering-quick-quote{padding:15px;border-radius:16px}
  .catering-quick-quote .catering-hero-enquiry-heading h2{font-size:1.35rem}
  .catering-quick-quote .catering-hero-enquiry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 8px;margin-top:14px}
  .catering-quick-quote .catering-hero-enquiry-grid label:nth-child(1),.catering-quick-quote .catering-hero-enquiry-grid label:nth-child(2){grid-column:1/-1}
  .catering-quick-quote input,.catering-quick-quote select{min-height:42px;font-size:.77rem}
}

@media(max-width:420px){
  .catering-quick-quote .catering-hero-enquiry-grid{grid-template-columns:1fr}
  .catering-quick-quote .catering-hero-enquiry-grid label:nth-child(1),.catering-quick-quote .catering-hero-enquiry-grid label:nth-child(2){grid-column:auto}
}

/* V14: cross-browser overflow and form-width safeguards. */
.catering-page{overflow-x:hidden;overflow-y:visible}
@supports (overflow:clip){.catering-page{overflow-x:clip}}
.catering-quote-fields>*{min-width:0}
.catering-quote-fields input,.catering-quote-fields select,.catering-quote-fields textarea{box-sizing:border-box;min-width:0;max-width:100%}
.catering-option-group.is-missing legend small{color:#a83227}

/* V14.1 mobile hotfix: the late desktop hero rule must not override the
   one-column phone layout. Keep the menu cards first and the chef image below. */
@media (max-width:760px){
  .catering-hero-grid{grid-template-columns:minmax(0,1fr);min-height:0}
  .catering-hero-copy,.catering-hero-visual{grid-column:1;min-width:0;width:100%}
  .catering-hero-copy{grid-row:1}
  .catering-hero-visual{grid-row:2;min-height:220px;max-height:245px;overflow:hidden}
  .catering-category-grid--hero{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .catering-category-grid--hero .catering-category-card{width:100%;min-width:0}
}

/* V14.2: keep the quotation action visible and prevent background scrolling
   while the long menu builder is open on iOS and Android. */
html.catering-dialog-open,
body.catering-dialog-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

.catering-menu-dialog::backdrop{
  overscroll-behavior:none;
  touch-action:none;
}

.catering-menu-dialog{
  width:min(95vw,1060px);
  height:min(92vh,900px);
  max-height:min(92vh,900px);
  padding:0;
  overflow:hidden;
  overscroll-behavior:none;
}

@supports (height:100dvh){
  .catering-menu-dialog{
    height:min(92dvh,900px);
    max-height:min(92dvh,900px);
  }
}

.catering-menu-dialog[open]{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}

.catering-menu-dialog .catering-dialog-header{
  position:relative;
  top:auto;
  grid-row:1;
  flex:0 0 auto;
}

.catering-menu-dialog .catering-dialog-body{
  grid-row:2;
  min-width:0;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  scroll-behavior:auto;
  scroll-padding-top:14px;
  scroll-padding-bottom:18px;
}

.catering-menu-dialog .catering-dialog-footer{
  position:relative;
  z-index:8;
  bottom:auto;
  grid-row:3;
  display:flex;
  flex:0 0 auto;
  align-items:center;
  margin:0;
  padding:12px 22px calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.98);
  box-shadow:0 -10px 26px rgba(9,43,33,.11);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

.catering-menu-dialog .catering-dialog-footer .button-whatsapp{
  display:flex;
  width:100%;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:0;
  padding:11px 18px;
  border:1px solid #087454;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(110deg,#0f8a67,#075a43);
  box-shadow:0 10px 22px rgba(7,90,67,.23);
  font-size:.86rem;
  font-weight:900;
  cursor:pointer;
}

.catering-menu-dialog .catering-dialog-footer .button-whatsapp b{
  font-size:1.25rem;
  line-height:1;
}

.catering-menu-dialog .catering-dialog-footer .button-whatsapp:hover,
.catering-menu-dialog .catering-dialog-footer .button-whatsapp:focus-visible{
  background:linear-gradient(110deg,#0b765a,#064c39);
  outline:3px solid rgba(15,122,93,.2);
  outline-offset:2px;
}

@media (max-width:760px){
  .catering-menu-dialog{
    width:calc(100% - 10px);
    max-width:none;
    height:calc(100vh - 10px);
    max-height:calc(100vh - 10px);
    margin:auto;
    border-radius:15px;
  }

  @supports (height:100dvh){
    .catering-menu-dialog{
      height:calc(100dvh - 10px);
      max-height:calc(100dvh - 10px);
    }
  }

  .catering-menu-dialog .catering-dialog-header{
    gap:10px;
    padding:11px 12px;
  }

  .catering-menu-dialog .catering-dialog-header .eyebrow{
    margin-bottom:3px;
    font-size:.56rem;
  }

  .catering-menu-dialog .catering-dialog-header h2{
    font-size:1.08rem;
  }

  .catering-menu-dialog .catering-dialog-header>button{
    width:42px;
    height:42px;
    flex:0 0 42px;
  }

  .catering-menu-dialog .catering-dialog-body{
    padding:12px 12px 18px;
    scroll-padding-bottom:16px;
  }

  .catering-menu-dialog .catering-quote-form{
    margin-top:18px;
    padding-top:16px;
  }

  .catering-menu-dialog .catering-quote-fields{
    gap:9px;
    margin-top:12px;
  }

  .catering-menu-dialog .catering-quote-fields input,
  .catering-menu-dialog .catering-quote-fields select,
  .catering-menu-dialog .catering-quote-fields textarea{
    min-height:46px;
    font-size:16px;
  }

  .catering-menu-dialog .catering-quote-fields textarea{
    min-height:78px;
  }

  .catering-menu-dialog .catering-dialog-footer{
    padding:9px 12px calc(9px + env(safe-area-inset-bottom));
  }

  .catering-menu-dialog .catering-dialog-footer .button-whatsapp{
    min-height:52px;
    font-size:.82rem;
  }
}
