@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-variable.woff2") format("woff2");
  font-weight: 300 800;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../fonts/ibm-plex-mono-regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

:root {
  --ink: #111512;
  --ink-soft: #1a211d;
  --ink-raised: #222a25;
  --paper: #f5f2e9;
  --paper-bright: #fcfaf4;
  --fog: #e9e7df;
  --line: #c8cac0;
  --line-dark: rgba(245, 242, 233, 0.17);
  --text: #151a17;
  --muted: #5e665f;
  --muted-dark: #adb6af;
  --signal: #b8ff62;
  --signal-dark: #1c2a12;
  --ai: #a8afff;
  --human: #f3ba63;
  --danger: #c84031;
  --shell: 1280px;
  --gutter: clamp(1.25rem, 4vw, 4.5rem);
  --section: clamp(5rem, 9vw, 9rem);
  --display: clamp(3.25rem, 7.35vw, 7.75rem);
  --h1: clamp(3rem, 6.2vw, 6.65rem);
  --h2: clamp(2.25rem, 4.5vw, 4.75rem);
  --h3: clamp(1.25rem, 2vw, 1.7rem);
  --ease: cubic-bezier(.2, .8, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--text);
  background: var(--paper);
  font-family: "Manrope", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .22em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--signal); color: var(--ink); }
:focus-visible { outline: 3px solid var(--ai); outline-offset: 4px; }

