:root{
  --black:#050505;--surface:#0b0b0b;--surface2:#111;--line:#252525;
  --white:#f2f2ef;--muted:#858585;--accent:#d7ff3f;
  --container:min(1400px,calc(100% - 96px));
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:"Space Grotesk",sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:86px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:.4s}
.site-header.scrolled{background:rgba(5,5,5,.82);backdrop-filter:blur(18px);border-color:var(--line)}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-name{font-size:22px;font-weight:700;letter-spacing:.08em}
.brand-sub{font:9px "IBM Plex Mono",monospace;color:#777;letter-spacing:.12em;margin-top:6px}
.desktop-nav{display:flex;gap:36px;margin-left:auto;margin-right:48px}
.desktop-nav a{font-size:13px;color:#a2a2a2;transition:.25s}
.desktop-nav a:hover{color:var(--white)}
.header-cta{font:11px "IBM Plex Mono",monospace;border:1px solid #393939;padding:12px 16px;text-transform:uppercase;letter-spacing:.06em}
.header-cta span{color:var(--accent);margin-left:12px}
.menu-toggle,.mobile-menu{display:none}
.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.06) 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,rgba(255,255,255,.035) 50%,transparent 50.1%);background-size:25% 100%,100% 25%;mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent)}
.hero-copy{position:absolute;z-index:4;left:7vw;top:23%;width:min(700px,52vw)}
.eyebrow{font:10px "IBM Plex Mono",monospace;letter-spacing:.12em;color:#8b8b8b;text-transform:uppercase;display:flex;align-items:center;gap:9px}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;box-shadow:0 0 14px rgba(215,255,63,.65)}
.hero h1{font-size:clamp(60px,7.5vw,126px);line-height:.82;letter-spacing:-.065em;font-weight:600;text-transform:uppercase;margin:30px 0}
.hero h1 span,.section h2 em,.industry-intro h2 em,.technology h2 em,.lab-top h2 em,.case-copy h2 em,.contact h2 em{font-style:normal;color:#686868}
.hero-text{max-width:430px;color:#8d8d8d;font-size:15px;line-height:1.65;margin-bottom:30px}
.hero-actions{display:flex;gap:10px}
.btn{padding:15px 18px;font:11px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.05em}
.btn-primary{background:var(--accent);color:#080808}
.btn-primary span{margin-left:25px}
.btn-ghost{border:1px solid #393939}
.btn-ghost span{margin-left:20px;color:var(--accent)}
.robot-stage{position:absolute;z-index:3;right:-2%;top:7%;height:92%;width:53%;display:flex;justify-content:center;align-items:center;pointer-events:auto}
.robot-image{height:100%;width:auto;object-fit:contain;filter:contrast(1.06) brightness(.94);transition:none;will-change:transform;backface-visibility:hidden;transform:translate3d(0,0,0)}
.robot-glow{position:absolute;width:42%;height:35%;right:15%;top:45%;background:radial-gradient(circle,rgba(215,255,63,.07),transparent 65%);filter:blur(30px)}
.robot-readout{position:absolute;right:9%;bottom:17%;font:9px "IBM Plex Mono",monospace;line-height:1.8;color:#666;text-align:right}
.robot-readout div{display:flex;gap:18px;justify-content:flex-end}
.robot-readout strong{color:#bcbcbc;font-weight:400}
.robot-readout .live{color:var(--accent)}
.robot-hint{position:absolute;right:8%;top:38%;font:9px "IBM Plex Mono",monospace;color:#777;letter-spacing:.1em}
.robot-hint span{color:var(--accent);margin-left:8px}
.target-marker{position:absolute;left:57%;top:48%;width:50px;height:50px;opacity:0;transform:translate(-50%,-50%) scale(.8);transition:opacity .15s}
.robot-stage.active .target-marker{opacity:1;transform:translate(-50%,-50%) scale(1)}
.target-cross:before,.target-cross:after{content:"";position:absolute;background:var(--accent)}
.target-cross:before{width:50px;height:1px;top:24px}.target-cross:after{height:50px;width:1px;left:24px}
.target-label{position:absolute;top:54px;left:0;font:8px "IBM Plex Mono";color:var(--accent)}
.hero-footer{position:absolute;z-index:5;bottom:24px;left:48px;right:48px;display:flex;justify-content:space-between;color:#555;font:9px "IBM Plex Mono",monospace;letter-spacing:.08em}
.strip{display:grid;grid-template-columns:1.5fr repeat(4,1fr);border-bottom:1px solid var(--line);min-height:140px}
.strip-label,.metric{padding:42px 38px;border-right:1px solid var(--line)}
.strip-label{font:10px "IBM Plex Mono";color:#666;display:flex;align-items:center}
.metric{display:flex;flex-direction:column;justify-content:center;gap:9px}
.metric strong{font:12px "IBM Plex Mono";color:var(--accent);font-weight:400}
.metric span{font-size:15px;color:#aaa}
.section{padding:150px max(48px,calc((100vw - 1400px)/2))}
.section-head{max-width:780px;margin-bottom:70px}
.section-head h2,.industry-intro h2,.lab-top h2,.contact h2{font-size:clamp(50px,6.5vw,98px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;font-weight:600;margin:28px 0}
.section-head>p{max-width:490px;color:#777;line-height:1.7;font-size:14px}
.solution-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.solution-card{min-height:285px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:.35s}
.solution-card:hover{background:#101010}
.solution-card.featured{grid-row:span 2;min-height:570px}
.card-number{font:11px "IBM Plex Mono";color:var(--accent)}
.solution-card h3{font-size:28px;text-transform:uppercase;letter-spacing:-.04em;margin-bottom:12px}
.solution-card p{font-size:13px;line-height:1.65;color:#737373;max-width:390px}
.card-arrow{font:20px "IBM Plex Mono";color:#555;position:absolute;right:30px;top:30px;transition:.3s}
.solution-card:hover .card-arrow{color:var(--accent);transform:translate(3px,-3px)}
.industry-section{display:grid;grid-template-columns:45% 55%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:760px}
.industry-intro{padding:120px 7vw;border-right:1px solid var(--line)}
.industry-list{display:flex;flex-direction:column}
.industry-list a{flex:1;display:grid;grid-template-columns:70px 1fr 30px;align-items:center;padding:0 48px;border-bottom:1px solid var(--line);font-size:clamp(22px,2.3vw,34px);text-transform:uppercase;letter-spacing:-.04em;transition:.3s}
.industry-list a:last-child{border-bottom:0}
.industry-list a:hover{padding-left:60px;background:#0d0d0d}
.industry-list span{font:10px "IBM Plex Mono";color:#555}
.industry-list b{font:16px "IBM Plex Mono";color:#555;font-weight:400}
.industry-list a:hover b{color:var(--accent)}
.split-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;max-width:none}
.split-head>p{max-width:350px}
.tech-system{display:flex;align-items:center;margin-top:90px}
.tech-node{min-width:190px;border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;gap:10px;position:relative}
.tech-node span{font:9px "IBM Plex Mono";color:#555}
.tech-node strong{font-size:15px;letter-spacing:.02em}
.tech-node small{color:#666;font:10px "IBM Plex Mono"}
.tech-node.active{border-color:#555}
.tech-node.active:after{content:"";position:absolute;width:5px;height:5px;background:var(--accent);right:12px;top:12px;border-radius:50%}
.tech-line{height:1px;background:#303030;flex:1;position:relative}
.tech-line:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;background:#444;border-radius:50%}
.ai-panel{margin-top:90px;border:1px solid var(--line);padding:60px;display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center}
.ai-copy h3{font-size:48px;line-height:.95;letter-spacing:-.05em;text-transform:uppercase;margin:22px 0}
.ai-copy h3 em{font-style:normal;color:#666}
.ai-copy p{color:#777;line-height:1.7;max-width:420px;font-size:13px}
.ai-flow{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font:10px "IBM Plex Mono";color:#aaa}
.ai-flow i{font-style:normal;color:var(--accent)}
.lab-section{padding:150px 48px;background:#080808;border-top:1px solid var(--line)}
.lab-top{max-width:1400px;margin:auto;display:flex;justify-content:space-between;align-items:flex-end}
.lab-status{font:9px "IBM Plex Mono";color:#777}
.lab-frame{max-width:1400px;height:570px;margin:70px auto 0;border:1px solid var(--line);position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,#151515,#070707 58%)}
.lab-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:50px 50px;transform:perspective(500px) rotateX(58deg) scale(1.3);transform-origin:center bottom}
.scan-lines{position:absolute;inset:0;background:linear-gradient(transparent 49%,rgba(215,255,63,.12) 50%,transparent 51%);background-size:100% 18px;opacity:.13}
.lab-arm{position:absolute;height:5px;background:#999;transform-origin:left center;box-shadow:0 0 18px rgba(255,255,255,.08)}
.arm-a{width:230px;left:39%;top:52%;transform:rotate(-28deg)}
.arm-b{width:180px;left:54%;top:42%;transform:rotate(23deg)}
.lab-joint{width:22px;height:22px;border:1px solid #777;border-radius:50%;background:#0a0a0a;position:absolute}
.joint-a{left:38%;top:49%}.joint-b{left:52.5%;top:39%}.joint-c{left:65%;top:49%}
.lab-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:16px;letter-spacing:.15em;text-align:center;color:#ddd}
.lab-center small{font:8px "IBM Plex Mono";color:#666}
.lab-data{position:absolute;font:10px "IBM Plex Mono";color:#666}
.lab-data strong{color:var(--accent);font-weight:400;margin-left:5px}
.data-a{left:8%;top:18%}.data-b{right:9%;top:27%}.data-c{right:14%;bottom:18%}
.lab-specs{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0}
.lab-specs div{padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:9px}
.lab-specs div:last-child{border-right:0}
.lab-specs span{font:8px "IBM Plex Mono";color:#555}.lab-specs strong{font-size:13px}.lab-specs .live{color:var(--accent)}
.process-list{border-top:1px solid var(--line)}
.process-item{display:grid;grid-template-columns:70px 1fr 30px;gap:30px;align-items:center;padding:35px 0;border-bottom:1px solid var(--line);transition:.3s}
.process-item:hover{padding-left:18px;background:linear-gradient(90deg,#0b0b0b,transparent)}
.process-item>span{font:10px "IBM Plex Mono";color:var(--accent)}
.process-item h3{font-size:25px;text-transform:uppercase;letter-spacing:-.03em;margin-bottom:8px}
.process-item p{font-size:13px;color:#707070}
.process-item b{font:16px "IBM Plex Mono";color:#555;font-weight:400}
.case-study{display:grid;grid-template-columns:1.15fr .85fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-image{height:750px;position:relative;overflow:hidden;border-right:1px solid var(--line)}
.case-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.65)}
.image-label{position:absolute;left:30px;top:30px;font:9px "IBM Plex Mono";color:#aaa}
.case-copy{padding:110px 7vw;display:flex;flex-direction:column;justify-content:center}
.case-copy h2{font-size:clamp(52px,6vw,90px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;margin:28px 0}
.case-copy>p{color:#777;line-height:1.7;font-size:14px;max-width:480px}
.before-after{margin-top:55px;border-top:1px solid var(--line)}
.before-after>div{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:80px 1fr;gap:15px}
.before-after span{font:9px "IBM Plex Mono";color:#555}
.before-after strong{font-size:12px;font-weight:500}.before-after small{grid-column:2;color:#666;font:10px "IBM Plex Mono"}
.contact{min-height:720px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 30px;overflow:hidden}
.contact-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.05) 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,rgba(255,255,255,.05) 50%,transparent 50.1%);background-size:12.5% 100%,100% 12.5%;mask-image:radial-gradient(circle,#000,transparent 70%)}
.contact>*:not(.contact-grid){position:relative;z-index:2}
.contact h2{font-size:clamp(58px,8vw,120px);max-width:1100px;margin:30px 0}
.contact>p{max-width:500px;color:#777;line-height:1.7;font-size:14px}
.big-cta{margin-top:45px;background:var(--accent);color:#070707;padding:20px 25px;font:11px "IBM Plex Mono";text-transform:uppercase;letter-spacing:.05em}
.big-cta span{margin-left:35px}
.footer{padding:80px 48px 25px;border-top:1px solid var(--line)}
.footer-brand>span{font-size:28px;font-weight:700;letter-spacing:.08em}.footer-brand p{font:9px "IBM Plex Mono";color:#666;text-transform:uppercase;margin-top:8px}
.footer-columns{display:grid;grid-template-columns:repeat(3,1fr);max-width:600px;margin:70px 0 100px;margin-left:auto;gap:50px}
.footer-columns div{display:flex;flex-direction:column;gap:13px}.footer-columns span{font:9px "IBM Plex Mono";color:#555;margin-bottom:7px}.footer-columns a{font-size:12px;color:#888}.footer-columns a:hover{color:#fff}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;color:#555;font:8px "IBM Plex Mono";text-transform:uppercase}
.cursor-dot,.cursor-ring{position:fixed;pointer-events:none;z-index:2000;display:none}
.cursor-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%)}
.cursor-ring{width:34px;height:34px;border:1px solid rgba(215,255,63,.45);border-radius:50%;transform:translate(-50%,-50%);transition:width .2s,height .2s}
@media (min-width:1000px){body{cursor:none}.cursor-dot,.cursor-ring{display:block}}
@media (max-width:1000px){
  :root{--container:calc(100% - 48px)}
  .site-header{padding:0 24px;height:76px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;border:0;background:none;flex-direction:column;gap:6px;padding:10px}.menu-toggle span{width:25px;height:1px;background:#aaa}.mobile-menu{position:fixed;z-index:90;top:76px;left:0;right:0;background:#090909;border-bottom:1px solid var(--line);padding:20px 24px;display:none;flex-direction:column}.mobile-menu.open{display:flex}.mobile-menu a{padding:17px 0;border-bottom:1px solid #1d1d1d;font-size:14px;text-transform:uppercase}.hero{min-height:760px}.hero-copy{left:24px;top:18%;width:65%;}.robot-stage{right:-14%;width:65%;top:20%;opacity:.65}.hero h1{font-size:clamp(56px,10vw,92px)}.hero-footer{left:24px;right:24px}.hero-footer span:nth-child(2){display:none}.strip{grid-template-columns:repeat(2,1fr)}.strip-label{grid-column:span 2;border-bottom:1px solid var(--line)}.metric{min-height:100px}.section{padding:110px 24px}.solution-grid{grid-template-columns:1fr}.solution-card.featured{grid-row:auto;min-height:300px}.industry-section{grid-template-columns:1fr}.industry-intro{padding:100px 24px;border-right:0;border-bottom:1px solid var(--line)}.industry-list a{padding:28px 24px}.split-head{display:block}.split-head>p{margin-top:25px}.tech-system{overflow-x:auto;padding-bottom:12px}.tech-node{min-width:170px}.ai-panel{grid-template-columns:1fr;padding:35px}.ai-flow{justify-content:flex-start}.lab-section{padding:100px 24px}.lab-top{display:block}.lab-status{margin-top:20px}.lab-frame{height:460px;margin-top:50px}.lab-specs{grid-template-columns:repeat(2,1fr)}.lab-specs div:nth-child(2){border-right:0}.lab-specs div:nth-child(-n+2){border-bottom:1px solid var(--line)}.process-item{grid-template-columns:45px 1fr 20px;gap:15px}.case-study{grid-template-columns:1fr}.case-image{height:550px;border-right:0;border-bottom:1px solid var(--line)}.case-copy{padding:90px 24px}.footer{padding:60px 24px 25px}.footer-columns{margin:60px 0 80px;max-width:none}.robot-readout{right:18%;bottom:10%}
}
@media (max-width:600px){
  .brand-name{font-size:19px}.hero{min-height:720px}.hero-copy{top:16%;width:90%}.hero h1{font-size:57px;line-height:.86;margin:24px 0}.hero-text{font-size:13px;max-width:310px}.hero-actions{flex-direction:column;align-items:flex-start}.robot-stage{width:100%;height:62%;right:-25%;top:38%;opacity:.52}.robot-image{height:100%}.robot-hint{display:none}.hero-footer{font-size:7px;bottom:18px}.hero-footer span:first-child{display:none}.strip{grid-template-columns:1fr 1fr}.strip-label{grid-column:span 2;padding:25px}.metric{padding:24px 18px}.section-head h2,.industry-intro h2,.lab-top h2,.contact h2{font-size:50px}.solution-card{min-height:250px;padding:25px}.solution-card h3{font-size:23px}.industry-list a{grid-template-columns:35px 1fr 20px;font-size:21px;padding:25px 20px}.industry-list a:hover{padding-left:25px}.tech-system{margin-top:50px}.ai-panel{margin-top:55px}.ai-copy h3{font-size:38px}.ai-flow{gap:10px;font-size:8px}.lab-frame{height:380px}.lab-arm.arm-a{width:150px}.lab-arm.arm-b{width:115px}.lab-joint{width:16px;height:16px}.data-a{left:5%;top:10%}.data-b{right:5%;top:20%}.data-c{right:8%;bottom:12%}.lab-center{font-size:12px}.case-image{height:430px}.before-after>div{grid-template-columns:65px 1fr}.footer-columns{grid-template-columns:1fr 1fr;gap:40px}.footer-columns div:last-child{grid-column:span 2}.footer-bottom{flex-direction:column;gap:10px}
}


/* =========================================================
   AXION responsive / interaction refinement
   ========================================================= */
:root{
  --container:min(1400px,calc(100% - 80px));
  --ease:cubic-bezier(.2,.8,.2,1);
}

html{scroll-padding-top:90px}
body{min-width:320px;text-rendering:optimizeLegibility}
img,video{max-width:100%;display:block}
button,a{-webkit-tap-highlight-color:transparent}

.site-header{padding-inline:max(24px,4vw)}
.site-header.scrolled{background:rgba(5,5,5,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header-cta,.btn,.big-cta{transition:transform .25s var(--ease),background-color .25s ease,border-color .25s ease}
.header-cta:hover,.btn:hover,.big-cta:hover{transform:translateY(-2px)}

.hero{isolation:isolate}
.hero-copy{width:min(700px,48vw);max-width:700px}
.robot-stage{right:0;width:min(58vw,900px);height:min(94vh,860px);top:5%;}
.robot-image{will-change:transform;backface-visibility:hidden;transform:translate3d(0,0,0);}
.robot-frames{width:100%;height:100%;object-fit:contain;object-position:center;filter:contrast(1.06) brightness(.94);transition:none;will-change:transform;image-rendering:auto;}
.robot-glow{pointer-events:none;will-change:opacity}
.target-marker{pointer-events:none;will-change:left,top;transition:opacity .12s ease;transform:translate(-50%,-50%) scale(1)}

.hero h1{max-width:760px}
.hero-text{font-size:clamp(13px,1.05vw,15px)}
.hero-actions{flex-wrap:wrap}

.strip{min-height:132px}
.section{padding-block:clamp(100px,10vw,150px)}
.solution-card,.process-item,.industry-list a,.tech-node{will-change:transform}

.reveal-item{opacity:0;transform:translate3d(0,18px,0);transition:opacity .7s ease,transform .7s var(--ease)}
.reveal-item.visible{opacity:1;transform:translate3d(0,0,0)}

/* Better focus visibility for keyboard and touch users. */
a:focus-visible,button:focus-visible{outline:1px solid var(--accent);outline-offset:4px}

@media (max-width:1199px){
  .hero-copy{left:5vw;width:52vw}
  .hero h1{font-size:clamp(54px,7vw,88px)}
  .robot-stage{width:57vw;right:-3%;height:82vh;top:11%}
  .robot-readout{right:8%;bottom:12%}
  .section{padding-inline:clamp(28px,5vw,60px)}
  .industry-intro{padding-inline:5vw}
  .tech-system{overflow-x:auto;scrollbar-width:thin}
}

@media (max-width:900px){
  .hero{min-height:760px}
  .hero-copy{top:17%;left:24px;width:min(72%,620px)}
  .hero h1{font-size:clamp(52px,9vw,78px)}
  .robot-stage{top:25%;right:-12%;width:76%;height:70%;opacity:.72}
  .robot-readout{right:16%;bottom:7%}
  .hero-footer{left:24px;right:24px}
  .hero-footer span:nth-child(2){display:none}
  .ai-panel{padding:42px}
  .case-copy{padding-inline:6vw}
}

@media (max-width:600px){
  :root{--container:calc(100% - 40px)}
  html{scroll-padding-top:78px}
  .site-header{height:72px;padding-inline:20px}
  .brand-sub{font-size:8px}
  .mobile-menu{top:72px;padding:12px 20px}
  .mobile-menu a{padding:16px 0;font-size:13px}
  body.menu-open{overflow:hidden}

  .hero{height:100svh;min-height:720px}
  .hero-copy{top:14%;left:20px;width:calc(100% - 40px)}
  .eyebrow{font-size:8px}
  .hero h1{font-size:clamp(48px,14vw,64px);line-height:.87;letter-spacing:-.07em;margin:22px 0}
  .hero-text{font-size:13px;line-height:1.6;max-width:300px;margin-bottom:22px}
  .hero-actions{gap:8px}
  .btn{width:auto;min-height:48px;padding:14px 16px}

  .robot-stage{top:38%;right:-27%;width:110%;height:56%;opacity:.62}
  .robot-video{filter:contrast(1.05) brightness(.92)}
  .robot-readout{right:23%;bottom:5%;font-size:8px}
  .robot-hint{display:none}
  .target-marker{width:40px;height:40px}
  .target-cross:before{width:40px;top:19px}
  .target-cross:after{height:40px;left:19px}
  .target-label{top:43px;font-size:7px}

  .hero-footer{left:20px;right:20px;bottom:16px;font-size:7px}
  .hero-footer span:first-child{display:none}

  .strip{grid-template-columns:1fr 1fr;min-height:0}
  .strip-label{grid-column:1/-1;padding:22px 20px}
  .metric{min-height:96px;padding:20px 16px}
  .metric span{font-size:13px}

  .section{padding:90px 20px}
  .section-head{margin-bottom:48px}
  .section-head h2,.industry-intro h2,.lab-top h2{font-size:clamp(44px,13vw,58px)}
  .section-head>p{font-size:13px}
  .solution-grid{grid-template-columns:1fr}
  .solution-card,.solution-card.featured{min-height:235px;padding:24px}
  .solution-card h3{font-size:22px}
  .solution-card p{font-size:12px}

  .industry-section{min-height:0}
  .industry-intro{padding:88px 20px 65px}
  .industry-list a{grid-template-columns:32px 1fr 20px;padding:22px 20px;font-size:20px;min-height:76px}
  .industry-list a:hover{padding-left:24px}

  .technology.section{padding-top:90px}
  .split-head{display:block}
  .split-head>p{margin-top:22px}
  .tech-system{margin-top:48px;padding-bottom:8px;margin-right:-20px}
  .tech-node{min-width:154px;padding:20px}
  .tech-line{min-width:22px}
  .ai-panel{margin-top:55px;padding:28px;grid-template-columns:1fr;gap:34px}
  .ai-copy h3{font-size:36px}
  .ai-flow{justify-content:flex-start;gap:8px;font-size:8px}

  .lab-section{padding:90px 20px}
  .lab-frame{height:360px;margin-top:42px}
  .lab-grid{background-size:38px 38px}
  .lab-arm.arm-a{width:125px}
  .lab-arm.arm-b{width:95px}
  .lab-joint{width:15px;height:15px}
  .lab-center{font-size:11px}
  .lab-specs{grid-template-columns:1fr 1fr}
  .lab-specs div{padding:19px 16px}

  .process-list{margin-top:8px}
  .process-item{grid-template-columns:34px 1fr 18px;gap:12px;padding:26px 0}
  .process-item h3{font-size:20px}
  .process-item p{font-size:12px;line-height:1.5}

  .case-study{grid-template-columns:1fr}
  .case-image{height:400px}
  .case-copy{padding:76px 20px}
  .case-copy h2{font-size:clamp(48px,13vw,62px)}
  .case-copy>p{font-size:13px}
  .before-after{margin-top:42px}
  .before-after>div{grid-template-columns:60px 1fr;padding:19px 0}

  .contact{min-height:620px;padding:80px 20px}
  .contact h2{font-size:clamp(48px,14vw,68px)}
  .contact>p{font-size:13px}
  .big-cta{width:100%;max-width:350px;padding:18px 17px;text-align:left}
  .big-cta span{float:right;margin-left:0}

  .footer{padding:55px 20px 22px}
  .footer-columns{grid-template-columns:1fr 1fr;margin:52px 0 68px;gap:34px 25px}
  .footer-columns div:last-child{grid-column:1/-1}
  .footer-bottom{font-size:7px;line-height:1.5}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal-item{opacity:1;transform:none}
}

@media (pointer:coarse){
  .cursor-dot,.cursor-ring{display:none!important}
  .solution-card:hover,.process-item:hover,.industry-list a:hover{background:transparent}
  .solution-card:hover .card-arrow{color:#555;transform:none}
}

/* =========================================================
   AXION UI/UX FINAL PASS
   ========================================================= */
:root{
  --page-pad:clamp(20px,4vw,64px);
  --max:1440px;
  --ease:cubic-bezier(.22,.8,.18,1);
}

::selection{background:var(--accent);color:#070707}
body{background:#050505;color:var(--white)}
main{position:relative}

/* Header: quieter, tighter and easier to scan */
.site-header{height:82px;padding-inline:var(--page-pad)}
.brand-name{font-size:clamp(19px,1.6vw,23px)}
.desktop-nav{gap:clamp(20px,2.5vw,38px);margin-right:clamp(24px,3vw,48px)}
.desktop-nav a{font-size:12px;position:relative;padding:8px 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--accent);transition:right .3s var(--ease)}
.desktop-nav a:hover:after{right:0}
.header-cta{padding:11px 15px;border-color:#343434}

/* Hero: establish a strict 46/54 composition and a consistent visual center */
.hero{height:max(720px,100svh);min-height:720px;max-height:980px}
.hero-copy{left:clamp(24px,6.2vw,96px);top:50%;transform:translateY(-50%);width:min(610px,43vw);z-index:6}
.hero h1{font-size:clamp(56px,6.65vw,108px);line-height:.84;letter-spacing:-.068em;margin:27px 0 28px;max-width:690px}
.hero-text{max-width:420px;font-size:clamp(13px,1vw,15px);line-height:1.7;margin-bottom:28px}
.hero-actions{gap:10px}
.btn{min-height:46px;padding:14px 17px}
.robot-stage{right:-1%;top:3%;width:min(61vw,930px);height:94%;z-index:3}
.robot-image{width:100%;height:100%;object-fit:contain;object-position:center;filter:contrast(1.05) brightness(.96);}
.robot-glow{width:54%;height:40%;right:8%;top:40%;opacity:.9}
.robot-stage:before{content:"";position:absolute;inset:8% 0 8% 8%;border-left:1px solid rgba(255,255,255,.04);background:radial-gradient(circle at 58% 48%,rgba(215,255,63,.035),transparent 34%);pointer-events:none}
.target-marker{z-index:8;width:46px;height:46px;opacity:0}
.robot-stage.active .target-marker{opacity:1}
.target-cross:before{width:46px;top:22px}.target-cross:after{height:46px;left:22px}
.target-label{top:51px;white-space:nowrap}
.robot-hint{top:auto;right:7%;bottom:26%;padding:8px 10px;border:1px solid rgba(255,255,255,.08);background:rgba(5,5,5,.35);backdrop-filter:blur(8px)}
.robot-readout{right:7%;bottom:9%;padding:11px 13px;border:1px solid rgba(255,255,255,.08);background:rgba(5,5,5,.35);backdrop-filter:blur(8px)}
.hero-footer{left:var(--page-pad);right:var(--page-pad);bottom:20px;z-index:7}
.hero-footer span{white-space:nowrap}

/* Performance strip */
.strip{min-height:126px;background:#070707}
.strip-label,.metric{padding:34px clamp(18px,2.5vw,38px)}
.metric span{font-size:14px}

/* Section rhythm */
.section{padding-inline:var(--page-pad);padding-block:clamp(92px,9vw,150px);max-width:var(--max);margin-inline:auto}
.section-head{margin-bottom:58px}
.section-head h2,.industry-intro h2,.lab-top h2,.contact h2{font-size:clamp(48px,6.2vw,94px);line-height:.88}
.section-head>p{font-size:14px;max-width:510px}

/* Cards: more hierarchy, less visual noise */
.solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.solution-card{min-height:270px;padding:30px;transition:background .35s ease,border-color .35s ease,transform .35s var(--ease)}
.solution-card:hover{background:#0d0d0d;border-color:#343434;transform:translateY(-3px)}
.solution-card.featured{background:linear-gradient(145deg,#101010,#090909)}
.solution-card h3{font-size:clamp(22px,2vw,29px);margin-bottom:10px}
.solution-card p{max-width:360px;line-height:1.65}

/* Industry split becomes visually intentional */
.industry-section{min-height:680px;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);max-width:var(--max);margin-inline:auto}
.industry-intro{padding:clamp(80px,9vw,130px) var(--page-pad)}
.industry-list a{padding-inline:clamp(24px,4vw,64px)}

/* Technology */
.tech-system{margin-top:70px}
.tech-node{padding:23px}
.ai-panel{margin-top:70px;border-color:#2a2a2a;background:linear-gradient(110deg,#0b0b0b,#080808)}

/* =========================================================
   LAB — real interactive frame-based showcase
   ========================================================= */
.lab-section{padding:clamp(96px,9vw,150px) var(--page-pad);background:#070707;border-top:1px solid var(--line)}
.lab-top{max-width:var(--max)}
.lab-top h2{margin-top:24px}
.lab-status{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid rgba(255,255,255,.08);background:#0a0a0a}
.lab-frame{max-width:var(--max);height:clamp(480px,48vw,680px);margin-top:56px;background:radial-gradient(circle at 52% 48%,#161616 0%,#0a0a0a 45%,#070707 72%);cursor:crosshair;isolation:isolate}
.interactive-lab{touch-action:none}
.lab-grid{opacity:.65;background-size:48px 48px;transform:perspective(700px) rotateX(58deg) scale(1.28);z-index:0}
.lab-scan{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(transparent 49.8%,rgba(215,255,63,.13) 50%,transparent 50.2%);background-size:100% 22px;opacity:.12}
.lab-robot{position:absolute;z-index:3;left:7%;right:7%;top:5%;width:86%;height:90%;object-fit:contain;object-position:center;filter:contrast(1.06) brightness(.98);will-change:transform;pointer-events:none}
.lab-frame:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;border:1px solid rgba(255,255,255,.03);background:radial-gradient(circle at center,transparent 45%,rgba(0,0,0,.2) 100%)}
.lab-corner,.lab-frame-meta{position:absolute;z-index:7;font:8px "IBM Plex Mono",monospace;letter-spacing:.1em;color:#5f5f5f;pointer-events:none}
.lab-corner-tl{left:18px;top:16px}.lab-corner-br{right:18px;bottom:16px}
.lab-frame-meta{left:18px;bottom:16px;display:flex;gap:16px;align-items:center}
.lab-live{color:#8a8a8a}.lab-live i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(215,255,63,.6);margin-right:6px}
.lab-target{position:absolute;z-index:8;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%);opacity:0;pointer-events:none}
.interactive-lab.active .lab-target{opacity:1}
.lab-target:before,.lab-target:after,.lab-target span:before,.lab-target span:after{content:"";position:absolute;background:var(--accent)}
.lab-target:before{width:44px;height:1px;left:0;top:21px}.lab-target:after{height:44px;width:1px;left:21px;top:0}
.lab-target span:before{width:7px;height:7px;border-radius:50%;left:18px;top:18px;background:transparent;border:1px solid var(--accent)}
.lab-target b{position:absolute;top:49px;left:0;font:7px "IBM Plex Mono";font-weight:400;color:var(--accent);white-space:nowrap}
.lab-data{z-index:7;background:rgba(5,5,5,.38);border:1px solid rgba(255,255,255,.06);padding:7px 9px;backdrop-filter:blur(6px);pointer-events:none}
.data-a{left:6%;top:18%}.data-b{right:6%;top:26%}.data-c{right:8%;bottom:16%}
.lab-center{z-index:2;opacity:.45}
.lab-specs{max-width:var(--max);background:#080808}
.lab-specs div{padding:22px 24px;min-height:92px;justify-content:center}
.lab-note{max-width:var(--max);margin:0 auto;padding:22px 0 0;display:grid;grid-template-columns:40px 1fr auto;gap:22px;align-items:start;border-top:1px solid var(--line)}
.lab-note>span{font:9px "IBM Plex Mono";color:var(--accent);padding-top:3px}
.lab-note p{max-width:650px;color:#6f6f6f;font-size:12px;line-height:1.7}
.lab-note a{font:9px "IBM Plex Mono";letter-spacing:.08em;color:#aaa;padding-top:3px}
.lab-note a:hover{color:var(--accent)}
.lab-note b{color:var(--accent);font-weight:400;margin-left:12px}

/* Process / case / CTA */
.process-item{padding-block:31px}
.process-item:hover{transform:translateX(4px)}
.case-study{max-width:var(--max);margin-inline:auto}
.case-image{height:680px;background:#090909}
.case-image img{object-fit:contain;object-position:center;filter:brightness(.8);padding:8%}
.case-copy{padding-inline:clamp(32px,6vw,90px)}
.contact{min-height:650px;padding-inline:var(--page-pad)}
.big-cta{padding:19px 23px}
.footer{padding-inline:var(--page-pad)}

/* Better pointer UX */
@media (min-width:1001px){
  .hero,.interactive-lab{cursor:none}
  .hero .target-marker,.interactive-lab .lab-target{cursor:none}
}

/* Tablet */
@media (max-width:1100px){
  .hero-copy{width:46vw}
  .hero h1{font-size:clamp(52px,6.8vw,78px)}
  .robot-stage{width:61vw;height:83%;top:10%}
  .hero-text{max-width:360px}
  .strip{grid-template-columns:1.3fr repeat(4,1fr)}
  .strip-label,.metric{padding-inline:20px}
  .industry-section{grid-template-columns:40% 60%}
  .lab-note{grid-template-columns:32px 1fr;gap:14px}
  .lab-note a{grid-column:2}
}

/* Mobile: single-flow hero, larger tap targets, no pointer-only UI */
@media (max-width:900px){
  .site-header{height:74px}
  .hero{height:auto;min-height:820px;max-height:none}
  .hero-copy{top:112px;left:var(--page-pad);transform:none;width:calc(100% - 2 * var(--page-pad));}
  .hero h1{font-size:clamp(48px,10.5vw,76px);max-width:650px;margin:22px 0}
  .hero-text{max-width:430px}
  .robot-stage{top:auto;bottom:44px;right:-9%;width:86%;height:52%;opacity:.82}
  .robot-stage:before{display:none}
  .robot-readout{right:12%;bottom:5%;}
  .robot-hint{right:9%;bottom:29%;}
  .hero-footer{bottom:17px;font-size:7px}
  .hero-footer span:nth-child(2){display:none}
  .industry-section{grid-template-columns:1fr;min-height:0}
  .industry-intro{padding:92px var(--page-pad) 62px}
  .lab-frame{height:min(68vw,520px);min-height:360px}
  .lab-robot{left:3%;width:94%;height:92%;top:4%}
  .lab-note{padding-top:20px}
}

@media (max-width:600px){
  :root{--page-pad:20px}
  .site-header{height:70px}
  .hero{min-height:760px}
  .hero-copy{top:104px}
  .eyebrow{font-size:7.5px}
  .hero h1{font-size:clamp(43px,12.8vw,60px);line-height:.88;margin:19px 0 20px}
  .hero-text{font-size:12.5px;max-width:305px;margin-bottom:20px}
  .hero-actions{display:grid;grid-template-columns:1fr;max-width:290px}
  .btn{width:100%;justify-content:space-between;display:flex;align-items:center;min-height:48px}
  .robot-stage{bottom:48px;right:-31%;width:112%;height:52%;opacity:.7}
  .robot-readout{right:28%;bottom:3%;font-size:7px;padding:8px 9px}
  .robot-hint{display:none}
  .target-marker{width:38px;height:38px}
  .target-cross:before{width:38px;top:18px}.target-cross:after{height:38px;left:18px}.target-label{top:43px}
  .hero-footer{left:20px;right:20px}
  .hero-footer span:last-child{font-size:6.5px}
  .strip{grid-template-columns:1fr 1fr}
  .strip-label{grid-column:1/-1}
  .metric{min-height:90px}
  .section{padding-block:84px}
  .section-head{margin-bottom:44px}
  .section-head h2,.industry-intro h2,.lab-top h2,.contact h2{font-size:clamp(43px,12.8vw,57px)}
  .solution-card{min-height:220px;padding:23px}
  .solution-card h3{font-size:21px}
  .industry-intro{padding-top:82px}
  .industry-list a{min-height:70px;padding:21px 20px;font-size:19px}
  .tech-system{margin-top:45px}
  .ai-panel{padding:26px;margin-top:48px}
  .ai-copy h3{font-size:34px}
  .lab-section{padding-top:84px;padding-bottom:84px}
  .lab-top{display:block}
  .lab-status{width:max-content;margin-top:20px}
  .lab-frame{height:420px;min-height:420px;margin-top:38px}
  .lab-corner{font-size:6.5px}
  .lab-data{font-size:8px;padding:6px 7px}
  .data-a{left:4%;top:15%}.data-b{right:4%;top:21%}.data-c{right:4%;bottom:12%}
  .lab-center{font-size:10px}
  .lab-note{grid-template-columns:25px 1fr;gap:12px}
  .lab-note p{font-size:11px}
  .lab-note a{grid-column:2;font-size:8px;margin-top:2px}
  .lab-specs{grid-template-columns:1fr 1fr}
  .lab-specs div{min-height:86px;padding:17px 14px}
  .lab-specs div:nth-child(2){border-right:0}
  .lab-specs div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .case-image{height:390px}
  .case-image img{padding:10%}
  .contact{min-height:580px}
}

@media (pointer:coarse){
  .hero,.interactive-lab{cursor:default}
  .robot-hint{display:none}
}

/* =========================================================
   FINAL PRODUCTION POLISH
   ========================================================= */
.frame-layer{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  pointer-events:none!important;
  will-change:opacity,transform;
  transform:translate3d(0,0,0);
}
.robot-stage,.interactive-lab{contain:layout paint}
.robot-stage{touch-action:none}
.robot-image{mix-blend-mode:normal}

/* Large desktop: keep copy and robot in a strict visual grid. */
@media (min-width:1400px){
  .hero-copy{left:max(64px,calc((100vw - 1440px)/2 + 8px));width:620px}
  .robot-stage{width:min(58vw,900px);right:max(0px,calc((100vw - 1680px)/2));}
  .hero h1{font-size:clamp(78px,6vw,108px)}
}

/* 1100–1399: prevent the robot from competing with the headline. */
@media (min-width:1101px) and (max-width:1399px){
  .hero-copy{width:47vw}
  .hero h1{font-size:clamp(58px,6.3vw,88px)}
  .robot-stage{width:59vw;height:88%;top:6%;right:-3%}
}

/* Tablet portrait: hero becomes a controlled two-zone composition. */
@media (min-width:601px) and (max-width:900px){
  .hero{min-height:820px}
  .hero-copy{top:108px;width:min(620px,78%)}
  .hero h1{font-size:clamp(56px,9vw,78px)}
  .robot-stage{bottom:24px;right:-8%;width:80%;height:55%;opacity:.86}
  .robot-readout{right:12%;bottom:4%}
  .hero-footer{bottom:14px}
}

/* Phones: content-first, then robot; nothing is clipped by the viewport. */
@media (max-width:600px){
  .hero{height:auto;min-height:780px;padding-bottom:0}
  .hero-copy{top:98px}
  .robot-stage{top:auto;bottom:48px;right:-34%;width:118%;height:51%;opacity:.74}
  .robot-image{filter:contrast(1.04) brightness(.97)}
  .robot-readout{right:27%;bottom:2%}
  .hero-footer{bottom:14px}
  .lab-frame{height:clamp(340px,108vw,430px);min-height:340px}
  .lab-robot{left:0!important;top:0!important;width:100%!important;height:100%!important}
  .lab-target{width:38px;height:38px}
  .lab-target:before{width:38px;top:18px}
  .lab-target:after{height:38px;left:18px}
  .lab-target b{top:43px}
}

@media (max-width:380px){
  .hero{min-height:760px}
  .hero h1{font-size:43px}
  .hero-text{max-width:280px}
  .robot-stage{right:-40%;width:125%;height:49%}
  .robot-readout{display:none}
  .lab-frame{height:330px;min-height:330px}
}

@media (prefers-reduced-motion:reduce){
  .frame-layer{will-change:auto}
}


/* =========================================================
   FINAL MOBILE HERO OVERRIDES
   The robot occupies its own centered zone below the copy.
   It must never sit behind or beside hero-copy.
   ========================================================= */
@media (max-width: 900px){
  .hero{
    min-height: 860px;
    overflow: hidden;
  }
  .hero-copy{
    top: 96px;
    left: var(--page-pad);
    width: calc(100% - 2 * var(--page-pad));
    z-index: 6;
  }
  .robot-stage{
    left: 0;
    right: 0;
    top: auto;
    bottom: 46px;
    width: 100%;
    height: 48%;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: none;
    opacity: .88;
    z-index: 3;
  }
  .robot-image{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
  }
  .robot-readout{
    right: 6%;
    bottom: 3%;
  }
}

@media (max-width: 600px){
  .hero{min-height: 790px;}
  .hero-copy{top: 92px;}
  .robot-stage{
    bottom: 42px;
    width: 100%;
    height: 45%;
    opacity: .78;
  }
  .robot-readout{right: 8%; bottom: 1%;}
}

@media (max-width: 380px){
  .hero{min-height: 760px;}
  .robot-stage{
    bottom: 38px;
    height: 43%;
  }
  .robot-readout{display:none;}
}

/* Single-frame renderer: no opacity crossfade between poses. */
.robot-frames{
  opacity: 1 !important;
  transition: none !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
