/* Lightweight looping illustrations: original footage can replace each sample. */
.robot-lab{margin:48px 0 72px;color:#e9eef4}.robot-lab-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:28px}.robot-lab-heading h3{font-size:clamp(26px,3.2vw,40px);letter-spacing:-1.2px;line-height:1.15;margin:12px 0 0}.robot-lab-heading>p{max-width:400px;color:#a9b5c2;font-size:14px;line-height:1.75;margin:0}.robot-lab-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center}.robot-lab-filters{display:flex;gap:6px;flex-wrap:wrap}.robot-lab-toolbar button{font:inherit;font-size:12px;min-height:44px;padding:10px 17px;border:1px solid #ffffff20;border-radius:24px;background:transparent;color:#b8c2ce;cursor:pointer}.robot-lab-filters button[aria-pressed=true]{color:#091b21;background:#a5e2d8;border-color:#a5e2d8}.robot-lab-toolbar button:disabled{opacity:.5;cursor:default}.robot-lab-toolbar button:focus-visible,.robot-lab-card:focus-visible,.lab-close:focus-visible{outline:2px solid #a5e2d8;outline-offset:5px}.robot-lab-status{font-size:11px;color:#91a0af;letter-spacing:.03em;margin:20px 0 16px}.robot-lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.robot-lab-card{display:flex;flex-direction:column;text-align:left;border:1px solid #ffffff18;border-radius:18px;padding:0;overflow:hidden;background:#111b29;color:inherit;font:inherit;cursor:pointer;transition:border-color .25s,transform .25s}.robot-lab-card[hidden]{display:none}.robot-lab-card:hover{border-color:var(--loop-accent);transform:translateY(-4px)}.robot-lab-visual{width:100%;position:relative;aspect-ratio:440/260;background:radial-gradient(ellipse at 50% 80%,#ffffff06,transparent 65%),#0d1622;color:var(--loop-accent)}.robot-loop-svg{display:block;width:100%;height:auto;overflow:hidden}.loop-sample-label{position:absolute;top:15px;left:16px;font-size:8px;letter-spacing:.14em;color:#95a4b4}.robot-lab-card-copy{padding:23px;display:flex;flex-direction:column;flex:1}.lab-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--loop-accent)}.robot-lab-card h3{font-size:21px;letter-spacing:-.5px;line-height:1.3;margin:10px 0}.robot-lab-card p{font-size:13px;line-height:1.7;color:#acb8c7;margin:0 0 24px}.lab-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;border-top:1px solid #ffffff12;color:#8d9eaf;font-size:10px;gap:8px}.lab-card-footer b{font-size:19px;font-weight:400;color:var(--loop-accent)}
.robot-lab-dialog{width:min(950px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:30px;border:1px solid #ffffff25;border-radius:22px;background:#101b29;color:#e9eef4;box-sizing:border-box;overflow:auto}.robot-lab-dialog::backdrop{background:#040a13dd;backdrop-filter:blur(8px)}.robot-lab-dialog header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:28px}.lab-dialog-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--loop-accent)}.robot-lab-dialog h2{font-size:clamp(24px,4vw,36px);line-height:1.2;margin:10px 0 0}.lab-close{flex-shrink:0;width:44px;height:44px;border:1px solid #ffffff30;border-radius:50%;background:transparent;color:white;font-size:26px;cursor:pointer}.lab-dialog-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px}.lab-dialog-media{color:var(--loop-accent);align-self:start;background:#0b1521;border-radius:14px;overflow:hidden}.lab-dialog-media p{color:#91a0af;font-size:11px;text-align:center;line-height:1.7;margin:0;padding:0 20px 22px}.lab-dialog-copy h3{font-size:14px;margin:25px 0 10px}.lab-dialog-copy h3:first-child{margin-top:0}.lab-dialog-copy p,.lab-dialog-copy li{font-size:13px;color:#b6c1cf;line-height:1.8}.lab-dialog-copy ul{padding-left:18px}.lab-dialog-copy li{margin:6px 0}.robot-stories-heading{margin-top:56px}
.robot-loop-svg .rotor{transform-box:fill-box;transform-origin:center;animation:lab-spin 1.4s linear infinite}.robot-loop-svg .float{animation:lab-float 4s ease-in-out infinite}.robot-loop-svg .float-small{animation:lab-float-small .8s ease-in-out infinite}.robot-loop-svg .drive{animation:lab-drive 5s ease-in-out infinite}.robot-loop-svg .scan{animation:lab-pulse 2.4s ease-in-out infinite}.robot-loop-svg .pulse{animation:lab-pulse 3s ease-in-out infinite}.robot-loop-svg .waves{animation:lab-waves 3s linear infinite}.robot-loop-svg .bubbles{animation:lab-bubbles 4s linear infinite}.robot-loop-svg .leg-a,.robot-loop-svg .leg-b{transform-box:fill-box;transform-origin:50% 0;animation:lab-leg .8s ease-in-out infinite alternate}.robot-loop-svg .leg-b{animation-delay:-.8s}.robot-loop-svg .wave-arm{transform-box:fill-box;transform-origin:0 50%;animation:lab-wave 2.4s ease-in-out infinite}.robot-loop-svg .trace{stroke-dasharray:300;animation:lab-trace 4s ease-in-out infinite}.robot-loop-svg .sim-dot{animation:lab-route 4s ease-in-out infinite}.robot-loop-svg .toolhead{animation:lab-tool 3.2s ease-in-out infinite alternate}.robot-loop-svg .laser{animation:lab-pulse .6s ease-in-out infinite}.robot-lab-card .robot-loop-svg *{animation-play-state:paused}.robot-lab-card.loop-visible .robot-loop-svg *{animation-play-state:running}.loops-paused .robot-loop-svg *,html[data-portfolio-motion=off] .robot-loop-svg *{animation-play-state:paused!important}
@keyframes lab-spin{to{transform:rotate(360deg)}}@keyframes lab-float{50%{transform:translateY(-9px)}}@keyframes lab-float-small{50%{transform:translateY(-3px)}}@keyframes lab-drive{50%{transform:translateX(16px)}}@keyframes lab-pulse{50%{opacity:.12}}@keyframes lab-waves{to{transform:translateX(-70px)}}@keyframes lab-bubbles{0%{transform:translateY(20px);opacity:0}20%{opacity:.6}100%{transform:translateY(-55px);opacity:0}}@keyframes lab-leg{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}@keyframes lab-wave{50%{transform:rotate(-14deg)}}@keyframes lab-trace{0%{stroke-dashoffset:300}80%,100%{stroke-dashoffset:0}}@keyframes lab-route{0%{transform:translate(0,0)}20%{transform:translate(42px,0)}35%{transform:translate(72px,-30px)}55%{transform:translate(125px,-30px)}75%{transform:translate(168px,-71px)}100%{transform:translate(225px,-71px)}}@keyframes lab-tool{from{transform:translateX(-12px)}to{transform:translateX(62px)}}
.education-logo{width:180px;max-width:100%;padding:14px;background:#fff;border-radius:10px;flex-shrink:0;box-sizing:border-box;align-self:start}.education-logo img{width:100%;height:auto;display:block}.education-record{grid-template-columns:180px minmax(0,1fr)}.original-career-photo{background:#0b1420!important;height:300px!important;aspect-ratio:auto!important}.original-career-photo a{display:block;width:100%;height:100%}.original-career-photo img.career-card-image{width:100%;height:100%;object-fit:contain!important;object-position:center!important;opacity:1!important;filter:none!important;transform:none!important}.original-career-photo::after{display:none!important}.original-career-photo .career-card-image-label{pointer-events:none;background:#08111cda;padding:6px 9px;border-radius:4px;bottom:10px;left:10px;font-size:9px}
@media(max-width:1000px){.robot-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.robot-lab-heading{align-items:start;flex-direction:column;gap:20px}.robot-lab-heading>p{max-width:650px}}
@media(max-width:600px){.robot-lab{margin:28px 0 48px}.robot-lab-grid{grid-template-columns:1fr;gap:16px}.robot-lab-toolbar{align-items:start;flex-direction:column;gap:12px}.robot-lab-toolbar button{padding:10px 13px}.robot-lab-filters{gap:5px}.robot-lab-card-copy{padding:21px}.robot-lab-visual{aspect-ratio:440/240}.robot-loop-svg{height:100%;object-fit:contain}.robot-lab-card:hover{transform:none}.robot-lab-dialog{padding:20px;width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.lab-dialog-layout{grid-template-columns:1fr;gap:24px}.robot-lab-dialog header{gap:12px;margin-bottom:22px}.lab-dialog-media .robot-loop-svg{height:auto;max-height:225px}.education-record{grid-template-columns:1fr;flex-direction:column;gap:22px}.education-logo{width:172px}.original-career-photo{height:280px!important}}
@media(prefers-reduced-motion:reduce){.robot-loop-svg *{animation:none!important}.robot-lab-card{transition:none}}

.robot-lab-dialog:not([open]) .robot-loop-svg *{animation-play-state:paused!important}
