/* MindShot Home V2.1 — Controlled Energy.
   Scoped experimental art-direction layer. Rollback target: Home V2.0. */
.home-v21{
  --v21-ink:#07101f;
  --v21-paper:#f2f0e9;
  --v21-electric:#2457ff;
  --v21-cyan:#22d3ee;
  --v21-violet:#8b5cf6;
  --v21-magenta:#d90097;
  --v21-acid:#e7ff37;
  --v21-orange:#ff6a3d;
  --v21-grotesk:"Arial Nova","Helvetica Neue",Helvetica,Arial,sans-serif;
  --v21-serif:Georgia,"Times New Roman",serif;
  --v21-mono:var(--font-mono);
  font-family:var(--v21-grotesk);
}
.home-v21 .v2-main{position:relative;isolation:isolate}
.home-v21 .v2-index{font-weight:700}
.home-v21 .v2-head h2,.home-v21 .v2-statement h2,.home-v21 .v2-products h2,.home-v21 .v2-history h2,.home-v21 .v2-cta h2{font-family:var(--v21-grotesk)}

/* Header is quieter so the page carries the identity. */
.home-v21 .site-header.is-scrolled{background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px) saturate(1.15)}
.home-v21 .header-cta{position:relative;overflow:hidden}
.home-v21 .header-cta::before{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,var(--v21-cyan),var(--v21-violet),var(--v21-magenta));transform:scaleX(.25);transform-origin:left;transition:transform .3s var(--ease)}
.home-v21 .header-cta:hover::before{transform:scaleX(1)}

