/* _System (261020_164042) */

/* Hero Float Parallax v20: parallax, dynamic text cascade, and media entrance. */
.sys-hero-float{position:relative;isolation:isolate;height:var(--hf-max-desktop,800px);max-height:var(--hf-max-desktop,800px);background:var(--hf-bg,#f5f5f7)!important;overflow:hidden;padding:0!important;display:flex;align-items:center;justify-content:center;font-family:Figtree,sans-serif}
.sys-hero-float__media-clip{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.sys-hero-float .sys-hero-float__media{position:absolute;inset:-20% 0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform;transform:translate3d(0,var(--hf-bg-shift,0px),0)}
.sys-hero-float__media video{width:100%;height:100%;object-fit:cover;display:block}
.sys-hero-float__overlay{position:absolute;inset:0;z-index:1;background:var(--hf-overlay,transparent);pointer-events:none}
.sys-hero-float__content{position:relative;z-index:4;text-align:center;width:100%;margin:0 auto!important;align-self:center;flex:0 0 auto;padding:0 12px!important;box-sizing:border-box}
.sys-hero-float__eyebrow{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--hf-secondary)!important}
.sys-hero-float h1{font-family:inherit!important;color:var(--hf-primary)!important;font-size:clamp(42px,5vw,66px);font-weight:550;letter-spacing:-.035em;line-height:1.07;margin:0 0 10px}
.sys-hero-float h2{font-family:inherit!important;color:var(--hf-primary)!important;font-size:clamp(21px,2.2vw,30px);font-weight:400;margin:0 0 10px}
.sys-hero-float__body{color:var(--hf-secondary)!important;font-size:17px;line-height:1.5;margin:0 auto 20px;max-width:780px}
.sys-hero-float__actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0 0}
.sys-hero-float__actions .btn{font-family:"Figtree",sans-serif!important;font-weight:500!important}
/* Optional CTA overrides: unset custom properties invalidate these declarations,
   leaving global .sys-btn colors intact for each unpopulated field. */
.sys-hero-float .sys-hero-float__actions .sys-btn-solid,
.sys-hero-float .sys-hero-float__actions .sys-btn-solid:link,
.sys-hero-float .sys-hero-float__actions .sys-btn-solid:visited{background-color:var(--hf-cta-primary-bg)!important;border-color:var(--hf-cta-primary-bg)!important;color:var(--hf-cta-primary-text)!important}
.sys-hero-float .sys-hero-float__actions .sys-btn-solid:hover,
.sys-hero-float .sys-hero-float__actions .sys-btn-solid:focus-visible{background-color:var(--hf-cta-primary-hover-bg)!important;border-color:var(--hf-cta-primary-hover-bg)!important;color:var(--hf-cta-primary-hover-text)!important}
.sys-hero-float .sys-hero-float__actions .sys-btn-stroke,
.sys-hero-float .sys-hero-float__actions .sys-btn-stroke:link,
.sys-hero-float .sys-hero-float__actions .sys-btn-stroke:visited{border-color:var(--hf-cta-secondary)!important;color:var(--hf-cta-secondary)!important}
.sys-hero-float .sys-hero-float__actions .sys-btn-stroke:hover,
.sys-hero-float .sys-hero-float__actions .sys-btn-stroke:focus-visible{border-color:var(--hf-cta-secondary-hover)!important;color:var(--hf-cta-secondary-hover)!important}
.sys-hero-float__float-wrap{position:absolute;z-index:2;left:0;right:0;bottom:0;width:100%;display:flex;justify-content:center;align-items:flex-end;margin-top:0;padding-left:30px;padding-right:30px;box-sizing:border-box;pointer-events:none}
.sys-hero-float__float{display:block;width:max(800px,var(--hf-float-width,800px))!important;min-width:0!important;max-width:calc(100vw - 60px)!important;flex:0 0 auto;height:auto;max-height:none;object-fit:contain;object-position:center bottom;transform:translate3d(0,var(--hf-float-shift,0px),0);will-change:transform;margin-bottom:0}

@media(max-width:767px){.sys-hero-float{height:var(--hf-max-mobile,700px);max-height:var(--hf-max-mobile,700px);padding:0!important}.sys-hero-float__content{padding:0 20px!important}.sys-hero-float__float-wrap{bottom:0}.sys-hero-float__float{width:min(calc(100vw - 60px),max(800px,var(--hf-float-width,800px)))!important;min-width:0!important;max-width:calc(100vw - 60px)!important;max-height:none}}
@media(prefers-reduced-motion:reduce){.sys-hero-float__float,.sys-hero-float__media{transform:none!important;will-change:auto}}
/* Match Hero Video (Full)'s slideInDown entrance without requiring its cue initializer.
   Animate only authored/visible content; the CTA row is one cascade step. */
.sys-hero-float .hf-cue:not(.hf-cue-shown){opacity:0!important;transform:translate3d(0,-28px,0)}
.sys-hero-float .hf-cue{transition:opacity .72s ease,transform .72s cubic-bezier(.22,1,.36,1)}
.sys-hero-float .hf-cue.hf-cue-shown{opacity:1!important;transform:translate3d(0,0,0)}
@media(prefers-reduced-motion:reduce){.sys-hero-float .hf-cue{transition:none!important;opacity:1!important;transform:none!important}}
/* Entrance effects live on wrappers, leaving parallax transforms untouched. */
.sys-hero-float.hf-media-ready .sys-hero-float__media-clip{opacity:0;transition:opacity 1s ease}
.sys-hero-float.hf-media-ready.hf-media-shown .sys-hero-float__media-clip{opacity:1}
.sys-hero-float.hf-media-ready .sys-hero-float__float-wrap{opacity:0;transform:translate3d(0,90px,0);transition:transform 2s cubic-bezier(.22,1,.36,1),opacity 2s ease}
.sys-hero-float.hf-media-ready.hf-media-shown .sys-hero-float__float-wrap{opacity:1;transform:translate3d(0,0,0)}
@media(prefers-reduced-motion:reduce){.sys-hero-float .sys-hero-float__media-clip,.sys-hero-float .sys-hero-float__float-wrap{opacity:1!important;transform:none!important;transition:none!important}}
