/* Faixa de ponta a ponta. O recorte cresce antes dos elementos internos. */
.benefits-band {
    --benefits-wave-height:clamp(28px,3.6vw,52px);
    --benefits-reveal-duration:1400ms;
    position:relative; isolation:isolate; width:100%;
    padding:calc(var(--benefits-wave-height) + 28px) 0;
}
.benefits-band-surface { position:absolute; inset:0; z-index:-1; background:linear-gradient(135deg,#fff,#efeeea 55%,#e6e3de); }
.benefits-wave { position:absolute; top:-1px; left:0; display:block; width:100%; height:calc(var(--benefits-wave-height) + 1px); fill:var(--color-bg); pointer-events:none; }
.benefits-wave-bottom { top:auto; bottom:-1px; transform:rotate(180deg); }
.benefits-band .benefits h3 { max-width:240px; }
.benefits-band .benefits p { max-width:220px; }
@media(min-width:768px) {
    .benefits-band .benefits>div { width:100%; max-width:240px; justify-self:center; }
}
.benefits-band .benefits { position:relative; max-width:none; width:100%; margin:0; padding:0 var(--gutter); border-radius:0; background:none; }
.motion-ready .benefits-band:not(.is-expanding) .benefits-band-surface { clip-path:inset(0 100% 0 0); }
.motion-ready .benefits-band.is-expanding .benefits-band-surface { animation:charlots-benefit-grow var(--benefits-reveal-duration) cubic-bezier(.45,0,.2,1) both; }
@keyframes charlots-benefit-grow { from { clip-path:inset(0 100% 0 0); opacity:0; } to { clip-path:inset(0); opacity:1; } }
@media(max-width:767px) {
    .benefits-band { padding-top:calc(var(--benefits-wave-height) + 16px); padding-bottom:calc(var(--benefits-wave-height) + 20px); }
    .benefits-band .benefits.mobile-rail { margin:0; padding:12px var(--gutter) 22px; }
    .benefits-band .benefits.mobile-rail>div { padding:24px; border-radius:22px; background:#ffffff85; }
    .benefits-band>.rail-controls { margin-inline:var(--gutter); }
}
@media(prefers-reduced-motion:reduce) {
    .benefits-band .benefits-band-surface { clip-path:none !important; animation:none !important; }
}
@media print { .benefits-band .benefits-band-surface { clip-path:none !important; animation:none !important; } }
