/* A shared 3D space lets the front cards occlude the robot naturally. */
.technology-carousel{--carousel-angle:0deg;--carousel-exit:0;--robot-settle:0;--intro-exit:0;height:calc(100svh + 4200px);min-height:0;background:#111012}
.technology-carousel .robot-stage{height:calc(100svh - var(--header-height));min-height:600px;padding:28px var(--gutter) 22px;top:var(--header-height);position:sticky;background:radial-gradient(ellipse at 50% 58%,#2a1721 0,transparent 63%)}
.robot-intro{padding-top:25px;position:relative;z-index:4;pointer-events:none;opacity:calc(1 - var(--intro-exit));transform:translateY(calc(var(--intro-exit)*-30px));flex-shrink:0}
.robot-intro h2{font-size:clamp(30px,3vw,48px);line-height:1.12;letter-spacing:-.018em}.robot-intro h2>span{color:#b09ca4}.robot-intro>p{position:absolute;right:0;bottom:5px;max-width:230px;color:#a18f97;font-size:12px;line-height:1.65}
.technology-space{position:relative;flex:1;min-height:350px;perspective:2200px;perspective-origin:50% 55%;margin-top:8px}
.technology-depth{position:absolute;inset:0;transform-style:preserve-3d}
.technology-carousel .robot-visual{position:absolute;left:50%;top:48%;width:340px;height:450px;min-height:0;transform:translate(-50%,-50%) translateX(calc(var(--robot-settle)*270px)) scale(calc(1 - var(--robot-settle)*.08));transform-style:preserve-3d;isolation:auto;pointer-events:none}
.technology-carousel .robot-halo{width:125%;z-index:0;transform:translate(-50%,-50%) translateZ(-15px);border-color:#64434d40;box-shadow:none}
.technology-ring{position:absolute;left:50%;top:45%;width:0;height:0;transform-style:preserve-3d;transform:rotateY(var(--carousel-angle)) translateY(calc(var(--carousel-exit)*-650px))}
.technology-card{position:absolute;left:-170px;top:-60px;width:340px;height:225px;transform-style:preserve-3d;transform:rotateY(calc(var(--card-index)*360deg/7)) translateZ(490px);pointer-events:none}
.technology-card-face{position:absolute;inset:0;backface-visibility:hidden;background:linear-gradient(140deg,#291c23,#171417 75%);border:1px solid #8b67784a;border-radius:3px;padding:23px 25px;display:flex;flex-direction:column;opacity:calc(1 - var(--carousel-exit));box-shadow:0 18px 35px #0004;transition:border-color .3s}
.technology-card:after{content:'';position:absolute;inset:0;border:1px solid #8b67782a;border-radius:3px;background:#171417;transform:rotateY(180deg);backface-visibility:hidden;opacity:calc(1 - var(--carousel-exit))}
.technology-card.is-current{pointer-events:auto}.technology-card.is-current .technology-card-face{border-color:#be7e694d}
.technology-card-label{font-size:9px;color:#c99c8c;letter-spacing:.025em}.technology-card h3{font-size:24px;line-height:1.15;letter-spacing:-.018em;margin-top:17px;color:#f1e9ed}.technology-card p{font-size:11px;line-height:1.6;color:#b4a5ad;margin-top:12px}.technology-card a{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:8px;line-height:1.5;color:#af949e;margin-top:auto;padding-top:12px}.technology-card a>span:nth-child(2){font-size:21px;color:#ed947c}
.technology-carousel .robot-copy{position:absolute;left:0;top:50%;transform:translateY(calc(-50% + (1 - var(--robot-settle))*35px));width:52%;opacity:var(--robot-settle);z-index:4;pointer-events:none}.technology-carousel.carousel-finished .robot-copy{pointer-events:auto}.technology-carousel .robot-copy h2{font-size:clamp(35px,3.8vw,59px)}.technology-carousel .robot-copy p{font-size:14px;max-width:400px}.technology-carousel .robot-copy .eyebrow{font-size:10px}
.technology-controls{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff20;padding-top:18px;flex-shrink:0;font-size:11px;color:#998a92}.technology-controls>div{display:flex;align-items:center;gap:20px}.technology-controls button{width:38px;height:36px;border:1px solid #ffffff25;background:none;color:#e4d6dd;font-size:19px}.technology-controls button:disabled{opacity:.25}.technology-count{font-size:10px;min-width:45px;text-align:center}.technology-controls>a{color:#dfcdd5}
@media(max-width:800px){.technology-carousel .robot-visual{width:300px;height:400px;transform:translate(-50%,-50%) translateX(calc(var(--robot-settle)*170px)) scale(calc(1 - var(--robot-settle)*.1))}.technology-card{width:290px;left:-145px;height:220px;transform:rotateY(calc(var(--card-index)*360deg/7)) translateZ(370px)}.technology-card-face{padding:22px}.robot-intro>p{max-width:185px;font-size:10px}.technology-carousel .robot-copy h2{font-size:35px}}
@media(max-width:600px){.technology-carousel{height:calc(100svh + 3000px)}.technology-carousel .robot-stage{padding:23px 20px 18px;min-height:590px}.robot-intro{padding-top:24px}.robot-intro h2{font-size:29px;line-height:1.13}.robot-intro>p{display:none}.technology-space{perspective:1500px;perspective-origin:50% 50%;min-height:360px;margin-top:0}.technology-carousel .robot-visual{width:270px;height:360px;top:43%;transform:translate(-50%,-50%) translateY(calc(var(--robot-settle)*65px)) scale(calc(1 - var(--robot-settle)*.26));margin:0}.technology-carousel .robot-halo{width:110%;max-height:none}.technology-ring{top:50%}.technology-card{left:-115px;top:-25px;width:230px;height:205px;transform:rotateY(calc(var(--card-index)*360deg/7)) translateZ(240px)}.technology-card-face{padding:19px 18px}.technology-card-label{font-size:8px}.technology-card h3{font-size:21px;margin-top:15px}.technology-card p{font-size:10px;line-height:1.6;margin-top:10px}.technology-card a{font-size:7px;padding-top:10px}.technology-carousel .robot-copy{top:0;transform:translateY(calc((1 - var(--robot-settle))*20px));width:100%;padding-top:15px}.technology-carousel .robot-copy h2{font-size:29px;line-height:1.12}.technology-carousel .robot-copy h2 br:last-of-type{display:none}.technology-carousel .robot-copy p{font-size:12px;line-height:1.55;margin:15px 0 9px;max-width:320px}.technology-carousel .robot-copy .text-link{font-size:10px}.technology-controls{gap:10px;padding-top:13px}.technology-controls>span{max-width:100px;font-size:9px;line-height:1.5}.technology-controls>div{gap:10px}.technology-controls button{width:32px;height:33px;font-size:16px}.technology-controls>a{display:none}.technology-controls .technology-count{font-size:9px}}
@media(max-width:360px){.robot-intro h2{font-size:27px}.technology-carousel .robot-copy h2{font-size:26px}.technology-carousel .robot-copy p{font-size:11px}.technology-card{width:214px;left:-107px}.technology-card h3{font-size:20px}.technology-card p{font-size:9px}}
@media(max-height:650px) and (min-width:601px){.technology-carousel .robot-stage{min-height:470px;padding-top:20px}.robot-intro{padding-top:15px}.robot-intro h2{font-size:27px}.technology-space{min-height:270px}.technology-carousel .robot-visual{height:320px;width:240px}.technology-card{height:175px;width:300px;left:-150px;top:10px}.technology-card-face{padding:16px 20px}.technology-card h3{font-size:20px;margin-top:10px}.technology-card p{font-size:10px;margin-top:9px}.technology-card a{padding-top:7px}.technology-controls{padding-top:12px}.technology-carousel .robot-copy h2{font-size:30px}.technology-carousel .robot-copy p{font-size:12px;margin:15px 0}}
@media(prefers-reduced-motion:reduce){.technology-carousel{height:auto;min-height:0}.technology-carousel .robot-stage{position:relative;top:0;height:auto;min-height:0}.robot-intro{opacity:1;transform:none}.technology-space{perspective:none;margin-top:30px;min-height:0}.technology-depth{position:relative;transform-style:flat}.technology-carousel .robot-visual{position:relative;left:auto;top:auto;transform:none;width:220px;height:295px;margin:0 auto 30px}.technology-ring{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:auto;height:auto;transform:none}.technology-card{position:relative;left:auto;top:auto;width:auto;height:245px;transform:none;pointer-events:auto}.technology-card-face{opacity:1}.technology-card:after{display:none}.technology-carousel .robot-copy{position:relative;width:100%;top:0;transform:none;opacity:1;margin:55px 0 30px;pointer-events:auto}.technology-controls>div,.technology-controls>span{display:none}.technology-controls>a{display:block}}
@media(prefers-reduced-motion:reduce) and (max-width:800px){.technology-ring{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce) and (max-width:600px){.technology-ring{grid-template-columns:1fr}.technology-card{height:220px}.technology-carousel .robot-copy{padding-top:0;margin:35px 0}.technology-card h3{font-size:25px}.technology-card p{font-size:13px}.technology-card-label,.technology-card a{font-size:10px}}

.technology-card .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}
/* The original IMPACT mark sits on each outward-facing card back. */
.technology-card:after{
 background-image:url('assets/logo-card-back-muted.svg'),linear-gradient(145deg,#2b1c25,#171417 78%);
 background-position:center,center;
 background-size:64% auto,100% 100%;
 background-repeat:no-repeat;
}

/* Enlarge the robot after the cards leave, using the available desktop space. */
@media(min-width:801px) and (prefers-reduced-motion:no-preference){
 .technology-carousel .robot-visual{
  transform:translate(-50%,-50%)
   translateX(calc(var(--robot-settle)*var(--robot-desktop-x,270px)))
   translateY(calc(var(--robot-settle)*var(--robot-desktop-y,0px)))
   scale(calc(1 + var(--robot-settle)*(var(--robot-desktop-scale,1.3) - 1)));
 }
}
