/* okibo.com, 2026 redesign v2: cinematic
   Palette: ink (brand slate) and graphite for dark stages, concrete and paper for light ones,
   steel for secondary text, okibo orange reserved for what the robot perceives and does, and for primary actions.
   Type: Archivo variable. Wide (115%) for display, condensed (72%) for figures, normal width for reading. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin.woff2) format("woff2")}

:root{
  --ink:#1D252C; --graphite:#151C22; --ink-2:#232D35; --concrete:#ECEEEB; --paper:#FFFFFF;
  --steel:#5C6873; --mist:#9AA6AF; --fog:#C9D1D6; --line:#D6DAD9; --line-dark:rgba(255,255,255,.12);
  --orange:#F68B1F; --orange-ink:#B85E00;
  --font:"Archivo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --wrap:1360px; --gutter:clamp(20px,4vw,64px);
  --ease:cubic-bezier(.16,1,.3,1);
  --t-body:clamp(16.5px,.25vw + 15.5px,18.5px);
  --t-lede:clamp(19px,.7vw + 15.5px,24px);
  --t-h3:clamp(20px,.8vw + 15px,27px);
  --t-h2:clamp(30px,2.4vw + 14px,56px);
  --t-display:clamp(40px,5vw + 8px,92px);
  --t-figure:clamp(56px,6.5vw + 10px,128px);
  --header:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:var(--t-body);line-height:1.6;color:var(--ink);background:var(--concrete);font-stretch:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
p{margin:0 0 1em;max-width:66ch}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1;letter-spacing:-.02em;font-stretch:115%;text-wrap:balance}
h1{font-size:var(--t-display);letter-spacing:-.035em;line-height:.95}
h2{font-size:var(--t-h2);letter-spacing:-.02em;line-height:1.05;font-stretch:105%}
h3{font-size:var(--t-h3);line-height:1.15;font-stretch:108%;letter-spacing:-.01em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.lede{font-size:var(--t-lede);line-height:1.42;color:var(--steel);max-width:52ch;text-wrap:pretty}
.muted{color:var(--steel)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);padding:8px 14px;z-index:100}
.skip:focus{left:8px}
.dark,.on-dark{background:var(--ink);color:var(--fog)}
.dark h1,.dark h2,.dark h3,.on-dark h1,.on-dark h2,.on-dark h3{color:#fff}
.dark .lede,.on-dark .lede{color:var(--mist)}
.graphite{background:var(--graphite)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;font:600 16px/1 var(--font);font-stretch:110%;padding:17px 26px;border:1.5px solid var(--ink);color:var(--ink);background:transparent;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:var(--ink);color:#fff}
.btn-primary{background:var(--orange);border-color:var(--orange);color:#14191d}
.btn-primary:hover{background:#fff;border-color:#fff;color:var(--ink)}
.page-hero .btn:not(.btn-primary),.dark .btn:not(.btn-primary),.on-dark .btn:not(.btn-primary),.film .btn:not(.btn-primary){border-color:rgba(255,255,255,.55);color:#fff}
.page-hero .btn:not(.btn-primary):hover,.dark .btn:not(.btn-primary):hover,.on-dark .btn:not(.btn-primary):hover,.film .btn:not(.btn-primary):hover{background:#fff;border-color:#fff;color:var(--ink)}
.btn .play{width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center}
.btn .play::before{content:"";border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:2px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.text-link{font-weight:600;font-stretch:108%;text-decoration:none;background:linear-gradient(var(--orange),var(--orange)) 0 100%/100% 2px no-repeat;padding-bottom:3px;transition:background-size .35s var(--ease)}
.text-link:hover{background-size:0 2px;background-position:100% 100%}

/* ---------- header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;color:#fff;transition:background .35s,box-shadow .35s}
.site-header::before{content:"";position:absolute;left:0;right:0;top:0;height:140%;background:linear-gradient(rgba(21,28,34,.82),rgba(21,28,34,.35) 60%,rgba(21,28,34,0));pointer-events:none;transition:opacity .35s}
.site-header.scrolled{background:rgba(21,28,34,.9);backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px);box-shadow:0 1px 0 var(--line-dark)}
.site-header.scrolled::before{opacity:0}
.site-header .bar{position:relative;display:flex;align-items:center;gap:32px;height:var(--header)}
.logo img{width:116px;height:auto}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav>a,.nav-item>a{position:relative;font:500 15.5px/1 var(--font);color:rgba(255,255,255,.86);text-decoration:none;padding:12px 13px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .2s}
.nav>a::after,.nav-item>a::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav>a:hover,.nav-item>a:hover,.nav [aria-current=page]{color:#fff}
.nav>a:hover::after,.nav-item>a:hover::after,.nav [aria-current=page]::after{transform:scaleX(1)}
.nav-item{position:relative}
.nav-item .sub{position:absolute;top:100%;left:0;min-width:260px;padding:8px;background:rgba(21,28,34,.96);border:1px solid var(--line-dark);box-shadow:0 18px 40px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s,transform .2s,visibility .2s}
.nav-item:hover .sub,.nav-item:focus-within .sub{opacity:1;visibility:visible;transform:none}
.nav-item .sub a{display:block;font:500 15px/1.3 var(--font);color:rgba(255,255,255,.86);text-decoration:none;padding:11px 12px}
.nav-item .sub a:hover,.nav-item .sub a:focus-visible{color:#fff;background:rgba(255,255,255,.06)}
.header-cta{padding:13px 20px;font-size:15px}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:10px;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:transform .3s var(--ease),opacity .2s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- home hero: the film ---------- */
.film{position:relative;height:100vh;height:100svh;min-height:580px;max-height:1200px;overflow:hidden;background:var(--graphite);color:#fff;isolation:isolate}
.film-media{position:absolute;inset:0;z-index:-2}
.film-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 50%}
.film-media .yt{position:absolute;top:50%;left:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);transform:translate(-50%,-50%) scale(1.04);opacity:0;transition:opacity 1.6s ease;pointer-events:none}
.film-media .yt iframe{width:100%;height:100%;border:0}
.film.playing .film-media .yt{opacity:1}
.film::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(21,28,34,.88) 0%,rgba(21,28,34,.62) 34%,rgba(21,28,34,.08) 68%),
  linear-gradient(0deg,rgba(21,28,34,.85) 0%,rgba(21,28,34,0) 38%)}
