.scroll-progress {
  position: fixed;
  z-index: 120;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--acid);
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
  contain: paint;
}

.layer-stack {
  visibility: hidden;
}

.machine-ready .layer-stack {
  visibility: visible;
}

.plane-input {
  opacity: 1;
  filter: brightness(1.3);
}

.plane-memory,
.plane-logic,
.plane-output {
  opacity: .16;
  filter: brightness(.55);
}

.site-header nav a {
  transition: color .25s ease;
}

.site-header nav a.is-active {
  color: var(--acid);
}

.machine-intro {
  display: grid;
  grid-template-columns: minmax(240px, .58fr) minmax(0, 1fr);
  gap: 9vw;
  align-items: end;
  max-width: none;
  margin-left: 0;
  padding: 0 6vw 110px;
}

.machine-intro-copy {
  max-width: 950px;
}

.machine-intro-copy > p:last-child {
  max-width: 490px;
  margin: 35px 0 0;
  color: #aaaea4;
  font-size: 18px;
  line-height: 1.38;
}

.machine-index {
  position: relative;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
}

.machine-index-head {
  display: flex;
  justify-content: space-between;
  padding: 14px 0;
  color: #777b72;
  font-size: 10px;
  font-weight: 600;
}

.machine-index ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.machine-index li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: baseline;
  padding: 13px 0;
  border-top: 1px solid var(--line);
  color: #5f625b;
  transition: color .45s ease, padding-left .45s ease;
}

.machine-index li i,
.machine-index li small {
  font-style: normal;
  font-size: 9px;
  font-weight: 600;
}

.machine-index li i {
  color: var(--acid);
  opacity: .35;
  transition: opacity .45s ease;
}

.machine-index li strong {
  font-family: var(--sans);
  font-size: clamp(20px, 2vw, 32px);
  font-weight: 500;
}

.machine-index li small {
  color: #777b72;
}

.machine-index li.is-active {
  padding-left: 12px;
  color: var(--paper);
}

.machine-index li.is-active i {
  opacity: 1;
}

.machine-index > p {
  margin: 0;
  padding: 18px 0;
  color: #777b72;
  font-size: 9px;
  text-transform: uppercase;
}

.machine-index > p span {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  background: var(--acid);
  box-shadow: 0 0 12px rgba(233, 255, 56, .55);
}

/* The glow pool was baked into the card background at a fixed 28%, so it stayed
   put while the scan line swept away from it. Attach the glow to the line so the
   light travels with it (the card keeps only its scan-line texture). */
.art-scan {
  background: repeating-linear-gradient(0deg, transparent 0 5px, rgba(230, 238, 255, .07) 6px);
}

.scan-line:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: clamp(240px, 30vw, 480px);
  transform: translateX(-50%);
  background: radial-gradient(ellipse 50% 55% at center, rgba(233, 255, 56, .2), transparent 72%);
  pointer-events: none;
}

.hero {
  --pointer-x: .68;
  --pointer-y: .5;
  --drift-a: -.63vw;
  --drift-b: .9vw;
  --drift-c: -.36vw;
  --echo-a: -.72vw;
}

.hero-slit {
  position: absolute;
  z-index: 1;
  top: 52%;
  left: -4%;
  width: 108%;
  height: 58px;
  overflow: hidden;
  border-top: 1px solid rgba(233, 255, 56, .24);
  border-bottom: 1px solid rgba(233, 255, 56, .12);
  background: repeating-linear-gradient(90deg, rgba(233, 255, 56, .08) 0 1px, transparent 1px 18px);
  transform: translateX(var(--drift-c)) skewY(-1.2deg);
  transition: transform .8s cubic-bezier(.22, 1, .36, 1);
  pointer-events: none;
}

.hero-slit div {
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
  color: rgba(233, 255, 56, .32);
  font: 600 9px/1 var(--mono);
  word-spacing: 2.7em;
  animation: heroSlit 17s linear infinite;
}

@keyframes heroSlit {
  to { transform: translateX(-34%); }
}

.hero-v9 {
  position: relative;
  isolation: isolate;
  min-height: 100dvh;
  padding: 0;
  display: block;
  background: #070806;
  color: var(--paper);
}

#hero-webgl {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.2s ease;
}

.webgl-ready #hero-webgl {
  opacity: 1;
}

.hero-v9-grid {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: linear-gradient(rgba(236, 236, 229, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(236, 236, 229, .055) 1px, transparent 1px);
  background-size: 12.5% 20%;
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, .82), rgba(0, 0, 0, .18) 72%, transparent);
}

.hero-v9-copy {
  position: absolute;
  z-index: 3;
  top: 21%;
  left: 5vw;
  width: min(74vw, 1450px);
}

.hero-v9-kicker {
  margin: 0 0 5vh;
  color: var(--acid);
}

.hero-v9 h1 {
  margin: 0;
  font-size: clamp(72px, 9.6vw, 184px);
  line-height: .72;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}

.hero-v9 h1 span,
.hero-v9 h1 span:nth-child(2),
.hero-v9 h1 span:nth-child(3) {
  display: block;
  width: max-content;
  margin-left: 0;
  white-space: nowrap;
}

.hero-v9 h1 .hero-v9-focus {
  margin-left: 8vw;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(236, 236, 229, .85);
}

.hero-v9 h1 span:last-child {
  margin-left: 2vw;
}

.hero-v9-foot {
  display: grid;
  grid-template-columns: minmax(260px, 430px) max-content;
  gap: 54px;
  align-items: end;
  margin: 6vh 0 0 28vw;
}

.hero-v9-foot p {
  margin: 0;
  color: #b6b9af;
  font-size: 14px;
  line-height: 1.5;
  text-wrap: pretty;
}

