section.content-banner.shorter{padding:80px 0}@media (max-width:860px){section.content-banner.shorter{padding:50px 0}}section.content-banner.flush-top{padding-top:40px}section.content-banner.flush-bottom{padding-bottom:40px}@media (max-width:860px){section.content-banner.flush-top{padding-top:35px}section.content-banner.flush-bottom{padding-bottom:35px}}.content-banner .banner-copy>*+*{margin-top:1.25rem}.content-banner .banner-copy h2{max-width:22ch}.content-banner .banner-copy h2 em{color:var(--color-grey-500);font-style:normal}.content-banner.sec-light .banner-copy h2 em,.content-banner.sec-white .banner-copy h2 em{color:var(--color-grey-700)}.content-banner .banner-copy p{font-size:1.15rem;line-height:1.6;max-width:60ch}.content-banner.sec-white .banner-copy p{color:var(--color-grey-700)}.content-banner .banner-copy ul{list-style-position:inside;padding-left:0}.content-banner .banner-copy ul li+li{margin-top:.5rem}.content-banner .banner-copy :is(ul.checklist,.checklist-lists ul){display:inline-flex;flex-direction:column;gap:.85rem;list-style:none;margin-top:1.5rem;padding-left:0;text-align:left}.content-banner .banner-copy :is(ul.checklist,.checklist-lists ul) li{margin-top:0;padding-left:1.75rem;position:relative}.content-banner .banner-copy :is(ul.checklist,.checklist-lists ul) li:before{border-bottom:2px solid;border-left:2px solid;content:"";height:6px;left:1px;position:absolute;top:.4em;transform:rotate(-45deg);width:11px}.content-banner.sec-dark .banner-copy :is(ul.checklist,.checklist-lists ul) li:before{color:var(--color-dim)}.content-banner.sec-light .banner-copy :is(ul.checklist,.checklist-lists ul) li:before,.content-banner.sec-white .banner-copy :is(ul.checklist,.checklist-lists ul) li:before{color:var(--color-grey-700)}.content-banner .banner-inner.intro-center .banner-content{text-align:center}.content-banner .banner-inner.intro-center .banner-copy h2,.content-banner .banner-inner.intro-center .banner-copy p{margin-left:auto;margin-right:auto}.content-banner .banner-inner.intro-center .banner-copy ul:not(.checklist){margin-left:auto;margin-right:auto;text-align:left;width:fit-content}.content-banner .banner-inner.intro-center .hero-actions{justify-content:center}.content-banner .banner-columns{align-items:center;display:grid;gap:1.5rem clamp(2rem,6vw,5rem);grid-template-columns:1fr 1fr}.content-banner .banner-columns .banner-copy{max-width:540px;min-width:0}.content-banner .banner-columns .banner-copy>*{max-width:none}@media (max-width:860px){.content-banner .banner-columns{grid-template-columns:1fr}}.content-banner .banner-inner.has-visual.layout-side{align-items:center;display:grid;gap:clamp(2rem,5vw,4.5rem);grid-template-columns:.37fr .63fr}.content-banner .banner-inner.has-visual.layout-side.position-left{grid-template-columns:.63fr .37fr}.content-banner .banner-inner.has-visual.layout-side.position-left.visual-smaller,.content-banner .banner-inner.has-visual.layout-side.visual-smaller{grid-template-columns:1fr 1fr}.content-banner .banner-inner.has-visual.layout-side.position-left .banner-content{order:2}.content-banner .banner-inner.has-visual.layout-side.position-left .banner-visual{order:1}.content-banner .banner-inner.has-visual.layout-stacked{display:flex;flex-direction:column;gap:clamp(2rem,5vw,3.5rem)}.content-banner .banner-visual{min-width:0}.content-banner .layout-stacked .banner-visual.smaller{margin:0 auto;max-width:520px}.content-banner .banner-visual img{border-radius:12px;display:block;height:auto;width:100%}.content-banner .banner-visual .product-shot{align-items:center;background-color:var(--color-black);background-image:var(--product-shot-bg);background-repeat:no-repeat;background-size:100% 100%;border-radius:12px;display:flex;justify-content:center;overflow:hidden;padding:clamp(12px,2vw,28px) clamp(10px,1.6vw,24px);position:relative}.content-banner .banner-visual .product-shot>*{border-radius:8px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6),0 20px 25px -5px rgba(0,0,0,.1);overflow:hidden;position:relative;width:100%;z-index:1}.content-banner .banner-visual .product-shot>img{border-radius:8px}.content-banner .banner-testimonial{margin-top:36px}.content-banner .banner-testimonial .quote-mark{color:var(--color-black);margin-bottom:18px}.content-banner .banner-testimonial .quote-mark svg{display:block;height:33px;width:44px}.content-banner.sec-dark .banner-testimonial .quote-mark{color:var(--color-white)}.content-banner .banner-testimonial-quote{color:inherit;font-family:ReviewBold,sans-serif;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:700;line-height:1.2;max-width:30ch}.content-banner .banner-testimonial-quote p{margin:0}.content-banner .banner-testimonial-quote p+p{margin-top:.6em}.content-banner .banner-testimonial .qc{color:var(--color-grey-700);font-family:var(--font-primary);font-size:.85rem;margin-top:1.05rem}.content-banner.sec-dark .banner-testimonial .qc{color:var(--color-dim)}.content-banner .banner-testimonial.centered{margin-left:auto;margin-right:auto;text-align:center}.content-banner .banner-testimonial.centered .quote-mark{margin-left:auto;margin-right:auto;width:fit-content}.content-banner .banner-testimonial.centered .banner-testimonial-quote{margin-left:auto;margin-right:auto}@media (max-width:860px){

  /* !important on the rules below because the desktop .position-left variant (one extra class,
     so higher specificity) otherwise keeps winning at mobile widths — both the two-column grid
     and the order swap it sets need to be overridden here, not just reset. */.content-banner .banner-inner.has-visual.layout-side{grid-template-columns:1fr!important}.content-banner .banner-inner.has-visual.layout-side .banner-visual{order:1!important}.content-banner .banner-inner.has-visual.layout-side .banner-content{order:2!important}.content-banner .banner-inner.has-visual.layout-stacked .banner-content{order:1!important}.content-banner .banner-inner.has-visual.layout-stacked .banner-visual{order:2!important}}