.fort-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:560px}.fort-split--right .fort-split__media{order:2}.fort-split--narrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fort-split--compact{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.fort-split--fixed{height:640px}.fort-split__media{min-width:0;overflow:hidden}.fort-split__media img,.fort-split__media video{width:100%;height:100%;object-fit:cover}.fort-split__content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:72px clamp(40px,5.6vw,80px);min-width:0}.fort-split--navy .fort-split__content{background:var(--fort-color-primary,#112044);color:#fff}.fort-split--navy-dark .fort-split__content{background:var(--fort-color-navy-dark,#0c1836);color:#fff}.fort-split--bg-alt .fort-split__content{background:var(--fort-color-surface,#f4f5f7)}.fort-split--white .fort-split__content{background:#fff}.fort-split .fort-section-heading{margin-bottom:20px}.fort-split__body{line-height:1.65;max-width:440px}.fort-split__dots,.fort-split__activities{padding-left:20px;line-height:1.7}.fort-split__dots li::marker{color:var(--fort-color-red,#ca273c)}.fort-split__activities{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.fort-split__programs div{display:flex;gap:20px;border-bottom:1px solid currentColor;padding:10px 0}.fort-split__programs dt{font-weight:700}.fort-split__programs dd{margin:0}.fort-split__accents{display:grid;color:var(--fort-color-red,#ca273c);font:400 28px var(--fort-font-display,'Bebas Neue',sans-serif)}.fort-split .fort-button{margin-top:24px}@media(max-width:960px){.fort-split{display:flex;flex-direction:column;height:auto}.fort-split__media,.fort-split--right .fort-split__media{height:320px;order:0}.fort-split__content{padding:48px 24px}}

/* A split's content sets its height; media crops inside that height. */
.fort-split{display:flex;width:100%;min-height:0;height:auto}
/* Content column = header column: --fs-edge is the shared section token; the photo stays half-bleed (width = design basis,
   grown on wide screens so the text can start on the header column edge, capped at 1100px). Opt-out: .fort-section--full / .fort-full. */
.fort-split{--fs-edge:var(--fort-section-inline,80px);--fs-basis:817px;--fs-media:min(max(var(--fs-basis),calc(var(--fs-edge) - 80px)),1100px)}
.fort-split--narrow{--fs-basis:720px}
.fort-split--compact{--fs-basis:680px}
.elementor-widget.fort-section--full .fort-split,.elementor-widget.fort-full .fort-split{--fs-edge:80px;--fs-measure:none}
.fort-split--fixed{height:640px}
.fort-split__media{flex:0 0 var(--fs-media);position:relative;min-width:0;overflow:hidden}
.fort-split__media img,.fort-split__media video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.fort-split__content{flex:1 1 0;gap:24px;padding:80px;min-width:0}
.fort-split .fort-section-heading{margin:0}
/* The design spaces split content with a 24px flex gap, eyebrow included. */
.fort-split .fort-section-heading__eyebrow{margin-bottom:24px}
.fort-split .fort-section-heading__title{font-family:var(--fort-font-display);font-weight:400;text-transform:uppercase;color:var(--fort-navy)}
.fort-split--navy .fort-section-heading__title,.fort-split--navy-dark .fort-section-heading__title{color:#fff}
.fort-split__body{font-family:var(--fort-font-body);font-weight:400;font-size:16px;line-height:1.6;text-transform:none;color:var(--fort-text-gray)}
.fort-split--navy .fort-split__body,.fort-split--navy-dark .fort-split__body{color:var(--fort-text-on-dark)}
.fort-split__body p{margin:0}
.fort-split__dots{display:flex;flex-direction:column;gap:12px;list-style:none;padding:8px 0 0;margin:0}
.fort-split__dots li{position:relative;padding-left:20px;font-family:var(--fort-font-body);font-weight:700;font-size:16px;line-height:normal;text-transform:none;color:var(--fort-navy)}
.fort-split--navy .fort-split__dots li,.fort-split--navy-dark .fort-split__dots li{color:#fff}
.fort-split__dots li::before{content:'';position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:var(--fort-red)}
.fort-split--navy .fort-split__dots li::before,.fort-split--navy-dark .fort-split__dots li::before{background:var(--fort-red)}
.fort-split__activities{list-style:none;padding:8px 0 0;margin:0;gap:10px 32px}
.fort-split__activities{grid-template-columns:repeat(2,200px)}
.fort-split__activities li{position:relative;padding-left:18px;font-family:var(--fort-font-body);font-weight:700;font-size:15px;color:var(--fort-navy)}
.fort-split__activities li{line-height:20px}
.fort-split__activities li::before{content:'';position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--fort-red)}
.fort-split__programs{display:flex;flex-direction:column;gap:18px;margin:0;padding-top:6px}
.fort-split__programs div{display:flex;flex-direction:column;gap:2px;border:0;padding:0}
.fort-split__programs dt{font-family:var(--fort-font-body);font-weight:700;font-size:16px;color:#fff}
.fort-split__programs dd{font-family:var(--fort-font-body);font-weight:400;font-size:14px;color:var(--fort-text-on-dark)}
.fort-split .fort-button{margin-top:0}
.fort-split--narrow .fort-section-heading__title{font-size:44px}
.fort-split--full-button .fort-button{width:100%}
@media(max-width:960px){
 .fort-split{flex-direction:column;height:auto}
 .fort-split__media,.fort-split--right .fort-split__media{flex:none;width:100%;height:320px;order:0}
 .fort-split__content{flex:none;width:100%;padding:48px}
 .fort-split--mobile-content-first .fort-split__content{order:0}
 .fort-split--mobile-content-first .fort-split__media{order:1}
 .fort-split--mobile-media-first .fort-split__media{order:0}
 .fort-split--mobile-media-first .fort-split__content{order:1}
}
@media(max-width:640px){.fort-split__activities{grid-template-columns:1fr}}
@media(max-width:1024px){.fort-split--programs .fort-split__media{flex-basis:420px}}
@media(max-width:960px){.fort-split--programs .fort-split__media{height:420px}}
@media(max-width:640px){.fort-split--programs .fort-split__media{flex-basis:320px;height:320px}}
.fort-split--gold-dots .fort-split__dots li::before{background:var(--fort-gold,#f0c03c)}
@media(max-width:960px){
 .fort-split--narrow .fort-split__media,.fort-split--compact .fort-split__media{flex-basis:auto;height:320px}
 .fort-split--programs .fort-split__media{flex-basis:auto;height:420px}
}
@media(max-width:640px){.fort-split--programs .fort-split__media{height:320px}}
/* --auto is every split without Fixed height. The photo keeps its ratio.
   The text column stretches to match. Spacer lines are not required. */
.fort-split--auto .fort-split__media{height:auto;align-self:flex-start}
.fort-split--auto .fort-split__media img,.fort-split--auto .fort-split__media video{position:static;inset:auto;width:100%;height:auto;max-width:100%;object-fit:contain}
@media(max-width:960px){
 .fort-split--auto .fort-split__media,.fort-split--auto.fort-split--right .fort-split__media,.fort-split--auto.fort-split--narrow .fort-split__media,.fort-split--auto.fort-split--compact .fort-split__media,.fort-split--auto.fort-split--programs .fort-split__media{height:auto;flex-basis:auto;width:100%}
}
@media(max-width:640px){.fort-split--auto.fort-split--programs .fort-split__media{height:auto}}
@media(min-width:961px){
 .fort-split--left>.fort-split__content{padding-inline:max(80px,calc(var(--fs-edge) - var(--fs-media))) var(--fs-edge)}
 .fort-split--right>.fort-split__content{padding-inline:var(--fs-edge) 80px}
 .fort-split__content>*{max-width:var(--fs-measure,640px)}
}
/* Desktop: the photo column stretches to the section height and fills it (no pale strip under short photos).
   Height floor = the photo's natural height (--fs-ratio, set in PHP), capped by --fs-media-max so portrait photos
   don't make giant sections. Fixed-height splits and the ≤960 stacked layout are untouched. */
@media(min-width:961px){
 .fort-split--auto>.fort-split__media{align-self:stretch;height:auto;min-height:min(calc(var(--fs-media) / var(--fs-ratio,1.5)),var(--fs-media-max,720px))}
 .fort-split--auto>.fort-split__media img,.fort-split--auto>.fort-split__media video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
}
/* Image fit (2026-10-10). Split images are absolutely positioned, so the fit modes inset/centre the image itself.
   "contain": whole image visible (logos) with breathing room. "portrait": round headshot centred on the panel (small portraits stay sharp). */
.fort-split.fort-split--fit-contain .fort-split__media img{position:absolute;inset:40px 48px;width:calc(100% - 96px);height:calc(100% - 80px);object-fit:contain}
.fort-split.fort-split--fit-portrait .fort-split__media img{position:absolute;inset:auto;top:50%;left:50%;width:240px;height:240px;transform:translate(-50%,-50%);border-radius:50%;object-fit:cover;object-position:center top;box-shadow:0 18px 40px rgba(17,32,68,.16)}
@media(max-width:960px){.fort-split.fort-split--fit-contain .fort-split__media{height:auto;padding:28px 24px}.fort-split.fort-split--fit-contain .fort-split__media img{position:static;width:100%;height:auto;max-height:240px}}
@media(max-width:640px){.fort-split.fort-split--fit-portrait .fort-split__media{height:260px}.fort-split.fort-split--fit-portrait .fort-split__media img{width:190px;height:190px}}
