.elementor-138 .elementor-element.elementor-element-e6d1baf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-138 .elementor-element.elementor-element-8c18f5a{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-138 .elementor-element.elementor-element-d00aeb2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-138 .elementor-element.elementor-element-2755992{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-138 .elementor-element.elementor-element-9e4a4ec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-138 .elementor-element.elementor-element-238e05c{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-8c18f5a *//* ===== Our Catering Services (Unique / No conflicts) ===== */
.acsv-hero{
  --acsv-bg1:#0f3c34;
  --acsv-bg2:#0b2f28;
  --acsv-cream: rgba(255,255,255,.92);
  --acsv-cream80: rgba(255,255,255,.78);
  --acsv-gold:#c79a63;

  position: relative;
  width: 100%;
  padding: clamp(64px, 7vw, 110px) 0 clamp(44px, 5vw, 70px);
  overflow: hidden;

  background: radial-gradient(900px 420px at 50% 30%, rgba(255,255,255,.05), transparent 60%),
              linear-gradient(180deg, var(--acsv-bg1), var(--acsv-bg2));

  margin-top: 0 !important;
  border-top: 0 !important;
}

.acsv-wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
}

.acsv-head{
  text-align: center;
  max-width: 860px;
  margin: 0 auto;
}

/* ===== divider: line starts from star (left + right) ===== */
.acsv-divider{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 18px;
}

.acsv-star{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 28px;
  height: 28px;
  color: var(--acsv-gold) !important;
  font-size: 20px;
  line-height: 1;
  transform: translateY(-1px);
}

/* the two lines */
.acsv-line{
  height: 1px;
  width: clamp(140px, 22vw, 420px);
  background: linear-gradient(90deg, transparent, rgba(199,154,99,.40));
  opacity: .95;
}

.acsv-line--l{
  background: linear-gradient(90deg, transparent, rgba(199,154,99,.40));
}

.acsv-line--r{
  background: linear-gradient(90deg, rgba(199,154,99,.40), transparent);
}

/* title */
.acsv-title{
  margin: 0 0 18px 0 !important;
  color: var(--acsv-cream) !important;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  letter-spacing: .2px;
  line-height: 1.02;
  font-size: clamp(38px, 4.8vw, 72px);
  text-shadow: 0 18px 46px rgba(0,0,0,.28);
}

.acsv-gold{ color: var(--acsv-gold) !important; }

/* subtitle */
.acsv-subtitle{
  margin: 0 !important;
  color: var(--acsv-cream80) !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.7;
  text-shadow: 0 14px 34px rgba(0,0,0,.22);
}

/* ===== Page-open animation (small delay) ===== */
@keyframes acsvFadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

.acsv-divider,
.acsv-title,
.acsv-subtitle{
  opacity: 0;
  animation: acsvFadeUp .85s ease forwards;
  will-change: opacity, transform;
}

.acsv-divider{  animation-delay: .10s; }
.acsv-title{    animation-delay: .22s; }
.acsv-subtitle{ animation-delay: .36s; }

@media (prefers-reduced-motion: reduce){
  .acsv-divider,
  .acsv-title,
  .acsv-subtitle{
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-238e05c *//* Paste into: Elementor > Advanced > Custom CSS (or Site CSS)
   Works best if this section sits inside a full-width container. */

.pp-process{
  --pp-maroon-1:#5a1f26;
  --pp-maroon-2:#47161c;
  --pp-cream:#f6efe6;
  --pp-cream-70: rgba(246,239,230,.72);
  --pp-gold:#caa56a;
  --pp-gold-2:#e0c08a;
  --pp-shadow: 0 18px 40px rgba(0,0,0,.28);

  position: relative;
  padding: clamp(56px, 6vw, 96px) 0;
  color: var(--pp-cream);
  overflow: hidden;
  isolation: isolate;

  /* Maroon gradient base */
  background:
    radial-gradient(1200px 500px at 50% -15%, rgba(255,255,255,.08), transparent 55%),
    radial-gradient(900px 600px at 10% 15%, rgba(202,165,106,.10), transparent 55%),
    linear-gradient(180deg, var(--pp-maroon-1), var(--pp-maroon-2));
}

/* Mughal-ish subtle animated pattern */
.pp-process::before{
  content:"";
  position:absolute; inset:-40%;
  background:
    radial-gradient(circle at 20% 30%, rgba(202,165,106,.12) 0 2px, transparent 3px),
    radial-gradient(circle at 70% 20%, rgba(202,165,106,.10) 0 2px, transparent 3px),
    radial-gradient(circle at 40% 80%, rgba(202,165,106,.10) 0 2px, transparent 3px),
    linear-gradient(45deg, rgba(255,255,255,.05) 0 1px, transparent 1px 28px);
  background-size: 120px 120px, 160px 160px, 180px 180px, 28px 28px;
  opacity:.35;
  filter: blur(.2px);
  transform: rotate(8deg);
  animation: pp-pattern 14s linear infinite;
  z-index:-2;
}

.pp-process::after{
  /* soft vignette */
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(900px 520px at 50% 45%, transparent 25%, rgba(0,0,0,.20) 70%);
  z-index:-1;
}

@keyframes pp-pattern{
  0%   { transform: translate3d(-1%, -1%, 0) rotate(8deg); }
  50%  { transform: translate3d( 1.2%, .8%, 0) rotate(8deg); }
  100% { transform: translate3d(-1%, -1%, 0) rotate(8deg); }
}

.pp-wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 18px;
}

.pp-head{
  text-align:center;
  margin-bottom: clamp(36px, 4vw, 64px);
  animation: pp-fadeUp .9s ease both;
}

.pp-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 14px;
  margin-bottom: 14px;
}

.pp-line{
  width: min(240px, 28vw);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(202,165,106,.55), transparent);
  transform-origin:center;
  animation: pp-lineDraw 1.2s ease .2s both;
}

.pp-spark{
  color: var(--pp-gold);
  font-size: 20px;
  filter: drop-shadow(0 8px 14px rgba(202,165,106,.22));
  animation: pp-sparkle 2.6s ease-in-out infinite;
}

@keyframes pp-lineDraw{
  from { transform: scaleX(.25); opacity: .1; }
  to   { transform: scaleX(1);   opacity: 1; }
}
@keyframes pp-sparkle{
  0%,100% { transform: translateY(0) rotate(0deg); opacity: .9; }
  50%     { transform: translateY(-3px) rotate(6deg); opacity: 1; }
}

.pp-title{
  font-family: "Playfair Display", ui-serif, Georgia, serif;
  font-weight: 800;
  letter-spacing: .2px;
  line-height: 1.05;
  margin: 0 0 10px;
  font-size: clamp(30px, 3.6vw, 54px);
  text-shadow: 0 18px 40px rgba(0,0,0,.28);
}

.pp-gold{
  color: var(--pp-gold);
  position: relative;
  display:inline-block;
}

/* gold shimmer */
.pp-gold::after{
  content:"";
  position:absolute; inset:-6px -10px;
  background: linear-gradient(115deg, transparent 0 35%, rgba(255,255,255,.22) 48%, transparent 60% 100%);
  transform: translateX(-40%);
  opacity: .0;
  pointer-events:none;
  animation: pp-shimmer 3.6s ease-in-out infinite;
}
@keyframes pp-shimmer{
  0%   { transform: translateX(-55%); opacity: 0; }
  20%  { opacity: .55; }
  45%  { transform: translateX(55%); opacity: 0; }
  100% { opacity: 0; }
}

.pp-sub{
  margin: 0 auto;
  max-width: 620px;
  color: var(--pp-cream-70);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
  font-size: 16px;
}

.pp-steps{
  position: relative;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 44px);
}

