.promo-carousel{position:relative;overflow:hidden;border:1px solid #dcd8cf;border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(23,33,31,.06)}
[data-promo-color="sage"]{--promo-bg:#dbe8e3}
[data-promo-color="sand"]{--promo-bg:#f1dfb8}
[data-promo-color="terracotta"]{--promo-bg:#ead1c4}
.promo-slide{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);align-items:center;gap:30px;flex:0 0 100%;min-height:230px;padding:32px 42px 58px;overflow:hidden;background:var(--promo-bg,#dbe8e3);font:400 16px/1.55 "Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#17211f;overflow-wrap:anywhere}
.promo-kicker{display:inline-flex;margin-bottom:12px;padding:5px 9px;border:1px solid rgba(29,74,69,.22);border-radius:999px;color:var(--teal);font-size:12px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.promo-slide h2{max-width:650px;margin:0;font:500 clamp(25px,3vw,38px)/1.08 "Unbounded","Onest",system-ui,sans-serif;letter-spacing:-.01em}
.promo-slide p{max-width:600px;margin:10px 0 0;color:#5f6a66;font-size:16px}
.promo-period{display:block;margin-top:13px;color:var(--teal);font-size:14px;font-weight:750}
.promo-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;margin-top:20px;padding:13px 26px;border-radius:999px;background:var(--teal);color:#fff;text-decoration:none;font-weight:600;transition:background .2s,transform .1s}
a.promo-cta:hover{background:#143531}
a.promo-cta:active{transform:scale(.98)}
.promo-art{position:relative;justify-self:end;width:min(270px,100%);aspect-ratio:1.55;border-radius:70px 18px 18px;background:rgba(255,255,255,.58)}
.promo-art::before,.promo-art::after{content:"";position:absolute;border-radius:999px;background:var(--teal)}
.promo-art::before{width:48%;height:28%;left:16%;top:24%;opacity:.94}
.promo-art::after{width:24%;height:24%;right:15%;bottom:20%;background:var(--brass);opacity:.72}
@media(max-width:860px){
  .promo-slide{grid-template-columns:1fr;min-height:250px;padding:30px 30px 60px}
  .promo-art{position:absolute;right:54px;bottom:25px;width:145px;opacity:.32}
  .promo-slide>div:first-child{position:relative;z-index:1}
}
@media(max-width:640px){
  .promo-carousel{border-radius:18px}
  .promo-slide{min-height:285px;padding:28px 22px 58px}
  .promo-slide h2{font-size:27px}
  .promo-slide p{font-size:15px}
  .promo-cta{text-align:center}
  .promo-art{right:28px;width:130px}
}