.hero-v9-foot a {
  min-height: 48px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: var(--ink);
  background: var(--acid);
  border: 1px solid var(--acid);
  font: 600 10px/1 var(--mono);
  text-decoration: none;
  text-transform: uppercase;
  box-shadow: 0 0 24px rgba(233, 255, 56, .12);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.hero-v9-foot a span {
  display: inline-block;
  margin-left: 28px;
  color: currentColor;
  transition: transform .3s ease;
}

.hero-v9-foot a:hover span {
  transform: translate(4px, -4px);
}

.hero-v9-foot a:hover {
  background: var(--paper);
  border-color: var(--paper);
  transform: translateY(-2px);
}

.project-proof {
  position: relative;
  z-index: 3;
  grid-column: 1 / -1;
  align-self: end;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid currentColor;
  background: rgba(236, 236, 229, .9);
  color: #11120f;
}

.project-two .project-proof {
  background: rgba(7, 8, 6, .88);
  color: var(--paper);
}

.project-three .project-proof {
  background: rgba(255, 84, 61, .9);
}

.project-proof span {
  min-height: 106px;
  padding: 18px 24px;
  border-right: 1px solid currentColor;
  font-size: 14px;
  line-height: 1.35;
}

.project-proof span:last-child { border-right: 0; }

.project-proof small {
  display: block;
  margin-bottom: 11px;
  font: 600 9px/1 var(--mono);
  text-transform: uppercase;
  opacity: .58;
}

/* Live captures make each engagement immediately inspectable. */
.project-live-art {
  top: 27%;
  bottom: 14%;
  display: block;
  border: 1px solid currentColor;
  background: #090a08;
  color: inherit;
  text-decoration: none;
}

.project-live-art img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;
  filter: saturate(.82) contrast(1.04);
  transform: scale(1.001);
  transition: transform .75s cubic-bezier(.2,.75,.2,1), filter .35s ease;
}

.project-live-art:hover img {
  transform: scale(1.018);
  filter: saturate(1) contrast(1.02);
}

.project-live-art > span {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 18px;
  padding: 11px 13px;
  background: var(--acid);
  color: var(--ink);
  font: 600 9px/1 var(--mono);
  text-transform: uppercase;
}

.project-preview {
  display: grid;
  place-items: center;
  background: #11130f;
}

.project-preview img {
  width: min(78%, 1120px);
  height: 91%;
  object-fit: contain;
  filter: saturate(.9) contrast(1.02);
}

.project-preview > span {
  background: #11130f;
  color: var(--paper);
  border: 1px solid rgba(239,241,229,.45);
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgba(17,18,15,.28);
  border-top: 1px solid rgba(17,18,15,.28);
  border-bottom: 1px solid rgba(17,18,15,.28);
}

.portfolio-grid .portfolio-card {
  min-height: 650px;
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 0;
  overflow: hidden;
  background: #d9ddd3;
  color: var(--ink);
  border: 0;
  text-decoration: none;
}

.portfolio-grid .portfolio-card-wide { grid-column: span 2; min-height: 780px; }

.portfolio-grid .project-art {
  position: relative;
  inset: auto;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  background: #0a0b09;
}

.portfolio-grid .project-art img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;
  transition: transform .7s cubic-bezier(.2,.75,.2,1), filter .3s ease;
}

.portfolio-grid a:hover .project-art img { transform: scale(1.018); }

.portfolio-card-copy {
  min-height: 150px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: center;
  gap: 14px 28px;
  padding: 27px 30px 25px;
}

.portfolio-card-copy span,
.portfolio-card-copy b { font: 600 9px/1 var(--mono); text-transform: uppercase; }
.portfolio-card-copy b { align-self: center; }
.portfolio-card-copy h3 {
  position: static;
  grid-column: 1 / -1;
  margin: 0;
  font-size: clamp(30px, 3vw, 52px);
  line-height: .94;
  letter-spacing: -.055em;
  font-weight: 600;
}

.portfolio-grid .portfolio-card-dark { background: #0b0c0a; color: var(--paper); }
.portfolio-grid .portfolio-card-acid { background: var(--acid); }
.portfolio-card-device .project-art { display: grid; place-items: center; padding: 34px; }
.portfolio-card-device .project-art img { object-fit: contain; width: 88%; height: 92%; }

/* A restrained portfolio insert; surrounding sections keep their original rhythm. */
.portfolio-compact {
  background: var(--paper);
  color: var(--ink);
  padding: 112px 5vw 118px;
}

.portfolio-compact-head {
  display: grid;
  grid-template-columns: .5fr 1fr .55fr;
  gap: 48px;
  align-items: end;
  padding-bottom: 64px;
}

.portfolio-compact-head h2 {
  margin: 0;
  font-size: clamp(54px, 6.3vw, 108px);
  line-height: .84;
  letter-spacing: -.07em;
  font-weight: 600;
}

.portfolio-compact-head > p:last-child {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
}

.portfolio-compact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(17,18,15,.28);
  border: 1px solid rgba(17,18,15,.28);
}

.portfolio-compact-card {
  min-width: 0;
  min-height: 430px;
  display: flex;
  flex-direction: column;
  background: #d9ddd3;
  color: var(--ink);
  text-decoration: none;
  overflow: hidden;
}

.portfolio-compact-image {
  height: 290px;
  overflow: hidden;
  background: #0a0b09;
}

.portfolio-compact-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;
  transition: transform .65s cubic-bezier(.2,.75,.2,1);
}

.portfolio-compact-card:hover .portfolio-compact-image img { transform: scale(1.02); }

.portfolio-compact-card > div:last-child {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: center;
  gap: 13px 20px;
  padding: 22px 24px;
}

.portfolio-compact-card span,
.portfolio-compact-card b,
.portfolio-compact-card i { font: 600 9px/1 var(--mono); text-transform: uppercase; }
.portfolio-compact-card h3 {
  grid-column: 1 / -1;
  margin: 0;
  font-size: clamp(29px, 2.7vw, 44px);
  line-height: .92;
  letter-spacing: -.055em;
}

