/* 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-playfield: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].waiter-robot[data-experience]{--ex-accent:#f3a47e;--ex-dark:#173b3b}
body[data-experience].waiter-robot .hero{display:grid;grid-template-columns:1fr 1fr;background:#e7efdf}
body[data-experience].waiter-robot .hero h1{font-weight:400;color:#173b3b}
body[data-experience].waiter-robot .hero h1 em{color:#a34f35}
body[data-experience].waiter-robot .hero .button{background:#173b3b;color:white;border-radius:50px;box-shadow:none}
body[data-experience].waiter-robot .hero-visual{position:relative;min-height:600px;border:0;border-radius:0;box-shadow:none;background:none;padding:0;align-self:center}
body[data-experience].waiter-robot .hero-visual>img{height:560px;width:100%;object-fit:cover;border-radius:45% 45% 40px 40px;transform:rotate(3deg)}
body[data-experience].waiter-robot .hero-visual figcaption{background:#173b3b;color:#e7efdf;padding:22px;position:relative;margin:0 20px;top:-20px;border-radius:15px;transform:rotate(-3deg);display:block}
body[data-experience].waiter-robot .hero-visual figcaption strong{display:block;font-size:28px}
body[data-experience].waiter-robot .service-orbit{display:none}
body[data-experience].waiter-robot .hero-price{border-color:#173b3b44}
.ex-service-map{height:auto;aspect-ratio:500/330;background:repeating-linear-gradient(0deg,transparent 0 39px,#ffffff0b 40px 41px),repeating-linear-gradient(90deg,transparent 0 39px,#ffffff0b 40px 41px)}
.ex-service-map svg{display:block;width:100%;height:100%}

@media(max-width:700px){body[data-experience].waiter-robot .hero{display:flex;flex-direction:column}
body[data-experience].waiter-robot .hero-visual{min-height:0;width:100%}
body[data-experience].waiter-robot .hero-visual>img{height:410px}
.ex-service-map{height:auto}}
body[data-experience] .hero{width:100%;margin-inline:0;box-sizing:border-box}

.ex-route-demo{min-width:0}
.ex-map-table{fill:#254949;stroke:#92b1a8;stroke-width:1}
.ex-map-label{fill:#fff9f0;font-size:19px}
.ex-route-progress{fill:none;stroke:#f3a47e;stroke-width:4;stroke-linecap:round}
.ex-route-demo [data-waiter-marker]{pointer-events:none;filter:drop-shadow(0 3px 3px #071d2540)}
.ex-route-demo .ex-route-controls{gap:8px;margin-top:18px}
.ex-route-demo .ex-route-controls button{font-size:13px;min-height:42px;padding:10px 14px}
.ex-route-playback{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.ex-scene .ex-route-status{margin:0;font-size:14px;opacity:1;color:#f8c4a9}
.ex-route-playback button{font:inherit;font-size:13px;padding:10px 15px;min-height:42px;color:#fff9f0;border:1px solid #97b7ae;border-radius:30px;background:transparent;cursor:pointer;flex-shrink:0}
.ex-route-playback button:focus-visible{outline:3px solid #f3a47e;outline-offset:4px}
.ex-route-playback button:disabled{opacity:.5;cursor:default}
.ex-scene .ex-route-caption{font-size:12px;line-height:1.5;margin:14px 0 0;opacity:.8}

.ex-route-demo .ex-service-map{background-color:var(--route-floor,#24483d);border:1px solid #9bb4aa66;border-radius:16px}
