/* Homepage company slideshow. Styles scoped to preserve the other pages. */
.company-carousel{--slide-duration:7s;position:relative;background:#06162d;color:#fff;overflow:hidden;isolation:isolate}
.company-carousel [hidden]{display:none!important}
.company-slide{position:relative;min-height:640px}
.company-slide-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.company-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06162deb 0%,#06162d75 37%,transparent 72%),linear-gradient(0deg,#06162db0 0%,transparent 45%)}
.company-slide-inner{position:relative;min-height:640px;display:flex;align-items:center;padding-block:64px}
.company-slide-copy{width:58%;max-width:710px;padding-right:20px}
.slide-sector{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 24px;color:#93e1ee;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.slide-sector:before{content:'';width:24px;height:2px;background:#67cfdf}.slide-sector span{color:#ffffff50}
.slide-company{margin:0 0 16px;color:#fff;font:600 19px/1.4 var(--display);letter-spacing:-.02em}
.slide-title{margin:0;font:600 clamp(48px,4.5vw,70px)/1.08 var(--display);letter-spacing:-.055em;text-wrap:balance}
.slide-title em{font-style:normal;color:#70d8e8}
.slide-description{max-width:500px;margin:25px 0 0;color:#d1deea;font-size:15px;line-height:1.8}
.slide-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:30px}
.slide-actions .button{min-height:48px;padding:15px 21px;box-shadow:0 10px 30px #0002}
.slide-secondary{display:inline-flex;align-items:center;gap:13px;font-size:12px;font-weight:600;border-bottom:1px solid #ffffff48;padding:10px 0;transition:color .2s}
.slide-secondary:hover{color:#70d8e8}.slide-secondary span{font-size:18px}
.slide-capabilities{margin:30px 0 0;color:#b4c7d9;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.carousel-toolbar{position:relative;border-top:1px solid #ffffff23;background:#06162d}
.carousel-toolbar-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:90px}
.carousel-selectors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1;gap:18px}
.slide-selector{position:relative;display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 0;border:0;background:none;color:#b8c7d9;font:600 12px/1.35 var(--sans);text-align:left;cursor:pointer;transition:color .2s}
.selector-number{color:#62768e;font-size:10px;letter-spacing:.06em}.is-active .selector-number{color:#71d8e8}
.slide-selector.is-active,.slide-selector:hover{color:#fff}.selector-progress{position:absolute;bottom:8px;left:0;width:100%;height:2px;background:#ffffff1a;overflow:hidden}
.selector-progress:after{content:'';position:absolute;inset:0;background:#6dd5e5;transform:scaleX(0);transform-origin:left}
.slide-selector.is-active .selector-progress:after{transform:scaleX(1)}
.company-carousel.is-playing .slide-selector.is-active .selector-progress:after{animation:slide-progress var(--slide-duration) linear both}
.company-carousel.is-suspended .slide-selector.is-active .selector-progress:after{animation-play-state:paused}
.carousel-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.slide-counter{margin-right:12px;font:500 14px var(--display);font-variant-numeric:tabular-nums}.slide-counter span{color:#7e91a9;font-size:11px;margin-left:6px}
.carousel-arrow,.carousel-pause{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff30;border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.carousel-arrow{font-size:18px}.carousel-pause{font-size:13px;margin-left:4px}.carousel-arrow:hover,.carousel-pause:hover{border-color:#72d8e8;background:#ffffff12}
.company-carousel :focus-visible{outline:2px solid #8be7f4;outline-offset:5px}.company-carousel:focus-visible{outline-offset:-3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.company-carousel.is-ready .company-slide:not([hidden]) .company-slide-copy{animation:slide-enter .65s ease both}
@keyframes slide-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes slide-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1600px){.company-slide,.company-slide-inner{min-height:700px}.company-slide-image{object-position:center 58%}}
@media(max-width:1120px){.company-slide-copy{width:63%}.slide-title{font-size:clamp(46px,5.3vw,62px)}.carousel-toolbar-inner{gap:16px}.carousel-selectors{gap:12px}.slide-selector{font-size:11px}.selector-number{display:none}.slide-counter{display:none}}
@media(max-width:880px){.company-slide-copy{width:76%;max-width:620px}.company-slide-shade{background:linear-gradient(90deg,#06162dea,#06162d7a 60%,#06162d10),linear-gradient(0deg,#06162d80,transparent)}.company-slide-image{object-position:65% center}.carousel-toolbar-inner{flex-wrap:wrap;gap:0;padding-block:6px}.carousel-selectors{width:100%;flex-basis:100%}.carousel-controls{margin:0 0 12px auto}.slide-selector{min-height:58px}.slide-title{font-size:58px}}
@media(max-width:620px){.company-slide{min-height:650px}.company-slide-image{height:335px;object-position:76% center}.company-slide-shade{background:linear-gradient(0deg,#06162d 0%,#06162d 45%,#06162df5 52%,#06162d10 94%)}.company-slide-inner{min-height:650px;align-items:flex-start;padding-top:238px;padding-bottom:28px}.company-slide-copy{width:100%;max-width:none;padding:0}.slide-sector{font-size:8px;gap:8px;letter-spacing:.12em;margin-bottom:13px}.slide-sector:before{width:16px}.slide-company{font-size:16px;margin-bottom:12px}.slide-title{font-size:clamp(34px,8.6vw,48px);line-height:1.12;letter-spacing:-.05em}.slide-description{font-size:13px;line-height:1.75;margin-top:17px;max-width:440px}.slide-actions{gap:21px;margin-top:21px}.slide-actions .button{font-size:9px;letter-spacing:.08em;padding:12px 14px;min-height:44px}.slide-secondary{font-size:11px;padding:8px 0}.slide-capabilities{font-size:8px;line-height:1.7;letter-spacing:.06em;margin-top:22px}.carousel-toolbar-inner{padding-block:4px;min-height:106px}.carousel-selectors{gap:10px}.slide-selector{font-size:10px;min-height:55px;align-items:flex-start;padding-top:10px}.selector-progress{bottom:9px}.carousel-controls{margin-bottom:9px;gap:7px}.carousel-arrow,.carousel-pause{width:32px;height:32px}.slide-counter{display:block;font-size:12px}.slide-counter span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.company-carousel *, .company-carousel *:after{animation:none!important;transition:none!important}}
