@font-face {
  font-family: "Instrument Sans Variable";
  src: url("./assets/instrument-sans-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-stretch: 75% 100%;
  font-display: swap;
  unicode-range: U+0000-00ff, U+0131, U+0152-0153, U+02bb-02bc, U+02c6, U+02da, U+02dc, U+0304,
    U+0308, U+0329, U+2000-206f, U+20ac, U+2122, U+2191, U+2193, U+2212, U+2215, U+feff, U+fffd;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("./assets/ibm-plex-mono-latin.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0000-00ff, U+0131, U+0152-0153, U+02bb-02bc, U+02c6, U+02da, U+02dc, U+0304,
    U+0308, U+0329, U+2000-206f, U+20ac, U+2122, U+2191, U+2193, U+2212, U+2215, U+feff, U+fffd;
}

:root {
  color-scheme: dark;
  --ink: #090b0c;
  --ink-raised: #101315;
  --ink-soft: #171b1d;
  --paper: #f2f3ef;
  --paper-soft: rgba(242, 243, 239, 0.85);
  --paper-muted: rgba(242, 243, 239, 0.64);
  --hairline: rgba(242, 243, 239, 0.14);
  --signal: #b8d99a;
  --signal-ink: #15200f;
  --danger: #d8796f;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-40: 40px;
  --space-64: 64px;
  --space-96: 96px;
  --space-144: 144px;
  --space-192: 192px;
  --nav-height: 64px;
  --page-gutter: clamp(20px, 4vw, 72px);
  --content-max: 1600px;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-move: cubic-bezier(0.77, 0, 0.175, 1);
  font-family: "Instrument Sans Variable", "Avenir Next", "Segoe UI", sans-serif;
  background: var(--ink);
  color: var(--paper);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  min-width: 0;
}

html {
  background: var(--ink);
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--nav-height) + var(--space-24));
  scrollbar-color: var(--signal) var(--ink);
  scrollbar-width: thin;
}

body {
  min-height: 100%;
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: inherit;
  font-synthesis: none;
  overflow-x: clip;
  overflow-wrap: anywhere;
  text-rendering: optimizeLegibility;
}

body::before {
  position: fixed;
  z-index: 60;
  inset: 0;
  background-image: radial-gradient(circle at 22% 31%, var(--paper) 0 0.45px, transparent 0.55px),
    radial-gradient(circle at 71% 68%, var(--paper) 0 0.35px, transparent 0.5px);
  background-position: 0 0, 1px 2px;
  background-size: 3px 3px, 5px 5px;
  content: "";
  opacity: 0.018;
  pointer-events: none;
}

main {
  overflow-x: clip;
}

::selection {
  background: var(--signal);
  color: var(--signal-ink);
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--ink);
}

::-webkit-scrollbar-thumb {
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: var(--signal);
}

