/* Ten original SVG characters share materials and the site's motion controls. */
.robot-definitions { position: absolute; overflow: hidden; pointer-events: none; }
.robot { --robot-light: #90ffe4; display: block; width: 100%; line-height: 0; pointer-events: none; }
.robot > svg { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 12px 20px #0004); }
.bot-platform { stroke: var(--robot-light); stroke-width: .8; opacity: .3; animation: bot-platform 5s ease-in-out infinite; transform-origin: 100px 222px; }
.bot-shadow { fill: var(--robot-light); opacity: .16; animation: bot-shadow 5s ease-in-out infinite; transform-origin: 100px 222px; }
.bot-float { animation: bot-hover 5s ease-in-out infinite; }
.bot-head { transform-origin: 100px 113px; animation: bot-curious 12s ease-in-out infinite; }
.bot-gaze { transform: translate(var(--gaze-x, 0px), var(--gaze-y, 0px)); transition: transform .22s ease-out; }
.bot-eyes { fill: var(--robot-light); transform-origin: 100px 83px; animation: bot-blink 7s infinite; filter: drop-shadow(0 0 5px #73ffe5aa); }
.bot-antenna { animation: bot-light 3.8s ease-in-out infinite; }
.bot-signal { animation: bot-signal 3.8s ease-out infinite; transform-origin: 100px 25px; }
.bot-thrust { transform-origin: 100px 185px; animation: bot-thrust 2.4s ease-in-out infinite; }
.bot-core-ring { transform-origin: 100px 146px; animation: cross-turn 12s linear infinite; }
.bot-arm-left { transform-origin: 60px 132px; animation: bot-left-arm 5s ease-in-out infinite; }
.bot-arm-right { transform-origin: 140px 132px; animation: bot-right-arm 5s ease-in-out infinite; }
.robot--nova .bot-arm-right { animation: bot-wave 8s ease-in-out infinite; }
.hero-artwork:hover .bot-smile { stroke-width: 3; }

/* Every design has its own silhouette, accent and mechanical movement. */
.robot--orbit { --robot-light: #d3c4ff; }
.orbit-drift { transform-origin: 100px 111px; animation: orbit-drift 7s ease-in-out infinite; }
.orbit-eye { animation: bot-look 9s ease-in-out infinite; }
.orbit-ray { transform-origin: 100px 160px; animation: robot-scan 5s ease-in-out infinite; }
.orbit-satellite { animation: bot-light 3s ease-in-out infinite; }
.robot--dash { --robot-light: #ffd2b7; }
.dash-balance { transform-origin: 100px 183px; animation: dash-balance 6s ease-in-out infinite; }
.dash-wheel { transform-origin: 100px 183px; animation: cross-turn 9s linear infinite; }
.dash-face { animation: bot-look 8s ease-in-out infinite; }
.robot--prism { --robot-light: #d5c6ff; }
.prism-hover { transform-origin: 100px 110px; animation: prism-hover 6s ease-in-out infinite; }
.prism-shards { animation: prism-shards 6s ease-in-out infinite; }
.prism-scan { animation: bot-light 4s ease-in-out infinite; }
.prism-halo { transform-origin: 100px 207px; animation: bot-platform 6s ease-in-out infinite; }
.robot--atlas { --robot-light: #a6e3ff; }
.atlas-legs-a { transform-origin: 65px 130px; animation: atlas-step 5s ease-in-out infinite; }
.atlas-legs-b { transform-origin: 135px 130px; animation: atlas-step 5s ease-in-out -2.5s infinite reverse; }
.atlas-body { animation: atlas-breathe 5s ease-in-out infinite; }
.atlas-hub { transform-origin: 100px 106px; animation: cross-turn 20s linear infinite; }
.atlas-core { animation: bot-light 3s ease-in-out infinite; }
.robot--forge { --robot-light: #ffe0a0; }
.forge-crane { transform-origin: 126px 135px; animation: forge-crane 8s ease-in-out infinite; }
.forge-claw { transform-origin: 143px 57px; animation: forge-claw 8s ease-in-out infinite; }
.forge-tread { animation: forge-tread 4s linear infinite; }
.forge-scope { animation: bot-look 10s ease-in-out infinite; }
.robot--aero { --robot-light: #b4edff; }
.aero-flight { transform-origin: 100px 125px; animation: aero-flight 5s ease-in-out infinite; }
.aero-rotor-left { transform-origin: 39px 77px; animation: cross-turn 2.8s linear infinite; }
.aero-rotor-right { transform-origin: 161px 77px; animation: cross-turn 2.8s linear infinite reverse; }
.aero-scan { transform-origin: 100px 181px; animation: robot-scan 4s ease-in-out infinite; }
.aero-eye { animation: bot-light 4s ease-in-out infinite; }
.robot--echo { --robot-light: #a1ffe0; }
.echo-sway { transform-origin: 100px 170px; animation: echo-sway 7s ease-in-out infinite; }
.echo-eyes { transform-origin: 100px 94px; animation: bot-blink 9s infinite; }
.echo-equalizer path { transform-box: fill-box; transform-origin: center; animation: echo-level 1.8s ease-in-out infinite; }
.echo-equalizer path:nth-child(2n) { animation-delay: -.7s; }
.echo-equalizer path:nth-child(3n) { animation-delay: -1.2s; }
.echo-broadcast { animation: bot-light 3s ease-in-out infinite; }
.robot--pixel { --robot-light: #ffd0c0; }
.pixel-terminal { transform-origin: 100px 148px; animation: pixel-tilt 9s ease-in-out infinite; }
.pixel-cursor { animation: pixel-cursor 2s ease-in-out infinite; }
.pixel-hands { animation: pixel-type 1.8s ease-in-out infinite; }
.pixel-face { transform-origin: 100px 92px; animation: bot-blink 8s infinite; }
.robot--bolt { --robot-light: #ffe2a1; }
.bolt-tail { transform-origin: 145px 116px; animation: bolt-wag 2.8s ease-in-out infinite; }
.bolt-head { transform-origin: 78px 112px; animation: bolt-curious 8s ease-in-out infinite; }
.bolt-body { animation: atlas-breathe 5s ease-in-out infinite; }
.bolt-legs-back { transform-origin: 100px 140px; animation: bolt-paw 7s ease-in-out infinite; }
.bolt-eyes { transform-origin: 64px 83px; animation: bot-blink 8s -3s infinite; }
.cta-robot-link:hover .bolt-tail { animation-duration: 1.4s; }

.robot-icon { position: relative; display: inline-block; flex: 0 0 auto; width: 44px; height: 44px; color: var(--accent); line-height: 0; }
.robot-icon-face { width: 100%; height: 100%; overflow: visible; animation: bot-icon-nod 9s ease-in-out infinite; }
.robot-icon-eyes { transform-origin: 24px 25px; animation: bot-blink 8s infinite; }
.robot-icon-signal { animation: bot-light 4s ease-in-out infinite; }
.robot-icon--orbit, .robot-icon--prism { color: #c5b9ff; }
.robot-icon--dash, .robot-icon--pixel { color: #f5bba7; }
.robot-icon--atlas, .robot-icon--aero { color: #a1dafa; }
.robot-icon--forge, .robot-icon--bolt { color: #f8d393; }
.robot-icon--echo { color: #9cebd2; }
.robot-icon--prism .robot-icon-face, .robot-icon--aero .robot-icon-face { animation-delay: -3s; }
.robot-icon--dash .robot-icon-face, .robot-icon--echo .robot-icon-face { animation-delay: -5s; }
.header-cta { gap: 13px; }
.header-robot-icon { display: inline-flex; width: 22px; height: 22px; }
.header-robot-icon svg { width: 100%; height: 100%; }
.header-cta:hover .header-robot-icon { animation: bot-icon-nod 1.5s ease-in-out infinite; }

/* Characters are anchored in the artwork, away from the reading column. */
.hero-robot { position: absolute; width: 160px; left: 1%; bottom: 10%; z-index: 4; }
.hero-robot::before { content: ""; position: absolute; inset: 30% -15% 0; border-radius: 50%; background: radial-gradient(ellipse, #0b2938b8, transparent 68%); z-index: -1; }
.chip-intelligence .robot-icon { width: 31px; height: 31px; }
.hero-note .hero-note-icon { width: 22px; height: 22px; color: var(--accent); }
.hero-note-icon svg { width: 100%; height: 100%; }
.capability-strip i { display: inline-flex; width: 25px; height: 25px; animation: none; }
.capability-strip i svg { width: 100%; height: 100%; }
.section-robot-icon { display: block; }
.section-robot-icon .robot-icon { width: 40px; height: 40px; }
.vision-robot { position: absolute; width: 175px; right: 7%; bottom: 48px; filter: drop-shadow(0 0 35px #3df1e650); }

.service-robot-icon { width: 59px; height: 59px; border-radius: 15px; }
.service-icon .robot-icon { width: 40px; height: 40px; }
.service-icon .robot-icon-face { width: 100%; height: 100%; }
.service-robot-art { position: absolute; width: 100px; top: 12px; right: 75px; opacity: .82; transition: opacity .3s; pointer-events: none; }
.service-card:hover .service-robot-art, .service-card:focus-visible .service-robot-art { opacity: 1; }
.service-card .card-top > .mono { position: relative; z-index: 2; }
.step-robot { position: absolute; right: 27px; top: -2px; }
.step-robot .robot-icon { width: 47px; height: 47px; }
.process-step summary { position: relative; }
.process-step .step-toggle { right: -7px; top: 10px; }
.process-step:nth-child(even) .robot-icon-eyes { animation-delay: -3s; }
.orbit-symbol { display: flex; width: 27px; height: 27px; margin-bottom: 8px; color: #397e72; }
.orbit-symbol svg { width: 100%; height: 100%; }
.value-card .value-mark { border: 0; border-radius: 0; width: 48px; height: 48px; margin-bottom: 12px; }
.value-card .value-mark .robot-icon { width: 44px; height: 44px; }
.work-robot { position: absolute; width: 155px; bottom: 40px; right: 3%; z-index: 2; }

.page-hero-copy { max-width: calc(100% - 210px); }
.page-hero-robot { position: absolute; width: 175px; right: 0; top: 65px; }
.page-hero::after { right: 1%; width: 180px; height: 180px; }
.cta-inner { grid-template-columns: 1fr 260px; }
.cta-robot-link { display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: center; width: 260px; border-radius: 24px; }
.cta-robot-link > .robot { width: 230px; }
.cta-robot-label { display: flex; align-items: center; gap: 20px; color: #bceee3; font-size: 14px; padding: 13px 18px; border: 1px solid #7cdbbe4a; border-radius: 30px; transition: background .2s, border-color .2s; }
.cta-robot-label > span { font-size: 23px; line-height: 1; }
.cta-robot-link:hover .cta-robot-label { background: #71ead51a; border-color: var(--accent); }
.footer-brand .footer-personality { display: flex; align-items: center; gap: 15px; max-width: 290px; }
.footer-personality .robot-icon { width: 40px; height: 40px; }

@keyframes bot-hover { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes bot-curious { 0%, 35%, 65%, 100% { transform: rotate(0); } 42%, 55% { transform: rotate(-5deg); } }
@keyframes bot-blink { 0%, 43%, 47%, 72%, 76%, 100% { transform: scaleY(1); } 45%, 74% { transform: scaleY(.12); } }
@keyframes bot-light { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes bot-signal { 0% { transform: scale(.65); opacity: .65; } 75%, 100% { transform: scale(1.8); opacity: 0; } }
@keyframes bot-shadow { 0%, 100% { transform: scaleX(1); opacity: .16; } 50% { transform: scaleX(.8); opacity: .1; } }
@keyframes bot-platform { 0%, 100% { transform: scaleX(1); opacity: .3; } 50% { transform: scaleX(1.08); opacity: .5; } }
@keyframes bot-thrust { 0%, 100% { transform: scaleY(.8); opacity: .5; } 50% { transform: scaleY(1.1); opacity: .8; } }
@keyframes bot-left-arm { 0%, 100% { transform: rotate(5deg); } 50% { transform: rotate(-5deg); } }
@keyframes bot-right-arm { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
@keyframes bot-wave { 0%, 18%, 100% { transform: rotate(-8deg); } 30%, 42%, 54% { transform: rotate(-145deg); } 36%, 48% { transform: rotate(-120deg); } 65%, 85% { transform: rotate(-8deg); } }
@keyframes bot-look { 0%, 20%, 75%, 100% { transform: translateX(0); } 30%, 45% { transform: translateX(4px); } 55%, 65% { transform: translateX(-4px); } }
@keyframes bot-icon-nod { 0%, 35%, 65%, 100% { transform: rotate(0); } 42%, 55% { transform: rotate(-8deg); } }
@keyframes orbit-drift { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-9px) rotate(3deg); } }
@keyframes robot-scan { 0%, 100% { transform: scaleX(.7) scaleY(.85); opacity: .1; } 50% { transform: scaleX(1.05) scaleY(1.05); opacity: .45; } }
@keyframes dash-balance { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }
@keyframes prism-hover { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-10px) rotate(2deg); } }
@keyframes prism-shards { 0%, 100% { transform: translateY(-4px); } 50% { transform: translateY(6px); } }
@keyframes atlas-step { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } }
@keyframes atlas-breathe { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes forge-crane { 0%, 20%, 100% { transform: rotate(0); } 45%, 65% { transform: rotate(12deg); } }
@keyframes forge-claw { 0%, 20%, 100% { transform: rotate(0); } 45%, 65% { transform: rotate(-15deg); } }
@keyframes forge-tread { to { stroke-dashoffset: -24; } }
@keyframes aero-flight { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-8px) rotate(2deg); } }
@keyframes echo-sway { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes echo-level { 0%, 100% { transform: scaleY(.5); } 50% { transform: scaleY(1); } }
@keyframes pixel-tilt { 0%, 25%, 80%, 100% { transform: rotate(0); } 40%, 65% { transform: rotate(3deg); } }
@keyframes pixel-cursor { 0%, 30%, 100% { opacity: 1; } 50%, 80% { opacity: .15; } }
@keyframes pixel-type { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes bolt-wag { 0%, 100% { transform: rotate(-10deg); } 50% { transform: rotate(14deg); } }
@keyframes bolt-curious { 0%, 30%, 85%, 100% { transform: rotate(0); } 45%, 65% { transform: rotate(-8deg); } }
@keyframes bolt-paw { 0%, 35%, 80%, 100% { transform: rotate(0); } 45%, 65% { transform: rotate(5deg); } }

@media (max-width: 1200px) {
  .hero-robot { width: 140px; bottom: 7%; left: 0; }
  .desktop-nav { gap: 20px; }
  .vision-robot { width: 155px; right: 5%; }
  .service-robot-art { width: 90px; right: 70px; top: 20px; }
  .cta-inner { grid-template-columns: 1fr 225px; }
  .cta-robot-link { width: 225px; }
  .cta-robot-link > .robot { width: 200px; }
}
@media (max-width: 1050px) {
  .hero-robot { width: 120px; bottom: 5%; }
  .page-hero-copy { max-width: calc(100% - 160px); }
  .page-hero-robot { width: 140px; top: 85px; }
  .cta-inner { column-gap: 40px; }
}
@media (max-width: 800px) {
  .hero-robot { width: 155px; bottom: 9%; left: 2%; }
  .page-hero-copy { max-width: none; }
  .page-hero-robot { width: 78px; top: 0; right: 0; }
  .page-hero .eyebrow { padding-right: 85px; }
  .vision-robot { width: 135px; right: 2%; bottom: 40px; }
  .cta-inner { grid-template-columns: 1fr 170px; column-gap: 20px; }
  .cta-robot-link { width: 170px; }
  .cta-robot-link > .robot { width: 165px; }
  .cta-robot-label { font-size: 12px; gap: 12px; padding: 10px 13px; }
}
@media (max-width: 650px) {
  .header-robot-icon { display: none; }
  .hero-robot { width: 110px; bottom: 48px; left: 8%; }
  .chip-intelligence { bottom: 48px; }
  .chip-intelligence .robot-icon { width: 25px; height: 25px; }
  .vision-robot { position: relative; width: 130px; bottom: auto; right: auto; margin: -15px 25px 48px auto; }
  .service-robot-art { width: 106px; top: 12px; right: 65px; }
  .service-robot-icon { width: 57px; height: 57px; }
  .work-robot { width: 120px; bottom: 35px; right: 1%; }
  .orbit-symbol { width: 23px; height: 23px; margin-bottom: 4px; }
  .page-hero-robot { top: 2px; width: 65px; }
  .page-hero .eyebrow { padding-right: 65px; }
  .cta-inner { grid-template-columns: 1fr; gap: 35px; }
  .cta-robot-link { width: 180px; justify-self: center; }
  .cta-robot-link > .robot { width: 170px; }
  .cta-robot-label { font-size: 13px; }
  .cta-bottom { grid-column: 1; }
  .footer-personality .robot-icon { width: 34px; height: 34px; }
}
@media (max-width: 360px) {
  .hero-robot { width: 94px; left: 7%; bottom: 48px; }
  .vision-robot { width: 105px; }
  .service-robot-art { width: 85px; right: 55px; }
  .orbit-symbol { width: 19px; height: 19px; }
  .page-hero .eyebrow { font-size: 10px; letter-spacing: 1px; }
}
@media (prefers-reduced-motion: reduce) {
  .bot-gaze { transform: none; }
}
.motion-paused .bot-gaze { transform: none; }
@media print {
  .robot, .robot-icon, .hero-robot, .vision-robot, .page-hero-robot, .work-robot, .header-robot-icon { display: none; }
  .page-hero-copy { max-width: none; }
}
