.fort-hero{position:relative;isolation:isolate;min-height:680px;background:var(--fort-color-primary,#112044);color:#fff;display:grid;align-items:center;padding:100px var(--fort-section-inline);overflow:hidden}.fort-hero__video,.fort-hero__image,.fort-hero__poster,.fort-hero__shade{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.fort-hero__video,.fort-hero__image img,.fort-hero__poster img{width:100%;height:100%;object-fit:cover}.fort-hero__poster{display:none}.fort-hero__shade{background:rgba(0,0,0,var(--fort-hero-overlay,.35))}.fort-hero__content{max-width:850px}.fort-hero__title{font:400 clamp(48px,7vw,96px)/.96 var(--fort-font-display,'Bebas Neue',sans-serif);text-transform:uppercase;margin:0}.fort-hero__subtitle{font:400 19px/1.6 var(--fort-font-body,'Open Sans',sans-serif);max-width:650px}.fort-hero__tagline{font:600 18px var(--fort-font-label,Oswald,sans-serif);color:var(--fort-color-red,#ca273c)}.fort-hero__buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}@media(prefers-reduced-motion:reduce){.fort-hero__video{display:none}.fort-hero__poster{display:block}}@media(max-width:640px){.fort-hero{min-height:0;padding-block:120px}.fort-hero__buttons{display:grid}.fort-hero__buttons .fort-button{width:100%}}
/* Design hero: one centred layout on every page. */
.fort-hero{justify-items:center}
.fort-hero .fort-hero__content{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;width:100%;max-width:900px}
body:not(.page-about) .fort-hero__eyebrow{margin-bottom:0}
.fort-hero .fort-hero__title{font-family:var(--fort-font-display);font-weight:400;font-size:96px;line-height:.96;text-transform:uppercase;color:#fff;max-width:900px}
.fort-hero .fort-hero__subtitle{font-family:var(--fort-font-body);font-weight:400;font-size:19px;line-height:1.6;text-transform:none;color:var(--fort-text-on-dark-strong);max-width:560px;margin:0}
.fort-hero .fort-hero__buttons{gap:16px;align-items:center;justify-content:center;padding-top:14px;margin:0}
body.fort-elementor-page .fort-hero .fort-hero__content{max-width:900px}
body.fort-elementor-page .fort-hero .fort-hero__title{font-size:96px;max-width:900px}
body.fort-elementor-page .fort-hero .fort-hero__subtitle{max-width:560px}
@media(max-width:1200px){.fort-hero .fort-hero__title{font-size:72px}}
@media(max-width:1200px){body.fort-elementor-page .fort-hero .fort-hero__title{font-size:72px}}
@media(max-width:640px){.fort-hero .fort-hero__title{font-size:48px}.fort-hero .fort-hero__buttons{display:flex;flex-direction:column;width:100%}.fort-hero .fort-hero__buttons .fort-button{width:100%}}
/* This selector also beats the section-page mobile font patch. */
@media(max-width:640px){body.fort-elementor-page .fort-hero .fort-hero__title{font-size:48px}}
/* Solid (no media) heroes fit their content instead of reserving the media hero's 680px. Media heroes are untouched. */
.fort-hero--none{min-height:0;padding-block:var(--fort-space-9,96px)}
@media(max-width:640px){.fort-hero--none{padding-block:var(--fort-space-8,72px)}}
/* Slideshow media: stacked slides, hero.js moves .is-active (previous slide gets .is-prev). */
.fort-hero__slides{position:absolute;inset:0;z-index:-1;overflow:hidden}
.fort-hero__slide{position:absolute;inset:0;visibility:hidden}
.fort-hero__slide.is-active,.fort-hero__slide.is-prev{visibility:visible;transition:opacity var(--fort-hero-slide-speed,1s) ease,transform var(--fort-hero-slide-speed,1s) ease}
.fort-hero__slide.is-active{z-index:2}.fort-hero__slide.is-prev{z-index:1}
.fort-hero .fort-hero__slide-img{width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.fort-hero__slides--fade .fort-hero__slide{opacity:0}.fort-hero__slides--fade .fort-hero__slide.is-active,.fort-hero__slides--fade .fort-hero__slide.is-prev{opacity:1}
.fort-hero__slides--slide-right .fort-hero__slide{transform:translateX(-100%)}.fort-hero__slides--slide-right .fort-hero__slide.is-prev{transform:translateX(100%)}
.fort-hero__slides--slide-left .fort-hero__slide{transform:translateX(100%)}.fort-hero__slides--slide-left .fort-hero__slide.is-prev{transform:translateX(-100%)}
.fort-hero__slides--slide-down .fort-hero__slide{transform:translateY(-100%)}.fort-hero__slides--slide-down .fort-hero__slide.is-prev{transform:translateY(100%)}
.fort-hero__slides--slide-up .fort-hero__slide{transform:translateY(100%)}.fort-hero__slides--slide-up .fort-hero__slide.is-prev{transform:translateY(-100%)}
.fort-hero__slides .fort-hero__slide.is-active{transform:none}
.fort-hero__slides--ken-burns-in .is-active .fort-hero__slide-img{animation:fort-hero-kb-in var(--fort-hero-slide-duration,6s) linear both}
.fort-hero__slides--ken-burns-out .is-active .fort-hero__slide-img{animation:fort-hero-kb-out var(--fort-hero-slide-duration,6s) linear both}
.fort-hero__slides--ken-burns-in .is-prev .fort-hero__slide-img{transform:scale(1.15)}
@keyframes fort-hero-kb-in{from{transform:scale(1)}to{transform:scale(1.15)}}
@keyframes fort-hero-kb-out{from{transform:scale(1.15)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.fort-hero__slide-img{animation:none!important}}
/* Second heading line (tagline field): sits under the H1, e.g. "Find Your Fort·i’tude." on Membership. */
.fort-hero .fort-hero__tagline{font:400 clamp(30px,3.4vw,44px)/1.05 var(--fort-font-display,'Bebas Neue',sans-serif);text-transform:uppercase;color:#fff;margin:14px 0 0}
