.banner{z-index:1;background:linear-gradient(135deg,#121f35 0%,#131f35 100%);flex-shrink:0;justify-content:center;align-items:center;width:100%;min-height:1093px;margin-top:-200px;padding-top:200px;display:flex;position:relative;overflow:hidden}.banner-bg{z-index:1;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.banner-decorations{z-index:2;pointer-events:none;position:absolute;inset:0}.banner-decoration-grid{z-index:3;mix-blend-mode:screen;opacity:.8;width:609px;height:554.5px;position:absolute;top:170px;left:0}.banner-grid-lines{width:100%;height:100%}.banner-content{z-index:3;width:100%;max-width:1043px;height:313px;padding:0 var(--spacing-6);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;margin:-200px auto 0;display:flex;position:relative}.banner-text{z-index:4;color:#fff;text-align:center;letter-spacing:-2.88px;max-width:100%;padding:var(--spacing-8) 0;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;font-family:Sora;font-size:clamp(2.5rem,1.5rem + 4vw,6rem);font-style:normal;font-weight:600;line-height:1.1;display:flex;position:relative}.banner-title-container{margin:0 auto var(--spacing-8) auto;letter-spacing:-.03em;text-align:center;width:100%;max-width:1043px;font-size:clamp(2.5rem,1.5rem + 4vw,6rem);font-weight:600;line-height:1.1;font-family:Sora, var(--font-secondary), sans-serif;flex-direction:column;justify-content:center;align-items:center;display:flex}.banner-title-line1,.banner-title-line2{text-wrap:balance;margin:0;display:block}.banner-title-accent{color:#40b45f}.banner-subtitle{text-transform:uppercase;width:100%;max-width:867px;font-size:clamp(1rem,.875rem + .5vw,1.6875rem);line-height:1.4;font-family:var(--font-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;display:flex}.banner-subtitle-line1,.banner-subtitle-line2{color:#fff;text-align:center;leading-trim:both;text-edge:cap;text-transform:uppercase;letter-spacing:.5px;word-spacing:2px;margin:0;font-family:Sora;font-size:clamp(1rem,.875rem + .5vw,1.6875rem);font-style:normal;font-weight:600;line-height:1.6}.banner-subtitle-accent{color:#41b15d}.banner-gradient-overlay{z-index:2;background:linear-gradient(#121f3500 0%,#121f35cc 41.99%,#121f35 91.3%);flex-shrink:0;width:1920px;height:251px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}@media (width<=1024px){.banner-content{flex-direction:column;justify-content:center;align-items:center}.banner-text{padding:var(--spacing-6) 0;width:100%;max-width:90%}.banner-title-container{width:100%;font-size:clamp(2rem,1rem + 3vw,4.5rem);line-height:1.1}.banner-subtitle{width:100%;font-size:clamp(.875rem,.8125rem + .5vw,1.25rem);line-height:1.4}}@media (width<=768px){.banner{min-height:560px;margin-top:-180px;padding-top:180px}.banner-text{padding:var(--spacing-4) 0;margin-top:clamp(7rem,18vh,10rem)}.banner-title-container{font-size:clamp(1.75rem,1rem + 3vw,3rem);line-height:1.1}.banner-subtitle{width:100%;font-size:clamp(.6875rem,.65rem + .35vw,1rem);line-height:1.5}.banner-subtitle-line1,.banner-subtitle-line2{line-height:1.5}.banner-decoration-grid{width:400px;height:400px}}@media (width<=480px){.banner{min-height:480px}.banner-text{padding:var(--spacing-3) 0;margin-top:clamp(6.5rem,16vh,9rem)}.banner-title-container{font-size:clamp(1.25rem,.875rem + 1.5vw,2.25rem);line-height:1.1}.banner-subtitle{font-size:clamp(.625rem,.6rem + .25vw,.875rem);line-height:1.4}.banner-decoration-grid{display:none}}.banner-dot-wave{z-index:1;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.banner-dot-wave.is-ready{opacity:1}@media (width<=1024px){.banner{min-height:560px;padding-bottom:var(--spacing-12)}.banner-content{height:auto;margin:0 auto}.banner-text{margin-top:0}}@media (width<=768px){.banner{min-height:440px}.banner-text{max-width:100%;padding:var(--spacing-6) 0 0}.banner-title-container{margin-bottom:var(--spacing-4);font-size:clamp(1.875rem,1.25rem + 3vw,2.75rem)}.banner-subtitle,.banner-subtitle-line1,.banner-subtitle-line2{font-size:clamp(.8125rem,.75rem + .4vw,1rem)}}@media (width<=480px){.banner{min-height:340px}.banner-content{padding:0 var(--spacing-4)}.banner-text{padding:var(--spacing-4) 0 0;margin-top:0}.banner-title-container{font-size:clamp(1.75rem,1.2rem + 2.5vw,2.25rem)}}
