.hero-banner{padding:80px 0}.hero-banner__heading{font-family:var(--heading-font);font-size:3rem;font-weight:700;line-height:1.15;margin:0 0 1rem}.hero-banner__subtext{font-family:var(--body-font);font-size:1.125rem;line-height:1.6;margin-bottom:2rem}.hero-banner.section--dark .hero-banner__heading,.hero-banner.section--dark .hero-banner__subtext{color:var(--text-on-dark)}.hero-banner.hero-banner--bg-image{background-image:var(--hero-bg-image);background-position:50%;background-repeat:no-repeat;background-size:cover;isolation:isolate;position:relative}.hero-banner.hero-banner--bg-image:before{background:rgba(0,0,0,.15);content:"";inset:0;pointer-events:none;position:absolute;z-index:-1}.hero-banner.hero-banner--bg-image.hero-banner--text-left-cards:before,.hero-banner.hero-banner--bg-image.hero-banner--text-left:before{background:linear-gradient(90deg,rgba(0,0,0,.7) 0,rgba(0,0,0,.55) 35%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.05))}.hero-banner.hero-banner--bg-image .hero-banner__heading,.hero-banner.hero-banner--bg-image .hero-banner__subtext,.hero-banner.hero-banner--bg-image .hero-banner__subtext li,.hero-banner.hero-banner--bg-image .hero-banner__subtext p{color:var(--text-on-dark)}@media (max-width:768px){.hero-banner.hero-banner--bg-image{background-image:none;background:linear-gradient(135deg,var(--primary-dark) 0,#2a2a2a 100%)}.hero-banner.hero-banner--bg-image:before{content:none}}.hero-banner.section--light .hero-banner__heading,.hero-banner.section--white .hero-banner__heading{color:var(--text-primary)}.hero-banner.section--light .hero-banner__subtext,.hero-banner.section--white .hero-banner__subtext{color:var(--text-secondary)}.hero-banner--text-center{text-align:center}.hero-banner__center{margin-left:auto;margin-right:auto;max-width:720px}.hero-banner__grid{align-items:center;display:grid;gap:var(--card-gap,2rem);grid-template-columns:1fr 1fr}.hero-banner__content{text-align:left}.hero-banner .btn{transition:background-color var(--transition-speed),color var(--transition-speed)}@media (max-width:768px){.hero-banner{padding:48px 0}.hero-banner__heading{font-size:2rem}.hero-banner__subtext{font-size:1rem}.hero-banner__grid{grid-template-columns:1fr}.hero-banner__media{display:none}}