/* HERO — trajectory, color in words, disciplined motion. */
.home-v21 .v2-hero{min-height:100svh;background:var(--bg);isolation:isolate}
.home-v21 .v2-hero::after{content:"";position:absolute;z-index:-1;left:-18vw;bottom:-27vw;width:52vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(var(--ms-blue-rgb),.15),rgba(var(--ms-violet-rgb),.055) 36%,transparent 68%);filter:blur(8px);pointer-events:none}
.home-v21 .v2-hero-art::before{opacity:.25;background:linear-gradient(90deg,transparent 49.96%,var(--v2-line) 50%,transparent 50.04%),linear-gradient(180deg,transparent 73.96%,var(--v2-line) 74%,transparent 74.04%)}
.home-v21 .v21-trajectory{position:absolute;inset:7% -4% 7% 17%;transform:translate3d(var(--v21-hero-x,0),var(--v21-hero-y,0),0);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.home-v21 .v21-trajectory svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.home-v21 .v21-flight-path{fill:none;stroke:url(#v21-flight-gradient);stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1650;stroke-dashoffset:1650;animation:v21-path-draw 1.8s .25s cubic-bezier(.2,.8,.2,1) forwards}
.home-v21 .v21-flight-path--ghost{stroke:currentColor;opacity:.09;stroke-width:1;stroke-dasharray:5 12;stroke-dashoffset:0;animation:none}
.home-v21 .v21-flight-node{fill:var(--bg);stroke:var(--v21-cyan);stroke-width:2;vector-effect:non-scaling-stroke}
.home-v21 .v21-flight-node.node-b{stroke:var(--v21-magenta)}
.home-v21 .v21-flight-runner{position:absolute;left:3.9%;top:87.5%;width:10px;height:10px;border-radius:50%;background:var(--v21-acid);box-shadow:0 0 0 6px rgba(231,255,55,.09),0 0 26px rgba(231,255,55,.45);offset-path:path("M 70 665 C 245 620, 312 422, 455 452 S 680 410, 748 302 S 935 242, 1135 94");offset-distance:0%;animation:v21-flight-run 8.5s 1.9s cubic-bezier(.65,0,.35,1) infinite}
.home-v21 .v21-coord{position:absolute;font:700 .54rem var(--v21-mono);letter-spacing:.1em;color:var(--subtle);background:color-mix(in srgb,var(--bg) 72%,transparent);padding:3px 5px}
.home-v21 .coord-a{left:34%;top:54%}.home-v21 .coord-b{left:61%;top:35%}.home-v21 .coord-c{right:4%;top:10%}
.home-v21 .v21-cross{position:absolute;font:300 1.1rem/1 var(--v21-grotesk);color:var(--subtle);opacity:.7}.home-v21 .cross-a{left:27%;top:22%}.home-v21 .cross-b{right:14%;bottom:18%}
.home-v21 .v2-hero-shell{z-index:3}
.home-v21 .v2-title{position:relative}
.home-v21 .v2-title h1{font-family:var(--v21-grotesk);font-weight:800;letter-spacing:-.078em;max-width:1200px;text-wrap:balance}
.home-v21 .v21-word--ideas{font-family:var(--v21-serif);font-style:italic;font-weight:400;letter-spacing:-.06em;background:linear-gradient(100deg,var(--v21-cyan) 0%,#75a7ff 38%,var(--v21-violet) 68%,var(--v21-magenta) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.05em}
.home-v21 .v21-word--solutions{font-family:var(--v21-grotesk);font-style:normal;font-weight:800;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--text) 86%,transparent);position:relative}
.home-v21 .v21-word--solutions::after{content:"";position:absolute;left:0;right:0;bottom:.05em;height:.07em;background:linear-gradient(90deg,var(--v21-blue,#3b82f6),var(--v21-violet),var(--v21-magenta));transform:scaleX(.7);transform-origin:left}
.home-v21 .v2-hero-foot{padding-bottom:24px}
.home-v21 .v21-discipline-rail{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--v2-line);margin-top:12px;overflow:hidden}
.home-v21 .v21-discipline-rail span{position:relative;padding:11px 12px 10px;border-right:1px solid var(--v2-line);font:700 .52rem var(--v21-mono);letter-spacing:.1em;color:var(--subtle)}
.home-v21 .v21-discipline-rail span:last-child{border-right:0}
.home-v21 .v21-discipline-rail span::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--rail-color,var(--v21-blue,#3b82f6));transform:scaleX(.16);transform-origin:left;transition:transform .35s var(--ease)}
.home-v21 .v21-discipline-rail span:hover::before{transform:scaleX(1)}
.home-v21 .v21-discipline-rail span:nth-child(1){--rail-color:var(--v21-magenta)}.home-v21 .v21-discipline-rail span:nth-child(2){--rail-color:var(--v21-violet)}.home-v21 .v21-discipline-rail span:nth-child(3){--rail-color:var(--v21-cyan)}.home-v21 .v21-discipline-rail span:nth-child(4){--rail-color:var(--v21-orange)}.home-v21 .v21-discipline-rail span:nth-child(5){--rail-color:#83d8ff}.home-v21 .v21-discipline-rail span:nth-child(6){--rail-color:#3b82f6}

/* Statement — off-white editorial interruption in both themes. */
.home-v21 .v2-statement{position:relative;background:var(--v21-paper);color:var(--v21-ink);border-color:rgba(7,16,31,.16);overflow:hidden}
.home-v21 .v2-statement .v2-index,.home-v21 .v2-statement p{color:#506070}
.home-v21 .v2-statement h2 em{color:var(--v21-magenta);font-family:var(--v21-serif);font-style:italic;font-weight:400}
.home-v21 .v21-section-mark{position:absolute;right:3.5vw;top:58px;display:grid;grid-template-columns:auto 80px auto;align-items:center;gap:12px;color:#7a8290;font:700 .55rem var(--v21-mono);letter-spacing:.1em;transform:rotate(-7deg)}
.home-v21 .v21-section-mark i{height:1px;background:#9da4ad}

/* SERVICES — full chromatic response instead of component-card hover. */
.home-v21 .v2-services{background:var(--bg);position:relative}
.home-v21 .v2-service-list>a{isolation:isolate;overflow:hidden;transition:color .28s var(--ease),padding .28s var(--ease),border-color .28s var(--ease)}
.home-v21 .v2-service-list>a::before{display:none}
.home-v21 .v2-service-list>a::after{content:"";position:absolute;z-index:-1;inset:0;background:var(--v21-row);transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.16,1,.3,1)}
.home-v21 .v2-service-list>a>*{position:relative;z-index:1}
.home-v21 .v2-service-list>a:hover,.home-v21 .v2-service-list>a:focus-visible{color:var(--v21-row-ink,#fff);padding-left:24px}
.home-v21 .v2-service-list>a:hover::after,.home-v21 .v2-service-list>a:focus-visible::after{transform:scaleX(1)}
.home-v21 .v2-service-list>a:hover span,.home-v21 .v2-service-list>a:hover p,.home-v21 .v2-service-list>a:focus-visible span,.home-v21 .v2-service-list>a:focus-visible p{color:color-mix(in srgb,var(--v21-row-ink,#fff) 78%,transparent)}
.home-v21 .v2-service-list>a[data-v21-tone="magenta"]{--v21-row:#c40083;--v21-row-ink:#fff}
.home-v21 .v2-service-list>a[data-v21-tone="blue"]{--v21-row:#2358f5;--v21-row-ink:#fff}
.home-v21 .v2-service-list>a[data-v21-tone="violet"]{--v21-row:#7043e8;--v21-row-ink:#fff}
.home-v21 .v2-service-list>a[data-v21-tone="cyan"]{--v21-row:#26d8e7;--v21-row-ink:#07101f}
.home-v21 .v2-service-list>a[data-v21-tone="acid"]{--v21-row:#e7ff37;--v21-row-ink:#07101f}
.home-v21 .v2-service-list>a[data-v21-tone="ice"]{--v21-row:#a6e1ff;--v21-row-ink:#07101f}
.home-v21 .v2-service-list>a[data-v21-tone="orange"]{--v21-row:#ff6843;--v21-row-ink:#07101f}

/* INTEGRATED — fixed electric-blue brand moment. */
.home-v21 .v2-integrated{background:var(--v21-electric);color:#fff;min-height:720px;display:flex;align-items:center}
.home-v21 .v2-integrated::after{width:790px;height:790px;right:-290px;top:-360px;border-color:rgba(255,255,255,.22)}
.home-v21 .v2-integrated::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(0,0,0,.11),transparent 38%),radial-gradient(circle at 78% 76%,rgba(217,0,151,.32),transparent 33%);pointer-events:none}
.home-v21 .v2-ribbon{opacity:.85}.home-v21 .v2-ribbon span{color:rgba(255,255,255,.7)}.home-v21 .v2-ribbon i{background:rgba(255,255,255,.65)}
.home-v21 .v2-integrated .v2-index{color:rgba(255,255,255,.64)}
.home-v21 .v2-integrated h2{position:relative;z-index:2;font-size:clamp(3.4rem,6.7vw,7.4rem)}
.home-v21 .v2-integrated .lead,.home-v21 .v2-scenario p{color:rgba(255,255,255,.75)}
.home-v21 .v2-scenario{position:relative;grid-template-columns:46px 122px 1fr;border-color:rgba(255,255,255,.25);align-items:start}
.home-v21 .v2-scenario:last-child{border-color:rgba(255,255,255,.25)}
.home-v21 .v21-scenario-node{font:700 .54rem var(--v21-mono);font-style:normal;color:var(--v21-acid);padding-top:2px}
.home-v21 .v21-integrated-type{position:absolute;inset:0;pointer-events:none;overflow:hidden;font-family:var(--v21-grotesk);font-weight:900;letter-spacing:-.1em;line-height:.7;color:rgba(255,255,255,.055)}
.home-v21 .v21-integrated-type span:first-child{position:absolute;left:-3vw;top:16%;font-size:clamp(10rem,28vw,30rem)}
.home-v21 .v21-integrated-type span:last-child{position:absolute;right:-7vw;bottom:-2%;font-size:clamp(8rem,22vw,24rem)}

/* WORK — bespoke posters, spatial interaction, no uniform cards. */
.home-v21 .v2-work{background:var(--bg)}
.home-v21 .v2-feature{position:relative;grid-template-columns:1.55fr .45fr;min-height:650px;border-top:0}
.home-v21 .v2-poster{min-height:650px;background:linear-gradient(125deg,#070d18 0 34%,#164ba8 34% 49%,#6d37e6 49% 62%,#d90097 62% 77%,#ff6a3d 77% 100%);transform-origin:center;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.home-v21 .v2-poster:hover{transform:scale(.992)}
.home-v21 .v2-poster::before{inset:6.5%;border-color:rgba(255,255,255,.36)}
.home-v21 .v2-poster::after{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(102deg,transparent 0 42px,rgba(255,255,255,.08) 43px 44px,transparent 45px 84px);transform:translateX(-8%);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.home-v21 .v2-poster:hover::after{transform:translateX(5%)}
.home-v21 .v2-poster>strong{z-index:1;mix-blend-mode:soft-light}
.home-v21 .v2-poster>i{z-index:2;width:64%;height:4px;background:var(--v21-acid);box-shadow:0 0 26px rgba(231,255,55,.25)}
.home-v21 .v2-poster .top,.home-v21 .v2-poster>small,.home-v21 .v21-poster-code{z-index:3}
.home-v21 .v21-poster-code{position:absolute;left:8%;top:22%;font:700 .52rem/1.5 var(--v21-mono);letter-spacing:.11em;color:rgba(255,255,255,.7);transform:rotate(-18deg)}
.home-v21 .v2-feature-copy{padding-left:54px}
.home-v21 .v2-project-grid{grid-template-columns:1.16fr .84fr;align-items:start;gap:8vw}
.home-v21 .v2-project:nth-child(2){margin-top:128px}
.home-v21 .v2-project .art{min-height:520px;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.home-v21 .v2-project:hover .art{transform:translateY(-7px)}
.home-v21 .v2-project .demand{background:var(--v21-acid);color:var(--v21-ink)}
.home-v21 .v2-project .demand::before{content:"";position:absolute;width:52%;aspect-ratio:1;border:1px solid rgba(7,16,31,.42);border-radius:50%;right:-6%;top:12%}
.home-v21 .v21-demand-orbit{position:absolute;width:28%;aspect-ratio:1;border:1px dashed rgba(7,16,31,.55);border-radius:50%;right:6%;top:24%;animation:v21-orbit 15s linear infinite}
.home-v21 .v21-demand-cross{position:absolute;right:17%;top:34%;font:300 3.5rem var(--v21-grotesk)}
.home-v21 .v2-project .live{background:#160b24}
.home-v21 .v2-project .live::before{background:repeating-linear-gradient(118deg,transparent 0 24px,rgba(217,0,151,.24) 25px 27px,transparent 28px 48px)}
.home-v21 .v2-project .live::after{content:"";position:absolute;left:-10%;right:-10%;top:54%;height:35%;background:linear-gradient(90deg,#2358f5,#8b5cf6,#d90097);transform:rotate(-11deg);opacity:.8}
.home-v21 .v2-project .live>strong,.home-v21 .v2-project .live>small{z-index:2}
.home-v21 .v21-live-beam{position:absolute;z-index:3;left:7%;right:7%;top:25%;height:2px;background:var(--v21-acid);transform:rotate(8deg);box-shadow:0 0 18px rgba(231,255,55,.45)}
.home-v21 .v21-project-cursor{position:absolute;z-index:8;left:0;top:0;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--v21-acid);color:var(--v21-ink);font:800 .57rem var(--v21-mono);letter-spacing:.05em;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.72);transition:opacity .18s,transform .22s cubic-bezier(.16,1,.3,1)}
.home-v21 [data-cursor-zone].is-cursor-active .v21-project-cursor{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* PRODUCTS — deliberately tech, because this is where product UI belongs. */
.home-v21 .v2-products{position:relative;overflow:hidden;background:#07101f;color:#eef6ff;border-color:#1a3049}
.home-v21 .v2-products .v2-index,.home-v21 .v2-products p,.home-v21 .v2-products .v2-product-lines span,.home-v21 .v2-products .v2-product-lines em{color:#8297af}
.home-v21 .v2-products .v2-link{color:#eef6ff;border-color:#47617c}
.home-v21 .v21-tech-grid{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(59,130,246,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.55) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,transparent 0,#000 44%,#000 100%)}
.home-v21 .v2-products-grid{position:relative;z-index:1}
.home-v21 .v2-product-lines{border-color:#1a3049}
.home-v21 .v2-product-lines a{position:relative;grid-template-columns:56px 1fr auto 104px;border-color:#1a3049;overflow:hidden;transition:background .28s,color .28s}
.home-v21 .v2-product-lines a::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(59,130,246,.13),rgba(139,92,246,.09),transparent 68%);transform:translateX(-100%);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.home-v21 .v2-product-lines a:hover::before{transform:none}
.home-v21 .v2-product-lines strong,.home-v21 .v2-product-lines em,.home-v21 .v2-product-lines span,.home-v21 .v21-product-signal{position:relative;z-index:1}
.home-v21 .v21-product-signal{display:grid;grid-template-columns:repeat(3,6px);justify-content:end;align-items:end;gap:4px;height:32px;font-style:normal}
.home-v21 .v21-product-signal b{display:block;width:6px;background:var(--v21-cyan)}.home-v21 .v21-product-signal b:nth-child(1){height:9px}.home-v21 .v21-product-signal b:nth-child(2){height:18px;background:var(--v21-violet)}.home-v21 .v21-product-signal b:nth-child(3){height:27px;background:var(--v21-magenta)}
.home-v21 .v21-product-signal span{position:absolute;right:34px;bottom:-5px;white-space:nowrap;font:700 .46rem var(--v21-mono);letter-spacing:.1em;color:#627891}

/* PROCESS — one visible progress gesture, not six decorative cards. */
.home-v21 .v2-process{position:relative}
.home-v21 .v21-process-meter{display:grid;grid-template-columns:36px 1fr 36px;gap:13px;align-items:center;margin:52px 0 16px;font:700 .54rem var(--v21-mono);color:var(--subtle)}
.home-v21 .v21-process-meter>i{position:relative;display:block;height:1px;background:var(--v2-line);font-style:normal}
.home-v21 .v21-process-meter>i>b{position:absolute;left:0;top:0;height:2px;width:var(--v21-process-progress,0%);background:linear-gradient(90deg,var(--v21-blue,#3b82f6),var(--v21-violet),var(--v21-magenta));transform:translateY(-.5px);transition:width .12s linear}
.home-v21 .v21-process-meter>i>em{position:absolute;left:var(--v21-process-progress,0%);top:50%;width:11px;height:11px;border-radius:50%;background:var(--v21-acid);box-shadow:0 0 0 5px color-mix(in srgb,var(--v21-acid) 12%,transparent);transform:translate(-50%,-50%);transition:left .12s linear}
.home-v21 .v2-process ol{margin-top:0}
.home-v21 .v2-process li{transition:opacity .28s,color .28s,padding .28s}
.home-v21 .v2-process ol:has(li.is-current) li:not(.is-current){opacity:.5}
.home-v21 .v2-process li.is-current{padding-left:12px}.home-v21 .v2-process li.is-current strong{color:rgb(var(--ms-blue-rgb))}

/* HISTORY remains acid: it has become a signature moment. */
.home-v21 .v2-history{position:relative;background:var(--v21-acid);overflow:hidden}
.home-v21 .v2-history::after{content:"MS / ORIGIN";position:absolute;right:-1vw;top:10%;font:900 clamp(5rem,15vw,15rem)/.7 var(--v21-grotesk);letter-spacing:-.08em;color:rgba(7,16,31,.055);transform:rotate(90deg) translateX(80%);transform-origin:right top;pointer-events:none}
.home-v21 .v2-history .number strong{text-shadow:8px 8px 0 rgba(255,255,255,.22)}

/* TRUST — a deliberate paper page, not another dark rectangle. */
.home-v21 .v2-trust{background:#f2f0e9;color:var(--v21-ink);border-bottom:1px solid rgba(7,16,31,.14)}
.home-v21 .v2-trust .v2-index,.home-v21 .v2-trust p,.home-v21 .v2-trust .v2-clients span,.home-v21 .v2-trust .v2-empty-metric small{color:#65707c}
.home-v21 .v2-trust .v2-clients,.home-v21 .v2-trust .v2-clients span,.home-v21 .v2-trust .v2-empty-metric{border-color:rgba(7,16,31,.18)}
.home-v21 .v2-trust-head h2{font-family:var(--v21-serif);font-style:italic;font-weight:400;letter-spacing:-.045em}
.home-v21 .v2-clients span{transition:background .25s,color .25s}.home-v21 .v2-clients span:hover{background:var(--v21-ink);color:var(--v21-acid)}

/* CTA — poster-like spectrum, with the acid reserved for the action. */
.home-v21 .v2-cta{position:relative;overflow:hidden;isolation:isolate;background:#090d19;color:#fff;padding:155px 0 120px}
.home-v21 .v2-cta::before{content:"";position:absolute;z-index:-2;inset:-35%;background:conic-gradient(from 195deg at 52% 56%,#081324 0 18%,#164fb8 27%,#613fe3 42%,#c9008a 56%,#ff5b42 65%,#e7ff37 67%,#081324 74% 100%);filter:saturate(1.1);transform:rotate(-6deg) scale(1.06);animation:v21-spectrum 18s ease-in-out infinite alternate}
.home-v21 .v2-cta::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,16,31,.72),rgba(7,16,31,.14) 58%,rgba(7,16,31,.52)),repeating-linear-gradient(0deg,transparent 0 25px,rgba(255,255,255,.025) 26px 27px);pointer-events:none}
.home-v21 .v21-cta-marks{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;color:rgba(255,255,255,.65);font:700 .54rem var(--v21-mono);letter-spacing:.1em;margin-bottom:30px}
.home-v21 .v21-cta-marks i{height:1px;background:rgba(255,255,255,.3);grid-column:2}.home-v21 .v21-cta-marks b{font-size:1rem;font-weight:400;grid-column:3;grid-row:1}
.home-v21 .v2-cta>.container>.v2-index{display:none}
.home-v21 .v2-cta h2{display:flex;flex-direction:column;margin:0 0 34px;font-size:clamp(4.3rem,10.4vw,10.5rem);line-height:.77;letter-spacing:-.09em;text-transform:uppercase}
.home-v21 .v2-cta h2 span:nth-child(2){margin-left:16%;color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.82)}
.home-v21 .v2-cta h2 em{font-family:var(--v21-serif);font-weight:400;font-style:italic;text-transform:none;color:var(--v21-acid);margin-left:31%;letter-spacing:-.055em}
.home-v21 .v2-cta p{color:rgba(255,255,255,.72)}
.home-v21 .v2-cta .container>a{position:relative;border-color:rgba(255,255,255,.3);overflow:hidden;isolation:isolate}
.home-v21 .v2-cta .container>a::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--v21-acid);transform:scaleY(0);transform-origin:bottom;transition:transform .38s cubic-bezier(.16,1,.3,1)}
.home-v21 .v2-cta .container>a:hover{color:var(--v21-ink);border-color:var(--v21-acid)}
.home-v21 .v2-cta .container>a:hover::before{transform:scaleY(1)}

/* section-to-section color signatures */
.home-v21 .v2-services::before,.home-v21 .v2-work::before,.home-v21 .v2-process::before{content:"";display:block;position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--v21-cyan) 0 18%,#3b82f6 18% 42%,var(--v21-violet) 42% 67%,var(--v21-magenta) 67% 84%,var(--v21-acid) 84%)}
.home-v21 .v2-work,.home-v21 .v2-process{position:relative}

@keyframes v21-path-draw{to{stroke-dashoffset:0}}
@keyframes v21-flight-run{0%,10%{offset-distance:0%;opacity:0}16%{opacity:1}74%{opacity:1}82%,100%{offset-distance:100%;opacity:0}}
@keyframes v21-orbit{to{transform:rotate(360deg)}}
@keyframes v21-spectrum{0%{transform:rotate(-7deg) scale(1.06) translate3d(-1%,0,0)}100%{transform:rotate(2deg) scale(1.12) translate3d(3%,-2%,0)}}

@media(max-width:1000px){
  .home-v21 .v21-trajectory{inset:11% -20% 20% 18%;opacity:.72}
  .home-v21 .v21-discipline-rail{grid-template-columns:repeat(3,1fr)}
  .home-v21 .v21-discipline-rail span:nth-child(3n){border-right:0}
  .home-v21 .v21-discipline-rail span:nth-child(-n+3){border-bottom:1px solid var(--v2-line)}
  .home-v21 .v2-feature{grid-template-columns:1fr}.home-v21 .v2-feature-copy{padding-left:0}
  .home-v21 .v2-project-grid{gap:28px}.home-v21 .v2-project:nth-child(2){margin-top:70px}
  .home-v21 .v2-product-lines a{grid-template-columns:48px 1fr auto 90px}
}
@media(max-width:680px){
  .home-v21 .v2-hero{padding-top:92px}
  .home-v21 .v21-trajectory{inset:7% -95% 24% 8%;opacity:.58}
  .home-v21 .v21-coord,.home-v21 .v21-cross{display:none}
  .home-v21 .v2-title{min-height:48vh}
  .home-v21 .v2-title h1{font-size:clamp(3.45rem,15.5vw,5.35rem);line-height:.82}
  .home-v21 .v21-word--solutions{-webkit-text-stroke-width:1px}
  .home-v21 .v21-word--solutions::after{height:.055em}
  .home-v21 .v21-discipline-rail{margin-top:18px;grid-template-columns:1fr 1fr}
  .home-v21 .v21-discipline-rail span{padding:10px 8px;font-size:.46rem}.home-v21 .v21-discipline-rail span:nth-child(3n){border-right:1px solid var(--v2-line)}.home-v21 .v21-discipline-rail span:nth-child(even){border-right:0}.home-v21 .v21-discipline-rail span:nth-child(-n+4){border-bottom:1px solid var(--v2-line)}
  .home-v21 .v21-section-mark{display:none}
  .home-v21 .v2-service-list>a{transition:color .3s,background .3s;padding .3s}.home-v21 .v2-service-list>a::after{transform:scaleX(.018);transform-origin:left}.home-v21 .v2-service-list>a.is-mobile-active::after{transform:scaleX(1)}.home-v21 .v2-service-list>a.is-mobile-active{color:var(--v21-row-ink,#fff);padding-left:13px}.home-v21 .v2-service-list>a.is-mobile-active span,.home-v21 .v2-service-list>a.is-mobile-active p{color:color-mix(in srgb,var(--v21-row-ink,#fff) 76%,transparent)}
  .home-v21 .v2-integrated{min-height:0}.home-v21 .v2-scenario{grid-template-columns:34px 1fr;gap:7px}.home-v21 .v2-scenario p{grid-column:2}.home-v21 .v21-integrated-type span:first-child{font-size:13rem}.home-v21 .v21-integrated-type span:last-child{font-size:10rem}
  .home-v21 .v2-feature{min-height:0}.home-v21 .v2-poster{min-height:460px}.home-v21 .v2-project-grid{grid-template-columns:1fr;gap:62px}.home-v21 .v2-project:nth-child(2){margin-top:0}.home-v21 .v2-project .art{min-height:390px}
  .home-v21 .v21-project-cursor{display:none}
  .home-v21 .v2-products-grid{gap:48px}.home-v21 .v2-product-lines a{grid-template-columns:36px 1fr auto;min-height:116px}.home-v21 .v21-product-signal{display:none}.home-v21 .v2-product-lines em{grid-column:auto}
  .home-v21 .v21-process-meter{margin-top:34px}
  .home-v21 .v2-process ol:has(li.is-current) li:not(.is-current){opacity:.72}
  .home-v21 .v2-history::after{display:none}
  .home-v21 .v2-cta{padding:105px 0 86px}.home-v21 .v2-cta h2{font-size:clamp(4rem,18vw,6.6rem)}.home-v21 .v2-cta h2 span:nth-child(2){margin-left:4%}.home-v21 .v2-cta h2 em{margin-left:10%}
}
@media(hover:none){.home-v21 .v21-project-cursor{display:none}}
@media(prefers-reduced-motion:reduce){
  .home-v21 .v21-flight-path{stroke-dashoffset:0;animation:none}
  .home-v21 .v21-flight-runner,.home-v21 .v21-demand-orbit,.home-v21 .v2-cta::before{animation:none}
  .home-v21 .v21-trajectory{transform:none;transition:none}
  .home-v21 .v2-poster::after,.home-v21 .v2-poster,.home-v21 .v2-project .art,.home-v21 .v21-process-meter>i>b,.home-v21 .v21-process-meter>i>em{transition:none}
}
