@font-face {
  font-family: "IBM Plex Sans";
  src: url("/assets/fonts/IBMPlexSans-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("/assets/fonts/IBMPlexSans-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("/assets/fonts/IBMPlexSans-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/assets/fonts/IBMPlexMono-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --paper: #dfe6e8;
  --void: #111b21;
  --graphite: #172126;
  --ink-muted: #59696f;
  --bridge: #75858b;
  --night-ink: #e4ebed;
  --line: rgba(23, 33, 38, .18);
  --line-dark: rgba(255, 255, 255, .2);
  --cyan: #16c7d9;
  --cyan-soft: #9ceaf2;
  --copper: #e87541;
  --green: #63c7a0;
  --edge: clamp(24px, 5.55vw, 92px);
  --header-height: 86px;
  --section-progress: .5;
}

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

html {
  color: var(--graphite);
  background: var(--void);
  font-family: "IBM Plex Sans", Arial, sans-serif;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

body { margin: 0; overflow-x: clip; }
body.menu-open { overflow: hidden; }
main, section, header, footer { display: block; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 5px;
}

::selection { color: var(--void); background: var(--cyan-soft); }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  color: var(--void);
  background: var(--cyan);
  font: 12px/1 "IBM Plex Mono", monospace;
  transform: translateY(-200%);
}

.skip-link:focus { transform: none; }

.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--edge);
  color: var(--graphite);
  transition: color .3s ease, background-color .3s ease, border-color .3s ease;
}

.site-header::after {
  content: "";
  position: absolute;
  right: var(--edge);
  bottom: 0;
  left: var(--edge);
  height: 1px;
  background: currentColor;
  opacity: 0;
  transition: opacity .3s ease;
}

.site-header.is-scrolled::after { opacity: .12; }
.site-header[data-tone="dark"] { color: var(--night-ink); background: rgba(17, 27, 33, .76); backdrop-filter: blur(18px); }
.site-header[data-tone="light"] { color: var(--graphite); background: rgba(223, 230, 232, .78); backdrop-filter: blur(18px); }
.site-header[data-tone="hero"] { color: var(--graphite); }

.brand {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  width: clamp(128px, 9.8vw, 164px);
  height: 48px;
}

.brand img, .footer-brand img { width: 100%; height: auto; }

.primary-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.25vw, 40px);
  font: 500 10px/1.2 "IBM Plex Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.primary-nav a {
  position: relative;
  text-decoration: none;
  white-space: nowrap;
}

.primary-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 1px;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .25s ease;
}

.primary-nav a:hover::after,
.primary-nav a:focus-visible::after,
.primary-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.primary-nav .language-link { color: var(--cyan); }
.motion-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 9px;
  color: inherit;
  background: rgba(255, 255, 255, .04);
  border: 1px solid currentColor;
  border-radius: 999px;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  opacity: .72;
}
.motion-toggle:hover,
.motion-toggle:focus-visible { opacity: 1; }
.motion-toggle:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.motion-toggle strong { color: var(--cyan); font: inherit; }
.motion-toggle__signal { width: 5px; height: 5px; background: currentColor; border-radius: 50%; box-shadow: 0 0 8px currentColor; }
.js:not(.motion-enabled) .motion-toggle__signal { background: transparent; box-shadow: inset 0 0 0 1px currentColor; }
.site-header[data-tone="hero"] .motion-toggle { color: #fff; border-color: rgba(255, 255, 255, .54); text-shadow: 0 1px 10px rgba(0, 0, 0, .72); }
.site-header.is-scrolled[data-tone="hero"] .motion-toggle { color: inherit; border-color: currentColor; text-shadow: none; }
.site-header[data-tone="hero"] .primary-nav a:nth-child(2),
.site-header[data-tone="hero"] .primary-nav a:nth-child(3),
.site-header[data-tone="hero"] .primary-nav a:nth-child(4) {
  color: #fff;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .72);
}
.site-header.is-scrolled[data-tone="hero"] { background: rgba(223, 230, 232, .82); backdrop-filter: blur(18px); }
.site-header.is-scrolled[data-tone="hero"] .primary-nav a:nth-child(2),
.site-header.is-scrolled[data-tone="hero"] .primary-nav a:nth-child(3),
.site-header.is-scrolled[data-tone="hero"] .primary-nav a:nth-child(4) { color: inherit; text-shadow: none; }
.nav-toggle { display: none; }

.section-index,
.thesis__index,
.visual-disclosure,
.method__counter,
.method__readout,
.research-hero__rail,
.research-teaser__visual span {
  font: 10px/1.45 "IBM Plex Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.section-index { margin: 0 0 clamp(32px, 5vh, 60px); color: var(--ink-muted); }
.section-index span { margin-right: 22px; color: var(--cyan); }

.hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: var(--paper);
  isolation: isolate;
}

.hero__art,
.route-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero__art {
  background:
    radial-gradient(ellipse 42% 38% at 67% 52%, rgba(121, 224, 235, .22), transparent 70%),
    linear-gradient(108deg, #dfe6e8 0 42%, #87989f 65%, #111b21 100%);
}
.hero::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 17, 22, .9) 0%, rgba(7, 17, 22, .72) 33%, rgba(7, 17, 22, .28) 49%, transparent 67%);
  pointer-events: none;
}

.hero__art,
.evidence__media,
.authority__art,
.research-teaser__visual,
.research-hero__visual,
.closing__art { isolation: isolate; }

.hero__art::before,
.evidence__media::before,
.authority__art::before,
.research-teaser__visual::before,
.research-hero__visual::before,
.closing__art::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -18%;
  pointer-events: none;
  will-change: transform, opacity;
}

.flow-field {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .98;
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 7px rgba(48, 220, 234, .38));
}

.flow-field--light { opacity: .78; mix-blend-mode: multiply; filter: none; }
.flow-field--mixed { opacity: .92; mix-blend-mode: normal; filter: none; }

.hero__art::before {
  background:
    radial-gradient(ellipse 35% 14% at 63% 53%, rgba(22, 199, 217, .34), transparent 66%),
    radial-gradient(ellipse 25% 42% at 70% 48%, rgba(151, 200, 255, .25), transparent 72%),
    conic-gradient(from 265deg at 62% 53%, transparent 0 35deg, rgba(255, 255, 255, .24) 50deg, transparent 69deg 360deg);
  mix-blend-mode: screen;
  opacity: .52;
  filter: blur(18px);
  animation: field-drift 11s cubic-bezier(.45, 0, .55, 1) infinite alternate;
}

.route-overlay--mobile { display: none; }

.route-overlay { z-index: 2; pointer-events: none; }

.hero__content {
  position: relative;
  z-index: 4;
  width: min(55vw, 920px);
  padding: clamp(150px, 22vh, 220px) 0 70px var(--edge);
}

.hero h1,
.thesis h2,
.method h2,
.evidence h2,
.authority h2,
.research-teaser h2,
.closing h2,
.research-hero h1,
.research-index h2,
.publication-standard h2,
.research-types h2,
.research-contact h2,
.error-view h1 {
  margin: 0;
  font-weight: 300;
  letter-spacing: -.055em;
}

.hero h1 { font-size: clamp(58px, 5.5vw, 96px); line-height: .92; text-wrap: balance; }
.hero__lead {
  width: min(44vw, 660px);
  margin: clamp(34px, 5.5vh, 58px) 0 0;
  font-size: clamp(14px, 1vw, 17px);
  line-height: 1.55;
}

.contact-state {
  display: flex;
  align-items: center;
  gap: 14px;
  width: fit-content;
  margin: clamp(32px, 5vh, 54px) 0 0;
  padding-top: 13px;
  border-top: 1px solid rgba(11, 15, 20, .35);
  font: 11px/1.35 "IBM Plex Mono", monospace;
  text-decoration: none;
}

.contact-state::before { content: ""; width: 6px; height: 6px; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 14px var(--cyan); }
.contact-state span { letter-spacing: .02em; }
.contact-state small { color: var(--ink-muted); font-size: 9px; text-transform: uppercase; }
.visual-disclosure { position: absolute; z-index: 5; right: var(--edge); bottom: 27px; color: rgba(255, 255, 255, .54); }

.thesis {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: var(--header-height) var(--edge) 8vh;
  overflow: hidden;
  background: var(--paper);
}

