/* Full-width main banner only. Existing page and responsive styles are retained. */
.s40-hero{position:relative;isolation:isolate;width:100%;min-height:720px;min-height:max(660px,calc(100svh - 88px));display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#090909;color:#fff}
.s40-film,.s40-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.s40-film{display:block;object-fit:cover;object-position:center}
.s40-shade{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.72) 32%,rgba(0,0,0,.22) 76%),linear-gradient(0deg,rgba(0,0,0,.85),transparent 45%);pointer-events:none}
.s40-content{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:end;gap:clamp(32px,5vw,88px);padding-block:clamp(46px,6vh,84px) 110px}
.s40-intro{min-width:0;max-width:790px}
.s40-hero h1{margin:0 0 22px;max-width:none;letter-spacing:-.045em;line-height:1.08}
.s40-brand{display:block;font-size:clamp(3.5rem,6.7vw,7.2rem);font-weight:800;letter-spacing:-.055em;line-height:1}
.s40-brand>span{color:#bd1018}
.s40-tagline{display:block;font-size:clamp(2.1rem,3.4vw,3.7rem);max-width:19ch;margin-top:15px;font-weight:700;line-height:1.12}
.s40-product{margin:24px 0 10px;color:#fff;font-size:clamp(1.3rem,1.8vw,1.8rem);font-weight:800;border-left:5px solid #bd1018;padding-left:14px;line-height:1.3}
.s40-promise{font-size:clamp(1rem,1.3vw,1.2rem);font-weight:700;line-height:1.5;margin-bottom:12px;color:#fff}
.s40-description{font-size:clamp(.98rem,1.15vw,1.12rem);line-height:1.7;color:#e0e0e0;max-width:60ch;margin-bottom:0}
.s40-actions{display:flex;align-items:center;gap:18px 26px;flex-wrap:wrap;margin-top:28px}
.s40-hero .s40-actions .button.red{background:#bd1018;border-color:#bd1018;color:#fff;max-width:100%;white-space:normal;text-align:left;line-height:1.4}
.s40-hero .s40-actions .button.red:hover{background:#a30c13}
.s40-contact{font-size:.88rem;font-weight:700;text-decoration:underline;text-underline-offset:6px;line-height:1.5}
.s40-sector{min-width:0;padding:24px 0 5px 24px;border-left:4px solid #bd1018;text-shadow:0 2px 20px #000;align-self:end}
.s40-sector-label{display:block;font-size:.72rem;letter-spacing:.13em;font-weight:700;margin-bottom:12px;color:#ddd}
.s40-sector strong{display:block;font-size:clamp(2rem,3.7vw,4.3rem);font-weight:800;line-height:1.08;letter-spacing:-.035em;overflow-wrap:break-word}
.s40-sector-detail{display:block;font-size:clamp(.9rem,1.1vw,1.08rem);line-height:1.6;margin-top:15px;color:#eee}
.s40-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:20px}
.s40-explore{font-size:.78rem;font-weight:600;color:#ddd;max-width:70%;line-height:1.5}
.s40-video-toggle{border:1px solid #ffffff80;border-radius:4px;padding:9px 15px;background:#090909aa;color:#fff;font-size:.8rem;line-height:1.3;flex:none}
.s40-video-toggle[hidden]{display:none}
.s40-hero a:focus-visible,.s40-hero button:focus-visible{outline:3px solid #fff;outline-offset:4px}
#s40-explore{scroll-margin-top:100px}
@media(max-width:1180px){.s40-hero{min-height:max(680px,calc(100svh - 74px))}.s40-content{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:30px}.s40-sector{padding-left:18px}.s40-sector strong{font-size:clamp(1.8rem,3.5vw,3.1rem)}}
@media(max-width:767px){.s40-hero{min-height:calc(100svh - 74px)}.s40-content{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:40px 95px}.s40-brand{font-size:clamp(3.2rem,13vw,5rem)}.s40-tagline{font-size:clamp(1.9rem,7vw,2.8rem);max-width:22ch}.s40-hero h1{margin-bottom:20px}.s40-product{margin-top:18px;font-size:1.23rem}.s40-promise{font-size:1rem}.s40-description{font-size:.96rem;line-height:1.6}.s40-shade{background:linear-gradient(90deg,#000c,#0006),linear-gradient(0deg,#000e,transparent 90%)}.s40-actions{gap:18px;margin-top:22px}.s40-sector{padding:0 0 0 15px}.s40-sector strong{font-size:clamp(1.8rem,8vw,2.9rem)}.s40-sector-label{font-size:.64rem;margin-bottom:8px}.s40-sector-detail{font-size:.88rem;margin-top:10px}.s40-bottom{bottom:22px}.s40-video-toggle{font-size:.73rem;padding:9px 11px}.s40-explore{font-size:.7rem}}
@media(max-height:700px) and (min-width:768px){.s40-hero{min-height:660px}.s40-content{padding-top:35px;padding-bottom:100px}.s40-brand{font-size:4.5rem}.s40-tagline{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){.s40-hero *{scroll-behavior:auto}}

/* Keep the complete banking screens visible without enlarging or cropping them. */
.s40-film[data-scene="4"]{object-fit:contain}

/* V44: the new diagram remains fully visible, with introductory copy above it. */
.s40-hero.s44-control-hero{justify-content:flex-start;min-height:calc(100svh - 82px);overflow:visible}
.s44-control-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:center;padding-block:clamp(32px,4vw,60px)}
.s44-control-hero .s40-brand{font-size:clamp(2.8rem,5vw,5rem)}
.s44-control-hero .s40-tagline{font-size:clamp(1.8rem,2.7vw,3rem);max-width:22ch}
.s44-control-copy{min-width:0}
.s44-control-hero .s40-product{margin-top:0}
.s44-control-hero .s40-description{max-width:none}
.s44-control-hero .s40-actions{margin-top:20px}
.s44-diagram-stage{position:relative;isolation:isolate;width:100%;max-width:1920px;aspect-ratio:16/9;margin-inline:auto;background:#060608}
.s44-diagram-film{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
/* The existing sector footage moves to the Industries page, under its current title. */
.s44-industries-hero .s40-intro>h1{font-size:clamp(2.3rem,3.6vw,4.2rem);line-height:1.13;margin:22px 0}
.s44-industries-hero .section-label{color:#fff}
#s44-industries-list{scroll-margin-top:100px}
@media(max-width:767px){
 .s44-control-intro{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:30px}
 .s44-control-hero h1{margin-bottom:0}
 .s44-control-hero .s40-brand{font-size:clamp(2.8rem,12vw,4rem)}
 .s44-control-hero .s40-tagline{font-size:clamp(1.7rem,7vw,2.4rem)}
 .s44-control-hero .s40-description{font-size:.96rem}
 .s44-industries-hero .s40-intro>h1{font-size:clamp(2rem,8vw,3rem)}
}