.portfolio-compact-note { background: #0b0c0a; color: var(--paper); }
.portfolio-compact-index {
  height: 290px;
  position: relative;
  display: grid;
  place-items: center;
  border-bottom: 1px solid rgba(239,241,229,.2);
  background-image: radial-gradient(circle, rgba(239,241,229,.2) 1px, transparent 1px);
  background-size: 14px 14px;
}
.portfolio-compact-index span { font-size: 112px; color: var(--acid); letter-spacing: -.08em; }
.portfolio-compact-index i { position: absolute; left: 20px; top: 20px; color: var(--acid); font-style: normal; }

.portfolio-evidence { padding: 120px 5vw 0; background: #0a0b09; color: var(--paper); }
.portfolio-evidence-head { display: grid; grid-template-columns: .48fr 1.05fr .62fr; gap: 50px; align-items: end; padding-bottom: 72px; }
.portfolio-evidence-head h2 { margin: 0; font-size: clamp(54px, 6.4vw, 110px); line-height: .84; letter-spacing: -.07em; font-weight: 600; }
.portfolio-evidence-head > div p { margin: 0 0 28px; color: #adb0a7; font-size: 16px; line-height: 1.45; }
.portfolio-evidence-head a { display: inline-flex; gap: 40px; padding-bottom: 9px; border-bottom: 1px solid var(--acid); color: var(--acid); text-decoration: none; font: 600 10px/1 var(--mono); text-transform: uppercase; }
.evidence-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.evidence-card { position: relative; min-height: 440px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid var(--line); color: inherit; text-decoration: none; overflow: hidden; }
.evidence-card:last-child { border-right: 0; }
.evidence-card:before { content: ""; position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 34px 34px; transition: opacity .3s, transform .5s; }
.evidence-card:hover:before { opacity: .75; transform: scale(1.03); }
.evidence-card > * { position: relative; z-index: 1; }
.evidence-card > span,.evidence-card > b { font: 600 9px/1 var(--mono); color: var(--acid); text-transform: uppercase; }
.evidence-card h3 { margin: auto 0 22px; font-size: clamp(35px, 3.5vw, 57px); line-height: .88; letter-spacing: -.06em; font-weight: 600; }
.evidence-card p { max-width: 350px; margin: 0 0 34px; color: #b5b8af; font-size: 15px; line-height: 1.4; }
.evidence-data:after { content: ""; position: absolute; width: 250px; aspect-ratio: 1; right: -85px; top: 55px; border-radius: 50%; border: 1px solid rgba(233,255,56,.38); box-shadow: inset 0 0 0 32px #0a0b09, inset 0 0 0 33px rgba(233,255,56,.24), inset 0 0 0 65px #0a0b09, inset 0 0 0 66px rgba(233,255,56,.18); }
.evidence-client:after { content: ""; position: absolute; right: 28px; top: 66px; width: 116px; height: 78px; border: 1px solid rgba(233,255,56,.5); box-shadow: -14px 14px 0 -1px #0a0b09, -14px 14px rgba(233,255,56,.3), -28px 28px 0 -1px #0a0b09, -28px 28px rgba(233,255,56,.16); }
.public-releases { display: grid; grid-template-columns: .7fr 1fr 1fr; border: 1px solid var(--line); border-top: 0; }
.public-releases-label { padding: 24px 28px; display: flex; flex-direction: column; justify-content: space-between; }
.public-releases-label span { color: var(--acid); font: 600 9px/1 var(--mono); }
.public-releases-label p { max-width: 240px; margin: 70px 0 0; color: #aeb1a8; font-size: 14px; line-height: 1.35; }
.public-releases > a { min-width: 0; display: grid; grid-template-columns: 155px 1fr; align-items: center; gap: 20px; padding: 16px; border-left: 1px solid var(--line); color: inherit; text-decoration: none; }
.public-releases img { width: 155px; height: 104px; object-fit: cover; object-position: top; border: 1px solid var(--line); }
.public-releases a span { font: 500 10px/1.45 var(--mono); text-transform: uppercase; }
.public-releases a b { display: block; margin-bottom: 7px; color: var(--acid); font-size: 13px; }

/* Editorial portfolio break: deliberately unlike the dark system anatomy above it. */
.portfolio-evidence { position: relative; padding: 132px 5vw 72px; background: var(--paper); color: var(--ink); border-bottom: 72px solid var(--black); }
.portfolio-evidence:after { content: ""; position: absolute; left: 0; right: 50%; bottom: -2px; height: 2px; background: var(--acid); }
.portfolio-evidence-head { grid-template-columns: .38fr 1.2fr .58fr; padding-bottom: 88px; }
.portfolio-evidence-head > .micro { color: #5f6259; }
.portfolio-evidence-head h2 { font-size: clamp(56px, 6.8vw, 116px); }
.portfolio-evidence-head > div p { color: #4f524b; }
.portfolio-evidence-head a { color: var(--ink); border-color: var(--ink); }
.evidence-index { margin: 0 -5vw; border-top: 1px solid rgba(17,18,15,.34); }
.evidence-index a { min-height: 150px; padding: 20px 5vw; display: grid; grid-template-columns: 70px 1.2fr .8fr .55fr 34px; gap: 28px; align-items: center; border-bottom: 1px solid rgba(17,18,15,.34); color: inherit; text-decoration: none; transition: background .25s,color .25s; }
.evidence-index a:hover { background: var(--ink); color: var(--paper); }
.evidence-index > a > span { font: 500 32px/1 var(--mono); color: #85887f; }
.evidence-index small,.evidence-index b { font: 600 9px/1.3 var(--mono); text-transform: uppercase; }
.evidence-index small { color: #777a71; }
.evidence-index h3 { margin: 12px 0 0; font-size: clamp(27px, 2.6vw, 43px); line-height: .95; letter-spacing: -.05em; }
.evidence-index p { max-width: 310px; margin: 0; font-size: 14px; line-height: 1.35; }
.evidence-index b { color: #5d6057; }
.evidence-index i { font-size: 25px; font-style: normal; transition: transform .25s; }
.evidence-index a:hover i { transform: translate(5px,-5px); color: var(--acid); }
.public-releases { margin: 0 -5vw; grid-template-columns: .7fr 1fr 1fr; border-color: rgba(17,18,15,.34); color: var(--ink); }
.public-releases-label span,.public-releases a b { color: #484b44; }
.public-releases-label p { color: #4f524b; }
.public-releases > a { border-color: rgba(17,18,15,.34); }
.public-releases img { border-color: rgba(17,18,15,.34); }

.engagement {
  background: var(--paper);
  color: var(--ink);
  padding: 145px 5vw 0;
}

.engagement-head {
  display: grid;
  grid-template-columns: .55fr 1.2fr .65fr;
  gap: 48px;
  align-items: end;
  padding-bottom: 95px;
}

.engagement-head h2 {
  margin: 0;
  font-size: clamp(58px, 6.8vw, 118px);
  line-height: .84;
  font-weight: 600;
}

.engagement-head > p:last-child {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

.engagement-steps {
  margin: 0 -5vw;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(17, 18, 15, .35);
  border-bottom: 1px solid rgba(17, 18, 15, .35);
}

.engagement-steps li {
  min-height: 390px;
  padding: 30px 2.5vw;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(17, 18, 15, .35);
}

.engagement-steps li:last-child { border-right: 0; }
.engagement-steps span,
.engagement-steps b { font: 600 9px/1.25 var(--mono); text-transform: uppercase; }
.engagement-steps span { color: #6b6e65; }
.engagement-steps h3 { margin: 85px 0 18px; font-size: clamp(25px, 2.3vw, 42px); line-height: .95; }
.engagement-steps p { margin: 0; max-width: 320px; font-size: 15px; line-height: 1.45; }
.engagement-steps b { margin-top: auto; padding-top: 28px; border-top: 1px solid rgba(17, 18, 15, .25); }

.brief-intro {
  margin: 0 0 8px;
  max-width: 520px;
  color: #b6b9af;
  font-size: 15px;
  line-height: 1.45;
}

.skip-link:not(:focus) {
  top: -100px;
}

.skip-link:focus:not(:focus-visible) {
  top: -100px;
  transform: translateY(-150%);
}

.keyboard-nav .skip-link:focus-visible {
  top: 10px;
  transform: none;
}

html:not(.keyboard-nav) .skip-link {
  top: -100px;
  transform: translateY(-150%);
}

.hero-v9-meta {
  position: absolute;
  z-index: 3;
  top: 23%;
  right: 3vw;
  width: 210px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px 18px;
  color: #777b72;
  font: 600 8px/1 var(--mono);
}

.hero-v9-meta b {
  color: #b9bcb3;
  font-weight: 600;
}

.hero-v9-meta i {
  grid-column: 1 / -1;
  height: 1px;
  margin: 5px 0;
  background: rgba(236, 236, 229, .22);
}

.hero-v9-index {
  position: absolute;
  z-index: 3;
  left: 28px;
  right: 28px;
  bottom: 20px;
  display: flex;
  justify-content: space-between;
  color: #777b72;
  font: 500 8px/1 var(--mono);
}

.hero h1 span {
  overflow: visible;
}

.hero h1 span b {
  position: relative;
  display: block;
  font: inherit;
  transition: transform .8s cubic-bezier(.22, 1, .36, 1);
}

.hero h1 span:nth-child(1) b {
  transform: translateX(var(--drift-a));
}

.hero h1 span:nth-child(2) b {
  transform: translateX(var(--drift-b));
}

.hero h1 span:nth-child(3) b {
  transform: translateX(var(--drift-c));
}

.hero h1 .outline b::before,
.hero h1 .outline b::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  -webkit-text-stroke: 1px rgba(233, 255, 56, .36);
  pointer-events: none;
}

.hero h1 .outline b::before {
  transform: translate(var(--echo-a), -10%);
  opacity: .52;
}

.hero h1 .outline b::after {
  transform: translate(var(--drift-b), 10%);
  opacity: .25;
}

.ops-route {
  position: absolute;
  inset: 18% 14% 20%;
  border: 1px solid rgba(17, 18, 15, .35);
  border-right: 0;
  border-bottom: 0;
  transform: skew(-12deg);
}

.ops-route::before,
.ops-route::after {
  content: "";
  position: absolute;
  background: #11120f;
}

.ops-route::before {
  top: 38%;
  left: 0;
  width: 72%;
  height: 1px;
}

.ops-route::after {
  top: 0;
  left: 54%;
  width: 1px;
  height: 82%;
}

.ops-route i {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #11120f;
  box-shadow: 0 0 0 7px rgba(17, 18, 15, .08);
}

.ops-route i:nth-child(1) { top: -4px; left: -4px; }
.ops-route i:nth-child(2) { top: calc(38% - 4px); left: 28%; }
.ops-route i:nth-child(3) { top: calc(38% - 4px); left: calc(72% - 4px); }
.ops-route i:nth-child(4) { top: calc(82% - 4px); left: calc(54% - 4px); }

.ops-node {
  position: absolute;
  z-index: 3;
  min-width: 150px;
  padding: 11px 0;
  border-top: 1px solid #11120f;
  border-bottom: 1px solid rgba(17, 18, 15, .25);
  color: #11120f;
}

.ops-node small,
.ops-node span {
  display: block;
  font: 600 8px/1.2 var(--mono);
}

.ops-node b {
  display: block;
  margin: 5px 0 4px;
  font-size: 34px;
  line-height: 1;
  font-weight: 600;
}

.ops-node span { opacity: .55; }
.ops-node.node-a { left: 8%; top: 56%; }
.ops-node.node-b { left: 46%; top: 43%; }
.ops-node.node-c { right: 7%; bottom: 12%; }

.system-band {
  position: relative;
  overflow: hidden;
  padding: 80px 0 26px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--black);
  color: var(--paper);
}

.system-band-track {
  display: flex;
  align-items: center;
  width: max-content;
  white-space: nowrap;
  animation: systemBand 24s linear infinite;
  will-change: transform;
  font-size: clamp(72px, 12vw, 210px);
  line-height: .72;
  font-weight: 700;
}

.system-band-set {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
}

.system-band-set span:nth-of-type(even) {
  color: transparent;
  -webkit-text-stroke: 1px rgba(236, 236, 229, .5);
}

.system-band-set i {
  padding: 0 .18em;
  color: var(--acid);
  font-family: var(--mono);
  font-style: normal;
  font-weight: 400;
}

.system-band-foot {
  display: flex;
  justify-content: space-between;
  margin-top: 65px;
  padding: 0 5vw;
  color: #8e9288;
  font: 600 9px/1 var(--mono);
}

@keyframes systemBand {
  to { transform: translateX(-50%); }
}

@media (max-width: 900px) {
  .hero h1 {
    font-size: clamp(48px, 13vw, 57px);
    line-height: .8;
  }

  .hero-v9 {
    min-height: 920px;
    padding: 0;
  }

  .hero-v9-grid {
    background-size: 25% 12.5%;
    opacity: .75;
  }

  .hero-v9-copy {
    top: 155px;
    left: 22px;
    right: 22px;
    width: auto;
  }

  .hero-v9-kicker {
    max-width: 230px;
    margin-bottom: 34px;
    font-size: 8px;
    line-height: 1.45;
  }

  .hero-v9 h1 {
    font-size: clamp(54px, 16.2vw, 68px);
    line-height: .77;
  }

  .hero-v9 h1 .hero-v9-focus {
    font-size: 14vw;
  }

  .hero-v9 h1 .hero-v9-focus,
  .hero-v9 h1 span:last-child {
    margin-left: 0;
  }

  .hero-v9-foot {
    display: block;
    margin: 285px 0 0;
  }

  .hero-v9-foot p {
    max-width: 300px;
    font-size: 13px;
  }

  .hero-v9-foot a {
    display: flex;
    width: min(100%, 280px);
    margin-top: 22px;
  }

  .project { min-height: 960px; }
  .project-proof { position: absolute; left: 22px; right: 22px; bottom: 30px; display: block; }
  .project-proof span { display: block; min-height: 0; padding: 12px 0; border-right: 0; border-bottom: 1px solid currentColor; font-size: 12px; }
  .project-proof span:last-child { border-bottom: 0; }
  .project-proof small { margin-bottom: 5px; }
  .project-live-art { top: 31%; bottom: 33%; }
  .project-live-art > span { right: 10px; bottom: 10px; padding: 9px 10px; }
  .project-preview img { width: 96%; height: 88%; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .portfolio-grid .portfolio-card,
  .portfolio-grid .portfolio-card-wide { grid-column: auto; min-height: 590px; }
  .portfolio-grid .project-art { top: auto; bottom: auto; left: auto; right: auto; }
  .portfolio-card-copy { min-height: 140px; padding: 22px; }
  .portfolio-card-copy h3 { font-size: 34px; }
  .portfolio-card-device .project-art { padding: 24px; }
  .portfolio-compact { padding: 90px 22px; }
  .portfolio-compact-head { display: block; padding-bottom: 45px; }
  .portfolio-compact-head h2 { margin: 30px 0; font-size: 54px; }
  .portfolio-compact-head > p:last-child { font-size: 15px; }
  .portfolio-compact-grid { grid-template-columns: 1fr; }
  .portfolio-compact-card { min-height: 430px; }
  .portfolio-evidence { padding: 90px 22px 0; }
  .portfolio-evidence-head { display: block; padding-bottom: 50px; }
  .portfolio-evidence-head h2 { margin: 30px 0; font-size: 54px; }
  .portfolio-evidence-head > div p { font-size: 15px; }
  .evidence-grid { grid-template-columns: 1fr; }
  .evidence-card { min-height: 390px; border-right: 0; border-bottom: 1px solid var(--line); }
  .evidence-card:last-child { border-bottom: 0; }
  .public-releases { grid-template-columns: 1fr; }
  .public-releases-label { min-height: 165px; }
  .public-releases-label p { margin-top: 42px; }
  .public-releases > a { border-left: 0; border-top: 1px solid var(--line); grid-template-columns: 120px 1fr; }
  .public-releases img { width: 120px; height: 82px; }
  .portfolio-evidence { padding: 95px 22px 44px; border-bottom-width: 44px; }
  .portfolio-evidence-head h2 { font-size: 51px; }
  .evidence-index { margin: 0 -22px; }
  .evidence-index a { min-height: 230px; padding: 24px 22px; display: grid; grid-template-columns: 42px 1fr 24px; gap: 18px; align-items: start; }
  .evidence-index > a > span { font-size: 22px; }
  .evidence-index a > div { grid-column: 2; }
  .evidence-index h3 { font-size: 32px; }
  .evidence-index p { grid-column: 2 / -1; }
  .evidence-index b { grid-column: 2 / -1; }
  .evidence-index i { grid-column: 3; grid-row: 1; }
  .public-releases { margin: 0 -22px; }

  .engagement { padding: 100px 22px 0; }
  .engagement-head { display: block; padding-bottom: 65px; }
  .engagement-head h2 { margin: 35px 0; font-size: 55px; }
  .engagement-steps { margin: 0 -22px; display: block; }
  .engagement-steps li { min-height: 320px; padding: 25px 22px; border-right: 0; border-bottom: 1px solid rgba(17, 18, 15, .35); }
  .engagement-steps li:last-child { border-bottom: 0; }
  .engagement-steps h3 { margin: 55px 0 15px; font-size: 36px; }

  .hero-v9-meta {
    display: none;
  }

  .hero-v9-index {
    left: 22px;
    right: 22px;
    bottom: 18px;
    font-size: 7px;
  }

  .machine-intro {
    display: block;
    padding: 0 22px 75px;
  }

  .machine-index {
    margin-bottom: 64px;
  }

  .machine-index li strong {
    font-size: 22px;
  }

  .machine-intro-copy > p:last-child {
    font-size: 16px;
  }

  /* Phones: turn the section into a full-screen pinned step sequence. The
     visual fills the viewport and stays pinned while the notes act as
     invisible scroll spacers that advance the active layer; a caption
     overlay shows the current step. After the last step the page continues. */
  .machine-stage {
    position: relative;
  }

  .machine-sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    height: 100svh;
    z-index: 1;
    border-right: 0;
  }

  .layer-stack {
    inset: 7% 0 32%;
  }

  .machine-notes {
    position: relative;
    z-index: 0;
  }

  /* Invisible spacers: still in the a11y tree and still create the scroll
     length that drives the pinned sequence, but not painted. */
  .machine-notes article {
    min-height: 100vh;
    min-height: 100svh;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
  }

  .machine-caption {
    position: absolute;
    z-index: 6;
    left: 22px;
    right: 22px;
    bottom: 13vh;
  }

  .machine-caption:before {
    content: "";
    position: absolute;
    inset: -34vh -22px -15vh;
    z-index: -1;
    background: linear-gradient(to top, rgba(7, 8, 6, .96) 24%, rgba(7, 8, 6, .74) 56%, transparent);
    pointer-events: none;
  }

  .machine-caption > span {
    font: 500 10px/1 var(--mono);
    color: var(--acid);
  }

  .machine-caption h3 {
    margin: 18px 0 14px;
    font-size: clamp(36px, 9.5vw, 50px);
    line-height: .9;
    letter-spacing: -.05em;
    font-weight: 500;
  }

  .machine-caption p {
    max-width: 440px;
    margin: 0;
    color: #c3c7bd;
    font-size: 16px;
    line-height: 1.4;
  }

  /* "MARGIN" is sized for the desktop art box; shrink and centre it so the
     whole word fits inside the card on phones instead of being clipped. */
  .scan-word {
    left: 0;
    right: 0;
    font-size: clamp(56px, 19vw, 74px);
    text-align: center;
  }

  .hero-slit {
    top: 47%;
    left: -12%;
    width: 124%;
    height: 38px;
    opacity: .7;
  }

  .hero-slit div {
    opacity: 0;
  }

  .hero h1 span b,
  .hero h1 span:nth-child(1) b,
  .hero h1 span:nth-child(2) b,
  .hero h1 span:nth-child(3) b {
    transform: none;
  }

  .ops-node {
    min-width: 105px;
  }

  .ops-node b {
    font-size: 24px;
  }

  .ops-node.node-a { left: 5%; top: 55%; }
  .ops-node.node-b { left: 38%; top: 45%; }
  .ops-node.node-c { right: 4%; bottom: 7%; }

  .system-band {
    padding-top: 58px;
  }

  .system-band-track {
    font-size: 74px;
  }

  .system-band-foot {
    margin-top: 45px;
    padding: 0 22px;
    font-size: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slit div,
  .system-band-track {
    animation-play-state: paused;
  }
}

/* Case ledger direction: one decisive color field between black and paper chapters. */
.portfolio-evidence { position: relative; padding: 132px 5vw 0; background: #ff543d; color: #10110e; border: 0; }
.portfolio-evidence:after { display: none; }
.portfolio-evidence-head { grid-template-columns: .36fr 1.25fr .55fr; padding-bottom: 96px; }
.portfolio-evidence-head > .micro { color: #10110e; }
.portfolio-evidence-head h2 { max-width: 900px; font-size: clamp(64px, 7.6vw, 132px); line-height: .78; }
.portfolio-evidence-head > div p { color: #282a25; font-size: 17px; }
.portfolio-evidence-head a { color: #10110e; border-color: #10110e; }
.evidence-index { margin: 0 -5vw; border-top: 2px solid #10110e; }
.evidence-index a { position: relative; min-height: 168px; padding: 22px 5vw; display: grid; grid-template-columns: 80px 1.2fr .75fr .5fr 34px; gap: 28px; align-items: center; border-bottom: 1px solid rgba(17,18,15,.55); color: inherit; text-decoration: none; overflow: hidden; transition: color .25s, background .25s; }
.evidence-index a:before { content: attr(data-index); position: absolute; right: 8%; top: 50%; transform: translateY(-50%); font-size: 190px; line-height: 1; letter-spacing: -.1em; font-weight: 800; color: rgba(17,18,15,.07); transition: transform .45s; }
.evidence-index a:hover { background: #10110e; color: var(--paper); }
.evidence-index a:hover:before { transform: translate(-30px,-50%); color: rgba(239,241,229,.06); }
.evidence-index > a > span { font: 500 35px/1 var(--mono); color: rgba(17,18,15,.55); }
.evidence-index small { color: rgba(17,18,15,.6); }
.evidence-index b { color: rgba(17,18,15,.65); }
.evidence-index a:hover small,.evidence-index a:hover b,.evidence-index a:hover span { color: #aeb1a8; }
.public-releases { margin: 0 -5vw; grid-template-columns: .7fr 1fr 1fr; border: 0; background: #10110e; color: var(--paper); }
.public-releases-label span,.public-releases a b { color: var(--acid); }
.public-releases-label p { color: #b5b8af; }
.public-releases > a { border-color: rgba(239,241,229,.2); }
.public-releases img { border-color: rgba(239,241,229,.25); }

@media (max-width: 900px) {
  .skip-link { display: none; }
  .portfolio-evidence { padding: 95px 22px 0; }
  .portfolio-evidence-head h2 { font-size: 58px; }
  .portfolio-evidence-head > div p { font-size: 15px; }
  .evidence-index { margin: 0 -22px; }
  .evidence-index a { min-height: 230px; padding: 24px 22px; grid-template-columns: 42px 1fr 24px; gap: 18px; align-items: start; }
  .evidence-index a:before { right: -5%; font-size: 150px; }
  .evidence-index > a > span { font-size: 22px; }
  .public-releases { margin: 0 -22px; grid-template-columns: 1fr; }
  .public-releases-label { min-height: 155px; }
  .public-releases > a { border-left: 0; border-top: 1px solid rgba(239,241,229,.2); grid-template-columns: 100px 1fr; }
  .public-releases img { width: 100px; height: 68px; }
}

/* Portfolio wall: calmer than the red ledger, still heavy and technical. */
:root { --red: #9eb5ff; }
.project-three { background: #c5d0dd; }
.portfolio-evidence {
  position: relative;
  padding: 132px 5vw 112px;
  background:
    radial-gradient(circle at 20% 12%, rgba(233,255,56,.13), transparent 24%),
    linear-gradient(180deg, #0a0b09 0%, #11140f 58%, #0a0b09 100%);
  color: var(--paper);
  border: 0;
  overflow: hidden;
}
.portfolio-evidence:before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .42;
  background-image:
    linear-gradient(rgba(236,236,229,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(236,236,229,.13) 1px, transparent 1px);
  background-size: 12.5vw 128px;
  pointer-events: none;
}
.portfolio-evidence:after { display: none; }
.portfolio-evidence-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .36fr 1.2fr .58fr;
  gap: 50px;
  align-items: end;
  padding-bottom: 82px;
}
.portfolio-evidence-head > .micro { color: var(--acid); }
.portfolio-evidence-head h2 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(62px, 7.2vw, 128px);
  line-height: .78;
  letter-spacing: -.078em;
  font-weight: 650;
}
.portfolio-evidence-head > div p {
  margin: 0 0 28px;
  color: #b6bab0;
  font-size: 17px;
  line-height: 1.45;
}
.portfolio-evidence-head a {
  display: inline-flex;
  gap: 42px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--acid);
  color: var(--acid);
  text-decoration: none;
  font: 600 10px/1 var(--mono);
  text-transform: uppercase;
}
.portfolio-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid rgba(236,236,229,.18);
  background: rgba(6,7,5,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 34px 90px rgba(0,0,0,.28);
}
.portfolio-card {
  min-height: 520px;
  padding: 18px 18px 24px;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
  border-right: 1px solid rgba(236,236,229,.16);
  border-bottom: 1px solid rgba(236,236,229,.16);
  background: rgba(10,11,9,.72);
  transition: background .28s ease, transform .28s ease;
}
.portfolio-card:nth-child(3n) { border-right: 0; }
.portfolio-card:nth-last-child(-n+3) { border-bottom: 0; }
.portfolio-card:hover {
  background: rgba(20,23,17,.94);
  transform: translateY(-4px);
}
.portfolio-card.is-wide {
  grid-column: span 2;
}
.portfolio-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  object-position: top;
  border: 1px solid rgba(236,236,229,.2);
  background: #070806;
  filter: saturate(.88) contrast(1.05);
}
.portfolio-card.is-wide img { height: 300px; }
.portfolio-card span {
  margin-top: 22px;
  color: var(--acid);
  font: 600 9px/1.25 var(--mono);
  text-transform: uppercase;
}
.portfolio-card h3 {
  margin: 18px 0 0;
  max-width: 520px;
  font-size: clamp(30px, 3vw, 54px);
  line-height: .88;
  letter-spacing: -.06em;
  font-weight: 650;
}
.portfolio-card p {
  max-width: 420px;
  margin: auto 0 22px;
  padding-top: 44px;
  color: #b5b9af;
  font-size: 15px;
  line-height: 1.35;
}
.portfolio-card b {
  color: #8c9088;
  font: 600 9px/1.3 var(--mono);
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .portfolio-evidence { padding: 95px 22px 72px; }
  .portfolio-evidence-head { display: block; padding-bottom: 48px; }
  .portfolio-evidence-head h2 { margin: 28px 0; font-size: 52px; }
  .portfolio-evidence-head > div p { font-size: 15px; }
  .portfolio-grid { grid-template-columns: 1fr; margin: 0 -22px; border-left: 0; border-right: 0; }
  .portfolio-card,
  .portfolio-card.is-wide {
    grid-column: auto;
    min-height: 430px;
    border-right: 0;
  }
  .portfolio-card:nth-last-child(-n+3) { border-bottom: 1px solid rgba(236,236,229,.16); }
  .portfolio-card:last-child { border-bottom: 0; }
  .portfolio-card img,
  .portfolio-card.is-wide img { height: 210px; }
  .portfolio-card h3 { font-size: 36px; }
  .portfolio-card p { margin-top: 0; padding-top: 34px; }
}

/* Final portfolio correction: equal 6-card grid, no feature-card hierarchy. */
.portfolio-evidence {
  padding: 118px 5vw 116px;
  background:
    radial-gradient(circle at 76% 12%, rgba(233,255,56,.08), transparent 22%),
    linear-gradient(180deg, #080907 0%, #0d100c 52%, #080907 100%);
}
.portfolio-evidence-head {
  grid-template-columns: .32fr 1fr .62fr;
  padding-bottom: 64px;
}
.portfolio-evidence-head h2 {
  font-size: clamp(58px, 6.2vw, 108px);
  line-height: .82;
}
.portfolio-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(236,236,229,.17);
  background: rgba(236,236,229,.17);
  box-shadow: none;
}
.portfolio-card,
.portfolio-card.is-wide {
  grid-column: auto;
  min-height: 445px;
  padding: 16px 16px 22px;
  border: 0;
  background:
    linear-gradient(180deg, rgba(17,20,15,.96), rgba(9,10,8,.96));
  transform: none;
}
.portfolio-card:hover {
  background:
    linear-gradient(180deg, rgba(25,29,21,.98), rgba(12,14,10,.98));
  transform: none;
}
.portfolio-card:nth-child(3n),
.portfolio-card:nth-last-child(-n+3) { border: 0; }
.portfolio-card img,
.portfolio-card.is-wide img {
  height: 210px;
  border: 1px solid rgba(236,236,229,.18);
}
.portfolio-card span { margin-top: 20px; }
.portfolio-card h3 {
  margin-top: 16px;
  font-size: clamp(28px, 2.45vw, 44px);
}
.portfolio-card p {
  margin: 0 0 22px;
  padding-top: 36px;
  max-width: 360px;
}

@media (max-width: 1100px) {
  .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .portfolio-evidence { padding: 90px 22px 72px; }
  .portfolio-evidence-head h2 { font-size: 50px; }
  .portfolio-grid { grid-template-columns: 1fr; margin: 0; border: 1px solid rgba(236,236,229,.17); }
  .portfolio-card,
  .portfolio-card.is-wide { min-height: auto; }
  .portfolio-card img,
  .portfolio-card.is-wide img { height: 190px; }
  .portfolio-card p { padding-top: 28px; }
}

/* Targeted polish v22: restore the premise accent and quiet the case grid. */
.statement h2 em {
  color: #ff4b33;
}

.portfolio-evidence {
  padding: 112px 5vw 118px;
  background: #090a08;
}

.portfolio-evidence:before {
  display: none;
}

.portfolio-evidence-head {
  max-width: 1440px;
  margin: 0 auto;
  grid-template-columns: .28fr 1fr .56fr;
  gap: clamp(28px, 4vw, 64px);
  padding-bottom: 58px;
}

.portfolio-evidence-head h2 {
  font-size: clamp(56px, 5.8vw, 98px);
  line-height: .84;
}

.portfolio-evidence .portfolio-grid {
  max-width: 1440px;
  margin: 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.portfolio-evidence .portfolio-card,
.portfolio-evidence .portfolio-card.is-wide {
  grid-column: auto;
  min-height: 392px;
  padding: 12px 12px 19px;
  border: 1px solid rgba(236, 236, 229, .12);
  background: rgba(236, 236, 229, .025);
  color: var(--paper);
  transition: border-color .25s ease, background .25s ease;
}

.portfolio-evidence .portfolio-card:hover {
  border-color: rgba(236, 236, 229, .28);
  background: rgba(236, 236, 229, .045);
  transform: none;
}

.portfolio-evidence .portfolio-card img,
.portfolio-evidence .portfolio-card.is-wide img {
  height: 184px;
  border: 0;
  background: #060705;
  filter: saturate(.72) contrast(1.04);
  transition: filter .25s ease;
}

.portfolio-evidence .portfolio-card:hover img {
  filter: saturate(.9) contrast(1.04) brightness(1.04);
}

.portfolio-evidence .portfolio-card span {
  margin-top: 17px;
  color: #aeb49d;
}

.portfolio-evidence .portfolio-card h3 {
  min-height: 1.9em;
  margin-top: 12px;
  font-size: clamp(27px, 2.05vw, 37px);
  line-height: .94;
  letter-spacing: -.045em;
}

.portfolio-evidence .portfolio-card p {
  max-width: 34ch;
  margin: 0 0 18px;
  padding-top: 22px;
  color: #9da198;
  font-size: 14px;
  line-height: 1.4;
}

.portfolio-evidence .portfolio-card b {
  margin-top: auto;
  color: #71756e;
}

.project-three .portal-shadow {
  display: none;
}

.contact-orbit span:nth-child(3) {
  background: transparent;
  box-shadow: none;
}

.contact-orbit:after {
  content: "";
  position: absolute;
  left: 18%;
  top: 72%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 18px rgba(233, 255, 56, .42);
}

@media (max-width: 1100px) {
  .portfolio-evidence .portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  /* Avoid repainting a fixed, filtered noise layer over the entire viewport
     while Safari is scrolling image-heavy sections. */
  body:after {
    display: none;
  }

  .portfolio-evidence {
    padding: 88px 22px 76px;
  }

  .portfolio-evidence-head {
    display: block;
    padding-bottom: 44px;
  }

  .portfolio-evidence-head h2 {
    margin: 26px 0;
    font-size: 50px;
  }

  .portfolio-evidence .portfolio-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 0;
    border: 0;
  }

  .portfolio-evidence .portfolio-card,
  .portfolio-evidence .portfolio-card.is-wide {
    min-height: auto;
    contain: layout paint;
  }

  .portfolio-evidence .portfolio-card img,
  .portfolio-evidence .portfolio-card.is-wide img,
  .portfolio-evidence .portfolio-card:hover img {
    height: auto;
    aspect-ratio: 20 / 9;
    object-fit: contain;
    object-position: center;
    filter: none;
    transition: none;
  }

  .portfolio-evidence .portfolio-card h3,
  .portfolio-evidence .portfolio-card p {
    min-height: 0;
  }
}

.site-header .brand-wordmark {
  font-family: "LucrumondPoppins", Poppins, Arial, sans-serif;
  font-size: clamp(24px, 1.8vw, 36px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  text-transform: none;
}

.site-header .brand-wordmark span {
  font: inherit;
}

@media (max-width: 900px) {
  .site-header .brand-wordmark {
    font-size: 25px;
  }
}