.film-copy{position:absolute;left:0;right:0;bottom:clamp(76px,13vh,140px)}
.film h1{max-width:12.5ch;color:#fff}
.film .sub{font-size:var(--t-lede);font-weight:500;line-height:1.4;color:#fff;margin:28px 0 0;max-width:40ch}
.film .sub span{color:var(--mist)}
.film .actions{margin-top:38px}
.scanline{position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--orange);box-shadow:0 0 18px 2px rgba(246,139,31,.7);opacity:0;z-index:1;pointer-events:none}
.readout{position:absolute;right:var(--gutter);bottom:clamp(76px,13vh,140px);width:300px;padding:18px 20px 16px;background:rgba(21,28,34,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-dark);font-size:14px;line-height:1.3;color:var(--fog)}
.readout .ro-head{display:flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-stretch:108%;margin-bottom:12px}
.readout .ro-head i{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(246,139,31,.6);animation:pulse 2s infinite}
.readout ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.readout li{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--line-dark);color:var(--mist);transition:color .4s}
.readout li b{font-weight:500;font-stretch:80%;color:inherit}
.readout li.on{color:#fff}
.readout li.on b{color:var(--orange)}
.scroll-cue{position:absolute;left:50%;bottom:22px;width:1px;height:44px;background:rgba(255,255,255,.25);overflow:hidden}
.scroll-cue::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:#fff;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{to{top:110%}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(246,139,31,.55)}70%{box-shadow:0 0 0 10px rgba(246,139,31,0)}100%{box-shadow:0 0 0 0 rgba(246,139,31,0)}}
@keyframes sweep{0%{left:0;opacity:0}6%{opacity:1}92%{opacity:1}100%{left:100%;opacity:0}}

/* ---------- proof: figures and logos ---------- */
.proof{background:var(--paper);padding:clamp(56px,7vw,96px) 0 0}
.figures{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.fig{padding:0 clamp(16px,2vw,32px) 8px;border-left:1px solid var(--line)}
.fig:first-child{padding-left:0;border-left:0}
.fig b{display:block;font-size:var(--t-figure);font-weight:500;font-stretch:72%;letter-spacing:-.03em;line-height:.9;color:var(--ink);white-space:nowrap}
.fig b small{font-size:.42em;font-stretch:100%;font-weight:600;letter-spacing:-.01em;margin-left:.15em}
.fig>span{display:block;margin-top:14px;color:var(--steel);font-size:15.5px;line-height:1.4;max-width:24ch}
.marquee{margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line);padding:26px 0 30px;overflow:hidden;position:relative}
.marquee p{max-width:var(--wrap);margin:0 auto 18px;padding:0 var(--gutter);color:var(--steel);font-size:15px}
.marquee-track{display:flex;width:max-content;gap:clamp(40px,5vw,80px);align-items:center;animation:marquee 40s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee img{height:52px;width:150px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.15);opacity:.75;transition:opacity .25s,filter .25s}
.marquee img:hover{opacity:1;filter:none}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:12vw;z-index:1;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--paper),rgba(255,255,255,0))}
.marquee::after{right:0;background:linear-gradient(-90deg,var(--paper),rgba(255,255,255,0))}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.section{padding:clamp(88px,11vw,168px) 0}
.section.tight{padding:clamp(64px,7vw,104px) 0}
.section.white{background:var(--paper)}
.section.dark{background:var(--ink)}
.section.graphite{background:var(--graphite);color:var(--fog)}
.section-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,72px);align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.section-head .lede{margin:0}
.section-head.stack{grid-template-columns:1fr;gap:24px;max-width:980px}
.section-head .text-link{justify-self:start}