.skip-link {
  position: fixed; z-index: 1000; left: 1rem; top: 1rem; padding: .75rem 1rem;
  color: var(--ink); background: var(--signal); transform: translateY(-180%);
}
.skip-link:focus { transform: none; }
.shell { width: min(100% - (var(--gutter) * 2), var(--shell)); margin-inline: auto; }
.section { padding-block: var(--section); }
.section-paper { background: var(--paper); }
.section-fog { background: var(--fog); }
.section-dark, .section-ink { color: var(--paper); background: var(--ink); }
.section-ink { background: var(--ink-soft); }
.section-signal { color: var(--signal-dark); background: var(--signal); }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.048em; line-height: .98; }
h1 { max-width: 12ch; margin-bottom: 2rem; font-size: var(--h1); font-weight: 500; }
h2 { max-width: 14ch; margin-bottom: 1.6rem; font-size: var(--h2); font-weight: 500; }
h3 { margin-bottom: 1rem; font-size: var(--h3); font-weight: 600; line-height: 1.12; }
p { max-width: 68ch; }
.hero-lead { max-width: 59ch; margin-bottom: 2.1rem; color: var(--muted-dark); font-size: clamp(1.12rem, 1.7vw, 1.42rem); line-height: 1.5; }
.eyebrow {
  display: flex; align-items: center; gap: .65rem; margin-bottom: 1.55rem;
  font-family: "IBM Plex Mono", monospace; font-size: .73rem; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase;
}
.eyebrow > span { display: inline-block; width: 1.75rem; height: 1px; background: currentColor; }
.section-intro { margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.section-intro > p:not(.eyebrow), .split-heading > p, .principle__header > p {
  color: var(--muted); font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.55;
}
.section-intro--wide h2 { max-width: 19ch; }

/* Header */
.site-header {
  position: absolute; z-index: 100; top: 0; width: 100%; color: var(--paper);
  border-bottom: 1px solid var(--line-dark);
}
.site-header__inner { display: flex; min-height: 5.25rem; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: .75rem; font-size: 1.05rem; font-weight: 650; letter-spacing: -.025em; text-decoration: none; }
.brand__mark { width: 2.35rem; height: 2.35rem; }
.brand__mini { width: .75rem; height: .75rem; border: 1px solid var(--signal); background: linear-gradient(135deg, var(--signal) 0 48%, transparent 48%); }
.primary-nav { display: flex; align-items: center; gap: clamp(1.25rem, 2.3vw, 2.5rem); font-size: .83rem; }
.primary-nav > a { color: #c7cec9; text-decoration: none; transition: color .2s ease; }
.primary-nav > a:hover, .primary-nav > a[aria-current="page"] { color: white; }
.primary-nav__cta { display: inline-flex; gap: 1rem; padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.38); color: var(--paper) !important; }
.primary-nav__cta:hover { border-color: var(--signal); background: var(--signal); color: var(--ink) !important; }
.nav-toggle { display: none; border: 0; color: inherit; background: none; }

/* Buttons */
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.button {
  display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: 2.25rem;
  padding: .8rem 1.1rem; border: 1px solid var(--signal); color: var(--ink); background: var(--signal);
  font-size: .87rem; font-weight: 650; text-decoration: none; transition: transform .22s var(--ease), background .22s ease, color .22s ease;
}
.button:hover { transform: translateY(-2px); background: #ceff93; }
.button--ghost { border-color: var(--line-dark); color: var(--paper); background: transparent; }
.button--ghost:hover { border-color: var(--paper); color: var(--ink); background: var(--paper); }
.button--light { border-color: var(--paper); background: var(--paper); }
.button--dark { border-color: var(--ink); color: var(--paper); background: var(--ink); }

/* Homepage hero */
.home-hero { min-height: min(1000px, 100svh); padding: clamp(9.5rem, 15vw, 13.5rem) 0 clamp(5rem, 8vw, 8rem); overflow: hidden; }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(440px, .96fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.home-hero h1 { max-width: 9.4ch; font-size: var(--display); }

.system-pipeline { position: relative; min-width: 0; margin: 0; padding: 1.15rem; border: 1px solid var(--line-dark); background: #151a17; box-shadow: 0 2rem 8rem rgba(0,0,0,.38); }
.system-pipeline::before { position: absolute; inset: -2rem -3rem; z-index: -1; content: ""; background: radial-gradient(circle, rgba(184,255,98,.08), transparent 66%); }
.system-pipeline figcaption, .synthetic-card__head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; color: #7e8a82; font-family: "IBM Plex Mono", monospace; font-size: .63rem; letter-spacing: .08em; }
.system-pipeline figcaption span:last-child { color: var(--signal); }
.pipeline-inputs { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem; }
.input-chip { display: flex; min-width: 0; align-items: center; gap: .55rem; padding: .7rem .6rem; border: 1px solid var(--line-dark); color: #bbc3bd; font-family: "IBM Plex Mono", monospace; font-size: .58rem; }
.input-icon { position: relative; width: 1.05rem; height: .88rem; flex: none; border: 1px solid currentColor; opacity: .65; }
.input-icon--mail::after { position: absolute; inset: 1px; content: ""; border-top: 1px solid; transform: skewY(-25deg); }
.input-icon--doc::after { position: absolute; right: 2px; top: 2px; width: 4px; height: 4px; content: ""; border-left: 1px solid; border-bottom: 1px solid; }
.input-icon--grid { background: linear-gradient(90deg, transparent 45%, currentColor 45% 52%, transparent 52%), linear-gradient(transparent 45%, currentColor 45% 52%, transparent 52%); }
.input-icon--api { border-radius: 50%; }
.pipeline-track { display: flex; height: 2rem; justify-content: space-around; overflow: hidden; }
.pipeline-track i { position: relative; width: 1px; background: var(--line-dark); }
.pipeline-track i::after { position: absolute; left: -2px; top: -3px; width: 5px; height: 5px; border-radius: 50%; content: ""; background: var(--signal); animation: packet 2.8s var(--ease) infinite; }
.pipeline-track i:nth-child(2)::after { animation-delay: .7s; }.pipeline-track i:nth-child(3)::after { animation-delay: 1.4s; }
@keyframes packet { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateY(2.1rem); opacity: 0; } }
.pipeline-stages { display: grid; gap: .35rem; }
.pipeline-stage { display: grid; grid-template-columns: 2.4rem 1fr auto; min-height: 3.25rem; align-items: center; border: 1px solid var(--line-dark); border-left: 3px solid #515a54; transition: border-color .3s, background .3s, transform .3s; }
.pipeline-stage > span { padding-left: .65rem; color: #69736d; font-family: "IBM Plex Mono", monospace; font-size: .62rem; }
.pipeline-stage strong { font-family: "IBM Plex Mono", monospace; font-size: .72rem; font-weight: 400; letter-spacing: .05em; }
.pipeline-stage small { padding-right: .7rem; color: #78827c; font-family: "IBM Plex Mono", monospace; font-size: .55rem; }
.pipeline-stage--rule { border-left-color: var(--signal); }.pipeline-stage--ai { border-left-color: var(--ai); }.pipeline-stage--exception, .pipeline-stage--human { border-left-color: var(--human); }
.pipeline-stage.is-active { transform: translateX(-.35rem); border-color: currentColor; background: rgba(255,255,255,.045); }
.pipeline-legend { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; color: #8e9891; font-family: "IBM Plex Mono", monospace; font-size: .58rem; }
.pipeline-legend span { display: flex; gap: .4rem; align-items: center; }
.status-dot { display: inline-block; width: .45rem; height: .45rem; border-radius: 50%; background: #79817c; box-shadow: 0 0 0 3px rgba(121,129,124,.15); }
.status-dot--ok { background: var(--signal); box-shadow: 0 0 0 3px rgba(184,255,98,.12); }.status-dot--ai { background: var(--ai); }.status-dot--warn { background: var(--human); }
.signal-strip { border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.signal-strip__inner { display: grid; grid-template-columns: repeat(3, 1fr); }
.signal-strip span { padding: 1.2rem 1rem; border-right: 1px solid var(--line-dark); text-align: center; font-family: "IBM Plex Mono", monospace; font-size: .61rem; letter-spacing: .04em; }
.signal-strip span:last-child { border: 0; }

/* General grids */
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.capability-card { display: flex; min-height: 25rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.6rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.capability-card__number, .info-grid article > span, .built-grid article > span, .exception-grid article > span { margin-bottom: auto; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: .7rem; }
.capability-card p { color: var(--muted); }.capability-card a, .work-card a { margin-top: 2rem; font-size: .82rem; font-weight: 650; text-decoration: none; }.capability-card a:hover, .work-card a:hover { text-decoration: underline; }
.principle__header { margin-bottom: 3rem; }
.principle__header h2 { max-width: 16ch; }
.decision-board { border-top: 1px solid var(--line-dark); }
.decision-board__head, .decision-row { display: grid; grid-template-columns: minmax(220px, 1.15fr) minmax(170px, .6fr) 1fr; align-items: center; border-bottom: 1px solid var(--line-dark); }
.decision-board__head { padding: .85rem 1rem; color: #768079; font-family: "IBM Plex Mono", monospace; font-size: .58rem; }
.decision-row { min-height: 5.25rem; padding: 1rem; }
.decision-row strong { font-size: 1.02rem; font-weight: 520; }.decision-row p { margin: 0; color: var(--muted-dark); font-size: .9rem; }
.mode { justify-self: start; padding: .4rem .6rem; border: 1px solid; font-family: "IBM Plex Mono", monospace; font-size: .58rem; letter-spacing: .04em; }
.mode--rule { color: var(--signal); }.mode--ai { color: var(--ai); }.mode--human { color: var(--human); }
.split-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 4rem; align-items: end; margin-bottom: clamp(3rem, 6vw, 6rem); }
.split-heading h2 { margin-bottom: 0; }
.method-track { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0; list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.method-track li { min-height: 21rem; padding: 1.35rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.method-track li > span { display: block; margin-bottom: 5rem; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: .65rem; }.method-track h3 { font-size: 1.15rem; }.method-track p { color: var(--muted); font-size: .88rem; }
.work-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1rem; }
.work-card { min-width: 0; border: 1px solid var(--line); background: var(--paper-bright); }
.work-card:first-child { grid-row: span 2; }.work-card__visual { min-height: 16rem; overflow: hidden; border-bottom: 1px solid var(--line); background: var(--ink); }
.work-card:first-child .work-card__visual { min-height: 26rem; }.work-card__visual img { width: 100%; height: 100%; object-fit: cover; object-position: top left; opacity: .9; }
.work-card__body { padding: 2rem; }.work-card__body > p:not(.eyebrow) { color: var(--muted); }
.mini-system { display: grid; height: 100%; min-height: inherit; grid-template-columns: repeat(5, 1fr); gap: 1px; align-items: end; padding: 3rem; background: repeating-linear-gradient(90deg, transparent 0 calc(20% - 1px), rgba(255,255,255,.05) calc(20% - 1px) 20%); }
.mini-system i { height: 35%; border-top: 2px solid var(--signal); background: rgba(184,255,98,.06); }.mini-system i:nth-child(2) { height: 70%; border-color: var(--ai); }.mini-system i:nth-child(3) { height: 48%; }.mini-system i:nth-child(4) { height: 82%; border-color: var(--human); }.mini-system i:nth-child(5) { height: 58%; }
.pilot-band__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); padding-block: clamp(5rem, 8vw, 8rem); }
.pilot-band h2 { max-width: 12ch; }.pilot-links { border-top: 1px solid rgba(17,21,18,.3); }
.pilot-links a { display: grid; grid-template-columns: 5rem 1fr; padding: 1.5rem 0; border-bottom: 1px solid rgba(17,21,18,.3); text-decoration: none; }
.pilot-links span { grid-row: span 2; font-family: "IBM Plex Mono", monospace; font-size: .62rem; }.pilot-links strong { font-size: 1.25rem; }.pilot-links small { margin-top: .35rem; color: #39452e; }
.pilot-links a:hover strong { text-decoration: underline; }
.closing-cta { padding-block: clamp(4.5rem, 8vw, 7rem); }
.closing-cta__inner { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }.closing-cta h2 { max-width: 18ch; margin: 0; }

/* Inner heroes */
.page-hero, .solution-hero, .work-hero { padding: clamp(10rem, 17vw, 14rem) 0 clamp(5rem, 9vw, 8rem); }
.page-hero__grid, .solution-hero__grid, .work-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .65fr); gap: clamp(4rem, 10vw, 10rem); align-items: end; }
.page-hero h1, .solution-hero h1, .work-hero h1 { max-width: 11ch; }
.hero-register { padding: 1rem 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.hero-register > span, .status-note span { display: block; margin-bottom: .7rem; color: #737e76; font-family: "IBM Plex Mono", monospace; font-size: .6rem; }.hero-register strong { font-weight: 520; }.hero-register i { display: block; height: 1px; margin: 1.1rem 0; background: linear-gradient(90deg, var(--signal) 0 66%, var(--line-dark) 66%); }.hero-register p { margin: 0; color: var(--muted-dark); font-size: .86rem; }
.info-grid, .built-grid, .exception-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.info-grid article, .built-grid article, .exception-grid article { display: flex; min-height: 18rem; flex-direction: column; padding: 1.75rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.info-grid article > span, .built-grid article > span, .exception-grid article > span { display: block; margin-bottom: auto; }.info-grid p, .built-grid p, .exception-grid p { margin-bottom: 0; color: var(--muted); }
.section-ink .exception-grid { border-color: var(--line-dark); }.section-ink .exception-grid article { border-color: var(--line-dark); }.section-ink .exception-grid p { color: var(--muted-dark); }
.process-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.process-list li { display: grid; grid-template-columns: 7rem 1fr; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.process-list__number { font-family: "IBM Plex Mono", monospace; font-size: .66rem; }.process-list h3 { margin-bottom: .45rem; }.process-list p { margin: 0; color: var(--muted); }

/* About methodology: four quiet procedural cues replace decorative numbering. */
.process-list--methodology li {
  min-height: 9.25rem;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 27%);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
  padding: 2.25rem 0;
}
.process-list--methodology .process-list__copy { max-width: 48rem; }
.method-motif {
  position: relative;
  width: min(100%, 13rem);
  height: 4.5rem;
  justify-self: end;
  color: var(--ink);
  opacity: .72;
}
.method-motif i, .method-motif span { position: absolute; display: block; box-sizing: border-box; }

/* Observe: offset records make fragmented operational evidence visible. */
.method-motif--observe i {
  width: 3.7rem;
  height: 2rem;
  border: 1px solid rgba(17,21,18,.15);
  background: rgba(255,255,255,.14);
}
.method-motif--observe i::before,
.method-motif--observe i::after {
  position: absolute;
  left: .45rem;
  height: 1px;
  content: "";
  background: rgba(17,21,18,.12);
}
.method-motif--observe i::before { top: .65rem; width: 1.65rem; }
.method-motif--observe i::after { top: 1.05rem; width: 2.35rem; }
.method-motif--observe i:nth-child(1) { left: .15rem; top: .35rem; animation: methodFragmentA 11.8s ease-in-out 1.1s infinite; }
.method-motif--observe i:nth-child(2) { left: 4.25rem; top: 1.6rem; animation: methodFragmentB 13.6s ease-in-out 3.7s infinite; }
.method-motif--observe i:nth-child(3) { right: .1rem; top: .25rem; animation: methodFragmentC 12.7s ease-in-out 6.2s infinite; }
.method-motif--observe i:nth-child(4) { left: 2.4rem; bottom: .05rem; width: 4.35rem; height: 1.45rem; animation: methodFragmentD 14.3s ease-in-out 8.4s infinite; }
@keyframes methodFragmentA { 0%,10%,100%{transform:translate(0,0);opacity:.72} 3%{transform:translate(1px,-1px);opacity:.9} 6%{transform:translate(0,1px);opacity:.78} }
@keyframes methodFragmentB { 0%,9%,100%{transform:translate(0,0);opacity:.66} 3%{transform:translate(-2px,1px);opacity:.84} 6%{transform:translate(-1px,0);opacity:.72} }
@keyframes methodFragmentC { 0%,8%,100%{transform:translate(0,0);opacity:.68} 3%{transform:translate(1px,1px);opacity:.86} 6%{transform:translate(0,0);opacity:.74} }
@keyframes methodFragmentD { 0%,9%,100%{transform:translate(0,0);opacity:.62} 4%{transform:translate(1px,-1px);opacity:.8} 7%{transform:translate(0,0);opacity:.68} }

/* Decide: a single signal reaches a junction and resolves one output. */
.method-motif--decide i {
  left: .7rem;
  right: .7rem;
  top: 50%;
  height: 1px;
  background: rgba(17,21,18,.13);
  animation: methodDecisionPath 12.9s ease-in-out 2.8s infinite;
}
.method-motif--decide i::after {
  position: absolute;
  left: 0;
  top: -2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  content: "";
  background: rgba(107,124,255,.42);
  opacity: 0;
  animation: methodDecisionSignal 12.9s ease-in-out 2.8s infinite;
}
.method-motif--decide i::before {
  position: absolute;
  left: 0;
  top: -.75rem;
  width: 1px;
  height: 1.5rem;
  content: "";
  background: rgba(17,21,18,.13);
}
.method-motif--decide span { width: .48rem; height: .48rem; border: 1px solid rgba(17,21,18,.2); border-radius: 50%; background: var(--paper); }
.method-motif--decide span:nth-of-type(1) { left: .45rem; top: 1.25rem; }
.method-motif--decide span:nth-of-type(2) { left: .45rem; bottom: 1.15rem; }
.method-motif--decide span:nth-of-type(3) { left: 50%; top: calc(50% - .24rem); border-color: rgba(107,124,255,.28); }
.method-motif--decide span:nth-of-type(4) { right: .45rem; top: calc(50% - .3rem); width: .6rem; height: .6rem; border-color: rgba(54,113,2,.3); background: rgba(184,255,98,.11); animation: methodDecisionOutput 12.9s ease-in-out 2.8s infinite; }
@keyframes methodDecisionPath { 0%,13%,100%{background:rgba(17,21,18,.13)} 5%,8%{background:rgba(17,21,18,.2)} }
@keyframes methodDecisionSignal { 0%,1%,12%,100%{transform:translateX(0);opacity:0} 3%{opacity:.48} 9%{transform:translateX(10.6rem);opacity:.48} 11%{transform:translateX(10.6rem);opacity:0} }
@keyframes methodDecisionOutput { 0%,7%,14%,100%{border-color:rgba(54,113,2,.3);background:rgba(184,255,98,.11)} 9%,11%{border-color:rgba(54,113,2,.48);background:rgba(184,255,98,.18);box-shadow:0 0 0 2px rgba(184,255,98,.035)} }

/* Economics: evidence accumulates; one endpoint becomes clear enough to decide. */
.method-motif--economics { display: flex; align-items: end; justify-content: center; gap: .52rem; padding: .65rem 1.1rem; }
.method-motif--economics span { position: relative; width: 1.15rem; border: 1px solid rgba(17,21,18,.13); border-bottom-color: rgba(17,21,18,.22); background: rgba(107,124,255,.045); animation: methodEvidenceBar 13.7s ease-in-out infinite; }
.method-motif--economics span:nth-of-type(1) { height: 24%; animation-delay: 4.1s; }
.method-motif--economics span:nth-of-type(2) { height: 37%; animation-delay: 4.28s; }
.method-motif--economics span:nth-of-type(3) { height: 52%; animation-delay: 4.46s; }
.method-motif--economics span:nth-of-type(4) { height: 68%; animation-delay: 4.64s; }
.method-motif--economics span:nth-of-type(5) { height: 83%; border-color: rgba(54,113,2,.22); background: rgba(184,255,98,.06); animation-delay: 4.82s; }
.method-motif--economics i { left: 1.2rem; right: 1.1rem; bottom: .55rem; height: 1px; background: rgba(17,21,18,.15); }
.method-motif--economics i::after { position:absolute;right:-.08rem;top:-.19rem;width:.4rem;height:.4rem;border-radius:50%;content:"";background:rgba(54,113,2,.28);animation:methodEvidencePoint 13.7s ease-in-out 4.82s infinite; }
@keyframes methodEvidenceBar { 0%,12%,100%{border-top-color:rgba(17,21,18,.13);background:rgba(107,124,255,.045)} 4%,8%{border-top-color:rgba(107,124,255,.3);background:rgba(107,124,255,.085)} }
@keyframes methodEvidencePoint { 0%,7%,14%,100%{background:rgba(54,113,2,.28);box-shadow:none} 9%,11%{background:rgba(54,113,2,.48);box-shadow:0 0 0 3px rgba(184,255,98,.045)} }

/* Build: modular inputs stay fixed while their connection resolves. */
.method-motif--build i { left: 2.7rem; right: 3.2rem; top: calc(50% - .5px); height: 1px; background: rgba(17,21,18,.12); animation: methodBuildLine 14.9s ease-in-out 6.3s infinite; }
.method-motif--build i::before { position:absolute;left:0;top:-1.3rem;width:1px;height:2.6rem;content:"";background:rgba(17,21,18,.12); }
.method-motif--build span { width: 1.75rem; height: 1.2rem; border: 1px solid rgba(17,21,18,.14); background: rgba(255,255,255,.11); }
.method-motif--build span:nth-of-type(1) { left: .35rem; top: .35rem; }
.method-motif--build span:nth-of-type(2) { left: .35rem; top: 1.65rem; border-color: rgba(107,124,255,.18); }
.method-motif--build span:nth-of-type(3) { left: .35rem; bottom: .35rem; border-color: rgba(243,186,99,.18); }
.method-motif--build span:nth-of-type(4) { right: .3rem; top: .75rem; width: 3.2rem; height: 3rem; border-color: rgba(54,113,2,.25); background: rgba(184,255,98,.055); animation: methodBuildResolve 14.9s ease-in-out 6.3s infinite; }
.method-motif--build span:nth-of-type(4)::before,
.method-motif--build span:nth-of-type(4)::after { position:absolute;left:.6rem;height:1px;content:"";background:rgba(17,21,18,.13); }
.method-motif--build span:nth-of-type(4)::before { top: .9rem; width: 1.35rem; }
.method-motif--build span:nth-of-type(4)::after { top: 1.55rem; width: 1.9rem; }
@keyframes methodBuildLine { 0%,13%,100%{background:rgba(17,21,18,.12)} 5%,9%{background:rgba(54,113,2,.25)} }
@keyframes methodBuildResolve { 0%,7%,15%,100%{border-color:rgba(54,113,2,.25);background:rgba(184,255,98,.055)} 9%,12%{border-color:rgba(54,113,2,.42);background:rgba(184,255,98,.1);box-shadow:0 0 0 2px rgba(184,255,98,.03)} }
.evidence-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.evidence-list li { display: grid; grid-template-columns: 2rem 1fr; padding: 1.35rem 1rem 1.35rem 0; border-bottom: 1px solid var(--line); }.evidence-list li:nth-child(odd) { padding-right: 2rem; }.evidence-list li:nth-child(even) { padding-left: 2rem; border-left: 1px solid var(--line); }.evidence-list li span { color: #367102; }

/* Solution */
.breadcrumb { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: 4rem; color: #808a83; font-family: "IBM Plex Mono", monospace; font-size: .62rem; }
.breadcrumb a { color: var(--paper); }.status-note { max-width: 56ch; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line-dark); color: var(--muted-dark); font-size: .86rem; }
.synthetic-card { align-self: stretch; padding: 1.2rem; border: 1px solid var(--line-dark); background: #171d19; box-shadow: 0 2rem 6rem rgba(0,0,0,.3); }
.synthetic-card > p { color: var(--muted-dark); font-size: .76rem; }.synthetic-card h2 { max-width: none; margin-bottom: 2.5rem; font-family: "IBM Plex Mono", monospace; font-size: 1.25rem; letter-spacing: 0; }
.synthetic-card dl { margin: 0; border-top: 1px solid var(--line-dark); }.synthetic-card dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .78rem 0; border-bottom: 1px solid var(--line-dark); }.synthetic-card dt { color: var(--muted-dark); }.synthetic-card dd { margin: 0; font-family: "IBM Plex Mono", monospace; }.synthetic-card dl div:last-child dd { color: var(--human); }
.synthetic-card__exception { margin-top: 2rem; padding: 1rem; border-left: 2px solid var(--human); background: rgba(243,186,99,.06); }.synthetic-card__exception span { color: var(--human); font-family: "IBM Plex Mono", monospace; font-size: .6rem; }.synthetic-card__exception p { margin: .5rem 0 0; color: var(--paper); }
.solution-flow { width: min(100% - (var(--gutter) * 2), var(--shell)); margin: 0 auto; }.solution-flow__inputs { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: .5rem; }.solution-flow__inputs span { padding: 1rem; border: 1px solid var(--line); text-align: center; font-family: "IBM Plex Mono", monospace; font-size: .65rem; }.solution-flow__arrow { padding: 1.5rem; text-align: center; font-size: 2rem; }.solution-flow__stages { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.solution-flow__stages li { min-height: 15rem; padding: 1.2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.solution-flow__stages li > span { display: block; margin-bottom: 3.5rem; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: .62rem; }.solution-flow__stages strong { display: block; margin-bottom: .65rem; }.solution-flow__stages p { color: var(--muted); font-size: .84rem; }
.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: flex; cursor: pointer; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.6rem 0; font-size: 1.2rem; font-weight: 550; list-style: none; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { font-family: "IBM Plex Mono", monospace; font-size: 1.4rem; font-weight: 400; transition: transform .2s; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list details p { padding-bottom: 1.8rem; color: var(--muted); }

/* Work evidence */
.fact-register { margin: 0; border-top: 1px solid var(--line-dark); }.fact-register div { display: grid; grid-template-columns: 8rem 1fr; padding: .9rem 0; border-bottom: 1px solid var(--line-dark); }.fact-register dt { color: #79847c; font-family: "IBM Plex Mono", monospace; font-size: .61rem; }.fact-register dd { margin: 0; font-size: .88rem; }
.visual-evidence { padding-block: clamp(3rem, 6vw, 6rem); }.product-shot { margin: 0; border: 1px solid var(--line); background: var(--ink); box-shadow: 0 2rem 6rem rgba(17,21,18,.12); }.product-shot img { width: 100%; height: auto; }.product-shot figcaption, .evidence-diagram figcaption { padding: .8rem 1rem; color: var(--muted); background: var(--paper-bright); font-family: "IBM Plex Mono", monospace; font-size: .65rem; }
.work-verification { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:clamp(2rem,4vw,3.5rem);padding-top:1.25rem;border-top:1px solid var(--line); }.work-verification>span{color:var(--muted);font:500 .65rem/1.4 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.12em}.work-verification .text-link{margin:0}
.evidence-diagram { margin: 0; border: 1px solid var(--line); }.evidence-diagram__rail { display: grid; grid-template-columns: repeat(6, 1fr); min-height: 22rem; align-items: stretch; background: var(--ink); }.evidence-diagram__node { position: relative; display: flex; align-items: center; justify-content: center; border-right: 1px solid var(--line-dark); color: var(--paper); font-family: "IBM Plex Mono", monospace; font-size: .7rem; }.evidence-diagram__node::after { position: absolute; right: -4px; width: 7px; height: 7px; z-index: 1; border-radius: 50%; content: ""; background: var(--signal); box-shadow: 0 0 0 5px rgba(184,255,98,.08); }.evidence-diagram__node:last-child::after { display: none; }.evidence-diagram__node span { position: absolute; top: 1.1rem; left: 1.1rem; color: #69736d; font-size: .58rem; }.evidence-diagram__status { display: flex; gap: 2rem; padding: 1rem; border-top: 1px solid var(--line); background: var(--paper-bright); color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: .6rem; }.evidence-diagram__status span { display: flex; gap: .5rem; align-items: center; }
.disclosure { max-width: 900px; }.disclosure h2 { max-width: 18ch; }.disclosure > p:last-child { color: var(--muted); font-size: 1.2rem; }

/* Contact */
.contact-page { min-height: 100svh; padding: clamp(10rem, 15vw, 13rem) 0 6rem; }
.contact-page__grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr); gap: clamp(4rem, 9vw, 9rem); align-items: start; }.contact-intro { position: sticky; top: 2rem; }.contact-intro h1 { max-width: 10ch; }
.contact-notes { margin-top: 3.5rem; border-top: 1px solid var(--line-dark); }.contact-notes > div { display: grid; grid-template-columns: 3rem 1fr; padding: 1rem 0; border-bottom: 1px solid var(--line-dark); }.contact-notes span { color: #738078; font-family: "IBM Plex Mono", monospace; font-size: .62rem; }.contact-notes p { margin: 0; color: var(--muted-dark); font-size: .88rem; }.contact-notes strong { color: var(--paper); font-weight: 600; }.direct-email { margin-top: 2rem; color: var(--muted-dark); }.direct-email a { color: var(--paper); }
.contact-panel { padding: clamp(1.4rem, 3vw, 2.5rem); color: var(--text); background: var(--paper-bright); }
.form-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }.form-head p { margin: 0; font-family: "IBM Plex Mono", monospace; font-size: .68rem; }.form-head span { color: var(--muted); font-size: .72rem; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.field { margin-bottom: 1.2rem; }.field label { display: block; margin-bottom: .42rem; font-size: .8rem; font-weight: 650; }.field input, .field select, .field textarea { display: block; width: 100%; min-height: 3.25rem; padding: .75rem .85rem; border: 1px solid #b9bdb2; border-radius: 0; color: var(--text); background: transparent; }.field textarea { resize: vertical; line-height: 1.5; }.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--ink); outline-offset: 0; border-color: var(--ink); }.field-help, .form-footnote { margin: .4rem 0 0; color: var(--muted); font-size: .72rem; }.conditional-fields { margin: 0 0 1.2rem; padding: 1rem; border: 1px solid var(--line); background: var(--fog); }.conditional-fields[hidden] { display: none; }
.check-field { display: grid; grid-template-columns: 1.3rem 1fr; gap: .65rem; align-items: start; margin: 1rem 0 1.5rem; font-size: .79rem; }.check-field input { width: 1.1rem; height: 1.1rem; margin: .1rem 0 0; accent-color: var(--ink); }.button--submit { width: 100%; cursor: pointer; border-color: var(--ink); color: var(--paper); background: var(--ink); }.button--submit:hover { color: var(--ink); background: var(--signal); }
.form-trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }.form-error { margin: .35rem 0 0; color: var(--danger); font-size: .76rem; }.form-error--global { margin-bottom: 1.2rem; padding: .8rem; border-left: 3px solid var(--danger); background: #f8e7e2; }.form-success { padding: clamp(2rem, 5vw, 4rem) 1rem; }.form-success > span { display: grid; width: 3rem; height: 3rem; place-items: center; margin-bottom: 2rem; border-radius: 50%; color: var(--ink); background: var(--signal); }.form-success h2 { font-size: 2.8rem; }.form-success p { color: var(--muted); }
.contact-unavailable { padding: clamp(1.5rem, 4vw, 3.25rem) clamp(.25rem, 2vw, 1.25rem); }
.contact-unavailable h2 { max-width: 11ch; font-size: clamp(2.2rem, 4.4vw, 4.2rem); }
.contact-unavailable > p:not(.eyebrow) { color: var(--muted); font-size: 1rem; }
.contact-unavailable__status { display: grid; grid-template-columns: 1fr auto; gap: 0; margin: 2.5rem 0; border-top: 1px solid var(--line); }
.contact-unavailable__status > * { padding: .9rem 0; border-bottom: 1px solid var(--line); }
.contact-unavailable__status span { color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: .63rem; }
.contact-unavailable__status strong { display: flex; align-items: center; gap: .6rem; font-size: .82rem; font-weight: 600; }
.contact-notes span { color: #9aa59d; }
.button--outline-dark { border-color: var(--ink); color: var(--ink); background: transparent; }
.button--outline-dark:hover { color: var(--paper); background: var(--ink); }
.error-page { min-height: 80vh; min-height: 80svh; padding: 13rem 0 7rem; }.error-page__inner { max-width: 900px; }

/* Footer */
.site-footer { padding-top: 5rem; border-top: 1px solid var(--line-dark); color: var(--paper); background: var(--ink); }
.site-footer__top { display: grid; grid-template-columns: .75fr 1.25fr; gap: 4rem; padding-bottom: 4rem; }.site-footer__top > div:first-child > p { margin-top: 1.2rem; color: var(--muted-dark); }
.site-footer__nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }.site-footer__nav > div { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }.site-footer__nav a { color: #b8c0ba; font-size: .8rem; text-decoration: none; }.site-footer__nav a:hover { color: var(--signal); }.footer-label { color: #6f7972; font-family: "IBM Plex Mono", monospace; font-size: .6rem; text-transform: uppercase; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 2rem; padding-block: 1.2rem; border-top: 1px solid var(--line-dark); color: #707a73; font-family: "IBM Plex Mono", monospace; font-size: .58rem; }.site-footer__bottom p { margin: 0; }

/* Small operational labels remain deliberately quiet, but meet AA contrast. */
.principle__header > .eyebrow { color: var(--paper); }
.principle__header > p:not(.eyebrow), .section-ink .split-heading > p { color: var(--muted-dark); }
.decision-board__head, .hero-register > span, .status-note span,
.section-ink .exception-grid article > span, .evidence-diagram__node span,
.footer-label, .site-footer__bottom { color: #9aa59d; }

@media (max-width: 1100px) {
  .home-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(390px, .85fr); gap: 3rem; }
  .method-track { grid-template-columns: repeat(3, 1fr); }.method-track li { min-height: 18rem; }
  .solution-flow__stages { grid-template-columns: repeat(3, 1fr); }
  .info-grid, .built-grid, .exception-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 800px) {
  :root { --gutter: 1.25rem; --section: 4.75rem; --h1: clamp(3rem, 12vw, 5rem); --h2: clamp(2.3rem, 9vw, 3.7rem); }
  .site-header { position: absolute; }.site-header__inner { min-height: 4.7rem; }
  .nav-toggle { display: flex; z-index: 102; align-items: center; gap: .7rem; padding: .7rem 0; cursor: pointer; font-family: "IBM Plex Mono", monospace; font-size: .67rem; }.nav-toggle i, .nav-toggle i::after { display: block; width: 1.5rem; height: 1px; background: currentColor; content: ""; transition: transform .2s; }.nav-toggle i::after { transform: translateY(6px); }.nav-toggle[aria-expanded="true"] i { transform: rotate(45deg); }.nav-toggle[aria-expanded="true"] i::after { transform: rotate(-90deg); }
  .primary-nav { position: fixed; inset: 0; z-index: 101; display: none; flex-direction: column; align-items: stretch; justify-content: center; gap: 0; padding: 6rem var(--gutter) 3rem; background: var(--ink); }.primary-nav.is-open { display: flex; }.primary-nav > a { padding: 1rem 0; border-bottom: 1px solid var(--line-dark); font-size: 1.3rem; }.primary-nav__cta { margin-top: 2rem; padding: 1rem !important; font-size: .9rem !important; }
  .home-hero { min-height: auto; padding-top: 9.5rem; }.home-hero__grid, .page-hero__grid, .solution-hero__grid, .work-hero__grid, .contact-page__grid { grid-template-columns: 1fr; }.home-hero__grid { gap: 4rem; }.home-hero h1 { max-width: 10.5ch; }
  .system-pipeline { max-width: 620px; }.signal-strip__inner { grid-template-columns: 1fr; }.signal-strip span { border-right: 0; border-bottom: 1px solid var(--line-dark); }.signal-strip span:last-child { border: 0; }
  .capability-grid { grid-template-columns: 1fr; }.capability-card { min-height: 19rem; }.decision-board__head { display: none; }.decision-row { grid-template-columns: 1fr auto; gap: .65rem; padding: 1.25rem 0; }.decision-row p { grid-column: 1 / -1; }
  .split-heading { grid-template-columns: 1fr; gap: 1.5rem; align-items: start; }.method-track { grid-template-columns: 1fr 1fr; }.method-track li { min-height: 16rem; }.method-track li > span { margin-bottom: 3rem; }
  .work-grid { grid-template-columns: 1fr; }.work-card:first-child { grid-row: auto; }.work-card:first-child .work-card__visual { min-height: 20rem; }.pilot-band__grid { grid-template-columns: 1fr; gap: 2rem; }.pilot-links a { grid-template-columns: 4rem 1fr; }
  .closing-cta__inner { align-items: flex-start; flex-direction: column; }
  .page-hero, .solution-hero, .work-hero { padding-top: 9.5rem; }.hero-register { max-width: 520px; }.breadcrumb { margin-bottom: 2.5rem; }
  .solution-flow__stages { grid-template-columns: 1fr 1fr; }.evidence-diagram__rail { grid-template-columns: repeat(3, 1fr); }.evidence-diagram__node { min-height: 10rem; border-bottom: 1px solid var(--line-dark); }.evidence-diagram__node:nth-child(3)::after { display: none; }
  .contact-intro { position: static; }.contact-page__grid { gap: 3rem; }.contact-panel { margin-inline: -.25rem; }
  .site-footer__top { grid-template-columns: 1fr; }.site-footer__bottom { flex-direction: column; gap: .5rem; }
}

@media (max-width: 520px) {
  :root { --gutter: 1rem; }
  .home-hero, .page-hero, .solution-hero, .work-hero, .contact-page { padding-top: 8.3rem; }
  h1 { letter-spacing: -.055em; }.hero-lead { font-size: 1.05rem; }.button-row { align-items: stretch; flex-direction: column; }.button-row .button { width: 100%; }
  .pipeline-inputs { grid-template-columns: 1fr 1fr; }.pipeline-stage { grid-template-columns: 2rem 1fr; }.pipeline-stage small { display: none; }.pipeline-legend { gap: .65rem; }
  .method-track, .info-grid, .built-grid, .exception-grid { grid-template-columns: 1fr; }.method-track li, .info-grid article, .built-grid article, .exception-grid article { min-height: 15rem; }
  .work-card:first-child .work-card__visual { min-height: 14rem; }.work-card__body { padding: 1.4rem; }.mini-system { padding: 1.5rem; }
  .pilot-links a { display: flex; flex-direction: column; }.pilot-links span { margin-bottom: .8rem; }
  .evidence-list { grid-template-columns: 1fr; }.evidence-list li:nth-child(odd), .evidence-list li:nth-child(even) { padding: 1.2rem 0; border-left: 0; }
  .process-list li { grid-template-columns: 3.5rem 1fr; }.solution-flow__stages { grid-template-columns: 1fr; }.solution-flow__stages li { min-height: auto; }.solution-flow__stages li > span { margin-bottom: 2rem; }
  .fact-register div { grid-template-columns: 6rem 1fr; }.evidence-diagram__rail { grid-template-columns: 1fr 1fr; }.evidence-diagram__node:nth-child(3)::after { display: block; }.evidence-diagram__node:nth-child(2n)::after { display: none; }.evidence-diagram__status { align-items: flex-start; flex-direction: column; gap: .6rem; }
  .field-grid { grid-template-columns: 1fr; gap: 0; }.contact-panel { padding: 1.25rem; }.form-head { align-items: flex-start; flex-direction: column; }
  .site-footer__nav { grid-template-columns: 1fr 1fr; }.site-footer__nav > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 360px) {
  :root { --gutter: .8rem; --h1: 2.72rem; --h2: 2.12rem; }
  .brand__mark { width: 2rem; height: 2rem; }.system-pipeline { padding: .75rem; }.pipeline-stage strong { font-size: .63rem; }.input-chip { font-size: .52rem; }
  .site-footer__nav { grid-template-columns: 1fr; }.site-footer__nav > div:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .pipeline-track i::after { display: none; }
}

@media print {
  .site-header, .site-footer, .button-row, .closing-cta, .signal-strip { display: none; }
  body { color: #000; background: #fff; }.section-dark, .section-ink { color: #000; background: #fff; }
}

/* V1.1 — operational motion, controlled asymmetry and a single brand system */
.brand__mark { width: 2.35rem; height: 2.35rem; flex: none; }
.brand--footer .brand__mark { width: 1.6rem; height: 1.6rem; }

.orchestration-scene { position: relative; min-height: 34rem; margin: 0; isolation: isolate; }
.orchestration-scene figcaption { position: absolute; inset: 0 0 auto; z-index: 3; display: flex; justify-content: space-between; color: #a7b0aa; font: .62rem/1.3 "IBM Plex Mono", monospace; letter-spacing: .08em; }
.orchestration-scene figcaption span:last-child { color: var(--signal); }
.orchestration-scene > img { position: absolute; z-index: 0; top: 2.2rem; left: -10%; width: 122%; height:auto; max-width: none; filter: drop-shadow(0 2rem 3rem rgba(0,0,0,.25)); }
.scene-inputs { position: absolute; z-index: 2; top: 12%; left: -3%; display: grid; gap: .5rem; }
.scene-inputs span,.scene-states span { padding: .55rem .7rem; border: 1px solid var(--line-dark); color: #d7ddd8; background: rgba(17,21,18,.88); backdrop-filter: blur(8px); font: .57rem/1.2 "IBM Plex Mono",monospace; }
.scene-inputs span:nth-child(even) { transform: translateX(1.1rem); }
.scene-path { position: absolute; z-index: 1; inset: 20% 20% 24% 28%; border: 1px solid rgba(184,255,98,.24); transform: skewX(-8deg); }
.scene-path i { position: absolute; left:0; top:0; width: .45rem; height: .45rem; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 .35rem rgba(184,255,98,.09); animation: scenePacket 5s var(--ease) infinite paused; }
.scene-path i:nth-child(2) { animation-delay: -1.2s; }.scene-path i:nth-child(3) { animation-delay: -2.5s; background: var(--ai); }.scene-path i:nth-child(4) { animation-delay: -3.8s; background: var(--human); }
@keyframes scenePacket { 0% { transform:translate3d(0,0,0); opacity:0 } 12% { opacity:1 } 48% { transform:translate3d(clamp(8rem,22vw,18rem),0,0) } 70% { transform:translate3d(clamp(8rem,22vw,18rem),clamp(5rem,12vw,9rem),0) } 100% { transform:translate3d(clamp(10rem,28vw,22rem),clamp(5rem,12vw,9rem),0); opacity:0 } }
.is-motion-active .scene-path i{animation-play-state:running;will-change:transform,opacity}
.scene-states { position: absolute; z-index: 2; right: -1rem; bottom: 13%; display: flex; flex-direction: column; gap: .35rem; align-items: flex-end; }
.scene-states span { opacity: .8; transition: opacity .35s, transform .35s, border-color .35s; }
.scene-states span.is-active { opacity: 1; transform: translateX(-.6rem); }
.scene-states [data-scene-state="rule"] { border-color: rgba(184,255,98,.5); }.scene-states [data-scene-state="ai"] { border-color: rgba(168,175,255,.55); }.scene-states [data-scene-state="human"] { border-color: rgba(243,186,99,.6); }
.scene-result { position: absolute; z-index: 3; right: 0; bottom: 0; display: flex; align-items: center; gap: .6rem; margin: 0; color: #adb6af; font: .57rem/1.2 "IBM Plex Mono",monospace; }

.capability-landscape { display: grid; grid-template-columns: 1.35fr .65fr; grid-template-rows: auto auto; gap: 1px; background: var(--line); }
.capability-feature { position: relative; min-height: 20rem; padding: clamp(2rem,4vw,4rem); overflow: hidden; background: var(--paper-bright); }
.capability-feature:first-child { grid-row: 1 / 3; min-height: 42rem; display: flex; flex-direction: column; justify-content: flex-end; }
.capability-feature:nth-child(3) { background: var(--ink); color: var(--paper); }
.capability-feature__label { color: var(--muted); font: .62rem/1.2 "IBM Plex Mono",monospace; letter-spacing: .08em; }
.capability-feature:first-child h3 { max-width: 8ch; font-size: clamp(2.8rem,5vw,5.3rem); }
.capability-feature p:not(.capability-feature__label) { color: var(--muted); }.capability-feature:nth-child(3) p { color: var(--muted-dark); }
.capability-feature a,.portfolio-item a { display: inline-block; margin-top: 1.5rem; font-size: .82rem; font-weight: 650; text-decoration: none; }
.capability-feature__trace { position: absolute; inset: 1.5rem 1.5rem auto auto; width: 36%; height: 36%; border-top: 1px solid currentColor; border-right: 1px solid currentColor; opacity: .22; }
.capability-feature__trace i { position: absolute; width: .45rem; height: .45rem; border-radius: 50%; background: currentColor; }.capability-feature__trace i:nth-child(1){left:-.22rem;top:-.22rem}.capability-feature__trace i:nth-child(2){right:-.22rem;top:45%}.capability-feature__trace i:nth-child(3){right:-.22rem;bottom:-.22rem}

.decision-live { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(2rem,6vw,7rem); align-items: center; }
.decision-live__checks { border-top: 1px solid var(--line-dark); }
.decision-check { display: grid; grid-template-columns: minmax(9rem,.75fr) 1fr auto; gap: 1rem; min-height: 4.25rem; align-items: center; border-bottom: 1px solid var(--line-dark); }
.decision-check strong { font-weight: 520; }.decision-check i { position: relative; height: 1px; overflow: visible; background: #475049; }
.decision-check i::after { position: absolute; top: -.26rem; left: 0; width: .52rem; height: .52rem; border-radius: 50%; content:""; background: var(--signal); animation: decisionMove 4.8s var(--ease) infinite paused; animation-delay: calc(var(--row, 0) * -.5s); }
.decision-check--ai i::after { background: var(--ai); }.decision-check--human i::after { background: var(--human); }
@keyframes decisionMove { 0%,12%{transform:translateX(0);opacity:0}25%{opacity:1}72%{transform:translateX(clamp(4rem,18vw,14rem));opacity:1}90%,100%{transform:translateX(clamp(4rem,18vw,14rem));opacity:.2} }
.decision-live.is-motion-active .decision-check i::after{animation-play-state:running;will-change:transform,opacity}
.decision-check span { min-width: 5.5rem; color: var(--signal); font: .62rem/1 "IBM Plex Mono",monospace; }.decision-check--ai span{color:var(--ai)}.decision-check--human span{color:var(--human)}
.decision-live__summary { padding: clamp(1.5rem,3vw,2.5rem); color: var(--ink); background: var(--signal); transform: rotate(1.4deg); }
.decision-live__summary > p:first-child { font: .6rem/1.3 "IBM Plex Mono",monospace; }.decision-live__summary > strong { display:block; margin: 2rem 0; font-size: clamp(1.6rem,3vw,2.7rem); line-height:1.05; }
.decision-live__summary dl { margin:0; }.decision-live__summary dl div { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; border-top:1px solid rgba(17,21,18,.28) }.decision-live__summary dd{margin:0;font-weight:700}.decision-live__note{margin:1.5rem 0 0;font-size:.72rem}

.explorer-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem,8vw,9rem); align-items: center; }
.explorer-intro h2 { max-width: 10ch; }.explorer-intro > p:not(.eyebrow) { color: var(--muted); }
.explorer-tabs { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 2rem; }
.explorer-tabs button { padding: .62rem .75rem; border:1px solid var(--line); color:var(--text); background:transparent; cursor:pointer; font-size:.73rem; }.explorer-tabs button[aria-selected="true"]{border-color:var(--ink);color:var(--paper);background:var(--ink)}
.explorer-panels { min-height: 34rem; padding: clamp(1.4rem,3vw,3rem); color:var(--paper); background:var(--ink); box-shadow: 2rem 2rem 0 var(--signal); }
.explorer-panels section { min-height: 28rem; }.explorer-inputs,.explorer-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.explorer-inputs span,.explorer-actions span{padding:.85rem;border:1px solid var(--line-dark);font:.65rem/1.3 "IBM Plex Mono",monospace}.explorer-inputs span{color:#c5cdc7}.explorer-actions span{border-color:rgba(184,255,98,.25);color:var(--signal)}
.explorer-flow{position:relative;height:6rem;margin-inline:2rem;border-left:1px solid rgba(184,255,98,.4);border-right:1px solid rgba(184,255,98,.4)}.explorer-flow::after{position:absolute;left:50%;top:0;width:1px;height:100%;content:"";background:rgba(168,175,255,.4)}.explorer-flow i{position:absolute;top:-.2rem;width:.42rem;height:.42rem;border-radius:50%;background:var(--signal);animation:flowDown 3.4s var(--ease) infinite paused}.explorer-flow i:nth-child(1){left:-.2rem}.explorer-flow i:nth-child(2){left:calc(50% - .2rem);background:var(--ai);animation-delay:-1s}.explorer-flow i:nth-child(3){right:-.2rem;animation-delay:-2s}@keyframes flowDown{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(6rem);opacity:0}}.explorer-panels.is-motion-active .explorer-flow i{animation-play-state:running;will-change:transform,opacity}
.explorer-human{display:flex;align-items:center;gap:.7rem;margin:1.4rem 0 0;color:var(--human);font:.65rem/1.4 "IBM Plex Mono",monospace}
.explorer-noscript{color:var(--muted-dark);font-size:.8rem}.explorer-noscript strong{color:var(--paper)}

.transformation-stage { position:relative; display:grid;grid-template-columns:1fr 8rem 1fr;gap:1rem;align-items:stretch; }
.transformation-side { padding:clamp(1.5rem,4vw,3.5rem);background:var(--paper-bright) }.transformation-side>p{font:.62rem/1.2 "IBM Plex Mono",monospace;color:var(--muted)}.transformation-side>div{display:flex;flex-wrap:wrap;gap:.55rem}.transformation-side span{padding:.65rem .75rem;border:1px solid var(--line);font-size:.78rem}.transformation-side--before span{opacity:.65;transform:rotate(var(--tilt,-1deg))}.transformation-side--before span:nth-child(even){--tilt:1.5deg}.transformation-side--after span{border-color:rgba(17,21,18,.25);background:rgba(184,255,98,.2)}
.transformation-core{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;color:var(--ink);font:.63rem/1 "IBM Plex Mono",monospace}.transformation-core i{position:relative;width:100%;height:1px;background:var(--ink)}.transformation-core i::after{position:absolute;right:0;top:-.25rem;width:.5rem;height:.5rem;border-top:1px solid;border-right:1px solid;content:"";transform:rotate(45deg)}
.before-after.is-visible .transformation-side--before span{animation:frictionSettle .8s var(--ease) both}@keyframes frictionSettle{from{transform:translateY(-.5rem) rotate(var(--tilt,-1deg));opacity:.4}to{opacity:.65}}

.method-route { counter-reset:route;display:grid;grid-template-columns:repeat(5,1fr);margin-top:2rem;padding:0;list-style:none;border-top:1px solid var(--line)}.method-route li{counter-increment:route;position:relative;padding:3.5rem 1.2rem 0}.method-route li::before{position:absolute;left:0;top:-.35rem;width:.7rem;height:.7rem;border-radius:50%;content:"";background:var(--ink);box-shadow:0 0 0 .4rem var(--paper)}.method-route li:not(:last-child)::after{position:absolute;right:-.15rem;top:-.27rem;width:.55rem;height:.55rem;border-top:1px solid var(--ink);border-right:1px solid var(--ink);content:"";transform:rotate(45deg)}.method-route h3{font-size:1.05rem}.method-route p{color:var(--muted);font-size:.82rem}

.portfolio-stage { display:grid;grid-template-columns:1.08fr .92fr;grid-template-areas:"normeo market" "ops market";gap:clamp(1rem,3vw,2rem);align-items:stretch}.portfolio-item{position:relative;min-width:0;border:1px solid var(--line-dark);overflow:hidden}.portfolio-item>div:last-child{padding:clamp(1.4rem,3vw,2.4rem)}.portfolio-item h3{font-size:clamp(1.6rem,3vw,2.8rem)}.portfolio-item p:not(.eyebrow){color:var(--muted-dark)}.portfolio-item--normeo{grid-area:normeo;display:grid;grid-template-columns:1fr 1fr}.portfolio-visual{min-height:23rem;overflow:hidden}.portfolio-visual img{width:100%;height:100%;object-fit:cover;object-position:left top;transform:perspective(900px) rotateY(7deg) scale(1.05)}.portfolio-item--market{grid-area:market;display:flex;flex-direction:column}.portfolio-item--market>img{width:112%;max-width:none;margin:-4% -6% -10%;filter:drop-shadow(0 1rem 2rem rgba(0,0,0,.2))}.portfolio-item--market>div{margin-top:auto}.portfolio-item--ops{grid-area:ops;display:grid;grid-template-columns:1.05fr .95fr}.activity-stream{padding:1rem;background:#0b0f0c}.activity-stream__label{margin:0 0 .5rem;color:#69736d;font:500 .52rem/1.4 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.activity{display:grid;grid-template-columns:3.5rem 1fr auto;gap:.7rem;align-items:center;margin:0;padding:.62rem 0;border-bottom:1px solid var(--line-dark);color:#b8c0ba;font:.59rem/1.2 "IBM Plex Mono",monospace}.activity time{color:#77817a}.activity i{width:.42rem;height:.42rem;border-radius:50%;background:var(--signal)}.activity--ai i{background:var(--ai)}.activity--human i{background:var(--human)}

.editorial-features,.built-manifest{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,7vw,8rem);border-top:1px solid var(--line)}.editorial-features article,.built-manifest article{display:grid;grid-template-columns:1rem 1fr;gap:1.2rem;min-height:12rem;padding:2rem 0;border-bottom:1px solid var(--line)}.editorial-features article:nth-child(even),.built-manifest article:nth-child(even){transform:translateY(3.5rem)}.editorial-features article i,.built-manifest article i,.exception-landscape article i{width:.55rem;height:.55rem;margin-top:.35rem;border-radius:50%;background:var(--signal);box-shadow:0 0 0 .35rem rgba(184,255,98,.18)}.editorial-features p,.built-manifest p{color:var(--muted)}
.exception-landscape{display:flex;flex-wrap:wrap;gap:1px;background:var(--line-dark)}.exception-landscape article{flex:1 1 28%;min-width:14rem;padding:2rem;background:var(--ink-soft)}.exception-landscape article:nth-child(2n){transform:translateY(1rem)}.exception-landscape article i{display:block;background:var(--human)}.exception-landscape p{color:var(--muted-dark)}
.solution-flow__stages li>i{display:block;width:.55rem;height:.55rem;margin-bottom:2rem;border-radius:50%;background:var(--signal)}.solution-flow__stages li:nth-child(3)>i{background:var(--ai)}.solution-flow__stages li:nth-last-child(-n+2)>i{background:var(--human)}
.portfolio-item--market>img{height:auto}
.solution-hero__visual{position:relative;min-height:32rem}.solution-hero__visual .synthetic-card{position:relative;z-index:2}.solution-evidence-art{position:absolute;z-index:1;right:-24%;top:-38%;width:72%;height:auto;filter:drop-shadow(0 2rem 3rem rgba(0,0,0,.25));opacity:.74;transform:rotate(7deg)}
.solution-hero{overflow:hidden}

.contact-notes>div{grid-template-columns:1.25rem 1fr;align-items:start}.contact-notes .status-dot{margin-top:.35rem}.contact-form--preview{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.contact-form--preview fieldset{margin:0;padding:0;border:0}.contact-form--preview legend{margin-bottom:1.5rem;font:.65rem/1.3 "IBM Plex Mono",monospace}.contact-form--preview :disabled{cursor:not-allowed;opacity:.63}.contact-form--preview .button:disabled{opacity:1;color:#6b746d;background:#d8d9d2;border-color:#bec1b8}.field small{color:var(--muted);font-weight:400}

.message-launcher{position:fixed;z-index:190;right:1.2rem;bottom:1.2rem;display:flex;align-items:center;gap:.65rem;min-height:3rem;padding:.7rem 1rem;border:1px solid var(--signal);color:var(--paper);background:var(--ink);box-shadow:0 1rem 3rem rgba(0,0,0,.24);cursor:pointer;font-size:.76rem;font-weight:650}.message-launcher__pulse{width:.5rem;height:.5rem;border-radius:50%;background:var(--signal);box-shadow:0 0 0 .3rem rgba(184,255,98,.12)}
.message-launcher[hidden] { display: none; }
.message-launcher[aria-expanded="true"] { visibility: hidden; }
.message-panel{position:fixed;z-index:202;right:1.2rem;bottom:5rem;width:min(25rem,calc(100vw - 2rem));padding:1.4rem;border:1px solid #3d4841;color:var(--paper);background:var(--ink);box-shadow:0 2rem 6rem rgba(0,0,0,.42);transform:translateY(1rem);opacity:0;visibility:hidden;transition:.25s var(--ease)}.message-panel.is-open{transform:none;opacity:1;visibility:visible}.message-panel__head{display:flex;justify-content:space-between;gap:1rem}.message-panel__head span{color:var(--signal);font:.57rem/1.3 "IBM Plex Mono",monospace}.message-panel h2{max-width:10ch;margin:.6rem 0 1rem;font-size:2.25rem}.message-panel__head button{width:2.4rem;height:2.4rem;border:1px solid var(--line-dark);color:var(--paper);background:transparent;cursor:pointer;font-size:1.4rem}.message-panel>p{color:var(--muted-dark);font-size:.82rem}.message-choices{border-top:1px solid var(--line-dark);margin:1.2rem 0}.message-choices a{display:flex;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid var(--line-dark);text-decoration:none;font-size:.83rem}.message-choices a:hover{color:var(--signal)}.message-panel__state{display:grid;grid-template-columns:1rem 1fr;gap:.6rem;margin-bottom:1rem;color:var(--muted-dark);font-size:.7rem}.message-panel .button{width:100%}.message-scrim{position:fixed;z-index:191;inset:0;background:rgba(5,8,6,.55)}

@media(max-width:1100px){.orchestration-scene{min-height:30rem}.portfolio-item--normeo,.portfolio-item--ops{grid-template-columns:1fr}.portfolio-visual{min-height:16rem}}
@media(max-width:800px){.orchestration-scene{min-height:31rem;max-width:42rem}.capability-landscape{grid-template-columns:1fr}.capability-feature:first-child{grid-row:auto;min-height:30rem}.decision-live,.explorer-layout{grid-template-columns:1fr}.explorer-panels{box-shadow:1rem 1rem 0 var(--signal)}.transformation-stage{grid-template-columns:1fr}.transformation-core{min-height:5rem;transform:rotate(90deg)}.method-route{grid-template-columns:1fr}.method-route li{padding:2rem 0 2rem 2rem;border-left:1px solid var(--line)}.method-route li::before{left:-.35rem;top:2.3rem}.method-route li:not(:last-child)::after{display:none}.portfolio-stage{grid-template-columns:1fr;grid-template-areas:"normeo" "market" "ops"}.editorial-features,.built-manifest{grid-template-columns:1fr}.editorial-features article:nth-child(even),.built-manifest article:nth-child(even){transform:none}.exception-landscape article:nth-child(2n){transform:none}.solution-hero__visual{min-height:auto}.solution-evidence-art{right:-4%;top:-18%;width:55%}}
@media(max-width:520px){.orchestration-scene{min-height:27rem;margin-inline:-.25rem}.orchestration-scene>img{top:4rem;left:-28%;width:150%}.scene-inputs{top:9%;left:0}.scene-inputs span:nth-child(n+3){display:none}.scene-states{right:0;bottom:12%}.scene-states span{font-size:.49rem;padding:.42rem}.scene-result{font-size:.49rem}.capability-feature{min-height:19rem}.capability-feature:first-child{min-height:26rem}.decision-check{grid-template-columns:minmax(7.5rem,.8fr) 1fr auto;gap:.5rem}.decision-check strong{font-size:.78rem}.decision-check span{min-width:3rem;font-size:.52rem}.explorer-panels{min-height:31rem;padding:1rem;box-shadow:.5rem .5rem 0 var(--signal)}.explorer-panels section{min-height:28rem}.explorer-inputs span,.explorer-actions span{padding:.65rem;font-size:.56rem}.portfolio-item--normeo,.portfolio-item--ops{grid-template-columns:1fr}.portfolio-visual{min-height:14rem}.message-launcher{right:.75rem;bottom:.75rem;width:3rem;justify-content:center;padding:.7rem}.message-launcher span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.message-panel{right:.5rem;bottom:4.5rem;width:calc(100vw - 1rem)} }
@media(max-width:340px){.message-launcher span:last-child{display:none}.message-launcher{width:3rem;justify-content:center}.explorer-tabs button{font-size:.66rem}.decision-check strong{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.scene-path i,.decision-check i::after,.explorer-flow i,.before-after.is-visible .transformation-side--before span{animation:none!important}.scene-states span{opacity:1}.message-panel{transition:none}}

/* V1.2 — visual resolution: quieter hierarchy, deliberate hero composition */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.home-hero {
  min-height: min(880px, 100vh);
  min-height: min(880px, 100svh);
  padding: clamp(9.5rem, 12vw, 11.5rem) 0 clamp(4.5rem, 7vw, 6.5rem);
}
.home-hero__grid {
  grid-template-columns: minmax(0, .98fr) minmax(440px, 1.02fr);
  gap: clamp(2rem, 4.5vw, 5rem);
}
.home-hero__copy { position: relative; z-index: 2; }
.home-hero h1 {
  max-width: none;
  margin-bottom: 1.8rem;
  font-size: clamp(4.4rem, 6.25vw, 6.3rem);
  letter-spacing: -.058em;
}
.home-hero h1 span { display: block; white-space: nowrap; }
.home-hero .hero-lead { max-width: 48ch; }

.orchestration-scene { min-height: 29rem; transform: translateX(3%); }
.orchestration-scene > img {
  top: 1.75rem;
  left: -5%;
  width: 110%;
  opacity: .98;
  filter: drop-shadow(0 2.4rem 3rem rgba(0, 0, 0, .2));
}
.scene-inputs {
  top: 18%;
  left: -1.25rem;
  gap: .75rem;
}
.scene-inputs span {
  position: relative;
  padding: 0 0 0 1rem;
  border: 0;
  color: #aab3ac;
  background: transparent;
  backdrop-filter: none;
  letter-spacing: .05em;
}
.scene-inputs span::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: .45rem;
  height: 1px;
  content: "";
  background: var(--line-dark);
}
.scene-inputs span:nth-child(even) { transform: none; }
.scene-path {
  inset: auto 11% 33% 47%;
  height: 6.5rem;
  border: 0;
  transform: none;
}
.scene-path::before,
.scene-path::after {
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  content: "";
  background: rgba(184, 255, 98, .16);
}
.scene-path::before { top: 0; }
.scene-path::after { top: 2.45rem; background: rgba(168, 175, 255, .16); }
.scene-path i { top: -.2rem; animation-name: sceneResolve; }
.scene-path i:nth-child(2) { top: 2.25rem; background: var(--ai); }
.scene-path i:nth-child(3) { top: 4.75rem; background: var(--human); }
@keyframes sceneResolve {
  0% { transform: translate3d(0, 0, 0); opacity: 0; }
  16% { opacity: 1; }
  82% { transform: translate3d(clamp(5rem, 14vw, 11rem), 0, 0); opacity: 1; }
  100% { transform: translate3d(clamp(5rem, 14vw, 11rem), 0, 0); opacity: 0; }
}
.scene-states {
  right: -.5rem;
  bottom: 17%;
  gap: .5rem;
}
.scene-states span {
  padding: .45rem .55rem;
  border-width: 0 0 0 2px;
  background: rgba(17, 21, 18, .92);
  backdrop-filter: none;
}
.scene-states span.is-active { transform: translateX(-.35rem); }
.scene-caption {
  position: absolute;
  left: 11%;
  bottom: 0;
  margin: 0;
  color: #a5aea7;
  font: .62rem/1.4 "IBM Plex Mono", monospace;
  letter-spacing: .04em;
}

.capability-landscape {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: transparent;
}
.capability-feature,
.capability-feature:first-child,
.capability-feature:nth-child(3) {
  display: grid;
  grid-template-columns: minmax(9rem, .45fr) minmax(0, 1.55fr);
  grid-row: auto;
  min-height: 0;
  width: 82%;
  padding: clamp(2.25rem, 4vw, 4rem) 0;
  overflow: visible;
  border-top: 1px solid var(--line);
  color: var(--text);
  background: transparent;
}
.capability-feature:nth-child(2) { margin-left: 9%; }
.capability-feature:nth-child(3) { margin-left: 18%; }
.capability-feature__label { padding-top: .4rem; }
.capability-feature:nth-child(3) .capability-feature__label { color: var(--muted) !important; }
.capability-feature__body h3,
.capability-feature:first-child .capability-feature__body h3 {
  max-width: 12ch;
  font-size: clamp(2.25rem, 4.1vw, 4.4rem);
}
.capability-feature__body > p { max-width: 54ch; color: var(--muted) !important; }
.capability-feature__trace { display: none; }

.hero-outcome {
  position: relative;
  padding: 1.25rem 0 1.1rem;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}
.hero-outcome > span {
  display: block;
  margin-bottom: 1.1rem;
  color: #8f9992;
  font: .61rem/1.3 "IBM Plex Mono", monospace;
  letter-spacing: .08em;
}
.hero-outcome strong { display: block; max-width: 27rem; font-weight: 530; line-height: 1.35; }
.hero-outcome > p { margin: 1.1rem 0 0; color: var(--muted-dark); font-size: .82rem; }
.hero-outcome__route { display: flex; align-items: center; gap: .35rem; margin-top: 1.45rem; }
.hero-outcome__route::before { width: 72%; height: 1px; content: ""; background: var(--line-dark); }
.hero-outcome__route i { width: .42rem; height: .42rem; border-radius: 50%; background: var(--signal); }
.hero-outcome__route i:nth-child(2) { background: var(--ai); }
.hero-outcome__route i:nth-child(3) { background: var(--human); }

.portfolio-item { border: 0; background: #0c100d; }
.portfolio-stage {
  grid-template-columns: 1.15fr .85fr;
  grid-template-areas: "normeo ops" "market market";
}
.portfolio-item--market {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  align-items: center;
}
.portfolio-item--market > img {
  width: calc(100% - clamp(3rem, 6vw, 6rem));
  margin: clamp(1.5rem, 3vw, 3rem);
  padding: 0;
}
.portfolio-item--market > div { margin-top: 0; padding: clamp(2rem, 4vw, 4rem); }

.evidence-assembly {
  position: absolute;
  z-index: 1;
  top: -4rem;
  right: 0;
  display: grid;
  grid-template-columns: repeat(4, max-content);
  align-items: center;
  gap: .5rem;
  width: 100%;
  height: 3rem;
  opacity: .9;
}
.evidence-assembly span,
.evidence-assembly strong {
  position: relative;
  z-index: 2;
  padding: .55rem .65rem;
  border: 1px solid var(--line-dark);
  color: #b5beb7;
  background: #161c18;
  font: .55rem/1.2 "IBM Plex Mono", monospace;
  letter-spacing: .05em;
}
.evidence-assembly i {
  position: absolute;
  left: .25rem;
  right: .25rem;
  bottom: -.5rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(184,255,98,.18), rgba(168,175,255,.45), rgba(243,186,99,.18));
}
.solution-evidence-art { display: none; }
.contact-state-summary {
  display: grid;
  grid-template-columns: 1rem 1fr;
  gap: .75rem;
  max-width: 34rem;
  margin-top: 2.25rem;
  color: var(--muted-dark);
  font-size: .86rem;
}
.contact-state-summary .status-dot { margin-top: .42rem; }
.page--contact .message-launcher { display: none; }

@media (max-width: 1100px) {
  .home-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(390px, .86fr); gap: 2rem; }
  .home-hero h1 { font-size: clamp(3.35rem, 5.35vw, 4rem); }
  .orchestration-scene { min-height: 25rem; }
}

@media (max-width: 800px) {
  .home-hero { padding-bottom: 4.5rem; }
  .home-hero__grid { grid-template-columns: 1fr; gap: 2.75rem; }
  .home-hero h1 { font-size: clamp(3.6rem, 9.2vw, 4.7rem); }
  .orchestration-scene { width: 100%; min-height: 24rem; transform: none; }
  .orchestration-scene > img { left: -3%; width: 106%; }
  .capability-feature,
  .capability-feature:first-child,
  .capability-feature:nth-child(2),
  .capability-feature:nth-child(3) {
    grid-template-columns: minmax(8rem, .35fr) minmax(0, 1.65fr);
    width: 100%;
    margin-left: 0;
  }
  .hero-outcome { max-width: 34rem; }
  .portfolio-stage { grid-template-columns: 1fr; grid-template-areas: "normeo" "market" "ops"; }
  .portfolio-item--market { grid-template-columns: 1fr; }
  .portfolio-item--market > img { width: calc(100% - 3rem); margin: 1.5rem 1.5rem 0; }
}

@media (max-width: 520px) {
  .home-hero { padding-top: 8.5rem; }
  .home-hero h1 { font-size: clamp(2.25rem, 10.9vw, 3rem); }
  .home-hero .hero-lead { font-size: 1rem; }
  .orchestration-scene { min-height: 19rem; margin-inline: 0; }
  .orchestration-scene > img { top: 1.5rem; left: -14%; width: 128%; }
  .scene-inputs { top: 7%; left: 0; gap: .45rem; }
  .scene-inputs span { font-size: .49rem; }
  .scene-inputs span:nth-child(3) { display: none; }
  .scene-path { inset: auto 12% 31% 45%; height: 5rem; }
  .scene-states { right: 0; bottom: 13%; gap: .28rem; }
  .scene-states span { padding: .35rem .4rem; font-size: .45rem; }
  .scene-caption { left: 0; bottom: 0; font-size: .49rem; }
  .capability-feature,
  .capability-feature:first-child,
  .capability-feature:nth-child(2),
  .capability-feature:nth-child(3) {
    grid-template-columns: 1fr;
    gap: .8rem;
    padding: 2.5rem 0;
  }
  .capability-feature__label { margin-bottom: 0; }
  .capability-feature__body h3,
  .capability-feature:first-child .capability-feature__body h3 { font-size: 2.45rem; }
  .page--contractor-billing-evidence .solution-hero__visual { padding-top: 7rem; }
  .evidence-assembly {
    top: 0;
    right: auto;
    left: 0;
    grid-template-columns: repeat(2, max-content);
    gap: .5rem;
    width: 100%;
    height: 5.5rem;
    opacity: 1;
  }
  .evidence-assembly i { bottom: -.25rem; }
  .message-launcher { width: auto; min-width: 7.2rem; justify-content: center; padding: .7rem .85rem; }
  .message-launcher span:last-child {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  .process-list--methodology li {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 1.8rem 0 1.55rem;
  }
  .method-motif { width: 9rem; height: 3.8rem; justify-self: start; }
  .method-motif--decide i::after { --method-decision-mobile-travel: 7.1rem; }
  @keyframes methodDecisionSignal { 0%,1%,12%,100%{transform:translateX(0);opacity:0} 3%{opacity:.4} 9%{transform:translateX(var(--method-decision-mobile-travel));opacity:.4} 11%{transform:translateX(var(--method-decision-mobile-travel));opacity:0} }
  .method-motif--economics { gap: .38rem; padding-inline: .75rem; }
  .method-motif--economics span { width: .88rem; }
  .method-motif--build i { left: 2.4rem; right: 2.7rem; }
  .method-motif--build span:nth-of-type(4) { width: 2.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .scene-path i { animation: none !important; opacity: 1; }
}

@media (max-width: 340px) {
  .message-launcher { width: auto; min-width: 4.5rem; }
  .message-launcher span:last-child { display: inline; }
  .message-launcher span:last-child { font-size: 0; }
  .message-launcher span:last-child::after { content: "Ask"; font-size: .7rem; }
}

/* V1.3 — deterministic EN/FR and cross-engine presentation */
.icon-arrow {
  width: 1rem;
  height: 1rem;
  flex: none;
}
.icon-arrow--inline { display: inline-block; margin-left: .3rem; vertical-align: -.16em; }
.text-link { display: inline-flex !important; align-items: center; }

.language-switcher {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font: .65rem/1 "IBM Plex Mono", monospace;
  letter-spacing: .06em;
}
.language-switcher a { color: #9fa8a1; text-decoration: none; }
.language-switcher a[aria-current="true"] { color: var(--paper); }
.language-switcher > span { width: 1px; height: .8rem; background: var(--line-dark); }

.icon-close { position: relative; flex: none; appearance: none; -webkit-appearance: none; }
.icon-close i::before,
.icon-close i::after { position: absolute; left: 50%; top: 50%; width: 1rem; height: 1px; content: ""; background: currentColor; }
.icon-close i::before { transform: translate(-50%, -50%) rotate(45deg); }
.icon-close i::after { transform: translate(-50%, -50%) rotate(-45deg); }

.check-icon { position: relative; display: block; width: .8rem; height: .45rem; margin-top: .35rem; border-left: 2px solid #367102; border-bottom: 2px solid #367102; transform: rotate(-45deg); }
.form-success > .check-icon { width: 1.25rem; height: .7rem; margin: 0 0 1.5rem .2rem; border-color: var(--signal-dark); }
.faq-toggle { position: relative; width: 1rem; height: 1rem; flex: none; }
.faq-toggle::before,
.faq-toggle::after { position: absolute; left: 0; top: .5rem; width: 1rem; height: 1px; content: ""; background: currentColor; transition: transform .2s; }
.faq-toggle::after { transform: rotate(90deg); }
.faq-list details[open] .faq-toggle { transform: none; }
.faq-list details[open] .faq-toggle::after { transform: rotate(0); }

.solution-flow__arrow { display: flex; height: 5rem; align-items: center; justify-content: center; padding: 0; }
.solution-flow__arrow i { position: relative; display: block; width: 1px; height: 2.3rem; background: var(--ink); }
.solution-flow__arrow i::after { position: absolute; left: -.25rem; bottom: 0; width: .5rem; height: .5rem; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); content: ""; transform: rotate(45deg); }

/* A real list remains legible even if presentation CSS is unavailable.  This
   also avoids relying on inter-element source whitespace or flex-gap support. */
.transformation-side > h3 {
  margin: 0 0 1.2rem;
  color: var(--muted);
  font: .62rem/1.2 "IBM Plex Mono", monospace;
  letter-spacing: 0;
}
.transformation-side > ul {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.transformation-side li {
  display: block;
  padding: .65rem .75rem;
  border: 1px solid var(--line);
  font-size: .78rem;
  line-height: 1.5;
}
.transformation-side--before li { opacity: .65; transform: rotate(var(--tilt,-1deg)); }
.transformation-side--before li:nth-child(even) { --tilt: 1.5deg; }
.transformation-side--after li { border-color: rgba(17,21,18,.25); background: rgba(184,255,98,.2); }
.before-after.is-visible .transformation-side--before li { animation: frictionSettle .8s var(--ease) both; }
@supports not (gap: 1rem) {
  .transformation-side > ul { margin: -.275rem; }
  .transformation-side li { margin: .275rem; }
}

.field input,
.field select,
.field textarea,
.button,
.nav-toggle,
.explorer-tabs button {
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}
.field select {
  padding-right: 2.5rem;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 1.05rem) 50%, calc(100% - .7rem) 50%;
  background-size: .36rem .36rem, .36rem .36rem;
  background-repeat: no-repeat;
}

@media (max-width: 1100px) and (min-width: 801px) {
  .primary-nav { gap: 1.1rem; }
  .primary-nav__cta { gap: .65rem; }
  html[lang="fr-CA"] .primary-nav { font-size: .77rem; }
}

@media (max-width: 800px) {
  .language-switcher { padding: 1.2rem 0; border-bottom: 1px solid var(--line-dark); font-size: .78rem; }
}

html[lang="fr-CA"] .home-hero h1 { font-size: clamp(3.65rem, 5.05vw, 5.15rem); }
html[lang="fr-CA"] .home-hero .hero-lead { max-width: 52ch; }

@media (min-width: 801px) {
  html[lang="fr-CA"] .orchestration-scene { transform: translateX(8%); }
}

@media (max-width: 800px) {
  html[lang="fr-CA"] .home-hero h1 { font-size: clamp(3rem, 7.8vw, 4rem); }
}

@media (max-width: 520px) {
  html[lang="fr-CA"] .home-hero h1 { font-size: clamp(2rem, 9vw, 2.45rem); }
  .transformation-side li { font-size: .74rem; }
}

@media (max-width: 340px) {
  .message-launcher { min-width: 5.25rem; }
  .message-launcher span:last-child { display: inline; font-size: .64rem; }
  .message-launcher span:last-child::after { content: none; }
}

@media (prefers-reduced-motion: reduce) {
  .before-after.is-visible .transformation-side--before li { animation: none !important; }
}

/* V1.4 — ambient intelligence. Deliberately structural, infrequent and quiet. */
.site-header__inner { position: relative; }
.ambient-route {
  position: relative;
  height: 1.25rem;
  pointer-events: none;
}
.ambient-route__line {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: currentColor;
  opacity: .11;
}
.ambient-route__node,
.ambient-route__signal {
  position: absolute;
  top: calc(50% - 2px);
  width: 5px;
  height: 5px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: var(--ink);
  opacity: .26;
}
.ambient-route__node:nth-of-type(2) { left: 0; }
.ambient-route__node:nth-of-type(3) { left: 46%; }
.ambient-route__node:nth-of-type(4) { right: 0; }
.ambient-route__signal {
  left: 0;
  border: 0;
  background: var(--signal);
  box-shadow: 0 0 .55rem rgba(184,255,98,.42);
  opacity: 0;
}
.ambient-route.is-running .ambient-route__signal { animation: ambientRoute 1.8s var(--ease) both; }
@keyframes ambientRoute {
  0% { left: 0; opacity: 0; }
  12%, 82% { opacity: .62; }
  100% { left: calc(100% - 5px); opacity: 0; }
}
.ambient-route--header {
  position: absolute;
  right: clamp(14rem, 22vw, 22rem);
  bottom: -7px;
  width: clamp(8rem, 13vw, 13rem);
  color: var(--paper);
  opacity: .62;
}

.ambient-transition { position: relative; }
.ambient-transition::after {
  position: absolute;
  z-index: 2;
  left: max(var(--gutter), calc((100% - var(--shell)) / 2));
  bottom: -2.5rem;
  width: 1px;
  height: 5rem;
  content: "";
  background: linear-gradient(to bottom, rgba(17,21,18,.15) 0 50%, rgba(245,242,233,.14) 50% 100%);
}
.ambient-transition::before {
  position: absolute;
  z-index: 3;
  left: calc(max(var(--gutter), calc((100% - var(--shell)) / 2)) - 3px);
  bottom: -3px;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(17,21,18,.28);
  border-radius: 50%;
  content: "";
  background: var(--fog);
}

.site-footer { padding-top: 0; }
.footer-signature {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(16rem, 1.22fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: end;
  padding-block: clamp(4rem, 7vw, 6.5rem);
  border-bottom: 1px solid var(--line-dark);
}
.footer-signature > div:first-child { display: grid; gap: 1.65rem; align-items: start; }
.footer-signature h2 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(2rem, 3.4vw, 3.75rem);
}
.footer-signature .button { width: max-content; }
.ambient-route--footer {
  width: 100%;
  margin-bottom: 1.2rem;
  color: var(--paper);
}
.ambient-route--footer::after {
  position: absolute;
  right: 18%;
  top: 50%;
  width: 1px;
  height: clamp(2rem, 4vw, 4rem);
  content: "";
  background: var(--line-dark);
}
.site-footer__top { padding-top: clamp(3rem, 5vw, 5rem); }
.language-switcher--footer { margin-top: .8rem; padding-top: .75rem; border-top: 1px solid var(--line-dark); }

@media (max-width: 800px) {
  .ambient-route--header { right: 6.5rem; width: 5.5rem; opacity: .45; }
  .footer-signature { grid-template-columns: 1fr; gap: 2.5rem; }
  .ambient-route--footer { margin-bottom: 0; }
  .language-switcher--footer { padding: .75rem 0 0; border-bottom: 0; }
}

@media (max-width: 520px) {
  .ambient-transition::after, .ambient-transition::before { display: none; }
  .footer-signature { padding-block: 3.5rem; }
  .footer-signature h2 { max-width: 11ch; font-size: 2.35rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ambient-route.is-running .ambient-route__signal { animation: none !important; }
  .ambient-route__signal { display: none; }
}

/* Bounded motion refinement — manual inputs drift; controlled outputs stay anchored. */
.transformation-side--before li {
  --base-tilt: -.55deg;
  --tilt-a: -.72deg;
  --tilt-b: -.38deg;
  --tilt-c: -.64deg;
  --tilt-j1: -.78deg;
  --tilt-j2: -.34deg;
  --settle-tilt: -.08deg;
  --x-a: 1px;
  --y-a: -1px;
  --x-b: -1px;
  --y-b: 1px;
  --x-c: 1px;
  --y-c: 0px;
  --x-j1: -1px;
  --y-j1: 0px;
  --x-j2: 1px;
  --y-j2: 0px;
  transform: translate3d(0, 0, 0) rotate(var(--base-tilt));
}
.transformation-side--before li:nth-child(1) { animation-duration: 6.7s; animation-delay: -2.1s; }
.transformation-side--before li:nth-child(2) {
  --base-tilt: .72deg; --tilt-a: .94deg; --tilt-b: .48deg; --tilt-c: .82deg;
  --tilt-j1: .46deg; --tilt-j2: .98deg; --settle-tilt: .1deg;
  --x-a: -2px; --y-a: 0px; --x-b: 1px; --y-b: -1px; --x-c: -1px; --y-c: 1px;
  --x-j1: 1px; --x-j2: -1px;
  animation-duration: 7.9s; animation-delay: -5.4s;
}
.transformation-side--before li:nth-child(3) {
  --base-tilt: -.28deg; --tilt-a: -.38deg; --tilt-b: -.16deg; --tilt-c: -.34deg;
  --tilt-j1: -.3deg; --tilt-j2: -.2deg; --settle-tilt: -.04deg;
  --x-a: 1px; --y-a: 0px; --x-b: -1px; --y-b: 0px; --x-c: 2px; --y-c: 0px;
  --x-j1: 0px; --x-j2: 0px;
  animation-duration: 5.8s; animation-delay: -1.2s;
}
.transformation-side--before li:nth-child(4) {
  --base-tilt: 1deg; --tilt-a: 1.38deg; --tilt-b: .62deg; --tilt-c: 1.2deg;
  --tilt-j1: .48deg; --tilt-j2: 1.45deg; --settle-tilt: .12deg;
  --x-a: -3px; --y-a: 1px; --x-b: 3px; --y-b: -1px; --x-c: -2px; --y-c: 2px;
  --x-j1: 3px; --y-j1: -1px; --x-j2: -2px; --y-j2: 1px;
  animation-duration: 4.7s; animation-delay: -3.7s;
}
.transformation-side--before li:nth-child(5) {
  --base-tilt: -.78deg; --tilt-a: -1.12deg; --tilt-b: -.44deg; --tilt-c: -.94deg;
  --tilt-j1: -.3deg; --tilt-j2: -1.18deg; --settle-tilt: -.1deg;
  --x-a: 3px; --y-a: -1px; --x-b: -2px; --y-b: 2px; --x-c: 2px; --y-c: 1px;
  --x-j1: -2px; --y-j1: 1px; --x-j2: 2px; --y-j2: -1px;
  animation-duration: 6.1s; animation-delay: -4.4s;
}
.transformation-side--before li:nth-child(6) {
  --base-tilt: 1.18deg; --tilt-a: 1.62deg; --tilt-b: .68deg; --tilt-c: 1.42deg;
  --tilt-j1: .48deg; --tilt-j2: 1.7deg; --settle-tilt: .14deg;
  --x-a: -4px; --y-a: 2px; --x-b: 3px; --y-b: -2px; --x-c: -3px; --y-c: 2px;
  --x-j1: 4px; --y-j1: -1px; --x-j2: -3px; --y-j2: 1px;
  animation-duration: 8.4s; animation-delay: -6.8s;
}

.before-after.is-visible .transformation-side--before li {
  animation-name: manualFriction;
  animation-timing-function: cubic-bezier(.45, .05, .35, 1);
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}

@keyframes manualFriction {
  0%, 13%, 100% { transform: translate3d(0, 0, 0) rotate(var(--base-tilt)); }
  23% { transform: translate3d(var(--x-a), var(--y-a), 0) rotate(var(--tilt-a)); }
  37% { transform: translate3d(var(--x-b), var(--y-b), 0) rotate(var(--tilt-b)); }
  48%, 55% { transform: translate3d(0, 0, 0) rotate(var(--settle-tilt)); }
  66% { transform: translate3d(var(--x-c), var(--y-c), 0) rotate(var(--tilt-c)); }
  77% { transform: translate3d(0, 0, 0) rotate(var(--base-tilt)); }
  84% { transform: translate3d(var(--x-j1), var(--y-j1), 0) rotate(var(--tilt-j1)); }
  87% { transform: translate3d(var(--x-j2), var(--y-j2), 0) rotate(var(--tilt-j2)); }
  91% { transform: translate3d(0, 0, 0) rotate(var(--base-tilt)); }
}

.transformation-core i { --core-travel: 7.55rem; }
.transformation-core i::before {
  position: absolute;
  left: 0;
  top: -.17rem;
  width: .34rem;
  height: .34rem;
  border-radius: 50%;
  content: "";
  background: var(--signal-dark);
  opacity: 0;
}
.before-after.is-visible .transformation-core i::before {
  animation: transformationSignal 16s var(--ease) infinite;
}
@keyframes transformationSignal {
  0%, 8% { transform: translate3d(0, 0, 0); opacity: 0; }
  11% { opacity: .34; }
  22% { transform: translate3d(var(--core-travel), 0, 0); opacity: .34; }
  25%, 100% { transform: translate3d(var(--core-travel), 0, 0); opacity: 0; }
}

/* The output never moves: a quiet, ordered light confirmation communicates control. */
.transformation-side--after li { animation-duration: 16s; animation-iteration-count: infinite; animation-fill-mode: both; }
.transformation-side--after li:nth-child(1) { animation-delay: 3.25s; }
.transformation-side--after li:nth-child(2) { animation-delay: 3.85s; }
.transformation-side--after li:nth-child(3) { animation-delay: 4.45s; }
.transformation-side--after li:nth-child(4) { animation-delay: 5.05s; }
.transformation-side--after li:nth-child(5) { animation-delay: 5.65s; }
.transformation-side--after li:nth-child(6) { animation-delay: 6.25s; }
.before-after.is-visible .transformation-side--after li { animation-name: controlledConfirm; }
.before-after.is-visible .transformation-side--after li:nth-child(6) { animation-name: controlledResolve; }

@keyframes controlledConfirm {
  0%, 100% {
    border-color: rgba(17,21,18,.25);
    background-color: rgba(184,255,98,.2);
    box-shadow: 0 0 0 0 rgba(184,255,98,0);
  }
  1.25% {
    border-color: rgba(50,82,25,.34);
    background-color: rgba(184,255,98,.23);
    box-shadow: 0 0 0 1px rgba(184,255,98,.025);
  }
  3.25% {
    border-color: rgba(50,82,25,.5);
    background-color: rgba(184,255,98,.29);
    box-shadow: 0 0 0 3px rgba(184,255,98,.06), 0 7px 18px rgba(46,71,25,.07);
  }
  5.5% {
    border-color: rgba(17,21,18,.25);
    background-color: rgba(184,255,98,.2);
    box-shadow: 0 0 0 0 rgba(184,255,98,0);
  }
}

@keyframes controlledResolve {
  0%, 100% {
    border-color: rgba(17,21,18,.25);
    background-color: rgba(184,255,98,.2);
    box-shadow: 0 0 0 0 rgba(184,255,98,0);
  }
  1.25% {
    border-color: rgba(50,82,25,.38);
    background-color: rgba(184,255,98,.24);
  }
  3.25%, 6.25% {
    border-color: rgba(50,82,25,.56);
    background-color: rgba(184,255,98,.31);
    box-shadow: 0 0 0 3px rgba(184,255,98,.07), 0 8px 20px rgba(46,71,25,.08);
  }
  8% {
    border-color: rgba(17,21,18,.25);
    background-color: rgba(184,255,98,.2);
    box-shadow: 0 0 0 0 rgba(184,255,98,0);
  }
}

@media (max-width: 800px) {
  .transformation-core i { --core-travel: calc(100vw - 2.85rem); }
}

@media (max-width: 520px) {
  .before-after.is-visible .transformation-core i::before,
  .transformation-side--after li { animation-duration: 18s; }
  .transformation-side--before li {
    --base-tilt: -.2deg; --tilt-a: -.3deg; --tilt-b: -.12deg; --tilt-c: -.24deg;
    --tilt-j1: -.32deg; --tilt-j2: -.1deg; --settle-tilt: -.02deg;
    --x-a: 1px; --y-a: -1px; --x-b: -1px; --y-b: 1px; --x-c: 1px; --y-c: 0px;
    --x-j1: -1px; --y-j1: 0px; --x-j2: 1px; --y-j2: 0px;
  }
  .transformation-side--before li:nth-child(even) {
    --base-tilt: .28deg; --tilt-a: .38deg; --tilt-b: .14deg; --tilt-c: .32deg;
    --tilt-j1: .12deg; --tilt-j2: .4deg; --settle-tilt: .03deg;
    --x-a: -1px; --y-a: 0px; --x-b: 1px; --y-b: -1px; --x-c: -1px; --y-c: 1px;
    --x-j1: 1px; --y-j1: -1px; --x-j2: -1px; --y-j2: 1px;
  }
  .transformation-side--before li:nth-child(4),
  .transformation-side--before li:nth-child(5),
  .transformation-side--before li:nth-child(6) {
    --x-a: -2px; --x-b: 1px; --x-c: -1px; --x-j1: 2px; --x-j2: -1px;
  }
  @keyframes controlledConfirm {
    0%, 100%, 5.5% { border-color: rgba(17,21,18,.25); background-color: rgba(184,255,98,.2); box-shadow: none; }
    1.25% { border-color: rgba(50,82,25,.31); background-color: rgba(184,255,98,.22); box-shadow: none; }
    3.25% { border-color: rgba(50,82,25,.43); background-color: rgba(184,255,98,.26); box-shadow: 0 0 0 2px rgba(184,255,98,.035); }
  }
  @keyframes controlledResolve {
    0%, 100%, 8% { border-color: rgba(17,21,18,.25); background-color: rgba(184,255,98,.2); box-shadow: none; }
    1.25% { border-color: rgba(50,82,25,.34); background-color: rgba(184,255,98,.23); box-shadow: none; }
    3.25%, 6.25% { border-color: rgba(50,82,25,.47); background-color: rgba(184,255,98,.27); box-shadow: 0 0 0 2px rgba(184,255,98,.04); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .before-after.is-visible .transformation-side--before li,
  .before-after.is-visible .transformation-side--after li,
  .before-after.is-visible .transformation-core i::before {
    animation: none !important;
  }
  .transformation-core i::before { display: none; }
  .method-motif *,
  .method-motif *::before,
  .method-motif *::after { animation: none !important; }
}
