/* Robotics Events Motion Pass v1.3 — decorative cinematic layer.
   Required content remains baseline-visible in style.css; this file never hides .reveal. */

body[data-motion-pass="v1.3"]{position:relative}
body[data-motion-pass="v1.3"] main,body[data-motion-pass="v1.3"] .footer{position:relative;z-index:1}

/* Site-wide ambient field: pointer-inert and viewport-clipped. */
.ambient-field-v13{position:fixed;z-index:18;inset:30px 0 0;overflow:hidden;pointer-events:none;opacity:.24;mix-blend-mode:screen;contain:paint}
.ambient-grid-v13{position:absolute;inset:-64px;background-image:linear-gradient(rgba(43,209,128,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(43,209,128,.045) 1px,transparent 1px);background-size:96px 96px;animation:v13GridDrift 26s linear infinite;will-change:transform}
.ambient-sweep-v13{position:absolute;left:-30vw;top:18%;width:42vw;height:1px;background:linear-gradient(90deg,transparent,rgba(43,209,128,.85),transparent);box-shadow:0 0 18px rgba(43,209,128,.32);animation:v13AmbientSweep 11s cubic-bezier(.3,.1,.2,1) infinite;will-change:transform}
.ambient-sweep-v13.ambient-sweep-v13-b{top:72%;animation-delay:-4.5s;animation-duration:14s;opacity:.65}
.ambient-locator-v13{position:absolute;width:34px;height:34px;border:1px solid rgba(43,209,128,.28);border-radius:50%;animation:v13Locator 7s ease-in-out infinite;will-change:transform}
.ambient-locator-v13:before,.ambient-locator-v13:after{content:"";position:absolute;background:rgba(43,209,128,.46)}
.ambient-locator-v13:before{left:50%;top:-8px;width:1px;height:50px}.ambient-locator-v13:after{top:50%;left:-8px;height:1px;width:50px}
.ambient-locator-v13-a{right:3.4vw;top:21vh}.ambient-locator-v13-b{left:2.6vw;bottom:13vh;animation-delay:-2.8s;transform:scale(.72)}
.ambient-orbit-v13{position:absolute;right:-92px;bottom:16%;width:210px;aspect-ratio:1;border:1px solid rgba(43,209,128,.12);border-radius:50%;animation:v13Orbit 18s linear infinite;will-change:transform}
.ambient-orbit-v13:before,.ambient-orbit-v13:after{content:"";position:absolute;border:1px solid rgba(43,209,128,.08);border-radius:50%;inset:22px}.ambient-orbit-v13:after{inset:58px;border-color:rgba(43,209,128,.18)}

@keyframes v13GridDrift{to{transform:translate3d(96px,96px,0)}}
@keyframes v13AmbientSweep{0%,14%{transform:translate3d(-5vw,0,0) scaleX(.3);opacity:0}24%{opacity:.75}66%{opacity:.3}82%,100%{transform:translate3d(145vw,0,0) scaleX(1.4);opacity:0}}
@keyframes v13Locator{0%,100%{transform:scale(.86) rotate(0deg);opacity:.45}50%{transform:scale(1.12) rotate(90deg);opacity:1}}
@keyframes v13Orbit{to{transform:rotate(360deg)}}

/* Hero headline: real text remains visible; kinetic clone is decorative. */
.hero-title-v13{isolation:isolate}
.hero-line-v13{display:block;position:relative;overflow:clip;max-width:100%;perspective:800px}
.hero-line-text-v13{display:inline-block;position:relative;z-index:1}
.hero-kinetic-clone-v13{position:absolute;z-index:2;inset:0 auto auto 0;display:block;white-space:pre;pointer-events:none;color:rgba(43,209,128,.32);mix-blend-mode:screen;overflow:clip}
.hero-line-v13:nth-child(2) .hero-kinetic-clone-v13{color:transparent;-webkit-text-stroke:1px rgba(43,209,128,.58)}
.hero-char-v13{display:inline-block;transform-origin:50% 50%;will-change:transform}
.hero-space-v13{width:.24em}

.hero-scroll-cue-v13{display:grid;grid-template-columns:auto 3px auto;align-items:center;gap:10px;width:max-content;margin-top:24px;color:#69746d;font-size:8px;letter-spacing:.2em;text-transform:uppercase}
.hero-scroll-cue-v13>i{position:relative;display:block;width:1px;height:52px;background:rgba(237,242,238,.16);overflow:hidden}
.hero-scroll-cue-v13>i>b{position:absolute;inset:0;background:linear-gradient(180deg,transparent,var(--accent),transparent);transform:translateY(-100%);animation:v13ScrollSignal 2.1s ease-in-out infinite;will-change:transform}
.hero-scroll-cue-v13>em{font-style:normal;color:var(--accent);animation:v13StatusPulse 1.8s ease-in-out infinite}
@keyframes v13ScrollSignal{0%{transform:translateY(-100%)}70%,100%{transform:translateY(100%)}}
@keyframes v13StatusPulse{0%,100%{opacity:.42}50%{opacity:1}}

/* Hero media overlays. */
.hero-tech-grid-v13,.hero-radar-v13,.hero-reticle-v13,.hero-scan-beam-v13{position:absolute;z-index:4;pointer-events:none}
.hero-tech-grid-v13{inset:0;background-image:linear-gradient(rgba(43,209,128,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(43,209,128,.09) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(135deg,rgba(0,0,0,.85),transparent 62%);opacity:.32;animation:v13HeroGrid 15s linear infinite;will-change:transform}
.hero-radar-v13{right:8%;bottom:12%;width:134px;aspect-ratio:1;border:1px solid rgba(43,209,128,.32);border-radius:50%;box-shadow:0 0 0 22px rgba(43,209,128,.045),0 0 0 48px rgba(43,209,128,.02)}
.hero-radar-v13:before{content:"";position:absolute;inset:50% 50% 0 50%;width:45%;height:1px;background:linear-gradient(90deg,var(--accent),transparent);transform-origin:0 50%;animation:v13Radar 4.8s linear infinite;will-change:transform}
.hero-radar-v13:after{content:"";position:absolute;inset:24%;border:1px dashed rgba(43,209,128,.22);border-radius:50%}
.hero-reticle-v13{left:8%;top:16%;width:86px;height:86px;border:1px solid rgba(237,242,238,.18)}
.hero-reticle-v13:before,.hero-reticle-v13:after{content:"";position:absolute;background:var(--accent);box-shadow:0 0 12px rgba(43,209,128,.5)}
.hero-reticle-v13:before{left:50%;top:-12px;width:1px;height:110px}.hero-reticle-v13:after{top:50%;left:-12px;width:110px;height:1px}
.hero-scan-beam-v13{left:0;right:0;top:-14%;height:22%;background:linear-gradient(180deg,transparent,rgba(43,209,128,.06),rgba(43,209,128,.2),transparent);transform:skewY(-2deg);animation:v13HeroBeam 6.4s ease-in-out infinite;will-change:transform}
.hero.v13-active .hero-scan-beam-v13,.hero.v13-active .hero-tech-grid-v13,.hero.v13-active .hero-radar-v13:before{animation-play-state:running}
@keyframes v13HeroGrid{to{transform:translate3d(54px,54px,0)}}
@keyframes v13Radar{to{transform:rotate(360deg)}}
@keyframes v13HeroBeam{0%,8%{transform:translate3d(0,-60%,0) skewY(-2deg);opacity:0}18%{opacity:1}78%{opacity:.7}92%,100%{transform:translate3d(0,560%,0) skewY(-2deg);opacity:0}}

/* Section signal language: each host gets a persistent low-cost rail while in view. */
.v13-motion-host{position:relative;overflow:clip}
.section-signal-v13{position:absolute;z-index:0;pointer-events:none;left:0;right:0;top:0;height:1px;overflow:hidden;opacity:.56}
.section-signal-v13 i,.section-signal-v13 b{position:absolute;top:0;height:1px;width:22vw;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:translateX(-120%);will-change:transform}
.section-signal-v13 b{width:9vw;opacity:.52;animation-delay:-3.4s}
.v13-active>.section-signal-v13 i{animation:v13SectionTraverse 8.5s ease-in-out infinite}.v13-active>.section-signal-v13 b{animation:v13SectionTraverse 5.8s ease-in-out infinite}
.v13-motion-host[data-motion-index="03"]>.section-signal-v13,.v13-motion-host[data-motion-index="06"]>.section-signal-v13,.v13-motion-host[data-motion-index="09"]>.section-signal-v13{top:auto;bottom:0}
@keyframes v13SectionTraverse{0%,12%{transform:translateX(-125%);opacity:0}22%{opacity:.9}70%{opacity:.35}88%,100%{transform:translateX(580%);opacity:0}}

/* Robot stage energy. */
.robot-visual{transform-style:preserve-3d}
.robot-flash-v13,.robot-switch-scan-v13,.robot-radar-v13{position:absolute;z-index:5;pointer-events:none}
.robot-flash-v13{inset:0;background:linear-gradient(112deg,transparent 15%,rgba(43,209,128,.32) 44%,rgba(237,242,238,.2) 50%,transparent 72%);opacity:0;mix-blend-mode:screen}
.robot-switch-scan-v13{left:-18%;top:0;bottom:0;width:24%;background:linear-gradient(90deg,transparent,rgba(43,209,128,.22),rgba(237,242,238,.38),transparent);filter:blur(.2px);transform:skewX(-7deg) translateX(-130%)}
.robot-radar-v13{inset:50% auto auto 50%;width:min(58%,470px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%}
.robot-radar-ring-v13{position:absolute;inset:0;border:1px solid rgba(43,209,128,.2);border-radius:50%;animation:v13RobotRing 4.8s ease-out infinite;will-change:transform,opacity}
.robot-radar-ring-v13,.robot-radar-v13:after{animation-play-state:paused}.robot-showcase.v13-active .robot-radar-ring-v13,.robot-showcase.v13-active .robot-radar-v13:after{animation-play-state:running}
.robot-radar-ring-v13:nth-child(2){inset:16%;animation-delay:-1.6s}.robot-radar-ring-v13:nth-child(3){inset:32%;animation-delay:-3.2s}
.robot-radar-v13:after{content:"";position:absolute;left:50%;top:50%;width:42%;height:1px;background:linear-gradient(90deg,var(--accent),transparent);transform-origin:0 50%;animation:v13Radar 5.6s linear infinite;box-shadow:0 0 10px rgba(43,209,128,.45)}
@keyframes v13RobotRing{0%{transform:scale(.78);opacity:0}24%{opacity:.64}100%{transform:scale(1.13);opacity:0}}

.robot-tab{position:relative;overflow:hidden;transition:color .24s ease,padding-left .26s var(--ease),background .24s ease}
.robot-tab:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:50% 100%;transition:transform .24s var(--ease);box-shadow:0 0 16px rgba(43,209,128,.45)}
.robot-tab:after{transition:transform .24s var(--ease),text-shadow .24s ease}
.robot-tab:hover{padding-left:8px;color:#cbd4cd;background:linear-gradient(90deg,rgba(43,209,128,.05),transparent 65%)}
.robot-tab[aria-selected="true"]{padding-left:10px;background:linear-gradient(90deg,rgba(43,209,128,.085),transparent 75%)}
.robot-tab[aria-selected="true"]:before{transform:scaleY(1)}
.robot-tab[aria-selected="true"]:after{text-shadow:0 0 12px var(--accent);transform:scale(1.18)}

/* Environments: captions have independent timing; fine-pointer tilt is JS-bounded. */
.env-panel{transform-style:preserve-3d;transition:border-color .3s ease,box-shadow .35s ease}
.env-panel>div:last-child{transition:transform .35s var(--ease)}
.env-panel img{transition:transform .7s var(--ease),filter .45s ease}
.env-panel:hover{border-color:rgba(43,209,128,.38);box-shadow:0 24px 60px rgba(0,0,0,.25),0 0 0 1px rgba(43,209,128,.05)}
.env-panel:hover img{transform:scale(1.035);filter:contrast(1.06) saturate(.9)}
.env-panel:hover>div:last-child{transform:translate3d(0,-5px,24px)}
.env-panel span{display:inline-block;position:relative}
.env-panel span:after{content:"";position:absolute;left:0;bottom:-7px;width:42px;height:1px;background:var(--accent);transform-origin:0 50%;transform:scaleX(.35);transition:transform .35s var(--ease)}
.env-panel:hover span:after{transform:scaleX(1.4)}

/* Accordion response. */
.accordion-item{transition:transform .28s var(--ease),filter .28s ease,background .28s ease}
.accordion-item.is-neighbor-v13{transform:translateX(5px);filter:saturate(.7) brightness(.78)}
.accordion-button i{display:inline-block;transition:transform .35s var(--ease),color .24s ease,text-shadow .24s ease}
.accordion-button[aria-expanded="true"] i{transform:rotate(180deg) scale(1.12);text-shadow:0 0 14px rgba(43,209,128,.65)}
.accordion-button[aria-expanded="true"] strong{color:#f5fff8}
.accordion-panel:not([hidden]){transform-origin:50% 0;animation:v13AccordionOpen .42s var(--ease) both}
@keyframes v13AccordionOpen{from{clip-path:inset(0 0 100% 0);transform:translateY(-12px)}to{clip-path:inset(0 0 0 0);transform:translateY(0)}}

/* Process lock-in and live progress energy. */
#process-list li{position:relative;transition:transform .3s var(--ease),color .3s ease,background .3s ease}
#process-list li:after{content:"";position:absolute;right:0;top:50%;margin-top:-3px;width:6px;height:6px;border-radius:50%;background:#364139;box-shadow:none;transition:background .24s ease,box-shadow .24s ease,transform .3s var(--ease)}
#process-list li.is-locked-v13{transform:translateX(4px)}
#process-list li.is-locked-v13:after{background:var(--accent);box-shadow:0 0 0 5px rgba(43,209,128,.09),0 0 18px rgba(43,209,128,.52);transform:scale(1.18)}
#process-list li.is-locked-v13 span{color:#edf7f0}

/* Planner boot surface + scan. */
.planner-ui{position:relative;overflow:hidden;isolation:isolate}
.planner-ui:before{content:"";position:absolute;z-index:0;pointer-events:none;left:0;right:0;top:-18%;height:18%;background:linear-gradient(180deg,transparent,rgba(43,209,128,.035),rgba(43,209,128,.12),transparent);transform:translateY(-150%);will-change:transform}
.planner.v13-active .planner-ui:before{animation:v13PlannerScan 7.5s ease-in-out infinite}
.planner-ui>*{position:relative;z-index:1}
@keyframes v13PlannerScan{0%,16%{transform:translateY(-150%);opacity:0}28%{opacity:1}78%{opacity:.55}92%,100%{transform:translateY(720%);opacity:0}}
.ui-status i{animation:v13StatusPulse 1.7s ease-in-out infinite}
.prompt-chip,.project-tags span,.expertise-list span{transition:transform .24s var(--ease),border-color .24s ease,background .24s ease,color .24s ease}
.prompt-chip:hover,.prompt-chip:focus-visible,.project-tags span:hover,.expertise-list span:hover{transform:translate3d(0,-3px,0) rotate(-.35deg);border-color:rgba(43,209,128,.46);background:rgba(43,209,128,.07);color:#effff5}

/* Availability field focus motion. */
.availability-form>label,.availability-form fieldset{transition:transform .28s var(--ease),filter .28s ease}
.availability-form .is-focus-v13,.availability-form>label:focus-within,.availability-form fieldset:focus-within{transform:translate3d(5px,-2px,0);filter:drop-shadow(0 0 14px rgba(43,209,128,.08))}
.availability-form input,.availability-form select,.planner-ui textarea{transition:border-color .24s ease,box-shadow .24s ease,background .24s ease,transform .24s var(--ease)}
.availability-form input:focus,.availability-form select:focus,.planner-ui textarea:focus{border-color:rgba(43,209,128,.72);box-shadow:0 0 0 1px rgba(43,209,128,.12),inset 3px 0 0 rgba(43,209,128,.65);background-color:rgba(43,209,128,.025)}

/* Buttons and text links: directional fill + arrow travel without moving hit targets. */
.button{position:relative;overflow:hidden;isolation:isolate}
.button:before{content:"";position:absolute;z-index:-1;inset:-1px;background:linear-gradient(100deg,rgba(255,255,255,.04),rgba(255,255,255,.32));transform:translateX(-105%) skewX(-12deg);transition:transform .45s var(--ease)}
.button:hover:before,.button:focus-visible:before{transform:translateX(0) skewX(0)}
.button span{display:inline-block;transition:transform .3s var(--ease)}
.button:hover span,.button:focus-visible span{transform:translate3d(4px,3px,0)}
.text-link,.desktop-nav a,.footer a{position:relative}
.text-link:after,.desktop-nav a:after,.footer a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:linear-gradient(90deg,var(--accent),rgba(43,209,128,.08));transform:scaleX(0);transform-origin:100% 50%;transition:transform .32s var(--ease)}
.text-link:hover:after,.text-link:focus-visible:after,.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.footer a:hover:after,.footer a:focus-visible:after{transform:scaleX(1);transform-origin:0 50%}
.text-link span{display:inline-block;transition:transform .28s var(--ease)}
.text-link:hover span,.text-link:focus-visible span{transform:translateX(5px)}

/* Mobile menu gets a visible control-room staging surface when opened. */
.mobile-nav:not([hidden]){background:linear-gradient(180deg,rgba(10,13,12,.995),rgba(5,7,6,.985)),linear-gradient(rgba(43,209,128,.03) 1px,transparent 1px);background-size:auto,100% 42px;border-top:1px solid rgba(43,209,128,.2)}
.mobile-nav:not([hidden]):before{content:"LIVE NAV / 01";display:block;padding:0 0 14px;color:var(--accent);font-size:8px;letter-spacing:.2em}
.mobile-nav a{position:relative;overflow:hidden}
.mobile-nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,var(--accent),transparent);transform:translateX(-110%);transition:transform .32s var(--ease)}
.mobile-nav a:hover:after,.mobile-nav a:focus-visible:after{transform:translateX(0)}

/* Fine-pointer-only polish. */
@media(hover:hover) and (pointer:fine){
  .system i,.brand i{animation:v13StatusPulse 1.9s ease-in-out infinite}
}

/* Mobile: keep the language, reduce simultaneous decorative cost and amplitudes. */
@media(max-width:800px){
  .ambient-field-v13{opacity:.15}
  .ambient-grid-v13{background-size:72px 72px;animation-duration:34s}
  .ambient-orbit-v13,.ambient-locator-v13-b,.ambient-sweep-v13-b{display:none}
  .ambient-sweep-v13{width:62vw;animation-duration:15s}
  .hero-kinetic-clone-v13{opacity:.5}
  .hero-scroll-cue-v13{margin-top:18px}
  .hero-scroll-cue-v13>i{height:38px}
  .hero-tech-grid-v13{background-size:42px 42px;opacity:.2;animation-duration:20s}
  .hero-radar-v13{width:88px;right:8%;bottom:9%;box-shadow:0 0 0 16px rgba(43,209,128,.035)}
  .hero-reticle-v13{width:56px;height:56px;opacity:.65}
  .robot-radar-v13{width:68%}
  .robot-radar-ring-v13:nth-child(1){display:none}
  .section-signal-v13{opacity:.38}
  .env-panel:hover{box-shadow:none}
  .env-panel:hover img{transform:scale(1.018)}
  .accordion-item.is-neighbor-v13{transform:translateX(2px);filter:brightness(.9)}
}

/* Required reduced-motion static mode. Decorative loops are removed, content stays fully usable. */
@media(prefers-reduced-motion:reduce){
  .ambient-field-v13,.hero-kinetic-clone-v13,.hero-tech-grid-v13,.hero-radar-v13,.hero-reticle-v13,.hero-scan-beam-v13,.hero-scroll-cue-v13,.section-signal-v13,.robot-flash-v13,.robot-switch-scan-v13,.robot-radar-v13{display:none!important}
  .env-panel,.env-panel img,.env-panel>div:last-child,.accordion-item,.accordion-button i,#process-list li,.prompt-chip,.project-tags span,.expertise-list span,.availability-form>label,.availability-form fieldset,.button span,.text-link span{transform:none!important;animation:none!important;transition-duration:.001ms!important}
  .planner-ui:before,.ui-status i,.system i,.brand i{animation:none!important}
}
