.offer-banner { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:center; gap:18px; min-height:58px; padding:12px 24px; background:linear-gradient(110deg,#b8efcc,#d5f7a8 55%,#a8e7c8); color:#174b35; font-size:15px; line-height:1.5; text-align:center; text-decoration:none; }
.offer-banner__badge { padding:5px 10px; border:1px solid #34765338; border-radius:5px; background:#ffffff66; font-size:10px; font-weight:700; letter-spacing:.12em; white-space:nowrap; }
.offer-banner strong { font-weight:700; }
:root:root #planos .offer-original { margin:20px 0 5px; color:#758197; font-size:14px; line-height:1.4; }
:root:root #planos .offer-original[hidden] { display:none; }
:root:root #planos[data-billing="monthly"] .pricing-plan__price { margin-top:0; }
:root:root #planos[data-billing="monthly"] .pricing-plan__equivalent { min-height:40px; color:#66758d; font-size:12px; line-height:1.65; }
@media(max-width:600px) {
 .offer-banner { flex-wrap:wrap; gap:5px 10px; padding:12px 20px; font-size:13px; }
 .offer-banner__badge { font-size:9px; }
 .offer-banner > span:nth-child(2) { flex-basis:100%; max-width:340px; }
 .offer-banner > span:last-child { display:none; }
 :root:root #planos .offer-original { margin:12px 0 4px; }
}
/* out of the hero the header has nothing behind it but the footer, which waits under the page: it needs its own background */
:root:root .site-header { position:relative; top:auto; inset:auto; background:#fbfcfe; }
/* in the flow, the header already clears the hero: the 104px the hero kept for it would be empty space above the title */
@media(min-width:1024px) { :root:root .hero-next--video { padding-top:12px; } }
:root:root #planos .offer-original s { position:relative; display:inline-block; text-decoration:none; }
:root:root #planos .offer-original s::after { content:""; position:absolute; left:-3%; top:50%; width:106%; height:1.5px; background:#e6a0a2; transform:rotate(-10deg); transform-origin:center; }
:root:root #planos .pricing-plan__equivalent[hidden] { display:none; }
.offer-terms { display:inline-block; margin-top:8px; }
@media(min-width:1101px) {
 :root:root #planos .pricing-plan { grid-row:span 21; }
 :root:root #planos .offer-original { grid-row:3; margin:0 0 8px; }
 :root:root #planos .pricing-plan__price { grid-row:4; }
 :root:root #planos .pricing-plan__extra { grid-row:5; }
 :root:root #planos .pricing-plan__equivalent { grid-row:6; }
 :root:root #planos .pricing-plan__cta { grid-row:7; }
 :root:root #planos .plan-included--care { grid-row:8 / span 4; }
 :root:root #planos .plan-included:not(.plan-included--care) { grid-row:12 / span 10; }
}

:root:root .hero-next--video { background-color:#fbfcfe; }
:root:root .hero-loop { background-color:#fbfcfe; }
.offer-banner__coupon { white-space:nowrap; font-weight:700; }

.offer-banner__coupon { letter-spacing:.04em; }
