.occasion-intro{max-width:800px;margin:-20px auto 28px;text-align:center;color:#5d564d;font-size:.91rem;line-height:1.7}
@media(max-width:800px){.occasion-intro{margin:-8px auto 23px;font-size:.84rem;line-height:1.65}}

/* Local visual refinement: keep offer copy separate from photography. */
.catering-page .catering-hero h1{font-size:clamp(2.8rem,4.5vw,4.25rem)}
.catering-page .catering-hero-photo,
.catering-page .method-photo,
.catering-page .food-photo,
.catering-page .dessert-photo{height:auto;border-radius:0;overflow:visible;background:transparent;display:flex;flex-direction:column;gap:11px}
.catering-page .catering-hero-photo:after{display:none}
.catering-page .catering-hero-photo picture,
.catering-page .method-photo picture,
.catering-page .food-photo picture,
.catering-page .dessert-photo picture{width:100%;height:auto;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#e3d8c7}
.catering-page .catering-hero-photo img,
.catering-page .method-photo img,
.catering-page .food-photo img,
.catering-page .dessert-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.catering-page .catering-hero-photo figcaption{position:static;z-index:auto;padding:0 2px;color:#766d5f;font-size:.61rem;letter-spacing:.1em}
.catering-page .photo-caption{position:static;display:block;padding:0 2px;background:none;color:#766d5f;font-size:.72rem;font-weight:600;letter-spacing:0}
.catering-page .food-photo figcaption,
.catering-page .dessert-photo figcaption{position:static;padding:0 2px;background:none;color:#766d5f;font-size:.72rem;line-height:1.45}
@media(max-width:800px){
  .catering-page .catering-hero h1{font-size:clamp(2.45rem,8vw,3.55rem)}
  .catering-page .catering-hero-photo{height:auto}
  .catering-page .method-photo{height:auto}
  .catering-page .food-photo{height:auto}
  .catering-page .dessert-photo{height:auto}
}

/* Match the white split-card treatment used on the site's other pages. */
.catering-page .catering-hero,
.catering-page .catering-method,
.catering-page .catering-food,
.catering-page .catering-area{
  width:min(1220px,91.6%);
  max-width:none;
  min-height:500px;
  margin:38px auto 34px;
  padding:0;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  grid-template-areas:"copy media";
  gap:0;
  align-items:stretch;
  background:#fffdf9;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(117,102,87,.1);
}
.catering-page .catering-hero{margin-top:58px;min-height:520px}
.catering-page .catering-hero-copy,
.catering-page .method-copy,
.catering-page .food-copy,
.catering-page .catering-area>div{
  grid-area:copy;
  min-width:0;
  padding:62px 64px 66px;
  align-self:center;
}
.catering-page .catering-hero-photo,
.catering-page .method-photo,
.catering-page .food-photo,
.catering-page .dessert-photo{
  grid-area:media;
  align-self:stretch;
  min-width:0;
  min-height:100%;
  height:auto;
  display:flex;
  flex-direction:column;
  justify-content:stretch;
  gap:0;
  overflow:hidden;
  border-radius:0;
  background:#fffdf9;
}
.catering-page .catering-hero-photo picture,
.catering-page .method-photo picture,
.catering-page .food-photo picture,
.catering-page .dessert-photo picture{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:0;
  background:#e3d8c7;
}
.catering-page .catering-hero-photo img,
.catering-page .method-photo img,
.catering-page .food-photo img,
.catering-page .dessert-photo img{object-fit:cover;object-position:center}
.catering-page .catering-hero-photo figcaption,
.catering-page .method-photo .photo-caption,
.catering-page .food-photo figcaption,
.catering-page .dessert-photo figcaption{
  position:static;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 20px 15px;
  background:#fffdf9;
  color:#766d5f;
  font-size:.68rem;
  line-height:1.45;
}
.catering-page .catering-occasion{
  width:min(1220px,91.6%);
  max-width:none;
  margin:38px auto 34px;
  padding:64px 72px;
  background:#fffdf9;
  border-radius:24px;
  box-shadow:0 14px 30px rgba(117,102,87,.08);
}

@media(max-width:1100px){
  .catering-page .catering-hero,
  .catering-page .catering-method,
  .catering-page .catering-food,
  .catering-page .catering-area{
    width:min(91.6%,900px);
    min-height:0;
    margin:28px auto;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"media" "copy";
  }
  .catering-page .catering-hero{margin-top:42px}
  .catering-page .catering-hero-copy,
  .catering-page .method-copy,
  .catering-page .food-copy,
  .catering-page .catering-area>div{padding:48px 52px 52px}
  .catering-page .catering-hero-photo,
  .catering-page .method-photo,
  .catering-page .food-photo,
  .catering-page .dessert-photo{min-height:0;height:auto}
  .catering-page .catering-hero-photo picture,
  .catering-page .method-photo picture,
  .catering-page .food-photo picture,
  .catering-page .dessert-photo picture{
    flex:0 0 auto;
    height:auto;
    aspect-ratio:4/3;
  }
}

/* Keep the copyright inside the same footer flow used on /oferta and /o-nas. */
.catering-page footer{
  min-height:0;
  grid-template-columns:1.2fr repeat(4,1fr);
  gap:34px;
  padding:62px 4.2% 0;
}
.catering-page footer .footer-bottom{
  position:static;
  left:auto;
  right:auto;
  bottom:auto;
  grid-column:1/-1;
  margin-top:28px;
  padding:18px 0 20px;
  border-top:1px solid rgba(228,220,207,.18);
  color:#aaa29a;
  font-size:.68rem;
}

@media(max-width:800px){
  .catering-page footer{
    grid-template-columns:1fr 1fr;
    gap:30px 18px;
    padding:42px 5% 0;
  }
  .catering-page footer .footer-brand{grid-column:1/-1}
  .catering-page footer .footer-brand img{width:190px}
  .catering-page footer .footer-bottom{margin-top:10px}
}

/* Precise split-photo layout: equal desktop columns and a full-height image. */
.catering-page .catering-hero,
.catering-page .catering-method,
.catering-page .catering-food,
.catering-page .catering-area{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  align-items:stretch;
}
.catering-page .catering-hero-copy,
.catering-page .method-copy,
.catering-page .food-copy,
.catering-page .catering-area>div{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.catering-page .catering-hero-photo,
.catering-page .method-photo,
.catering-page .food-photo,
.catering-page .dessert-photo{
  align-self:stretch;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  gap:0;
  overflow:hidden;
  border-radius:0;
}
.catering-page .catering-hero-photo picture,
.catering-page .method-photo picture,
.catering-page .food-photo picture,
.catering-page .dessert-photo picture{
  display:block;
  flex:1 1 auto;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:0;
}
.catering-page .catering-hero-photo img,
.catering-page .method-photo img,
.catering-page .food-photo img,
.catering-page .dessert-photo img{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  object-fit:cover;
}
.catering-page .catering-hero-photo figcaption,
.catering-page .method-photo .photo-caption,
.catering-page .food-photo figcaption,
.catering-page .dessert-photo figcaption{
  display:none;
}

@media(max-width:1100px){
  .catering-page .catering-hero,
  .catering-page .catering-method,
  .catering-page .catering-food,
  .catering-page .catering-area{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    grid-template-areas:"media" "copy";
  }
  .catering-page .catering-hero-photo,
  .catering-page .method-photo,
  .catering-page .food-photo,
  .catering-page .dessert-photo{
    width:100%;
    height:auto;
    min-height:0;
  }
  .catering-page .catering-hero-photo picture,
  .catering-page .method-photo picture,
  .catering-page .food-photo picture,
  .catering-page .dessert-photo picture{
    flex:0 0 auto;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
  }
  .catering-page .catering-hero-photo img,
  .catering-page .method-photo img,
  .catering-page .food-photo img,
  .catering-page .dessert-photo img{height:100%}
}

@media(max-width:800px){
  .catering-page .catering-hero,
  .catering-page .catering-method,
  .catering-page .catering-food,
  .catering-page .catering-area{
    width:90%;
    min-height:0;
    margin:28px auto;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"media" "copy";
    border-radius:19px;
  }
  .catering-page .catering-hero{margin-top:34px}
  .catering-page .catering-hero-copy,
  .catering-page .method-copy,
  .catering-page .food-copy,
  .catering-page .catering-area>div{padding:36px 27px 40px}
  .catering-page .catering-hero-photo,
  .catering-page .method-photo,
  .catering-page .food-photo,
  .catering-page .dessert-photo{min-height:0;height:auto}
  .catering-page .catering-hero-photo picture,
  .catering-page .method-photo picture,
  .catering-page .food-photo picture,
  .catering-page .dessert-photo picture{
    flex:0 0 auto;
    height:auto;
    aspect-ratio:4/3;
  }
  .catering-page .catering-hero-photo figcaption,
  .catering-page .method-photo .photo-caption,
  .catering-page .food-photo figcaption,
  .catering-page .dessert-photo figcaption{padding:11px 16px 13px}
  .catering-page .catering-occasion{
    width:90%;
    margin:28px auto;
    padding:40px 25px;
    border-radius:19px;
  }
}

/* Desktop section-height refinement: keep equal split columns while fitting
   each offer card into a typical desktop viewport without clipping content. */
@media(min-width:1101px){
  .catering-page .catering-hero,
  .catering-page .catering-method,
  .catering-page .catering-food,
  .catering-page .catering-area{
    min-height:0;
    margin:24px auto;
  }
  .catering-page .catering-hero{margin-top:34px}
  .catering-page .catering-hero-copy,
  .catering-page .method-copy,
  .catering-page .food-copy,
  .catering-page .catering-area>div{
    padding:clamp(30px,3vw,40px) clamp(30px,3.2vw,46px);
  }
  .catering-page .catering-hero h1{
    font-size:clamp(2.8rem,3.8vw,3.6rem);
    margin-bottom:18px;
  }
  .catering-page .catering-lead{line-height:1.6}
  .catering-page .catering-hero-actions{margin-top:22px}
  .catering-page .catering-hero-note{margin-top:16px}
  .catering-page .method-copy h2,
  .catering-page .food-copy h2,
  .catering-page .catering-area h2{
    font-size:clamp(2.15rem,3.15vw,2.9rem);
    line-height:1.05;
    margin-bottom:12px;
  }
  .catering-page .method-copy>p:not(.catering-eyebrow),
  .catering-page .food-copy>p:not(.catering-eyebrow),
  .catering-page .catering-area>div>p:not(.catering-eyebrow){
    line-height:1.58;
    margin-top:9px;
    margin-bottom:9px;
  }
  .catering-page .service-options{margin-top:14px}
  .catering-page .service-options article{padding:11px 0}
  .catering-page .food-list{margin-top:16px}
  .catering-page .delivery-separation{margin-top:14px;padding:10px 12px}
}
