.elementor-3276 .elementor-element.elementor-element-26672d9{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-26672d9:not(.elementor-motion-effects-element-type-background), .elementor-3276 .elementor-element.elementor-element-26672d9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFCF7;}.elementor-3276 .elementor-element.elementor-element-9ae6c64 > .elementor-widget-container{background-color:#FFFCF7;}.elementor-3276 .elementor-element.elementor-element-e3465a1{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-e3465a1:not(.elementor-motion-effects-element-type-background), .elementor-3276 .elementor-element.elementor-element-e3465a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-3276 .elementor-element.elementor-element-9d42f8f{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-9d42f8f:not(.elementor-motion-effects-element-type-background), .elementor-3276 .elementor-element.elementor-element-9d42f8f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3276 .elementor-element.elementor-element-873f95c > .elementor-widget-container{background-color:var( --e-global-color-primary );}.elementor-3276 .elementor-element.elementor-element-879b24f{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-879b24f:not(.elementor-motion-effects-element-type-background), .elementor-3276 .elementor-element.elementor-element-879b24f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-3276 .elementor-element.elementor-element-e6195af > .elementor-widget-container{background-color:var( --e-global-color-primary );}.elementor-3276 .elementor-element.elementor-element-042db53{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-042db53:not(.elementor-motion-effects-element-type-background), .elementor-3276 .elementor-element.elementor-element-042db53 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFCF7;}.elementor-3276 .elementor-element.elementor-element-9673786 > .elementor-widget-container{background-color:#FFFCF7;}.elementor-3276 .elementor-element.elementor-element-2b6403e{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-2b6403e:not(.elementor-motion-effects-element-type-background), .elementor-3276 .elementor-element.elementor-element-2b6403e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E9E6E0;}.elementor-3276 .elementor-element.elementor-element-e402ebf > .elementor-widget-container{background-color:#E9E6E0;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-3276 .elementor-element.elementor-element-26672d9{--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-e3465a1{--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-9d42f8f{--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-879b24f{--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-042db53{--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-2b6403e{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-3276 .elementor-element.elementor-element-26672d9{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-e3465a1{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-9d42f8f{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-879b24f{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-042db53{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3276 .elementor-element.elementor-element-2b6403e{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for html, class: .elementor-element-9ae6c64 *//* Private Events: standalone card carousel, duplicated and isolated from Office Catering. */
.elementor-3276 .elementor-element.elementor-element-9ae6c64 {
  --pec-paper: #fffcf7;
  --pec-cream: #faf6f0;
  --pec-olive: #5e6b47;
  --pec-ink: #2b2b2b;
  --pec-muted: #6b665e;
  --pec-border: 1px solid rgba(43,43,43,.18);
  --pec-heading: "Playfair Display", Georgia, serif;
  --pec-body: Inter, Arial, sans-serif;
  box-sizing: border-box;
  overflow: hidden;
  background: var(--pec-cream);
  color: var(--pec-ink);
  font-family: var(--pec-body);
}
.elementor-3276 .elementor-element.elementor-element-9ae6c64 *, .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-segment--event-menu-carousel *::before, .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-segment--event-menu-carousel *::after { box-sizing: inherit; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 img { display: block; max-width: 100%; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 a { color: inherit; text-decoration: none; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu { padding: clamp(72px,8vw,112px) 0; background: linear-gradient(180deg,#fff 0%,#fffcf7 100%); }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__container { width: min(1320px,calc(100% - clamp(40px,8vw,96px))); margin-inline: auto; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__header { margin: 0 0 clamp(42px,5vw,64px); text-align: left; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__kicker { margin: 0; color: var(--pec-olive); font-size: .75rem; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__header h2 { max-width: 13ch; margin: 14px 0 14px; font-family: var(--pec-heading); font-size: clamp(2.5rem,4.2vw,4.25rem); font-weight: 400; letter-spacing: -.035em; line-height: .96; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__header > p:last-child { max-width: 68ch; margin: 0; color: var(--pec-muted); font-size: .9rem; line-height: 1.7; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__shell { --pec-gap: 16px; --pec-visible: 4; position: relative; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__viewport { container-type: inline-size; overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__viewport::-webkit-scrollbar { display: none; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__viewport:focus-visible { outline: 2px solid var(--pec-olive); outline-offset: 5px; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__track { display: flex; width: max-content; gap: var(--pec-gap); padding: 2px; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card { flex: 0 0 calc((100cqw - var(--pec-gap) * (var(--pec-visible) - 1)) / var(--pec-visible)); width: calc((100cqw - var(--pec-gap) * (var(--pec-visible) - 1)) / var(--pec-visible)); overflow: hidden; border: var(--pec-border); background: rgba(255,252,247,.56); scroll-snap-align: start; text-align: center; transition: transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card > a { display: flex; height: 100%; flex-direction: column; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card__image { width: 100%; aspect-ratio: 1 / 1.28; object-fit: cover; transition: transform 200ms ease; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card__icon { position: relative; display: grid; width: 64px; height: 64px; margin: -32px auto 20px; border: var(--pec-border); border-radius: 50%; background: var(--pec-cream); place-items: center; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card__icon img { width: 29px; height: 29px; object-fit: contain; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card h3 { margin: 0; padding: 0 18px; font-family: var(--pec-heading); font-size: clamp(1.75rem,2.2vw,2.2rem); font-weight: 400; letter-spacing: -.03em; line-height: 1; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card p { max-width: 26ch; min-height: 108px; margin: 16px auto 0; padding: 0 18px; color: var(--pec-muted); font-size: .8125rem; line-height: 1.65; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card__cue { margin-top: auto; padding: 22px 14px 28px; color: var(--pec-olive); font-size: .6875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__arrow { position: absolute; top: 48%; z-index: 2; display: grid; width: 44px; height: 44px; padding: 0; border: var(--pec-border); border-radius: 50%; background: rgba(250,246,240,.94); color: var(--pec-olive); cursor: pointer; place-items: center; transform: translateY(-50%); }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__arrow--previous { left: -22px; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__arrow--next { right: -22px; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__arrow:disabled { visibility: hidden; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__arrow:focus-visible, .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__dot:focus-visible, .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__button:focus-visible { outline: 2px solid var(--pec-olive); outline-offset: 3px; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__dots { display: flex; min-height: 8px; justify-content: center; gap: 8px; margin-top: 24px; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(94,107,71,.22); cursor: pointer; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__dot.is-active { background: var(--pec-olive); transform: scale(1.15); }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__dots[hidden] { display: none; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__staffing { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(320px,1.45fr) auto; gap: clamp(24px,4vw,56px); align-items: center; margin-top: 38px; padding: clamp(28px,3vw,40px); border: var(--pec-border); background: rgba(255,252,247,.72); text-align: left; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__staffing-kicker { margin: 0 0 8px; color: var(--pec-olive); font-size: .6875rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__staffing h3 { margin: 0; font-family: var(--pec-heading); font-size: clamp(1.65rem,2.3vw,2.25rem); font-weight: 400; letter-spacing: -.03em; line-height: 1.05; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__staffing > p { margin: 0; color: var(--pec-muted); font-size: .875rem; line-height: 1.7; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__staffing > a { color: var(--pec-olive); font-size: .6875rem; font-weight: 700; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__action { display: flex; justify-content: center; margin-top: 38px; }
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 14px 26px; border: 1px solid var(--pec-olive); background: var(--pec-olive); color: #fff !important; font-size: .6875rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; transition: background-color 180ms ease,color 180ms ease; }
@media (hover:hover) {
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__viewport { cursor: grab; }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card:hover { transform: translateY(-3px); border-color: rgba(94,107,71,.42); box-shadow: 0 12px 24px rgba(94,107,71,.08); }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card:hover .pc-event-menu-card__image { transform: scale(1.02); }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__button:hover { background: transparent; color: var(--pec-olive) !important; }
}
.elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__button:active { background: transparent; color: var(--pec-olive) !important; }
@media (max-width:1100px) { .pc-event-menu__shell { --pec-visible: 3; } }
@media (max-width:820px) { .pc-event-menu__shell { --pec-visible: 2; } }
@media (max-width:900px) { .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__staffing { grid-template-columns: 1fr 1fr; } .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__staffing > a { grid-column: 1 / -1; } }
@media (max-width:600px) {
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__container { width: min(100% - 40px,1320px); }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__shell { --pec-visible: 1.15; }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__arrow { display: none; }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card p { min-height: 96px; }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__staffing { grid-template-columns: 1fr; gap: 18px; }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__staffing > a { grid-column: auto; }
}
@media (prefers-reduced-motion:reduce) {
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__viewport { scroll-behavior: auto; }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card, .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card__image, .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__dot, .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu__button { transition: none; }
  .elementor-3276 .elementor-element.elementor-element-9ae6c64 .pc-event-menu-card:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8dcb0dc *//* Private Catering: standalone Service Detail Panels segment. */
.elementor-3276 .elementor-element.elementor-element-8dcb0dc {
  --pc-cream: var(--ccc-cream, var(--ccc-color-ivory, #faf6f0));
  --pc-paper: var(--ccc-warm-white, #fffcf7);
  --pc-stone: var(--ccc-stone, var(--ccc-color-warm-stone, #d8cfc1));
  --pc-olive: var(--ccc-olive, var(--ccc-color-olive, #5e6b47));
  --pc-deep: var(--ccc-deep-olive, #2f3a2a);
  --pc-ink: var(--ccc-charcoal, var(--ccc-color-charcoal, #2b2b2b));
  --pc-muted: #655e54;
  --pc-border: 1px solid rgba(43, 43, 43, .16);
  --pc-heading-font: var(--ccc-font-heading, "Playfair Display", Georgia, serif);
  --pc-body-font: var(--ccc-font-body, Inter, Arial, sans-serif);
  --pc-container: 1120px;
  --pc-gutter: clamp(20px, 4vw, 48px);
  --pc-section-space: clamp(70px, 8vw, 116px);
}

.elementor-3276 .elementor-element.elementor-element-8dcb0dc, .elementor-3276 .elementor-element.elementor-element-8dcb0dc * { box-sizing: border-box; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc { overflow: clip; background: #fff !important; color: var(--pc-ink); font-family: var(--pc-body-font); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc img { display: block; max-width: 100%; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc a { color: inherit; text-decoration: none; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-section { padding-block: var(--pc-section-space); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-section--cream { background: var(--pc-cream); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-section--white { background: var(--pc-paper); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-section--olive { background: var(--pc-deep); color: var(--pc-paper); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-container { width: min(var(--pc-container), calc(100% - var(--pc-gutter) * 2)); margin-inline: auto; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-stack { display: flex; flex-direction: column; gap: 1.25rem; }

.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-kicker, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-label {
  margin: 0; color: var(--pc-olive); font-family: var(--pc-body-font); font-size: .6875rem;
  font-weight: 700; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase;
}
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-section--olive .pc-kicker, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-final-cta .pc-kicker { color: rgba(255,252,247,.74); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-heading { margin: 0; color: inherit; font-family: var(--pc-heading-font); font-weight: 400; letter-spacing: -.035em; text-transform: none; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-heading--hero { font-size: clamp(4.5rem, 8vw, 8rem); line-height: .84; letter-spacing: -.045em; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-heading--section { font-size: clamp(2.7rem, 4.8vw, 4.6rem); line-height: .94; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-heading--card { font-size: clamp(1.85rem, 2.4vw, 2.45rem); line-height: .96; letter-spacing: -.025em; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-intro { max-width: 36ch; margin: 0; font-family: var(--pc-heading-font); font-size: clamp(1.08rem, 1.8vw, 1.35rem); line-height: 1.38; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-body { max-width: 62ch; margin: 0; font-size: .9375rem; line-height: 1.7; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-actions { display: flex; flex-wrap: wrap; gap: .75rem; }

.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button {
  display: inline-flex; align-items: center; justify-content: center; min-width: 190px; min-height: 48px;
  padding: .875rem 1.5rem; border: 1px solid var(--pc-olive); border-radius: 0; font-family: var(--pc-body-font);
  font-size: .6875rem; font-weight: 700; letter-spacing: .14em; line-height: 1.2; text-align: center;
  text-transform: uppercase; transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button--primary { background: var(--pc-olive); color: #fff; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button--outline { background: transparent; color: var(--pc-olive); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-final-cta .pc-button--primary { border-color: var(--pc-paper); background: var(--pc-paper); color: var(--pc-deep); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button:hover, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button:focus-visible { transform: translateY(-1px); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button--primary:hover, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button--primary:focus-visible,
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button--outline:hover, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button--outline:focus-visible { border-color: var(--pc-deep); background: var(--pc-deep); color: #fff; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-final-cta .pc-button--primary:hover, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-final-cta .pc-button--primary:focus-visible { border-color: var(--pc-paper); background: transparent; color: var(--pc-paper); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button:focus-visible, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-text-link:focus-visible,
.elementor-3276 .elementor-element.elementor-element-8dcb0dc summary:focus-visible, .elementor-3276 .elementor-element.elementor-element-8dcb0dc a:focus-visible { outline: 2px solid var(--pc-olive); outline-offset: 4px; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-text-link { display: inline-flex; width: max-content; align-items: center; gap: .35rem; color: var(--pc-olive); font-size: .6875rem; font-weight: 700; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Service detail panels */
.elementor-3276 .elementor-element.elementor-element-8dcb0dc [data-ccc-segment="private-catering-service-details"] { background: #fff !important; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-details__header { max-width: 700px; margin-bottom: 58px; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-details__header h2 { margin-top: 28px; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-details__list { display: grid; gap: 44px; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); min-height: 620px; overflow: hidden; border: var(--pc-border); background: #fff !important; scroll-margin-top: 30px; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail--reverse .pc-detail__media { grid-column: 2; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail--reverse .pc-detail__content { grid-column: 1; grid-row: 1; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__media { position: relative; min-width: 0; min-height: 100%; margin: 0; overflow: hidden; background: var(--pc-stone); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__content { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(34px,5vw,60px); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__content > .pc-heading { margin: 18px 0 20px; font-size: clamp(2.6rem,4vw,4rem); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__content > .pc-intro { margin-bottom: 28px; color: var(--pc-muted); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__facts { display: grid; width: 100%; margin: 0 0 30px; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__facts div { display: grid; grid-template-columns: minmax(110px,.34fr) minmax(0,.66fr); gap: 24px; padding: 14px 0; border-top: var(--pc-border); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__facts dt { color: var(--pc-olive); font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__facts dd { margin: 0; font-size: .8125rem; line-height: 1.6; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__content .pc-actions { margin-top: auto; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; gap: clamp(20px,3vw,38px); align-items: center; min-height: 190px; padding: clamp(28px,4vw,46px); border: var(--pc-border); background: var(--pc-deep); color: var(--pc-paper); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta__number { display: grid; width: 58px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,252,247,.4); border-radius: 50%; font-family: var(--pc-heading-font); font-size: 2rem; font-weight: 400; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta .pc-label { color: rgba(255,252,247,.68); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta h3 { margin: 9px 0 7px; font-family: var(--pc-heading-font); font-size: clamp(1.8rem,3vw,2.7rem); font-weight: 400; letter-spacing: -.03em; line-height: 1; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta__copy > p:last-child { max-width: 58ch; margin: 0; color: rgba(255,252,247,.76); font-size: .8125rem; line-height: 1.6; }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta .pc-button { border-color: var(--pc-paper); color: var(--pc-paper); }
.elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta .pc-button:hover, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta .pc-button:focus-visible { border-color: var(--pc-paper); background: var(--pc-paper); color: var(--pc-deep); outline-color: var(--pc-paper); }

@media (max-width:900px) {
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail--reverse { grid-template-columns: 1fr; min-height: 0; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail--reverse .pc-detail__media, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail--reverse .pc-detail__content { grid-column: auto; grid-row: auto; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__media { min-height: 0; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__media img { position: static; height: auto; aspect-ratio: 16 / 10; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta { grid-template-columns: 58px minmax(0,1fr); }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta .pc-button { grid-column: 2; width: max-content; }
}
@media (max-width:640px) {
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-heading--section { font-size: clamp(2.5rem,12vw,3.5rem); }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button { width: 100%; min-width: 0; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__content { padding: 30px 20px 34px; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__media img { aspect-ratio: 4 / 3; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-detail__facts div { grid-template-columns: 1fr; gap: 8px; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta { grid-template-columns: 1fr; gap: 20px; padding: 30px 20px; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta__number { width: 48px; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-bar-cta .pc-button { grid-column: auto; width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button { transition: none; }
  .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button:hover, .elementor-3276 .elementor-element.elementor-element-8dcb0dc .pc-button:focus-visible { transform: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e6195af *//* Private Catering: standalone Partnered Venues showcase segment. */
.elementor-3276 .elementor-element.elementor-element-e6195af { --pc-cream:#faf6f0; --pc-paper:#fffcf7; --pc-olive:#5e6b47; --pc-deep:#2f3a2a; --pc-ink:#2b2b2b; --pc-muted:#655e54; --pc-heading-font:var(--ccc-font-heading,"Playfair Display",Georgia,serif); --pc-body-font:var(--ccc-font-body,Inter,Arial,sans-serif); --pc-gutter:clamp(20px,4vw,48px); color:var(--pc-ink); font-family:var(--pc-body-font); }
.elementor-3276 .elementor-element.elementor-element-e6195af, .elementor-3276 .elementor-element.elementor-element-e6195af * { box-sizing:border-box; }
.elementor-3276 .elementor-element.elementor-element-e6195af a { color:inherit; text-decoration:none; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues { padding-block:clamp(70px,8vw,116px); background:#fff; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-container { display:block; width:calc(100% - var(--pc-gutter) * 2); max-width:1280px; margin-left:auto !important; margin-right:auto !important; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-kicker { margin:0; color:var(--pc-olive); font-size:.6875rem; font-weight:700; letter-spacing:.16em; line-height:1.4; text-transform:uppercase; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-heading { margin:0; font-family:var(--pc-heading-font); font-weight:400; letter-spacing:-.035em; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-heading--section { font-size:clamp(2.7rem,4.8vw,4.6rem); line-height:.94; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-body { max-width:62ch; margin:0; font-size:.9375rem; line-height:1.7; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__header { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.58fr); gap:clamp(48px,8vw,112px); align-items:end; margin-bottom:clamp(46px,6vw,72px); }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__header h2 { max-width:12ch; margin-top:26px; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__introduction { display:flex; flex-direction:column; align-items:flex-start; gap:26px; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__introduction .pc-body { color:var(--pc-muted); }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-button { display:inline-flex; width:max-content; min-width:clamp(190px,16vw,225px); min-height:46px; align-items:center; justify-content:center; padding:14px 22px; border:1px solid var(--pc-olive); background:var(--pc-olive); color:#fff; font-size:10px; font-weight:700; letter-spacing:.16em; line-height:1.2; text-align:center; text-transform:uppercase; transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,transform 180ms ease; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-button::before, .elementor-3276 .elementor-element.elementor-element-e6195af .pc-button::after { display:none !important; content:none !important; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-button:hover, .elementor-3276 .elementor-element.elementor-element-e6195af .pc-button:focus-visible { background:transparent; color:var(--pc-olive); outline:none; transform:translateY(-1px); }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__showcase { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; height:auto; min-height:0; align-items:stretch; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; min-height:0; overflow:hidden; border:1px solid transparent; background:#f2ece3; transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card--feature { grid-row:auto; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card > img { grid-row:1; width:100%; min-width:0; height:auto; min-height:0; aspect-ratio:4 / 3; object-fit:cover; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card__shade { display:none; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card__content { position:static !important; display:block !important; grid-row:2; width:100%; min-width:0; padding:clamp(18px,2.2vw,28px); border-top:1px solid rgba(43,43,43,.12); background:#f2ece3; color:var(--pc-ink); opacity:1 !important; visibility:visible !important; transform:none !important; transition:none !important; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card__content span { display:block; margin-bottom:9px; color:var(--pc-olive); font-size:.5625rem; font-weight:700; letter-spacing:.16em; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card__content h3 { margin:0; font-family:var(--pc-heading-font); font-size:clamp(1.3rem,1.8vw,1.75rem); font-weight:400; letter-spacing:-.03em; line-height:1; overflow-wrap:break-word; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card__content p { max-width:38ch; margin:8px 0 0; color:var(--pc-muted); font-size:.75rem; line-height:1.5; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory { margin-top:38px; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory > p { margin:0 0 16px; color:var(--pc-olive); font-size:.6875rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(43,43,43,.16); border-left:1px solid rgba(43,43,43,.16); }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory a { display:flex; min-width:0; align-items:baseline; justify-content:space-between; gap:18px; padding:18px 20px; border-right:1px solid rgba(43,43,43,.16); border-bottom:1px solid rgba(43,43,43,.16); transition:background-color 180ms ease,color 180ms ease; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory a:hover, .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory a:focus-visible { background:var(--pc-cream); color:var(--pc-deep); }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory span { font-family:var(--pc-heading-font); font-size:1.08rem; line-height:1.25; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory small { flex:0 0 auto; color:var(--pc-muted); font-size:.625rem; letter-spacing:.08em; line-height:1.4; text-align:right; text-transform:uppercase; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__note { max-width:62ch; margin:28px 0 0 auto; color:var(--pc-muted); font-size:.9375rem; line-height:1.7; text-align:right; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__note a { color:var(--pc-olive); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__note a:hover, .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__note a:focus-visible { color:var(--pc-deep); }
@media (hover:hover) { .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card:hover { border-color:rgba(94,107,71,.42); box-shadow:0 14px 34px rgba(47,58,42,.12); transform:translateY(-3px); } }
@media (max-width:900px) { .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__header { grid-template-columns:1fr; gap:28px; } .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__showcase { grid-template-columns:repeat(2,minmax(0,1fr)); } .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory > div { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .elementor-3276 .elementor-element.elementor-element-e6195af .pc-button { width:100%; min-width:0; } .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__showcase { grid-template-columns:1fr; grid-template-rows:none; height:auto; min-height:0; } .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card, .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card--feature { grid-row:auto; min-height:0; } .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card > img { height:auto; aspect-ratio:4 / 3; } .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card__content { padding:16px 18px 20px; } .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__directory > div { grid-template-columns:1fr; } .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venues__note { margin-left:0; text-align:left; } }
@media (prefers-reduced-motion:reduce) { .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card { transition:none; } .elementor-3276 .elementor-element.elementor-element-e6195af .pc-venue-card:hover { transform:none; } }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9673786 *//* Private Catering: standalone FAQs segment. */
.ccc-private-catering-page {
  --pc-cream: var(--ccc-cream, var(--ccc-color-ivory, #faf6f0));
  --pc-paper: var(--ccc-warm-white, #fffcf7);
  --pc-stone: var(--ccc-stone, var(--ccc-color-warm-stone, #d8cfc1));
  --pc-olive: var(--ccc-olive, var(--ccc-color-olive, #5e6b47));
  --pc-deep: var(--ccc-deep-olive, #2f3a2a);
  --pc-ink: var(--ccc-charcoal, var(--ccc-color-charcoal, #2b2b2b));
  --pc-muted: #655e54;
  --pc-border: 1px solid rgba(43, 43, 43, .16);
  --pc-heading-font: var(--ccc-font-heading, "Playfair Display", Georgia, serif);
  --pc-body-font: var(--ccc-font-body, Inter, Arial, sans-serif);
  --pc-container: 1120px;
  --pc-gutter: clamp(20px, 4vw, 48px);
  --pc-section-space: clamp(70px, 8vw, 116px);
}

.ccc-private-catering-page, .ccc-private-catering-page * { box-sizing: border-box; }
.ccc-private-catering-page { overflow: clip; background: var(--pc-paper); color: var(--pc-ink); font-family: var(--pc-body-font); }
.ccc-private-catering-page img { display: block; max-width: 100%; }
.ccc-private-catering-page a { color: inherit; text-decoration: none; }
.ccc-private-catering-page .pc-section { padding-block: var(--pc-section-space); }
.ccc-private-catering-page .pc-section--cream { background: var(--pc-cream); }
.ccc-private-catering-page .pc-section--white { background: var(--pc-paper); }
.ccc-private-catering-page .pc-section--olive { background: var(--pc-deep); color: var(--pc-paper); }
.ccc-private-catering-page .pc-container { width: min(var(--pc-container), calc(100% - var(--pc-gutter) * 2)); margin-inline: auto; }
.ccc-private-catering-page .pc-stack { display: flex; flex-direction: column; gap: 1.25rem; }

.ccc-private-catering-page .pc-kicker, .ccc-private-catering-page .pc-label {
  margin: 0; color: var(--pc-olive); font-family: var(--pc-body-font); font-size: .6875rem;
  font-weight: 700; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase;
}
.ccc-private-catering-page .pc-section--olive .pc-kicker, .ccc-private-catering-page .pc-final-cta .pc-kicker { color: rgba(255,252,247,.74); }
.ccc-private-catering-page .pc-heading { margin: 0; color: inherit; font-family: var(--pc-heading-font); font-weight: 400; letter-spacing: -.035em; text-transform: none; }
.ccc-private-catering-page .pc-heading--hero { font-size: clamp(4.5rem, 8vw, 8rem); line-height: .84; letter-spacing: -.045em; }
.ccc-private-catering-page .pc-heading--section { font-size: clamp(2.7rem, 4.8vw, 4.6rem); line-height: .94; }
.ccc-private-catering-page .pc-heading--card { font-size: clamp(1.85rem, 2.4vw, 2.45rem); line-height: .96; letter-spacing: -.025em; }
.ccc-private-catering-page .pc-intro { max-width: 36ch; margin: 0; font-family: var(--pc-heading-font); font-size: clamp(1.08rem, 1.8vw, 1.35rem); line-height: 1.38; }
.ccc-private-catering-page .pc-body { max-width: 62ch; margin: 0; font-size: .9375rem; line-height: 1.7; }
.ccc-private-catering-page .pc-actions { display: flex; flex-wrap: wrap; gap: .75rem; }

.ccc-private-catering-page .pc-button {
  display: inline-flex; align-items: center; justify-content: center; min-width: 190px; min-height: 48px;
  padding: .875rem 1.5rem; border: 1px solid var(--pc-olive); border-radius: 0; font-family: var(--pc-body-font);
  font-size: .6875rem; font-weight: 700; letter-spacing: .14em; line-height: 1.2; text-align: center;
  text-transform: uppercase; transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.ccc-private-catering-page .pc-button--primary { background: var(--pc-olive); color: #fff; }
.ccc-private-catering-page .pc-button--outline { background: transparent; color: var(--pc-olive); }
.ccc-private-catering-page .pc-final-cta .pc-button--primary { border-color: var(--pc-paper); background: var(--pc-paper); color: var(--pc-deep); }
.ccc-private-catering-page .pc-button:hover, .ccc-private-catering-page .pc-button:focus-visible { transform: translateY(-1px); }
.ccc-private-catering-page .pc-button--primary:hover, .ccc-private-catering-page .pc-button--primary:focus-visible,
.ccc-private-catering-page .pc-button--outline:hover, .ccc-private-catering-page .pc-button--outline:focus-visible { border-color: var(--pc-deep); background: var(--pc-deep); color: #fff; }
.ccc-private-catering-page .pc-final-cta .pc-button--primary:hover, .ccc-private-catering-page .pc-final-cta .pc-button--primary:focus-visible { border-color: var(--pc-paper); background: transparent; color: var(--pc-paper); }
.ccc-private-catering-page .pc-button:focus-visible, .ccc-private-catering-page .pc-text-link:focus-visible,
.ccc-private-catering-page summary:focus-visible, .ccc-private-catering-page a:focus-visible { outline: 2px solid var(--pc-olive); outline-offset: 4px; }
.ccc-private-catering-page .pc-text-link { display: inline-flex; width: max-content; align-items: center; gap: .35rem; color: var(--pc-olive); font-size: .6875rem; font-weight: 700; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; }
.ccc-private-catering-page .pc-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* FAQs */
.ccc-private-catering-page .pc-faqs__layout { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: clamp(48px,9vw,130px); align-items: start; }
.ccc-private-catering-page .pc-faqs__intro { position: sticky; top: 40px; }
.ccc-private-catering-page .pc-faqs__intro h2 { margin: 28px 0 24px; }
.ccc-private-catering-page .pc-faqs__intro .pc-body { max-width: 34ch; color: var(--pc-muted); }
.ccc-private-catering-page .pc-faqs__list { border-top: var(--pc-border); }
.ccc-private-catering-page .pc-faqs details { border-bottom: var(--pc-border); }
.ccc-private-catering-page .pc-faqs summary { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 24px 0; font-family: var(--pc-heading-font); font-size: clamp(1.25rem,2vw,1.6rem); line-height: 1.25; list-style: none; cursor: pointer; }
.ccc-private-catering-page .pc-faqs summary::-webkit-details-marker { display: none; }
.ccc-private-catering-page .pc-faqs summary span { color: var(--pc-olive); font-family: var(--pc-body-font); font-size: 1.25rem; transition: transform 180ms ease; }
.ccc-private-catering-page .pc-faqs details[open] summary span { transform: rotate(45deg); }
.ccc-private-catering-page .pc-faqs details div { padding: 0 50px 24px 0; }
.ccc-private-catering-page .pc-faqs details p { max-width: 62ch; margin: 0; color: var(--pc-muted); font-size: .875rem; line-height: 1.7; }

@media (max-width:900px) {
  .ccc-private-catering-page .pc-faqs__layout { grid-template-columns: 1fr; }
  .ccc-private-catering-page .pc-faqs__intro { position: static; }
}
@media (max-width:640px) {
  .ccc-private-catering-page .pc-heading--section { font-size: clamp(2.5rem,12vw,3.5rem); }
  .ccc-private-catering-page .pc-faqs details div { padding-right: 0; }
}
@media (prefers-reduced-motion:reduce) {
  .ccc-private-catering-page .pc-faqs summary span { transition: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e402ebf *//* Private Catering: standalone Final CTA segment. */
.elementor-3276 .elementor-element.elementor-element-e402ebf {
  --pc-cream: var(--ccc-cream, var(--ccc-color-ivory, #faf6f0));
  --pc-paper: var(--ccc-warm-white, #fffcf7);
  --pc-stone: var(--ccc-stone, var(--ccc-color-warm-stone, #d8cfc1));
  --pc-olive: var(--ccc-olive, var(--ccc-color-olive, #5e6b47));
  --pc-deep: var(--ccc-deep-olive, #2f3a2a);
  --pc-ink: var(--ccc-charcoal, var(--ccc-color-charcoal, #2b2b2b));
  --pc-muted: #655e54;
  --pc-border: 1px solid rgba(43, 43, 43, .16);
  --pc-heading-font: var(--ccc-font-heading, "Playfair Display", Georgia, serif);
  --pc-body-font: var(--ccc-font-body, Inter, Arial, sans-serif);
  --pc-container: 1120px;
  --pc-gutter: clamp(20px, 4vw, 48px);
  --pc-section-space: clamp(70px, 8vw, 116px);
}

.elementor-3276 .elementor-element.elementor-element-e402ebf, .elementor-3276 .elementor-element.elementor-element-e402ebf * { box-sizing: border-box; }
.elementor-3276 .elementor-element.elementor-element-e402ebf {
  overflow: visible;
  background: var(--pc-paper);
  color: var(--pc-ink);
  font-family: var(--pc-body-font);
}
.elementor-3276 .elementor-element.elementor-element-e402ebf img { display: block; max-width: 100%; }
.elementor-3276 .elementor-element.elementor-element-e402ebf a { color: inherit; text-decoration: none; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-section { padding-block: var(--pc-section-space); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-section--cream { background: var(--pc-cream); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-section--white { background: var(--pc-paper); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-section--olive { background: var(--pc-deep); color: var(--pc-paper); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-container { width: min(var(--pc-container), calc(100% - var(--pc-gutter) * 2)); margin-inline: auto; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-stack { display: flex; flex-direction: column; gap: 1.25rem; }

.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-kicker, .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-label {
  margin: 0; color: var(--pc-olive); font-family: var(--pc-body-font); font-size: .6875rem;
  font-weight: 700; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase;
}
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-section--olive .pc-kicker, .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta .pc-kicker { color: rgba(255,252,247,.74); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-heading { margin: 0; color: inherit; font-family: var(--pc-heading-font); font-weight: 400; letter-spacing: -.035em; text-transform: none; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-heading--hero { font-size: clamp(4.5rem, 8vw, 8rem); line-height: .84; letter-spacing: -.045em; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-heading--section { font-size: clamp(2.7rem, 4.8vw, 4.6rem); line-height: .94; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-heading--card { font-size: clamp(1.85rem, 2.4vw, 2.45rem); line-height: .96; letter-spacing: -.025em; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-intro { max-width: 36ch; margin: 0; font-family: var(--pc-heading-font); font-size: clamp(1.08rem, 1.8vw, 1.35rem); line-height: 1.38; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-body { max-width: 62ch; margin: 0; font-size: .9375rem; line-height: 1.7; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-actions { display: flex; flex-wrap: wrap; gap: .75rem; }

.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button {
  display: inline-flex; align-items: center; justify-content: center; min-width: 190px; min-height: 48px;
  padding: .875rem 1.5rem; border: 1px solid var(--pc-olive); border-radius: 0; font-family: var(--pc-body-font);
  font-size: .6875rem; font-weight: 700; letter-spacing: .14em; line-height: 1.2; text-align: center;
  text-transform: uppercase; transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button--primary { background: var(--pc-olive); color: #fff; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button--outline { background: transparent; color: var(--pc-olive); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta .pc-button--primary { border-color: var(--pc-paper); background: var(--pc-paper); color: var(--pc-deep); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button:hover, .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button:focus-visible { transform: translateY(-1px); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button--primary:hover, .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button--primary:focus-visible,
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button--outline:hover, .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button--outline:focus-visible { border-color: var(--pc-deep); background: var(--pc-deep); color: #fff; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta .pc-button--primary:hover, .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta .pc-button--primary:focus-visible { border-color: var(--pc-paper); background: transparent; color: var(--pc-paper); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button:focus-visible, .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-text-link:focus-visible,
.elementor-3276 .elementor-element.elementor-element-e402ebf summary:focus-visible, .elementor-3276 .elementor-element.elementor-element-e402ebf a:focus-visible { outline: 2px solid var(--pc-olive); outline-offset: 4px; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-text-link { display: inline-flex; width: max-content; align-items: center; gap: .35rem; color: var(--pc-olive); font-size: .6875rem; font-weight: 700; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Final CTA */
.elementor-3276 .elementor-element.elementor-element-e402ebf [data-ccc-segment="private-catering-final-cta"] {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin-left: -50vw;
  overflow: clip;
  background: var(--pc-deep) !important;
}
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__panel { display: grid; grid-template-columns: minmax(340px,40%) minmax(0,60%); min-height: clamp(364px,26.6vw,462px); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(52px,7vw,90px) clamp(28px,5vw,72px); background: var(--pc-deep); color: var(--pc-paper); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__content h2 { margin: 28px 0 24px; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__content .pc-body { max-width: 36ch; color: rgba(255,252,247,.82); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__content .pc-button { margin-top: 30px; }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__media { min-width: 0; margin: 0; overflow: hidden; background: var(--pc-stone); }
.elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.12); }

@media (max-width:900px) {
  .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__panel { grid-template-columns: 1fr; min-height: 0; }
  .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__content { min-height: 460px; }
  .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__media img { aspect-ratio: 16 / 10; }
}
@media (max-width:640px) {
  .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-heading--section { font-size: clamp(2.5rem,12vw,3.5rem); }
  .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button { width: 100%; min-width: 0; }
  .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__content { min-height: 0; padding: 64px 20px 70px; }
  .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-final-cta__media img { aspect-ratio: 4 / 3; }
}
@media (prefers-reduced-motion:reduce) {
  .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button { transition: none; }
  .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button:hover, .elementor-3276 .elementor-element.elementor-element-e402ebf .pc-button:focus-visible { transform: none; }
}/* End custom CSS */