.shen-home-banner{--shen-home-accent:#48d7f9;position:relative;isolation:isolate;display:flex;width:100%;min-height:75vh;overflow:hidden;background:#091e42;color:#fff}
.shen-home-banner__media,.shen-home-banner__overlay,.shen-home-banner__particles{position:absolute;inset:0}
.shen-home-banner__media{z-index:-3;background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1.025);animation:shen-home-media 12s ease-in-out infinite alternate}
.shen-home-banner__overlay{z-index:-2;background:linear-gradient(180deg,rgba(4,19,48,.48),rgba(4,19,48,.72))}
.shen-home-banner__particles{z-index:-1;overflow:hidden;pointer-events:none}
.shen-home-banner__particle{position:absolute;display:block;width:var(--particle-size);height:var(--particle-size);border-radius:50%;background:var(--shen-home-accent);box-shadow:0 0 12px var(--shen-home-accent);opacity:var(--particle-opacity);animation:shen-home-particle var(--particle-duration) ease-in-out var(--particle-delay) infinite}
.shen-home-banner__container{display:flex;align-items:center;justify-content:center;width:100%;max-width:1340px;margin:0 auto;padding:90px 32px 105px}
.shen-home-banner__content{width:100%;max-width:920px;margin:auto;text-align:center}
.shen-home-banner__eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:25px;padding:8px 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.15em;text-transform:uppercase;backdrop-filter:blur(8px)}
.shen-home-banner__eyebrow>span{width:8px;height:8px;border-radius:50%;background:var(--shen-home-accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--shen-home-accent) 55%,transparent);animation:shen-home-pulse 2s infinite}
.shen-home-banner__title{margin:0;color:#fff;font-size:clamp(44px,4.35vw,66px);font-weight:700;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
.shen-home-banner__description{max-width:800px;margin:26px auto 0;color:rgba(255,255,255,.86);font-size:18px;line-height:1.85;text-wrap:pretty}
.shen-home-banner__buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:36px}
.shen-home-banner__button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:176px;min-width:176px;height:54px;min-height:54px;padding:14px 28px;border-width:1px;border-style:solid;border-radius:6px;font-size:16px;font-weight:700;line-height:1.2;text-decoration:none;transition:transform .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease}
.shen-home-banner__button.is-primary{border-color:#001f55;background:#001f55;color:#fff}
.shen-home-banner__button.is-secondary{border-color:rgba(255,255,255,.68);background:transparent;color:#fff}
.shen-home-banner__button:hover,.shen-home-banner__button:focus-visible{transform:translateY(-2px);text-decoration:none}
.shen-home-banner__button.is-primary:hover,.shen-home-banner__button.is-primary:focus-visible{border-color:var(--shen-home-accent);background:var(--shen-home-accent);color:#001f55}
.shen-home-banner__button.is-secondary:hover,.shen-home-banner__button.is-secondary:focus-visible{border-color:#fff;background:rgba(255,255,255,.12);color:#fff}
.shen-home-banner__scroll{position:absolute;right:50%;bottom:24px;display:flex;z-index:2;align-items:center;flex-direction:column;gap:8px;color:rgba(255,255,255,.7);font-size:10px;font-weight:700;letter-spacing:.18em;text-decoration:none;transform:translateX(50%)}
.shen-home-banner__scroll i{display:block;width:1px;height:32px;background:linear-gradient(to bottom,var(--shen-home-accent),transparent);animation:shen-home-scroll 1.8s ease-in-out infinite}
.shen-home-banner__reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}
.shen-home-banner.is-visible .shen-home-banner__reveal{opacity:1;transform:none}
.shen-home-banner.is-visible .shen-home-banner__title{transition-delay:.1s}.shen-home-banner.is-visible .shen-home-banner__description{transition-delay:.2s}.shen-home-banner.is-visible .shen-home-banner__buttons{transition-delay:.3s}.shen-home-banner.is-visible .shen-home-banner__scroll{transition-delay:.45s}
@keyframes shen-home-media{to{transform:scale(1.06) translate3d(0,-.8%,0)}}
@keyframes shen-home-pulse{70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes shen-home-particle{0%,100%{transform:translate3d(0,10px,0);opacity:calc(var(--particle-opacity)*.45)}50%{transform:translate3d(var(--particle-drift),-22px,0);opacity:var(--particle-opacity)}}
@keyframes shen-home-scroll{0%,100%{opacity:.35;transform:scaleY(.65);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}
@media(max-width:1024px){.shen-home-banner{min-height:640px}.shen-home-banner__container{padding:76px 28px 96px}.shen-home-banner__content{max-width:760px}.shen-home-banner__title{font-size:clamp(40px,5.4vw,54px)}.shen-home-banner__description{max-width:680px;font-size:17px}}
@media(max-width:767px){.shen-home-banner{min-height:590px}.shen-home-banner__media{background-position:58% center}.shen-home-banner__container{align-items:center;padding:66px 20px 84px}.shen-home-banner__eyebrow{gap:8px;margin-bottom:20px;padding:7px 11px;font-size:10px;letter-spacing:.1em}.shen-home-banner__title{font-size:clamp(32px,9.6vw,42px);line-height:1.18}.shen-home-banner__description{margin-top:20px;font-size:16px;line-height:1.72}.shen-home-banner__buttons{gap:12px;margin-top:28px}.shen-home-banner__button{width:100%;min-width:0;height:50px;min-height:50px;padding:13px 20px}.shen-home-banner__scroll{bottom:16px}.shen-home-banner__scroll i{height:24px}}
@media(max-width:420px){.shen-home-banner{min-height:560px}.shen-home-banner__title{font-size:31px}.shen-home-banner__description{font-size:15px}.shen-home-banner__eyebrow{max-width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){.shen-home-banner__media,.shen-home-banner__particle,.shen-home-banner__eyebrow>span,.shen-home-banner__scroll i{animation:none}.shen-home-banner__reveal{opacity:1;transform:none;transition:none}}