a {
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

button {
  font: inherit;
}

:focus-visible {
  outline: 2px solid var(--signal);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: max(var(--space-12), env(safe-area-inset-top));
  left: max(var(--space-12), env(safe-area-inset-left));
  min-height: 44px;
  padding: var(--space-12) var(--space-16);
  background: var(--paper);
  color: var(--ink);
  font-weight: 600;
  text-decoration: none;
  transform: translateY(-180%);
  transition: transform 160ms var(--ease-out);
}

.skip-link:focus-visible {
  transform: translateY(0);
}

.site-header {
  --nav-inquiry-background: transparent;
  --nav-inquiry-border: var(--hairline);
  --nav-inquiry-foreground: var(--paper);
  position: fixed;
  z-index: 80;
  inset: 0 0 auto;
  height: calc(var(--nav-height) + env(safe-area-inset-top));
  border-bottom: 1px solid var(--hairline);
  padding: env(safe-area-inset-top) max(var(--page-gutter), env(safe-area-inset-right)) 0
    max(var(--page-gutter), env(safe-area-inset-left));
  background: rgba(9, 11, 12, 0.72);
  box-shadow: 0 24px 80px rgba(3, 10, 8, 0.34);
  -webkit-backdrop-filter: blur(18px) saturate(115%);
  backdrop-filter: blur(18px) saturate(115%);
  transition: background-color 220ms var(--ease-out), border-color 220ms var(--ease-out),
    box-shadow 220ms var(--ease-out);
}

.enhanced .site-header {
  border-bottom-color: transparent;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-header[data-nav-state="raised"] {
  --nav-inquiry-background: var(--signal);
  --nav-inquiry-border: var(--signal);
  --nav-inquiry-foreground: var(--signal-ink);
  border-bottom-color: var(--hairline);
  background: rgba(9, 11, 12, 0.72);
  box-shadow: 0 24px 80px rgba(3, 10, 8, 0.34);
  -webkit-backdrop-filter: blur(18px) saturate(115%);
  backdrop-filter: blur(18px) saturate(115%);
}

.site-nav {
  display: flex;
  width: min(100%, var(--content-max));
  height: var(--nav-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-24);
  margin-inline: auto;
}

.wordmark,
.nav-anchor,
.nav-inquiry {
  text-decoration: none;
}

.wordmark {
  display: inline-flex;
  min-height: 44px;
  flex: 0 0 auto;
  align-items: center;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: -0.025em;
}

.nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(var(--space-8), 1.5vw, var(--space-24));
  font-size: 0.8125rem;
}

.nav-anchor {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--paper-muted);
  transition: color 160ms var(--ease-out);
}

.language-toggle,
.nav-inquiry {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  padding: var(--space-12) var(--space-16);
  white-space: nowrap;
  transition: transform 140ms var(--ease-out), background-color 160ms var(--ease-out),
    border-color 160ms var(--ease-out), color 160ms var(--ease-out);
}

.language-toggle {
  display: none;
  background: transparent;
  color: var(--paper);
  cursor: pointer;
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 0.75rem;
}

.enhanced .language-toggle {
  display: inline-flex;
}

.nav-inquiry {
  border-color: var(--nav-inquiry-border);
  background: var(--nav-inquiry-background);
  color: var(--nav-inquiry-foreground);
  font-weight: 650;
}

.language-toggle:active,
.nav-inquiry:active,
.primary-action:active {
  transform: scale(0.97);
}

.scene {
  position: relative;
  display: grid;
  min-height: 100svh;
  align-items: center;
  border-bottom: 1px solid var(--hairline);
  padding: clamp(var(--space-96), 14vh, var(--space-192))
    max(var(--page-gutter), env(safe-area-inset-right)) clamp(var(--space-64), 10vh, var(--space-144))
    max(var(--page-gutter), env(safe-area-inset-left));
  isolation: isolate;
  overflow-x: clip;
  scroll-margin-top: var(--nav-height);
}

.scene-inner {
  position: relative;
  z-index: 3;
  display: grid;
  width: min(100%, var(--content-max));
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(var(--space-16), 2vw, var(--space-40));
  row-gap: var(--space-40);
  margin-inline: auto;
}

h1,
h2,
h3,
p,
dl,
dd {
  margin-block-start: 0;
}

h1,
h2,
h3,
dt {
  text-wrap: balance;
}

h1 {
  max-width: 9.5ch;
  margin-block-end: 0;
  font-size: clamp(4rem, 10.4vw, 10.5rem);
  font-stretch: 90%;
  font-weight: 520;
  letter-spacing: -0.065em;
  line-height: 0.86;
}

h2 {
  max-width: 11ch;
  margin-block-end: 0;
  font-size: clamp(2.6rem, 6.5vw, 7rem);
  font-stretch: 94%;
  font-weight: 500;
  letter-spacing: -0.048em;
  line-height: 0.94;
}

h3,
dt {
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  font-weight: 600;
}

p,
dd {
  color: var(--paper-soft);
  font-size: clamp(1rem, 0.5vw + 0.88rem, 1.125rem);
  line-height: 1.68;
  text-wrap: pretty;
}

.brand-line,
.support-line {
  margin-block-end: 0;
  color: var(--paper-muted);
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-transform: uppercase;
}

.editorial-copy > p,
.hero-body {
  max-width: 34em;
}