.pp-step{
  position: relative;
  text-align:center;
  padding: 16px 10px 4px;
  animation: pp-fadeUp .9s ease both;
  animation-delay: calc(.18s + (var(--i) * .14s));
}

/* Connector line between steps (desktop) */
.pp-connector{
  display:none;
}
@media (min-width: 768px){
  .pp-connector{
    display:block;
    position:absolute;
    top: 68px;
    left: 62%;
    width: 78%;
    height: 2px;
    background: linear-gradient(90deg, rgba(202,165,106,.55), rgba(202,165,106,.12));
    border-radius: 99px;
    transform-origin:left;
    transform: scaleX(.2);
    opacity: .0;
    animation: pp-drawConnector 1.1s ease both;
    animation-delay: calc(.55s + (var(--i) * .14s));
  }
  .pp-step:last-child .pp-connector{ display:none; }
}
@keyframes pp-drawConnector{
  to { transform: scaleX(1); opacity: .95; }
}

/* Icon badge */
.pp-badge{
  position: relative;
  display:inline-grid;
  place-items:center;
  margin-bottom: 16px;
}

.pp-ring{
  width: 84px;
  height: 84px;
  border-radius: 999px;
  border: 2px solid rgba(202,165,106,.75);
  background: rgba(246,239,230,.08);
  display:grid;
  place-items:center;
  box-shadow: 0 14px 30px rgba(0,0,0,.25);
  position: relative;
  overflow:hidden;

  /* entrance + floating */
  animation:
    pp-pop .75s cubic-bezier(.2,.9,.2,1) both,
    pp-float 4.4s ease-in-out infinite;
  animation-delay:
    calc(.22s + (var(--i) * .14s)),
    calc(1.0s + (var(--i) * .2s));
}