/* Comparison: conventional workflow vs Okibo */
.compare{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(16px,2vw,28px);align-items:start}
.compare-other{padding:clamp(28px,3.5vw,52px);background:var(--paper);border:1px solid var(--line)}
.compare-okibo{position:sticky;top:calc(var(--header) + 24px);padding:clamp(28px,3.5vw,52px);background:var(--ink);color:var(--fog)}
.compare h3{font-size:var(--t-h3);margin-bottom:28px}
.compare-okibo h3{color:#fff}
.compare ol{margin:0;padding:0;list-style:none;counter-reset:s;position:relative}
.compare-other li{counter-increment:s;position:relative;display:grid;grid-template-columns:44px 1fr;gap:4px;padding:14px 0;color:var(--steel);line-height:1.45}
.compare-other li::before{content:counter(s);position:relative;z-index:1;width:28px;height:28px;border-radius:50%;border:1px solid #B8C0C6;background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--steel)}
.compare-other ol::before{content:"";position:absolute;left:14px;top:28px;bottom:28px;width:1px;background:#D2D7DA}
.compare-other li strong{color:var(--ink);font-weight:600}
.compare .note{margin:24px 0 0;font-size:16px;color:var(--steel)}
.compare-other .note strong{color:var(--ink)}
.compare-okibo li{counter-increment:s;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line-dark);font-size:clamp(28px,2.6vw + 8px,48px);font-weight:600;font-stretch:115%;letter-spacing:-.025em;line-height:1.05;color:#fff}
.compare-okibo li::before{content:counter(s);font-size:16px;font-weight:600;color:var(--orange);letter-spacing:0}
.compare-okibo .note{color:var(--mist)}
.start{display:flex;align-items:center;gap:18px;margin:28px 0 4px}
.start-btn{position:relative;width:64px;height:64px;border-radius:50%;background:var(--orange);flex:none}
.start-btn::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px solid rgba(246,139,31,.5);animation:ring 2.4s var(--ease) infinite}
.start-btn svg{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;color:#14191d}
.start span{color:#fff;font-weight:600;font-stretch:108%;line-height:1.3}
@keyframes ring{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.5);opacity:0}}
.claim{margin:26px 0 0;padding-top:22px;border-top:1px solid var(--line-dark);font-size:var(--t-lede);font-weight:500;line-height:1.4;color:#fff}
.only{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(28px,4vw,64px);align-items:end;margin-top:clamp(56px,7vw,104px);padding-top:clamp(32px,4vw,48px);border-top:1.5px solid var(--ink)}
.only p{margin:0;font-size:clamp(22px,1.5vw + 12px,34px);line-height:1.3;font-weight:500;letter-spacing:-.01em;max-width:44ch;color:var(--steel)}
.only strong{color:var(--ink);font-weight:600}

/* Autonomy loop (scroll-driven) */
.autonomy{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,6vw,104px);align-items:start}
.ax-media{position:sticky;top:calc(var(--header) + 32px);aspect-ratio:4/3;background:#0e1317;overflow:hidden}
.ax-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .8s ease,transform 1.6s var(--ease)}
.ax-media img.on{opacity:1;transform:none}
.ax-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,19,23,.75),rgba(14,19,23,0) 45%)}
.ax-frame{position:absolute;inset:18px;z-index:1;pointer-events:none;
  background:linear-gradient(var(--orange),var(--orange)) 0 0/26px 2px,linear-gradient(var(--orange),var(--orange)) 0 0/2px 26px,
  linear-gradient(var(--orange),var(--orange)) 100% 0/26px 2px,linear-gradient(var(--orange),var(--orange)) 100% 0/2px 26px,
  linear-gradient(var(--orange),var(--orange)) 0 100%/26px 2px,linear-gradient(var(--orange),var(--orange)) 0 100%/2px 26px,
  linear-gradient(var(--orange),var(--orange)) 100% 100%/26px 2px,linear-gradient(var(--orange),var(--orange)) 100% 100%/2px 26px;background-repeat:no-repeat}