.thesis__index { position: absolute; top: calc(var(--header-height) + 8vh); left: var(--edge); color: var(--ink-muted); }
.thesis__index span { display: block; margin-bottom: 10px; color: var(--cyan); }
.thesis__copy { position: relative; z-index: 5; width: min(63vw, 960px); }
.thesis h2 { font-size: clamp(52px, 6.2vw, 99px); line-height: .92; }
.thesis h2 span { color: #879198; }
.thesis__copy > p { width: min(410px, 40vw); margin: 54px 0 0; font-size: 15px; line-height: 1.65; }
.thesis__void {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: max(-20vw, -330px);
  width: clamp(430px, 48vw, 780px);
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  background: var(--void);
  transform: translate3d(calc((var(--section-progress) - .5) * 9vw), -50%, 0);
  box-shadow: -38px 0 90px rgba(11, 15, 20, .08);
}
.thesis__void span { position: absolute; top: 42%; left: 0; width: 32%; height: 17%; border-radius: 50%; background: rgba(22, 199, 217, .22); filter: blur(28px); }
.thesis__void::before {
  content: "";
  position: absolute;
  inset: -20%;
  background: conic-gradient(from 190deg at 30% 50%, transparent, rgba(22, 199, 217, .18), transparent 26%, rgba(107, 157, 255, .08), transparent 56%);
  filter: blur(24px);
  animation: void-current 12s ease-in-out infinite alternate;
}
.thesis__void span { animation: void-breathe 6s ease-in-out infinite; }

.method { position: relative; overflow: clip; color: var(--night-ink); background: var(--void); }
.method__intro {
  position: sticky;
  z-index: 7;
  top: 0;
  left: var(--edge);
  height: 0;
  width: min(570px, 42vw);
  padding-top: clamp(116px, 13vh, 146px);
  opacity: var(--route-progress, 1);
  pointer-events: none;
}
.method__intro .section-index { margin-bottom: 26px; color: rgba(255, 255, 255, .55); }
.method__intro h2 { font-size: clamp(50px, 5vw, 80px); line-height: .92; }
.method__intro > p:last-child { width: min(430px, 35vw); margin: 25px 0 0; color: rgba(255, 255, 255, .66); font-size: 14px; line-height: 1.55; }
.method__scroll { position: relative; height: 430svh; }
.method__stage { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.method__visual, .method__camera, .method-route { position: absolute; inset: 0; width: 100%; height: 100%; }
.method__visual {
  z-index: 1;
  margin: 0;
  overflow: hidden;
  background:
    radial-gradient(ellipse 34% 25% at 61% 51%, rgba(24, 124, 147, .28), transparent 72%),
    linear-gradient(105deg, #111b21 0%, #15272f 54%, #0f171c 100%);
}
.method__camera {
  z-index: 1;
  transform: translate3d(var(--camera-x, -4%), 0, 0) scale(1.06);
  transform-origin: center;
  will-change: transform;
}
.method-route { overflow: visible; opacity: .34; mix-blend-mode: screen; filter: blur(.2px); pointer-events: none; }
.method-route__base { fill: none; stroke: rgba(185, 239, 244, .16); stroke-width: 1; vector-effect: non-scaling-stroke; }
.method-route__animated {
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  vector-effect: non-scaling-stroke;
}
.method-route__mapped { stroke: rgba(72, 215, 225, .48); }
.method-route__verified { stroke: rgba(173, 246, 250, .72); }
.method-route__risk { stroke: rgba(255, 126, 67, .48); }
.method-route__retest { stroke: rgba(84, 207, 165, .58); }
.method-route__nodes { fill: rgba(173, 246, 250, .72); opacity: .08; filter: drop-shadow(0 0 12px rgba(82, 222, 234, .55)); }
.method-route__control { fill: rgba(255, 126, 67, .08); stroke: rgba(255, 126, 67, .55); stroke-width: 1.4; opacity: .22; filter: drop-shadow(0 0 14px rgba(255, 126, 67, .42)); vector-effect: non-scaling-stroke; }
.method__visual::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -25%;
  background:
    linear-gradient(102deg, transparent 24%, rgba(22, 199, 217, .05) 39%, rgba(189, 246, 255, .21) 48%, rgba(22, 199, 217, .08) 54%, transparent 68%),
    radial-gradient(ellipse 20% 42% at 61% 51%, rgba(22, 199, 217, .2), transparent 70%);
  mix-blend-mode: screen;
  filter: blur(17px);
  pointer-events: none;
  will-change: transform, opacity;
  animation: route-current 7.5s cubic-bezier(.45, 0, .55, 1) infinite;
}
.method__visual::after { content: ""; position: absolute; z-index: 3; inset: 0; background: linear-gradient(180deg, rgba(17, 27, 33, .36) 0%, transparent 32%, transparent 57%, rgba(17, 27, 33, .88) 86%); pointer-events: none; }
.method__rail {
  position: absolute;
  z-index: 6;
  right: var(--edge);
  bottom: clamp(46px, 5.8vh, 68px);
  left: var(--edge);
}
.method__counter { position: absolute; right: 0; top: -44px; color: rgba(255, 255, 255, .5); }
.method__counter span:first-child { color: var(--cyan); }
.method__steps, .method__copies {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 2.6vw, 48px);
  padding: 0;
  margin: 0;
}
.method__steps { list-style: none; }
.method__steps li {
  padding-top: 11px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  color: rgba(255, 255, 255, .62);
  font: 10px/1.3 "IBM Plex Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: color .25s ease, border-color .25s ease;
}
.method__steps li span { margin-right: 14px; }
.method__steps li.is-active { color: var(--cyan); border-color: rgba(255, 255, 255, .22); text-shadow: 0 0 16px rgba(22, 199, 217, .36); }
.method__steps li:nth-child(3).is-active { color: var(--copper); border-color: rgba(255, 255, 255, .22); text-shadow: 0 0 16px rgba(255, 112, 54, .3); }
.method__steps li:nth-child(4).is-active { color: var(--green); border-color: rgba(255, 255, 255, .22); text-shadow: 0 0 16px rgba(54, 196, 141, .28); }
.method__copies { margin-top: 16px; }
.method-copy { min-width: 0; opacity: .6; transition: opacity .3s ease, transform .3s ease; transform: translateY(5px); }
.method-copy.is-active { opacity: 1; transform: none; }
.method-copy__verb { margin: 0 0 10px; color: var(--cyan); font: 500 clamp(16px, 1.35vw, 22px)/1 "IBM Plex Sans", sans-serif; }
.method-copy__verb--copper { color: var(--copper); }
.method-copy__verb--green { color: var(--green); }
.method-copy h3 { margin: 0; font-size: clamp(14px, 1vw, 17px); font-weight: 400; line-height: 1.25; }
.method-copy > p:last-child { margin: 11px 0 0; color: rgba(255, 255, 255, .72); font-size: clamp(10px, .76vw, 12px); line-height: 1.45; }
.method__readout { position: absolute; z-index: 6; right: var(--edge); top: 31%; display: flex; flex-direction: column; align-items: flex-end; gap: 7px; color: rgba(255, 255, 255, .64); }
.method__readout strong { color: var(--cyan); font-weight: 400; }
.method__readout strong[data-state="2"] { color: var(--copper); }
.method__readout strong[data-state="3"] { color: var(--green); }
.method__visual figcaption { position: absolute; z-index: 6; right: var(--edge); top: calc(31% + 48px); color: rgba(255, 255, 255, .5); font: 9px/1.4 "IBM Plex Mono", monospace; }
.method__triggers { position: absolute; inset: 0; display: grid; grid-template-rows: repeat(4, 1fr); pointer-events: none; }

.evidence {
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: stretch;
  overflow: hidden;
  background: var(--paper);
}
.evidence__media { position: relative; min-height: 100svh; margin: 0; overflow: hidden; background: radial-gradient(ellipse 44% 26% at 65% 50%, rgba(58, 167, 184, .14), transparent 72%), var(--paper); }
.evidence__media::before {
  background:
    radial-gradient(ellipse 32% 10% at 68% 50%, rgba(22, 199, 217, .34), transparent 70%),
    repeating-linear-gradient(90deg, transparent 0 7%, rgba(127, 208, 255, .055) 8%, transparent 9% 14%);
  mix-blend-mode: multiply;
  filter: blur(12px);
  opacity: .45;
  animation: evidence-converge 8.5s ease-in-out infinite alternate;
}
.evidence__media figcaption { position: absolute; z-index: 5; right: 7%; bottom: 30px; left: var(--edge); color: rgba(23, 33, 38, .62); font: 9px/1.5 "IBM Plex Mono", monospace; }
.evidence__media figcaption span { color: var(--cyan); }
.evidence__copy { position: relative; z-index: 5; align-self: center; width: min(610px, 43vw); padding: 12vh var(--edge) 8vh 7%; }
.evidence h2 { font-size: clamp(60px, 5.8vw, 94px); line-height: .9; }
.evidence__lead { width: min(470px, 36vw); margin: 33px 0 45px; color: var(--ink-muted); font-size: 14px; line-height: 1.6; }
.evidence__language { margin: 0; border-top: 1px solid var(--line); }
.evidence__language > div { display: grid; grid-template-columns: minmax(100px, .7fr) 1.8fr; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.evidence__language dt { font-size: 17px; }
.evidence__language dd { margin: 0; color: var(--ink-muted); font-size: 12px; line-height: 1.55; }
.evidence__language .is-retested dt { color: var(--green); }

.authority {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  color: var(--night-ink);
  background: var(--void);
}
.authority__art { position: absolute; inset: 0; width: 100%; height: 100%; background: radial-gradient(ellipse 46% 26% at 65% 51%, rgba(26, 125, 147, .24), transparent 72%), linear-gradient(105deg, #111b21, #13262e 55%, #0f171c); }
.authority__art::before {
  background:
    linear-gradient(96deg, transparent 18%, rgba(22, 199, 217, .04) 35%, rgba(22, 199, 217, .2) 51%, rgba(255, 255, 255, .08) 58%, transparent 75%),
    radial-gradient(ellipse 24% 14% at 68% 51%, rgba(22, 199, 217, .24), transparent 72%);
  mix-blend-mode: screen;
  filter: blur(16px);
  opacity: .72;
  animation: authority-stream 9s ease-in-out infinite alternate;
}
.authority__heading { position: relative; z-index: 5; padding: clamp(116px, 14vh, 150px) var(--edge) 0; }
.authority__heading .section-index { margin-bottom: 30px; color: rgba(255, 255, 255, .5); }
.authority h2 { font-size: clamp(58px, 5.8vw, 94px); line-height: .89; }
.authority h2 span { color: rgba(255, 255, 255, .45); }
.authority__heading > p:last-child { margin: 30px 0 0; color: var(--cyan); font-size: 14px; }
.authority__boundary { position: absolute; z-index: 5; right: var(--edge); top: 51%; width: 35%; text-align: right; }
.authority__boundary span { display: inline-block; color: rgba(144, 235, 241, .68); text-shadow: 0 0 14px rgba(22, 199, 217, .4); font: 9px/1 "IBM Plex Mono", monospace; letter-spacing: .1em; }
.authority__principles {
  position: absolute;
  z-index: 5;
  right: var(--edge);
  bottom: 8vh;
  left: var(--edge);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 3vw, 54px);
  padding: 0;
  margin: 0;
  list-style: none;
}
.authority__principles li { padding-top: 14px; border-top: 1px solid var(--line-dark); }
.authority__principles span { color: var(--cyan); font: 10px/1 "IBM Plex Mono", monospace; }
.authority__principles p { max-width: 250px; margin: 18px 0 0; color: rgba(255, 255, 255, .66); font-size: 12px; line-height: 1.5; }

.research-teaser {
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template-columns: 40% 60%;
  overflow: hidden;
  background: var(--paper);
}
.research-teaser__masthead { position: relative; z-index: 5; padding: 14vh 0 8vh var(--edge); }
.research-teaser h2 { font-size: clamp(64px, 6.4vw, 104px); line-height: .84; }
.research-teaser__masthead > p:last-child { width: min(390px, 30vw); margin: 32px 0 0; color: var(--ink-muted); font-size: 14px; line-height: 1.6; }
.research-teaser__visual { position: absolute; inset: 0; margin: 0; background: radial-gradient(ellipse 42% 28% at 73% 51%, rgba(72, 173, 191, .16), transparent 72%), linear-gradient(108deg, var(--paper) 0 46%, #87989f 72%, #111b21 100%); }
.research-teaser__visual::before,
.research-hero__visual::before {
  background:
    radial-gradient(ellipse 30% 12% at 74% 51%, rgba(22, 199, 217, .32), transparent 68%),
    conic-gradient(from 256deg at 71% 51%, transparent 0 37deg, rgba(255, 255, 255, .18) 51deg, transparent 67deg 360deg);
  mix-blend-mode: screen;
  filter: blur(17px);
  opacity: .55;
  animation: research-flow 10.5s cubic-bezier(.45, 0, .55, 1) infinite alternate;
}
.research-teaser__visual span { position: absolute; z-index: 5; right: var(--edge); bottom: 30px; color: rgba(255, 255, 255, .68); text-shadow: 0 1px 8px rgba(0, 0, 0, .7); }
.research-teaser__index { position: relative; z-index: 5; align-self: end; grid-column: 1; width: min(470px, 34vw); padding: 0 0 8vh var(--edge); }
.research-teaser__status { margin: 0 0 13px; color: var(--cyan); font: 10px/1.3 "IBM Plex Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.research-teaser__index > p:nth-child(2) { width: 90%; margin: 0 0 25px; color: var(--ink-muted); font-size: 12px; line-height: 1.55; }
.research-teaser__index ul { display: grid; gap: 0; padding: 0; margin: 0 0 24px; border-top: 1px solid var(--line); list-style: none; }
.research-teaser__index li { display: grid; grid-template-columns: 58px 1fr; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 11px; line-height: 1.35; }
.research-teaser__index li span:first-child { color: var(--cyan); font: 9px/1.5 "IBM Plex Mono", monospace; letter-spacing: .07em; }
.text-cta { display: inline-flex; gap: 20px; padding-bottom: 8px; border-bottom: 1px solid currentColor; color: var(--cyan); font: 10px/1.3 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.text-cta span { transition: transform .2s ease; }
.text-cta:hover span { transform: translate(3px, -3px); }
.text-cta--dark { color: var(--graphite); }

.closing {
  position: relative;
  min-height: 92svh;
  overflow: hidden;
  color: var(--night-ink);
  background: var(--void);
}
.closing__art, .closing__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.closing__art { background: radial-gradient(ellipse 48% 24% at 42% 32%, rgba(24, 126, 148, .25), transparent 72%), linear-gradient(110deg, #111b21, #14272f 58%, #0f171c); }
.closing__art::before {
  background:
    linear-gradient(96deg, transparent 10%, rgba(22, 199, 217, .08) 29%, rgba(162, 224, 255, .23) 44%, transparent 63%),
    radial-gradient(ellipse 35% 12% at 40% 27%, rgba(22, 199, 217, .22), transparent 73%);
  mix-blend-mode: screen;
  filter: blur(15px);
  opacity: .65;
  animation: closing-current 12s ease-in-out infinite alternate;
}
.closing__shade { background: linear-gradient(90deg, rgba(17, 27, 33, .62), transparent 65%); }
.closing__copy { position: absolute; z-index: 5; left: var(--edge); bottom: 12vh; }
.closing__copy .section-index { margin-bottom: 34px; color: rgba(255, 255, 255, .5); }
.closing h2 { font-size: clamp(64px, 7vw, 112px); line-height: .87; }
.contact-status { display: inline-block; margin: 34px 0 0; color: var(--cyan); font: 14px/1.5 "IBM Plex Mono", monospace; letter-spacing: .02em; text-decoration: none; overflow-wrap: anywhere; }
.contact-state:hover,
.contact-status:hover { color: var(--night-ink); text-decoration: underline; text-underline-offset: .28em; }
.contact-note { margin: 12px 0 0; color: rgba(255, 255, 255, .45); font-size: 11px; }

/* Low-glare tonal bridges join each light/dark chapter without a hard luminance cut. */
.thesis::after,
.method::after,
.evidence::after,
.authority::after,
.research-teaser::after,
.research-index::after,
.publication-standard::after,
.research-types::after {
  content: "";
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 0;
  left: 0;
  height: clamp(76px, 11svh, 124px);
  background: linear-gradient(180deg, transparent 0%, rgba(117, 133, 139, .22) 48%, var(--bridge) 100%);
  pointer-events: none;
}

.method::before,
.evidence::before,
.authority::before,
.research-teaser::before,
.closing::before,
.publication-standard::before,
.research-types::before,
.research-contact::before {
  content: "";
  position: absolute;
  z-index: 4;
  top: 0;
  right: 0;
  left: 0;
  height: clamp(76px, 11svh, 124px);
  background: linear-gradient(180deg, var(--bridge) 0%, rgba(117, 133, 139, .22) 52%, transparent 100%);
  pointer-events: none;
}

.site-footer {
  min-height: 135px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 4vw;
  padding: 30px var(--edge);
  color: rgba(255, 255, 255, .48);
  background: var(--void);
  border-top: 1px solid rgba(255, 255, 255, .12);
  font: 9px/1.5 "IBM Plex Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.site-footer__identity { display: flex; align-items: center; gap: 24px; }
.footer-brand { display: inline-flex; width: 130px; }
.site-footer a { color: var(--cyan); text-decoration: none; }

/* Research index */
.research-hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template-columns: 46% 54%;
  align-items: center;
  overflow: hidden;
  background: var(--paper);
}
.research-hero__copy { position: relative; z-index: 3; padding: var(--header-height) 0 4vh var(--edge); }
.research-hero h1 { font-size: clamp(64px, 6.5vw, 106px); line-height: .88; }
.research-hero__copy > p:last-child { width: min(520px, 36vw); margin: 34px 0 0; color: var(--ink-muted); font-size: 14px; line-height: 1.6; }
.research-hero__visual { position: absolute; inset: 0; margin: 0; background: radial-gradient(ellipse 42% 28% at 73% 51%, rgba(72, 173, 191, .16), transparent 72%), linear-gradient(108deg, var(--paper) 0 46%, #87989f 72%, #111b21 100%); }
.research-hero__visual span { position: absolute; z-index: 3; right: var(--edge); bottom: 31px; color: rgba(255, 255, 255, .72); text-shadow: 0 1px 8px rgba(0, 0, 0, .7); font: 9px/1 "IBM Plex Mono", monospace; letter-spacing: .1em; }

@keyframes field-drift {
  0% { transform: translate3d(-5%, -2%, 0) scale(.98) rotate(-1deg); opacity: .24; }
  50% { transform: translate3d(2%, 1%, 0) scale(1.06) rotate(.6deg); opacity: .48; }
  100% { transform: translate3d(7%, -1%, 0) scale(1.01) rotate(-.3deg); opacity: .32; }
}

@keyframes signal-breathe {
  0%, 100% { opacity: .24; filter: drop-shadow(0 0 3px rgba(22, 199, 217, .35)); }
  50% { opacity: .52; filter: drop-shadow(0 0 10px rgba(22, 199, 217, .72)); }
}

@keyframes void-current {
  0% { transform: translate3d(-7%, 3%, 0) rotate(-7deg) scale(.96); opacity: .34; }
  100% { transform: translate3d(9%, -2%, 0) rotate(8deg) scale(1.08); opacity: .66; }
}

@keyframes void-breathe {
  0%, 100% { transform: translateX(-8%) scale(.82); opacity: .34; }
  50% { transform: translateX(18%) scale(1.18); opacity: .68; }
}

@keyframes route-current {
  0% { transform: translate3d(-24%, 2%, 0) scaleX(.82); opacity: .16; }
  44% { opacity: .62; }
  100% { transform: translate3d(26%, -2%, 0) scaleX(1.08); opacity: .22; }
}

@keyframes evidence-converge {
  0% { transform: translate3d(-10%, 0, 0) scaleX(1.16); opacity: .16; }
  100% { transform: translate3d(12%, 0, 0) scaleX(.74); opacity: .44; }
}

@keyframes authority-stream {
  0% { transform: translate3d(-14%, 1%, 0) scaleX(.88); opacity: .27; }
  100% { transform: translate3d(15%, -1%, 0) scaleX(1.1); opacity: .6; }
}

@keyframes research-flow {
  0% { transform: translate3d(-7%, -3%, 0) rotate(-1deg) scale(.98); opacity: .26; }
  100% { transform: translate3d(8%, 3%, 0) rotate(1deg) scale(1.08); opacity: .5; }
}

@keyframes closing-current {
  0% { transform: translate3d(-15%, -2%, 0) scaleX(.88); opacity: .23; }
  100% { transform: translate3d(18%, 2%, 0) scaleX(1.06); opacity: .52; }
}
.research-hero__rail { position: absolute; z-index: 3; left: var(--edge); bottom: 30px; display: flex; gap: 30px; color: var(--ink-muted); }
.research-hero__rail span::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 8px; background: var(--cyan); border-radius: 50%; }
.research-index,
.research-types { position: relative; min-height: 85svh; display: grid; grid-template-columns: 42% 58%; padding: 14vh var(--edge); overflow: hidden; background: var(--paper); }
.research-index { min-height: 118svh; align-items: start; }
.research-index h2,
.research-types h2 { font-size: clamp(50px, 5.3vw, 86px); line-height: .92; }
.research-index__program { align-self: start; max-width: 760px; padding-left: 4vw; }
.research-index__intro { max-width: 660px; margin: 0 0 38px; color: var(--ink-muted); font-size: 14px; line-height: 1.65; }
.research-track { display: grid; grid-template-columns: 118px minmax(170px, .85fr) minmax(240px, 1.35fr); gap: 10px 26px; padding: 20px 0 22px; border-top: 1px solid var(--line); }
.research-track:last-child { border-bottom: 1px solid var(--line); }
.research-track__meta { grid-row: 1 / span 4; margin: 1px 0 0; font: 9px/1.55 "IBM Plex Mono", monospace; letter-spacing: .06em; }
.research-track__meta span { display: block; }
.research-track__meta span:first-child { margin-bottom: 8px; color: var(--cyan); }
.research-track__meta span:last-child { color: var(--ink-muted); }
.research-track h3 { margin: 0; font-size: 19px; font-weight: 400; line-height: 1.25; }
.research-track > p:not(.research-track__meta):not(.research-track__method):not(.research-track__sources) { margin: 0; color: var(--graphite); font-size: 13px; line-height: 1.5; }
.research-track__method { grid-column: 2 / -1; margin: 0; color: var(--ink-muted); font-size: 11px; line-height: 1.55; }
.research-track > a,
.research-track__sources { grid-column: 2 / -1; margin: 2px 0 0; }
.research-track > a,
.research-track__sources a { color: #00677e; font: 9px/1.5 "IBM Plex Mono", monospace; letter-spacing: .04em; text-decoration: none; }
.research-track__sources { display: flex; gap: 22px; }
.research-track > a:hover,
.research-track__sources a:hover { text-decoration: underline; text-underline-offset: 4px; }
.publication-standard { position: relative; min-height: 90svh; padding: 14vh var(--edge) 9vh; overflow: hidden; color: var(--night-ink); background: var(--void); }
.publication-standard h2 { font-size: clamp(58px, 5.8vw, 94px); line-height: .9; }
.publication-standard__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3vw; padding: 0; margin: 11vh 0 0; list-style: none; }
.publication-standard__grid li { padding-top: 15px; border-top: 1px solid var(--line-dark); }
.publication-standard__grid span { color: var(--cyan); font: 10px/1 "IBM Plex Mono", monospace; }
.publication-standard__grid h3 { margin: 44px 0 12px; font-size: 24px; font-weight: 300; }
.publication-standard__grid p { max-width: 260px; margin: 0; color: rgba(255, 255, 255, .55); font-size: 12px; line-height: 1.55; }
.research-types dl { align-self: center; margin: 0 0 0 7vw; border-top: 1px solid var(--line); }
.research-types dl > div { display: grid; grid-template-columns: .85fr 1.4fr; gap: 30px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.research-types dt { font-size: 20px; }
.research-types dd { margin: 0; color: var(--ink-muted); font-size: 13px; line-height: 1.55; }
.research-contact { position: relative; min-height: 70svh; display: flex; flex-direction: column; justify-content: center; padding: var(--header-height) var(--edge); overflow: hidden; color: var(--night-ink); background: var(--void); }
.research-index > *,
.research-types > *,
.publication-standard > *,
.research-contact > * { position: relative; z-index: 5; }
.research-contact h2 { font-size: clamp(54px, 6vw, 98px); line-height: .9; }
.research-contact .contact-status { max-width: 650px; }

/* 404 */
.error-view { min-height: 100svh; display: flex; flex-direction: column; padding: 24px var(--edge) 10vh; color: var(--night-ink); background: var(--void); }
.error-view .brand { width: 160px; }
.error-view__copy { margin-top: auto; }
.error-view h1 { font-size: clamp(60px, 8vw, 128px); line-height: .88; }
.error-view__copy > p:not(.section-index) { color: rgba(255, 255, 255, .55); }

.lang-zh {
  font-family: "IBM Plex Sans", "Noto Sans CJK SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  line-break: strict;
}
.lang-zh h1,
.lang-zh h2,
.lang-zh h3,
.lang-zh p { word-break: normal; overflow-wrap: break-word; }
.lang-zh .hero__content { width: min(52vw, 820px); }
.lang-zh .hero h1 { max-width: 11em; font-size: clamp(54px, 5.1vw, 78px); line-height: 1.06; letter-spacing: -.035em; text-wrap: balance; }
.lang-zh .hero__lead { width: min(43vw, 620px); font-size: clamp(14px, .92vw, 16px); line-height: 1.8; }
.lang-zh .thesis h2 { font-size: clamp(44px, 4.5vw, 70px); line-height: 1.12; letter-spacing: -.03em; }
.lang-zh .method h2 { font-size: clamp(44px, 4.4vw, 68px); line-height: 1.1; letter-spacing: -.03em; }
.lang-zh .evidence h2 { font-size: clamp(48px, 4.7vw, 72px); line-height: 1.06; letter-spacing: -.03em; }
.lang-zh .authority h2 { font-size: clamp(48px, 4.8vw, 74px); line-height: 1.08; letter-spacing: -.03em; }
.lang-zh .research-teaser h2 { font-size: clamp(52px, 5.2vw, 80px); line-height: 1.02; letter-spacing: -.03em; }
.lang-zh .closing h2 { font-size: clamp(52px, 5.2vw, 82px); line-height: 1.06; letter-spacing: -.03em; }
.lang-zh .research-hero h1,
.lang-zh .research-index h2,
.lang-zh .publication-standard h2,
.lang-zh .research-types h2,
.lang-zh .research-contact h2 { font-size: clamp(48px, 4.8vw, 76px); line-height: 1.08; letter-spacing: -.03em; }
.lang-zh .method-copy h3 { font-size: clamp(14px, .95vw, 16px); line-height: 1.4; }
.lang-zh .method-copy > p:last-child,
.lang-zh .authority__principles p,
.lang-zh .evidence__language dd { line-height: 1.7; }

@media (max-width: 980px) {
  :root { --edge: clamp(24px, 5vw, 48px); --header-height: 74px; }
  .site-header { height: var(--header-height); }
  .nav-toggle {
    position: relative;
    z-index: 102;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    color: inherit;
    background: transparent;
    border: 0;
    font: 10px/1 "IBM Plex Mono", monospace;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .nav-toggle__mark, .nav-toggle__mark::before { width: 20px; height: 1px; display: block; background: currentColor; transition: transform .2s ease; }
  .nav-toggle__mark { position: relative; }
  .nav-toggle__mark::before { content: ""; position: absolute; top: -6px; }
  .menu-open .nav-toggle__mark { transform: rotate(45deg); }
  .menu-open .nav-toggle__mark::before { top: 0; transform: rotate(90deg); }
  .primary-nav {
    position: fixed;
    z-index: 101;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
    padding: 100px var(--edge) 60px;
    color: #fff;
    background: rgba(17, 27, 33, .98);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
  }
  .primary-nav a { color: #fff !important; font: 300 clamp(28px, 6vw, 48px)/1.05 "IBM Plex Sans", sans-serif; letter-spacing: -.035em; text-transform: none; }
  .primary-nav .motion-toggle { min-height: 36px; margin-top: 8px; padding: 0 12px; color: #fff; border-color: rgba(255, 255, 255, .5); font: 10px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
  .primary-nav .language-link { margin-top: 18px; color: var(--cyan) !important; font: 11px/1 "IBM Plex Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
  .menu-open .primary-nav { visibility: visible; opacity: 1; pointer-events: auto; }
  .site-header.menu-open { color: #fff; background: transparent; backdrop-filter: none; }
  .method__scroll { height: 400svh; }
  .method__intro { width: 54vw; }
  .method__copies, .method__steps { gap: 18px; }
  .method-copy > p:last-child { font-size: 10px; }
  .authority__principles { grid-template-columns: repeat(2, 1fr); gap: 30px; }
  .research-teaser__masthead { padding-top: 12vh; }
}

@media (max-width: 700px) {
  :root { --edge: 22px; --header-height: 68px; }
  .brand { width: 126px; }
  .site-header::after { right: var(--edge); left: var(--edge); }
  .route-overlay--desktop { display: none; }
  .route-overlay--mobile { display: block; }
  .hero { min-height: 100svh; color: #fff; background: var(--void); }
  .hero__art { background: radial-gradient(ellipse 64% 35% at 58% 53%, rgba(62, 191, 210, .2), transparent 72%), linear-gradient(145deg, #273b45, #111b21 72%); }
  .hero__art::after { content: ""; position: absolute; z-index: 3; inset: 0; background: linear-gradient(180deg, rgba(17, 27, 33, .28), rgba(17, 27, 33, .02) 35%, rgba(17, 27, 33, .16) 68%, rgba(17, 27, 33, .76)); pointer-events: none; }
  .hero::after { content: ""; position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; height: clamp(76px, 11svh, 124px); background: linear-gradient(180deg, transparent 0%, rgba(117, 133, 139, .22) 48%, var(--bridge) 100%); pointer-events: none; }
  .site-header[data-tone="hero"] { color: #fff; }
  .site-header.is-scrolled[data-tone="hero"] { background: rgba(17, 27, 33, .76); }
  .hero__content { width: 100%; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; padding: 120px var(--edge) 76px; }
  .hero h1 { font-size: clamp(53px, 15.4vw, 70px); line-height: .88; }
  .hero__lead { width: min(100%, 440px); margin-top: 25px; font-size: 14px; line-height: 1.5; }
  .contact-state { margin-top: 25px; color: rgba(255, 255, 255, .82); border-color: rgba(255, 255, 255, .34); font-size: 9px; }
  .contact-state small { color: rgba(255, 255, 255, .45); }
  .visual-disclosure { right: var(--edge); bottom: 18px; left: var(--edge); font-size: 7px; }

  .thesis { min-height: 100svh; display: block; padding: 110px var(--edge) 76px; }
  .thesis::before { content: ""; position: absolute; z-index: 3; top: 0; right: 0; left: 0; height: clamp(76px, 11svh, 124px); background: linear-gradient(180deg, var(--bridge) 0%, rgba(117, 133, 139, .22) 52%, transparent 100%); pointer-events: none; }
  .thesis__index { position: relative; top: auto; left: auto; padding: 0 0 52px; }
  .thesis__copy { width: 100%; }
  .thesis h2 { font-size: clamp(43px, 12.4vw, 62px); line-height: .93; }
  .thesis__copy > p { width: 70%; margin-top: 42px; font-size: 12px; }
  .thesis__void { top: auto; right: -42vw; bottom: -5vw; width: 88vw; transform: translate3d(calc((var(--section-progress) - .5) * 8vw), 0, 0); }

  .method { padding-top: 0; }
  .method__intro { position: relative; left: auto; width: auto; height: auto; min-height: 68svh; padding: 108px var(--edge) 80px; display: flex; flex-direction: column; justify-content: flex-end; }
  .method__intro h2 { font-size: clamp(48px, 12vw, 62px); }
  .method__intro > p:last-child { width: 100%; margin-top: 22px; font-size: 12px; }
  .method__scroll { height: 370svh; }
  .method__stage { height: 100svh; }
  .method__camera { transform: translate3d(var(--camera-x, -8%), 0, 0) scale(1.4); transform-origin: 58% 45%; }
  .method__visual::after { background: linear-gradient(180deg, rgba(17, 27, 33, .2), transparent 28%, transparent 47%, rgba(17, 27, 33, .9) 72%); }
  .method__rail { right: var(--edge); bottom: 55px; left: var(--edge); }
  .method__counter { top: -50px; left: 0; right: auto; }
  .method__steps { gap: 8px; }
  .method__steps li { overflow: hidden; height: 24px; color: transparent; font-size: 0; }
  .method__steps li span { color: rgba(255, 255, 255, .38); font-size: 9px; }
  .method__steps li.is-active span { color: inherit; }
  .method__copies { display: block; position: relative; min-height: 180px; margin-top: 22px; }
  .method-copy { position: absolute; inset: 0; visibility: hidden; opacity: 0; transform: translateY(15px); }
  .method-copy.is-active { visibility: visible; opacity: 1; transform: none; }
  .method-copy__verb { font-size: 22px; }
  .method-copy h3 { font-size: 20px; }
  .method-copy > p:last-child { max-width: 350px; font-size: 12px; line-height: 1.55; }
  .method__readout { top: 18%; font-size: 8px; }
  .method__visual figcaption { top: calc(18% + 42px); left: var(--edge); right: auto; }

  .evidence { min-height: auto; display: flex; flex-direction: column; }
  .evidence__media { min-height: 48svh; }
  .evidence__media figcaption { right: var(--edge); bottom: 18px; left: var(--edge); font-size: 7px; }
  .evidence__copy { width: auto; padding: 80px var(--edge) 90px; }
  .evidence h2 { font-size: clamp(50px, 13vw, 68px); }
  .evidence__lead { width: 100%; margin: 26px 0 38px; font-size: 12px; }
  .evidence__language > div { grid-template-columns: 92px 1fr; gap: 18px; padding: 17px 0; }
  .evidence__language dt { font-size: 15px; }
  .evidence__language dd { font-size: 11px; }

  .authority { min-height: 125svh; }
  .authority__heading { padding: 108px var(--edge) 0; }
  .authority h2 { font-size: clamp(49px, 12.8vw, 67px); }
  .authority__heading > p:last-child { width: 75%; font-size: 12px; }
  .authority__boundary { top: 49%; width: 70%; }
  .authority__principles { bottom: 55px; grid-template-columns: repeat(2, 1fr); gap: 22px 18px; }
  .authority__principles p { margin-top: 11px; font-size: 10px; }

  .research-teaser { min-height: 112svh; display: block; color: #fff; background: var(--void); }
  .authority::after,
  .research-teaser::before,
  .research-teaser::after,
  .closing::before { display: none; }
  .research-teaser__visual::after { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, rgba(17, 27, 33, .36), transparent 45%, rgba(17, 27, 33, .84)); }
  .research-teaser__masthead { padding: 105px var(--edge) 0; }
  .research-teaser h2 { font-size: clamp(54px, 14vw, 74px); }
  .research-teaser__masthead > p:last-child { width: 90%; color: rgba(255, 255, 255, .65); font-size: 12px; }
  .research-teaser__visual span { right: var(--edge); bottom: 20px; font-size: 7px; }
  .research-teaser__index { position: absolute; z-index: 3; right: var(--edge); bottom: 70px; left: var(--edge); width: auto; padding: 0; }
  .research-teaser__index > p:nth-child(2) { color: rgba(255, 255, 255, .58); }
  .research-teaser__index ul { border-color: rgba(255, 255, 255, .16); }
  .research-teaser__index li { border-color: rgba(255, 255, 255, .16); }
  .text-cta--dark { color: #fff; }

  .closing { min-height: 100svh; }
  .closing__copy { right: var(--edge); bottom: 92px; }
  .closing h2 { font-size: clamp(52px, 13.4vw, 70px); }
  .contact-status { font-size: 12px; }
  .contact-note { font-size: 10px; }
  .site-footer { grid-template-columns: 1fr; gap: 20px; min-height: 200px; }
  .site-footer__identity { justify-content: space-between; }

  .research-hero { min-height: 106svh; display: block; color: #fff; }
  .research-hero__visual::after { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, rgba(17, 27, 33, .38), rgba(17, 27, 33, .04) 48%, rgba(17, 27, 33, .77)); }
  .research-hero::after { content: ""; position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; height: clamp(76px, 11svh, 124px); background: linear-gradient(180deg, transparent 0%, rgba(117, 133, 139, .22) 48%, var(--bridge) 100%); pointer-events: none; }
  .research-index::before { content: ""; position: absolute; z-index: 4; top: 0; right: 0; left: 0; height: clamp(76px, 11svh, 124px); background: linear-gradient(180deg, var(--bridge) 0%, rgba(117, 133, 139, .22) 52%, transparent 100%); pointer-events: none; }
  .research-hero__copy { position: absolute; z-index: 3; right: var(--edge); bottom: 112px; left: var(--edge); padding: 0; }
  .research-hero h1 { font-size: clamp(51px, 13vw, 69px); }
  .research-hero__copy > p:last-child { width: 100%; color: rgba(255, 255, 255, .66); font-size: 12px; }
  .research-hero__rail { z-index: 3; right: var(--edge); bottom: 28px; flex-wrap: wrap; gap: 8px 18px; color: rgba(255, 255, 255, .5); font-size: 7px; }
  .research-index, .research-types { min-height: auto; display: block; padding: 100px var(--edge); }
  .research-index h2, .research-types h2 { font-size: clamp(44px, 11.7vw, 60px); }
  .research-index__program { padding: 60px 0 0; }
  .research-index__intro { margin-bottom: 34px; font-size: 12px; }
  .research-track { grid-template-columns: 78px 1fr; gap: 9px 18px; padding: 18px 0 20px; }
  .research-track__meta { grid-row: 1 / span 5; font-size: 7px; }
  .research-track h3 { font-size: 17px; }
  .research-track > p:not(.research-track__meta):not(.research-track__method):not(.research-track__sources) { font-size: 11px; }
  .research-track__method,
  .research-track > a,
  .research-track__sources { grid-column: 2; }
  .research-track__method { font-size: 9px; }
  .research-track__sources { flex-direction: column; gap: 4px; }
  .publication-standard { min-height: auto; padding: 105px var(--edge); }
  .publication-standard h2 { font-size: clamp(48px, 12vw, 64px); }
  .publication-standard__grid { grid-template-columns: repeat(2, 1fr); gap: 48px 20px; margin-top: 80px; }
  .publication-standard__grid h3 { margin-top: 22px; font-size: 20px; }
  .publication-standard__grid p { font-size: 10px; }
  .research-types dl { margin: 65px 0 0; }
  .research-types dl > div { grid-template-columns: 1fr; gap: 10px; padding: 20px 0; }
  .research-types dt { font-size: 17px; }
  .research-types dd { font-size: 11px; }
  .research-contact { min-height: 85svh; }
  .research-contact h2 { font-size: clamp(48px, 12vw, 64px); }

  .lang-zh .hero__content { width: 100%; padding-bottom: 72px; }
  .lang-zh .hero h1 { max-width: none; font-size: clamp(30px, 9vw, 36px); line-height: 1.14; letter-spacing: -.02em; white-space: nowrap; }
  .lang-zh .hero__lead { width: 100%; max-width: 340px; font-size: 12px; line-height: 1.75; }
  .lang-zh .thesis h2 { font-size: clamp(36px, 9.8vw, 46px); line-height: 1.16; }
  .lang-zh .method h2 { font-size: clamp(38px, 10.2vw, 48px); line-height: 1.14; }
  .lang-zh .evidence h2,
  .lang-zh .authority h2 { font-size: clamp(40px, 10.6vw, 50px); line-height: 1.12; }
  .lang-zh .research-teaser h2,
  .lang-zh .closing h2,
  .lang-zh .research-hero h1,
  .lang-zh .research-index h2,
  .lang-zh .publication-standard h2,
  .lang-zh .research-types h2,
  .lang-zh .research-contact h2 { font-size: clamp(40px, 10.8vw, 52px); line-height: 1.12; }
  .lang-zh .authority__heading > p:last-child { width: 88%; }
}

@media (max-width: 360px) {
  :root { --edge: 18px; }
  .hero__content { padding-bottom: 64px; }
  .hero h1 { font-size: 47px; }
  .hero__lead { font-size: 12px; }
  .contact-state { gap: 8px; font-size: 8px; }
  .thesis h2 { font-size: 39px; }
  .method__intro h2, .evidence h2, .authority h2 { font-size: 44px; }
  .method__rail { bottom: 34px; }
  .method__copies { min-height: 160px; }
  .method-copy h3 { font-size: 17px; }
  .method-copy > p:last-child { font-size: 10px; }
  .authority { min-height: 142svh; }
  .research-teaser h2, .closing h2 { font-size: 48px; }
}

.no-js .nav-toggle { display: none; }
.no-js .motion-toggle { display: none; }
.no-js .primary-nav { visibility: visible; }
.no-js .method__scroll { height: auto; }
.no-js .method__stage { position: relative; min-height: 100svh; height: auto; padding: 45vh 0 60px; }
.no-js .method-copy { visibility: visible; opacity: 1; transform: none; }
.no-js .method-route__animated { stroke-dashoffset: 0; }

@media (max-width: 980px) {
  .no-js .site-header { position: absolute; height: auto; align-items: flex-start; padding-top: 18px; }
  .no-js .primary-nav { position: static; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; width: min(68vw, 520px); padding: 0; color: inherit; background: transparent; opacity: 1; pointer-events: auto; }
  .no-js .primary-nav a { color: inherit !important; font: 8px/1.25 "IBM Plex Mono", monospace; letter-spacing: .04em; text-transform: uppercase; }
  .no-js .primary-nav .language-link { margin: 0; color: var(--cyan) !important; }
}

@media (max-width: 700px) {
  .no-js .brand { flex: 0 0 92px; width: 92px; }
  .no-js .site-header { padding-top: 14px; }
  .no-js .primary-nav { gap: 7px 10px; width: 60vw; }
  .no-js .method__stage { padding: 38vh var(--edge) 70px; }
  .no-js .method__rail { position: relative; inset: auto; }
  .no-js .method__copies { min-height: auto; }
  .no-js .method-copy { position: relative; inset: auto; margin-top: 32px; }
  .no-js .method__visual { opacity: .45; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .hero__art::before,
  .evidence__media::before,
  .authority__art::before,
  .research-teaser__visual::before,
  .research-hero__visual::before,
  .closing__art::before,
  .method__visual::before,
  .thesis__void::before,
  .thesis__void span { animation: none !important; }
  .thesis__void,
  .method__camera { transform: none; }
}

.reduce-motion .method__intro { position: absolute; z-index: 7; top: 0; left: 0; width: min(680px, 62vw); height: auto; min-height: 0; padding: 14vh 0 9vh var(--edge); opacity: 1; }
.reduce-motion .method__scroll { height: auto; }
.reduce-motion .method__stage { position: relative; min-height: 100svh; height: auto; padding: 62svh 0 80px; }
.reduce-motion .method__rail { position: relative; inset: auto; margin: 0 var(--edge); }
.reduce-motion .method__copies { min-height: auto; }
.reduce-motion .method-copy { position: relative; inset: auto; visibility: visible; opacity: 1; transform: none; }
.reduce-motion .hero__art::before,
.reduce-motion .evidence__media::before,
.reduce-motion .authority__art::before,
.reduce-motion .research-teaser__visual::before,
.reduce-motion .closing__art::before,
.reduce-motion .method__visual::before,
.reduce-motion .thesis__void::before,
.reduce-motion .thesis__void span { animation: none !important; }

.js:not(.motion-enabled) *,
.js:not(.motion-enabled) *::before,
.js:not(.motion-enabled) *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
.js:not(.motion-enabled) .hero__art::before,
.js:not(.motion-enabled) .evidence__media::before,
.js:not(.motion-enabled) .authority__art::before,
.js:not(.motion-enabled) .research-teaser__visual::before,
.js:not(.motion-enabled) .research-hero__visual::before,
.js:not(.motion-enabled) .closing__art::before,
.js:not(.motion-enabled) .method__visual::before,
.js:not(.motion-enabled) .thesis__void::before,
.js:not(.motion-enabled) .thesis__void span { animation: none !important; }

/* An explicit visitor choice may override the operating-system motion preference. */
.motion-enabled .hero__art::before { animation: field-drift 11s cubic-bezier(.45, 0, .55, 1) infinite alternate !important; }
.motion-enabled .evidence__media::before { animation: evidence-converge 8.5s ease-in-out infinite alternate !important; }
.motion-enabled .authority__art::before { animation: authority-stream 9s ease-in-out infinite alternate !important; }
.motion-enabled .research-teaser__visual::before,
.motion-enabled .research-hero__visual::before { animation: research-flow 10.5s cubic-bezier(.45, 0, .55, 1) infinite alternate !important; }
.motion-enabled .closing__art::before { animation: closing-current 12s ease-in-out infinite alternate !important; }
.motion-enabled .method__visual::before { animation: route-current 7.5s cubic-bezier(.45, 0, .55, 1) infinite !important; }
.motion-enabled .thesis__void::before { animation: void-current 12s ease-in-out infinite alternate !important; }
.motion-enabled .thesis__void span { animation: void-breathe 6s ease-in-out infinite !important; }

@media (prefers-reduced-motion: reduce) {
  .motion-enabled .thesis__void { transform: translate3d(calc((var(--section-progress) - .5) * 9vw), -50%, 0); }
  .motion-enabled .method__camera { transform: translate3d(var(--camera-x, -4%), 0, 0) scale(1.06); }
}

@media (max-width: 700px) {
  .reduce-motion .method__intro { right: 0; width: auto; padding: 108px var(--edge) 80px; }
  .reduce-motion .method__stage { min-height: 170svh; padding: 68svh var(--edge) 70px; }
  .reduce-motion .method__rail { margin: 0; }
  .reduce-motion .method-copy { margin-top: 32px; }
}

@media (forced-colors: active) {
  .method-route__animated, .method-route__base { stroke: CanvasText; }
  .contact-state::before { background: CanvasText; box-shadow: none; }
}

/* Living Trust Graph v2 ---------------------------------------------------- */

:root {
  --paper: #dfe7e8;
  --void: #071116;
  --graphite: #17272e;
  --ink-muted: #61747b;
  --bridge: #82949b;
  --night-ink: #e7eff0;
  --line: rgba(23, 39, 46, .17);
  --line-dark: rgba(231, 239, 240, .15);
  --cyan: #57d9e6;
  --cyan-soft: #b7f7fb;
  --copper: #d97a4a;
  --green: #72c8a4;
}

html,
body { background: var(--void); }

.site-header[data-tone="hero"],
.site-header[data-tone="dark"] { color: var(--night-ink); background: rgba(7, 17, 22, .54); backdrop-filter: blur(20px); }
.site-header[data-tone="light"] { color: var(--graphite); background: rgba(223, 231, 232, .82); }
.site-header[data-tone="hero"] .primary-nav a:nth-child(2),
.site-header[data-tone="hero"] .primary-nav a:nth-child(3),
.site-header[data-tone="hero"] .primary-nav a:nth-child(4),
.site-header[data-tone="hero"] .motion-toggle { color: var(--night-ink); text-shadow: none; }
.site-header.is-scrolled[data-tone="hero"] { color: var(--night-ink); background: rgba(7, 17, 22, .84); }
.site-header.is-scrolled[data-tone="hero"] .primary-nav a:nth-child(2),
.site-header.is-scrolled[data-tone="hero"] .primary-nav a:nth-child(3),
.site-header.is-scrolled[data-tone="hero"] .primary-nav a:nth-child(4) { color: var(--night-ink); }
.motion-toggle { border-radius: 2px; background: rgba(255, 255, 255, .025); }

.hero {
  min-height: 100svh;
  color: var(--night-ink);
  background: var(--void);
}
.hero__art {
  background:
    radial-gradient(ellipse 48% 44% at 71% 53%, rgba(33, 105, 126, .21), transparent 70%),
    radial-gradient(ellipse 28% 34% at 84% 49%, rgba(22, 88, 108, .14), transparent 76%),
    linear-gradient(112deg, #071116 0 39%, #0a1920 68%, #08141a 100%);
}
.hero__art::before {
  inset: -12%;
  background:
    radial-gradient(ellipse 27% 14% at 67% 53%, rgba(87, 217, 230, .18), transparent 72%),
    conic-gradient(from 238deg at 70% 52%, transparent 0 32deg, rgba(87, 217, 230, .1) 49deg, transparent 66deg 360deg);
  opacity: .42;
  filter: blur(24px);
}
.flow-field { opacity: .96; filter: drop-shadow(0 0 9px rgba(87, 217, 230, .24)); }
.flow-field--light { opacity: .9; filter: none; }
.hero__content {
  width: min(55vw, 840px);
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(var(--header-height) + 7vh) 0 12vh var(--edge);
}
.hero h1 { max-width: 12em; font-size: clamp(56px, 4.7vw, 78px); line-height: .98; letter-spacing: -.05em; }
.hero__lead { width: min(42vw, 590px); margin-top: clamp(28px, 4vh, 42px); color: rgba(231, 239, 240, .7); font-size: clamp(14px, .95vw, 16px); line-height: 1.67; }
.contact-state { margin-top: clamp(28px, 4vh, 44px); padding: 0; color: var(--cyan); border: 0; font-size: 12px; }
.contact-state::before { width: 7px; height: 7px; background: var(--cyan); box-shadow: 0 0 18px rgba(87, 217, 230, .78); }
.contact-state small { color: rgba(231, 239, 240, .42); }
.visual-disclosure { bottom: clamp(32px, 4.4vh, 48px); color: rgba(231, 239, 240, .42); }
.hero::after {
  content: "";
  position: absolute;
  z-index: 4;
  right: -8%;
  bottom: -9.5svh;
  left: -8%;
  height: clamp(96px, 17svh, 170px);
  border-radius: 50% 50% 0 0 / 42% 42% 0 0;
  background: radial-gradient(ellipse 70% 125% at 50% 108%, var(--paper) 60%, rgba(223, 231, 232, .76) 72%, transparent 73%);
  pointer-events: none;
}

.thesis {
  min-height: 92svh;
  color: var(--graphite);
  background:
    radial-gradient(ellipse 48% 36% at 82% 52%, rgba(86, 140, 151, .14), transparent 74%),
    var(--paper);
}
.thesis__copy { width: min(66vw, 1050px); }
.thesis h2 { font-size: clamp(50px, 5.7vw, 92px); line-height: .96; }
.thesis h2 span { color: #728289; }
.thesis__void {
  right: max(-18vw, -280px);
  background:
    radial-gradient(circle at 36% 51%, rgba(87, 217, 230, .2), transparent 22%),
    radial-gradient(circle at 50% 50%, #10252d 0 37%, #0a171d 68%, #071116 100%);
  box-shadow: -45px 0 120px rgba(46, 76, 87, .13);
}
.thesis__void::after {
  content: "";
  position: absolute;
  inset: 15%;
  border: 1px solid rgba(87, 217, 230, .13);
  border-radius: 48% 52% 44% 56%;
  transform: rotate(-18deg);
}

.method { color: var(--night-ink); background: var(--void); }
.method__visual {
  background:
    radial-gradient(ellipse 42% 42% at 72% 53%, rgba(28, 103, 124, .18), transparent 72%),
    linear-gradient(112deg, #071116 0%, #0b1b22 58%, #08141a 100%);
}
.method__visual::before {
  inset: -18%;
  background:
    radial-gradient(ellipse 22% 38% at 69% 51%, rgba(87, 217, 230, .16), transparent 72%),
    conic-gradient(from 232deg at 69% 51%, transparent 0 37deg, rgba(87, 217, 230, .09) 52deg, transparent 68deg 360deg);
  filter: blur(24px);
  opacity: .44;
}
.method__visual::after { background: linear-gradient(180deg, rgba(7, 17, 22, .48) 0%, transparent 26%, transparent 70%, rgba(7, 17, 22, .9) 95%); }
.method__intro { width: min(500px, 34vw); padding-top: clamp(112px, 13vh, 142px); }
.method__intro h2 { font-size: clamp(50px, 4.6vw, 74px); line-height: .98; }
.method__intro > p:last-child { width: min(405px, 31vw); color: rgba(231, 239, 240, .62); line-height: 1.65; }
.method__camera { transform: translate3d(var(--camera-x, -2.8%), 0, 0) scale(1.035); }
.method-route { opacity: .74; }
.method-route__base { stroke: rgba(151, 187, 199, .14); }
.method-route__animated { stroke-width: 2.2; filter: drop-shadow(0 0 5px rgba(87, 217, 230, .34)); }
.method-route__mapped { stroke: rgba(87, 217, 230, .52); }
.method-route__verified { stroke: rgba(183, 247, 251, .9); }
.method-route__risk { stroke: rgba(217, 122, 74, .9); }
.method-route__retest { stroke: rgba(114, 200, 164, .9); }
.method-route__nodes { fill: rgba(183, 247, 251, .88); filter: drop-shadow(0 0 12px rgba(87, 217, 230, .72)); }
.method-route__control { fill: rgba(217, 122, 74, .72); stroke: rgba(255, 186, 145, .9); filter: drop-shadow(0 0 18px rgba(217, 122, 74, .7)); }
.method__rail { left: calc(var(--edge) + min(0px, 0vw)); display: grid; grid-template-columns: minmax(260px, .74fr) minmax(610px, 1.55fr); align-items: end; gap: clamp(34px, 5vw, 84px); }
.method__counter { left: 0; right: auto; top: -52px; }
.method__copies { grid-column: 1; grid-row: 1; display: block; min-height: 142px; position: relative; }
.method-copy { position: absolute; inset: 0; visibility: hidden; opacity: 0; transform: translateY(15px); }
.method-copy.is-active { visibility: visible; opacity: 1; transform: none; }
.method-copy__verb { font-size: clamp(18px, 1.55vw, 25px); }
.method-copy h3 { font-size: clamp(16px, 1.15vw, 19px); }
.method-copy > p:last-child { max-width: 430px; color: rgba(231, 239, 240, .62); font-size: clamp(11px, .82vw, 13px); }
.method__steps { grid-column: 2; grid-row: 1; }
.method__steps li { border-top-color: rgba(231, 239, 240, .14); color: rgba(231, 239, 240, .48); }
.method__steps li.is-active { border-top-color: currentColor; }
.method__readout { top: 20%; }
.method__visual figcaption { top: calc(20% + 48px); }

.evidence {
  min-height: 100svh;
  grid-template-columns: 56% 44%;
  background: var(--paper);
}
.evidence__media {
  background:
    radial-gradient(ellipse 54% 36% at 65% 52%, rgba(72, 151, 166, .12), transparent 74%),
    var(--paper);
}
.evidence__media::before {
  inset: -10%;
  background:
    radial-gradient(ellipse 40% 12% at 78% 52%, rgba(22, 142, 160, .2), transparent 73%),
    repeating-radial-gradient(ellipse at 76% 52%, transparent 0 42px, rgba(47, 83, 94, .025) 44px, transparent 46px 70px);
  filter: blur(8px);
  opacity: .62;
}
.evidence__copy { width: min(600px, 41vw); padding-left: 4%; }
.evidence h2 { font-size: clamp(58px, 5.5vw, 88px); line-height: .94; }
.evidence__lead { width: min(450px, 34vw); color: #50656d; }
.evidence__language { border-top-color: rgba(23, 39, 46, .19); }
.evidence__language > div { grid-template-columns: minmax(96px, .65fr) 1.65fr; border-bottom-color: rgba(23, 39, 46, .16); }
.evidence__language > div:nth-child(2) dt { color: #0c7f92; }
.evidence__language .is-retested dt { color: #3f866c; }

.authority {
  min-height: 112svh;
  background: var(--void);
}
.authority__art {
  background:
    radial-gradient(ellipse 45% 45% at 72% 45%, rgba(119, 67, 43, .16), transparent 72%),
    radial-gradient(ellipse 34% 24% at 47% 48%, rgba(27, 106, 126, .15), transparent 74%),
    linear-gradient(108deg, #071116, #0b1b22 60%, #08141a);
}
.authority__art::before {
  inset: -15%;
  background:
    radial-gradient(ellipse 29% 23% at 67% 44%, rgba(217, 122, 74, .18), transparent 73%),
    radial-gradient(ellipse 35% 12% at 49% 49%, rgba(87, 217, 230, .16), transparent 74%);
  filter: blur(22px);
  opacity: .58;
}
.authority__heading { max-width: 720px; }
.authority h2 { font-size: clamp(58px, 5.4vw, 88px); line-height: .93; }
.authority h2 span { color: var(--copper); }
.authority__heading > p:last-child { color: rgba(231, 239, 240, .62); font-family: "IBM Plex Mono", monospace; }
.authority__boundary { top: 17%; width: 36%; }
.authority__boundary span { color: rgba(217, 122, 74, .82); text-shadow: 0 0 18px rgba(217, 122, 74, .27); }
.authority__principles { right: 6vw; bottom: 9vh; left: 57%; display: grid; grid-template-columns: 1fr; gap: 0; }
.authority__principles li { display: grid; grid-template-columns: 52px 1fr; align-items: start; padding: 15px 0; border-top: 1px solid rgba(231, 239, 240, .12); }
.authority__principles span { color: var(--copper); padding-top: 3px; }
.authority__principles p { max-width: 390px; margin: 0; color: rgba(231, 239, 240, .62); font-size: 13px; }

.research-teaser {
  min-height: 108svh;
  grid-template-columns: 43% 57%;
  background:
    radial-gradient(ellipse 44% 34% at 72% 54%, rgba(64, 123, 137, .11), transparent 75%),
    var(--paper);
}
.research-teaser__visual {
  background:
    radial-gradient(ellipse 42% 35% at 73% 53%, rgba(61, 128, 143, .12), transparent 74%),
    var(--paper);
}
.research-teaser__visual::before,
.research-hero__visual::before {
  inset: -14%;
  background:
    radial-gradient(ellipse 31% 17% at 72% 53%, rgba(22, 142, 160, .13), transparent 74%),
    conic-gradient(from 226deg at 72% 53%, transparent 0 38deg, rgba(68, 126, 139, .08) 52deg, transparent 68deg 360deg);
  mix-blend-mode: multiply;
  filter: blur(20px);
  opacity: .48;
}
.research-teaser__masthead { padding-top: 15vh; }
.research-teaser h2 { font-size: clamp(62px, 6vw, 96px); line-height: .9; }
.research-teaser__index { width: min(500px, 37vw); }
.research-teaser__visual span { color: rgba(23, 39, 46, .46); text-shadow: none; }
.text-cta--dark { color: #0f7888; }

.closing { min-height: 96svh; background: var(--void); }
.closing__art {
  background:
    radial-gradient(ellipse 44% 36% at 73% 57%, rgba(30, 104, 123, .14), transparent 73%),
    linear-gradient(110deg, #071116, #0a1920 62%, #08141a);
}
.closing__art::before {
  inset: -14%;
  background:
    radial-gradient(ellipse 31% 13% at 67% 58%, rgba(87, 217, 230, .16), transparent 72%),
    radial-gradient(ellipse 18% 20% at 73% 59%, rgba(217, 122, 74, .13), transparent 74%);
  filter: blur(22px);
  opacity: .5;
}
.closing__shade { background: linear-gradient(90deg, rgba(7, 17, 22, .7), rgba(7, 17, 22, .12) 62%, transparent); }
.closing__copy { bottom: 15vh; max-width: 720px; }
.closing h2 { font-size: clamp(64px, 6.6vw, 104px); line-height: .92; }
.contact-status { color: #87d4df; }

.site-footer { background: #061016; border-top-color: rgba(231, 239, 240, .09); }

/* Curved tonal transitions keep luminance changes gradual. */
.thesis::after,
.method::after,
.evidence::after,
.authority::after,
.research-teaser::after,
.research-index::after,
.publication-standard::after,
.research-types::after {
  height: clamp(90px, 13svh, 145px);
  background: radial-gradient(ellipse 75% 150% at 50% 150%, rgba(130, 148, 155, .38) 54%, rgba(130, 148, 155, .1) 69%, transparent 70%);
}
.method::before,
.evidence::before,
.authority::before,
.research-teaser::before,
.closing::before,
.publication-standard::before,
.research-types::before,
.research-contact::before {
  height: clamp(90px, 13svh, 145px);
  background: radial-gradient(ellipse 75% 145% at 50% -50%, rgba(130, 148, 155, .34) 54%, rgba(130, 148, 155, .09) 69%, transparent 70%);
}

.research-hero__visual {
  background:
    radial-gradient(ellipse 42% 35% at 73% 52%, rgba(61, 128, 143, .12), transparent 74%),
    var(--paper);
}
.research-hero__visual span { color: rgba(23, 39, 46, .48); text-shadow: none; }

.lang-zh .hero__content { width: min(48vw, 730px); }
.lang-zh .hero h1 { max-width: 11em; font-size: clamp(48px, 4.5vw, 70px); line-height: 1.12; letter-spacing: -.035em; }
.lang-zh .hero__lead { width: min(39vw, 560px); font-size: clamp(14px, .9vw, 16px); line-height: 1.82; }
.lang-zh .authority h2 span { color: var(--copper); }

@media (max-width: 980px) {
  .primary-nav { background: rgba(7, 17, 22, .985); }
  .hero__content,
  .lang-zh .hero__content { width: 57vw; }
  .hero h1 { font-size: clamp(48px, 7vw, 68px); }
  .hero__lead,
  .lang-zh .hero__lead { width: 50vw; }
  .method__rail { grid-template-columns: 1fr; }
  .method__copies { grid-row: 1; }
  .method__steps { grid-column: 1; grid-row: 2; }
  .authority__principles { left: 48%; }
}

@media (max-width: 700px) {
  :root { --edge: clamp(20px, 6.2vw, 28px); --header-height: 74px; }
  .site-header { color: var(--night-ink); background: linear-gradient(180deg, rgba(7, 17, 22, .82), rgba(7, 17, 22, .08)); }
  .site-header.is-scrolled[data-tone="hero"] { background: rgba(7, 17, 22, .92); }
  .brand { width: 132px; }
  .nav-toggle { color: inherit; }
  .hero { min-height: 104svh; }
  .hero__art {
    background:
      radial-gradient(ellipse 72% 48% at 58% 69%, rgba(33, 105, 126, .22), transparent 72%),
      linear-gradient(165deg, #071116 0%, #0b1b22 68%, #08141a 100%);
  }
  .hero::before { background: linear-gradient(180deg, rgba(7, 17, 22, .72) 0%, rgba(7, 17, 22, .3) 43%, transparent 68%); }
  .hero__content,
  .lang-zh .hero__content {
    width: 100%;
    min-height: 104svh;
    justify-content: flex-start;
    padding: clamp(128px, 17svh, 152px) var(--edge) 49svh;
  }
  .hero h1,
  .lang-zh .hero h1 { max-width: none; font-size: clamp(34px, 9.7vw, 42px); line-height: 1.12; letter-spacing: -.035em; white-space: normal; }
  .lang-zh .hero h1 { font-size: clamp(27px, 7.7vw, 34px); letter-spacing: -.025em; white-space: nowrap; }
  .hero__lead,
  .lang-zh .hero__lead { width: min(100%, 430px); margin-top: 24px; color: rgba(231, 239, 240, .68); font-size: 13px; line-height: 1.72; }
  .contact-state { margin-top: 22px; font-size: 10px; }
  .contact-state small { display: none; }
  .visual-disclosure { right: var(--edge); bottom: 44px; left: var(--edge); font-size: 7px; text-align: right; }
  .hero::after { bottom: -5svh; height: max(76px, 10svh); }

  .thesis { min-height: 96svh; padding-top: calc(var(--header-height) + 11vh); }
  .thesis__copy { width: 100%; }
  .thesis h2,
  .lang-zh .thesis h2 { font-size: clamp(36px, 10.4vw, 48px); line-height: 1.08; }
  .thesis__copy > p { width: min(100%, 380px); margin-top: 34px; }
  .thesis__void { right: -47vw; bottom: -11vw; width: 94vw; opacity: .9; }

  .method__intro { width: auto; right: var(--edge); padding-top: 104px; }
  .method__intro h2,
  .lang-zh .method h2 { font-size: clamp(37px, 10.6vw, 48px); line-height: 1.08; }
  .method__intro > p:last-child { width: min(100%, 390px); font-size: 12px; }
  .method__visual { background: radial-gradient(ellipse 78% 42% at 58% 54%, rgba(28, 103, 124, .2), transparent 75%), linear-gradient(165deg, #071116, #0b1b22 66%, #08141a); }
  .method__camera { transform: translate3d(0, var(--camera-x, -2%), 0) scale(1.04); }
  .method__rail { display: block; right: var(--edge); bottom: 5.5vh; left: var(--edge); }
  .method__counter { top: -36px; }
  .method__copies { min-height: 122px; }
  .method-copy > p:last-child { max-width: 340px; }
  .method__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 14px; }
  .method__steps li { height: auto; padding-top: 8px; color: transparent; font-size: 0; }
  .method__steps li span { margin: 0; color: rgba(231, 239, 240, .55); font-size: 9px; }
  .method__steps li.is-active span { color: currentColor; }
  .method__readout { top: 54%; right: var(--edge); }
  .method__visual figcaption { display: none; }

  .evidence { display: block; min-height: 148svh; }
  .evidence__media { min-height: 71svh; }
  .evidence__copy { width: 100%; padding: 11vh var(--edge) 12vh; }
  .evidence h2,
  .lang-zh .evidence h2 { font-size: clamp(44px, 12vw, 58px); line-height: 1; }
  .evidence__lead { width: min(100%, 420px); }

  .authority { min-height: 142svh; }
  .authority__heading { padding-top: 112px; }
  .authority h2,
  .lang-zh .authority h2 { font-size: clamp(42px, 11.5vw, 56px); line-height: 1.05; }
  .authority__heading > p:last-child { max-width: 320px; font-size: 12px; }
  .authority__boundary { top: 49%; right: var(--edge); width: 70%; }
  .authority__principles { right: var(--edge); bottom: 8vh; left: var(--edge); }
  .authority__principles li { grid-template-columns: 42px 1fr; }

  .research-teaser { min-height: 142svh; display: block; }
  .research-teaser__masthead { padding: 112px var(--edge) 0; }
  .research-teaser h2,
  .lang-zh .research-teaser h2 { font-size: clamp(48px, 13vw, 62px); line-height: 1; }
  .research-teaser__masthead > p:last-child { width: min(100%, 390px); }
  .research-teaser__visual { top: 36svh; bottom: 33svh; }
  .research-teaser__index { position: absolute; right: var(--edge); bottom: 8vh; left: var(--edge); width: auto; padding: 0; }
  .research-teaser__visual span { right: var(--edge); bottom: 20px; }

  .closing { min-height: 108svh; }
  .closing__copy { right: var(--edge); bottom: 15vh; }
  .closing h2,
  .lang-zh .closing h2 { font-size: clamp(46px, 13vw, 62px); line-height: 1.02; }
  .contact-status { font-size: 12px; }
  .closing__shade { background: linear-gradient(180deg, rgba(7, 17, 22, .38), transparent 42%, rgba(7, 17, 22, .66)); }

  .research-hero__visual { background: radial-gradient(ellipse 68% 46% at 57% 64%, rgba(61, 128, 143, .15), transparent 74%), var(--paper); }
}

@media (max-width: 360px) {
  .hero__content,
  .lang-zh .hero__content { padding-top: 118px; padding-bottom: 48svh; }
  .hero h1 { font-size: 32px; }
  .lang-zh .hero h1 { font-size: 27px; }
  .hero__lead,
  .lang-zh .hero__lead { font-size: 12px; line-height: 1.68; }
  .contact-state { margin-top: 18px; font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-enabled .method__camera { transform: translate3d(0, 0, 0) scale(1.035); }
}
