/* Equipment character: accessible visual experiences. */
body[data-experience]{--ex-accent:#d5ff46;--ex-dark:#102126}
body[data-experience] .hero{position:relative;isolation:isolate;overflow:clip;max-width:none;min-height:780px;padding:80px max(24px,calc((100% - 1320px)/2));gap:40px}
body[data-experience] .hero h1{letter-spacing:-.055em;line-height:.97;text-wrap:balance;font-size:clamp(65px,7vw,100px)}
body[data-experience] .hero figure{margin:0}
body[data-experience] .hero .hero-category,body[data-experience] .hero .eyebrow,body[data-experience] .hero .product-kind{display:none}
body[data-experience] .hero img{max-width:100%}
body[data-experience] .ex-scene{isolation:isolate;position:relative;overflow:clip;margin:0;max-width:none;padding:clamp(44px,6vw,90px) max(24px,calc((100% - 1280px)/2));background:var(--ex-dark);color:white}
.ex-scene *{box-sizing:border-box}
.ex-scene h2{font:inherit;font-size:clamp(34px,5vw,72px);font-weight:600;line-height:1.05;letter-spacing:-.045em;max-width:950px;margin:0 0 20px;text-wrap:balance}
.ex-scene p{max-width:660px;font-size:17px;line-height:1.6;color:inherit;opacity:.85;margin:0 0 24px}
.ex-stage{position:relative;min-height:340px;margin-top:35px}
.ex-stage>svg{width:100%;height:100%;position:absolute;inset:0}
.ex-scene img{display:block;max-width:100%;object-fit:contain}
.ex-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.ex-controls button{font:inherit;font-size:16px;min-height:48px;padding:12px 22px;border-radius:100px;border:1px solid #ffffff70;background:transparent;color:inherit;cursor:pointer}
.ex-controls button:hover,.ex-controls button[aria-pressed=true]{background:var(--ex-accent);border-color:var(--ex-accent);color:#132027}
.ex-controls button:focus-visible,.ex-locker:focus-visible{outline:3px solid var(--ex-accent);outline-offset:5px}
.ex-route{stroke:var(--ex-accent);fill:none;stroke-width:4;stroke-linecap:round;stroke-dasharray:10 14}
.ex-reel{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}
.ex-reel>img{width:100%;height:420px;object-fit:cover;border-radius:40% 40% 20px 20px}
@keyframes ex-lift{50%{translate:0 -12px}}
@keyframes ex-dash{to{stroke-dashoffset:-240}}
@keyframes ex-glow{50%{opacity:.35;scale:1.06}}
@keyframes ex-orbit{to{rotate:360deg}}
@media(min-width:701px) and (max-width:1100px){body[data-experience] .hero h1{font-size:clamp(42px,6vw,66px)}}
@media(max-width:700px){body[data-experience] .hero{min-height:0;padding:48px 20px;gap:30px}
body[data-experience] .hero h1{font-size:clamp(45px,12vw,72px)}
.ex-scene{padding-inline:20px!important}
.ex-scene h2{font-size:38px}
.ex-stage{min-height:260px}
.ex-reel{grid-template-columns:1fr}
.ex-reel>img{height:300px}
.ex-controls button{font-size:14px;padding:10px 16px}}
@media(prefers-reduced-motion:reduce){body[data-experience] *,body[data-experience] *::before,body[data-experience] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body[data-experience].lab[data-experience="interactive-projectors"]{--ex-accent:#ffcd63;--ex-dark:#142b32}
body[data-experience].lab[data-experience="interactive-projectors"] .hero{display:grid;grid-template-columns:1fr 1fr;background:#fff9ee}
body[data-experience].lab .lab-head{display:contents}
body[data-experience].lab[data-experience="interactive-projectors"] .lab-head>div:first-child{grid-column:1;grid-row:1}
body[data-experience].lab[data-experience="interactive-projectors"] .lab-intro{grid-column:1;grid-row:2;max-width:550px}
body[data-experience].lab[data-experience="interactive-projectors"] .projected-room{grid-column:2;grid-row:1/3;min-height:580px;align-self:stretch;overflow:visible;background:none;margin:0}
body[data-experience].lab .room-photo{position:absolute;inset:0;padding:0;border:0;transform:rotate(3deg);box-shadow:18px 18px 0 #ffcd63;border-radius:45% 45% 18px 18px;overflow:hidden}
body[data-experience].lab .room-photo img{width:100%;height:100%;object-fit:cover}
body[data-experience].lab .room-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#142b32da;color:white;padding:18px}
body[data-experience].lab .room-note{bottom:55px;right:-10px;transform:rotate(-5deg);background:#ffcd63;padding:20px;border-radius:12px;max-width:260px}
body[data-experience].lab .room-geometry{display:none}
body[data-experience].lab .scene-navigation{grid-column:1/-1;margin-top:35px;border:0;padding:25px 0}
body[data-experience].lab .mechanics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
body[data-experience].lab .mechanics button{border-radius:18px;border:1px solid #142b3230;padding:22px;min-height:100px}
body[data-experience].lab .mechanics button[aria-pressed=true]{background:#142b32;color:white}
@media(max-width:700px){body[data-experience].lab[data-experience="interactive-projectors"] .hero{display:flex;flex-direction:column}
body[data-experience].lab .lab-head>div:first-child{order:0}
body[data-experience].lab[data-experience="interactive-projectors"] .projected-room{order:1;width:92%;min-height:380px;margin:10px 0 30px}
body[data-experience].lab[data-experience="interactive-projectors"] .lab-intro{order:2}
body[data-experience].lab .scene-navigation{order:3;width:100%;margin:0}
body[data-experience].lab .mechanics{grid-template-columns:1fr 1fr}
body[data-experience].lab .mechanics button{padding:16px;min-height:85px}
body[data-experience].lab .room-note{right:-12px;bottom:35px;padding:14px;max-width:220px}}
body[data-experience] .hero{width:100%;margin-inline:0;box-sizing:border-box}
