:root {
  color-scheme: dark;
  --bg: #080e0b;
  --panel: #101813;
  --line: #29352c;
  --green: #93ffb0;
  --ink: #e4eadf;
  --muted: #a0ada1;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --sans: Arial, Helvetica, sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input {
  font: inherit;
}
button,
a,
input {
  -webkit-tap-highlight-color: transparent;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 6px;
}
::selection {
  background: var(--green);
  color: var(--bg);
}
.mono {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.08em;
}
.skip-link {
  position: fixed;
  top: -80px;
  left: 20px;
  z-index: 100;
  padding: 12px;
  background: var(--green);
  color: var(--bg);
}
.skip-link:focus {
  top: 20px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5.5%;
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}
.wordmark {
  font-family: var(--mono);
  font-size: 24px;
  letter-spacing: -1.3px;
}
.wordmark span {
  color: var(--green);
}
.site-header nav {
  display: flex;
  gap: 32px;
  align-items: center;
  font-size: 14px;
}
.site-header nav > a {
  transition: color 0.2s;
}
.site-header nav > a:hover {
  color: var(--green);
}
.nav-contact {
  border: 1px solid #536758;
  padding: 9px 17px;
}
.hero {
  position: relative;
  min-height: calc(100svh - 88px);
  padding: 25px 9% 30px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: radial-gradient(ellipse at 35% 45%, #11261966, transparent 65%);
}
.hero:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(transparent 0 3px, #00000020 3px 4px);
  opacity: 0.5;
}
.hero-topline,
.hero-bottom {
  display: flex;
  justify-content: space-between;
  color: #8b9c8c;
  position: relative;
  z-index: 1;
}
.hero-topline {
  font-size: 12px;
}
.hero-topline > span:last-child {
  display: flex;
  gap: 18px;
}
.terminal-intro {
  position: relative;
  z-index: 1;
  margin: auto 0;
  padding: 48px 0 70px;
}
.terminal-command {
  color: #7b9b82;
  font-size: 15px;
  margin: 0 0 23px;
}
.terminal-command span {
  color: var(--green);
  margin-right: 14px;
}
.hero h1 {
  font-family: var(--mono);
  font-weight: 400;
  letter-spacing: -0.075em;
  font-size: clamp(60px, 7.8vw, 114px);
  line-height: 1.05;
  color: var(--green);
  margin: 0 0 32px;
  text-shadow: 0 0 25px #80ff9f25;
}
.hero h1 > span:first-child {
  color: #b1ffc3;
}
.cursor {
  animation: blink 1.15s steps(1) infinite;
  font-weight: 300;
}
.boot-copy {
  color: #b4c7b8;
  font-family: var(--mono);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.7;
}
.boot-copy p {
  margin: 0 0 12px;
}
.boot-copy .boot-aside {
  font-size: 14px;
  color: #758b7b;
  margin-top: 20px;
}
.terminal-enter {
  display: inline-block;
  color: var(--green);
  font-size: 15px;
  margin-top: 24px;
  padding: 10px 0;
  transition: text-shadow 0.2s;
}
.terminal-enter:hover {
  text-shadow: 0 0 14px #93ffb0;
}
.terminal-enter span {
  color: #58725e;
}
.hero-bottom {
  font-size: 12px;
}
.hero-bottom span:last-child {
  display: flex;
  gap: 24px;
}
.hero-coordinate {
  position: absolute;
  right: 4%;
  top: 50%;
  writing-mode: vertical-rl;
  color: #8ba68f;
  font-size: 12px;
}
.section-wrap {
  padding: 104px 9%;
  border-top: 1px solid var(--line);
}
.eyebrow {
  font-size: 12px;
  color: #a4b1a4;
  margin: 0 0 55px;
}
.eyebrow > span {
  color: var(--green);
  margin-right: 18px;
}
.about-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 8%;
}
h2 {
  font-size: clamp(35px, 4.2vw, 64px);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 1.12;
  margin: 0;
}
h2 > span {
  color: #7f9583;
}
.about-copy {
  padding-top: 5px;
}
.about-copy p {
  margin: 0 0 20px;
  color: #b5c0b4;
  max-width: 500px;
}
.about-copy p:first-child {
  color: var(--ink);
  font-size: 21px;
}
.text-link {
  display: inline-block;
  border-bottom: 1px solid #5a7160;
  padding: 9px 0;
  font-size: 15px;
}
.text-link:hover {
  color: var(--green);
}
.proof-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 76px;
  border-top: 1px solid var(--line);
  padding-top: 32px;
  gap: 30px;
}
.proof-strip strong {
  white-space: nowrap;
  font-size: 42px;
  letter-spacing: -0.06em;
  font-weight: 400;
  line-height: 1.1;
}
.proof-strip strong span {
  white-space: normal;
  display: block;
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: 0;
  color: var(--green);
  margin-top: 12px;
}
.proof-strip p {
  color: #91a193;
  font-size: 13px;
  max-width: 180px;
  margin: 15px 0 0;
}
.site-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 32px;
  padding-bottom: 32px;
  gap: 20px;
}
.site-footer p {
  font-size: 12px;
  color: #829485;
}
.site-footer > a:last-child {
  font-size: 14px;
  color: var(--green);
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}
@keyframes arrive {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.boot-copy {
  animation: arrive 0.8s 0.25s backwards;
}
.terminal-enter {
  animation: arrive 0.8s 0.55s backwards;
}
@media (min-width: 1600px) {
  .hero,
  .section-wrap {
    padding-left: max(9%, calc((100vw - 1330px) / 2));
    padding-right: max(9%, calc((100vw - 1330px) / 2));
  }
}
@media (max-width: 760px) {
  .site-header {
    height: 76px;
    padding: 0 6%;
  }
  .wordmark {
    font-size: 21px;
  }
  .site-header nav {
    gap: 17px;
  }
  .site-header nav > a:not(.nav-contact) {
    display: none;
  }
  .nav-contact {
    font-size: 13px;
    padding: 7px 12px;
  }
  .hero {
    padding: 22px 7% 27px;
    min-height: calc(100svh - 76px);
  }
  .hero-topline {
    font-size: 12px;
  }
  .hero-topline > span:last-child {
    display: none;
  }
  .terminal-intro {
    padding: 60px 0;
  }
  .hero h1 {
    font-size: clamp(58px, 12vw, 89px);
  }
  .boot-copy {
    font-size: 15px;
  }
  .boot-copy .boot-aside {
    font-size: 12px;
  }
  .hero-bottom {
    font-size: 12px;
    gap: 20px;
  }
  .hero-bottom > span:first-child {
    max-width: 180px;
  }
  .hero-coordinate {
    display: none;
  }
  .section-wrap {
    padding: 72px 7%;
  }
  .eyebrow {
    margin-bottom: 35px;
    font-size: 12px;
  }
  .about-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  h2 {
    font-size: clamp(35px, 8vw, 54px);
  }
  .about-copy p {
    font-size: 16px;
  }
  .proof-strip {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 45px;
  }
  .proof-strip strong {
    font-size: 36px;
  }
  .site-footer {
    padding-top: 28px;
    padding-bottom: 28px;
    flex-wrap: wrap;
  }
  .site-footer p {
    order: 3;
    flex-basis: 100%;
    margin: 0;
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
}
.command-trigger {
  border: 1px solid var(--line);
  background: none;
  color: var(--muted);
  width: 30px;
  height: 30px;
  cursor: pointer;
  font-size: 15px;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 56px;
}
.section-heading h2 {
  font-size: clamp(32px, 3.5vw, 52px);
}
.section-heading > p {
  font-size: 15px;
  color: var(--muted);
  margin: 0 0 4px;
  max-width: 350px;
}
.systems {
  background: #0c140e;
}
.case {
  border-top: 1px solid #354338;
}
.case:last-child {
  border-bottom: 1px solid #354338;
}
.case summary {
  list-style: none;
  display: flex;
  gap: 25px;
  align-items: center;
  padding: 30px 0;
  cursor: pointer;
}
.case summary::-webkit-details-marker {
  display: none;
}
.case-number {
  color: #91a293;
  min-width: 22px;
}
.case-title {
  display: flex;
  flex-direction: column;
  gap: 7px;
  flex: 1;
}
.case-org {
  font-size: 12px;
  color: #90a692;
  letter-spacing: 0.05em;
}
.case-title strong {
  font-size: 25px;
  letter-spacing: -0.035em;
  font-weight: 400;
  line-height: 1.3;
}
.case-result {
  font-size: 12px;
  color: #97cfa2;
  max-width: 210px;
}
.case-toggle {
  font-size: 28px;
  font-weight: 300;
  color: var(--green);
  width: 26px;
  text-align: center;
  transition: transform 0.2s;
}
.case[open] .case-toggle {
  transform: rotate(45deg);
}
.case-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8%;
  padding: 10px 0 45px 47px;
}
.case-story p {
  font-size: 15px;
  color: #b2beb1;
  line-height: 1.75;
  margin: 0 0 22px;
}
.case-story .case-lead {
  font-size: 20px;
  color: var(--ink);
  line-height: 1.5;
}
.case-story h3 {
  font-size: 15px;
  font-weight: 500;
  margin: 28px 0 12px;
  color: var(--green);
}
.case-story .case-outcome {
  border-left: 2px solid #6ba27b;
  padding-left: 18px;
  color: #c8d5c7;
  font-size: 14px;
}
.system-map {
  align-self: start;
  background: #0a110c;
  border: 1px solid var(--line);
  padding: 25px;
}
.map-caption {
  font-size: 12px;
  color: #8ba18e;
  margin: 0 0 26px;
}
.map-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.map-flow.horizontal {
  flex-direction: row;
  align-items: stretch;
  gap: 12px;
}
.map-node {
  width: 100%;
  border: 1px solid #34483a;
  padding: 15px 12px;
  background: #111e15;
  color: #d4e2d4;
  cursor: pointer;
  font-size: 14px;
  text-align: left;
  line-height: 1.3;
  transition:
    border-color 0.2s,
    background 0.2s;
}
.map-node span {
  display: block;
  font-family: var(--mono);
  font-size: 12px;
  color: #90a994;
  margin-top: 8px;
  letter-spacing: 0.025em;
}
.map-node:hover,
.map-node[aria-pressed="true"] {
  border-color: #93ffb0;
  background: #182b1d;
}
.map-connector {
  display: block;
  color: #759d7c;
  text-align: center;
  font-size: 20px;
  padding: 7px;
}
.map-divider {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #728977;
  font-size: 12px;
  margin: 25px 0 17px;
}
.map-divider:after {
  content: "";
  height: 1px;
  background: var(--line);
  flex: 1;
}
.map-note {
  font-size: 13px;
  color: #a2b5a6;
  min-height: 87px;
  line-height: 1.7;
  border-top: 1px solid var(--line);
  padding-top: 20px;
  margin: 25px 0 0;
}
.career {
  background: #dce5d9;
  color: #15271b;
}
.career .eyebrow {
  color: #49624f;
}
.career .eyebrow > span {
  color: #1c6635;
}
.career .section-heading > p {
  color: #536b59;
}
.career-row {
  display: grid;
  grid-template-columns: 0.8fr 2.6fr 1fr;
  gap: 30px;
  padding: 30px 0;
  border-top: 1px solid #b3c4b2;
}
.career-date {
  font-size: 12px;
  color: #4c6852;
  margin: 6px 0;
}
.career-row h3 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.035em;
  margin: 0 0 5px;
  line-height: 1.35;
}
.career-company {
  color: #286339;
  margin: 0 0 14px;
  font-size: 15px;
}
.career-row div > p:last-child {
  font-size: 15px;
  color: #506756;
  line-height: 1.65;
  max-width: 560px;
  margin: 0;
}
.career-marker {
  font-size: 12px;
  color: #41684c;
  line-height: 1.8;
  padding-top: 6px;
}
.career-footnote {
  display: flex;
  align-items: baseline;
  gap: 30px;
  border-top: 1px solid #b3c4b2;
  padding-top: 25px;
  color: #506756;
}
.career-footnote span {
  white-space: nowrap;
  font-size: 12px;
}
.career-footnote p {
  font-size: 13px;
  max-width: 620px;
  margin: 0;
}
.project-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}
.project-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #2c3a2f;
  background: #101813;
  overflow: hidden;
}
.project-copy {
  padding: 31px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.project-category {
  font-size: 12px;
  color: #8fa891;
  margin: 0 0 14px;
  letter-spacing: 0.05em;
}
.project-copy h3,
.research-project h3 {
  font-size: 30px;
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.25;
  margin: 0 0 14px;
}
.project-copy > p:not(.project-category) {
  font-size: 15px;
  color: #b5c3b5;
  margin: 0 0 19px;
  line-height: 1.7;
}
.project-copy .project-caveat {
  font-size: 12px !important;
  color: #859889 !important;
}
.project-copy .text-link {
  font-size: 14px;
  margin-top: auto;
  align-self: flex-start;
}
.demo-top {
  padding: 19px 23px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #8ca693;
  gap: 10px;
}
.hinge-demo {
  background: #14241b;
  border-bottom: 1px solid var(--line);
}
.hinge-scene {
  height: 242px;
  perspective: 600px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 20px;
}
.hinge-display {
  width: 80%;
  height: 200px;
  border: 1px solid #47785b;
  background: linear-gradient(135deg, #193926, #10311e 65%, #205137);
  padding: 18px 25px;
  transform-origin: 50% 100%;
  box-shadow: 0 10px 35px #0005;
  will-change: transform;
}
.hinge-screen-header {
  color: #b9f6c9;
  font-size: 12px;
}
.hinge-display p {
  font-size: 34px;
  letter-spacing: -0.05em;
  line-height: 1.1;
  margin: 22px 0;
  color: #bcffd0;
}
.hinge-display > span {
  font-size: 12px;
  color: #91ad96;
}
.hinge-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 19px 24px 25px;
}
.hinge-control span {
  font-size: 12px;
  color: #91b19a;
}
.hinge-control input {
  min-width: 0;
  width: 52%;
  height: 20px;
  accent-color: var(--green);
  cursor: pointer;
}
.night-demo {
  background: #15121b;
  border-bottom: 1px solid #332c3a;
  position: relative;
  overflow: hidden;
}
.night-demo .demo-top {
  color: #aca0be;
}
.research-project {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 20px 60px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-top: 38px;
  padding: 36px 0;
}
.research-project h3 {
  font-size: 26px;
}
.research-project p:not(.project-category) {
  font-size: 15px;
  color: var(--muted);
  max-width: 550px;
  margin: 0;
}
.research-process {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.055em;
  color: #7f9a85;
}
.research-process .research-verdict {
  color: var(--green);
  border: 1px solid #3d6247;
  padding: 9px 16px;
}
.research-project > .text-link {
  justify-self: start;
  margin-top: 0;
  font-size: 14px;
}
.human {
  background: #101a13;
}
.human-heading {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  align-items: end;
  gap: 10%;
}
.human-heading h2 {
  font-size: clamp(34px, 3.7vw, 55px);
}
.human-heading p {
  color: var(--muted);
  font-size: 16px;
  margin: 0;
  max-width: 300px;
}
.human-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px;
  margin-top: 54px;
}
.human-grid article {
  border-top: 1px solid #36513d;
  padding-top: 25px;
}
.human-grid article > span {
  color: #8aa68f;
  font-size: 12px;
}
.human-grid h3 {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.3;
  margin: 17px 0 12px;
}
.human-grid p {
  font-size: 14px;
  line-height: 1.75;
  color: #a6b7a7;
  margin: 0;
}
.contact {
  padding-top: 112px;
  padding-bottom: 112px;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 10%;
}
.contact h2 {
  font-size: clamp(40px, 4.9vw, 72px);
}
.contact h2 > span {
  color: var(--green);
}
.contact-grid > div > p {
  color: #adbfae;
  font-size: 16px;
  margin: 28px 0;
}
.contact-button {
  display: inline-flex;
  gap: 40px;
  align-items: center;
  margin-top: 12px;
  padding: 17px 23px;
  background: var(--green);
  color: #13261a;
  font-size: 15px;
  font-weight: 500;
  transition: background 0.2s;
}
.contact-button:hover {
  background: #c3ffd2;
}
.contact-terminal {
  background: #0d1710;
  border: 1px solid #2f4435;
  align-self: center;
  padding: 25px 30px;
  font-size: 12px;
  letter-spacing: 0;
}
.contact-terminal > p {
  color: var(--green) !important;
  font-size: 13px !important;
  margin: 0 0 26px !important;
}
.contact-terminal > p span {
  color: #6c9477;
  margin-right: 10px;
}
.contact-terminal dl {
  margin: 0;
}
.contact-terminal dt {
  color: #6c9275;
  font-size: 12px;
  letter-spacing: 0.08em;
  margin-top: 21px;
}
.contact-terminal dd {
  color: #bccebe;
  font-size: 12px;
  line-height: 1.75;
  margin: 8px 0 0;
}
.terminal-prompt {
  display: inline-block;
  color: var(--green);
  margin-top: 25px;
}
dialog {
  color: var(--ink);
  background: #101b13;
  border: 1px solid #497653;
  padding: 0;
  width: min(540px, 90vw);
  max-height: 80svh;
  box-shadow: 0 30px 100px #0009;
}
dialog::backdrop {
  background: #030805cc;
  backdrop-filter: blur(5px);
}
.command-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid var(--line);
}
.command-heading h2 {
  font-size: 12px;
  letter-spacing: 0.05em;
  color: var(--green);
}
.command-heading button {
  color: #9eafa1;
  background: none;
  border: 1px solid #374b3c;
  font-family: var(--mono);
  font-size: 12px;
  padding: 3px 8px;
  cursor: pointer;
}
.command-input-label {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 20px;
  color: var(--green);
}
.command-input-label input {
  width: 100%;
  background: none;
  border: none;
  outline: none;
  color: var(--ink);
  font-family: var(--mono);
  font-size: 16px;
}
.command-input-label input::placeholder {
  color: #7c9582;
}
.command-input-label input:focus-visible {
  outline: none;
}
.command-input-label:focus-within {
  box-shadow: inset 0 -2px var(--green);
}
#command-results {
  padding: 0 10px 10px;
  display: flex;
  flex-direction: column;
}
#command-results a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  font-family: var(--mono);
  font-size: 13px;
  color: #a9c1af;
}
#command-results a span {
  font-size: 12px;
  color: #72957d;
}
#command-results a:hover,
#command-results a:focus {
  background: #213c2a;
  color: var(--green);
}
#command-results > p {
  padding: 0 12px;
  font-size: 14px;
  color: var(--muted);
}
.command-hint {
  font-size: 12px;
  color: #759880;
  padding: 12px 20px;
  border-top: 1px solid var(--line);
  margin: 0;
}
@media (max-width: 1000px) {
  .case-result {
    display: none;
  }
  .section-heading {
    align-items: start;
    flex-direction: column;
    gap: 22px;
  }
  .career-row {
    grid-template-columns: 0.8fr 2.6fr;
    gap: 20px;
  }
  .career-marker {
    grid-column: 2;
    font-size: 12px;
    padding: 0;
  }
  .case-body {
    gap: 5%;
    padding-left: 0;
  }
  .system-map {
    padding: 20px;
  }
  .map-flow.horizontal {
    flex-direction: column;
  }
  .map-node span {
    font-size: 12px;
  }
  .project-copy {
    padding: 25px;
  }
  .human-grid {
    gap: 25px;
  }
  .contact-grid {
    gap: 5%;
  }
  .contact-terminal {
    padding: 24px;
  }
}
@media (max-width: 760px) {
  .site-header nav .command-trigger {
    display: none;
  }
  .section-heading {
    margin-bottom: 35px;
  }
  .section-heading h2 {
    font-size: 36px;
  }
  .section-heading > p {
    font-size: 15px;
  }
  .case summary {
    gap: 16px;
    padding: 24px 0;
  }
  .case-org {
    font-size: 12px;
  }
  .case-title strong {
    font-size: 21px;
  }
  .case-number {
    font-size: 12px;
    min-width: 18px;
  }
  .case-body {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-bottom: 30px;
  }
  .case-story .case-lead {
    font-size: 19px;
  }
  .case-story p {
    font-size: 15px;
  }
  .map-flow.horizontal {
    flex-direction: row;
  }
  .map-note {
    min-height: 0;
  }
  .career-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 26px 0;
  }
  .career-row h3 {
    font-size: 21px;
  }
  .career-marker {
    grid-column: 1;
    margin-top: 10px;
  }
  .career-date {
    margin: 0 0 7px;
  }
  .career-footnote {
    flex-direction: column;
    gap: 10px;
  }
  .project-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .demo-top {
    font-size: 12px;
    padding: 18px;
  }
  .research-project {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .research-process {
    align-items: start;
    gap: 9px;
    margin: 5px 0;
  }
  .human-heading {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .human-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 38px;
  }
  .human-grid h3 {
    font-size: 22px;
  }
  .human-grid p {
    font-size: 15px;
  }
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .contact h2 {
    font-size: 43px;
  }
  .contact-grid > div > p {
    font-size: 16px;
  }
  .contact-button {
    padding: 16px 20px;
  }
  .contact-terminal {
    padding: 27px;
  }
  .contact-terminal dd {
    font-size: 13px;
  }
  .command-hint {
    font-size: 12px;
  }
}
.boot-copy {
  animation: none;
}
.boot-copy p {
  animation: arrive 0.45s backwards;
}
.boot-copy p:nth-child(1) {
  animation-delay: 0.15s;
}
.boot-copy p:nth-child(2) {
  animation-delay: 0.4s;
}
.boot-copy p:nth-child(3) {
  animation-delay: 0.65s;
}
.terminal-enter {
  animation-delay: 0.8s;
}
@media (max-width: 760px) {
  .site-header nav {
    gap: 12px;
  }
  .site-header nav .command-trigger {
    display: inline-block;
    width: 32px;
    height: 32px;
  }
  .case-title {
    min-width: 0;
  }
  .case-org {
    font-size: 12px;
  }
  .demo-top {
    align-items: start;
  }
  .demo-top > span:first-child {
    max-width: 70%;
  }
  .map-flow.horizontal {
    flex-direction: column;
  }
  .hero-bottom {
    font-size: 12px;
  }
  .hero-bottom > span:last-child {
    gap: 8px;
  }
  .wordmark {
    font-size: 20px;
  }
  .nav-contact {
    padding: 7px 10px;
  }
}

