:root {
  --ink: #050a15;
  --blue: #155eef;
  --blue-bright: #0b6cff;
  --steel: #a5adbc;
  --mist: #edf0f4;
  --paper: #f7f8fa;
  --white: #ffffff;
  --line: rgba(5, 10, 21, 0.14);
  --page-gutter: clamp(22px, 4vw, 68px);
  --nav-height: 74px;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --global-reveal-x: 50vw;
  --global-reveal-y: 50vh;
  --workflow-green-gradient: radial-gradient(circle at 82% 18%, rgba(255,255,255,.82) 0, rgba(255,255,255,0) 38%), linear-gradient(145deg, #e9f3eb 0%, #cfe2d3 52%, #b5ceb9 100%);
  --workflow-blue-gradient: radial-gradient(circle at 82% 18%, rgba(255,255,255,.82) 0, rgba(255,255,255,0) 38%), linear-gradient(145deg, #e8f1f9 0%, #cedfec 52%, #b4cae1 100%);
  --workflow-orange-gradient: radial-gradient(circle at 82% 18%, rgba(255,255,255,.82) 0, rgba(255,255,255,0) 38%), linear-gradient(145deg, #f9ede1 0%, #ebd5bc 52%, #d8b58e 100%);
  --workflow-green-accent: #5d8b65;
  --workflow-blue-accent: #527eaf;
  --workflow-orange-accent: #ad7445;
  --capability-neutral-gradient: radial-gradient(circle at 82% 18%, rgba(255,255,255,.96) 0, rgba(255,255,255,0) 40%), linear-gradient(145deg, #ffffff 0%, #f5f7f8 55%, #ebeff2 100%);
  --capability-green-gradient: radial-gradient(circle at 82% 18%, rgba(255,255,255,.94) 0, rgba(255,255,255,0) 40%), linear-gradient(145deg, #fbfdfb 0%, #f1f6f2 55%, #e4ede6 100%);
  --capability-orange-gradient: radial-gradient(circle at 82% 18%, rgba(255,255,255,.94) 0, rgba(255,255,255,0) 40%), linear-gradient(145deg, #fefcf9 0%, #f8f2ec 55%, #eee2d6 100%);
  --capability-neutral-accent: #7b8794;
  --capability-green-accent: #78927d;
  --capability-orange-accent: #9c8066;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.menu-open { overflow: hidden; }

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }

::selection { color: var(--white); background: var(--blue); }

.loader {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 36px var(--page-gutter);
  color: var(--white);
  background: var(--ink);
  transition: transform 1s var(--ease-out) .18s;
}

body.is-ready .loader { transform: translateY(-101%); }

.loader__mark { display: flex; align-items: center; gap: 12px; font: 600 18px/1 "Manrope", sans-serif; letter-spacing: -.04em; }
.loader__mark img { width: 28px; height: 28px; filter: invert(1); }
.loader__count { font: 500 clamp(54px, 8vw, 120px)/.8 "Manrope", sans-serif; letter-spacing: -.08em; }

.global-cad-grid, .hero__sticky::before { opacity: 0; pointer-events: none; background-image: linear-gradient(rgba(21,94,239,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(21,94,239,.12) 1px, transparent 1px); background-position: 0 0; background-size: 32px 32px; -webkit-mask-image: radial-gradient(circle 220px at var(--global-reveal-x) var(--global-reveal-y), #000 0, #000 138px, transparent 220px); mask-image: radial-gradient(circle 220px at var(--global-reveal-x) var(--global-reveal-y), #000 0, #000 138px, transparent 220px); transition: opacity .18s var(--ease-out); }
.global-cad-grid { position: fixed; z-index: 150; inset: 0; }
body.is-pointer-active .global-cad-grid { opacity: 1; }
body.is-hero-reveal-active .global-cad-grid { opacity: 0; transition: none; }
body.is-workflow-reveal-active .global-cad-grid { opacity: 0; transition: none; }
body.is-capability-tilt-active .global-cad-grid { opacity: 0; transition: none; }

.site-nav {
  position: fixed;
  z-index: 180;
  top: 12px;
  left: 14px;
  width: calc(100% - 28px);
  height: 58px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(18px, 2.2vw, 36px);
  color: var(--ink);
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 19px;
  background: rgba(247, 248, 250, .4);
  box-shadow: 0 2px 12px rgba(7, 17, 34, .025);
  backdrop-filter: blur(18px) saturate(1.24);
  -webkit-backdrop-filter: blur(18px) saturate(1.24);
  transition: color .45s, background-color .45s, border-color .45s, box-shadow .45s, transform .45s var(--ease-out);
}

.site-nav.is-scrolled,
.site-nav.is-dark {
  color: var(--ink);
  border-color: rgba(255, 255, 255, .55);
  background: rgba(244, 247, 251, .66);
  box-shadow: 0 16px 42px rgba(7, 17, 34, .11), inset 0 1px 0 rgba(255,255,255,.66);
  backdrop-filter: blur(26px) saturate(1.35);
  -webkit-backdrop-filter: blur(26px) saturate(1.35);
}

.brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; white-space: nowrap; }
.brand img { width: 28px; height: 28px; object-fit: contain; transform: translateY(-.5px) scale(1.18); transition: filter .45s; }
.brand__wordmark { display: inline-flex; align-items: baseline; gap: 5px; }
.brand__wordmark strong { font: 700 16px/1 "Manrope", sans-serif; letter-spacing: -.025em; }
.brand__wordmark small { font: 500 12px/1 "Manrope", sans-serif; letter-spacing: .005em; opacity: .62; }
.site-nav.is-dark .brand img { filter: none; }

.nav-links { display: flex; align-items: center; gap: clamp(20px, 2.7vw, 46px); }
.nav-links a, .nav-language { position: relative; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.nav-links a::after { content: ""; position: absolute; right: 0; bottom: -8px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .35s var(--ease-out); }
.nav-links a:hover::after { transform: scaleX(1); transform-origin: left; }
.nav-actions { justify-self: end; display: flex; align-items: center; gap: 22px; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
  transition: transform .3s var(--ease-out), background-color .3s, color .3s;
}

.button:hover { transform: translateY(-3px); }
.button span { transition: transform .3s var(--ease-out); }
.button:hover span { transform: translate(3px, -3px); }
.button--nav { min-height: 38px; padding: 0 17px; gap: 16px; color: var(--white); background: linear-gradient(135deg, #1e61e7, #17499f); box-shadow: 0 5px 14px rgba(21,94,239,.25), inset 0 1px 0 rgba(255,255,255,.28); }
.site-nav.is-dark .button--nav { color: var(--white); background: linear-gradient(135deg, #1e61e7, #17499f); }
.button--primary { color: var(--white); background: var(--ink); }
.button--primary:hover { background: var(--blue); }

.menu-button { display: none; width: 42px; height: 42px; border: 0; color: inherit; background: transparent; }
.menu-button span { display: block; width: 20px; height: 1px; margin: 6px auto; background: currentColor; transition: transform .3s, opacity .3s; }

.scroll-scene { position: relative; }
.scene-sticky { position: relative; min-height: 100svh; overflow: hidden; }
.content-section { padding: clamp(100px, 12vw, 190px) var(--page-gutter); }
.section-index { font: 600 10px/1 "Inter", sans-serif; text-transform: uppercase; letter-spacing: .14em; color: var(--blue); }
.section-index--light { color: #7aa2ff; }

.eyebrow { margin: 0; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; }

.hero { min-height: 100svh; background: var(--paper); --hero-p: 0; --hero-reveal-radius: 220px; --hero-reveal-feather: 82px; }
.hero__sticky { display: flex; flex-direction: column; justify-content: flex-start; padding: calc(var(--nav-height) + 5vh) var(--page-gutter) 24px; }
.hero__sticky::before { content: ""; position: absolute; z-index: 1; inset: 0; background-attachment: fixed; }
.hero.is-cad-active .hero__sticky::before { opacity: 1; }
.hero__copy { position: relative; z-index: 7; display: flex; flex-direction: column; align-items: center; text-align: center; transform: translateY(calc(var(--hero-p) * -90vh)); }
.hero__eyebrow { margin-bottom: 4vh; color: #79808d; }
.hero h1 { position: relative; margin: 0; font: 500 clamp(44px, 6.1vw, 96px)/.95 "Manrope", sans-serif; letter-spacing: -.075em; }
.hero h1 > span { display: block; }
.hero__line--quiet { color: #aab1bc; }
.hero__line--strong { color: var(--ink); }
.hero__line--strong em { color: var(--blue); font-style: normal; }
.hero__intro { max-width: 670px; margin: 3vh 0 0; color: #68707d; font-size: clamp(13px, 1.1vw, 16px); line-height: 1.65; }
.hero__actions { display: flex; align-items: center; gap: 28px; margin-top: 3vh; }
.text-link { display: inline-flex; align-items: center; gap: 12px; padding: 10px 0; font-size: 12px; font-weight: 600; border-bottom: 1px solid var(--ink); }

.hero-visual {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: -14vh;
  width: min(96vw, 1460px, 114vh);
  height: min(62vw, 70vh);
  min-height: 520px;
  overflow: visible;
  background: radial-gradient(circle at 47% 55%, rgba(21,94,239,.08), transparent 42%);
  transform: translateX(-50%) translateY(calc(var(--hero-p) * -150vh));
  isolation: isolate;
}

.hero-composition { position: absolute; inset: 0; container-type: size; --central-mask-size: 64cqw; --central-mask-left: 19cqw; --central-mask-top: calc(78cqh - 32cqw); }
.hero-composition--product { z-index: 1; }
.hero-composition--cad { z-index: 4; top: -50%; bottom: -50%; opacity: 0; pointer-events: none; -webkit-mask-image: radial-gradient(circle var(--hero-reveal-radius) at var(--reveal-x, 50%) calc(25% + var(--reveal-y, 25%)), #000 0, #000 calc(var(--hero-reveal-radius) - var(--hero-reveal-feather)), transparent var(--hero-reveal-radius)); mask-image: radial-gradient(circle var(--hero-reveal-radius) at var(--reveal-x, 50%) calc(25% + var(--reveal-y, 25%)), #000 0, #000 calc(var(--hero-reveal-radius) - var(--hero-reveal-feather)), transparent var(--hero-reveal-radius)); transition: opacity .18s var(--ease-out); }
.hero-composition__canvas { position: absolute; top: 25%; right: 0; left: 0; height: 50%; container-type: size; }
.hero.is-cad-active .hero-composition--cad { opacity: 1; }
.hero-side-parts {
  position: absolute;
  z-index: 1;
  top: -50%;
  right: 0;
  bottom: -50%;
  left: 0;
  filter: drop-shadow(0 22px 24px rgba(5,10,21,.12));
}
.hero-side-parts__mask {
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000 0 0), url("assets/generated/mechanical-hero-separation-mask.svg?v=vector");
  -webkit-mask-position: 0 0, var(--central-mask-left) calc(50cqh + var(--central-mask-top));
  -webkit-mask-size: 100% 100%, var(--central-mask-size) var(--central-mask-size);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: xor;
  mask-image: linear-gradient(#000 0 0), url("assets/generated/mechanical-hero-separation-mask.svg?v=vector");
  mask-position: 0 0, var(--central-mask-left) calc(50cqh + var(--central-mask-top));
  mask-size: 100% 100%, var(--central-mask-size) var(--central-mask-size);
  mask-repeat: no-repeat;
  mask-composite: exclude;
}
.hero-side-parts__canvas { position: absolute; top: 25%; right: 0; left: 0; height: 50%; }
.hero-part { position: absolute; aspect-ratio: 1; }
.hero-part img { width: 100%; height: 100%; object-fit: contain; }
.hero-part--central { z-index: 3; top: 78%; left: 51%; width: 64%; opacity: 1; transform: translate(-50%, -50%); }
.hero-part--impeller { z-index: 1; top: 76%; left: 20.1%; width: 39.5%; opacity: .74; transform: translate(-50%, -50%) rotate(-7deg); filter: saturate(.82); }
.hero-part--gripper { z-index: 2; top: 75%; left: 86%; width: 50.3%; opacity: .78; transform: translate(-50%, -50%) rotate(6deg); filter: saturate(.86); }
.hero-composition--cad .hero-side-parts { filter: drop-shadow(0 18px 18px rgba(21,94,239,.12)); }
.hero-composition--cad .hero-part { opacity: 1; filter: none; }
.hero-composition--cad .hero-part--central { filter: drop-shadow(0 18px 18px rgba(21,94,239,.12)); }
.scroll-cue { position: absolute; z-index: 5; right: 22px; top: 50%; display: flex; align-items: center; gap: 12px; transform: rotate(90deg); transform-origin: right top; opacity: calc(1 - var(--hero-p) * 2); }
.scroll-cue span { font-size: 9px; text-transform: uppercase; letter-spacing: .16em; }
.scroll-cue i { width: 44px; height: 1px; background: currentColor; }

.projects { min-height: 100svh; color: #f6f8fb; background: #050a15; --projects-p: 0; }
.projects__sticky { padding: calc(var(--nav-height) + 28px) var(--page-gutter) 36px; background: radial-gradient(ellipse at 50% 72%, rgba(24,80,192,.2), transparent 54%), linear-gradient(rgba(79,125,211,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(79,125,211,.045) 1px, transparent 1px), #050a15; background-size: auto, 58px 58px, 58px 58px, auto; }
.projects__heading { position: relative; z-index: 6; width: min(920px, 72%); margin: 3vh auto 0; text-align: center; }
.projects__heading h2 { margin: 0; font: 500 clamp(44px, 5.6vw, 84px)/.91 "Manrope", sans-serif; letter-spacing: -.075em; }
.projects__heading h2 span { display: inline; }
.projects__heading h2 span:first-child { color: #687385; }
.projects__heading p { max-width: 470px; margin: 16px auto 0; color: #8f99aa; font-size: clamp(10px, .82vw, 13px); line-height: 1.65; }
.projects .section-index { position: relative; z-index: 7; color: #77a4ff; text-align: center; }
.project-stage { position: absolute; z-index: 4; bottom: 5%; left: 50%; width: min(980px, 80vw); height: 55%; perspective: 1500px; transform: translateX(-50%); transform-style: preserve-3d; }
.project-card { position: absolute; top: 4%; left: 50%; width: 47%; height: 88%; overflow: hidden; color: white; border: 1px solid rgba(255,255,255,.11); border-radius: 26px; background: #0b1422; box-shadow: 0 24px 70px rgba(0,0,0,.3); transform-style: preserve-3d; transition: transform 280ms var(--ease-out), opacity 220ms ease, filter 220ms ease, border-color 220ms ease, box-shadow 280ms ease; will-change: transform, opacity; }
.project-card:nth-child(1) { z-index: 1; opacity: .7; transform: translate3d(calc(-109% + var(--project-pointer-x, 0) * -8px), calc(6% + var(--project-pointer-y, 0) * 5px), -120px) rotateY(12deg) rotateZ(-3deg); }
.project-card:nth-child(2) { z-index: 3; transform: translate3d(-50%, calc(var(--project-pointer-y, 0) * -6px), 30px) rotateX(calc(var(--project-pointer-y, 0) * -1.6deg)) rotateY(calc(var(--project-pointer-x, 0) * 2deg)); }
.project-card:nth-child(3) { z-index: 2; opacity: .7; transform: translate3d(calc(9% + var(--project-pointer-x, 0) * 8px), calc(6% + var(--project-pointer-y, 0) * 5px), -120px) rotateY(-12deg) rotateZ(3deg); }
.project-stage[data-active="0"] .project-card:nth-child(1) { z-index: 8; opacity: 1; transform: translate3d(calc(-109% + var(--project-pointer-x, 0) * -8px), calc(2% + var(--project-pointer-y, 0) * 3px), 160px) rotateY(5deg) rotateZ(-1.5deg) scale(1.075); }
.project-stage[data-active="2"] .project-card:nth-child(3) { z-index: 8; opacity: 1; transform: translate3d(calc(9% + var(--project-pointer-x, 0) * 8px), calc(2% + var(--project-pointer-y, 0) * 3px), 160px) rotateY(-5deg) rotateZ(1.5deg) scale(1.075); }
.project-stage[data-active="0"] .project-card:nth-child(2), .project-stage[data-active="2"] .project-card:nth-child(2) { z-index: 1; opacity: .42; transform: translate3d(-50%, calc(7% + var(--project-pointer-y, 0) * 3px), -220px) rotateX(calc(var(--project-pointer-y, 0) * -1deg)) scale(.91); filter: saturate(.72) brightness(.72); }
.project-stage[data-active="0"] .project-card:nth-child(1), .project-stage[data-active="1"] .project-card:nth-child(2), .project-stage[data-active="2"] .project-card:nth-child(3) { border-color: rgba(111,157,255,.5); box-shadow: 0 44px 110px rgba(0,0,0,.6); filter: none; }
.project-card img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; background: #0b1422; transition: transform 520ms var(--ease-out); }
.project-card__number { position: absolute; z-index: 3; top: 16px; left: 16px; display: grid; place-items: center; width: 36px; height: 36px; color: white; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(7,13,23,.62); box-shadow: 0 10px 30px rgba(0,0,0,.2); backdrop-filter: blur(14px); font-size: 9px; }
.project-card__caption { position: absolute; z-index: 3; right: 11px; bottom: 11px; left: 11px; display: grid; gap: 7px; padding: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(7,13,23,.64); box-shadow: 0 18px 45px rgba(0,0,0,.28); backdrop-filter: blur(20px) saturate(1.12); transition: background 220ms ease; }
.project-card__caption small { color: #8db2ff; text-transform: uppercase; letter-spacing: .1em; font-size: 7px; }
.project-card__caption strong { max-width: 340px; font: 500 clamp(18px, 1.7vw, 26px)/1.04 "Manrope", sans-serif; letter-spacing: -.05em; }
.project-card__caption > span { display: flex; align-items: center; justify-content: space-between; margin-top: 7px; color: #9aa6b8; font-size: 8px; }
.project-card__meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0 0; }
.project-card__meta div { padding-left: 8px; border-left: 1px solid rgba(255,255,255,.14); }
.project-card__meta dt { color: #768196; font-size: 6px; text-transform: uppercase; letter-spacing: .08em; }
.project-card__meta dd { margin: 3px 0 0; color: white; font-size: 8px; font-weight: 600; }
.project-card__open { position: absolute; z-index: 4; inset: 0; width: 100%; border: 0; border-radius: inherit; cursor: zoom-in; background: transparent; }
.project-card__open::after { content: "⛶"; position: absolute; top: 15px; right: 15px; display: grid; place-items: center; width: 44px; height: 44px; color: var(--white); border-radius: 50%; background: rgba(7,13,23,.68); box-shadow: 0 10px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.16); backdrop-filter: blur(14px); font-size: 17px; opacity: .72; transform: scale(.92); transition: opacity 220ms ease, transform 280ms var(--ease-out), background-color 220ms ease; }
.project-card__open:hover::after, .project-card__open:focus-visible::after { opacity: 1; transform: scale(1); background: rgba(21,94,239,.88); }
.project-card__open:focus-visible { outline: 2px solid #77a4ff; outline-offset: -5px; }
.project-carousel { display: none; }

body.is-project-lightbox-open { overflow: hidden; }
.project-lightbox { width: 100vw; max-width: none; height: 100svh; max-height: none; margin: 0; padding: 0; overflow: hidden; color: var(--white); border: 0; background: rgba(4,9,19,.98); opacity: 0; transition: opacity 180ms ease; }
.project-lightbox[open] { display: block; }
.project-lightbox.is-visible { opacity: 1; }
.project-lightbox::backdrop { background: rgba(2,6,14,.76); backdrop-filter: blur(12px); }
.project-lightbox__shell { display: grid; grid-template-rows: auto minmax(0, 1fr); width: 100%; height: 100%; padding: 18px; opacity: 0; transform: translateY(10px) scale(.985); transition: opacity 180ms ease, transform 220ms var(--ease-out); }
.project-lightbox.is-visible .project-lightbox__shell { opacity: 1; transform: translateY(0) scale(1); }
.project-lightbox__header { display: flex; align-items: center; gap: 12px; padding: 0 2px 16px; }
.project-lightbox__header span { color: #77a4ff; font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; }
.project-lightbox__header h2 { margin: 5px 0 0; font: 600 clamp(18px, 2vw, 28px)/1 "Manrope", sans-serif; letter-spacing: -.04em; }
.project-lightbox__back { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0 1px 1px 0; color: var(--white); border: 0; border-radius: 50%; cursor: pointer; background: rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); font-size: 20px; transition: background-color 180ms ease, transform 180ms var(--ease-out); }
.project-lightbox__back:hover, .project-lightbox__back:focus-visible { background: rgba(21,94,239,.86); }
.project-lightbox__back:active { transform: scale(.96); }
.project-lightbox__back:focus-visible { outline: 2px solid #77a4ff; outline-offset: 2px; }
.project-lightbox__viewport { min-width: 0; min-height: 0; display: grid; place-items: center; overflow: auto; border-radius: 18px; background: radial-gradient(circle at 50% 38%, rgba(35,80,166,.18), transparent 44%), #07101f; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); overscroll-behavior: contain; }
.project-lightbox__viewport img { width: auto; max-width: calc(100% - 48px); height: auto; max-height: calc(100svh - 126px); object-fit: contain; outline: 1px solid oklch(1 0 0 / .1); outline-offset: -1px; box-shadow: 0 32px 90px rgba(0,0,0,.48); }

.capabilities { min-height: 125svh; color: var(--ink); background: #f3f5f7; --capabilities-p: 0; --capabilities-in: 0; --capabilities-heading-in: 0; --capabilities-card-content-in: 0; --capabilities-title-clip: 100%; --capabilities-title-y: 22px; --capabilities-title-blur: 5px; }
.capabilities__sticky { min-height: 125svh; padding: calc(var(--nav-height) + 26px) var(--page-gutter) 24px; background: linear-gradient(180deg, #f7f8f9 0%, #eef1f4 100%); }
.capabilities__heading { position: relative; z-index: 2; display: grid; grid-template-columns: .33fr 1.67fr; gap: 5vw; opacity: var(--capabilities-heading-in); transform: translateY(calc((1 - var(--capabilities-heading-in)) * -18px)); transition: opacity 480ms ease, transform 720ms var(--ease-out); will-change: transform, opacity; }
.capabilities__heading > div:last-child { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 5vw; align-items: end; }
.capabilities h2 { max-width: 820px; margin: 2.6vh 0 0; font: 500 clamp(48px, 6vw, 92px)/.9 "Manrope", sans-serif; letter-spacing: -.075em; clip-path: inset(0 0 var(--capabilities-title-clip) 0); transform: translateY(var(--capabilities-title-y)); filter: blur(var(--capabilities-title-blur)); transition: clip-path 820ms var(--ease-out), transform 820ms var(--ease-out), filter 560ms ease; will-change: clip-path, transform, filter; }
.capabilities__heading p { max-width: 420px; margin: 0 0 .7vh; color: #747d89; font-size: clamp(11px, .9vw, 14px); line-height: 1.65; opacity: var(--capabilities-heading-in); transform: translateY(calc(var(--capabilities-title-y) * .55)); transition: opacity 420ms ease 120ms, transform 680ms var(--ease-out) 120ms; }
.capability-grid { position: absolute; z-index: 160; top: 39vh; right: var(--page-gutter); left: var(--page-gutter); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 2vw; perspective: 1400px; }
.capability-card { position: relative; min-height: 320px; opacity: var(--reveal, 0); transform: translateY(calc((1 - var(--reveal, 0)) * 54px)) scale(calc(.94 + var(--reveal, 0) * .06)); transform-origin: center bottom; transform-style: preserve-3d; will-change: transform, opacity; }
.capability-card:not(.capability-card--anchor) { transition: opacity 480ms ease, transform 720ms var(--ease-out); }
.capability-card:nth-child(3) { transition-delay: 45ms; }
.capability-card:nth-child(4) { transition-delay: 90ms; }
.capability-card:nth-child(5) { transition-delay: 135ms; }
.capability-card:nth-child(6) { transition-delay: 180ms; }
.capability-card--anchor { z-index: 4; opacity: var(--capabilities-in); transform: translateY(calc((1 - var(--capabilities-in)) * -25vh)); }
.capability-card__surface { position: relative; display: flex; min-height: 100%; overflow: hidden; flex-direction: column; padding: 22px 24px 20px; border-radius: 24px; background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(237,241,246,.9)); box-shadow: 0 20px 48px rgba(19,28,42,.09), inset 0 1px 0 rgba(255,255,255,.95); transform: perspective(950px) rotateX(0deg) rotateY(0deg) translateZ(0); transform-style: preserve-3d; transition: box-shadow 240ms ease, filter 240ms ease; will-change: transform; }
.capability-card__surface::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(125deg, rgba(255,255,255,.5), transparent 32%, transparent 70%, rgba(21,94,239,.05)); }
.capability-card--anchor .capability-card__surface { color: var(--ink); background: var(--workflow-blue-gradient); box-shadow: 0 24px 56px rgba(55,78,110,.16), inset 0 1px 0 rgba(255,255,255,.92); }
.capability-card--anchor .capability-card__surface::after { background: linear-gradient(125deg, rgba(255,255,255,.48), transparent 35%, transparent 72%, rgba(64,111,170,.08)); }
.capability-card--mechanical .capability-card__surface,
.capability-card--product .capability-card__surface,
.capability-card--documentation .capability-card__surface { background: var(--capability-neutral-gradient); }
.capability-card--prototype .capability-card__surface { background: var(--capability-orange-gradient); }
.capability-card--research .capability-card__surface { background: var(--capability-green-gradient); }
.capability-card--mechanical .capability-card__surface::after,
.capability-card--product .capability-card__surface::after,
.capability-card--documentation .capability-card__surface::after { background: linear-gradient(125deg, rgba(255,255,255,.54), transparent 38%, transparent 74%, rgba(66,78,92,.035)); }
.capability-card--prototype .capability-card__surface::after { background: linear-gradient(125deg, rgba(255,255,255,.54), transparent 38%, transparent 74%, rgba(140,95,54,.04)); }
.capability-card--research .capability-card__surface::after { background: linear-gradient(125deg, rgba(255,255,255,.54), transparent 38%, transparent 74%, rgba(70,112,78,.04)); }
.capability-card header, .capability-card__body, .capability-card ul { position: relative; z-index: 2; transform: translateZ(26px); }
.capability-card--anchor header, .capability-card--anchor .capability-card__body, .capability-card--anchor ul { opacity: var(--capabilities-card-content-in); transition: opacity 360ms ease; }
.capability-card--anchor .capability-card__body { transition-delay: 60ms; }
.capability-card--anchor ul { transition-delay: 120ms; }
.capability-card header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 15px; border-bottom: 1px solid rgba(8,18,34,.1); }
.capability-card header span { color: var(--blue); font-size: 11px; font-weight: 600; letter-spacing: .08em; }
.capability-card header small { color: rgba(34,46,63,.5); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.capability-card--mechanical header span,
.capability-card--product header span,
.capability-card--documentation header span { color: var(--capability-neutral-accent); }
.capability-card--prototype header span { color: var(--capability-orange-accent); }
.capability-card--research header span { color: var(--capability-green-accent); }
.capability-card--anchor header { border-color: rgba(8,18,34,.1); }
.capability-card--anchor header span { color: var(--workflow-blue-accent); }
.capability-card--anchor header small { color: rgba(34,46,63,.54); }
.capability-card__body { max-width: 82%; margin-top: 24px; }
.capability-card h3 { margin: 0; font: 500 clamp(22px, 2vw, 31px)/.98 "Manrope", sans-serif; letter-spacing: -.055em; }
.capability-card p { margin: 13px 0 0; color: rgba(34,46,63,.62); font-size: clamp(10px, .78vw, 12px); line-height: 1.5; }
.capability-card--anchor p { color: rgba(34,46,63,.64); }
.capability-card ul { display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 0; padding: 28px 0 0; list-style: none; transform: translateZ(18px); }
.capability-card li { padding: 6px 9px; color: #596474; border-radius: 999px; background: rgba(255,255,255,.65); font-size: 8px; letter-spacing: .03em; }
.capability-card--anchor li { color: #4b6788; background: rgba(255,255,255,.64); }
.capabilities__outcome { position: absolute; z-index: 2; right: var(--page-gutter); bottom: 3.5vh; display: flex; gap: .3em; margin: 0; font: 500 clamp(21px, 2vw, 32px)/1 "Manrope", sans-serif; letter-spacing: -.05em; opacity: clamp(0, calc((var(--capabilities-p) - .5) * 4), 1); }
.capabilities__outcome span { color: #87909c; }
.capabilities__outcome strong { color: var(--blue); font-weight: 500; }
@media (hover: hover) and (pointer: fine) {
  .capability-card::after { content: ""; position: absolute; z-index: 10; inset: -12px; }
  .capability-card:hover { z-index: 8; }
  .capability-card:hover .capability-card__surface { box-shadow: 0 34px 82px rgba(19,28,42,.19), inset 0 1px 0 rgba(255,255,255,.95); filter: saturate(1.06); }
  .capability-card--anchor:hover .capability-card__surface { box-shadow: 0 36px 86px rgba(55,78,110,.24), inset 0 1px 0 rgba(255,255,255,.92); }
}

.vision { min-height: 100svh; background: var(--paper); --vision-p: 0; }
.vision__sticky { display: grid; place-items: stretch; padding: calc(var(--nav-height) + 30px) var(--page-gutter) 48px; background: var(--paper); isolation: isolate; }
.vision-sphere { position: absolute; z-index: 0; top: 50%; left: 50%; width: 1350px; height: 1350px; max-width: none; opacity: .1; pointer-events: none; transform: translate(-50%,-50%); }
.vision-split { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(390px, .82fr) minmax(0, 1.18fr); gap: clamp(42px, 7vw, 110px); }
.vision-split__copy { margin-top: clamp(60px, 10vh, 100px); }
.vision h2 { max-width: 560px; margin: 25px 0 0; font: 500 clamp(40px, 4.1vw, 65px)/.93 "Manrope", sans-serif; letter-spacing: -.072em; }
.vision-ledger { align-self: start; margin-top: clamp(170px, 25vh, 250px); border-bottom: 1px solid var(--line); }
.vision-ledger__intro { max-width: 600px; margin: 0 0 clamp(28px, 4vh, 42px); color: #2d3745; font: 440 clamp(15px, 1.45vw, 21px)/1.42 "Inter", sans-serif; letter-spacing: -.025em; }
.vision-ledger__label { display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; color: var(--blue); font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }
.vision-ledger__label b { font-weight: 650; }
.vision-domain { display: grid; width: 100%; grid-template-columns: 40px minmax(0, 1fr) minmax(100px, 140px); align-items: center; padding: 10px 0; color: #99a1ab; text-align: left; border: 0; border-top: 1px solid rgba(13,31,56,.11); cursor: pointer; background: none; transition: color 190ms ease, transform 190ms var(--ease-out); }
.vision-domain small, .vision-domain strong, .vision-domain span { display: block; }
.vision-domain small { color: var(--blue); font-size: 7px; }
.vision-domain strong { font: 500 clamp(32px, 3.25vw, 52px)/.94 "Manrope", sans-serif; letter-spacing: -.065em; }
.vision-domain span { text-align: right; font-size: 7px; }
.vision-domain:hover, .vision-domain:focus-visible, .vision-domain.is-active { color: var(--ink); transform: translateX(7px); }
.vision-domain:focus-visible { border-radius: 10px; outline: 1px solid rgba(21,94,239,.32); outline-offset: 4px; }
.vision-domain:active { transform: translateX(7px) scale(.985); }

.workflow {
  z-index: 4;
  min-height: 100svh;
  color: var(--ink);
  background: #f4f5f6;
  --workflow-p: 0;
  --workflow-focus-p: 0;
  --workflow-color-p: 0;
  --capabilities-in: 0;
}
.workflow__sticky { overflow: visible; padding: calc(var(--nav-height) + 26px) var(--page-gutter) 0; background: linear-gradient(180deg, #f7f8f9, #f1f3f5); }
.workflow .section-index { position: relative; z-index: 5; opacity: calc(1 - var(--workflow-focus-p) * 1.4); transform: translateY(calc(var(--workflow-focus-p) * -20vh)); }
.workflow__intro { position: relative; z-index: 5; margin-top: 3.5vh; opacity: calc(1 - var(--workflow-focus-p) * 1.35); transform: translateY(calc(var(--workflow-focus-p) * -29vh)); }
.workflow__intro h2 { max-width: 980px; margin: 0; font: 500 clamp(44px, 4.6vw, 70px)/.94 "Manrope", sans-serif; letter-spacing: -.07em; }
.workflow__intro h2 span { display: block; color: #969faa; }
.workflow-stage { position: absolute; z-index: 2; inset: 0; overflow: visible; --workflow-tilt-x: 0deg; --workflow-tilt-y: 0deg; }
.workflow-cards { position: absolute; z-index: 3; inset: 0; }
.workflow-card { position: absolute; top: 40vh; width: 29.5%; height: 46vh; min-height: 430px; max-height: 480px; color: var(--ink); transform-style: preserve-3d; will-change: transform, opacity; }
.workflow-card--one { --workflow-card-gradient: var(--workflow-green-gradient); --workflow-card-accent: var(--workflow-green-accent); }
.workflow-card--two { --workflow-card-gradient: var(--workflow-blue-gradient); --workflow-card-accent: var(--workflow-blue-accent); }
.workflow-card--three { --workflow-card-gradient: var(--workflow-orange-gradient); --workflow-card-accent: var(--workflow-orange-accent); }
.workflow-card::before { content: ""; position: absolute; z-index: 1; top: 106px; right: 5%; bottom: -18%; left: 5%; pointer-events: none; border-radius: 22px; background: var(--workflow-card-gradient); filter: blur(24px); opacity: .88; transform: translateY(0) translateZ(0); -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 78%, rgba(0,0,0,.82) 88%, rgba(0,0,0,.28) 96%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, #000 78%, rgba(0,0,0,.82) 88%, rgba(0,0,0,.28) 96%, transparent 100%); }
.workflow-card--one { left: 4%; top: 40vh; opacity: calc(1 - var(--workflow-focus-p) * 1.2); }
.workflow-card--two { --workflow-color-translation: 99vh; z-index: 3; left: 35.25%; top: 40vh; transform: perspective(1100px) rotateX(var(--workflow-tilt-x)) rotateY(var(--workflow-tilt-y)); }
.workflow-card--two::before { opacity: clamp(0, calc(.88 * (1 - var(--workflow-focus-p) * 1.2)), .88); transform: translateZ(0); }
.workflow-card--three { left: 66.5%; top: 40vh; opacity: calc(1 - var(--workflow-focus-p) * 1.2); }
.workflow-card__base { position: absolute; z-index: 0; top: 0; right: 0; left: 0; height: 320px; overflow: hidden; pointer-events: none; border-radius: 26px; background: var(--workflow-card-gradient); box-shadow: 0 24px 58px rgba(24,34,49,.1); transform: translateZ(0); }
.workflow-card--two .workflow-card__base { opacity: calc(1 - var(--capabilities-in)); transform: translateY(calc(var(--workflow-color-p) * var(--workflow-color-translation))) translateZ(0); will-change: transform, opacity; }
.workflow-card__glass { position: absolute; z-index: 2; top: 106px; right: 5%; bottom: -18%; left: 5%; overflow: hidden; isolation: isolate; padding: clamp(18px, 1.8vw, 28px); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(255,255,255,.42)); box-shadow: 0 18px 42px rgba(20,29,42,.09), inset 0 1px 0 rgba(255,255,255,.86); backdrop-filter: blur(30px) saturate(.72); -webkit-backdrop-filter: blur(30px) saturate(.72); }
.workflow-card--two .workflow-card__glass { opacity: calc(1 - var(--workflow-focus-p) * 1.2); }
.workflow-card__glass::before { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: linear-gradient(135deg, rgba(255,255,255,.2), transparent 42%, rgba(255,255,255,.05)); }
.workflow-card__top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding-bottom: 15px; border-bottom: 1px solid rgba(8,18,34,.1); }
.workflow-card__top span { font-size: 11px; font-weight: 600; }
.workflow-card__top span::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: var(--workflow-card-accent); box-shadow: 0 0 0 4px rgba(255,255,255,.34); }
.workflow-card__top small { color: rgba(8,18,34,.48); font-size: 10px; }
.workflow-card__content { position: relative; z-index: 2; margin-top: clamp(24px, 3.2vh, 38px); }
.workflow-card__content h3 { max-width: 360px; margin: 0; font: 500 clamp(30px, 2.45vw, 42px)/.98 "Manrope", sans-serif; letter-spacing: -.06em; }
.workflow-card__content p { max-width: 340px; margin: 20px 0 0; color: rgba(34,46,63,.68); font-size: clamp(12px, 1.05vw, 15px); line-height: 1.58; }
.workflow-callout { position: absolute; z-index: 5; color: var(--ink); border: 1px solid rgba(255,255,255,.9); border-radius: 12px; background: rgba(248,249,251,.8); box-shadow: 0 20px 50px rgba(5,10,21,.12), inset 0 1px 0 #fff; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); opacity: clamp(0, calc((var(--workflow-focus-p) - .48) * 2.1), 1); }
.workflow-callout strong, .workflow-callout span { display: block; }
.workflow-callout strong { font-size: 11px; font-weight: 600; }
.workflow-callout span { margin-top: 6px; color: #79828e; font-size: 9px; }
.workflow-callout--prototype { top: 30vh; left: calc(50% - 335px); width: 230px; padding: 17px; transform: translateY(calc((1 - var(--workflow-focus-p)) * 24px)); }
.workflow-callout--validation { top: 61vh; left: calc(50% + 165px); width: 190px; padding: 17px 17px 17px 48px; transform: translateY(calc((1 - var(--workflow-focus-p)) * 24px)); }
.workflow-callout--validation::before { content: "✓"; position: absolute; top: 18px; left: 17px; display: grid; place-items: center; width: 20px; height: 20px; color: var(--blue); border: 1px solid rgba(21,94,239,.45); border-radius: 6px; font-size: 10px; }

.founders { background: var(--paper); }
.founders__heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 8vw; margin-top: 55px; }
.founders h2 { margin: 0; font: 500 clamp(46px, 6.5vw, 96px)/.9 "Manrope", sans-serif; letter-spacing: -.08em; }
.founders__heading p { max-width: 470px; margin: 0; color: #6c7481; font-size: 14px; line-height: 1.7; }
.founders__grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0; min-height: 82vh; margin-top: 9vh; overflow: hidden; border-radius: 20px; background: radial-gradient(circle at 50% 40%, #17305d 0, #0b1b34 35%, #07101e 72%); box-shadow: 0 35px 90px rgba(5,10,21,.15); }
.founders__grid::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent 40%, rgba(8,20,39,.9) 50%, transparent 60%), linear-gradient(transparent 48%, rgba(3,8,16,.96)); }
.founder { position: relative; min-height: 82vh; overflow: hidden; color: var(--white); background: transparent; }
.founder__image { position: absolute; inset: 0; }
.founder__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 44%, rgba(3,8,16,.86)); }
.founder__image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform 1s var(--ease-out); }
.founder:hover .founder__image img { transform: scale(1.035); }
.founder > span, .founder > h3, .founder > p { position: relative; z-index: 3; margin-right: 32px; margin-left: 32px; }
.founder > span { display: block; margin-top: 60vh; color: #81a7f8; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.founder > h3 { margin-top: 12px; margin-bottom: 8px; font: 500 clamp(26px, 3vw, 44px)/1 "Manrope", sans-serif; letter-spacing: -.06em; }
.founder > p { max-width: 460px; margin-top: 0; color: rgba(255,255,255,.76); font-size: 11px; line-height: 1.55; }

[data-reveal] { opacity: 0; transform: translateY(45px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.founders .founder.is-visible { transform: none; }

.cta { position: relative; display: flex; min-height: 95svh; overflow: hidden; flex-direction: column; align-items: center; justify-content: center; padding: 12vh var(--page-gutter); text-align: center; background: var(--white); isolation: isolate; }
.cta .eyebrow { position: relative; z-index: 1; color: var(--blue); }
.cta h2 { position: relative; z-index: 1; margin: 4vh 0 6vh; font: 500 clamp(48px, 6.7vw, 104px)/.98 "Manrope", sans-serif; letter-spacing: -.08em; }
.cta__image-word { position: relative; display: inline-grid; place-items: center; padding: .03em .35em .08em; overflow: hidden; color: var(--white); border-radius: 999px; background: linear-gradient(90deg, rgba(4,11,26,.3), rgba(21,94,239,.5)), url("assets/source/about-gearbox.png") 36% 45%/430%; }
.cta__image-word::after { content: "confidence."; position: absolute; inset: 0; display: grid; place-items: center; color: var(--blue); border-radius: inherit; background: var(--white); clip-path: circle(0 at var(--word-x, 50%) var(--word-y, 50%)); }
.cta__image-word:hover::after { clip-path: circle(clamp(78px, 8vw, 125px) at var(--word-x, 50%) var(--word-y, 50%)); }

.footer-scene { position: relative; z-index: 8; min-height: 100svh; margin-top: -1px; background: transparent; isolation: isolate; }
.footer-scene__panel { display: flex; min-height: 100svh; overflow: hidden; flex-direction: column; border-radius: clamp(24px, 2.8vw, 44px) clamp(24px, 2.8vw, 44px) 0 0; background: var(--paper); box-shadow: 0 -32px 90px rgba(5, 10, 21, .14); }
.contact { position: relative; display: flex; min-height: 0; overflow: hidden; flex: 1; flex-direction: column; padding: calc(var(--nav-height) + 3.5vh) var(--page-gutter) 5vh; background: var(--paper); }
.contact__grid { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: clamp(48px, 6vw, 96px); }
.contact h2 { max-width: 560px; margin: 28px 0 0; scroll-margin-top: calc(var(--nav-height) + 24px); font: 500 clamp(46px, 4.8vw, 66px)/.93 "Manrope", sans-serif; letter-spacing: -.072em; }
.contact__intro > p { max-width: 520px; margin: 24px 0 0; color: #2d3745; font: 400 clamp(16px, 1.4vw, 19px)/1.42 "Inter", sans-serif; letter-spacing: -.025em; }
.contact__channels-head { display: flex; align-items: center; justify-content: space-between; margin-top: 40px; padding-bottom: 17px; color: var(--blue); font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }
.contact__channels-head b { font-weight: 650; }
.contact__channel { display: grid; width: 100%; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; padding: 12px 0; color: #99a1ab; border: 0; border-top: 1px solid rgba(13, 31, 56, .11); background: transparent; font: inherit; text-align: left; cursor: pointer; transition: color .19s ease, transform .19s var(--ease-out); }
.contact__channel:first-child { color: var(--ink); }
.contact__channel:last-child { border-bottom: 1px solid rgba(13, 31, 56, .11); }
.contact__channel:hover { color: var(--ink); transform: translateX(7px); }
.contact__channel:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.contact__channels small { color: var(--blue); font-size: 9px; }
.contact__channels strong { font: 500 clamp(32px, 3.3vw, 46px)/.94 "Manrope", sans-serif; letter-spacing: -.065em; }
.contact__channel > span { display: flex; align-items: center; justify-content: flex-end; gap: 9px; white-space: nowrap; font-size: 12px; }
.contact__copy-status { color: var(--blue); font-size: 10px; font-weight: 600; }
.contact__copy-status:empty { display: none; }
.contact__channels svg { flex-shrink: 0; opacity: 0; transition: opacity .19s ease; }
.contact__channel:hover svg { opacity: 1; }

.intake { display: flex; min-width: 0; flex-direction: column; margin-top: 74px; }
.intake__appendix { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 20px 28px; border: 1px solid rgba(255, 255, 255, .72); border-bottom: 0; border-radius: 22px 22px 0 0; background: linear-gradient(180deg, rgba(203, 216, 239, .66), rgba(190, 206, 234, .36)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92); backdrop-filter: blur(18px) saturate(1.15); }
.intake__hint { margin: 0; max-width: 340px; color: #44536b; font-size: 11px; line-height: 1.5; }
.intake__toggle { display: flex; flex-shrink: 0; gap: 6px; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, .6); }
.intake__tab { min-width: clamp(96px, 9vw, 132px); padding: 11px 26px; color: #44536b; border: 0; border-radius: 999px; background: transparent; cursor: pointer; font: 600 11px/1 "Inter", sans-serif; letter-spacing: .02em; transition: background .25s, color .25s; }
.intake__tab.is-active { color: var(--white); background: var(--blue); }
.intake__panel { position: relative; display: flex; min-height: 582px; overflow: hidden; flex-direction: column; margin-top: -14px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 22px; box-shadow: 0 22px 52px rgba(19, 28, 42, .09), inset 0 1px 0 rgba(255, 255, 255, .95); backdrop-filter: blur(26px) saturate(1.1); }
.intake__panel[hidden] { display: none; }
.intake__send { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 18px; min-height: 46px; padding: 0 20px 0 22px; color: var(--white); white-space: nowrap; border: 0; border-radius: 999px; background: var(--blue); cursor: pointer; font-size: 12px; font-weight: 600; transition: background .3s, transform .18s var(--ease-out); }
.intake__send:hover { background: var(--blue-bright); }
.intake__send:active:not(:disabled) { transform: scale(.96); }
.intake__send:disabled { color: #9aa8bd; background: rgba(8, 18, 34, .07); cursor: not-allowed; }

.agent { background: radial-gradient(140% 90% at 100% 0, rgba(21, 94, 239, .1), transparent 58%), linear-gradient(200deg, rgba(255, 255, 255, .62), rgba(230, 238, 250, .44)); }
.agent__log-shell { position: relative; }
.agent__log { display: flex; flex-direction: column; gap: 14px; height: 400px; overflow-y: auto; padding: 26px 24px; scrollbar-width: none; }
.agent__log::-webkit-scrollbar, .reveal__viewport::-webkit-scrollbar { display: none; }
.overlay-scrollbar { position: absolute; z-index: 8; width: 3px; overflow: hidden; border-radius: 999px; background: rgba(15, 31, 61, .06); pointer-events: none; opacity: 0; transition: opacity .2s ease; }
.overlay-scrollbar:not([hidden]) { opacity: 1; }
.overlay-scrollbar[hidden] { display: none; }
.overlay-scrollbar i { display: block; width: 100%; min-height: 36px; border-radius: inherit; background: rgba(15, 31, 61, .28); transform: translateY(0); will-change: transform; }
.agent__scrollbar { top: 26px; right: 7px; bottom: 26px; }
.agent__message { display: flex; justify-content: flex-start; }
.agent__message p { max-width: 78%; margin: 0; padding: 14px 17px; color: #132542; border-radius: 16px 16px 16px 5px; background: rgba(255, 255, 255, .82); box-shadow: 0 4px 14px rgba(15, 37, 80, .06), inset 0 0 0 1px rgba(21, 94, 239, .1); backdrop-filter: blur(6px); font-size: 13px; line-height: 1.55; }
.agent__message--you { justify-content: flex-end; }
.agent__message--you p { color: var(--white); border-radius: 16px 16px 5px 16px; background: #0f1f3d; box-shadow: 0 6px 18px rgba(9, 24, 56, .16); }
.agent__thinking { display: grid; width: min(74%, 250px); min-height: 62px; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; padding: 9px 12px 9px 8px; border-radius: 14px 14px 14px 5px; background: rgba(255, 255, 255, .75); box-shadow: 0 0 0 1px rgba(21, 94, 239, .07), 0 6px 18px rgba(15, 37, 80, .045); backdrop-filter: blur(6px); animation: agent-draft-in .3s var(--ease-out) both; }
.agent__thinking-rings { position: relative; display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; }
.agent__thinking-rings i { position: absolute; border: 1.5px solid rgba(19, 37, 66, .09); border-top-color: #183b78; border-radius: 50%; animation: watch-spinner 1s ease-in-out infinite; will-change: transform; }
.agent__thinking-rings i:nth-child(1) { width: 26px; height: 26px; }
.agent__thinking-rings i:nth-child(2) { width: 18px; height: 18px; animation-duration: 1.45s; }
.agent__thinking-rings i:nth-child(3) { width: 10px; height: 10px; animation-duration: 1.9s; }
.agent__draft-lines { display: grid; gap: 7px; }
.agent__draft-lines i { height: 5px; overflow: hidden; border-radius: 999px; background: rgba(17, 39, 73, .08); }
.agent__draft-lines i:nth-child(1) { width: 88%; }
.agent__draft-lines i:nth-child(2) { width: 68%; }
.agent__draft-lines i:nth-child(3) { width: 42%; }
.agent__draft-lines i::after { content: ""; display: block; width: 55%; height: 100%; background: linear-gradient(90deg, transparent, rgba(21, 94, 239, .24), transparent); animation: draft-sweep 1.3s ease-in-out infinite; }
.agent__composer { display: flex; align-items: center; gap: 12px; margin: 0 24px; padding: 13px 16px; border-radius: 14px; background: rgba(255, 255, 255, .78); box-shadow: inset 0 0 0 1px rgba(21, 94, 239, .16); }
.agent__composer input { flex: 1; min-width: 0; padding: 0; color: #0f1f3d; border: 0; outline: 0; background: transparent; font-size: 14px; }
.agent__composer button { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; color: var(--white); border: 0; border-radius: 50%; background: var(--blue); cursor: pointer; font-size: 12px; transition: background .3s; }
.agent__composer button:hover { background: var(--blue-bright); }
.agent__composer input:disabled, .agent__composer button:disabled { cursor: wait; opacity: .5; }
.agent__foot { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: auto; padding: 18px 24px 20px; }

.agent__reveal { position: absolute; z-index: 6; inset: 0; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(9, 20, 40, .3); backdrop-filter: blur(8px) saturate(1.1); }
.agent__reveal[hidden] { display: none; }
.reveal { position: relative; display: flex; width: 100%; max-width: 440px; max-height: 100%; overflow: hidden; flex-direction: column; border: 1px solid rgba(255, 255, 255, .9); border-radius: 20px; background: linear-gradient(160deg, rgba(255, 255, 255, .97), rgba(238, 243, 251, .94)); box-shadow: 0 30px 70px rgba(9, 20, 40, .26); }
.reveal__viewport { min-height: 0; overflow-y: auto; flex: 1 1 auto; scrollbar-width: none; }
.reveal__scrollbar { top: 12px; right: 5px; bottom: 12px; }
.reveal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px 22px 16px; border-bottom: 1px solid rgba(8, 18, 34, .1); }
.reveal__head strong { display: block; font: 500 26px/1.02 "Manrope", sans-serif; letter-spacing: -.05em; }
.reveal__head p { margin: 9px 0 0; color: #5b6d8c; font-size: 11px; line-height: 1.5; }
.reveal__close { display: grid; place-items: center; width: 44px; height: 44px; margin: -7px -7px 0 0; flex-shrink: 0; color: #44536b; border: 1px solid rgba(8, 18, 34, .14); border-radius: 50%; background: transparent; cursor: pointer; font-size: 14px; transition: border-color .25s, color .25s, transform .18s var(--ease-out); }
.reveal__close:hover { color: var(--blue); border-color: var(--blue); }
.reveal__close:active { transform: scale(.96); }
.reveal__fields { display: grid; gap: 18px; padding: 20px 22px; }
.reveal__fields label { display: flex; flex-direction: column; gap: 10px; }
.reveal__fields span { color: #3c4a5e; font: 600 11px/1 "Inter", sans-serif; text-transform: uppercase; letter-spacing: .11em; }
.reveal__fields input { width: 100%; padding: 0 0 9px; color: #0f1f3d; border: 0; border-bottom: 1px solid rgba(21, 94, 239, .28); outline: 0; background: transparent; font-size: 15px; }
.reveal__brief { padding: 0 22px 18px; }
.reveal__brief > small { display: block; margin-bottom: 8px; color: #3c4a5e; font: 600 11px/1 "Inter", sans-serif; text-transform: uppercase; letter-spacing: .11em; }
.reveal__brief dl { display: grid; grid-template-columns: 96px 1fr; gap: 0 12px; margin: 0; }
.reveal__brief dt, .reveal__brief dd { margin: 0; padding: 10px 0; border-top: 1px solid rgba(8, 18, 34, .09); }
.reveal__brief dt { color: #7a828e; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.reveal__brief dd { color: #0e2a5e; font-size: 12px; }
.reveal__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px; border-top: 1px solid rgba(8, 18, 34, .1); color: #7a828e; font-size: 10px; }
.reveal__success { display: flex; min-height: 500px; flex-direction: column; align-items: center; justify-content: center; padding: 42px 34px; text-align: center; }
.reveal__success[hidden] { display: none; }
.reveal__success-mark { display: grid; width: 76px; height: 76px; place-items: center; color: var(--white); border-radius: 26px; background: linear-gradient(145deg, var(--blue-bright), #104dc9); box-shadow: 0 18px 34px rgba(21, 94, 239, .24), inset 0 1px 0 rgba(255, 255, 255, .34); animation: success-mark-in .42s var(--ease-out) both; }
.reveal__success-mark svg { width: 48px; height: 48px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.reveal__success-mark circle { opacity: .34; }
.reveal__success-mark path { stroke-dasharray: 26; stroke-dashoffset: 26; animation: success-check-in .44s var(--ease-out) .2s forwards; }
.reveal__success > small { margin-top: 26px; color: var(--blue); font: 600 10px/1 "Inter", sans-serif; text-transform: uppercase; letter-spacing: .16em; }
.reveal__success > strong { max-width: 330px; margin-top: 14px; color: var(--ink); font: 500 clamp(28px, 3vw, 38px)/1.05 "Manrope", sans-serif; letter-spacing: -.055em; }
.reveal__success > p { max-width: 320px; margin: 18px 0 0; color: #5b6d8c; font-size: 12px; line-height: 1.65; }
.reveal__success-close { min-width: 140px; margin-top: 30px; }
.reveal__success > small, .reveal__success > strong, .reveal__success > p, .reveal__success-close { animation: success-copy-in .38s var(--ease-out) both; }
.reveal__success > small { animation-delay: .08s; }
.reveal__success > strong { animation-delay: .16s; }
.reveal__success > p { animation-delay: .24s; }
.reveal__success-close { animation-delay: .32s; }

@keyframes success-mark-in {
  from { opacity: 0; transform: translateY(12px) scale(.25); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@keyframes success-check-in {
  to { stroke-dashoffset: 0; }
}
@keyframes success-copy-in {
  from { opacity: 0; transform: translateY(12px); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes watch-spinner {
  to { transform: rotate(360deg); }
}
@keyframes draft-sweep {
  from { transform: translateX(-100%); }
  to { transform: translateX(220%); }
}
@keyframes agent-draft-in {
  from { opacity: 0; transform: translateY(8px) scale(.96); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

.brief { background: linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(237, 241, 246, .78)); }
.brief__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(8, 18, 34, .1); }
.brief__fields label { display: flex; min-height: 78px; flex-direction: column; gap: 13px; padding: 16px 18px; background: #fbfcfd; }
.brief__fields span { color: #3c4a5e; font: 600 11px/1 "Inter", sans-serif; text-transform: uppercase; letter-spacing: .11em; }
.brief__fields input, .brief__fields textarea { width: 100%; padding: 0; color: var(--ink); border: 0; outline: 0; background: transparent; font-size: 15px; line-height: 1.6; resize: none; }
.brief__message { grid-column: span 2; }
.brief__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 20px; margin-top: auto; padding: 17px 20px; }
.contact-form__honeypot { position: absolute; left: -9999px; }
.form-status { flex-basis: 100%; margin: 0; padding: 10px 14px; color: var(--white); border-radius: 10px; background: var(--blue); font-size: 11px; }
.form-status.is-error { background: #9f1f2d; }
.contact__landscape { position: absolute; z-index: 1; right: -10%; bottom: -22vh; left: -10%; height: 42vh; opacity: .13; transform: rotate(-3deg); filter: contrast(1.2); background: #050a15; }
.contact__landscape::before, .contact__landscape::after, .contact__landscape div { content: ""; position: absolute; border-radius: 48% 52% 0 0; transform-origin: bottom; }
.contact__landscape::before { inset: 16% 50% 0 -5%; background: repeating-radial-gradient(ellipse at 50% 100%, #090f19 0 7px, #263147 8px 9px, #0b111d 10px 18px); transform: rotate(8deg); }
.contact__landscape::after { inset: 0 -5% 0 48%; background: repeating-radial-gradient(ellipse at 45% 110%, #070d17 0 8px, #23488f 9px 10px, #08101e 11px 22px); transform: rotate(-4deg); }
.contact__landscape div { inset: 33% 24% 0 27%; background: linear-gradient(140deg, #102c68, var(--blue), #071020 65%); transform: skewX(-18deg); }

.site-footer { position: relative; z-index: 9; display: grid; grid-template-columns: 1fr 1.2fr .8fr; gap: 5vw; align-items: start; padding: 54px var(--page-gutter) 30px; color: rgba(255,255,255,.65); border-top: 1px solid rgba(255,255,255,.12); background: var(--ink); }
.brand--footer { color: var(--white); }.brand--footer img { filter: invert(1); }
.site-footer > p { max-width: 440px; margin: 0; font-size: 11px; line-height: 1.6; }
.site-footer > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.site-footer > div a:hover { color: var(--white); }
.site-footer > small { grid-column: 1 / -1; margin-top: 50px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); font-size: 9px; }

@media (min-width: 721px) {
  .cta { position: sticky; z-index: 1; top: 0; }
}

.progress-rail { position: fixed; z-index: 90; top: 50%; right: 12px; display: flex; flex-direction: column; align-items: center; gap: 10px; transform: translateY(-50%); }
.progress-rail i { width: 1px; height: 110px; background: linear-gradient(to bottom, var(--blue) var(--page-progress, 0%), rgba(120,130,145,.28) var(--page-progress, 0%)); }
.progress-rail span { font-size: 8px; font-weight: 600; }

@media (min-width: 721px) and (max-height: 1000px) {
  .hero__eyebrow { margin-bottom: 2.2vh; }
  .hero__intro { margin-top: 2vh; }
  .hero__actions { margin-top: 2vh; }
}

@media (max-width: 980px) {
  :root { --nav-height: 64px; }
  .site-nav { grid-template-columns: 1fr auto; }
  .nav-links { position: fixed; top: 80px; right: -1px; left: -1px; display: flex; height: calc(100svh - 92px); flex-direction: column; align-items: flex-start; padding: 12vh var(--page-gutter); color: var(--white); border-radius: 20px; background: rgba(5,10,21,.97); transform: translateX(105%); transition: transform .55s var(--ease-out); }
  .nav-links a { font: 500 clamp(32px, 7vw, 58px)/1.16 "Manrope", sans-serif; letter-spacing: -.06em; text-transform: none; }
  body.menu-open .nav-links { transform: translateX(0); }
  .nav-actions { display: none; }
  body.menu-open .nav-actions { position: fixed; z-index: 181; top: calc(100svh - 10vh - 106px); right: var(--page-gutter); left: var(--page-gutter); justify-self: stretch; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
  body.menu-open .nav-language { color: rgba(255, 255, 255, .68); }
  body.menu-open .button--nav { min-height: 48px; padding: 0 24px; font-size: 12px; }
  .menu-button { display: block; justify-self: end; }
  .nav-links { overflow-y: auto; }
  body.menu-open .menu-button span:first-child { transform: translateY(3.5px) rotate(45deg); }
  body.menu-open .menu-button span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  body.menu-open .site-nav { color: var(--white); border-color: rgba(255,255,255,.16); background: rgba(5,10,21,.94); }
  body.menu-open .site-nav .brand img { filter: invert(1); }
  .founders__heading, .contact__grid { grid-template-columns: 1fr; gap: 42px; }
  .intake { margin-top: 0; }
  .capabilities__sticky { min-height: 145svh; }
  .capabilities__heading { grid-template-columns: .25fr 1.75fr; gap: 3vw; }
  .workflow-card { width: 30.5%; height: 56vh; min-height: 430px; max-height: none; }
  .workflow-card__glass, .workflow-card::before { top: 88px; }
  .workflow-card__content { margin-top: clamp(14px, 2vh, 24px); }
  .workflow-card__content h3 { font-size: clamp(23px, 3vw, 32px); }
  .workflow-card__content p { margin-top: 14px; font-size: clamp(11px, 1.35vw, 13px); }
  .workflow-card--one { left: 2%; }
  .workflow-card--two { left: 34.75%; }
  .workflow-card--three { left: 67.5%; }
  .workflow-callout--prototype { left: calc(50% - 300px); }
  .workflow-callout--validation { left: calc(50% + 145px); }
  .vision-split { grid-template-columns: minmax(300px, .84fr) minmax(0, 1.16fr); gap: 36px; }
  .vision h2 { font-size: clamp(40px, 5.4vw, 58px); }
  .vision-domain { grid-template-columns: 36px minmax(0, 1fr); }
  .vision-domain strong { font-size: clamp(27px, 3.7vw, 40px); }
  .vision-domain span { display: none; }
  .site-footer { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .progress-rail, .scroll-cue { display: none; }
  .scene-sticky { position: relative; height: auto; overflow: visible; }
  .hero, .projects, .capabilities, .vision, .workflow { height: auto; }
  .workflow { margin-top: 0; }
  .projects__sticky, .capabilities__sticky, .vision__sticky, .workflow__sticky { min-height: auto; padding: calc(var(--nav-height) + 36px) var(--page-gutter) 80px; overflow: hidden; }
  .projects .section-index { text-align: left; }
  .projects__heading { display: block; width: auto; margin-top: 32px; text-align: left; }
  .projects__heading p { margin: 18px 0 0; }
  .projects__heading h2 { font-size: clamp(38px, 11vw, 52px); text-align: left; }
  .project-stage { position: relative; right: auto; bottom: auto; left: auto; display: grid; grid-auto-flow: column; grid-auto-columns: min(80vw, 330px); grid-template-columns: none; width: calc(100% + var(--page-gutter)); min-height: 0; height: auto; gap: 14px; margin-top: 36px; padding: 0 var(--page-gutter) 8px 0; overflow-x: auto; overflow-y: hidden; perspective: none; transform: none; overscroll-behavior-inline: contain; scroll-padding-inline: 0 var(--page-gutter); scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; }
  .project-stage::-webkit-scrollbar { display: none; }
  .projects .project-stage[data-active] .project-card:nth-child(n) { position: relative; top: auto; right: auto; bottom: auto; left: auto; z-index: 1; width: 100%; height: clamp(330px, 52svh, 430px); min-height: 0; opacity: 1; filter: none; transform: none; scroll-snap-align: start; scroll-snap-stop: always; }
  .project-stage[data-active] .project-card.is-carousel-active { border-color: rgba(111,157,255,.58); box-shadow: 0 24px 60px rgba(0,0,0,.46); }
  .project-card__caption { transform: none; }
  .project-card__open { touch-action: pan-x pan-y; }
  .project-carousel { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 12px; }
  .project-carousel__button { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; color: var(--white); border: 1px solid rgba(255,255,255,.15); border-radius: 50%; cursor: pointer; background: rgba(255,255,255,.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); font-size: 17px; transition: opacity 180ms ease, border-color 180ms ease, background-color 180ms ease, transform 180ms var(--ease-out); }
  .project-carousel__button:active { transform: scale(.94); }
  .project-carousel__button:focus-visible { outline: 2px solid #77a4ff; outline-offset: 3px; }
  .project-carousel__button:disabled { opacity: .28; cursor: default; }
  .project-carousel__status { display: grid; grid-template-columns: auto minmax(52px, 1fr) auto; align-items: center; width: min(190px, 52vw); gap: 13px; color: #7e899a; font-size: 9px; font-weight: 600; letter-spacing: .12em; }
  .project-carousel__status span:first-child { color: var(--white); }
  .project-carousel__status i { height: 1px; background: linear-gradient(90deg, #77a4ff 0 var(--project-carousel-progress, 33.333%), rgba(255,255,255,.16) var(--project-carousel-progress, 33.333%)); transition: background 240ms var(--ease-out); }
  .project-lightbox__shell { padding: 10px; }
  .project-lightbox__header { gap: 12px; padding: 0 2px 10px; }
  .project-lightbox__header span { display: none; }
  .project-lightbox__header h2 { font-size: 17px; }
  .project-lightbox__viewport img { max-width: calc(100% - 24px); max-height: calc(100svh - 92px); }
  .capabilities { min-height: 0; }
  .capabilities__heading, .capabilities__heading > div:last-child { display: block; opacity: 1; transform: none; }
  .capabilities h2 { margin-top: 42px; font-size: clamp(44px, 13vw, 70px); }
  .capabilities__heading p { margin-top: 24px; }
  .capabilities h2, .capabilities__heading p { opacity: 1; transform: none; clip-path: none; filter: none; }
  .capability-grid { position: relative; top: auto; right: auto; left: auto; grid-template-columns: 1fr; gap: 16px; margin-top: 48px; }
  .capability-card, .capability-card--anchor { height: auto; min-height: 350px; opacity: 1; transform: none; }
  .capability-card__surface { min-height: 350px; transform: none !important; }
  .capability-card--anchor header, .capability-card--anchor .capability-card__body, .capability-card--anchor ul { opacity: 1; }
  .capabilities__outcome { position: relative; right: auto; bottom: auto; flex-direction: column; margin-top: 42px; opacity: 1; }
  .vision__sticky { min-height: 100svh; }
  .vision-sphere { width: 900px; height: 900px; opacity: .08; }
  .vision-split { grid-template-columns: 1fr; gap: 70px; }
  .vision-split__copy, .vision-ledger { margin-top: 0; }
  .vision h2 { margin-top: 32px; font-size: clamp(40px, 11vw, 64px); }
  .vision-ledger__intro { font-size: 17px; }
  .vision-domain { grid-template-columns: 32px minmax(0, 1fr); }
  .vision-domain strong { font-size: clamp(31px, 9vw, 46px); }
  .vision-domain span { display: none; }
  .workflow .section-index { opacity: 1; transform: none; }
  .workflow__intro { margin-top: 42px; opacity: 1; transform: none; }
  .workflow__intro h2 { font-size: clamp(42px, 12vw, 64px); }
  .workflow-stage { position: relative; inset: auto; height: auto; margin-top: 50px; overflow: visible; }
  .workflow-cards { position: relative; inset: auto; display: grid; gap: 92px; transform: none; }
  .workflow-card, .workflow-card--one, .workflow-card--two, .workflow-card--three { position: relative; inset: auto; width: 100%; height: 430px; min-height: 0; max-height: none; padding: 0; opacity: 1; transform: none; }
  .workflow-card--two { height: 520px; }
  .workflow-card--two::before { opacity: .88; transform: none; }
  .workflow-card--two .workflow-card__base { opacity: 1; transform: none; }
  .workflow-card--two .workflow-card__glass { opacity: 1; }
  .workflow-callout { display: none; }
  .founders__grid { grid-template-columns: 1fr; border-radius: 14px; }
  .founders__grid::after { background: linear-gradient(transparent 48%, rgba(3,8,16,.96)); }
  .founder { min-height: 75vh; }
  .founder > span { margin-top: 55vh; }
  .cta { min-height: 80svh; }
  .cta h2 { font-size: clamp(44px, 13vw, 67px); }
  .footer-scene__panel { min-height: 100svh; border-radius: 24px 24px 0 0; }
  .contact { overflow: visible; padding-top: calc(var(--nav-height) + 8vh); padding-bottom: 12vh; }
  .contact__grid { margin-top: 5vh; }
  .contact__landscape { bottom: -18vh; height: 38vh; }
  .contact__channel { grid-template-columns: 28px minmax(0, 1fr); grid-template-areas: "num name" ". value"; row-gap: 6px; }
  .contact__channels small { grid-area: num; }
  .contact__channels strong { grid-area: name; }
  .contact__channel > span { grid-area: value; justify-content: flex-start; }
  .contact__channels svg { opacity: 1; }
  .intake__appendix { flex-wrap: wrap; }
  .intake__panel { min-height: 0; }
  .agent__log { height: 340px; }
  .brief__foot, .reveal__foot { flex-direction: column; align-items: flex-start; }
  .brief__fields { grid-template-columns: 1fr; }
  .brief__message { grid-column: auto; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer > div { margin-top: 20px; }
}

@media (max-width: 980px) and (max-height: 620px) {
  .nav-links { gap: clamp(2px, 1vh, 10px); padding: 5vh var(--page-gutter) 22vh; }
  .nav-links a { font-size: clamp(20px, 5.2vh, 30px); }
  body.menu-open .nav-actions { top: calc(100svh - 4vh - 78px); }
}

@media (max-width: 720px), (max-height: 560px), (max-width: 900px) and (orientation: portrait) {
  .hero__sticky { min-height: 100svh; padding-top: calc(var(--nav-height) + 9vh); overflow: hidden; }
  .hero__copy { transform: none; opacity: 1; }
  .hero__eyebrow { max-width: 290px; margin-bottom: 4vh; line-height: 1.5; }
  .hero h1 { font-size: clamp(42px, 13vw, 68px); }
  .hero__intro { max-width: 500px; margin-top: 3vh; }
  .hero__actions { flex-direction: column; gap: 10px; margin-top: 3vh; }
  .global-cad-grid { display: none; }
  .hero-visual { position: relative; left: 50%; bottom: auto; width: min(128vw, 150vh); height: auto; aspect-ratio: 128 / 94; margin-top: 5vh; transform: translateX(-50%); border-radius: 6px; }
  .hero-composition { --central-mask-size: 66cqw; --central-mask-left: 17cqw; --central-mask-top: 6cqh; }
  .hero-part--central { top: 6%; left: 17%; width: 66%; transform: none; }
  .hero-part--impeller { top: 29%; left: -5%; width: 36%; transform: rotate(-7deg) scale(.94); }
  .hero-part--gripper { top: 16%; right: -10%; left: auto; width: 45%; transform: rotate(6deg) scale(.92); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
  .capabilities__heading { opacity: 1; transform: none; }
  .capabilities h2, .capabilities__heading p { opacity: 1; transform: none; clip-path: none; filter: none; }
  .capability-card, .capability-card--anchor { opacity: 1; transform: none; }
  .capability-card__surface { transform: none !important; }
  .capability-card--anchor header, .capability-card--anchor .capability-card__body, .capability-card--anchor ul { opacity: 1; }
}