.primary-action {
  display: inline-flex;
  width: fit-content;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: var(--space-16);
  border: 1px solid var(--signal);
  border-radius: 999px;
  padding: var(--space-12) var(--space-24);
  background: var(--signal);
  color: var(--signal-ink);
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 140ms var(--ease-out), background-color 160ms var(--ease-out),
    border-color 160ms var(--ease-out), color 160ms var(--ease-out);
}

.hero {
  min-height: max(100svh, 44rem);
  align-items: end;
  padding-top: calc(var(--nav-height) + clamp(var(--space-96), 16vh, var(--space-192)));
  padding-bottom: clamp(var(--space-64), 9vh, var(--space-96));
  background: var(--ink);
}

.hero::before {
  position: absolute;
  z-index: -1;
  inset: 0 max(var(--page-gutter), env(safe-area-inset-right)) 0
    max(var(--page-gutter), env(safe-area-inset-left));
  background-image: linear-gradient(to right, transparent calc(100% - 1px), var(--hairline) 100%);
  background-size: calc(100% / 12) 100%;
  content: "";
  opacity: 0.3;
  pointer-events: none;
}

.hero::after {
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 1px;
  background: var(--hairline);
  content: "";
}

.hero-signal,
.hero-static-signal,
.hero-boundary {
  position: absolute;
  pointer-events: none;
}

.hero-static-signal {
  z-index: 0;
  top: -5%;
  bottom: -4%;
  left: 28%;
  width: 84vw;
  opacity: 0.42;
}

