.customer-section{padding:100px var(--pad);background:#080a0d;border-top:1px solid #ffffff12}
.customer-section h2{font-size:clamp(2.7rem,4.5vw,5.5rem);line-height:1.08;letter-spacing:-.035em;margin:20px 0 32px;overflow-wrap:normal}
.customer-section em{color:#8ab9ff;font-style:normal}
.customer-section p{color:#aebccc;line-height:1.75;max-width:620px}
.customer-section .eyebrow{font-size:.65rem;letter-spacing:.18em;color:#8ab9ff}
.customer-intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center}
.customer-intro-grid>div>p{font-size:1.2rem}
.capability-line{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:30px;color:#d7e4f4;font-size:.82rem}.capability-line span{border-bottom:1px solid #547397;padding-bottom:10px}
.path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;margin:55px 0 36px}
.path-grid article{border-top:1px solid #405570;padding-top:25px}.path-grid article>span{font-size:.8rem;letter-spacing:.16em;color:#8ab9ff}.path-grid h3{font-size:1.7rem;line-height:1.1;margin:28px 0 20px}.path-grid p{font-size:.95rem}
.project-path{background:linear-gradient(145deg,#101b28,#080a0d 80%)}
.solution-finder{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;background:#0c1119}
.solution-options details{border-top:1px solid #334253;padding:0 0 12px}.solution-options details:last-child{border-bottom:1px solid #334253}
.solution-options summary{cursor:pointer;display:flex;align-items:center;gap:25px;font-size:1.55rem;list-style:none;padding:25px 0;color:#96a6b9;transition:color .25s}.solution-options summary::-webkit-details-marker{display:none}.solution-options svg{width:36px;height:36px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4}
.solution-options details[open] summary,.solution-options summary:hover{color:#a5caff}.solution-options details>div{padding:0 0 25px 61px;animation:answer-in .4s ease}.solution-options h3{font-size:1.5rem;margin:4px 0 16px}.solution-options p{font-size:1rem;margin-bottom:22px}
.leadership{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:center}.leadership-copy>p:not(.eyebrow){font-size:1.12rem;margin-bottom:26px}
.leadership-portrait{margin:0;position:relative;max-width:540px;justify-self:end;width:100%;overflow:hidden;border-radius:2px}.leadership-portrait img{width:100%;height:650px;object-fit:cover;object-position:50% 44%}.leadership-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:65px 30px 30px;background:linear-gradient(transparent,#060a10ed);display:flex;justify-content:space-between;align-items:end;gap:15px}.leadership-portrait figcaption span{font-size:.8rem;letter-spacing:.12em}.leadership-portrait strong{font-weight:400;color:#c8dcf7}
.location-card{display:flex;gap:25px;margin-top:45px;padding:30px;border:1px solid #314359;background:radial-gradient(ellipse at top right,#1b2e47,#0c141e 70%)}.location-dot{width:12px;height:12px;border-radius:50%;background:#8ab9ff;box-shadow:0 0 0 9px #8ab9ff15;margin:13px 8px;flex-shrink:0}.location-card h3{font-size:2rem;margin:0 0 12px}.location-card address{font-style:normal;color:#aebccc;line-height:1.6}.location-card a{display:inline-block;margin-top:18px;font-size:.9rem;color:#b4d2fd;border-bottom:1px solid #58769b;padding-bottom:4px}
.customer-questions{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.customer-questions details{border-bottom:1px solid #34404e}.customer-questions summary{font-size:1.2rem;cursor:pointer;padding:25px 0;line-height:1.5}.customer-questions details p{padding:0 0 25px}
.customer-contact{background:radial-gradient(ellipse at 80% 100%,#163253,#080d15 65%)}.customer-contact h2{font-size:clamp(3rem,6vw,7rem)}.customer-contact>div{display:flex;gap:25px 50px;flex-wrap:wrap;margin:35px 0}.customer-contact>div>a{font-size:clamp(1.2rem,2.5vw,2.4rem);border-bottom:1px solid #547599;padding-bottom:9px}.customer-contact>p:last-child{font-size:.95rem}
@keyframes answer-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:950px){.customer-section{padding-block:70px}.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leadership{gap:35px}.leadership-portrait img{height:550px}.customer-intro-grid{gap:35px}.solution-finder{gap:35px}}
@media(max-width:650px){.customer-intro-grid,.solution-finder,.leadership,.customer-questions{grid-template-columns:1fr}.customer-section{padding-block:55px}.customer-section h2{font-size:2.8rem}.path-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.path-grid h3{margin-top:15px}.leadership-portrait{justify-self:start;max-width:none}.leadership-portrait img{height:auto;aspect-ratio:4/5;object-position:center 53%}.solution-options summary{font-size:1.3rem}.solution-options details>div{padding-left:0}.customer-contact>div{flex-direction:column;align-items:start}.customer-contact h2{font-size:3rem}.location-card{padding:22px}.customer-questions{gap:0}}


/* Local customer logos: two equal groups make a seamless continuous strip. */
.partner-section{padding:70px 0 80px;background:#0b1119;overflow:hidden}
.partner-heading{padding:0 var(--pad);margin-bottom:32px}
.partner-heading h2{font-size:clamp(1.6rem,3vw,2.8rem);letter-spacing:-.03em;margin:12px 0;color:#edf3fb}
.partner-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.partner-window:focus-visible{outline:2px solid #8ebdff;outline-offset:-3px}
.partner-track{display:flex;width:max-content;animation:partners-travel 210s linear infinite;will-change:transform}
.partner-group{display:flex;flex-shrink:0;gap:16px;padding-right:16px}
.partner-logo{width:180px;height:104px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:3px;padding:12px;flex-shrink:0}
.partner-logo img{width:100%;height:100%;object-fit:contain}
.partner-window:hover .partner-track,.partner-window:focus-within .partner-track,.partner-window:active .partner-track{animation-play-state:paused}
@keyframes partners-travel{to{transform:translateX(-50%)}}
.frontpanel-break{background:#03070e;height:80svh;min-height:500px}
.frontpanel-break>img{width:100%;height:100%;object-fit:contain;object-position:75% center;transform:none!important}
.frontpanel-break:after{background:linear-gradient(90deg,#03070ebf,transparent 65%)}
.frontpanel-break>p{font-size:clamp(2.8rem,5.2vw,6rem)}
@media(max-width:650px){.partner-section{padding:40px 0}.partner-logo{width:140px;height:90px}.frontpanel-break{height:70svh;min-height:450px}.frontpanel-break>img{object-position:center top}.frontpanel-break>p{font-size:2.7rem}}


/* Full-bleed product photograph with edges blended into the dark page. */
.frontpanel-break{height:85svh;min-height:560px;max-height:1000px;background:#050a12}
.frontpanel-break>img{object-fit:cover;object-position:50% 46%;width:100%;height:100%}
.frontpanel-break:after{background:linear-gradient(90deg,#050a12d9 0%,#050a1240 43%,transparent 72%),linear-gradient(0deg,#050a12 0%,transparent 24%,transparent 78%,#050a12 100%)}
.frontpanel-break>p{bottom:9%;max-width:650px;text-shadow:0 2px 24px #0008}
.leadership-portrait img{object-position:34% center;filter:saturate(.82)}
@media(max-width:650px){.frontpanel-break{height:75svh;min-height:500px}.frontpanel-break>img{object-position:53% center}.frontpanel-break:after{background:linear-gradient(0deg,#050a12 0%,#050a1299 24%,transparent 60%,#050a1266 100%)}.frontpanel-break>p{bottom:7%}.leadership-portrait img{object-position:32% center}}

.entrance-break{height:80svh;min-height:520px;background:#080f18}
.entrance-break>img{height:100%;width:100%;object-fit:cover;object-position:50% 56%;transform:none!important}
.entrance-break:after{background:linear-gradient(0deg,#080f18e8,transparent 65%)}
.slide-frontpanel>img{object-fit:cover;object-position:center}
.slide-frontpanel .slide-content{max-width:48%}
.slide-frontpanel h2{font-size:clamp(3rem,5vw,6rem)}
.slide-frontpanel:after{background:linear-gradient(90deg,#030506e8, #03050677 40%,transparent 75%)}
@media(max-width:650px){.entrance-break>img{object-position:50% 57%}.slide-frontpanel .slide-content{max-width:90%}.slide-frontpanel h2{font-size:2.8rem}.slide-frontpanel>img{object-position:60% center}}

/* Show the full portrait entrance photo instead of cropping it to a wide banner. */
.entrance-break{height:85svh;min-height:560px;max-height:1000px;background:radial-gradient(ellipse at 75% 55%,#172333 0%,#080f18 65%)}
.entrance-break>img{object-fit:contain;object-position:85% center}
.entrance-break:after{background:linear-gradient(90deg,#080f18 0%,#080f18b3 30%,transparent 58%)}
.entrance-break>p{max-width:48%;font-size:clamp(2.6rem,4.8vw,5.8rem)}
@media(max-width:650px){.entrance-break{height:auto;min-height:0;max-height:none;padding-bottom:145px}.entrance-break>img{position:relative;height:auto;width:100%;object-fit:contain}.entrance-break:after{background:linear-gradient(0deg,#080f18 0%,transparent 35%)}.entrance-break>p{bottom:28px;max-width:none;font-size:2.5rem}}

/* Landscape source fills the section naturally, without side panels. */
.entrance-break{height:auto;aspect-ratio:16/9;min-height:0;max-height:none;padding:0;background:#080f18}
.entrance-break>img{position:absolute;inset:0;object-fit:cover;object-position:center;width:100%;height:100%}
.entrance-break:after{background:linear-gradient(0deg,#080f18d9,transparent 55%)}
.entrance-break>p{bottom:7%;max-width:60%}
@media(max-width:650px){.entrance-break{aspect-ratio:4/3}.entrance-break>img{object-position:58% center}.entrance-break>p{font-size:clamp(1.6rem,6vw,2.5rem);max-width:85%;bottom:20px}}

/* Longer editorial headings retain comfortable line lengths. */
.showcase h1,.showcase h2{overflow-wrap:normal;word-break:normal}
.showcase .slide-content h2{font-size:clamp(2.8rem,5.2vw,6.2rem)}
@media(max-width:650px){.showcase .slide-content h2{font-size:clamp(2.3rem,9vw,3.4rem)}}

.showcase h1{font-size:clamp(2.7rem,4.7vw,5.5rem);line-height:1.08;max-width:800px}
@media(max-width:650px){.showcase h1{font-size:clamp(2rem,8vw,3rem)}}

/* Full-width lighting hero with space for the headline. */
.product-showcase .slide-lighting>img{left:0;right:auto;top:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}

.product-showcase .slide-lighting>img{object-fit:contain;object-position:right center}.product-showcase .slide-lighting.is-active>img{animation:none;transform:none}.slide-lighting{background:#080e16}

/* Directly controlled gallery: vertical page scroll never drives the rail. */
.products-track,.motion-enabled .products-track{height:auto}
.products-stage,.motion-enabled .products-stage{position:relative;top:auto;min-height:0;height:auto;padding:70px 6vw}
.product-rail,.motion-enabled .product-rail{display:flex;gap:32px;overflow-x:auto;overflow-y:hidden;transform:none!important;perspective:none;scrollbar-width:thin;scrollbar-color:#8bb8f8 #1b2939;padding-bottom:20px;overscroll-behavior-x:contain}
.product-card,.motion-enabled .product-card{flex:0 0 calc((100% - 64px)/3);min-width:0;transform:none!important;opacity:1!important}
.product-image,.motion-enabled .product-image{height:auto;aspect-ratio:1.35}
.product-photo-card .product-image img{object-fit:cover;border-radius:6px;filter:none}
.product-controls{display:flex;align-items:center;gap:20px;margin-top:20px}
.product-controls button{width:48px;height:48px;flex-shrink:0;background:#152336;border:1px solid #526b87;color:#bdd8ff;font-size:24px;cursor:pointer}
.product-controls button:disabled{opacity:.3;cursor:default}
.product-controls input{flex:1;min-width:0;height:44px;accent-color:#8bb8f8;cursor:ew-resize}
.product-controls :focus-visible,.product-rail:focus-visible{outline:2px solid #8bb8f8;outline-offset:4px}
@media(max-width:1000px){.product-card,.motion-enabled .product-card{flex-basis:calc((100% - 32px)/2)}}
@media(max-width:600px){.product-card,.motion-enabled .product-card{flex-basis:88%}.products-stage,.motion-enabled .products-stage{padding:45px 6vw}.product-rail{gap:20px}.product-controls{gap:12px}}

.product-rail,.motion-enabled .product-rail{scrollbar-width:none}.product-rail::-webkit-scrollbar{display:none}.product-photo-card .product-image img{object-fit:contain}

/* Original lighting photo: crop only the source's baked-in text column. */
.product-showcase .slide-lighting{background:#000}.slide-lighting .lighting-original-photo{position:absolute;left:0;top:50%;width:68%;aspect-ratio:1188/941;transform:translateY(-50%);overflow:hidden}.slide-lighting .lighting-original-photo img{position:static!important;width:140.741%!important;height:100%!important;max-width:none;object-fit:fill!important;transform:none!important;animation:none!important;filter:none!important}.product-showcase .slide-lighting:after{display:none}.product-showcase .slide-lighting .slide-content{position:absolute;left:73%;right:4%;width:auto;max-width:none;top:50%;transform:translateY(-50%);padding:0}.showcase .slide-lighting .slide-content h2{font-size:clamp(35px,3.8vw,68px)}.slide-lighting .slide-content p{max-width:100%}@media(max-width:700px){.slide-lighting .lighting-original-photo{width:100%;top:0;transform:none}.product-showcase .slide-lighting .slide-content{left:6%;right:6%;top:auto;bottom:90px;transform:none;background:linear-gradient(0deg,#000 80%,transparent);padding-top:22px}.showcase .slide-lighting .slide-content h2{font-size:38px}.slide-lighting .slide-content p{font-size:15px}}

/* Blend the existing hero photographs into the stage without editing the assets.
   On desktop, keep the image box at its natural aspect ratio so the mask follows
   the photograph itself instead of the empty space from object-fit: contain. */
.product-showcase .slide>img,
.product-showcase .lighting-original-photo{
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 88%,transparent),linear-gradient(transparent,#000 12%,#000 82%,transparent);
 mask-image:linear-gradient(90deg,transparent,#000 18%,#000 88%,transparent),linear-gradient(transparent,#000 12%,#000 82%,transparent);
 -webkit-mask-composite:source-in;
 mask-composite:intersect;
}
@media(min-width:701px){
 .product-showcase .slide>img{width:auto;height:auto;max-width:80%;max-height:100%;top:50%;bottom:auto;translate:0 -50%}
}
@media(max-width:700px){
 .product-showcase .slide>img{height:auto}
}

/* Show supplied gallery originals in full, including on hover. */
.product-original-photo .product-image img,
.product-original-photo:hover .product-image img{object-fit:contain;filter:none;transform:none;border-radius:0}

.footer-legal{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px;font-size:.95rem}.footer-legal a{text-decoration:underline;text-underline-offset:4px}.footer-legal a:hover{color:#b8d3f9}
/* A compact three-line composition leaves the illuminated panel in view. */
.showcase .slide-frontpanel .slide-content{width:35%;max-width:32rem}
.showcase .slide-frontpanel .slide-content h2{font-size:clamp(2rem,3.6vw,4.25rem);line-height:1.12;letter-spacing:-.035em}
.showcase .slide-frontpanel .slide-content h2 em span{display:block}
.showcase .slide-frontpanel .slide-content>p:not(.kicker){max-width:23rem;margin:1.5rem 0 1.6rem;font-size:clamp(.9rem,1vw,1rem);line-height:1.7}
@media(max-width:650px){
 .showcase .slide-frontpanel .slide-content{width:88%;max-width:27rem}
 .showcase .slide-frontpanel .slide-content h2{font-size:clamp(1.9rem,7vw,2.6rem)}
 .showcase .slide-frontpanel .slide-content>p:not(.kicker){max-width:21rem}
}

/* Continuously moving, linked market segments. */
.market-segments{padding-inline:0;overflow:hidden}
.market-segments>h2{padding-inline:var(--pad)}
.market-window{overflow:hidden}
.market-track{display:flex;width:max-content;animation:market-travel 45s linear infinite}
.market-group{display:flex;flex-shrink:0;gap:32px;padding-right:32px}
.market-card{display:block;flex:0 0 clamp(240px,28vw,420px);width:clamp(240px,28vw,420px);color:#edf3f8;text-decoration:none;padding:12px}
.market-image{aspect-ratio:3/2;height:auto;display:flex;align-items:center;justify-content:center}
.market-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s}
.market-card h3{font-size:clamp(1.25rem,1.8vw,1.8rem);font-weight:500;margin:24px 0 0;color:inherit}
.market-card:hover{color:#8ab9ff}.market-card:hover img{transform:scale(1.035)}
.market-window:hover .market-track{animation-play-state:paused}
.market-card:focus-visible{outline:2px solid #8ab9ff;outline-offset:-2px}
.market-window:focus-within{overflow-x:auto;scrollbar-width:none}
.market-window:focus-within::-webkit-scrollbar{display:none}
.market-window:focus-within .market-track{animation:none}
.market-window:focus-within .market-copy{display:none}
@keyframes market-travel{to{transform:translateX(-50%)}}
@media(max-width:650px){.market-image{height:auto}.market-track{animation-duration:35s}}
