:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-8e441c0 *//* ===== Catering Services — light theme. Scoped to .ie-services. =====
   Uses your existing tokens, with hex fallbacks so it still renders
   if this block loads before the theme variables.
   Only the banner is dark — every other section sits on ivory/sand.   */
.ie-services{
  --ie-ivory: var(--ivory, #FBF6EC);
  --ie-sand:  var(--sand, #F3E9D9);
  --ie-ink:   var(--ink, #3A1012);
  --ie-ink2:  var(--ink-2, #6B4038);
  --ie-wined: var(--wine-deep, #360809);
  --ie-gold:  var(--gold, #FFDB5E);
  --ie-red:   var(--red, #9C1B1F);
  --ie-amber: var(--amber, #B8791C);
  --ie-cream: var(--cream, #F8F8F8);
  --ie-mist:  var(--mist, rgba(248,248,248,.74));
  --ie-lineL: var(--line-lite, rgba(58,16,18,.14));
  --ie-fd:    var(--f-display, "Fraunces", Georgia, serif);
  --ie-fb:    var(--f-body, "Karla", system-ui, -apple-system, sans-serif);
  --ie-gut:   var(--gut, clamp(20px, 5vw, 64px));
  --ie-maxw:  var(--maxw, 1280px);
  --ie-pad:   var(--pad, clamp(3.5rem, 7vw, 6.5rem));
  --ie-r:     var(--r, 10px);

  background:var(--ie-ivory); color:var(--ie-ink);
  font-family:var(--ie-fb); font-size:clamp(16px,1.02vw,17.5px); line-height:1.68;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
.ie-services *,.ie-services *::before,.ie-services *::after{ box-sizing:border-box; }
.ie-services img{ display:block; max-width:100%; }
.ie-services a{ color:inherit; }
.ie-services h1,.ie-services h2,.ie-services h3{
  margin:0; font-family:var(--ie-fd); font-weight:400; line-height:1.04;
  letter-spacing:-.015em; font-variation-settings:"SOFT" 34,"WONK" 1; color:var(--ie-ink);
}
.ie-services p{ margin:0; }
.ie-services :focus-visible{ outline:2px solid var(--ie-red); outline-offset:4px; }
.ie-wrap{ width:100%; max-width:var(--ie-maxw); margin-inline:auto; padding-inline:var(--ie-gut); }

.ie-kicker{
  display:inline-flex; align-items:center; gap:.8rem;
  font-size:.73rem; letter-spacing:.22em; font-weight:700; color:var(--ie-red); margin-bottom:1rem;
}
.ie-kicker::before,.ie-kicker::after{ content:""; width:30px; height:1px; background:linear-gradient(90deg,transparent,var(--ie-red)); }
.ie-kicker::after{ background:linear-gradient(90deg,var(--ie-red),transparent); }
.ie-kicker--left::before{ display:none; }

.ie-btn{
  display:inline-flex; align-items:center; gap:.6em; padding:.95em 1.85em; border-radius:999px;
  background:var(--ie-red); color:var(--ie-ivory); font-weight:700; text-decoration:none; white-space:nowrap;
  border:1px solid transparent; transition:background .25s, transform .25s, box-shadow .25s;
}
.ie-btn:hover{ background:#7E1417; color:var(--ie-ivory); transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(156,27,31,.6); }
.ie-btn--ghost{ background:transparent; color:var(--ie-ink); border-color:var(--ie-lineL); font-weight:600; }
.ie-btn--ghost:hover{ background:rgba(58,16,18,.06); color:var(--ie-ink); box-shadow:none; }

.ie-up{ opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.ie-up.is-in{ opacity:1; transform:none; }

/* ---------- BANNER — the one dark section ---------- */
.ie-banner{ position:relative; overflow:hidden; text-align:center; padding:clamp(4rem,9vw,7rem) var(--ie-gut); background:var(--ie-wined); }
.ie-banner__bg{ position:absolute; inset:0; z-index:0; }
.ie-banner__bg img{ width:100%; height:100%; object-fit:cover; }
.ie-banner__bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(54,8,9,.9), rgba(93,14,17,.86) 55%, rgba(54,8,9,.94));
}
.ie-banner__inner{ position:relative; z-index:2; }
.ie-banner h1{ font-size:clamp(2.4rem,5.6vw,4.4rem); color:var(--ie-cream); font-variation-settings:"SOFT" 42,"WONK" 1; }
.ie-banner__rule{ width:74px; height:1px; background:var(--ie-gold); margin:1.4rem auto; position:relative; }
.ie-banner__rule::after{ content:""; position:absolute; left:50%; top:50%; width:7px; height:7px; background:var(--ie-gold); rotate:45deg; translate:-50% -50%; }
.ie-crumbs{ font-size:.86rem; letter-spacing:.04em; }
.ie-crumbs ol{ list-style:none; margin:0; padding:0; display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; }
.ie-crumbs a{ text-decoration:none; color:var(--ie-mist); transition:color .25s; }
.ie-crumbs a:hover{ color:var(--ie-gold); }
.ie-crumbs li + li::before{ content:"/"; margin-right:.6rem; color:rgba(255,219,94,.5); }
.ie-crumbs [aria-current="page"]{ color:var(--ie-gold); }

/* ---------- INTRO — ivory ---------- */
.ie-intro{ padding-block:var(--ie-pad); text-align:center; background:var(--ie-ivory); }
.ie-intro p{ color:var(--ie-ink2); max-width:66ch; margin-inline:auto; }
.ie-intro p + p{ margin-top:1.2rem; }

/* ---------- OCCASIONS — sand ---------- */
.ie-occ{ padding-block:var(--ie-pad); background:var(--ie-sand); }
.ie-occ__head{ text-align:center; margin-bottom:clamp(2.2rem,5vw,3.2rem); }
.ie-occ__head h2{ font-size:clamp(1.9rem,4vw,3rem); }
.ie-occ__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.6vw,24px); }
.ie-occ__card{
  background:var(--ie-ivory); border:1px solid var(--ie-lineL); border-radius:var(--ie-r); overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .4s ease, border-color .4s ease, box-shadow .4s ease;
}
.ie-occ__card:hover{ transform:translateY(-6px); border-color:rgba(156,27,31,.4); box-shadow:0 26px 46px -28px rgba(58,16,18,.4); }
.ie-occ__thumb{ position:relative; aspect-ratio:16/11; overflow:hidden; }
.ie-occ__thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.ie-occ__card:hover .ie-occ__thumb img{ transform:scale(1.06); }
.ie-occ__n{
  position:absolute; left:0; top:0; z-index:2;
  background:var(--ie-red); color:var(--ie-ivory); font-family:var(--ie-fd); font-size:1rem; font-weight:600;
  width:42px; height:42px; display:grid; place-items:center;
}
.ie-occ__body{ padding:1.4rem 1.35rem 1.6rem; }
.ie-occ__body h3{ font-size:1.32rem; margin-bottom:.65rem; color:var(--ie-red); }
.ie-occ__body p{ color:var(--ie-ink2); font-size:.93rem; }
@media (max-width:1080px){ .ie-occ__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .ie-occ__grid{ grid-template-columns:1fr; } }

/* ---------- TYPES — ivory ---------- */
.ie-types{ background:var(--ie-ivory); padding-block:var(--ie-pad); }
.ie-types__head{ text-align:center; max-width:62ch; margin:0 auto clamp(2.5rem,6vw,4rem); }
.ie-types__head h2{ font-size:clamp(2rem,4.4vw,3.4rem); }
.ie-types__head p{ color:var(--ie-ink2); margin-top:1.1rem; }
.ie-band{
  display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(1.8rem,4.5vw,4rem);
  align-items:center; padding-block:clamp(2.4rem,5.5vw,4rem); border-top:1px solid var(--ie-lineL);
}
.ie-band:first-of-type{ border-top:0; padding-top:0; }
.ie-band__media{ position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:var(--ie-r); border:1px solid var(--ie-lineL); }
.ie-band__media img{ width:100%; height:100%; object-fit:cover; }
.ie-band__n{
  font-size:.72rem; letter-spacing:.2em; font-weight:700; color:var(--ie-ivory);
  background:var(--ie-red); display:inline-block; padding:.42em 1em; border-radius:3px; margin-bottom:1rem;
}
.ie-band h3{ font-size:clamp(1.6rem,3vw,2.4rem); margin-bottom:1rem; }
.ie-band p{ color:var(--ie-ink2); }
.ie-band p + p{ margin-top:1rem; }
.ie-band__list{ list-style:none; margin:1.5rem 0 0; padding:0; display:grid; gap:.6rem; }
.ie-band__list li{ position:relative; padding-left:1.6rem; font-size:.94rem; color:var(--ie-ink2); }
.ie-band__list li::before{ content:""; position:absolute; left:0; top:.62em; width:7px; height:7px; background:var(--ie-amber); rotate:45deg; }
.ie-band:nth-of-type(even) .ie-band__media{ order:2; }
@media (max-width:900px){
  .ie-band{ grid-template-columns:1fr; gap:1.6rem; }
  .ie-band:nth-of-type(even) .ie-band__media{ order:0; }
}

/* ---------- ENQUIRE STRIP — sand ---------- */
.ie-strip{ padding-block:var(--ie-pad); background:var(--ie-sand); }
.ie-strip__inner{
  border:1px solid var(--ie-lineL); border-radius:var(--ie-r); background:var(--ie-ivory);
  padding:clamp(2rem,5vw,3.4rem); text-align:center;
}
.ie-strip h2{ font-size:clamp(1.7rem,3.4vw,2.6rem); max-width:22ch; margin-inline:auto; }
.ie-strip p{ color:var(--ie-ink2); max-width:56ch; margin:1.1rem auto 0; }
.ie-strip__cta{ display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; margin-top:1.8rem; }

/* ---------- BOOK — ivory ---------- */
.ie-book{ padding-block:var(--ie-pad); background:var(--ie-ivory); }
.ie-book__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2.2rem,5vw,5rem); align-items:start; }
.ie-book h2{ font-size:clamp(1.9rem,4.2vw,3.2rem); }
.ie-book__lede{ color:var(--ie-ink2); margin-top:1.2rem; max-width:54ch; }
.ie-book__cta{ display:flex; gap:.7rem; flex-wrap:wrap; margin-top:2rem; }
.ie-card{ border:1px solid var(--ie-lineL); border-radius:var(--ie-r); padding:clamp(1.5rem,3vw,2.1rem); background:var(--ie-sand); }
.ie-card dl{ margin:0; display:grid; gap:1.3rem; }
.ie-card dt{ font-size:.67rem; letter-spacing:.2em; color:var(--ie-red); font-weight:700; margin-bottom:.4rem; }
.ie-card dd{ margin:0; font-size:1rem; color:var(--ie-ink); }
.ie-card dd + dd{ margin-top:.35rem; }
.ie-card dd a{ text-decoration:none; border-bottom:1px solid var(--ie-lineL); }
.ie-card dd a:hover{ border-color:var(--ie-red); color:var(--ie-red); }
.ie-fineprint{ margin-top:2.4rem; padding-top:1.5rem; border-top:1px solid var(--ie-lineL); color:var(--ie-ink2); font-size:.83rem; display:grid; gap:.45rem; }
@media (max-width:900px){ .ie-book__grid{ grid-template-columns:1fr; } }

@media (prefers-reduced-motion: reduce){ .ie-up{ opacity:1; transform:none; } }/* End custom CSS */