.hero-static-signal svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.hero-static-signal path {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.hero-noise-lines {
  stroke: var(--paper);
  stroke-width: 0.65;
  opacity: 0.17;
}

.hero-signal-line {
  stroke: var(--signal);
  stroke-width: 1.2;
  opacity: 0.72;
}

.hero-signal {
  z-index: 1;
  top: -4%;
  left: 31%;
  width: 80vw;
  height: 108%;
  opacity: 0.72;
}

.hero-boundary {
  z-index: 2;
  top: -7%;
  right: -3vw;
  width: min(40vw, 640px);
  height: 114%;
  fill: none;
  stroke: var(--signal);
  stroke-width: 1;
  opacity: 0.42;
}

.hero-boundary path:last-child {
  stroke: var(--paper-muted);
  opacity: 0.48;
}

.hero-copy {
  z-index: 4;
  align-items: end;
}

.hero-copy > .brand-line {
  --hero-delay: 40ms;
  grid-column: 1 / span 3;
}

.hero-copy > h1 {
  --hero-delay: 100ms;
  grid-column: 1 / span 9;
}

.hero-copy > .hero-body {
  --hero-delay: 170ms;
  grid-column: 1 / span 5;
  margin-block-end: 0;
}

.hero-copy > .primary-action {
  --hero-delay: 240ms;
  grid-column: 1 / span 3;
  margin-top: var(--space-8);
}

.hero-copy > .support-line {
  --hero-delay: 310ms;
  grid-column: 1 / span 7;
  margin-top: calc(var(--space-8) * -1);
}

.manifesto {
  min-height: 110svh;
  border-bottom-color: rgba(9, 11, 12, 0.16);
  background: var(--paper);
  color: var(--ink);
}

.manifesto::before,
.manifesto::after {
  position: absolute;
  z-index: 0;
  content: "";
  pointer-events: none;
}

.manifesto::before {
  top: 50%;
  right: 0;
  left: 0;
  height: 1px;
  background: rgba(9, 11, 12, 0.14);
}

.manifesto::after {
  top: 0;
  bottom: 0;
  left: 66.666%;
  width: 1px;
  background: rgba(9, 11, 12, 0.14);
}

.manifesto .editorial-copy {
  align-items: end;
}

.manifesto h2 {
  grid-row: 1;
  grid-column: 1 / span 8;
  max-width: 8.6ch;
  font-size: clamp(4.25rem, 9.5vw, 9.75rem);
  letter-spacing: -0.06em;
  line-height: 0.88;
  text-indent: -0.04em;
}

.manifesto .editorial-copy > p {
  grid-row: 1;
  grid-column: 9 / -1;
  align-self: end;
  margin-block-end: var(--space-8);
  border-top: 1px solid rgba(21, 32, 15, 0.72);
  padding-top: var(--space-24);
  color: rgba(9, 11, 12, 0.72);
}

.method {
  min-height: 168svh;
  align-items: start;
  background: var(--ink);
}

.method-layout {
  align-items: start;
}

.method-lead {
  position: sticky;
  top: calc(var(--nav-height) + var(--space-64));
  display: grid;
  height: calc(100svh - var(--nav-height) - var(--space-96));
  grid-column: 1 / span 5;
  align-content: center;
}

.method-lead h2 {
  position: relative;
  z-index: 2;
  max-width: 8.5ch;
}

.method-orbit {
  width: min(100%, 520px);
  margin-top: calc(var(--space-40) * -1);
  margin-left: clamp(0px, 5vw, var(--space-64));
  overflow: visible;
}

.method-orbit-rail,
.method-orbit-signal {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.method-orbit-rail {
  stroke: var(--hairline);
  stroke-width: 1;
}

.method-orbit-signal {
  stroke: var(--signal);
  stroke-width: 1.4;
  stroke-dasharray: 0.24 0.76;
  stroke-dashoffset: var(--orbit-offset, 0);
  transition: stroke-dashoffset 220ms var(--ease-move);
}

.method[data-active-stage="observe"] {
  --orbit-offset: 0;
}

.method[data-active-stage="verify"] {
  --orbit-offset: -0.24;
}

.method[data-active-stage="bound"] {
  --orbit-offset: -0.48;
}

.method[data-active-stage="act"] {
  --orbit-offset: -0.72;
}

.method-sequence {
  display: block;
  grid-column: 7 / -1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.method-sequence li {
  --method-title-color: var(--paper-muted);
  --method-body-color: var(--paper-muted);
  position: relative;
  display: grid;
  min-height: 39svh;
  align-content: center;
  border-top: 1px solid var(--hairline);
  padding: var(--space-40) 0 var(--space-40) clamp(var(--space-40), 5vw, var(--space-96));
  opacity: 1;
  transition: border-color 180ms var(--ease-out), opacity 180ms var(--ease-out);
}

.method-sequence li:last-child {
  border-bottom: 1px solid var(--hairline);
}

.method-sequence li::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--space-24);
  height: 1px;
  background: var(--paper-muted);
  content: "";
  transform: translateY(-50%);
  transition: width 180ms var(--ease-out), background-color 180ms var(--ease-out);
}

.method-sequence h3 {
  margin-block: 0 var(--space-12);
  color: var(--method-title-color);
  font-size: clamp(2.2rem, 4vw, 4.75rem);
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.method-sequence p {
  max-width: 25em;
  margin-block-end: 0;
  color: var(--method-body-color);
}

.method:not([data-active-stage]) .method-sequence li:first-child,
.method[data-active-stage="observe"] [data-stage="observe"],
.method[data-active-stage="verify"] [data-stage="verify"],
.method[data-active-stage="bound"] [data-stage="bound"],
.method[data-active-stage="act"] [data-stage="act"],
.method-sequence li.is-active,
.method-sequence li[aria-current="step"] {
  --method-title-color: var(--paper);
  --method-body-color: var(--paper-soft);
  border-top-color: rgba(184, 217, 154, 0.6);
  opacity: 1;
}

.method:not([data-active-stage]) .method-sequence li:first-child::before,
.method[data-active-stage="observe"] [data-stage="observe"]::before,
.method[data-active-stage="verify"] [data-stage="verify"]::before,
.method[data-active-stage="bound"] [data-stage="bound"]::before,
.method[data-active-stage="act"] [data-stage="act"]::before,
.method-sequence li.is-active::before,
.method-sequence li[aria-current="step"]::before {
  width: var(--space-40);
  background: var(--signal);
}

.risk {
  min-height: 112svh;
  background: var(--ink-soft);
}

.risk-composition {
  position: absolute;
  z-index: 0;
  inset: -9% -8vw -10% 18%;
  pointer-events: none;
}

.risk-composition svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.risk-path,
.risk-boundary {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.risk-path {
  stroke: var(--paper-muted);
  stroke-width: 0.8;
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
}

.risk-path-middle {
  opacity: 0.58;
}

.risk-path-inner {
  opacity: 0.28;
}

.risk-boundary {
  stroke: var(--signal);
  stroke-width: 1.2;
  opacity: 0.72;
}

.risk-node {
  fill: var(--signal);
}

.enhanced .risk:not(.is-visible) .risk-path,
.enhanced .risk:not(.is-visible) .risk-boundary {
  stroke-dashoffset: 1;
}

.enhanced .risk.is-visible .risk-path,
.enhanced .risk.is-visible .risk-boundary {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 900ms var(--ease-out);
}

.enhanced .risk.is-visible .risk-path-middle {
  transition-delay: 80ms;
}

.enhanced .risk.is-visible .risk-path-inner,
.enhanced .risk.is-visible .risk-boundary {
  transition-delay: 160ms;
}

.risk .editorial-copy {
  align-content: center;
}

.risk h2,
.risk .editorial-copy > p,
.risk .support-line {
  grid-column: 1 / span 5;
}

.risk .editorial-copy > p {
  margin-block-end: 0;
}

.risk .support-line {
  max-width: 34em;
  margin-top: var(--space-24);
  border-left: 1px solid var(--signal);
  padding-left: var(--space-16);
  color: var(--paper-soft);
  letter-spacing: 0.02em;
  text-transform: none;
}

.principles {
  min-height: 122svh;
  background: var(--ink);
}

.principles .scene-inner {
  align-content: center;
}

.principles .editorial-copy {
  position: relative;
  z-index: 3;
  display: grid;
  grid-column: 1 / span 6;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: clamp(var(--space-16), 2vw, var(--space-40));
}

.principles .editorial-copy h2,
.principles .editorial-copy p {
  grid-column: 1 / -1;
}

.principles .editorial-copy p {
  margin-block-end: 0;
}

.principle-sequence {
  position: relative;
  z-index: 2;
  display: block;
  grid-column: 3 / -1;
  margin: var(--space-64) 0 0;
}

.principle-sequence > div {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(12rem, 1fr);
  align-items: end;
  border-top: 1px solid var(--hairline);
  padding-top: var(--space-16);
}

.principle-sequence > div + div {
  margin-top: calc(var(--space-40) * -1);
}

.principle-sequence > div:nth-child(2) {
  margin-left: 8%;
}

.principle-sequence > div:nth-child(3) {
  margin-left: 17%;
}

.principle-sequence dt {
  margin: 0;
  color: var(--paper);
  font-size: clamp(4.5rem, 9.4vw, 9.5rem);
  font-stretch: 88%;
  font-weight: 500;
  letter-spacing: -0.065em;
  line-height: 0.78;
}

.principle-sequence > div:nth-child(2) dt {
  color: var(--paper-muted);
}

@supports (-webkit-text-stroke: 1px var(--paper)) {
  .principle-sequence > div:nth-child(2) dt {
    color: transparent;
    -webkit-text-stroke: 1px rgba(242, 243, 239, 0.42);
  }
}

.principle-sequence > div:nth-child(3) dt {
  color: var(--signal);
}

.principle-item dd {
  max-width: 17em;
  margin: 0 0 var(--space-8) var(--space-24);
  color: var(--paper);
  font-weight: 400;
  opacity: 0.64;
  transform: translateX(0);
  transition: opacity 180ms var(--ease-out), transform 180ms var(--ease-out);
}

.principle-sequence:not([data-active-principle]) .principle-item.is-active dd,
.principle-sequence[data-active-principle="clarity"] [data-principle="clarity"] dd,
.principle-sequence[data-active-principle="discipline"] [data-principle="discipline"] dd,
.principle-sequence[data-active-principle="adaptation"] [data-principle="adaptation"] dd {
  font-weight: 500;
  opacity: 1;
  transform: translateX(-12px);
}

.inquiry {
  min-height: 100svh;
  background: var(--ink-raised);
}

.inquiry h2 {
  grid-row: 1;
  grid-column: 1 / span 9;
  max-width: 11ch;
}

.inquiry .editorial-copy > p {
  grid-row: 2;
  grid-column: 1 / span 5;
  margin-block-end: 0;
}

.inquiry .primary-action {
  grid-row: 2;
  grid-column: 8 / -1;
  align-self: start;
  justify-self: end;
}

.inquiry-action {
  gap: var(--space-24);
}

.inquiry-email {
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  font-weight: 400;
}

.site-footer {
  position: relative;
  display: grid;
  grid-template-columns: 1fr minmax(16rem, 34em);
  gap: var(--space-40);
  border-top: 1px solid var(--hairline);
  padding: var(--space-40) max(var(--page-gutter), env(safe-area-inset-right))
    max(var(--space-40), env(safe-area-inset-bottom)) max(var(--page-gutter), env(safe-area-inset-left));
  background: var(--ink);
}

.site-footer::before {
  position: absolute;
  top: -1px;
  left: max(var(--page-gutter), env(safe-area-inset-left));
  width: var(--space-96);
  height: 1px;
  background: var(--signal);
  content: "";
}

.site-footer p {
  margin: 0;
  color: var(--paper-muted);
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 0.6875rem;
  line-height: 1.7;
}

.enhanced .scene [data-reveal] {
  opacity: 1;
  transform: translateY(18px);
  transition: transform 760ms var(--ease-out);
}

.enhanced .scene.is-visible [data-reveal] {
  opacity: 1;
  transform: translateY(0);
}

.enhanced .hero [data-reveal] {
  transform: none;
  transition: none;
}

.enhanced .hero-copy > * {
  animation-name: hero-assemble;
  animation-duration: 820ms;
  animation-delay: var(--hero-delay);
  animation-fill-mode: both;
  animation-timing-function: var(--ease-out);
}

@keyframes scene-reveal {
  from {
    opacity: 1;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes hero-assemble {
  from {
    transform: translateY(18px);
  }

  to {
    transform: translateY(0);
  }
}

@supports (animation-timeline: view()) {
  .enhanced .scene [data-reveal] {
    opacity: 1;
    transform: translateY(0);
    animation-name: scene-reveal;
    animation-duration: 1ms;
    animation-fill-mode: both;
    animation-timing-function: linear;
    animation-timeline: view();
    animation-range: entry 10% cover 32%;
    transition: none;
  }

  .enhanced .hero [data-reveal] {
    animation: none;
    transform: none;
  }
}

@media (hover: hover) and (pointer: fine) {
  .hero-signal {
    pointer-events: auto;
  }

  .nav-anchor:hover {
    color: var(--paper);
  }

  .language-toggle:hover {
    border-color: rgba(184, 217, 154, 0.72);
    background: rgba(184, 217, 154, 0.08);
  }

  .primary-action:hover,
  .nav-inquiry:hover {
    transform: translateY(-1px);
  }

  .primary-action:hover {
    background: var(--paper);
    border-color: var(--paper);
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .scene-inner {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .hero::before {
    background-size: calc(100% / 8) 100%;
  }

  .hero-copy > .brand-line {
    grid-column: 1 / span 2;
  }

  .hero-copy > h1 {
    grid-column: 1 / span 7;
  }

  .hero-copy > .hero-body {
    grid-column: 1 / span 4;
  }

  .hero-copy > .primary-action {
    grid-column: 1 / span 3;
  }

  .hero-copy > .support-line {
    grid-column: 1 / span 6;
  }

  .hero-static-signal {
    left: 36%;
    width: 80vw;
  }

  .hero-signal {
    left: 38%;
    width: 78vw;
  }

  .hero-boundary {
    width: min(46vw, 540px);
  }

  .manifesto h2 {
    grid-column: 1 / span 6;
  }

  .manifesto .editorial-copy > p {
    grid-column: 6 / -1;
  }

  .method {
    min-height: 156svh;
  }

  .method-lead {
    grid-column: 1 / span 3;
  }

  .method-sequence {
    grid-column: 4 / -1;
  }

  .method-sequence li {
    min-height: 36svh;
  }

  .risk h2,
  .risk .editorial-copy > p,
  .risk .support-line {
    grid-column: 1 / span 4;
  }

  .principles .editorial-copy {
    grid-column: 1 / span 5;
  }

  .principle-sequence {
    grid-column: 2 / -1;
  }

  .principle-sequence > div {
    grid-template-columns: minmax(0, 2.4fr) minmax(11rem, 1fr);
  }

  .inquiry h2 {
    grid-column: 1 / span 7;
  }

  .inquiry .editorial-copy > p {
    grid-column: 1 / span 4;
  }

  .inquiry .primary-action {
    grid-column: 5 / -1;
  }
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: calc(var(--nav-height) + var(--space-16));
  }

  .site-nav {
    gap: var(--space-12);
  }

  .nav-actions {
    gap: var(--space-8);
  }

  .nav-anchor {
    display: none;
  }

  .scene {
    padding-top: calc(var(--nav-height) + var(--space-64));
    padding-bottom: var(--space-96);
  }

  .scene-inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-24);
  }

  h1 {
    max-width: 9ch;
    font-size: clamp(3.5rem, 16vw, 6rem);
    line-height: 0.88;
  }

  h2 {
    font-size: clamp(2.9rem, 12vw, 5.5rem);
  }

  p,
  dd {
    font-size: 1rem;
    line-height: 1.7;
  }

  .hero {
    min-height: max(100svh, 42rem);
    padding-bottom: var(--space-64);
  }

  .hero::before {
    right: var(--page-gutter);
    left: var(--page-gutter);
    border-right: 1px solid var(--hairline);
    border-left: 1px solid var(--hairline);
    background-image: none;
  }

  .hero-copy > .brand-line,
  .hero-copy > h1,
  .hero-copy > .hero-body,
  .hero-copy > .primary-action,
  .hero-copy > .support-line {
    grid-column: 1;
  }

  .hero-copy > .hero-body {
    max-width: 30em;
  }

  .hero-copy > .support-line {
    margin-top: 0;
  }

  .hero-static-signal {
    top: -2%;
    bottom: 22%;
    left: 6%;
    width: 122vw;
    opacity: 0.34;
  }

  .hero-noise-lines path:nth-child(n + 6) {
    display: none;
  }

  .hero-signal {
    top: 0;
    left: 10%;
    width: 118vw;
    height: 80%;
    opacity: 0.48;
  }

  .hero-boundary {
    top: -2%;
    right: -20vw;
    width: 74vw;
    height: 82%;
    opacity: 0.3;
  }

  .manifesto {
    min-height: 100svh;
  }

  .manifesto::before {
    top: 58%;
  }

  .manifesto::after {
    display: none;
  }

  .manifesto h2,
  .manifesto .editorial-copy > p {
    grid-row: auto;
    grid-column: 1;
  }

  .manifesto h2 {
    max-width: 9ch;
    font-size: clamp(3.5rem, 13.6vw, 6rem);
  }

  .manifesto .editorial-copy > p {
    width: min(100%, 30em);
    margin-top: var(--space-40);
  }

  .method {
    min-height: 100svh;
    align-items: center;
  }

  .method-lead {
    position: relative;
    top: auto;
    height: auto;
    grid-column: 1;
  }

  .method-orbit {
    width: min(78vw, 320px);
    margin-top: calc(var(--space-24) * -1);
    margin-left: auto;
  }

  .method-sequence {
    grid-column: 1;
    margin-top: var(--space-40);
  }

  .method-sequence li {
    min-height: 0;
    padding: var(--space-40) 0 var(--space-40) var(--space-40);
    opacity: 1;
  }

  .method-sequence h3 {
    font-size: clamp(2rem, 10vw, 3.25rem);
  }

  .risk {
    min-height: 100svh;
  }

  .risk-composition {
    inset: 16% -62vw -14% 10%;
    opacity: 0.66;
  }

  .risk h2,
  .risk .editorial-copy > p,
  .risk .support-line {
    grid-column: 1;
  }

  .risk h2 {
    max-width: 8ch;
  }

  .principles {
    min-height: 100svh;
  }

  .principles .editorial-copy,
  .principle-sequence {
    grid-column: 1;
  }

  .principles .editorial-copy {
    grid-template-columns: 1fr;
  }

  .principle-sequence {
    margin-top: var(--space-40);
  }

  .principle-sequence > div {
    grid-template-columns: 1fr;
    padding-top: var(--space-24);
  }

  .principle-sequence > div + div {
    margin-top: calc(var(--space-16) * -1);
  }

  .principle-sequence > div:nth-child(2) {
    margin-left: 4%;
  }

  .principle-sequence > div:nth-child(3) {
    margin-left: 8%;
  }

  .principle-sequence dt {
    font-size: clamp(3.55rem, 17vw, 6.25rem);
    line-height: 0.82;
  }

  .principle-sequence dd {
    margin: var(--space-16) 0 0;
  }

  .inquiry h2,
  .inquiry .editorial-copy > p,
  .inquiry .primary-action {
    grid-row: auto;
    grid-column: 1;
  }

  .inquiry .primary-action {
    justify-self: start;
    margin-top: var(--space-16);
  }

  .site-footer {
    grid-template-columns: 1fr;
    gap: var(--space-24);
  }
}

@media (max-width: 419px) {
  .wordmark {
    font-size: 0.875rem;
  }

  .nav-actions {
    gap: 6px;
  }

  .language-toggle,
  .nav-inquiry {
    min-height: 44px;
    padding-inline: var(--space-12);
    font-size: 0.6875rem;
  }

  h1 {
    font-size: clamp(3.1rem, 17vw, 4.25rem);
  }

  .hero .primary-action,
  .inquiry-action {
    width: 100%;
  }

  .inquiry-action {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-8);
    white-space: normal;
  }
}

html[lang="zh"] body {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
    "Noto Sans SC", sans-serif;
  font-size: 16px;
}

html[lang="zh"] .language-toggle,
html[lang="zh"] .brand-line,
html[lang="zh"] .support-line,
html[lang="zh"] .site-footer p {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
    "Noto Sans SC", "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

html[lang="zh"] .primary-action,
html[lang="zh"] .nav-inquiry {
  font-weight: 600;
}

html[lang="zh"] h1,
html[lang="zh"] h2,
html[lang="zh"] h3,
html[lang="zh"] dt,
html[lang="zh"] p,
html[lang="zh"] dd {
  letter-spacing: 0;
}

html[lang="zh"] h1 {
  max-width: 8em;
  font-weight: 500;
  line-height: 1.05;
}

html[lang="zh"] h2,
html[lang="zh"] .manifesto h2,
html[lang="zh"] .principle-sequence dt {
  font-weight: 500;
  line-height: 1.08;
  text-indent: 0;
}

html[lang="zh"] p,
html[lang="zh"] dd {
  font-size: 16px;
  line-height: 1.75;
}

html[lang="zh"] .brand-line,
html[lang="zh"] .support-line {
  letter-spacing: 0;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .enhanced .scene [data-reveal],
  .enhanced .scene.is-visible [data-reveal] {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }

  .enhanced .hero-copy > * {
    animation: none;
    transform: none;
  }

  .hero-static-signal {
    opacity: 0.52;
  }

  .method-orbit-signal,
  .method-sequence li,
  .method-sequence li::before,
  .risk-path,
  .risk-boundary {
    transition: none;
  }

  .principle-item dd {
    transform: none;
    transition: opacity 120ms linear;
  }

  .enhanced .risk:not(.is-visible) .risk-path,
  .enhanced .risk:not(.is-visible) .risk-boundary {
    stroke-dashoffset: 0;
  }

  .language-toggle,
  .nav-inquiry,
  .primary-action {
    transition: background-color 120ms linear, border-color 120ms linear, color 120ms linear;
  }

  .language-toggle:active,
  .nav-inquiry:active,
  .primary-action:active {
    transform: none;
  }
}
