/* Hero editorial: bolo em primeiro plano, sem animação ou controle de rolagem. */
.hero.hero--centerpiece{
  z-index:11;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:stretch;
  gap:24px;
  min-height:100svh;
  padding:calc(clamp(70px,7vw,94px) + 42px) var(--pad) 28px;
  overflow:hidden;
  border-radius:0 0 28px 28px;
  color:var(--wine-950);
  background:
    radial-gradient(circle at 51% 54%,rgba(242,220,166,.32),transparent 38%),
    linear-gradient(128deg,#fffaf2 0%,#f9f0e6 56%,#f3e7e1 100%);
}
/* A hero já oferece encomenda; o contato flutuante volta nas seções seguintes. */
body .wa-float{z-index:10}
.hero--centerpiece .hero-inner{
  width:100%;
  max-width:1510px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(238px,.95fr) minmax(400px,1.55fr) minmax(265px,1fr);
  align-items:center;
  column-gap:clamp(8px,1.5vw,26px);
}
.hero--centerpiece .hero-intro,.hero--centerpiece .hero-title{position:relative;z-index:2}
.hero--centerpiece .hero-intro{padding-bottom:3vw}
.hero--centerpiece .hero-intro .eyebrow{color:var(--wine);font-size:.66rem;letter-spacing:.2em}
.hero--centerpiece .hero-intro-title{
  max-width:12ch;
  font:clamp(2.3rem,3.25vw,3.8rem)/1.03 var(--serif);
  letter-spacing:-.025em;
  margin:0 0 24px;
}
.hero--centerpiece .lead{
  max-width:30ch;
  color:#614a51;
  font-size:clamp(.94rem,1vw,1.05rem);
  line-height:1.7;
}
.hero--centerpiece .hero-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
  margin-top:34px;
}
.hero--centerpiece .hero-actions .btn{
  width:min(100%,294px);
  min-height:50px;
  padding-inline:18px;
  font-size:.68rem;
  white-space:normal;
  text-align:center;
}
.hero--centerpiece .hero-actions .btn.ghost{
  color:var(--wine-950);
  background:rgba(255,250,242,.36);
  border-color:rgba(74,26,45,.35);
}
.hero--centerpiece .hero-actions .btn.ghost:hover{background:rgba(255,250,242,.8);border-color:var(--wine)}
.hero--centerpiece .hero-cake{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  margin:0;
}
.hero--centerpiece .hero-cake-orbit{
  position:absolute;
  z-index:-1;
  top:46%;
  left:50%;
  width:min(92%,550px);
  aspect-ratio:1;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at 32% 25%,#f7e5b9 0%,#e7c686 61%,#d5a966 100%);
  box-shadow:0 0 0 1px rgba(139,83,46,.17),0 30px 80px -50px rgba(96,53,42,.4);
}
.hero--centerpiece .hero-cake img{
  position:relative;
  z-index:1;
  width:100%;
  max-width:640px;
  height:auto;
  max-height:min(70svh,660px);
  object-fit:contain;
  filter:drop-shadow(0 28px 23px rgba(69,33,29,.19));
}
.hero--centerpiece .hero-cake figcaption{
  position:relative;
  z-index:2;
  color:#6b5256;
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.5;
  text-align:center;
  text-transform:uppercase;
  margin-top:10px;
}
.hero--centerpiece .hero-cake figcaption span{font-weight:400}
.hero--centerpiece .hero-title{align-self:center;padding-bottom:2vw}
.hero--centerpiece .hero-title-overline{
  margin:0 0 25px;
  color:#8e5e6a;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.23em;
  text-transform:uppercase;
}
.hero--centerpiece h1{
  max-width:6.4ch;
  margin:0;
  color:var(--wine-950);
  font:clamp(3.1rem,5.5vw,6.7rem)/.94 var(--serif);
  letter-spacing:-.035em;
  overflow-wrap:normal;
}
.hero--centerpiece h1 em{
  display:block;
  margin-top:.1em;
  color:#9b5369;
  background:none;
  -webkit-text-fill-color:currentColor;
}
.hero--centerpiece .hero-quicklink{display:none}
.hero--centerpiece .hero-bottom{
  width:100%;
  max-width:1510px;
  margin:0 auto;
  padding-top:19px;
  border-top:1px solid rgba(74,26,45,.18);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#795d62;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.17em;
  line-height:1.5;
  text-transform:uppercase;
}
/* Entrada única: círculo e bolo primeiro; escrita e ações em seguida. */
@keyframes llHeroCircleIn{
  from{transform:translate(-50%,-50%) scale(.88)}
  to{transform:translate(-50%,-50%) scale(1)}
}
@keyframes llHeroCakeIn{
  from{opacity:0;transform:translateY(58px) scale(.94)}
  to{opacity:1;transform:none}
}
@keyframes llHeroTextIn{
  from{opacity:0;transform:translateY(17px)}
  to{opacity:1;transform:none}
}
.hero--centerpiece.hero--enter .hero-cake-orbit{animation:llHeroCircleIn .6s var(--ease) backwards}
.hero--centerpiece.hero--enter .hero-cake img{animation:llHeroCakeIn .78s .06s var(--ease) backwards}
.hero--centerpiece.hero--enter .hero-title{animation:llHeroTextIn .56s .68s var(--ease) backwards}
.hero--centerpiece.hero--enter .hero-intro .eyebrow{animation:llHeroTextIn .48s .76s var(--ease) backwards}
.hero--centerpiece.hero--enter .hero-intro-title{animation:llHeroTextIn .5s .82s var(--ease) backwards}
.hero--centerpiece.hero--enter .hero-intro .lead{animation:llHeroTextIn .5s .9s var(--ease) backwards}
.hero--centerpiece.hero--enter .hero-actions{animation:llHeroTextIn .54s 1.04s var(--ease) backwards}
.hero--centerpiece.hero--enter .hero-cake figcaption,
.hero--centerpiece.hero--enter .hero-bottom{animation:llHeroTextIn .5s 1.1s var(--ease) backwards}
@media(max-width:1100px){
  .hero--centerpiece .hero-inner{
    grid-template-columns:minmax(240px,1fr) minmax(350px,1.2fr);
    grid-template-areas:"title cake" "intro cake";
    row-gap:22px;
  }
  .hero--centerpiece .hero-title{grid-area:title;align-self:end;padding:0}
  .hero--centerpiece .hero-intro{grid-area:intro;align-self:start;padding:0}
  .hero--centerpiece .hero-cake{grid-area:cake}
  .hero--centerpiece .hero-intro-title{display:none}
  .hero--centerpiece .hero-title-overline{margin-bottom:14px}
  .hero--centerpiece h1{max-width:7ch;font-size:clamp(3.1rem,6.7vw,5.4rem)}
  .hero--centerpiece .hero-intro .eyebrow{display:none}
}
@media(max-width:700px){
  .hero.hero--centerpiece{
    min-height:0;
    gap:14px;
    padding:calc(clamp(70px,7vw,94px) + 28px) 22px 27px;
    border-radius:0 0 17px 17px;
  }
  .hero--centerpiece .hero-inner{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"title" "cake" "intro";
    justify-items:center;
    row-gap:4px;
  }
  .hero--centerpiece .hero-title{width:100%;text-align:center}
  .hero--centerpiece .hero-title-overline{margin-bottom:11px;font-size:.58rem}
  .hero--centerpiece h1{
    max-width:11ch;
    margin-inline:auto;
    font-size:clamp(3.05rem,12.2vw,4.5rem);
    line-height:.98;
  }
  .hero--centerpiece h1 em{margin-top:0}
  .hero--centerpiece .hero-quicklink{
    display:inline-flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    margin-top:11px;
    color:var(--wine-900);
    border-bottom:1px solid currentColor;
    font-size:.67rem;
    font-weight:700;
    letter-spacing:.12em;
    text-decoration:none;
    text-transform:uppercase;
  }
  .hero--centerpiece .hero-cake{margin-top:4px}
  .hero--centerpiece .hero-cake-orbit{width:min(82vw,410px);top:48%}
  .hero--centerpiece .hero-cake img{width:min(100%,440px);max-height:none}
  .hero--centerpiece .hero-cake figcaption{margin-top:-2px;font-size:.53rem}
  .hero--centerpiece .hero-intro{width:100%;max-width:500px;padding-top:24px;text-align:center}
  .hero--centerpiece .lead{max-width:34ch;margin:auto;font-size:.97rem}
  .hero--centerpiece .hero-actions{align-items:stretch;gap:10px;margin-top:21px}
  .hero--centerpiece .hero-actions .btn{width:100%;max-width:none;font-size:.68rem}
  .hero--centerpiece .hero-bottom{justify-content:center;text-align:center;margin-top:22px;padding-top:17px}
  .hero--centerpiece .hero-bottom span:first-child{display:none}
}
@media(max-width:380px){
  .hero.hero--centerpiece{padding-inline:16px}
  .hero--centerpiece h1{font-size:clamp(2.8rem,12vw,3.15rem)}
  .hero--centerpiece .hero-cake figcaption span{display:block}
}
@media(prefers-reduced-motion:reduce){
  .hero--centerpiece .hero-cake img{filter:none}
  .hero--centerpiece.hero--enter .hero-cake-orbit,
  .hero--centerpiece.hero--enter .hero-cake img,
  .hero--centerpiece.hero--enter .hero-title,
  .hero--centerpiece.hero--enter .hero-intro .eyebrow,
  .hero--centerpiece.hero--enter .hero-intro-title,
  .hero--centerpiece.hero--enter .hero-intro .lead,
  .hero--centerpiece.hero--enter .hero-actions,
  .hero--centerpiece.hero--enter .hero-cake figcaption,
  .hero--centerpiece.hero--enter .hero-bottom{animation:none!important}
}