/* glowing sweep inside ring */
.pp-ring::before{
  content:"";
  position:absolute; inset:-40%;
  background: conic-gradient(from 180deg, transparent 0 70%, rgba(224,192,138,.35), transparent);
  animation: pp-rotateGlow 4.8s linear infinite;
  opacity:.9;
}
@keyframes pp-rotateGlow{
  to { transform: rotate(360deg); }
}

.pp-ico{
  width: 34px;
  height: 34px;
  color: var(--pp-gold);
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 10px 18px rgba(202,165,106,.22));
  animation: pp-iconBreath 2.8s ease-in-out infinite;
  animation-delay: calc(.4s + (var(--i) * .2s));
}
@keyframes pp-iconBreath{
  0%,100% { transform: translateY(0) scale(1); }
  50%     { transform: translateY(-2px) scale(1.05); }
}

.pp-num{
  position:absolute;
  top: -10px;
  right: -10px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--pp-gold);
  color: #2a1418;
  display:grid;
  place-items:center;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  font-weight: 900;
  font-size: 13px;
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  transform: scale(.7);
  opacity: 0;
  animation: pp-bounceIn .65s cubic-bezier(.2,1.2,.2,1) both;
  animation-delay: calc(.55s + (var(--i) * .14s));
}

.pp-h3{
  margin: 10px 0 10px;
  font-family: "Playfair Display", ui-serif, Georgia, serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--pp-cream);
  letter-spacing: .2px;
  animation: pp-fadeUp .9s ease both;
  animation-delay: calc(.26s + (var(--i) * .14s));
}

.pp-p{
  margin: 0 auto;
  max-width: 320px;
  color: rgba(246,239,230,.74);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  line-height: 1.7;
  font-size: 15px;
  animation: pp-fadeUp 1s ease both;
  animation-delay: calc(.30s + (var(--i) * .14s));
}

/* Hover = premium */
.pp-step{
  transition: transform .35s ease, filter .35s ease;
}
.pp-step:hover{
  transform: translateY(-6px);
  filter: drop-shadow(var(--pp-shadow));
}
.pp-step:hover .pp-ring{
  animation:
    pp-pop .75s cubic-bezier(.2,.9,.2,1) both,
    pp-float 3.4s ease-in-out infinite;
}
.pp-step:hover .pp-ico{
  animation: pp-wiggle .7s ease-in-out both;
}
.pp-step:hover .pp-connector{
  filter: drop-shadow(0 10px 16px rgba(202,165,106,.22));
}

@keyframes pp-wiggle{
  0%{ transform: rotate(0deg) }
  25%{ transform: rotate(-6deg) scale(1.05) }
  50%{ transform: rotate(6deg) scale(1.05) }
  100%{ transform: rotate(0deg) }
}

/* Keyframes */
@keyframes pp-fadeUp{
  from{ opacity:0; transform: translateY(16px); }
  to{ opacity:1; transform: translateY(0); }
}
@keyframes pp-pop{
  from{ transform: scale(.88); opacity:.0; }
  to{ transform: scale(1); opacity:1; }
}
@keyframes pp-float{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-6px); }
}
@keyframes pp-bounceIn{
  0%   { transform: scale(.35); opacity: 0; }
  65%  { transform: scale(1.12); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* Mobile */
@media (max-width: 767px){
  .pp-steps{ grid-template-columns: 1fr; gap: 26px; }
  .pp-step{ padding-top: 6px; }
  .pp-p{ max-width: 520px; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .pp-process::before,
  .pp-ring,
  .pp-ico,
  .pp-line,
  .pp-spark,
  .pp-num,
  .pp-step,
  .pp-head,
  .pp-h3,
  .pp-p,
  .pp-connector,
  .pp-gold::after{
    animation: none !important;
    transition: none !important;
  }
}
/* Astra override fix for this section only */
.pp-process,
.pp-process *{
  color: inherit;
}

.pp-process{
  color: #f6efe6 !important; /* cream base */
}

/* Headings */
.pp-process .pp-title{
  color:#f6efe6 !important;
}
.pp-process .pp-h3{
  color:#f6efe6 !important;
}

/* Gold highlight */
.pp-process .pp-gold{
  color:#caa56a !important;
}

/* Paragraphs */
.pp-process .pp-sub{
  color: rgba(246,239,230,.80) !important;
}
.pp-process .pp-p{
  color: rgba(246,239,230,.74) !important;
}

/* If Astra treats anything as a link (blue), force inherit */
.pp-process a,
.pp-process a:visited,
.pp-process a:hover,
.pp-process a:focus{
  color: inherit !important;
  text-decoration: none !important;
}/* End custom CSS */