.ax-label{position:absolute;left:36px;bottom:30px;z-index:2;color:#fff;font-weight:600;font-stretch:110%;font-size:var(--t-h3);display:flex;gap:14px;align-items:baseline}
.ax-label small{font-size:14px;font-weight:500;color:var(--orange);font-stretch:90%}
.ax-steps{list-style:none;margin:0;padding:0;counter-reset:s;position:relative}
.ax-steps::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line-dark)}
.ax-steps .rail{position:absolute;left:0;top:0;width:1px;height:0;background:var(--orange);transition:height .2s linear}
.ax-steps li{counter-increment:s;min-height:min(52vh,460px);padding:6px 0 48px 40px;opacity:.32;transition:opacity .5s}
.ax-steps li.on{opacity:1}
.ax-steps li::before{content:counter(s);display:block;font-size:15px;font-weight:600;color:var(--orange);margin-bottom:14px}
.ax-steps h3{font-size:clamp(30px,2.6vw + 10px,52px);font-stretch:115%;letter-spacing:-.025em;color:#fff;margin-bottom:16px}
.ax-steps p{margin:0;color:var(--mist);font-size:var(--t-lede);line-height:1.45;max-width:30ch}
.ax-steps li:last-child{min-height:0;padding-bottom:0}

/* Applications as tiles */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.4vw,20px)}
.tile{position:relative;display:block;aspect-ratio:16/11;overflow:hidden;background:var(--ink);color:#fff;text-decoration:none;isolation:isolate}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s var(--ease)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(21,28,34,.9) 0%,rgba(21,28,34,.35) 42%,rgba(21,28,34,0) 70%);transition:background .5s}
.tile .tile-body{position:absolute;left:0;right:0;bottom:0;padding:clamp(22px,2.6vw,40px)}
.tile h3{font-size:clamp(26px,2vw + 10px,44px);font-stretch:115%;letter-spacing:-.025em;color:#fff}
.tile p{margin:12px 0 0;color:var(--fog);font-size:16px;line-height:1.45;max-width:46ch}
.tile .more{display:inline-block;margin-top:18px;font-weight:600;font-size:15px;font-stretch:108%;padding-bottom:3px;background:linear-gradient(var(--orange),var(--orange)) 0 100%/30% 2px no-repeat;transition:background-size .5s var(--ease)}
.tile:hover img{transform:scale(1.05)}
.tile:hover .more{background-size:100% 2px}
.tiles.small{grid-template-columns:repeat(3,1fr)}
.tiles.small .tile{aspect-ratio:4/3}
.tiles.small h3{font-size:clamp(22px,1.2vw + 12px,30px)}
.future{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;align-items:center}
.future span{border:1px solid var(--line);padding:8px 14px;font-size:15px;color:var(--steel);background:var(--paper)}
.future strong{margin-right:8px;font-weight:600}
.dark .future span{background:transparent;border-color:var(--line-dark);color:var(--mist)}

/* Robots on a product stage */
.robots{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}
.robot{background:var(--paper);display:grid;grid-template-rows:auto 1fr}
.robot .shot{position:relative;aspect-ratio:5/4;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:radial-gradient(ellipse 60% 55% at 50% 72%,#fff 0%,#E9ECEA 55%,#D9DEDC 100%)}
.robot .shot::after{content:"";position:absolute;left:18%;right:18%;bottom:5%;height:6%;background:radial-gradient(ellipse at center,rgba(21,28,34,.28),rgba(21,28,34,0) 70%)}
.robot .shot img{position:relative;z-index:1;max-height:92%;width:auto;object-fit:contain;transition:transform 1.2s var(--ease)}
.robot:hover .shot img{transform:translateY(-6px)}
.robot .body{padding:clamp(24px,3vw,44px)}
.robot h3{font-size:clamp(48px,4vw + 12px,96px);font-stretch:118%;letter-spacing:-.04em;line-height:.9}
.robot .for{color:var(--steel);margin:14px 0 26px;font-size:var(--t-lede);line-height:1.4}
.specs{display:grid;grid-template-columns:1fr 1fr;margin:0 0 28px;border-top:1px solid var(--line)}
.specs div{padding:14px 14px 14px 0;border-bottom:1px solid var(--line)}
.specs dt{font-size:13.5px;color:var(--steel)}
.specs dd{margin:3px 0 0;font-weight:600;font-stretch:108%}

/* Full-bleed statement over an image */
.statement{position:relative;min-height:min(92vh,920px);display:flex;align-items:center;overflow:hidden;color:#fff;isolation:isolate;background:var(--graphite)}
.statement .bg{position:absolute;left:0;right:0;top:-12%;height:124%;z-index:-2;will-change:transform}
.statement .bg img{width:100%;height:100%;object-fit:cover}
.statement::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(21,28,34,.94) 0%,rgba(21,28,34,.8) 38%,rgba(21,28,34,.2) 80%)}
.statement .wrap{width:100%}
.statement blockquote{margin:0 0 32px;font-size:var(--t-h2);line-height:1;font-weight:600;font-stretch:115%;letter-spacing:-.03em;max-width:15ch;color:#fff}
.statement blockquote span{display:block;color:var(--mist)}
.statement .lede{color:var(--fog)}

/* News */
.news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px) clamp(20px,2.4vw,32px)}
.news-item{text-decoration:none;display:grid;gap:16px;align-content:start}
.news-item .im{overflow:hidden;aspect-ratio:16/10;background:#ddd}
.news-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.news-item small{color:var(--steel);font-size:14px}
.news-item h3{font-size:clamp(19px,.6vw + 15px,24px);line-height:1.25;font-stretch:105%}
.news-item:hover img{transform:scale(1.05)}
.news-item:hover h3{color:var(--orange-ink)}

/* Demo / contact form band */
.demo{background:var(--graphite);color:var(--fog);padding:clamp(88px,10vw,160px) 0;position:relative;overflow:hidden}
.demo-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,96px)}
.demo h2{color:#fff}
.demo .lede{color:var(--mist);margin-top:24px}
.demo ul{list-style:none;padding:0;margin:36px 0 0}
.demo li{padding:16px 0 16px 28px;border-top:1px solid var(--line-dark);color:var(--fog);position:relative}
.demo li::before{content:"";position:absolute;left:0;top:27px;width:14px;height:2px;background:var(--orange)}
.form-card{background:var(--paper);color:var(--ink);padding:clamp(24px,3vw,44px);min-height:420px}
.form-card .fine{font-size:12.5px;line-height:1.5;color:var(--steel);margin-top:18px}

/* Inner page hero */
.page-hero{position:relative;background:var(--ink);color:var(--fog);overflow:hidden}
.page-hero.compact{padding-top:var(--header)}
.page-hero .ph-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(78vh,780px)}
.page-hero .ph-copy{align-self:end;padding:calc(var(--header) + clamp(48px,7vw,120px)) clamp(24px,4vw,72px) clamp(48px,7vw,104px) max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter)))}
.page-hero h1{color:#fff;font-size:clamp(36px,3.8vw + 8px,68px);max-width:14ch}
.page-hero .lede{color:var(--mist);margin-top:28px}
.page-hero .actions{margin-top:36px}
.page-hero .ph-media{position:relative;overflow:hidden;background:#0e1317}
.page-hero .ph-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero .ph-media.contain{background:radial-gradient(ellipse 60% 55% at 50% 70%,#3A4651 0%,#232D35 60%,#1D252C 100%)}
.page-hero .ph-media.contain img{object-fit:contain;padding:8% 10% 0;object-position:50% 100%}
.page-hero .ph-solo{padding-top:clamp(72px,10vw,150px);padding-bottom:clamp(48px,6vw,88px)}
.page-hero h1.company-title{font-size:clamp(32px,3.1vw,54px);max-width:none}
.page-hero.compact h1{max-width:20ch}
.crumb{font-size:15px;color:var(--mist);margin-bottom:26px}
.crumb a{text-decoration:none}
.crumb a:hover{color:#fff}

/* Application landing page */
.facts{display:grid;grid-template-columns:repeat(3,1fr)}
.facts>div{padding:0 clamp(16px,2vw,32px);border-left:1px solid var(--line)}
.facts>div:first-child{padding-left:0;border-left:0}
.facts b{display:block;font-size:clamp(44px,4.4vw + 8px,96px);font-weight:500;font-stretch:72%;letter-spacing:-.03em;line-height:.92;color:var(--ink)}
.facts span{display:block;margin-top:14px;color:var(--steel);font-size:15.5px;max-width:26ch}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,104px)}
.flow{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.flow li{counter-increment:s;padding:28px clamp(14px,1.6vw,24px) 0 0;border-top:1.5px solid var(--line-dark);position:relative}
.flow li::before{content:counter(s);display:block;font-size:15px;font-weight:600;color:var(--orange);margin-bottom:18px}
.flow li::after{content:"";position:absolute;left:0;top:-1.5px;height:1.5px;width:0;background:var(--orange);transition:width 1s var(--ease) var(--d,0s)}
.flow li.in::after{width:100%}
.flow strong{display:block;color:#fff;font-size:clamp(19px,.7vw + 15px,24px);font-weight:600;font-stretch:110%;line-height:1.2;margin-bottom:10px}
.flow span{color:var(--mist);font-size:15.5px;line-height:1.45;display:block}
.flow li:last-child strong{color:var(--orange)}
.plain-list{list-style:none;margin:0;padding:0}
.plain-list li{padding:16px 0 16px 30px;border-top:1px solid var(--line);position:relative}
.plain-list li:last-child{border-bottom:1px solid var(--line)}
.plain-list li::before{content:"";position:absolute;left:0;top:28px;width:14px;height:2px;background:var(--orange)}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:24px 48px 24px 0;font-weight:600;font-stretch:108%;font-size:var(--t-h3);line-height:1.25;position:relative;transition:color .2s}
.faq summary:hover{color:var(--orange-ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:18px;height:2px;background:var(--ink);transition:transform .35s var(--ease)}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0)}
.faq details p{color:var(--steel);margin:0 0 26px;font-size:var(--t-lede);line-height:1.5;max-width:58ch}
.quote{margin:0;max-width:1100px}
.quote p{font-size:clamp(28px,2.4vw + 10px,56px);line-height:1.12;font-weight:500;font-stretch:108%;letter-spacing:-.025em;color:var(--ink);max-width:28ch}
.quote cite{display:block;margin-top:28px;font-style:normal;color:var(--steel);font-size:16px;padding-left:28px;position:relative}
.quote cite::before{content:"";position:absolute;left:0;top:11px;width:16px;height:2px;background:var(--orange)}

/* Technology ledger */
.ledger{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1.5px solid var(--ink)}
.ledger>div{padding:32px clamp(20px,3vw,48px) 36px 0;border-bottom:1px solid var(--line)}
.ledger>div:nth-child(even){padding-left:clamp(20px,3vw,48px);border-left:1px solid var(--line)}
.ledger h3{margin-bottom:12px}
.ledger p{margin:0;color:var(--steel)}

/* Robot product pages */
.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,104px);align-items:center}
.product .stage{position:relative;aspect-ratio:4/5;overflow:hidden;background:radial-gradient(ellipse 60% 55% at 50% 72%,#fff 0%,#E9ECEA 55%,#D9DEDC 100%);display:flex;align-items:flex-end;justify-content:center}
.product .stage img{max-height:94%;width:auto;object-fit:contain}
.product h2{font-size:clamp(64px,7vw + 10px,160px);font-stretch:120%;letter-spacing:-.045em;line-height:.85}
.product .lede{margin-top:24px}
.product .plain-list{margin-top:32px}
.product .plain-list strong{font-weight:600}
.cert{font-size:13.5px;color:var(--steel);line-height:1.55;margin-top:20px;max-width:70ch}

/* Team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(36px,4vw,56px) clamp(16px,2vw,28px)}
.person .pic{overflow:hidden;aspect-ratio:4/5;background:#ddd}
.person img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .6s,transform 1.2s var(--ease)}
.person:hover img{filter:none;transform:scale(1.03)}
.person .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--ink-2);color:var(--mist);font-size:64px;font-weight:600;font-stretch:118%}
.person h3{margin-top:20px}
.person .role{color:var(--orange-ink);font-weight:600;font-size:15.5px;margin:6px 0 12px}
.person p{font-size:15.5px;color:var(--steel);margin:0;line-height:1.55}
.closing{margin:0;max-width:24ch;font-size:var(--t-h2);line-height:1.02;font-weight:600;font-stretch:115%;letter-spacing:-.03em;color:#fff}
.logo-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.logo-grid div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:28px 18px;background:var(--paper)}
.logo-grid img{height:52px;width:100%;max-width:150px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.15);opacity:.75;transition:filter .3s,opacity .3s}
.logo-grid div:hover img{filter:none;opacity:1}
.offices{display:grid;grid-template-columns:repeat(3,1fr);border-top:1.5px solid var(--ink)}
.offices>div{padding:28px 28px 0 0}
.offices>div+div{padding-left:28px;border-left:1px solid var(--line)}
.offices h3{margin-bottom:14px}
.offices p{margin:0 0 6px;color:var(--steel);font-size:15.5px}
.offices a{text-decoration:none}
.offices a:hover{color:var(--orange-ink)}
.two-col .offices{grid-template-columns:1fr;border-top:0}
.two-col .offices>div,.two-col .offices>div+div{padding:20px 0;border-left:0;border-top:1px solid var(--line)}

/* Prose and legal */
.legal-text{padding:clamp(56px,7vw,104px) 0;max-width:820px}
.legal-text h2{font-size:var(--t-h3);margin:1.8em 0 .6em}
.legal-text h3,.legal-text h4{font-size:19px;font-stretch:105%;margin:1.4em 0 .5em}
.legal-text ul{padding-left:1.2em}
.legal-text li{margin:0 0 .5em}
.video-embed{position:relative;padding-top:56.25%;background:#000}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Newsletter sign-up */
.signup{border-top:1px solid var(--line)}
.signup-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,80px);align-items:end}
.signup .lede{margin-top:20px}
.signup-form label{display:block;font-weight:600;font-size:15px;margin-bottom:10px}
.signup-row{display:flex;gap:0}
.signup-row input{flex:1;min-width:0;font:400 17px/1.2 var(--font);padding:17px 18px;border:1.5px solid var(--ink);border-right:0;background:#fff;color:var(--ink);border-radius:0}
.signup-row input:focus{outline:2px solid var(--orange);outline-offset:-2px}
.signup-row .btn{flex:none}
.signup-row .btn-primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.signup-note{font-size:14px;color:var(--steel);margin-top:12px}
.signup-note a{color:inherit}
.signup-status{margin-top:10px;font-weight:600;min-height:1.4em}
.signup-status.ok{color:#2E7D4F}.signup-status.err{color:#B3261E}
.signup-form.done .signup-row,.signup-form.done label,.signup-form.done .signup-note{display:none}


/* Applications overview: tool bench, constants, roadmap */
.toolbench{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,3vw,48px);align-items:start}
.tb-list{display:grid;border-top:1px solid var(--line)}
.tb-list button{position:relative;display:grid;gap:4px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:22px 16px 22px 0;cursor:pointer;font:inherit;color:var(--steel);transition:color .25s,padding .35s var(--ease)}
.tb-name{font-size:clamp(20px,.9vw + 14px,28px);font-weight:600;font-stretch:112%;letter-spacing:-.015em;line-height:1.15;color:inherit}
.tb-tool{font-size:15px;color:var(--steel)}
.tb-list button:hover{color:var(--ink)}
.tb-list button[aria-selected=true]{color:var(--ink);padding-left:22px}
.tb-list button::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:3px;background:var(--orange);transform:scaleY(0);transition:transform .35s var(--ease)}
.tb-list button[aria-selected=true]::before{transform:none}
.tb-timer{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--orange)}
.toolbench.auto [aria-selected=true] .tb-timer{animation:tbtimer var(--tb-dur,5s) linear forwards}
@keyframes tbtimer{to{width:100%}}
.tb-stage{display:grid}
.tb-panel{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.tb-panel.on{opacity:1;visibility:visible}
.tb-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
.tb-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.6s var(--ease)}
.tb-panel.on .tb-img img{transform:none}
.constant{margin-top:clamp(56px,7vw,96px);padding-top:28px;border-top:1.5px solid var(--ink);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,3vw,48px)}
.constant h3{font-size:var(--t-h3)}
.constant ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,28px)}
.constant li{font-size:15.5px;color:var(--steel);line-height:1.45}
.constant strong{display:block;color:var(--ink);font-weight:600;font-stretch:108%;font-size:17px;margin-bottom:6px}
.flow strong a{text-decoration:none;color:inherit;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .35s var(--ease)}
.flow strong a:hover{background-size:100% 1.5px}
.flow-7 li{border-top:0}
.flow-7 li::after{display:none}
/* "How our robots learn" page: the learning loop, text + media sections, media placeholders */
.flow.flow-6{grid-template-columns:repeat(6,1fr)}
.flow-6 li{border-top:0}
.flow-6 li::after{display:none}
.flow-6 li:last-child strong{color:#fff}
@media (max-width:1080px){.flow.flow-6{grid-template-columns:repeat(3,1fr);row-gap:32px}}
@media (max-width:600px){.flow.flow-6{grid-template-columns:1fr}}
.learn{align-items:center}
@media (min-width:901px){.learn.rev>:first-child{order:2}}
.learn-num{display:block;color:var(--orange);font-weight:600;font-size:15px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:18px}
.learn .plain-list{margin-top:28px}
.media-slot{position:relative;aspect-ratio:16/9;background:var(--graphite);border:1px solid var(--line-dark);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;color:var(--mist)}
.media-slot .ms-play{position:relative;width:54px;height:54px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);margin-bottom:6px}
.media-slot .ms-play::after{content:"";position:absolute;left:21px;top:17px;border-left:14px solid rgba(255,255,255,.75);border-top:9px solid transparent;border-bottom:9px solid transparent}
.media-slot strong{color:#fff;font-weight:600;font-stretch:108%;font-size:17px}
.media-slot small{font-size:14px}
.media-slot.filled{display:block;padding:0}
.media-fig{margin:0}
.media-fig figcaption{margin-top:14px;font-size:15px;line-height:1.5;color:var(--steel);max-width:60ch}
.section:not(.white) .media-fig figcaption{color:var(--steel)}
.media-slot video,.media-slot iframe,.media-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,20px)}
.roadmap>div{border:1px dashed #A9B2B8;padding:clamp(22px,2.4vw,32px);min-height:170px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;transition:border-color .3s,background .3s}
.roadmap>div:hover{border-color:var(--orange);background:var(--paper)}
.roadmap h3{font-size:clamp(20px,.8vw + 14px,26px)}
.roadmap p{margin:0;color:var(--steel);font-size:15.5px}
@media (max-width:1080px){.constant{grid-template-columns:1fr}}
@media (max-width:900px){
  .toolbench{grid-template-columns:1fr}
  .tb-list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;border-top:0;gap:8px;padding-bottom:4px;scrollbar-width:none}
  .tb-list button{border:1px solid var(--line);padding:12px 14px}
  .tb-list button[aria-selected=true]{padding-left:14px;border-color:var(--ink)}
  .tb-list button::before{display:none}
  .tb-name{font-size:17px}.tb-tool{display:none}
  .roadmap{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){.roadmap,.constant ul{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.site-footer{background:var(--graphite);color:var(--mist);padding:0 0 36px;font-size:15.5px;border-top:1px solid var(--line-dark)}
.foot-lead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px;padding:clamp(56px,6vw,88px) 0;border-bottom:1px solid var(--line-dark);margin-bottom:56px}
.foot-lead p{margin:0;font-size:clamp(26px,2.2vw + 10px,48px);font-weight:600;font-stretch:115%;letter-spacing:-.025em;line-height:1.05;color:#fff;max-width:20ch}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot img{width:132px;margin-bottom:18px}
.foot h2{font-size:15.5px;color:#fff;font-stretch:108%;letter-spacing:0;margin-bottom:16px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 10px}
.foot a{text-decoration:none;transition:color .2s}
.foot a:hover{color:#fff}
.foot-bottom{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;border-top:1px solid var(--line-dark);margin-top:56px;padding-top:24px;font-size:14px}
.socials{display:flex;gap:10px;margin-top:18px}
.social{display:inline-flex;width:38px;height:38px;border:1px solid var(--line-dark);align-items:center;justify-content:center;color:var(--fog);transition:border-color .2s,color .2s}
.social:hover{border-color:var(--orange);color:var(--orange)}
.social svg{width:16px;height:16px}

/* ---------- modal + cookie bar ---------- */
.modal{position:fixed;inset:0;background:rgba(14,19,23,.94);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex;animation:fadein .35s ease}
@keyframes fadein{from{opacity:0}}
.modal .box{width:min(1200px,100%)}
.modal .close{position:absolute;top:14px;right:20px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer;line-height:1}
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:880px;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 40px -20px rgba(29,37,44,.4);z-index:900;padding:16px 20px;display:none;align-items:center;gap:20px;font-size:14.5px;line-height:1.45}
.cookie-bar.show,.needs-consent .cookie-bar{display:flex}
.consent-given .cookie-bar{display:none}
.cookie-bar .actions{flex:none;gap:8px}
.cookie-bar .btn{padding:11px 16px;font-size:14.5px}
.cookie-bar a{color:inherit}
.cookie-modal .actions{gap:8px}
.cookie-bar .btn-primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.cookie-bar .link{background:none;border:0;cursor:pointer;font:inherit;text-decoration:underline;color:var(--ink)}
.cookie-modal .box{background:#fff;color:var(--ink);max-width:760px;padding:30px;max-height:85vh;overflow:auto;position:relative}
.cookie-modal .close{color:var(--ink);top:8px;right:12px}
.cookie-cat{border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;gap:16px;align-items:center}
.cookie-cat small{display:block;color:var(--steel);font-size:13.5px}

/* ---------- motion ----------
   One orchestrated load moment on the home hero (scan sweep, headline rising line by line),
   then content settles in as it enters the viewport. Everything is off under reduced motion. */
.motion .film h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.motion .film h1 .w>span{display:inline-block;transform:translateY(105%);animation:rise 1.1s var(--ease) forwards;animation-delay:calc(.35s + var(--i) * 70ms)}
.motion .film .sub,.motion .film .actions,.motion .film .readout{opacity:0;transform:translateY(16px);animation:settle 1s var(--ease) forwards}
.motion .film .sub{animation-delay:1s}.motion .film .actions{animation-delay:1.15s}.motion .film .readout{animation-delay:1.6s;transform:none}
.motion .film .scanline{animation:sweep 2.4s cubic-bezier(.65,0,.35,1) .15s forwards}
.motion .page-hero h1,.motion .page-hero .lede,.motion .page-hero .actions,.motion .page-hero .crumb{opacity:0;transform:translateY(24px);animation:settle 1.1s var(--ease) forwards}
.motion .page-hero h1{animation-delay:.1s}.motion .page-hero .lede{animation-delay:.25s}.motion .page-hero .actions{animation-delay:.38s}
.motion .page-hero .ph-media img{animation:unveil 1.6s var(--ease) both}
@keyframes rise{to{transform:none}}
@keyframes settle{to{opacity:1;transform:none}}
@keyframes unveil{from{clip-path:inset(0 0 0 100%);transform:scale(1.08)}to{clip-path:inset(0);transform:none}}

.motion .rv{opacity:0;transform:translateY(36px);transition:opacity 1s ease var(--d,0s),transform 1.2s var(--ease) var(--d,0s)}
.motion .rv.in{opacity:1;transform:none}
.motion .rv-mask{clip-path:inset(0 0 100% 0);transform:translateY(.25em);transition:clip-path 1.1s var(--ease) var(--d,0s),transform 1.1s var(--ease) var(--d,0s)}
.motion .rv-mask.in{clip-path:inset(0);transform:none}
.motion .rv-mask.done{clip-path:none}
.motion .rv-img{clip-path:inset(10% 8% 10% 8%);transition:clip-path 1.4s var(--ease) var(--d,0s)}
.motion .rv-img img{transform:scale(1.12);transition:transform 1.8s var(--ease) var(--d,0s)}
.motion .rv-img.in{clip-path:inset(0)}
.motion .rv-img.in img{transform:none}
.motion .tile.rv-img.in:hover img{transform:scale(1.05)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .marquee-track{flex-wrap:wrap;width:auto;justify-content:center}
  .marquee-track img[aria-hidden]{display:none}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .foot{grid-template-columns:1fr 1fr}
  .readout{display:none}
  .team{grid-template-columns:repeat(3,1fr)}
  .flow{grid-template-columns:repeat(3,1fr);row-gap:32px}
}
@media (max-width:900px){
  :root{--header:64px}
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:var(--header);left:0;right:0;background:var(--graphite);flex-direction:column;align-items:stretch;padding:8px var(--gutter) 24px;border-bottom:1px solid var(--line-dark);margin:0;max-height:calc(100vh - var(--header));overflow:auto}
  .nav.open{display:flex}
  .site-header:has(.nav.open){background:var(--graphite)}
  .nav>a,.nav-item>a{padding:16px 0;font-size:18px;width:100%;justify-content:space-between;border-bottom:1px solid var(--line-dark)}
  .nav>a::after,.nav-item>a::after{display:none}
  .nav-item{width:100%}
  .nav-item .sub{position:static;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none;padding:0;min-width:0}
  .nav-item .sub a{padding:14px 0 14px 18px;font-size:16px;border-bottom:1px solid var(--line-dark)}
  .header-cta{display:none}
  .nav .mobile-cta{display:inline-flex;margin-top:18px}
  .film{min-height:600px}
  .film-media img{object-position:78% 50%}
  .film::after{background:linear-gradient(0deg,rgba(21,28,34,.95) 0%,rgba(21,28,34,.7) 45%,rgba(21,28,34,.25) 75%,rgba(21,28,34,.45) 100%)}
  .film-copy{bottom:48px}
  .scroll-cue{display:none}
  .figures{grid-template-columns:1fr;row-gap:28px}
  .fig,.fig:first-child{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}
  .fig:first-child{border-top:0;padding-top:0}
  .section-head,.compare,.autonomy,.robots,.demo-grid,.two-col,.product,.signup-grid{grid-template-columns:1fr}
  .section-head{align-items:start}
  .compare-okibo{position:static}
  .ax-media{position:relative;top:0}
  .ax-steps li{min-height:0;opacity:1;padding-bottom:36px}
  .tiles,.tiles.small{grid-template-columns:1fr}
  .statement{min-height:0;padding:clamp(88px,14vw,140px) 0}
  .statement::after{background:linear-gradient(0deg,rgba(21,28,34,.95),rgba(21,28,34,.75))}
  .news-list{grid-template-columns:1fr 1fr}
  .page-hero .ph-grid{grid-template-columns:1fr;min-height:0}
  .page-hero .ph-copy{padding:48px var(--gutter) 56px;order:2}
  .page-hero .ph-media{aspect-ratio:4/3}
  .page-hero .ph-solo{padding-top:56px;padding-bottom:56px}
  .page-hero .ph-grid{padding-top:var(--header)}
  .facts,.offices{grid-template-columns:1fr}
  .facts>div,.facts>div:first-child{padding:20px 0;border-left:0;border-top:1px solid var(--line)}
  .offices>div+div{padding-left:0;border-left:0}
  .ledger{grid-template-columns:1fr}
  .ledger>div:nth-child(even){padding-left:0;border-left:0}
  .only{grid-template-columns:1fr}
  .team{grid-template-columns:1fr 1fr}
  .logo-grid{grid-template-columns:repeat(3,1fr)}
  .product .stage{aspect-ratio:1}
  .product.reverse .stage{order:-1}
}
@media (min-width:901px){ .nav .mobile-cta{display:none} }
@media (max-width:600px){
  .news-list,.team{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr}
  .specs{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr}
  .logo-grid{grid-template-columns:1fr 1fr}
  .fig b{font-size:clamp(48px,15vw,72px)}
  .cookie-bar{flex-direction:column;align-items:flex-start}
}
@media (max-width:420px){.signup-row{flex-direction:column}.signup-row input{border-right:1.5px solid var(--ink);border-bottom:0}}
/* Application pages: "See it work" video section and full-width image band (29 Oct 2026) */
.see-it{align-items:center}
.see-it.portrait .see-media{width:100%;max-width:440px;justify-self:center}
.band{margin:0;background:#0e1317}
.band img{display:block;width:100%;height:auto;max-height:72vh;object-fit:cover}
.lineup{margin:0 0 clamp(36px,5vw,72px)}
.lineup img{display:block;width:100%;max-width:1200px;height:auto;margin:0 auto}
.lineup figcaption{margin:14px auto 0;max-width:1200px;font-size:15px;line-height:1.5;color:var(--steel)}