/* Project history and the physical-world chapter. */
.project-group-heading {
  margin: 58px 0 25px;
  border-top: 1px solid var(--line);
  padding-top: 30px;
}
.project-group-heading > span {
  color: var(--green);
}
.project-group-heading p {
  font-size: 16px;
  color: var(--muted);
  margin: 12px 0 0;
}
.protocol-preview,
.phygital-preview {
  min-height: 260px;
  padding: 25px 30px;
  border-bottom: 1px solid var(--line);
  background: #14201b;
}
.protocol-preview > p:first-child,
.phygital-preview > p {
  color: #a9bfb0;
  font-size: 12px;
  margin: 0;
}
.protocol-flow {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 28px 0;
  gap: 10px;
  flex-wrap: wrap;
}
.protocol-flow li {
  padding: 9px 11px;
  border: 1px solid #53745d;
  color: #cfdfd2;
  font-size: 13px;
}
.protocol-stat {
  font-size: 54px;
  line-height: 1;
  letter-spacing: -0.06em;
  color: var(--green);
  margin: 0;
}
.protocol-stat span {
  display: block;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0;
  color: #a9bfb0;
  margin-top: 12px;
}
.phygital-preview {
  background: #1c2114;
}
.phygital-pair {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(14px, 2vw, 24px);
  padding: 30px 0;
}
.phygital-pair span {
  font-size: clamp(20px, 2.3vw, 34px);
  line-height: 1.2;
  letter-spacing: -0.04em;
  color: #dbedb5;
}
.phygital-pair span:nth-child(2) {
  color: #8a9a6b;
}
.project-note {
  display: grid;
  grid-template-columns: 0.8fr 2fr;
  gap: 30px;
  padding: 35px 0;
  border-bottom: 1px solid var(--line);
}
.project-note > span {
  color: #8fa891;
  padding-top: 5px;
}
.project-note h3,
.robotics-project h3 {
  font-size: 27px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.3;
  margin: 0 0 15px;
}
.project-note p,
.robotics-project p:not(.project-category) {
  font-size: 15px;
  color: var(--muted);
  margin: 0;
}
.robotics-project {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 40px;
  background: #111e16;
  border: 1px solid #354d3c;
  padding: 32px;
  margin-top: 32px;
}
.robotics-project p + p {
  margin-top: 17px !important;
}
.robotics-flow {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.robotics-flow span {
  font-family: var(--mono);
  font-size: 13px;
  color: #a6d7b1;
  padding: 11px 16px;
  border-left: 2px solid #699b76;
  background: #162b1d;
}
/* Keep intrinsic content from stretching columns on small screens or with enlarged text. */
.about-grid,
.case-body,
.contact-grid,
.human-heading {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
}
.project-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.about-grid > *,
.case-body > *,
.contact-grid > *,
.project-grid > *,
.research-project > *,
.robotics-project > * {
  min-width: 0;
}
body {
  overflow-wrap: break-word;
}
.command-trigger,
#command-close,
#motion-toggle {
  min-width: 44px;
  min-height: 44px;
}
#command-results {
  max-height: 45svh;
  overflow-y: auto;
}
#command-results a {
  min-height: 44px;
  gap: 20px;
}
.contact-button,
.text-link,
.nav-contact {
  min-height: 44px;
}
.command-input-label input {
  min-width: 0;
}
@media (max-width: 760px) {
  .site-header {
    height: auto;
    min-height: 76px;
    flex-wrap: wrap;
    gap: 8px 12px;
    padding-block: 12px;
  }
  .site-header nav {
    flex-wrap: wrap;
    gap: 8px;
  }
  .site-header nav .command-trigger {
    width: 44px;
    height: 44px;
  }
  .about-grid,
  .case-body,
  .contact-grid,
  .human-heading,
  .project-grid,
  .project-note,
  .robotics-project {
    grid-template-columns: minmax(0, 1fr);
  }
  .proof-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .hero h1 {
    font-size: clamp(46px, 12vw, 89px);
  }
  .hero-bottom {
    flex-wrap: wrap;
    gap: 16px;
  }
  .hero-bottom > span:first-child {
    max-width: none;
  }
  .hinge-display {
    width: 95%;
    height: auto;
    min-height: 200px;
    padding: 18px;
  }
  .hinge-display p {
    font-size: clamp(24px, 7vw, 34px);
  }
  .hinge-control {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .hinge-control input {
    width: 100%;
    height: 44px;
    margin: 0;
  }
  .demo-top {
    flex-wrap: wrap;
    align-items: center;
  }
  .protocol-preview,
  .phygital-preview {
    padding: 25px;
    min-height: 260px;
  }
  .phygital-pair span {
    font-size: clamp(22px, 6vw, 34px);
  }
  .project-note {
    gap: 15px;
  }
  .robotics-project {
    padding: 24px;
    gap: 25px;
  }
  .contact h2 {
    font-size: clamp(34px, 10vw, 43px);
  }
}

/* Keep featured previews and content aligned across the two cards. */
.featured-grid .project-card {
  display: grid;
  grid-template-rows: 400px 1fr;
}
.featured-grid .project-copy {
  display: flex;
  flex-direction: column;
}
.featured-grid .project-category {
  min-height: 40px;
}
.featured-grid .text-link {
  margin-top: auto;
  align-self: flex-start;
}
.featured-grid .hinge-demo,
.featured-grid .night-demo {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.featured-grid .demo-top {
  min-height: 64px;
  flex-shrink: 0;
}
.featured-grid .hinge-scene {
  flex: 1;
  height: auto;
  min-height: 0;
  padding: 12px 20px;
}
.featured-grid .hinge-display {
  height: auto;
  min-height: 200px;
}
.featured-grid .hinge-display p {
  margin: 18px 0;
}
.featured-grid .hinge-display > span {
  display: block;
  line-height: 1.5;
}
.night-video-stage {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  background: #100d0b;
}
.night-video-stage video {
  display: block;
  width: 100%;
  min-height: 0;
  flex: 1;
  object-fit: contain;
}
.night-video-stage > span {
  padding: 12px 23px;
  color: #aca0be;
  font-size: 11px;
}
@media (max-width: 600px) {
  .featured-grid .project-category {
    min-height: 0;
  }
}

#projects > .section-heading h2 {
  max-width: 14ch;
  text-wrap: balance;
}
#projects > .section-heading > p {
  max-width: 48ch;
  text-wrap: pretty;
}

