:root{--green:#063d35;--green2:#07594c;--gold:#d7a73d;--cream:#fbf5e7;--ink:#163b35;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body.catering-page{margin:0;overflow-x:hidden;background:#fff;color:var(--ink);font-family:"DM Sans",sans-serif}body.catering-page img{max-width:100%;display:block}
.catering-page .page-header{position:sticky;top:0;z-index:50}.catering-page main{overflow:hidden}.catering-section{position:relative;padding:clamp(4.5rem,8vw,8rem) clamp(1.1rem,5vw,5rem)}.section-title{width:min(760px,100%);margin:0 auto 2.6rem;text-align:center}.section-title>p,.catering-kicker{margin:0 0 .75rem;color:#9d7119;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.section-title h2{margin:0;color:var(--green);font:700 clamp(2.75rem,5.5vw,5.3rem)/.96 Oswald,sans-serif;text-transform:uppercase}.section-title>span{display:block;margin-top:1rem;color:#59706a;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.65}
.catering-hero{position:relative;isolation:isolate;min-height:calc(100svh - 105px);padding:clamp(2.5rem,5vw,5rem);display:grid;grid-template-columns:minmax(300px,.7fr) minmax(560px,1.3fr);align-items:center;gap:clamp(2rem,4vw,4.5rem);background:radial-gradient(circle at 14% 16%,rgba(215,167,61,.25),transparent 25%),linear-gradient(135deg,#fdf8eb 0%,#fff 48%,#eef7f3 100%)}
.catering-hero::before{content:"";position:absolute;z-index:-1;inset:auto -6rem -9rem auto;width:36rem;height:36rem;border:7rem solid rgba(6,61,53,.035);border-radius:50%}.catering-hero-copy{max-width:640px}.catering-hero h1{margin:.3rem 0 1.4rem;color:var(--green);font:700 clamp(4.2rem,7.2vw,8rem)/.82 Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.035em}.catering-hero h1 em{display:block;color:#b88722;font:400 .72em/1 Allura,cursive;text-transform:none;letter-spacing:0}.catering-hero-copy>p:not(.catering-kicker){font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:1.65;color:#48605a}.catering-hero-price{display:flex;align-items:end;flex-wrap:wrap;gap:.35rem .8rem;margin:1.8rem 0}.catering-hero-price small{width:100%;color:#8b6a23;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.catering-hero-price strong{color:#d22018;font:700 clamp(3.4rem,5vw,5.7rem)/.9 Oswald,sans-serif}.catering-hero-price span{padding-bottom:.55rem;font-weight:700}.catering-actions{display:flex;flex-wrap:wrap;gap:.8rem}.catering-actions a{padding:1rem 1.4rem;border:2px solid var(--green);border-radius:999px;background:var(--green);color:#fff;font-weight:800;text-decoration:none}.catering-actions a.light{background:#fff;color:var(--green)}
.catering-cover{position:relative;margin:0;padding:.55rem;border:1px solid rgba(6,61,53,.14);border-radius:1.8rem;background:#fff;box-shadow:0 30px 80px rgba(6,61,53,.18);transform:none}.catering-cover::after{content:"";position:absolute;z-index:-1;inset:7% -3% -5% 7%;border-radius:inherit;background:var(--gold);opacity:.27}.catering-cover picture{display:block;width:100%;aspect-ratio:1600/898;overflow:hidden;border-radius:1.35rem;background:#f7f3e8}.catering-cover img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:inherit}.catering-cover figcaption{position:absolute;left:1.5rem;bottom:1.4rem;padding:.45rem .75rem;border-radius:999px;background:rgba(6,61,53,.9);color:#fff;font-size:.78rem}.caption-mobile{display:none}
.catering-intro{background:#fff}.pax-selector{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem}.pax-selector button{min-width:8rem;padding:1rem 1.25rem;border:1px solid rgba(6,61,53,.18);border-radius:999px;background:#fff;color:var(--green);font:700 1rem/1 "DM Sans",sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(6,61,53,.07)}.pax-selector button.active{border-color:var(--gold);background:var(--green);color:#fff;box-shadow:0 12px 30px rgba(6,61,53,.2)}.pax-result{width:min(760px,100%);margin:1.4rem auto 0;padding:1.3rem 1.5rem;border-radius:1.2rem;background:var(--cream);text-align:center}.pax-result strong,.pax-result span{display:block}.pax-result strong{margin-bottom:.35rem;color:var(--green);font-size:1.2rem}.pax-result span{color:#557069}
.package-zone{isolation:isolate;background:radial-gradient(circle at 10% 10%,rgba(215,167,61,.22),transparent 24%),radial-gradient(circle at 95% 80%,rgba(255,255,255,.12),transparent 25%),linear-gradient(145deg,#032f29,#075448);color:#fff}.light-title h2,.light-title>span{color:#fff}.light-title>p{color:#f0c96e}.package-grid{position:relative;z-index:2;width:min(1280px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}.package-card{display:flex;flex-direction:column;min-height:100%;padding:1.6rem;border:1px solid rgba(255,255,255,.14);border-radius:1.4rem;background:rgba(255,255,255,.96);box-shadow:0 20px 55px rgba(0,0,0,.16);color:var(--ink)}.package-card.featured,.package-card.signature{border:2px solid var(--gold)}.package-price{padding-bottom:1rem;border-bottom:1px solid rgba(6,61,53,.11)}.package-price small,.package-price span{display:block}.package-price small{color:#9a6e18;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.package-price strong{display:block;margin:.25rem 0;color:#d22018;font:700 3.4rem/1 Oswald,sans-serif}.package-price span{color:#61746f;font-size:.88rem}.package-card h3{margin:1.1rem 0 .6rem;color:var(--green);font:700 1.65rem/1.1 Oswald,sans-serif;text-transform:uppercase}.package-card ul{margin:.2rem 0 1.4rem;padding-left:1.2rem;line-height:1.75;color:#4c625c}.package-card a{margin-top:auto;padding:.9rem 1rem;border-radius:.8rem;background:var(--green);color:#fff;text-align:center;text-decoration:none;font-weight:800}.food-accent{position:absolute;z-index:1;width:clamp(110px,13vw,210px);aspect-ratio:1;border-radius:50%;overflow:hidden;filter:drop-shadow(0 22px 28px rgba(0,0,0,.32));opacity:.3;pointer-events:none}.food-accent img{width:100%;height:100%;object-fit:cover}.food-accent-one{left:-4%;top:9%}.food-accent-two{right:-4%;bottom:5%}
.service-types{background:linear-gradient(135deg,#fff,#fbf6e9)}.service-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.service-grid article{padding:1.7rem;border-radius:1.25rem;background:#fff;box-shadow:0 18px 45px rgba(6,61,53,.09)}.service-grid span{color:var(--gold);font:700 1rem/1 Oswald,sans-serif}.service-grid h3{margin:.65rem 0;color:var(--green);font:700 1.7rem/1 Oswald,sans-serif;text-transform:uppercase}.service-grid p{margin:0;color:#58706a;line-height:1.65}
.trust-band{background:var(--green);color:#fff;text-align:center}.trust-band>div:first-child p{margin:0;color:#efc76d;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.trust-band>div:first-child h2{margin:.4rem 0 2.2rem;font:700 clamp(3rem,6vw,5.8rem)/.95 Oswald,sans-serif;text-transform:uppercase}.trust-grid{width:min(1100px,100%);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.trust-grid article{padding:1.4rem;border:1px solid rgba(255,255,255,.14);border-radius:1.2rem;background:rgba(255,255,255,.07)}.trust-grid strong,.trust-grid span{display:block}.trust-grid strong{color:#efc76d;font:700 clamp(2rem,4vw,3.5rem)/1 Oswald,sans-serif}.trust-grid span{margin-top:.45rem}.trust-note{margin:2rem auto 0;max-width:850px;color:#dcebe7}
.experience{background:radial-gradient(circle at 90% 10%,rgba(215,167,61,.16),transparent 25%),#f8f5ed}.logo-stage{width:min(1250px,100%);margin:auto;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.logo-track{display:flex;width:max-content;gap:1rem;padding:1rem;animation:logo-drift 38s linear infinite}.logo-stage:hover .logo-track{animation-play-state:paused}.logo-track figure{width:180px;min-height:118px;margin:0;padding:1rem;display:grid;place-items:center;border-radius:1.1rem;background:#fff;box-shadow:0 12px 32px rgba(6,61,53,.09)}.logo-track img{max-width:145px;max-height:62px;object-fit:contain}.logo-track figcaption{font-size:.72rem;color:#61736f;font-weight:700}.project-grid{width:min(1250px,100%);margin:3rem auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.project-grid article{overflow:hidden;border-radius:1.25rem;background:#fff;box-shadow:0 16px 42px rgba(6,61,53,.1)}.project-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-grid div{padding:1rem 1.1rem 1.2rem}.project-grid small{color:#a8781c;font-weight:800;text-transform:uppercase}.project-grid h3{margin:.35rem 0;color:var(--green);font:700 1.55rem/1 Oswald,sans-serif;text-transform:uppercase}.project-grid p{margin:0;color:#5b6e69;line-height:1.5}.logo-disclaimer{max-width:900px;margin:1.6rem auto 0;text-align:center;color:#71817d;font-size:.85rem}
@keyframes logo-drift{from{transform:translateX(0)}to{transform:translateX(-38%)}}
.addons{isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fbf7ed 52%,#edf7f3 100%)}.addons::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.78)),repeating-linear-gradient(90deg,transparent 0 80px,rgba(6,61,53,.03) 81px)}.addon-visual{position:absolute;z-index:-1;right:-5%;top:4%;width:min(520px,48vw);opacity:.1;transform:rotate(4deg);filter:saturate(.75)}.addon-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:50%}.addon-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.addon-card{display:flex;align-items:flex-start;gap:1rem;min-height:150px;padding:1.4rem;border:1px solid rgba(6,61,53,.12);border-radius:1.25rem;background:rgba(255,255,255,.92);box-shadow:0 16px 38px rgba(6,61,53,.08);backdrop-filter:blur(8px)}.addon-card>span{display:grid;place-items:center;flex:0 0 3.2rem;aspect-ratio:1;border-radius:1rem;background:var(--cream);color:var(--green);font-size:1.5rem;box-shadow:inset 0 0 0 1px rgba(215,167,61,.35)}.addon-card.canopy{background:linear-gradient(145deg,#073d35,#0b5b4d);color:#fff;border-color:#d7a73d}.addon-card.canopy>span{background:#f0c45c}.addon-card h3{margin:.1rem 0 .45rem;color:var(--green);font:700 1.35rem/1.1 Oswald,sans-serif;text-transform:uppercase}.addon-card.canopy h3{color:#f5d47e}.addon-card p{margin:0;color:#5b716b;line-height:1.55}.addon-card.canopy p{color:#e1efeb}.catering-faq{background:#f7f4ec}.faq-grid{width:min(1100px,100%);margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.faq-grid details{border:1px solid rgba(6,61,53,.12);border-radius:1.15rem;background:#fff;box-shadow:0 12px 32px rgba(6,61,53,.06)}.faq-grid summary{padding:1.2rem 3rem 1.2rem 1.25rem;cursor:pointer;list-style:none;color:var(--green);font-weight:800;position:relative}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);color:#b27f1a;font-size:1.5rem}.faq-grid details[open] summary::after{content:"−"}.faq-grid p{margin:0;padding:0 1.25rem 1.25rem;color:#58706a;line-height:1.65}
.quotation{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,5rem);align-items:center;background:linear-gradient(135deg,#f3c552,#d9a630);color:#063d35}.quotation>div:first-child>p{margin:0;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.quotation h2{margin:.5rem 0;font:700 clamp(3.2rem,6vw,6rem)/.9 Oswald,sans-serif;text-transform:uppercase}.quotation>div:first-child>span{display:block;font-size:1.08rem;line-height:1.65}.quote-actions{display:grid;gap:.8rem}.quote-actions a{padding:1.1rem 1.25rem;border-radius:1rem;background:#fff;color:var(--green);text-decoration:none;box-shadow:0 12px 30px rgba(65,45,4,.12)}.quote-actions small,.quote-actions strong{display:block}.quote-actions small{color:#7d6b43}.quote-actions strong{margin-top:.2rem;font-size:1.2rem}.terms{grid-column:1/-1;margin:0;padding-top:1.2rem;border-top:1px solid rgba(6,61,53,.18);font-size:.9rem;line-height:1.55}
.reveal-item{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .7s cubic-bezier(.22,.8,.25,1)}.reveal-item.visible{opacity:1;transform:none}
@media(max-width:1050px){.catering-hero{grid-template-columns:1fr;min-height:auto}.catering-hero-copy{text-align:center;margin:auto}.catering-hero-price,.catering-actions{justify-content:center}.package-grid{grid-template-columns:repeat(2,1fr)}.service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.addon-grid{grid-template-columns:repeat(2,1fr)}.quotation{grid-template-columns:1fr}.terms{grid-column:auto}}
@media(max-width:700px){.catering-section{padding:3.8rem 1rem}.catering-hero{padding:2.35rem 1rem 3.5rem}.catering-hero h1{font-size:clamp(3.6rem,18vw,5rem)}.catering-cover{padding:.3rem;border-radius:1rem;transform:none;box-shadow:0 18px 42px rgba(6,61,53,.16)}.catering-cover picture{aspect-ratio:16/9;border-radius:.75rem}.catering-cover img{object-fit:cover;object-position:center}.catering-cover figcaption{position:static;margin:.55rem .55rem .35rem;padding:0;text-align:center;background:transparent;color:#5b6f69;font-size:.76rem;line-height:1.45}.caption-wide{display:none}.caption-mobile{display:inline}.package-grid,.service-grid,.project-grid,.trust-grid,.addon-grid,.faq-grid{grid-template-columns:1fr}.package-card{padding:1.35rem}.food-accent{opacity:.13}.pax-selector{display:grid;grid-template-columns:repeat(2,1fr)}.pax-selector button{min-width:0}.logo-stage{margin-inline:-1rem;width:calc(100% + 2rem)}.logo-track{animation-duration:26s}.quotation{text-align:center}.catering-actions a{width:100%}.section-title h2{font-size:clamp(2.5rem,12vw,3.8rem)}.addon-visual{width:90vw;right:-35%;opacity:.07}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.logo-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.reveal-item{opacity:1;transform:none;transition:none}}

/* Catering presentation refinements */
.catering-cover{transform:none}
.catering-cover img{aspect-ratio:auto;object-fit:contain;background:#fff}
.logo-stage{mask-image:none;-webkit-mask-image:none}
.logo-track figure{width:210px;min-height:128px}
.logo-track img{width:170px;height:68px;max-width:none;max-height:none;object-fit:contain;transform:none;filter:none}
.project-grid img{aspect-ratio:16/9;object-fit:contain;background:#f4f1e8}
.projects-toggle{display:none;margin:1.5rem auto 0;padding:.95rem 1.5rem;border:2px solid var(--green);border-radius:999px;background:var(--green);color:#fff;font:800 1rem/1 "DM Sans",sans-serif;cursor:pointer}
.addons::before{background:radial-gradient(circle at 8% 20%,rgba(215,167,61,.1),transparent 22%),linear-gradient(135deg,rgba(255,255,255,.98),rgba(237,247,243,.92))}
.addon-card{min-height:175px}

@media(max-width:1050px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid img{aspect-ratio:16/9}}
@media(max-width:700px){.package-grid{grid-template-columns:1fr}.project-grid article:nth-child(n+5){display:none}.project-grid.show-all article{display:block}.projects-toggle{display:block}.logo-track figure{width:175px;min-height:112px}.logo-track img{width:145px;height:58px}.addon-card{min-height:0}.section-title>span{font-size:1rem;line-height:1.6}}

/* Penang food-led catering atmosphere */
.catering-intro,.service-types,.experience{isolation:isolate;overflow:hidden;background-color:#fbf7ed}
.catering-intro::before,.service-types::before,.experience::before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 48%,rgba(255,255,255,.35) 100%),url("/assets/catering/penang-food-spread.webp");background-repeat:no-repeat;background-size:cover;background-position:center;opacity:.78}
.service-types::before{transform:scaleX(-1);background-position:center right;opacity:.62}
.experience::before{background-image:linear-gradient(90deg,rgba(251,247,237,.94),rgba(251,247,237,.72)),url("/assets/catering/penang-food-spread.webp");background-position:center;opacity:.48}
.catering-intro::after,.service-types::after,.experience::after{content:"";position:absolute;z-index:-1;left:-8%;right:-8%;bottom:8%;height:3px;background:linear-gradient(90deg,transparent 0 7%,rgba(215,167,61,.25) 7% 16%,transparent 16% 24%,rgba(6,61,53,.12) 24% 45%,transparent 45% 58%,rgba(215,167,61,.22) 58% 78%,transparent 78%);transform:rotate(-1.2deg);animation:penang-route-drift 16s ease-in-out infinite alternate;pointer-events:none}
.catering-intro .section-title,.service-types .section-title,.experience .section-title{padding:1.1rem 1.35rem;border-radius:1.4rem;background:rgba(255,255,255,.74);box-shadow:0 18px 45px rgba(6,61,53,.06);backdrop-filter:blur(8px)}
.pax-result{background:rgba(251,245,231,.9);box-shadow:0 14px 35px rgba(6,61,53,.08);backdrop-filter:blur(7px)}
.service-grid article,.project-grid article,.logo-track figure{background:rgba(255,255,255,.94);backdrop-filter:blur(6px)}
.package-card.custom-package{background:linear-gradient(145deg,#fff9e8,#fff);border:2px solid var(--gold)}
.package-card.custom-package .package-price strong{color:var(--green);font-size:clamp(2.7rem,4vw,3.4rem)}
.package-card.custom-package>p{margin:.35rem 0 .7rem;color:#4c625c;line-height:1.6}
.catering-cover{width:100%;max-width:1100px;justify-self:center}
.catering-cover img{display:block;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;max-height:none!important}
@keyframes penang-route-drift{from{transform:translate3d(-1.5%,0,0) rotate(-1.2deg)}to{transform:translate3d(1.5%,-5px,0) rotate(.4deg)}}

@media(max-width:1050px){.catering-hero{grid-template-columns:1fr}.catering-cover{width:min(100%,900px)}.catering-intro::before,.service-types::before,.experience::before{background-position:72% center}.catering-intro .section-title,.service-types .section-title,.experience .section-title{background:rgba(255,255,255,.82)}}
@media(max-width:700px){.catering-hero{display:block}.catering-hero-copy{margin-bottom:1.4rem}.catering-cover{width:100%;height:auto!important;overflow:hidden;background:#fff}.catering-cover picture{aspect-ratio:16/9}.catering-cover img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}.catering-intro::before,.service-types::before,.experience::before{background-image:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.76)),url("/assets/catering/penang-food-spread.webp");background-position:68% center;opacity:.55}.catering-intro::after,.service-types::after,.experience::after{animation:none}.catering-intro .section-title,.service-types .section-title,.experience .section-title{padding:.85rem;background:rgba(255,255,255,.86);backdrop-filter:blur(5px)}body.catering-page .pf-chat-launcher{right:10px!important;bottom:10px!important}body.catering-page .pf-chat-launcher img{width:54px!important;height:54px!important}body.catering-page .pf-chat-launcher-copy{right:0!important;bottom:56px!important;padding:8px 10px!important}body.catering-page .pf-chat-launcher-copy strong{font-size:.8rem!important}body.catering-page .pf-chat-launcher-copy span{font-size:.65rem!important}}
@media(prefers-reduced-motion:reduce){.catering-intro::after,.service-types::after,.experience::after{animation:none}}

/* Premium catering hero and interactive guest-size recommendations */
.catering-hero h1{
  font-size:clamp(3.8rem,6.7vw,7.4rem);
  line-height:.9;
  letter-spacing:.025em
}
.catering-hero h1 span{
  display:block;
  margin-top:.12em;
  color:#b88722;
  letter-spacing:.07em
}
.catering-hero-slogan strong,.catering-hero-slogan span{display:block}
.catering-hero-slogan strong{color:var(--green);font-size:1.12em}
.catering-hero-slogan span{margin-top:.2rem}
.catering-hero-price small{letter-spacing:.16em}
.catering-hero-price strong{
  font-size:clamp(5.2rem,8.5vw,9.5rem);
  line-height:.78;
  letter-spacing:-.025em;
  text-shadow:0 10px 28px rgba(210,32,24,.14)
}
.catering-hero-price span{
  padding-bottom:.55rem;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase
}
.pax-selector button{
  border-width:2px;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease
}
.pax-selector button:hover{transform:translateY(-2px);border-color:rgba(215,167,61,.75)}
.pax-selector button:focus-visible{outline:3px solid rgba(215,167,61,.42);outline-offset:3px}
.pax-selector button.active{
  border-color:var(--gold);
  background:var(--green);
  color:#fff;
  box-shadow:0 0 0 3px rgba(215,167,61,.22),0 14px 34px rgba(6,61,53,.24)
}
.pax-result{padding:1.6rem;border:1px solid rgba(215,167,61,.45)}
.pax-result strong{
  margin-bottom:.45rem;
  font:700 clamp(1.5rem,3vw,2.15rem)/1.05 Oswald,sans-serif;
  text-transform:uppercase
}
.pax-result span{font-size:1.05rem}
.pax-result a{
  display:inline-flex;
  margin-top:1.1rem;
  padding:.85rem 1.2rem;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.06em;
  text-decoration:none;
  text-transform:uppercase
}
.pax-result.is-changing{animation:pax-card-in .32s ease both}
@keyframes pax-card-in{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}

@media(max-width:700px){
  .catering-hero h1{font-size:clamp(3.15rem,15vw,4.7rem);line-height:.92;letter-spacing:.015em}
  .catering-hero h1 span{letter-spacing:.045em}
  .catering-hero-price strong{font-size:clamp(5.4rem,25vw,7.7rem)}
  .catering-hero-price span{padding-bottom:.35rem}
  .pax-result{padding:1.35rem 1rem}
  .pax-result a{width:100%;justify-content:center}
}

/* Refined catering hero — compact, premium and responsive */
.catering-hero{
  box-sizing:border-box;
  grid-template-columns:minmax(340px,.9fr) minmax(520px,1.1fr);
  align-items:center;
  gap:clamp(2rem,4vw,5rem);
  width:100%;
  max-width:1440px;
  min-height:auto;
  margin-inline:auto;
  padding:clamp(3.5rem,6vw,6.5rem) clamp(1.25rem,4vw,4.5rem) clamp(4rem,7vw,7rem);
  overflow:hidden;
}
.catering-hero-copy{max-width:650px;animation:hero-copy-in .7s ease-out both}
.catering-hero h1{
  max-width:11ch;
  margin:.55rem 0 .9rem;
  font-size:clamp(3rem,4.7vw,5.5rem);
  line-height:.92;
  letter-spacing:.015em;
  overflow-wrap:normal;
  word-break:normal;
}
.catering-hero h1 span{display:block;font-size:.62em;line-height:1.08;letter-spacing:.08em;margin-top:.25em}
.catering-hero-slogan{gap:.18rem;margin:0 0 .85rem;font-size:clamp(1.15rem,1.5vw,1.45rem)}
.catering-hero-description{max-width:58ch;margin:0 0 1.25rem;color:#3f514e;font-size:clamp(.98rem,1.1vw,1.08rem);line-height:1.7}
.catering-hero-price{
  display:grid;
  grid-template-columns:auto auto;
  grid-template-areas:"label price" "unit price";
  align-items:center;
  column-gap:1rem;
  width:fit-content;
  margin:0 0 1.15rem;
  padding:.85rem 1.1rem;
  border:1px solid rgba(6,61,53,.16);
  border-left:5px solid #d7a73d;
  border-radius:1rem;
  background:rgba(255,255,255,.78);
  box-shadow:0 16px 40px rgba(6,61,53,.1);
  backdrop-filter:blur(8px);
  animation:hero-price-in .75s .18s ease-out both;
}
.catering-hero-price small{grid-area:label;align-self:end;font-size:.78rem;letter-spacing:.13em}
.catering-hero-price strong{grid-area:price;font-size:clamp(3.7rem,5.2vw,5.7rem);line-height:.82;letter-spacing:-.045em}
.catering-hero-price span{grid-area:unit;align-self:start;font-size:.78rem;letter-spacing:.1em}
.catering-hero-trust{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.3rem}
.catering-hero-trust span{padding:.5rem .72rem;border:1px solid rgba(6,61,53,.15);border-radius:999px;background:rgba(255,255,255,.62);color:#16483f;font-size:.78rem;font-weight:700}
.catering-hero-visual{position:relative;width:100%;min-width:0;padding:clamp(.4rem,1vw,.8rem)}
.catering-cover{
  position:relative;
  z-index:2;
  width:100%;
  max-width:none;
  aspect-ratio:16/9;
  margin:0;
  padding:.38rem;
  border-radius:1.35rem;
  background:#fff;
  box-shadow:0 28px 70px rgba(3,43,37,.18);
  animation:hero-poster-in .85s .12s ease-out both;
}
.catering-cover picture,.catering-cover img{display:block;width:100%;height:100%}
.catering-cover img{object-fit:cover;aspect-ratio:16/9;border-radius:1rem}
.catering-cover figcaption{position:absolute;right:1rem;bottom:1rem;left:auto;max-width:70%;border-radius:999px;background:rgba(2,48,42,.88);color:#fff;padding:.5rem .8rem;backdrop-filter:blur(7px)}
.hero-food{position:absolute;z-index:3;pointer-events:none;filter:drop-shadow(0 18px 18px rgba(2,39,34,.23))}
.hero-food img{display:block;width:100%;height:auto}
.hero-food-chicken{width:clamp(115px,15vw,210px);right:-2%;bottom:-12%;animation:hero-food-in-left .7s .55s ease-out both}
.hero-food-fish{width:clamp(100px,13vw,185px);left:-4%;top:-9%;animation:hero-food-in-right .7s .72s ease-out both}
.hero-food:hover{transform:translateY(-5px) rotate(1deg);transition:transform .25s ease}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes hero-price-in{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes hero-poster-in{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:none}}
@keyframes hero-food-in-left{from{opacity:0;transform:translate(24px,20px) scale(.82)}to{opacity:1;transform:none}}
@keyframes hero-food-in-right{from{opacity:0;transform:translate(-24px,-14px) scale(.82)}to{opacity:1;transform:none}}

@media(max-width:1050px){
  .catering-hero{grid-template-columns:1fr;max-width:960px;gap:2.25rem;padding-top:3.5rem}
  .catering-hero-copy{justify-self:center;width:100%;max-width:780px;text-align:center}
  .catering-hero h1{max-width:none}
  .catering-hero-price{margin-inline:auto}
  .catering-hero-trust,.catering-actions{justify-content:center}
  .catering-hero-visual{justify-self:center;max-width:850px}
}
@media(max-width:700px){
  .catering-hero{width:100%;max-width:100%;gap:1.55rem;padding:2.6rem 1rem 4rem;overflow:hidden}
  .catering-hero h1{font-size:clamp(2.65rem,13vw,4.15rem);line-height:.94}
  .catering-hero h1 span{font-size:.58em}
  .catering-hero-description{font-size:.95rem;line-height:1.58}
  .catering-hero-price{column-gap:.75rem;padding:.75rem .85rem;text-align:left}
  .catering-hero-price strong{font-size:clamp(3.35rem,17vw,4.6rem)}
  .catering-hero-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.45rem}
  .catering-hero-trust span{display:grid;place-items:center;min-height:42px;padding:.42rem .35rem;font-size:.72rem}
  .catering-hero-visual{width:100%;padding:.2rem}
  .catering-cover{width:100%;height:auto;aspect-ratio:16/9;padding:.25rem;border-radius:.9rem}
  .catering-cover picture,.catering-cover img{height:100%!important;aspect-ratio:16/9!important}
  .catering-cover figcaption{right:.55rem;bottom:.55rem;max-width:78%;font-size:.65rem;padding:.36rem .55rem}
  .hero-food-chicken{width:100px;right:-22px;bottom:-38px}
  .hero-food-fish{width:88px;left:-20px;top:-25px}
}
@media(prefers-reduced-motion:reduce){
  .catering-hero-copy,.catering-hero-price,.catering-cover,.hero-food{animation:none!important;transition:none!important}
}
@media(prefers-reduced-motion:reduce){.pax-selector button,.pax-result.is-changing{transition:none;animation:none}}

/* Final responsive art direction: Penang heritage, food and balanced hero */
.catering-hero{
  grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr);
  gap:clamp(1rem,2vw,2rem);
  padding-inline:clamp(1.25rem,3.6vw,4rem)
}
.catering-hero-copy{width:min(620px,100%);justify-self:end}
.catering-cover{width:min(900px,100%);min-width:0;justify-self:start}
.catering-cover img{max-width:100%;object-fit:contain}
.logo-stage:hover .logo-track,.logo-stage:focus-within .logo-track{animation-play-state:running}

.catering-intro::before,.service-types::before,.experience::before{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.84) 52%,rgba(255,255,255,.58) 100%),
    url("/assets/catering/penang-food-spread.webp"),
    url("/assets/penang-careers-panorama.webp");
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-size:cover,min(42vw,720px) auto,cover;
  background-position:center,right -4vw bottom -2rem,center bottom;
  opacity:1
}
.service-types::before{
  transform:none;
  background-image:
    linear-gradient(270deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.85) 54%,rgba(255,255,255,.62) 100%),
    url("/assets/catering/penang-food-spread.webp"),
    url("/assets/penang-careers-panorama.webp");
  background-position:center,left -6vw bottom -1rem,center bottom
}
.experience::before{
  background-image:
    linear-gradient(180deg,rgba(251,247,237,.91),rgba(251,247,237,.7)),
    url("/assets/catering/penang-food-spread.webp"),
    url("/assets/penang-careers-panorama.webp");
  background-size:cover,min(34vw,600px) auto,cover;
  background-position:center,right -3vw bottom -2rem,center bottom
}
.catering-intro::after,.service-types::after,.experience::after{
  left:-4%;right:-4%;bottom:9%;height:72px;
  background:
    radial-gradient(circle at 12% 48%,#d7a73d 0 4px,transparent 5px),
    radial-gradient(circle at 48% 62%,#063d35 0 4px,transparent 5px),
    radial-gradient(circle at 82% 35%,#d7a73d 0 4px,transparent 5px),
    linear-gradient(178deg,transparent 46%,rgba(6,61,53,.15) 47% 49%,transparent 50%);
  opacity:.72
}

@media(max-width:1050px){
  .catering-hero{grid-template-columns:1fr;gap:1.5rem;padding-inline:clamp(1rem,4vw,2.5rem)}
  .catering-hero-copy,.catering-cover{justify-self:center}
  .catering-cover{width:min(900px,100%)}
  .catering-intro::before,.service-types::before,.experience::before{
    background-size:cover,min(62vw,650px) auto,cover;
    background-position:center,right -18vw bottom -1rem,center bottom
  }
  .service-types::before{background-position:center,left -18vw bottom -1rem,center bottom}
}
@media(max-width:700px){
  .catering-hero{padding-top:2.5rem;gap:1.1rem}
  .catering-hero-copy{margin-bottom:.5rem}
  .catering-cover{width:100%;max-width:100%;padding:.28rem;border-radius:1rem}
  .catering-cover img{aspect-ratio:auto!important;width:100%!important;height:100%!important;border-radius:.75rem}
  .catering-intro::before,.service-types::before,.experience::before{
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.74)),
      url("/assets/catering/penang-food-spread.webp"),
      url("/assets/penang-careers-panorama.webp");
    background-size:cover,82vw auto,auto 100%;
    background-position:center,right -32vw bottom,center bottom;
    opacity:1
  }
  .catering-intro::after,.service-types::after,.experience::after{height:52px;opacity:.5}
}

/* Section-specific backgrounds */
.catering-intro::before{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.72)),
    url("/assets/penang-careers-panorama.webp");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center bottom;
  opacity:1
}
.catering-intro::after{
  background:
    radial-gradient(circle at 15% 48%,#d7a73d 0 4px,transparent 5px),
    radial-gradient(circle at 50% 62%,#063d35 0 4px,transparent 5px),
    radial-gradient(circle at 84% 35%,#d7a73d 0 4px,transparent 5px),
    linear-gradient(178deg,transparent 46%,rgba(6,61,53,.15) 47% 49%,transparent 50%)
}
.service-types{
  background:
    radial-gradient(circle at 12% 18%,rgba(215,167,61,.1),transparent 24%),
    radial-gradient(circle at 88% 78%,rgba(6,61,53,.07),transparent 26%),
    linear-gradient(135deg,#fff,#f8faf8)
}
.service-types::before{
  background-image:
    linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.9)),
    repeating-linear-gradient(90deg,transparent 0 110px,rgba(6,61,53,.025) 111px 112px);
  background-repeat:repeat;
  background-size:auto;
  background-position:center;
  opacity:1
}
.service-types::after{display:none}
.experience::before{
  background-image:
    linear-gradient(90deg,rgba(251,247,237,.96) 0%,rgba(251,247,237,.78) 52%,rgba(251,247,237,.42) 100%),
    url("/assets/catering/fusion-feast-background.webp");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  opacity:1
}
.experience::after{
  background:linear-gradient(90deg,transparent,rgba(215,167,61,.22),transparent);
  height:2px;
  opacity:.65
}

@media(max-width:700px){
  .catering-intro::before{
    background-image:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.7)),url("/assets/penang-careers-panorama.webp");
    background-size:auto 100%;
    background-position:center bottom
  }
  .service-types::before{
    background-image:linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.94)),repeating-linear-gradient(90deg,transparent 0 72px,rgba(6,61,53,.025) 73px 74px);
    background-size:auto
  }
  .experience::before{
    background-image:linear-gradient(180deg,rgba(251,247,237,.94),rgba(251,247,237,.68)),url("/assets/catering/fusion-feast-background.webp");
    background-size:auto 100%;
    background-position:center
  }
}

/* Keep the refined hero authoritative after legacy art-direction rules. */
.catering-hero{grid-template-columns:minmax(340px,.9fr) minmax(520px,1.1fr);gap:clamp(2rem,4vw,5rem);padding:clamp(3.5rem,6vw,6.5rem) clamp(1.25rem,4vw,4.5rem) clamp(4rem,7vw,7rem)}
.catering-hero-copy{width:100%;max-width:650px}
.catering-hero-visual{width:100%;min-width:0}
.catering-cover{width:100%;max-width:none;aspect-ratio:16/9}
.catering-cover picture,.catering-cover img{width:100%;height:100%}
.catering-cover img{object-fit:cover}
@media(max-width:1050px){
  .catering-hero{grid-template-columns:1fr;max-width:960px;gap:2.25rem;padding:3.5rem clamp(1rem,4vw,2.5rem) 5rem}
  .catering-hero-copy{justify-self:center;max-width:780px}
  .catering-hero-visual{justify-self:center;max-width:850px}
}
@media(max-width:700px){
  .catering-hero{width:100%;max-width:100%;gap:1.55rem;padding:2.6rem 1rem 4rem}
  .catering-hero-copy{width:100%;max-width:100%}
  .catering-hero-visual,.catering-cover{width:100%;max-width:100%}
  .catering-cover,.catering-cover picture,.catering-cover img{aspect-ratio:16/9!important}
  .catering-cover img{object-fit:cover!important}
}

/* Hero refinement v2: clean poster and high-impact offer */
.catering-hero{grid-template-columns:minmax(390px,.82fr) minmax(560px,1.18fr);gap:clamp(2.25rem,4vw,5.25rem)}
.catering-hero-copy{max-width:680px}
.catering-hero h1{
  max-width:10.5ch;
  margin:.5rem 0 .85rem;
  font-family:Oswald,sans-serif;
  font-size:clamp(4.3rem,6.15vw,7rem);
  font-weight:700;
  line-height:.84;
  letter-spacing:.005em;
}
.catering-hero h1 span{font-size:.53em;line-height:1.05;letter-spacing:.085em;margin-top:.32em}
.catering-hero-slogan{margin-bottom:.48rem}
.catering-hero-description{max-width:49ch;margin-bottom:1rem;font-size:clamp(.9rem,.9vw,1rem);line-height:1.52}
.catering-hero-price{
  grid-template-columns:minmax(122px,auto) auto;
  column-gap:1rem;
  min-width:min(100%,540px);
  padding:.85rem 1.15rem .9rem;
  border-left-width:6px;
  border-radius:1.1rem;
  box-shadow:0 18px 48px rgba(210,32,24,.1),0 14px 36px rgba(6,61,53,.1);
}
.catering-hero-price small,.catering-hero-price span{font-family:"DM Sans",sans-serif;font-weight:800}
.catering-hero-price strong{
  font-family:Impact,"Arial Narrow",Oswald,sans-serif;
  font-size:clamp(6.2rem,8.4vw,9.6rem);
  font-weight:900;
  line-height:.73;
  letter-spacing:-.035em;
  text-shadow:0 5px 0 rgba(154,12,9,.08);
}
.catering-cover{box-shadow:0 28px 70px rgba(3,43,37,.16)}
.hero-food-chicken{width:clamp(105px,12vw,170px);right:-1%;bottom:-10%}
.hero-food-fish{display:none!important}

@media(max-width:1050px){
  .catering-hero{grid-template-columns:1fr;max-width:960px}
  .catering-hero h1{max-width:none;font-size:clamp(4rem,10vw,6.4rem)}
  .catering-hero-price{margin-inline:auto}
}
@media(max-width:700px){
  .catering-hero h1{font-size:clamp(3.15rem,15vw,4.7rem);line-height:.87}
  .catering-hero h1 span{font-size:.51em}
  .catering-hero-description{max-width:38ch;margin-inline:auto;font-size:.9rem;line-height:1.5}
  .catering-hero-price{grid-template-columns:100px auto;min-width:0;width:100%;column-gap:.55rem;padding:.75rem .72rem .8rem}
  .catering-hero-price strong{font-size:clamp(4.8rem,22vw,6.6rem);line-height:.76}
  .catering-hero-price small,.catering-hero-price span{font-size:.68rem;letter-spacing:.09em}
  .hero-food-chicken{width:92px;right:-20px;bottom:-34px}
}

/* Price refinement: premium rather than promotional */
.catering-hero-price{
  grid-template-columns:minmax(116px,auto) auto;
  min-width:min(100%,475px);
  column-gap:1.15rem;
  padding:1rem 1.25rem;
  border-left-width:4px;
  border-radius:1rem;
  box-shadow:0 14px 34px rgba(6,61,53,.09);
}
.catering-hero-price strong{
  color:#c92720;
  font-family:Oswald,"Arial Narrow",sans-serif;
  font-size:clamp(4.8rem,6.4vw,7rem);
  font-weight:600;
  line-height:.88;
  letter-spacing:-.025em;
  text-shadow:none;
}
.catering-hero-price small,.catering-hero-price span{line-height:1.25}

@media(max-width:700px){
  .catering-hero-price{grid-template-columns:92px auto;width:min(100%,430px);column-gap:.7rem;padding:.82rem .85rem}
  .catering-hero-price strong{font-size:clamp(3.75rem,17vw,5.15rem);line-height:.9}
}

/* Centre the catering poster consistently on every screen. */
.catering-hero-visual{display:grid;place-items:center;justify-self:center}
.catering-cover{justify-self:center;margin-inline:auto}
@media(min-width:1051px){
  .catering-hero-visual{max-width:920px}
  .catering-cover{width:min(100%,880px)}
}

/* Hero v117: real 1,000-pax production scene behind the original catering poster. */
.catering-hero{
  background:linear-gradient(135deg,rgba(253,248,235,.92),rgba(255,255,255,.88) 48%,rgba(238,247,243,.9));
}
.catering-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:
    linear-gradient(90deg,rgba(255,252,244,.82) 0%,rgba(255,255,255,.68) 44%,rgba(246,251,249,.56) 100%),
    url("/assets/catering-production-1000-pax-v2.webp") center/cover no-repeat;
  opacity:.72;
  transform:scale(1.01);
}
.catering-hero-copy,.catering-hero-visual{position:relative;z-index:1}
.catering-cover{box-shadow:0 30px 78px rgba(3,43,37,.22)}
@media(max-width:700px){
  .catering-hero::before{
    background:
      linear-gradient(180deg,rgba(255,252,244,.86) 0%,rgba(255,255,255,.76) 57%,rgba(246,251,249,.7) 100%),
      url("/assets/catering-production-1000-pax-mobile-v2.webp") center/cover no-repeat;
    opacity:.68;
  }
}