/* Let typography wrap with the viewport instead of fixed HTML breaks. */
h1,
h2,
.phygital-pair > span {
  text-wrap: balance;
}
.hero h1 {
  max-width: 10ch;
}
.boot-copy p,
.section-heading > p,
.contact-grid > div > p {
  text-wrap: pretty;
}
.hinge-display p {
  max-width: 12ch;
  text-wrap: balance;
}
.career-marker > span {
  display: block;
}
.opportunity-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.phygital-pair > span:not(:nth-child(2)) {
  min-width: 0;
  flex: 0 1 auto;
  max-width: 9ch;
}

/* Small interactive architecture stories, without a runtime dependency. */
.ai-lab {
  min-width: 0;
  display: grid;
  gap: 24px;
  align-content: start;
}
.harness-step {
  display: inline !important;
  margin-right: 12px;
  color: var(--green) !important;
}
.lab-caption {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.query-lab {
  padding: 25px;
  border: 1px solid var(--line);
  background: #0a110c;
}
.query-lab h3 {
  font-size: 21px;
  line-height: 1.3;
  margin: 0 0 15px;
}
.query-lab > p:not(.map-caption) {
  font-size: 13px;
  color: var(--muted);
}
.query-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0;
}
.query-modes button {
  flex: 1;
  min-height: 44px;
  padding: 10px 12px;
  color: var(--muted);
  background: transparent;
  border: 1px solid var(--line);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
}
.query-modes button[aria-pressed="true"] {
  color: var(--green);
  border-color: #76bd87;
  background: #12281a;
}
.query-lab > label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}
.query-lab select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px 42px 10px 12px;
  font: inherit;
  font-size: 13px;
  color: var(--ink);
  appearance: none;
  background-color: var(--bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23e4eadf' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  border: 1px solid var(--line);
}
.query-result {
  margin-top: 18px;
  padding: 16px;
  background: #122019;
  border-left: 2px solid var(--green);
}
.query-status {
  color: var(--green);
  font-size: 11px;
  margin: 0 0 12px;
}
.query-result pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 1.6;
}
.query-result > p:last-child {
  font-size: 13px;
  color: #b5c3b5;
  margin-bottom: 0;
}
.query-tradeoff,
.hinge-readout {
  margin: 20px 0;
}
.query-tradeoff > div,
.hinge-readout > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.query-tradeoff dt,
.hinge-readout dt {
  color: var(--muted);
}
.query-tradeoff dd,
.hinge-readout dd {
  margin: 0;
}
.project-inspector {
  margin: 0 0 24px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.project-inspector summary {
  min-height: 44px;
  padding: 12px 0;
  cursor: pointer;
  color: var(--green);
  font-size: 14px;
}
.project-inspector summary > span {
  float: right;
}
.project-inspector[open] summary > span {
  transform: rotate(45deg);
}
.project-inspector p {
  font-size: 13px;
  color: #b5c3b5;
  line-height: 1.7;
}
.project-inspector h4 {
  font-size: 14px;
  font-weight: 500;
  margin: 22px 0 10px;
}
.project-inspector meter {
  width: 100%;
  display: block;
  margin: 8px 0 20px;
  accent-color: var(--green);
}
.hinge-readout > div {
  grid-template-columns: minmax(0, 1fr) auto;
}
.hinge-readout output {
  font-family: var(--mono);
  color: var(--green);
}

.map-note-terminal {
  display: grid;
  position: relative;
  font-family: var(--mono);
}
.map-note-reserve,
.map-note-line {
  grid-area: 1 / 1;
}
.map-note-reserve {
  visibility: hidden;
  pointer-events: none;
  user-select: none;
}
.map-note.is-updated {
  border-top-color: #76bd87;
  color: #bccebe;
}
.map-note-cursor {
  display: none;
  color: var(--green);
}
.map-note.is-updated .map-note-cursor {
  display: inline-block;
  animation: blink 1.15s steps(1) infinite;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.inspector-map {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 18px 0;
}
.inspector-map .map-note {
  color: #bccebe;
}

@media (forced-colors: active) {
  .query-lab select {
    appearance: auto;
    background-image: none;
  }
}

/* Small screens: readable captions, no input zoom, comfortable tap targets. */
@media (max-width: 760px) {
  html {
    scroll-padding-top: 76px;
  }
  .eyebrow,
  .hero-topline,
  .hero-bottom,
  .boot-copy .boot-aside,
  .case-number,
  .case-org,
  .map-caption,
  .map-divider,
  .map-node span,
  .lab-caption,
  .query-status,
  .query-result pre,
  .query-tradeoff > div,
  .hinge-readout > div,
  .career-date,
  .career-marker,
  .career-footnote .mono,
  .demo-top,
  .hinge-control .mono,
  .night-video-stage > .mono,
  .project-category,
  .project-group-heading .mono,
  .project-note > .mono,
  .protocol-preview > p.mono,
  .protocol-stat span,
  .phygital-preview .mono,
  .research-process,
  .human-grid article > .mono,
  .site-footer .mono,
  .contact-terminal dt,
  .terminal-prompt {
    font-size: 13px;
  }
  .project-copy .project-caveat {
    font-size: 13px !important;
  }
  .query-lab select {
    font-size: 16px;
  }
  /* Stacked cards size to their content so the hinge sketch is not clipped. */
  .featured-grid .project-card {
    grid-template-rows: auto 1fr;
  }
  .featured-grid .hinge-scene {
    flex: none;
    padding: 16px 20px;
  }
  .site-footer > a:last-child {
    padding: 11px 0;
  }
}

.not-found-main {
  width: min(900px, 100%);
  padding: clamp(55px, 10vh, 120px) 9%;
  margin: auto;
}
.not-found-main .eyebrow {
  margin-bottom: 38px;
}
.not-found-main h1 {
  color: var(--green);
  font: 400 clamp(38px, 7vw, 78px) / 1.1 var(--mono);
  letter-spacing: -0.06em;
  max-width: 16ch;
  margin: 24px 0;
}
.not-found-copy {
  max-width: 44ch;
  color: var(--muted);
  font-size: 17px;
}
.not-found-hint {
  font-size: 13px;
  color: var(--muted);
  margin-top: 38px;
}
.not-found-hint a {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 4px;
}
