:root {
  color-scheme: light;
  --paper: #f4f1eb;
  --charcoal: #1e2328;
  --cobalt: #2446e8;
  --teal: #157f86;
  --copper: #c98555;
  --line-dark: rgba(30, 35, 40, 0.16);
  --line-light: rgba(244, 241, 235, 0.24);
  --muted: rgba(30, 35, 40, 0.72);
  --sans: "Inter Tight", Inter, system-ui, sans-serif;
  --mono: "SF Mono", "Roboto Mono", Consolas, monospace;
}

/* Insight previews remain visible while clearly signalling forthcoming work. */
.cv-insights .cv-card.is-coming-soon {
  opacity: .52;
}

.cv-insights .coming-soon-label {
  display: inline-block;
  margin-top: 1.2rem;
  color: var(--cv-violet);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

/* Homepage only: keep the constellation clear of copy at responsive sizes. */
@media (max-width: 1100px) {
  .cv-home .cv-hero-mark {
    opacity: .76;
    clip-path: inset(0 0 0 48%);
  }
}

@media (max-width: 900px) {
  .cv-home .cv-hero {
    min-height: 0 !important;
    grid-template-rows: auto 9rem;
    gap: 0;
    padding-bottom: 0;
  }

  .cv-home .cv-hero > div:first-child {
    position: relative;
    z-index: 3;
  }

  .cv-home .cv-hero-mark {
    position: relative;
    inset: auto;
    width: 100%;
    height: 9rem;
    margin-top: 0;
    justify-self: stretch;
    overflow: visible;
    opacity: .78;
    clip-path: none;
  }

  .cv-home .cv-hero-mark > span:nth-child(1) {
    --node-size: min(43vw, 205px);
    right: -8vw;
    bottom: -4.25rem;
  }

  .cv-home .cv-hero-mark > span:nth-child(2) {
    --node-size: min(20vw, 92px);
    right: 24vw;
    bottom: .7rem;
  }

  .cv-home .cv-hero-mark > span:nth-child(3) {
    --node-size: min(11vw, 50px);
    right: 47vw;
    bottom: 4.7rem;
  }

  .cv-home .cv-hero-mark > span:nth-child(4) {
    --node-size: min(25vw, 116px);
    right: 1vw;
    bottom: 3.2rem;
  }

  .cv-home .cv-hero-mark > span:nth-child(5) {
    --node-size: 24px;
    right: 54vw;
    bottom: .8rem;
  }
}

@media (max-width: 560px) {
  .cv-home .cv-hero-mark {
    height: 8rem;
    opacity: .7;
  }

  .cv-home .cv-hero {
    grid-template-rows: auto 8rem;
  }
}

/* Editorial navigation: contact prompt, parent return and back-to-top. */
.cv-contact-prompt {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 7rem;
  padding: 1.5rem clamp(1.25rem, 7vw, 7rem);
  overflow: hidden;
}

.cv-contact-prompt::before {
  position: absolute;
  right: clamp(12rem, 27vw, 30rem);
  width: 4.75rem;
  height: 4.75rem;
  border: 1.5px solid var(--purple, #5b2c91);
  border-radius: 50%;
  content: "";
  opacity: .75;
}

.cv-contact-prompt::after {
  position: absolute;
  right: clamp(10.75rem, 24.5vw, 27rem);
  width: .9rem;
  height: .9rem;
  border-radius: 50%;
  background: var(--lime, #d3df00);
  box-shadow: -4.6rem 2rem 0 -.18rem var(--orange, #f04b2f),
              -2.3rem -2rem 0 .08rem var(--purple, #5b2c91);
  content: "";
}

.cv-contact-prompt a,
.cv-parent-link a,
.cv-back-to-top a {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  color: var(--purple, #5b2c91);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
}

.cv-contact-prompt a {
  position: relative;
  z-index: 1;
}

.cv-contact-prompt a::before {
  width: .72rem;
  height: .72rem;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  content: "";
  transition: transform .3s ease, background-color .3s ease;
}

.cv-contact-prompt a:hover::before,
.cv-contact-prompt a:focus-visible::before {
  background: var(--lime, #d3df00);
  transform: scale(1.2);
}

.cv-parent-link {
  padding: 1.35rem clamp(1.25rem, 4vw, 4rem) .5rem;
}

.cv-parent-link a,
.cv-back-to-top a {
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cv-back-to-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 3rem clamp(1.25rem, 4vw, 4rem);
}

.cv-back-to-top .cv-contact-link {
  font-size: clamp(.9rem, 1.15vw, 1.05rem);
  letter-spacing: .03em;
  text-transform: none;
}

.cv-parent-link a:hover,
.cv-parent-link a:focus-visible,
.cv-back-to-top a:hover,
.cv-back-to-top a:focus-visible {
  color: var(--orange, #f04b2f);
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }

  .cv-contact-prompt a,
  .cv-parent-link a,
  .cv-back-to-top a {
    transition: color .25s ease, transform .25s ease;
  }

  .cv-contact-prompt a:hover,
  .cv-contact-prompt a:focus-visible,
  .cv-back-to-top a:hover,
  .cv-back-to-top a:focus-visible {
    transform: translateY(-2px);
  }
}

@media (max-width: 700px) {
  .cv-contact-prompt {
    justify-content: flex-end;
    min-height: 6rem;
  }

  .cv-contact-prompt::before {
    right: auto;
    left: 1.3rem;
    width: 3.5rem;
    height: 3.5rem;
  }

  .cv-contact-prompt::after {
    right: auto;
    left: 4rem;
    transform: scale(.8);
  }

  .cv-back-to-top {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Field Notes 01 · editorial reading trace */
.cv-field-note-editorial .cv-field-note-layout {
  grid-template-columns: minmax(88px, .16fr) minmax(0, .84fr);
  gap: clamp(2rem, 6vw, 7rem);
}

.cv-field-note-editorial .cv-field-note-thread {
  position: sticky;
  top: 8rem;
  display: grid;
  grid-template-rows: repeat(6, 1fr);
  justify-items: center;
  width: 64px;
  height: min(62vh, 520px);
  padding: 0;
  border: 0;
}

.cv-field-note-editorial .cv-field-note-thread::before {
  content: "";
  position: absolute;
  inset: 9px auto 9px 50%;
  width: 1px;
  background: var(--cv-line);
  transform: translateX(-50%);
}

.cv-field-note-editorial .cv-field-note-thread::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 50%;
  width: 1px;
  height: 0;
  background: var(--cv-violet);
  transform: translateX(-50%);
}

.cv-field-note-editorial .cv-field-note-thread i {
  position: relative;
  z-index: 1;
  display: block;
  width: 18px;
  height: 18px;
  border: 2px solid var(--cv-violet);
  border-radius: 50%;
  background: var(--cv-paper);
}

.cv-field-note-editorial .cv-field-note-thread i:nth-child(3n + 2) {
  width: 11px;
  height: 11px;
  border-color: var(--cv-vermilion);
}

.cv-field-note-editorial .cv-field-note-thread i:nth-child(3n) {
  width: 14px;
  height: 14px;
  border-color: var(--cv-lime);
  background: var(--cv-lime);
}

.cv-field-note-editorial .cv-field-note-body {
  max-width: 720px;
  counter-reset: fieldnote-section;
}

.cv-field-note-editorial .cv-field-note-body p {
  max-width: 66ch;
  font-size: clamp(1rem, 1.06vw, 1.16rem);
  line-height: 1.72;
}

.cv-field-note-editorial .cv-field-note-body p + p {
  margin-top: 1.15em;
}

.cv-field-note-editorial .cv-field-note-body .lead {
  max-width: 58ch;
  margin-bottom: clamp(2.8rem, 5vw, 4.8rem);
  font-size: clamp(1.3rem, 1.75vw, 1.75rem);
  line-height: 1.4;
}

.cv-field-note-editorial .fn-signal {
  margin: clamp(3.2rem, 6vw, 5.8rem) 0 1.25rem !important;
  color: var(--cv-violet);
  font-size: clamp(.82rem, .9vw, .92rem) !important;
  font-weight: 730;
  letter-spacing: .1em;
  line-height: 1.4 !important;
  text-transform: uppercase;
}

.cv-field-note-editorial .fn-distance {
  max-width: 30ch !important;
  margin: 0 0 clamp(4.5rem, 8vw, 7.5rem) !important;
  font-family: var(--cv-serif);
  font-size: clamp(1.75rem, 2.9vw, 2.85rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.025em;
}

.cv-field-note-editorial .fn-scenario {
  max-width: 50ch !important;
  margin: 0 0 clamp(3rem, 5vw, 5rem) clamp(1rem, 6vw, 6rem) !important;
  padding: .25rem 0 .25rem clamp(1rem, 2.5vw, 2rem);
  border-left: 4px solid var(--cv-lime);
  font-family: var(--cv-serif);
  font-size: clamp(1.25rem, 1.7vw, 1.7rem) !important;
  line-height: 1.42 !important;
}

.cv-field-note-editorial .fn-transition {
  max-width: 34ch !important;
  margin: clamp(3.6rem, 6vw, 5.8rem) 0 1.8rem !important;
  color: var(--cv-violet);
  font-family: var(--cv-serif);
  font-size: clamp(1.45rem, 2vw, 2.05rem) !important;
  line-height: 1.25 !important;
}

.cv-field-note-editorial .fn-process {
  display: grid;
  max-width: 100% !important;
  margin: 0 0 clamp(5rem, 9vw, 9rem) !important;
  counter-reset: fieldnote-process;
}

.cv-field-note-editorial .fn-process span {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: clamp(.7rem, 2vw, 1.3rem);
  align-items: start;
  padding: 1rem 0;
  border-top: 1px solid var(--cv-line);
  counter-increment: fieldnote-process;
}

.cv-field-note-editorial .fn-process span:last-child {
  border-bottom: 1px solid var(--cv-line);
}

.cv-field-note-editorial .fn-process span::before {
  content: "0" counter(fieldnote-process);
  color: var(--cv-violet);
  font-family: var(--cv-sans);
  font-size: .66rem;
  font-weight: 740;
  letter-spacing: .08em;
  line-height: 1.8;
}

.cv-field-note-editorial .fn-pivot {
  max-width: 24ch !important;
  margin: clamp(4.5rem, 8vw, 7.5rem) 0 2.1rem !important;
  font-family: var(--cv-serif);
  font-size: clamp(2.1rem, 3.8vw, 3.8rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em;
}

.cv-field-note-editorial .fn-pivot--compact {
  margin-top: 1.4rem !important;
  font-size: clamp(1.85rem, 3vw, 3.05rem) !important;
}

.cv-field-note-editorial .fn-definition {
  max-width: 32ch !important;
  margin: 0 0 clamp(4rem, 7vw, 7rem) clamp(1rem, 7vw, 7rem) !important;
  padding-left: clamp(1rem, 2vw, 1.8rem);
  border-left: 3px solid var(--cv-lime);
  font-family: var(--cv-serif);
  font-size: clamp(1.3rem, 1.85vw, 1.9rem) !important;
  line-height: 1.32 !important;
}

.cv-field-note-editorial .fn-bridge {
  max-width: 42ch !important;
  margin-top: clamp(3rem, 5.5vw, 5.5rem) !important;
  margin-right: 0 !important;
  margin-bottom: clamp(7rem, 12vw, 12rem) !important;
  margin-left: auto !important;
  color: var(--cv-violet);
  font-family: var(--cv-serif);
  font-size: clamp(1.25rem, 1.65vw, 1.7rem) !important;
  line-height: 1.4 !important;
}

.cv-field-note-editorial .cv-field-note-body h2 {
  position: relative;
  max-width: 18ch;
  margin: clamp(4.5rem, 7vw, 6.8rem) 0 1.75rem;
  padding-top: 2.2rem;
  font-size: clamp(2rem, 3.25vw, 3.45rem);
  line-height: 1.02;
  counter-increment: fieldnote-section;
}

.cv-field-note-editorial .cv-field-note-body h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  border: 2px solid var(--cv-violet);
  border-radius: 50%;
  background: transparent;
  box-shadow: 17px 0 0 -1px var(--cv-lime), 34px 0 0 -2px var(--cv-vermilion);
}

.cv-field-note-editorial .cv-field-note-body h2::after {
  content: "0" counter(fieldnote-section);
  position: absolute;
  top: -.15rem;
  left: 58px;
  color: var(--cv-violet);
  font-family: var(--cv-sans);
  font-size: .68rem;
  font-weight: 720;
  letter-spacing: .12em;
}

.cv-field-note-editorial .cv-field-note-body h2 + p {
  max-width: 50ch;
  margin-bottom: clamp(2.8rem, 5vw, 5rem);
  font-family: var(--cv-serif);
  font-size: clamp(1.28rem, 1.8vw, 1.75rem);
  line-height: 1.42;
}

.cv-field-note-editorial .fn-process--questions span::before {
  content: "?";
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid var(--cv-violet);
  border-radius: 50%;
  line-height: 1;
}

.cv-field-note-editorial .fn-process--questions span:nth-child(3n + 2)::before {
  border-color: var(--cv-vermilion);
  color: var(--cv-vermilion);
}

.cv-field-note-editorial .fn-process--questions span:nth-child(3n)::before {
  border-color: var(--cv-lime);
  background: var(--cv-lime);
  color: var(--cv-ink);
}

.cv-field-note-editorial .cv-field-note-ending {
  position: relative;
  padding-left: clamp(1.2rem, 3vw, 2.4rem);
  border-top: 0;
  border-left: 4px solid var(--cv-violet);
}

@media (prefers-reduced-motion: no-preference) {
  .cv-field-note-editorial .cv-field-note-thread::after {
    animation: cv-field-note-progress 12s cubic-bezier(.4, 0, .2, 1) infinite alternate;
  }

  .cv-field-note-editorial .cv-field-note-thread i {
    animation: cv-field-note-node 12s ease-in-out infinite;
  }

  .cv-field-note-editorial .cv-field-note-thread i:nth-child(2) { animation-delay: -10s; }
  .cv-field-note-editorial .cv-field-note-thread i:nth-child(3) { animation-delay: -8s; }
  .cv-field-note-editorial .cv-field-note-thread i:nth-child(4) { animation-delay: -6s; }
  .cv-field-note-editorial .cv-field-note-thread i:nth-child(5) { animation-delay: -4s; }
  .cv-field-note-editorial .cv-field-note-thread i:nth-child(6) { animation-delay: -2s; }

  @keyframes cv-field-note-progress {
    0%, 8% { height: 0; }
    92%, 100% { height: calc(100% - 18px); }
  }

  @keyframes cv-field-note-node {
    0%, 76%, 100% { transform: scale(1); }
    86% { transform: scale(1.28); }
  }
}

@media (max-width: 760px) {
  .cv-field-note-editorial .cv-field-note-layout {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }

  .cv-field-note-editorial .cv-field-note-thread {
    position: relative;
    top: auto;
    grid-template: 32px / repeat(6, 1fr);
    align-items: center;
    width: min(100%, 360px);
    height: 32px;
  }

  .cv-field-note-editorial .cv-field-note-thread::before {
    inset: 50% 9px auto 9px;
    width: auto;
    height: 1px;
    transform: translateY(-50%);
  }

  .cv-field-note-editorial .cv-field-note-thread::after {
    inset: 50% auto auto 9px;
    width: 0;
    height: 1px;
    transform: translateY(-50%);
  }

  .cv-field-note-editorial .fn-scenario,
  .cv-field-note-editorial .fn-definition,
  .cv-field-note-editorial .fn-bridge {
    margin-left: 0 !important;
  }

  .cv-field-note-editorial .fn-process span {
    grid-template-columns: 28px minmax(0, 1fr);
  }

}

@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  .cv-field-note-editorial .cv-field-note-thread::after { animation-name: cv-field-note-progress-mobile; }

  @keyframes cv-field-note-progress-mobile {
    0%, 8% { width: 0; }
    92%, 100% { width: calc(100% - 18px); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .cv-field-note-editorial .cv-field-note-thread::after { height: calc(100% - 18px); }
  .cv-field-note-editorial .cv-field-note-thread i { animation: none; }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .cv-field-note-editorial .cv-field-note-thread::after {
    width: calc(100% - 18px);
    height: 1px;
  }
}

/* Published Field Notes */
.cv-insights .cv-card--published {
  position: relative;
  background: var(--cv-surface-violet);
}

.cv-insights .cv-card--clickable {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: background-color .45s ease, color .45s ease;
}

.cv-insights .cv-card--clickable:hover {
  background: color-mix(in srgb, var(--cv-surface-violet) 72%, var(--cv-paper));
}

.cv-insights .cv-card--clickable:hover h3 {
  color: var(--cv-violet);
}

.cv-insights .cv-card--clickable:focus-visible {
  outline: 3px solid var(--cv-violet);
  outline-offset: -3px;
}

.cv-insights .cv-card--published::before {
  content: "Published";
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: var(--cv-violet);
  font-size: .65rem;
  font-weight: 720;
  letter-spacing: .13em;
  text-transform: uppercase;
}

html[lang="de"] .cv-insights .cv-card--published::before {
  content: "Veröffentlicht";
}

.cv-field-note-layout {
  display: grid;
  grid-template-columns: minmax(180px, .32fr) minmax(0, .68fr);
  gap: clamp(2.5rem, 8vw, 9rem);
  padding: clamp(4rem, 8vw, 9rem) 7vw;
  border-top: 1px solid var(--cv-line);
}

.cv-field-note-layout aside {
  position: sticky;
  top: 8rem;
  align-self: start;
  padding-top: 1rem;
  border-top: 4px solid var(--cv-lime);
}

.cv-field-note-layout aside span {
  color: var(--cv-violet);
  font-size: .7rem;
  font-weight: 720;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cv-field-note-layout aside p {
  margin-top: 1rem;
  font-family: var(--cv-serif);
  font-size: clamp(1.4rem, 2.15vw, 2.3rem);
  line-height: 1.12;
}

.cv-field-note-body { max-width: 800px; }

.cv-field-note-body p {
  font-size: clamp(1.05rem, 1.22vw, 1.28rem);
  line-height: 1.68;
}

.cv-field-note-body .lead {
  font-family: var(--cv-serif);
  font-size: clamp(1.65rem, 2.65vw, 2.8rem);
  line-height: 1.18;
}

.cv-field-note-body h2 {
  max-width: 15ch;
  margin: clamp(4rem, 7vw, 7rem) 0 1.6rem;
  font-family: var(--cv-serif);
  font-size: clamp(2.25rem, 4.4vw, 4.8rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: .98;
}

.cv-field-note-body blockquote {
  margin: clamp(3rem, 6vw, 6rem) 0;
  padding: 1.5rem 0 1.5rem clamp(1.5rem, 4vw, 3.5rem);
  border-left: 5px solid var(--cv-vermilion);
  color: var(--cv-violet);
  font-family: var(--cv-serif);
  font-size: clamp(1.8rem, 3.3vw, 3.5rem);
  line-height: 1.08;
}

.cv-field-note-body a:not(.text-link) {
  color: var(--cv-blue);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.cv-field-note-ending {
  margin-top: clamp(4rem, 7vw, 7rem);
  padding-top: 1.6rem;
  border-top: 4px solid var(--cv-violet);
  font-family: var(--cv-serif);
  font-size: clamp(1.75rem, 3vw, 3.15rem) !important;
  line-height: 1.15 !important;
}

@media (max-width: 760px) {
  .cv-field-note-layout { grid-template-columns: 1fr; }
  .cv-field-note-layout aside { position: static; }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--charcoal);
  font-family: var(--sans);
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0;
  text-rendering: geometricPrecision;
}

body.nav-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

p,
h1,
h2,
h3 {
  margin: 0;
}

button {
  color: inherit;
  font: inherit;
}

::selection {
  background: var(--cobalt);
  color: var(--paper);
}

.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 100;
  transform: translateY(-160%);
  background: var(--cobalt);
  color: var(--paper);
  padding: 0.7rem 0.9rem;
  font-weight: 800;
  transition: transform 180ms ease;
}

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

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.site-shell {
  width: min(100%, 1440px);
  margin: 0 auto;
  border-right: 1px solid var(--line-dark);
  border-left: 1px solid var(--line-dark);
  background: rgba(244, 241, 235, 0.92);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 76px;
  padding: 0 38px;
  border-bottom: 1px solid rgba(244, 241, 235, 0.14);
  background: rgba(30, 35, 40, 0.84);
  backdrop-filter: blur(16px);
}

.brand {
  color: var(--paper);
  font-size: clamp(1.6rem, 3vw, 2.65rem);
  font-weight: 760;
  letter-spacing: -0.065em;
  line-height: 0.9;
  text-transform: uppercase;
  transition: color 180ms ease, opacity 180ms ease;
}

.site-footer strong {
  display: block;
  color: var(--cobalt);
  font-size: clamp(48px, 6vw, 80px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.95;
  text-transform: uppercase;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(1.3rem, 2.4vw, 2.8rem);
  color: var(--charcoal);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.site-nav a,
.text-link,
.project-card a,
.insight-grid a,
.site-footer a {
  color: var(--cobalt);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

.site-nav a {
  color: rgba(244, 241, 235, 0.9);
}

.site-nav .language-link {
  border: 1px solid rgba(244, 241, 235, 0.34);
  padding: 0.38rem 0.48rem 0.34rem;
  color: rgba(244, 241, 235, 0.82);
  font-size: 10px;
  line-height: 1;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a[aria-current="true"],
.text-link:hover,
.project-card a:hover,
.insight-grid a:hover,
.site-footer a:hover {
  color: var(--cobalt);
  box-shadow: inset 0 -0.35em 0 rgba(36, 70, 245, 0.18);
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(244, 241, 235, 0.24);
  background: transparent;
  cursor: pointer;
}

.nav-toggle span:not(.sr-only) {
  display: block;
  width: 18px;
  height: 1px;
  margin: 5px auto;
  background: var(--paper);
}

.hero-section {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  min-height: calc(100vh - 76px);
  border-bottom: 1px solid var(--line-dark);
  overflow: hidden;
  isolation: isolate;
  background: var(--paper);
}

.hero-section::after {
  position: absolute;
  inset: 0;
  z-index: 4;
  background:
    linear-gradient(90deg, rgba(11, 34, 40, 0.68) 0%, rgba(21, 127, 134, 0.28) 36%, rgba(30, 35, 40, 0.08) 74%),
    linear-gradient(180deg, rgba(30, 35, 40, 0.06), transparent 38%, rgba(7, 26, 30, 0.28)),
    linear-gradient(135deg, rgba(21, 127, 134, 0.12), transparent 48%);
  content: "";
  pointer-events: none;
}

.hero-copy {
  position: relative;
  z-index: 12;
  display: grid;
  align-content: start;
  grid-column: 1;
  grid-row: 1;
  width: min(68vw, 980px);
  min-height: calc(100vh - 76px);
  gap: clamp(1rem, 1.75vw, 2.1rem);
  padding: clamp(82px, 10vh, 112px) 32px clamp(34px, 6vh, 64px);
  transform: translate3d(0, var(--hero-copy-shift, 0px), 0);
  will-change: transform;
}

.hero-kicker {
  max-width: 34rem;
  color: rgba(244, 241, 235, 0.78);
  font-family: var(--mono);
  font-size: clamp(11px, 0.9vw, 13px);
  font-weight: 750;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.hero-copy h1 {
  max-width: 8.8em;
  color: var(--paper);
  font-size: clamp(54px, 6.2vw, 88px);
  font-weight: 620;
  letter-spacing: -0.044em;
  line-height: 0.96;
  text-transform: uppercase;
}

.hero-copy h1 span {
  color: #9fd7d2;
}

.hero-copy p {
  max-width: 39rem;
  color: rgba(244, 241, 235, 0.82);
  font-size: clamp(17px, 1.25vw, 20px);
  font-weight: 360;
  line-height: 1.48;
}

.hero-subline {
  max-width: 46rem;
  color: rgba(244, 241, 235, 0.92) !important;
  font-size: clamp(22px, 1.78vw, 29px) !important;
  font-weight: 430 !important;
  letter-spacing: -0.028em;
  line-height: 1.14 !important;
}

.hero-question {
  margin-top: clamp(0.8rem, 2vw, 1.8rem);
  color: var(--paper);
  font-family: "EB Garamond", "Cormorant Garamond", Georgia, serif;
  font-size: clamp(30px, 3.1vw, 48px);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.hero-body {
  display: grid;
  gap: clamp(1rem, 1.8vw, 1.6rem);
  max-width: 39rem;
  padding-top: clamp(1.2rem, 2.4vw, 2.2rem);
  border-top: 1px solid rgba(244, 241, 235, 0.2);
}

.hero-body p {
  max-width: 38rem;
  color: rgba(244, 241, 235, 0.8);
  font-size: clamp(17px, 1.18vw, 20px);
  font-weight: 360;
  line-height: 1.42;
}

.hero-body p:last-child {
  color: rgba(244, 241, 235, 0.92);
  font-size: clamp(20px, 1.55vw, 25px);
  font-weight: 430;
  letter-spacing: -0.02em;
  line-height: 1.22;
}

.hero-body .hero-question {
  margin-top: clamp(0.6rem, 1.7vw, 1.5rem);
  color: var(--paper);
  font-family: "EB Garamond", "Cormorant Garamond", Georgia, serif;
  font-size: clamp(30px, 3.1vw, 48px);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.hero-meta {
  max-width: 42rem;
  color: rgba(244, 241, 235, 0.66) !important;
  font-family: var(--mono);
  font-size: clamp(11px, 0.9vw, 13px) !important;
  font-weight: 760 !important;
  letter-spacing: 0.13em !important;
  line-height: 1.35 !important;
  text-transform: uppercase;
}

.hero-link {
  width: fit-content;
  margin-top: clamp(0.4rem, 1.2vw, 1.1rem);
  color: rgba(244, 241, 235, 0.82);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
}

.hero-link span {
  display: inline-block;
  margin-left: 0.5rem;
  transition: transform 180ms ease;
}

.hero-link:hover,
.hero-link:focus-visible {
  color: #b7d8d8;
}

.hero-link:hover span,
.hero-link:focus-visible span {
  transform: translateX(4px);
}

.asset {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.2) saturate(0.78) contrast(1.08);
}

.js .reveal-target {
  opacity: 1;
  transform: none;
  transition: none;
}

.js .reveal-target.is-visible {
  opacity: 1;
  transform: none;
}

.hero-art {
  position: absolute;
  inset: 0;
  grid-column: 1;
  grid-row: 1;
  min-height: 100%;
  overflow: hidden;
}

.hero-art::before {
  content: none;
}

.hero-art::after {
  content: none;
}

.hero-art .asset-river {
  inset: -13% 0;
  width: 100%;
  height: 126%;
  object-position: 52% 50%;
  transform: scale(1.09) translate3d(0, var(--hero-image-shift, 0px), 0);
  transform-origin: center center;
  filter: contrast(1.12) saturate(0.92) brightness(0.94);
  will-change: transform;
}

.chapter-cards {
  display: grid;
  grid-template-columns: 1fr;
  border-bottom: 1px solid var(--line-dark);
}

.chapter-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(76px, 0.1fr) minmax(300px, 0.4fr) minmax(320px, 0.5fr);
  min-height: 176px;
  align-items: center;
  gap: clamp(1.5rem, 5vw, 5rem);
  overflow: hidden;
  border-right: 0;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(30px, 4.2vw, 58px) 32px;
}

.chapter-card:last-child {
  border-bottom: 0;
}

.chapter-card span,
.section-head span,
.feature-copy span,
.about-copy span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.2;
  text-transform: uppercase;
}

.chapter-card h2,
.section-head h2,
.feature-copy h2,
.about-copy h2 {
  max-width: 11em;
  font-size: clamp(60px, 5.8vw, 72px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}

.chapter-card h2 {
  max-width: 10em;
  color: var(--charcoal);
  font-size: clamp(34px, 4vw, 58px);
  line-height: 0.96;
}

.chapter-card p {
  max-width: 42rem;
  color: var(--muted);
  font-size: clamp(19px, 1.7vw, 24px);
  line-height: 1.38;
}

.chapter-card::before {
  position: absolute;
  left: 32px;
  bottom: -1px;
  width: clamp(90px, 14vw, 220px);
  height: 2px;
  background: var(--cobalt);
  content: "";
}

.fields-section .chapter-card h2 {
  max-width: 11em;
  font-size: clamp(34px, 4vw, 58px);
}

.fields-section {
  display: block;
}

.change-root-essay {
  display: grid;
  grid-template-columns: minmax(170px, 0.22fr) minmax(320px, 0.78fr);
  gap: clamp(1.5rem, 4vw, 5rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(54px, 6vw, 88px) 32px clamp(62px, 7vw, 104px);
  background:
    linear-gradient(90deg, rgba(21, 127, 134, 0.045) 0 22%, transparent 22%),
    linear-gradient(180deg, rgba(21, 127, 134, 0.035), transparent 46%),
    var(--paper);
  color: var(--charcoal);
}

.change-root-essay > span {
  max-width: 14rem;
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.2;
  text-transform: uppercase;
  transform: translate3d(0, var(--change-label-shift, 0px), 0);
  will-change: transform;
}

.change-root-copy {
  display: grid;
  gap: clamp(0.9rem, 1.4vw, 1.25rem);
  max-width: 680px;
  transform: translate3d(0, var(--change-copy-shift, 0px), 0);
  will-change: transform;
}

.change-root-copy p {
  max-width: 650px;
  color: rgba(30, 35, 40, 0.76);
  font-size: clamp(18px, 1.28vw, 21px);
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.42;
  opacity: 1 !important;
  visibility: visible !important;
}

.change-root-copy .change-root-anchor {
  max-width: 12.5em;
  margin: clamp(1rem, 2.2vw, 2rem) 0;
  color: var(--charcoal);
  font-size: clamp(32px, 3.8vw, 58px);
  font-weight: 650;
  letter-spacing: -0.052em;
  line-height: 0.98;
}

.change-root-copy .change-root-question {
  max-width: 13em;
  margin-top: clamp(1rem, 2.2vw, 2rem);
  color: var(--charcoal);
  font-family: "EB Garamond", "Cormorant Garamond", Georgia, serif;
  font-size: clamp(30px, 3.3vw, 48px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.question-block {
  display: grid;
  grid-template-columns: minmax(180px, 0.22fr) minmax(420px, 0.78fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(64px, 8vw, 118px) 32px;
}

.question-block span,
.core-areas span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.2;
  text-transform: uppercase;
}

.question-block h2 {
  max-width: 12em;
  color: var(--charcoal);
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.96;
}

.question-block p {
  max-width: 68ch;
  color: var(--muted);
  font-size: clamp(19px, 1.55vw, 23px);
  line-height: 1.5;
}

.narrative-text {
  grid-column: 2;
  display: grid;
  gap: clamp(3.8rem, 7vw, 7rem);
  width: min(100%, 850px);
}

.narrative-text article {
  display: grid;
  gap: 1rem;
}

.narrative-text p {
  grid-column: auto;
  max-width: 100%;
}

.what-section,
.why-section {
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(360px, 0.58fr);
  gap: clamp(2.5rem, 7vw, 8rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(64px, 8vw, 122px) 32px;
  background:
    linear-gradient(90deg, rgba(21, 127, 134, 0.06) 0 34%, transparent 34%),
    linear-gradient(180deg, rgba(21, 127, 134, 0.035), transparent 52%),
    var(--paper);
}

.what-section .section-head,
.why-section .section-head {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 1rem;
  margin: 0;
}

.what-copy {
  display: grid;
  gap: 1.15rem;
  max-width: 820px;
}

.what-copy p {
  max-width: 68ch;
  color: var(--muted);
  font-size: clamp(19px, 1.55vw, 23px);
  line-height: 1.5;
}

.what-copy p:first-child,
.what-copy p:last-of-type {
  color: var(--charcoal);
  font-size: clamp(24px, 2.35vw, 36px);
  font-weight: 620;
  letter-spacing: -0.04em;
  line-height: 1.14;
}

.why-exists-section {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, 0.38fr) minmax(360px, 0.62fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: start;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(80px, 10vw, 150px) 32px clamp(96px, 12vw, 180px);
  background:
    linear-gradient(90deg, rgba(21, 127, 134, 0.12) 0 35%, transparent 35%),
    linear-gradient(180deg, rgba(21, 127, 134, 0.035), rgba(21, 127, 134, 0.065)),
    var(--paper);
}

.why-exists-image {
  position: sticky;
  top: clamp(92px, 10vh, 128px);
  width: min(100%, 460px);
  height: min(580px, calc(100svh - 156px));
  min-height: 460px;
  aspect-ratio: 0.86 / 1;
  justify-self: start;
  align-self: start;
}

.why-exists-image img {
  object-position: 50% 44%;
  transform: scale(1.12) translate3d(0, var(--image-scroll-shift, 0px), 0);
  transform-origin: center center;
  will-change: transform;
}

.why-exists-copy {
  display: grid;
  gap: clamp(1rem, 1.55vw, 1.35rem);
  max-width: 720px;
}

.why-exists-copy span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.why-exists-copy h2 {
  max-width: 11em;
  color: var(--charcoal);
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 0.95;
  margin-bottom: clamp(1rem, 3vw, 2.4rem);
}

.why-exists-copy p {
  max-width: 58ch;
  color: var(--muted);
  font-size: clamp(17px, 1.28vw, 20px);
  line-height: 1.58;
}

.why-exists-copy .essay-marker,
.why-exists-copy .essay-list {
  color: var(--charcoal);
  font-size: clamp(24px, 2.45vw, 38px);
  font-weight: 650;
  letter-spacing: -0.045em;
  line-height: 1.06;
  margin-top: clamp(1.4rem, 3.6vw, 3rem);
}

.why-exists-copy .essay-list {
  max-width: 14em;
}

.how-work-section {
  align-items: start;
}

.how-work-section .what-copy {
  align-self: start;
}

.process-steps {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 1240px;
  margin-top: clamp(1.5rem, 4vw, 4rem);
  border-top: 1px solid var(--line-dark);
}

.process-steps article {
  display: grid;
  align-content: start;
  gap: clamp(0.8rem, 1.8vw, 1.4rem);
  min-height: 300px;
  border-right: 1px solid var(--line-dark);
  padding: clamp(24px, 3.5vw, 44px);
}

.process-steps article:first-child {
  padding-left: 0;
}

.process-steps article:last-child {
  border-right: 0;
  padding-right: 0;
}

.process-steps span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
}

.process-steps h3 {
  max-width: 10em;
  color: var(--charcoal);
  font-size: clamp(32px, 4vw, 58px);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 0.94;
}

.process-steps p {
  max-width: 25rem;
  color: var(--muted);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.45;
}

.orientation-section {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, 0.42fr) minmax(360px, 0.58fr);
  gap: clamp(2.5rem, 7vw, 8rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(64px, 8vw, 122px) 32px;
  background:
    linear-gradient(90deg, rgba(21, 127, 134, 0.06) 0 36%, transparent 36%),
    linear-gradient(180deg, transparent, rgba(21, 127, 134, 0.035)),
    var(--paper);
  overflow: hidden;
}

.orientation-head {
  position: sticky;
  top: 110px;
  display: grid;
  align-content: start;
  gap: clamp(1.2rem, 3vw, 2.6rem);
  color: var(--charcoal);
}

.orientation-head span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.2;
  text-transform: uppercase;
}

.orientation-head h2 {
  max-width: 8.4em;
  color: var(--charcoal);
  font-size: clamp(50px, 5.8vw, 88px);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 0.92;
  text-transform: uppercase;
}

.orientation-head p {
  max-width: 31rem;
  color: var(--muted);
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.48;
}

.orientation-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.6rem);
  align-self: start;
}

.orientation-grid article {
  position: relative;
  display: grid;
  grid-template-columns: minmax(56px, 0.14fr) minmax(240px, 0.86fr);
  align-content: start;
  gap: clamp(1rem, 3vw, 2.2rem);
  border-top: 1px solid var(--line-dark);
  padding: clamp(28px, 4vw, 48px) 0;
}

.orientation-grid article:last-child {
  border-bottom: 1px solid var(--line-dark);
}

.orientation-grid article::after {
  position: absolute;
  left: 0;
  bottom: -1px;
  width: clamp(76px, 12vw, 160px);
  height: 3px;
  background: var(--cobalt);
  content: "";
}

.orientation-grid article:nth-child(2)::after {
  background: var(--teal);
}

.orientation-grid article > span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: clamp(22px, 3vw, 38px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.9;
}

.orientation-grid article:nth-child(2) > span {
  color: var(--teal);
}

.orientation-grid h3 {
  max-width: 12em;
  color: var(--charcoal);
  font-size: clamp(30px, 3.4vw, 52px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.orientation-grid p {
  grid-column: 2;
  max-width: 62ch;
  color: var(--muted);
  font-size: clamp(18px, 1.42vw, 21px);
  line-height: 1.5;
}

.orientation-note {
  grid-column: 2;
  max-width: 68ch;
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
  color: var(--charcoal);
  font-size: clamp(18px, 1.45vw, 21px);
  font-weight: 560;
  line-height: 1.45;
}

.core-section {
  position: relative;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(64px, 8vw, 112px) 32px clamp(42px, 6vw, 72px);
}

.core-section .section-head {
  max-width: 1120px;
  margin-bottom: clamp(36px, 6vw, 76px);
}

.core-areas {
  display: grid;
  gap: 0;
  max-width: 1240px;
}

.core-areas article {
  display: grid;
  grid-template-columns: minmax(90px, 0.14fr) minmax(240px, 0.28fr) minmax(320px, 0.58fr);
  gap: clamp(1.5rem, 4vw, 4.5rem);
  align-items: start;
  border-top: 1px solid var(--line-dark);
  padding: clamp(38px, 5vw, 66px) 0;
}

.core-areas article:nth-child(3) {
  border-bottom: 1px solid var(--line-dark);
}

.core-areas article:nth-child(3) span,
.core-areas article:nth-child(3) h3 {
  color: var(--teal);
}

.core-areas span {
  font-family: var(--font);
  font-size: clamp(58px, 9vw, 140px);
  font-weight: 700;
  letter-spacing: -0.07em;
  line-height: 0.82;
}

.core-areas h3 {
  max-width: 8em;
  color: var(--charcoal);
  font-size: clamp(44px, 5vw, 74px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.94;
}

.core-areas p {
  grid-column: 3;
  max-width: 56ch;
  color: var(--muted);
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.45;
}

.core-areas .core-kicker {
  max-width: 24ch;
  color: var(--charcoal);
  font-size: clamp(24px, 2.25vw, 34px);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.core-areas .core-emphasis {
  max-width: 28ch;
  margin-top: 1rem;
  color: var(--charcoal);
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 650;
  letter-spacing: -0.045em;
  line-height: 1;
}

.core-areas ul {
  grid-column: 3;
  display: grid;
  gap: 0.7rem;
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
}

.core-areas li {
  border-top: 1px solid currentColor;
  padding-top: 0.7rem;
  color: rgba(30, 35, 40, 0.64);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.fields-intro {
  display: grid;
  grid-template-columns: minmax(260px, 0.36fr) minmax(320px, 0.64fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(48px, 6vw, 84px) 32px;
}

.fields-intro span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.2;
  text-transform: uppercase;
}

.fields-intro h2 {
  max-width: 11em;
  color: var(--charcoal);
  font-size: clamp(46px, 5.5vw, 86px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.94;
}

.fields-intro p {
  grid-column: 2;
  max-width: 64ch;
  color: var(--muted);
  font-size: clamp(19px, 1.7vw, 24px);
  line-height: 1.42;
}

.editorial-illustration {
  margin: 0;
}

.editorial-illustration img {
  display: block;
  width: 100%;
  height: auto;
}

.editorial-illustration figcaption {
  max-width: 48ch;
  margin-top: 0.85rem;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.45;
  text-transform: uppercase;
}

.editorial-illustration--wide {
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(34px, 5vw, 70px) 32px;
}

.editorial-illustration--wide img {
  max-height: 420px;
  object-fit: contain;
}

.fields-section .chapter-card:nth-of-type(1)::before {
  background: var(--teal);
  height: 5px;
}

.fields-section .chapter-card:nth-of-type(1) span,
.fields-section .chapter-card:nth-of-type(1) h2 {
  color: var(--teal);
}

.fields-section .chapter-card:last-of-type h2 {
  color: var(--cobalt);
}

.fields-essay {
  display: grid;
  gap: clamp(2.2rem, 4vw, 4.5rem);
  max-width: 1120px;
  padding: clamp(52px, 7vw, 104px) 32px;
}

.fields-essay .editorial-illustration--inline {
  width: min(520px, 72vw);
  margin-left: clamp(64px, 12vw, 180px);
}

.fields-essay .editorial-illustration--inline img {
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.fields-essay p {
  display: grid;
  grid-template-columns: minmax(64px, 0.12fr) minmax(280px, 0.88fr);
  gap: clamp(1.2rem, 4vw, 4.8rem);
  max-width: 1060px;
  color: var(--muted);
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.28;
}

.fields-essay span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.2;
}

.fields-essay strong {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--charcoal);
  font-size: clamp(36px, 5vw, 76px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.94;
}

.fields-essay p:nth-child(4) span,
.fields-essay p:nth-child(4) strong {
  color: var(--teal);
}

.fields-essay p:last-child strong {
  color: var(--cobalt);
}

.panel-grid,
.work-section,
.insights-section,
.about-section,
.greenstage-feature,
.site-footer {
  position: relative;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(56px, 7vw, 96px) 32px;
}

.approach-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.55fr) minmax(320px, 0.8fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  min-height: 380px;
  background:
    linear-gradient(90deg, transparent 0 68%, rgba(0, 55, 255, 0.92) 68% 100%),
    var(--paper);
}

.places-section,
.learning-capability-section {
  grid-template-columns: minmax(320px, 0.46fr) minmax(320px, 0.54fr);
  min-height: 500px;
  background: var(--paper);
}

.learning-capability-section {
  background: var(--cobalt);
  color: var(--paper);
}

.learning-capability-section .approach-statement p,
.learning-capability-section .text-link {
  color: var(--paper);
}

.learning-capability-section .approach-copy p {
  color: rgba(245, 242, 234, 0.9);
}

.approach-statement p {
  max-width: 12em;
  color: var(--cobalt);
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 600;
  letter-spacing: -0.06em;
  line-height: 1.02;
}

.approach-copy {
  display: grid;
  gap: 1rem;
}

.approach-copy p {
  max-width: 34rem;
  font-size: 18px;
  line-height: 1.45;
}

.section-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: start;
  margin-bottom: 34px;
}

.section-head span,
.section-head h2 {
  grid-column: 1;
}

.section-head .text-link {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
}

.section-intro {
  grid-column: 1;
  max-width: 58rem;
  color: var(--muted);
  font-size: clamp(19px, 1.55vw, 23px);
  line-height: 1.48;
}

.section-bridge {
  max-width: 66ch;
  margin-top: clamp(2rem, 4vw, 3.5rem);
  color: var(--charcoal);
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 560;
  letter-spacing: -0.035em;
  line-height: 1.22;
}

.section-bridge--about {
  grid-column: 1 / -1;
  max-width: 860px;
  margin: 0 0 clamp(2.2rem, 5vw, 4.5rem);
  color: var(--cobalt);
}

.project-grid,
.insight-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--line-dark);
}

.work-section {
  background:
    linear-gradient(180deg, rgba(0, 55, 255, 0.08), transparent 38%),
    var(--paper);
}

.work-section .section-head h2 {
  color: var(--cobalt);
}

.practice-intro {
  display: grid;
  grid-template-columns: minmax(260px, 0.36fr) minmax(320px, 0.64fr);
  gap: clamp(2rem, 5vw, 5rem);
  max-width: 980px;
  margin-bottom: 36px;
}

.practice-intro p {
  max-width: 70ch;
  font-size: 22px;
  line-height: 1.5;
}

.practice-intro p:first-child {
  color: var(--cobalt);
  font-size: clamp(34px, 4vw, 56px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.practice-timeline {
  display: grid;
  grid-auto-columns: minmax(360px, 42vw);
  grid-auto-flow: column;
  gap: 1px;
  margin-inline: -32px;
  overflow-x: auto;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  scroll-snap-type: x proximity;
}

.practice-panel {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 560px;
  gap: 1.8rem;
  overflow: hidden;
  padding: 32px;
  border-right: 1px solid var(--line-light);
  color: var(--paper);
  scroll-snap-align: start;
}

.practice-panel::before,
.practice-panel::after {
  content: none;
}

.practice-panel > * {
  position: relative;
  z-index: 5;
}

.practice-panel span {
  color: rgba(245, 242, 234, 0.74);
  font-family: var(--mono);
  font-size: clamp(34px, 5vw, 72px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.88;
  text-transform: uppercase;
}

.practice-panel h3 {
  margin-top: 1.2rem;
  max-width: 7em;
  font-size: clamp(46px, 6vw, 88px);
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: 0.9;
  text-transform: uppercase;
}

.practice-panel p {
  max-width: 62ch;
  font-size: 18px;
  line-height: 1.45;
}

.practice-panel div p {
  margin-top: 0.7rem;
}

.practice-panel ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-content: start;
  margin: 0;
  padding: 0;
  list-style: none;
}

.practice-panel li {
  border: 1px solid rgba(245, 242, 234, 0.46);
  padding: 0.42rem 0.55rem;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.practice-panel img {
  display: none;
}

.practice-panel--cobalt {
  background: var(--cobalt);
}

.practice-panel--teal,
.practice-panel--greenstage {
  background: var(--teal);
}

.practice-panel--cobalt-alt {
  background: var(--cobalt);
}

.practice-panel--mixed {
  border-right-color: var(--line-dark);
  background: var(--paper);
  color: var(--charcoal);
}

.practice-panel--greenstage span,
.practice-panel--greenstage li {
  color: rgba(245, 242, 234, 0.76);
}

.practice-panel--mixed span {
  color: var(--cobalt);
}

.practice-panel--mixed li {
  border-color: rgba(18, 20, 23, 0.22);
}

.creative-industries-section,
.networks-section,
.connect-section {
  position: relative;
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(56px, 7vw, 96px) 32px;
}

.creative-industries-section {
  grid-template-columns: minmax(320px, 0.42fr) minmax(320px, 0.58fr);
  align-items: center;
  background: var(--paper);
}

.creative-industries-section .section-head {
  align-self: start;
  margin-bottom: 0;
}

.creative-industries-section .section-head h2 {
  color: var(--cobalt);
}

.editorial-text {
  display: grid;
  gap: 1rem;
}

.editorial-text p {
  max-width: 70ch;
  font-size: 22px;
  line-height: 1.5;
}

.editorial-text p:first-child {
  color: var(--cobalt);
  font-size: clamp(30px, 3.8vw, 52px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.networks-section {
  grid-template-columns: minmax(280px, 0.42fr) minmax(360px, 0.58fr);
  align-items: start;
  background: var(--paper);
}

.networks-section .section-head {
  max-width: 760px;
  margin-bottom: 0;
}

.networks-section .editorial-text {
  align-self: end;
  max-width: 760px;
  margin-bottom: 0;
}

.networks-section .editorial-text p:first-child {
  max-width: 22em;
  color: var(--charcoal);
  font-size: clamp(24px, 2.2vw, 36px);
  line-height: 1.08;
}

.network-map {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  overflow: visible;
  border-top: 1px solid var(--line-dark);
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  background: transparent;
}

.network-map::before {
  content: none;
}

.network-map article {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(280px, 0.38fr) minmax(320px, 0.62fr);
  align-content: start;
  min-height: auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(24px, 3.4vw, 42px) 0;
  background: transparent;
}

.network-map article::before {
  display: block;
  width: clamp(56px, 7vw, 110px);
  height: 4px;
  margin-bottom: 0.2rem;
  background: var(--cobalt);
  content: "";
  grid-column: 1 / -1;
}

.network-map article:nth-child(2)::before {
  background: var(--teal);
}

.network-map article:nth-child(3)::before {
  background: var(--cobalt);
}

.network-map article:nth-child(2) h3 {
  color: var(--teal);
}

.network-map article:nth-child(3) {
  background:
    linear-gradient(90deg, rgba(21, 127, 134, 0.055), transparent 54%);
}

.network-map span,
.connect-section span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.network-map h3 {
  max-width: 12em;
  color: var(--charcoal);
  font-size: clamp(26px, 3vw, 44px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
  text-transform: uppercase;
}

.network-map p {
  max-width: 62ch;
  color: var(--muted);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.45;
}

.network-map article > div {
  display: grid;
  gap: 1.1rem;
}

.network-map .network-record {
  max-width: 72ch;
  border-top: 1px solid rgba(30, 35, 40, 0.18);
  padding-top: 0.9rem;
  color: rgba(30, 35, 40, 0.64);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.connect-section {
  grid-template-columns: minmax(280px, 0.42fr) minmax(320px, 0.58fr);
  background:
    linear-gradient(90deg, rgba(0, 55, 255, 0.94) 0 32%, transparent 32%),
    var(--paper);
}

.connect-section h2 {
  max-width: 9em;
  color: var(--paper);
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.95;
  text-transform: uppercase;
}

.connect-section div:first-child span {
  color: rgba(245, 242, 234, 0.74);
}

.connect-section div:last-child {
  display: grid;
  gap: 1.2rem;
  align-content: start;
}

.connect-section p {
  max-width: 70ch;
  font-size: 22px;
  line-height: 1.5;
}

.project-card,
.insight-grid article {
  position: relative;
  display: grid;
  gap: 1rem;
}

.project-card {
  min-width: 0;
}

.project-card:nth-child(2) {
  color: var(--paper);
  background: var(--cobalt);
  padding: 18px;
}

.project-card:nth-child(4) {
  color: var(--paper);
  background: var(--teal);
  padding: 18px;
}

.project-card:nth-child(2) a,
.project-card:nth-child(4) a {
  color: var(--paper);
}

.project-card img,
.insight-grid img {
  width: 100%;
  aspect-ratio: 1.12 / 1;
  object-fit: cover;
  filter: grayscale(0.2) saturate(0.78) contrast(1.06);
}

.project-card::after,
.insight-grid article::after {
  content: none;
}

.insight-grid article::after {
  content: none;
}

.project-card h3,
.insight-grid h3 {
  max-width: 20rem;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  text-transform: uppercase;
}

.project-card p {
  max-width: 24rem;
  font-size: 16px;
  line-height: 1.4;
}

.greenstage-feature {
  display: grid;
  grid-template-columns: minmax(320px, 0.58fr) minmax(260px, 0.42fr);
  gap: clamp(1.8rem, 4vw, 4rem);
  min-height: 620px;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(90deg, var(--teal) 0 72%, #0f6f76 72% 100%);
  color: var(--paper);
}

.greenstage-feature .feature-copy span,
.greenstage-feature .text-link {
  color: rgba(245, 242, 234, 0.78);
}

.feature-copy {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 1.2rem;
  transform: translate3d(0, var(--greenstage-copy-shift, 0px), 0);
  will-change: transform;
}

.greenstage-feature .feature-copy h2 {
  max-width: 7em;
  font-size: clamp(62px, 8vw, 112px);
  line-height: 0.9;
}

.feature-copy p {
  max-width: 34rem;
  font-size: 18px;
  line-height: 1.45;
}

.feature-copy p:first-of-type {
  color: var(--paper);
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.feature-copy p:first-of-type::after {
  display: block;
  width: 64px;
  height: 3px;
  margin-top: 1.5rem;
  background: var(--copper);
  content: "";
}

.field-artefact {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line-dark);
  background:
    linear-gradient(135deg, rgba(244, 241, 235, 0.1), rgba(30, 35, 40, 0.08)),
    var(--charcoal);
}

.field-artefact::before {
  position: absolute;
  inset: 12px;
  z-index: 2;
  border: 1px solid rgba(244, 241, 235, 0.2);
  content: "";
  pointer-events: none;
}

.field-artefact::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(30, 35, 40, 0.04), rgba(30, 35, 40, 0.32)),
    linear-gradient(90deg, rgba(21, 127, 134, 0.16), transparent 56%);
  content: "";
  mix-blend-mode: screen;
  pointer-events: none;
}

.field-artefact img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.18) saturate(0.68) contrast(1.08) brightness(0.9);
  transform: scale(1.025);
  transform-origin: center;
}

.field-artefact figcaption {
  position: absolute;
  left: 22px;
  bottom: 20px;
  z-index: 3;
  max-width: min(24rem, calc(100% - 48px));
  color: rgba(245, 242, 234, 0.82);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
}

.greenstage-explore {
  position: relative;
  z-index: 3;
  display: grid;
  gap: clamp(1rem, 2vw, 1.6rem);
  transform: translate3d(0, var(--greenstage-nav-shift, 0px), 0);
  will-change: transform;
}

.greenstage-explore h3 {
  color: rgba(245, 242, 234, 0.78);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.greenstage-sequence {
  position: relative;
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  color: var(--paper);
  counter-reset: sequence;
  list-style: none;
}

.greenstage-sequence li {
  position: relative;
  border-top: 1px solid rgba(245, 242, 234, 0.34);
  padding: 0.78rem 0 0.7rem;
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.95;
  text-transform: uppercase;
}

.greenstage-sequence li::before {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--copper);
  content: "0" counter(sequence);
  counter-increment: sequence;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.insight-grid img {
  aspect-ratio: 1.45 / 0.72;
}

.insight-grid span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.insight-grid h3 {
  max-width: 18em;
  font-size: clamp(32px, 4vw, 58px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.98;
  text-transform: none;
}

.insights-section {
  display: grid;
  grid-template-columns: minmax(280px, 0.38fr) minmax(320px, 0.62fr);
  gap: clamp(2rem, 6vw, 7rem);
  background: var(--paper);
}

.insights-section .section-head {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(280px, 0.38fr) minmax(320px, 0.62fr);
  gap: clamp(2rem, 6vw, 7rem);
  max-width: 1180px;
  margin-bottom: 0;
}

.insights-section .section-head span {
  grid-column: 1;
}

.insights-section .section-head h2,
.insights-section .section-head .section-intro,
.insights-section .section-head .text-link {
  grid-column: 2;
}

.field-artefact--threshold {
  position: sticky;
  top: clamp(92px, 10vh, 128px);
  border-color: transparent;
  background: var(--charcoal);
  box-shadow:
    0 32px 80px rgba(15, 76, 82, 0.18),
    0 1px 0 rgba(21, 127, 134, 0.18);
}

.field-artefact--threshold::before {
  inset: 0;
  border: 0;
  background:
    linear-gradient(180deg, rgba(245, 242, 234, 0.04), transparent 56%, rgba(30, 35, 40, 0.08)),
    linear-gradient(90deg, rgba(30, 35, 40, 0.08), transparent 30% 78%, rgba(30, 35, 40, 0.14));
}

.field-artefact--threshold::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(180deg, transparent 0 34%, rgba(21, 127, 134, 0.18) 68%, rgba(7, 42, 45, 0.2)),
    linear-gradient(120deg, rgba(21, 127, 134, 0.16), transparent 48%);
  content: "";
  mix-blend-mode: normal;
  opacity: 0.3;
  pointer-events: none;
}

.field-artefact--threshold img {
  filter: saturate(0.82) contrast(1.14) brightness(0.92) hue-rotate(-8deg);
  object-position: 48% 30%;
  transform: scale(1.16) translate3d(0, var(--image-scroll-shift, 0px), 0);
  transform-origin: center center;
  will-change: transform;
}

.field-artefact--threshold figcaption {
  display: none;
}

.insight-grid article {
  grid-template-columns: minmax(180px, 0.24fr) minmax(280px, 0.62fr) auto;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  min-height: 190px;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(28px, 4vw, 54px) 0;
}

.insight-grid article:last-child {
  border-bottom: 0;
}

.about-section {
  display: grid;
  grid-template-columns: minmax(360px, 0.58fr) minmax(300px, 0.42fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: stretch;
  min-height: 640px;
  background: var(--paper);
}

.about-copy {
  display: grid;
  gap: 1rem;
}

.about-copy--name {
  align-self: center;
  max-width: 820px;
}

.about-founder-wrap {
  position: relative;
  display: grid;
  align-content: end;
  min-height: 520px;
  overflow: hidden;
  padding: clamp(28px, 4vw, 46px);
  background: var(--teal);
}

.about-founder-wrap::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(180deg, rgba(0, 122, 135, 0.18), rgba(30, 35, 40, 0.72)),
    linear-gradient(90deg, rgba(244, 241, 235, 0.1), transparent 42%);
  content: "";
  pointer-events: none;
}

.about-copy--founder {
  position: relative;
  z-index: 5;
  align-self: end;
  max-width: 420px;
}

.about-copy h2 {
  max-width: 10em;
  font-size: clamp(44px, 5.4vw, 76px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.96;
}

.about-copy p {
  max-width: 48rem;
  color: var(--muted);
  font-size: clamp(17px, 1.25vw, 19px);
  line-height: 1.52;
}

.about-copy--founder span,
.about-copy--founder p,
.about-copy--founder .text-link {
  color: rgba(244, 241, 235, 0.86);
}

.about-copy .pronunciation {
  display: flex;
  gap: 0.8rem;
  align-items: baseline;
  width: min(100%, 460px);
  margin-top: clamp(1.4rem, 3vw, 2.6rem);
  border-top: 1px solid var(--line-dark);
  padding-top: 0.9rem;
  color: var(--charcoal);
  font-size: clamp(18px, 1.6vw, 23px);
  font-weight: 560;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.about-copy .pronunciation span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.about-art {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--teal);
  opacity: 1;
}

.about-art .founder-photo {
  inset: -10% -20% -8% -18%;
  width: 140%;
  height: 120%;
  object-fit: cover;
  object-position: 55% 38%;
  filter: grayscale(0.38) saturate(0.52) contrast(1.14);
  opacity: 0.42;
}

.about-art::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(0, 122, 135, 0.7);
  content: "";
  mix-blend-mode: multiply;
  pointer-events: none;
}

.about-art::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(135deg, rgba(244, 241, 235, 0.16), transparent 44%),
    linear-gradient(0deg, rgba(30, 35, 40, 0.42), transparent 62%);
  content: "";
  pointer-events: none;
}

.site-footer {
  display: grid;
  grid-template-columns: minmax(320px, 0.7fr) minmax(220px, 0.3fr);
  gap: clamp(2rem, 6vw, 6rem);
  min-height: 300px;
  align-items: center;
}

.site-footer p {
  max-width: 36rem;
  margin-top: 1rem;
  font-size: 22px;
  line-height: 1.35;
}

.site-footer nav {
  display: grid;
  gap: 0.8rem;
}

.page-hero,
.project-hero,
.founder-page,
.contact-page {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 0.56fr) minmax(280px, 0.44fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  min-height: 520px;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(56px, 7vw, 96px) 32px;
}

.page-hero--cobalt {
  background: var(--cobalt);
  color: var(--paper);
}

.page-hero span,
.project-hero span,
.founder-page span,
.contact-page span,
.service-list span,
.project-narrative span,
.trajectory-list span,
.insight-wall span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.page-hero--cobalt span,
.contact-page span,
.contact-page h1 {
  color: rgba(245, 242, 234, 0.74);
}

.page-hero h1,
.project-hero h1,
.founder-page h1,
.contact-page h1 {
  max-width: 8em;
  font-size: clamp(62px, 7vw, 104px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.92;
  text-transform: uppercase;
}

.page-hero p,
.project-hero p,
.founder-page p,
.contact-page p {
  max-width: 34rem;
  font-size: 22px;
  line-height: 1.5;
}

.editorial-split {
  display: grid;
  grid-template-columns: minmax(280px, 0.45fr) minmax(320px, 0.55fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(56px, 7vw, 96px) 32px;
}

.editorial-split--text {
  grid-template-columns: minmax(320px, 0.72fr);
  justify-content: end;
}

.page-art,
.founder-page-art {
  position: relative;
  min-height: 430px;
  overflow: hidden;
}

.page-copy {
  display: grid;
  gap: 1.4rem;
}

.page-copy h2 {
  color: var(--cobalt);
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}

.page-copy p {
  max-width: 70ch;
  font-size: 22px;
  line-height: 1.5;
}

.practice-page {
  display: grid;
  gap: clamp(3rem, 7vw, 7rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(64px, 8vw, 118px) 32px;
}

.practice-page .page-copy {
  max-width: 880px;
}

.practice-statements {
  display: grid;
  border-top: 1px solid var(--line-dark);
}

.practice-statements article {
  display: grid;
  grid-template-columns: minmax(90px, 0.14fr) minmax(260px, 0.36fr) minmax(300px, 0.5fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(34px, 5vw, 64px) 0;
}

.practice-statements span {
  color: var(--cobalt);
  font-family: var(--font);
  font-size: clamp(50px, 8vw, 118px);
  font-weight: 700;
  letter-spacing: -0.07em;
  line-height: 0.82;
}

.practice-statements h2 {
  max-width: 9em;
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.practice-statements p {
  max-width: 48ch;
  color: var(--muted);
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.48;
}

.founder-note {
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(320px, 0.58fr);
  gap: clamp(2rem, 5vw, 5rem);
  max-width: none;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(58px, 8vw, 112px) 32px;
}

.founder-note h2 {
  max-width: 12em;
  color: var(--charcoal);
  font-size: clamp(34px, 4vw, 56px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.founder-note p {
  max-width: 66ch;
  color: var(--muted);
  font-size: clamp(19px, 1.5vw, 22px);
  line-height: 1.5;
}

.founder-note .pronunciation {
  margin-top: 0.8rem;
  color: var(--charcoal);
  font-weight: 650;
}

.founder-name-note {
  display: grid;
  gap: 1rem;
  max-width: 760px;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(58px, 8vw, 104px) 32px;
}

.founder-name-note > span,
.founder-name-note .pronunciation span {
  color: var(--teal);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.founder-name-note h2 {
  max-width: 11em;
  color: var(--charcoal);
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.founder-name-note p {
  max-width: 66ch;
  color: var(--muted);
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.5;
}

.founder-name-note .pronunciation {
  margin-top: 0.6rem;
  color: var(--charcoal);
  font-weight: 650;
}

.service-list,
.project-narrative,
.trajectory-list,
.insight-wall {
  display: grid;
  border-bottom: 1px solid var(--line-dark);
}

.service-list article,
.trajectory-list article,
.insight-wall article {
  display: grid;
  grid-template-columns: minmax(90px, 0.12fr) minmax(260px, 0.36fr) minmax(280px, 0.52fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  padding: clamp(36px, 5vw, 72px) 32px;
  border-bottom: 1px solid var(--line-dark);
}

.service-list article:nth-child(2),
.trajectory-list article:nth-child(4),
.insight-wall article:nth-child(2) {
  background: var(--cobalt);
  color: var(--paper);
}

.service-list article:nth-child(2) span,
.trajectory-list article:nth-child(4) span,
.insight-wall article:nth-child(2) span {
  color: rgba(245, 242, 234, 0.74);
}

.service-list h2,
.trajectory-list h2,
.insight-wall h2 {
  max-width: 12em;
  font-size: clamp(34px, 4vw, 56px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.service-list p,
.trajectory-list p,
.insight-wall p {
  max-width: 70ch;
  font-size: 22px;
  line-height: 1.5;
}

.founder-trajectory article {
  min-height: auto;
  align-items: start;
  background: var(--paper);
  color: var(--charcoal);
}

.founder-trajectory article:nth-child(3),
.founder-trajectory article:nth-child(4) {
  padding-top: clamp(42px, 5vw, 64px);
  padding-bottom: clamp(42px, 5vw, 64px);
}

.founder-trajectory article:nth-child(4) {
  background: rgba(0, 122, 135, 0.08);
  color: var(--charcoal);
}

.founder-trajectory article:nth-child(4) span,
.founder-trajectory article:nth-child(4) h2 {
  color: var(--teal);
}

.founder-trajectory article:nth-child(4) p {
  color: var(--charcoal);
}

.founder-trajectory .trajectory-copy {
  display: grid;
  grid-column: 3;
  gap: 0.8rem;
}

.founder-trajectory .trajectory-copy p {
  max-width: 58ch;
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.48;
}

.project-hero {
  grid-template-columns: minmax(320px, 0.5fr) minmax(320px, 0.5fr);
  min-height: 560px;
  background:
    linear-gradient(90deg, rgba(0, 122, 135, 0.16), transparent 50%),
    var(--paper);
}

.project-hero--greenstage {
  min-height: 430px;
  align-items: center;
  background: var(--teal);
  color: var(--paper);
}

.project-hero--greenstage span {
  color: rgba(245, 242, 234, 0.72);
}

.project-hero--greenstage h1,
.project-hero--greenstage p {
  color: var(--paper);
}

.project-hero--greenstage p {
  max-width: 34rem;
  font-size: clamp(19px, 1.55vw, 22px);
}

.project-narrative article {
  display: grid;
  grid-template-columns: minmax(120px, 0.16fr) minmax(320px, 0.84fr);
  gap: clamp(1.2rem, 3vw, 3rem);
  padding: clamp(28px, 4vw, 54px) 32px;
  border-bottom: 1px solid var(--line-dark);
}

.project-narrative p {
  grid-column: 2;
  max-width: 70ch;
  margin-top: 0.7rem;
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.48;
}

.project-narrative span {
  grid-row: 1 / span 8;
}

.project-narrative article:nth-child(2),
.project-narrative article:nth-child(5),
.project-narrative article:nth-child(7) {
  background: rgba(0, 55, 255, 0.94);
  color: var(--paper);
}

.project-narrative article:nth-child(2) span,
.project-narrative article:nth-child(5) span,
.project-narrative article:nth-child(7) span {
  color: rgba(245, 242, 234, 0.74);
}

.greenstage-page {
  border-bottom: 1px solid var(--line-dark);
  background: var(--paper);
}

.greenstage-facts {
  display: grid;
  grid-template-columns: minmax(180px, 0.22fr) minmax(320px, 0.78fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(30px, 4.4vw, 54px) 32px;
  background: var(--paper);
  color: var(--charcoal);
}

.greenstage-logo-mark {
  display: grid;
  place-items: center;
  min-height: 128px;
  border: 1px solid rgba(30, 35, 40, 0.16);
  padding: clamp(18px, 3vw, 30px);
  background: rgba(21, 127, 134, 0.06);
}

.greenstage-logo-mark img {
  width: min(260px, 80%);
  height: auto;
}

.greenstage-facts > div:last-child {
  display: grid;
  gap: 0.85rem;
  max-width: 780px;
}

.greenstage-facts span {
  color: var(--teal);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.greenstage-facts p {
  max-width: 68ch;
  color: var(--muted);
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.45;
}

.greenstage-facts p:first-of-type {
  color: var(--charcoal);
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 650;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.greenstage-facts .greenstage-meta {
  color: var(--teal);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.greenstage-facts .text-link {
  color: var(--teal);
}

.greenstage-overview {
  display: grid;
  grid-template-columns: minmax(160px, 0.26fr) minmax(320px, 0.74fr);
  gap: clamp(1.4rem, 4vw, 4rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(34px, 5vw, 62px) 32px;
}

.greenstage-overview span,
.greenstage-components span {
  color: var(--teal);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.greenstage-overview div {
  display: grid;
  gap: 0.85rem;
  max-width: 820px;
}

.greenstage-overview p {
  color: var(--muted);
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.45;
}

.greenstage-overview p:first-child {
  max-width: 42rem;
  color: var(--teal);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 650;
  letter-spacing: -0.05em;
  line-height: 1.03;
}

.greenstage-practice {
  display: grid;
  grid-template-columns: minmax(160px, 0.26fr) minmax(320px, 0.74fr);
  gap: clamp(1.4rem, 4vw, 4rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(42px, 5.8vw, 72px) 32px;
  background:
    linear-gradient(90deg, rgba(0, 122, 135, 0.08) 0 28%, transparent 28%),
    var(--paper);
}

.greenstage-practice > span {
  color: var(--teal);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.2;
  text-transform: uppercase;
}

.greenstage-practice > div {
  display: grid;
  gap: clamp(1.2rem, 2.5vw, 2rem);
  max-width: 920px;
}

.greenstage-practice h2 {
  max-width: 12em;
  color: var(--charcoal);
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.96;
}

.greenstage-practice p {
  max-width: 68ch;
  color: var(--muted);
  font-size: clamp(19px, 1.55vw, 23px);
  line-height: 1.5;
}

.greenstage-practice ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-dark);
}

.greenstage-practice li {
  display: grid;
  grid-template-columns: minmax(170px, 0.3fr) minmax(320px, 0.7fr);
  gap: clamp(1rem, 2.5vw, 2.1rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(16px, 2.2vw, 26px) 0;
  color: var(--muted);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.45;
}

.greenstage-practice strong {
  color: var(--teal);
  font-weight: 750;
  letter-spacing: -0.02em;
}

.greenstage-practice a,
.greenstage-components a {
  color: var(--teal);
  box-shadow: inset 0 -0.35em 0 rgba(21, 127, 134, 0.14);
}

.greenstage-components {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  background: var(--paper);
}

.greenstage-components article {
  display: grid;
  grid-template-columns: minmax(180px, 0.26fr) minmax(320px, 0.74fr);
  align-content: start;
  gap: clamp(1.4rem, 4vw, 4rem);
  min-height: auto;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(24px, 3.4vw, 40px) 32px;
  background: var(--paper);
}

.greenstage-components article:nth-child(2),
.greenstage-components article:nth-child(5) {
  background: rgba(21, 127, 134, 0.06);
}

.greenstage-components p {
  max-width: 68ch;
  color: var(--muted);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.45;
}

.greenstage-sequence a {
  color: inherit;
}

.greenstage-link {
  padding: 28px 32px;
}

.field-notes-hero {
  background: var(--paper);
}

.field-note-list {
  padding: clamp(28px, 4vw, 58px) 32px clamp(58px, 8vw, 112px);
}

.field-note-list article {
  grid-template-columns: minmax(90px, 0.14fr) minmax(320px, 0.86fr);
  max-width: 1080px;
  padding-right: 0;
  padding-left: 0;
}

.field-note-list h2 {
  max-width: 14em;
  font-size: clamp(42px, 5vw, 76px);
}

.field-note-list p {
  grid-column: 2;
  max-width: 52ch;
  color: var(--muted);
}

.field-note-list article:nth-child(2) {
  background: var(--paper);
  color: var(--charcoal);
}

.field-note-list article:nth-child(2) span {
  color: var(--cobalt);
}

.field-note-list h2 a {
  color: inherit;
  text-decoration: none;
}

.field-note-list h2 a:hover,
.field-note-list h2 a:focus-visible {
  color: var(--cobalt);
}

.field-note-shell {
  background: #f7f5f0;
}

.field-note-shell .site-header {
  background: rgba(247, 245, 240, 0.92);
}

.field-note-shell .brand {
  color: #1c1c1c;
}

.field-note-shell .site-nav a {
  color: rgba(28, 28, 28, 0.72);
}

.field-note-shell .site-nav a:hover,
.field-note-shell .site-nav a:focus-visible,
.field-note-shell .site-nav a[aria-current="true"] {
  color: #294e9b;
}

.field-note-essay {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(52px, 7vw, 92px) 32px clamp(72px, 10vw, 132px);
  color: #1c1c1c;
  background: #f7f5f0;
}

.field-note-header {
  display: grid;
  gap: clamp(1.2rem, 2.4vw, 2.8rem);
  max-width: 980px;
  margin-bottom: clamp(44px, 7vw, 88px);
}

.field-note-back {
  width: fit-content;
  color: #2f4a43;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-decoration: none;
  text-transform: uppercase;
}

.field-note-back:hover,
.field-note-back:focus-visible {
  color: #294e9b;
}

.field-note-header h1 {
  max-width: 8.6em;
  color: #1c1c1c;
  font-family: "EB Garamond", "Cormorant Garamond", "Canela", Georgia, serif;
  font-size: clamp(58px, 8.8vw, 118px);
  font-weight: 500;
  letter-spacing: -0.038em;
  line-height: 0.92;
}

.field-note-intro {
  display: grid;
  gap: clamp(0.65rem, 1.2vw, 1rem);
  max-width: 760px;
  margin-left: clamp(0px, 18vw, 320px);
  padding-top: clamp(1rem, 2.4vw, 1.8rem);
  border-top: 1px solid rgba(28, 28, 28, 0.18);
}

.field-note-intro p {
  color: #2f4a43;
  font-family: "EB Garamond", "Cormorant Garamond", Georgia, serif;
  font-size: clamp(24px, 2.45vw, 36px);
  font-weight: 500;
  letter-spacing: -0.022em;
  line-height: 1.14;
}

.field-note-body,
.field-note-end {
  max-width: 620px;
  margin-left: clamp(0px, 18vw, 320px);
}

.field-note-body {
  display: block;
}

.field-note-body p,
.field-note-end p {
  color: rgba(28, 28, 28, 0.88);
  font-family: Inter, system-ui, sans-serif;
  font-size: clamp(16px, 1vw, 17px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.66;
  text-wrap: pretty;
  hyphens: none;
}

.field-note-body p + p {
  margin-top: 1.05em;
}

.field-note-body .field-note-large,
.field-note-end p {
  margin: clamp(2.1rem, 4vw, 3.6rem) 0 clamp(1.8rem, 3.4vw, 3rem);
  color: #1c1c1c;
  font-family: "EB Garamond", "Cormorant Garamond", Georgia, serif;
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 500;
  letter-spacing: -0.032em;
  line-height: 1.08;
}

.field-note-body .field-note-listline {
  color: #2f4a43;
  font-family: Inter, system-ui, sans-serif;
  font-size: clamp(15px, 1vw, 17px);
  font-weight: 620;
  letter-spacing: 0.01em;
  line-height: 1.5;
}

.field-note-end {
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
  margin-top: clamp(62px, 9vw, 118px);
  padding-top: clamp(32px, 5vw, 56px);
  border-top: 1px solid rgba(28, 28, 28, 0.18);
}

.field-note-end small {
  color: rgba(28, 28, 28, 0.62);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.14em;
  line-height: 1.8;
  text-transform: uppercase;
}

.ways-hero {
  background:
    linear-gradient(90deg, rgba(0, 122, 135, 0.1), transparent 52%),
    var(--paper);
}

.ways-list article:nth-child(2) {
  background: var(--paper);
  color: var(--charcoal);
}

.ways-list article:nth-child(2) span {
  color: var(--cobalt);
}

.ways-list h2 {
  max-width: 10em;
}

.small-starts-section {
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(320px, 0.58fr);
  gap: clamp(2rem, 6vw, 6rem);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(56px, 7vw, 96px) 32px;
  background: var(--paper);
}

.small-starts-section span {
  color: var(--teal);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.small-starts-section h2 {
  max-width: 10em;
  margin-top: 1.2rem;
  color: var(--charcoal);
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 0.95;
}

.small-starts-list {
  display: grid;
  gap: clamp(1.4rem, 3vw, 2.4rem);
  max-width: 780px;
}

.small-starts-list p {
  color: var(--charcoal);
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 560;
  letter-spacing: -0.035em;
  line-height: 1.2;
}

.small-starts-list ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-dark);
}

.small-starts-list li {
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(16px, 2vw, 24px) 0;
  color: var(--muted);
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.45;
}

.founder-page {
  grid-template-columns: minmax(320px, 0.62fr) minmax(280px, 0.38fr);
  align-items: center;
  min-height: 650px;
  background:
    linear-gradient(90deg, transparent 0 64%, rgba(0, 122, 135, 0.08) 64% 100%),
    var(--paper);
}

.founder-story {
  display: grid;
  gap: 1.2rem;
}

.founder-image-fragment {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  background: var(--teal);
}

.founder-image-fragment .founder-photo {
  inset: -8% -22% -6% -18%;
  width: 140%;
  height: 116%;
  object-fit: cover;
  object-position: 54% 38%;
  filter: grayscale(0.28) saturate(0.58) contrast(1.12);
  opacity: 0.5;
}

.founder-image-fragment::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(0, 122, 135, 0.62);
  content: "";
  mix-blend-mode: multiply;
  pointer-events: none;
}

.founder-image-fragment::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(180deg, rgba(244, 241, 235, 0.12), transparent 38%),
    linear-gradient(0deg, rgba(30, 35, 40, 0.28), transparent 60%);
  content: "";
  pointer-events: none;
}

.contact-page {
  min-height: calc(100vh - 72px);
  background:
    linear-gradient(90deg, rgba(21, 127, 134, 0.12) 0 34%, transparent 34%),
    linear-gradient(180deg, rgba(21, 127, 134, 0.035), transparent 54%),
    var(--paper);
}

.contact-page .text-link {
  display: inline-block;
  margin-top: 2rem;
}

.legal-links {
  margin-top: 2rem;
  font-size: 14px;
}

.legal-links a,
.legal-page a {
  color: var(--cobalt);
}

.legal-page {
  display: grid;
  gap: 1.2rem;
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(56px, 7vw, 96px) 32px;
}

.legal-page span {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.legal-page h1 {
  max-width: 10em;
  margin-bottom: 1.6rem;
  font-size: clamp(56px, 7vw, 96px);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.92;
  text-transform: uppercase;
}

.legal-page h2 {
  max-width: 18em;
  margin-top: 2.4rem;
  color: var(--cobalt);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}

.legal-page p,
.legal-page li {
  max-width: 70ch;
  font-size: 20px;
  line-height: 1.55;
}

.legal-page ul {
  display: grid;
  gap: 0.3rem;
  margin: 0;
  padding-left: 1.2rem;
}

.site-footer--simple {
  min-height: 220px;
}

@media (max-width: 1050px) {
  .nav-toggle {
    display: block;
  }

  .site-nav {
    position: fixed;
    inset: 72px 0 auto;
    display: grid;
    gap: 0;
    padding: 0 32px 1rem;
    border-bottom: 1px solid rgba(244, 241, 235, 0.16);
    background: rgba(30, 35, 40, 0.98);
    transform: translateY(-120%);
  }

  .site-nav.is-open {
    transform: translateY(0);
  }

  .site-nav a {
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(244, 241, 235, 0.14);
  }

  .hero-section,
  .approach-section,
  .greenstage-feature,
  .about-section,
  .site-footer,
  .page-hero,
  .project-hero,
  .founder-page,
  .contact-page,
  .editorial-split,
  .creative-industries-section,
  .connect-section {
    grid-template-columns: 1fr;
  }

  .greenstage-facts,
  .greenstage-overview,
  .greenstage-practice,
  .greenstage-components article,
  .greenstage-practice li,
  .small-starts-section {
    grid-template-columns: 1fr;
  }

  .greenstage-components p,
  .greenstage-practice li {
    max-width: 100%;
  }

  .about-founder-wrap {
    min-height: 420px;
  }

  .hero-art {
    position: absolute;
    grid-column: 1;
    grid-row: 1;
    min-height: 100%;
  }

  .hero-copy {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    min-height: calc(100vh - 76px);
    pointer-events: auto;
  }

  .fields-intro {
    grid-template-columns: 1fr;
  }

  .fields-intro p {
    grid-column: 1;
  }

  .question-block {
    grid-template-columns: 1fr;
  }

  .change-root-essay {
    grid-template-columns: 1fr;
  }

  .question-block p {
    grid-column: 1;
  }

  .narrative-text {
    grid-column: 1;
  }

  .core-areas {
    grid-template-columns: 1fr;
  }

  .what-section,
  .why-section {
    grid-template-columns: 1fr;
  }

  .orientation-section {
    grid-template-columns: 1fr;
    background:
      linear-gradient(180deg, rgba(21, 127, 134, 0.07) 0 30%, transparent 30%),
      var(--paper);
  }

  .orientation-grid {
    grid-template-columns: 1fr;
  }

  .orientation-head {
    position: static;
  }

  .orientation-grid article {
    grid-template-columns: 1fr;
  }

  .orientation-grid p,
  .orientation-note {
    grid-column: 1;
  }

  .core-areas article {
    grid-template-columns: 1fr;
  }

  .insights-section,
  .insights-section .section-head {
    grid-template-columns: 1fr;
  }

  .networks-section {
    grid-template-columns: 1fr;
  }

  .field-note-body,
  .field-note-end {
    margin-left: 0;
  }

  .process-steps {
    grid-template-columns: 1fr;
  }

  .process-steps article,
  .process-steps article:first-child,
  .process-steps article:last-child {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
    padding: clamp(24px, 5vw, 40px) 0;
  }

  .process-steps article:last-child {
    border-bottom: 0;
  }

  .insights-section .section-head span,
  .insights-section .section-head h2,
  .insights-section .section-head .section-intro,
  .insights-section .section-head .text-link {
    grid-column: 1;
  }

  .core-areas p,
  .core-areas ul {
    grid-column: 1;
  }

  .fields-essay p {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .fields-essay .editorial-illustration--inline {
    width: 100%;
    margin-left: 0;
  }

  .project-grid,
  .insight-grid {
    grid-template-columns: 1fr;
  }

  .practice-intro {
    grid-template-columns: 1fr;
  }

  .practice-timeline {
    grid-auto-columns: minmax(320px, 82vw);
  }

  .network-map {
    grid-template-columns: 1fr;
  }

  .network-map article {
    grid-template-columns: 1fr;
  }

  .service-list article,
  .practice-statements article,
  .trajectory-list article,
  .insight-wall article,
  .founder-note,
  .project-narrative article {
    grid-template-columns: 1fr;
  }

  .field-note-list p,
  .project-narrative p,
  .founder-trajectory .trajectory-copy {
    grid-column: 1;
  }

  .greenstage-overview,
  .greenstage-facts,
  .greenstage-practice,
  .greenstage-components {
    grid-template-columns: 1fr;
  }

  .greenstage-practice li {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .project-narrative span {
    grid-row: auto;
  }

  .project-hero--greenstage {
    background:
      linear-gradient(180deg, rgba(0, 122, 135, 0.94) 0 42%, transparent 42%),
      var(--paper);
  }
}

@media (max-width: 700px) {
  .site-shell {
    border: 0;
  }

  .site-header {
    min-height: 68px;
    padding: 0 24px;
  }

  .brand {
    font-size: 2rem;
  }

  .hero-copy,
  .panel-grid,
  .work-section,
  .core-section,
  .what-section,
  .why-section,
  .why-exists-section,
  .orientation-section,
  .insights-section,
  .about-section,
  .greenstage-feature,
  .site-footer,
  .page-hero,
  .project-hero,
  .founder-page,
  .contact-page,
  .editorial-split,
  .creative-industries-section,
  .networks-section,
  .connect-section {
    padding: 56px 24px;
  }

  .orientation-head h2 {
    font-size: clamp(50px, 14vw, 76px);
  }

  .why-exists-section {
    grid-template-columns: 1fr;
  }

  .why-exists-image {
    position: relative;
    top: auto;
    height: auto;
    min-height: 360px;
  }


  .hero-copy h1 {
    font-size: clamp(48px, 13vw, 68px);
  }

  .hero-body {
    max-width: 100%;
  }

  .hero-art {
    min-height: 100%;
  }

  .hero-art .asset-river {
    inset: 0;
    width: 100%;
    height: 100%;
    object-position: 54% 50%;
    transform: none;
  }

  .chapter-cards {
    grid-template-columns: 1fr;
  }

  .fields-intro {
    padding: 48px 24px;
  }

  .question-block,
  .core-areas article {
    padding: 48px 24px;
  }

  .core-areas article {
    min-height: auto;
  }

  .editorial-illustration--wide {
    padding: 36px 24px;
  }

  .fields-essay {
    padding: 48px 24px;
  }

  .chapter-card {
    grid-template-columns: 1fr;
    min-height: 260px;
    gap: 1.2rem;
    padding: 32px 24px;
  }

  .section-head {
    grid-template-columns: 1fr;
  }

  .section-head .text-link {
    grid-column: 1;
    grid-row: auto;
  }

  .chapter-card h2,
  .section-head h2,
  .feature-copy h2,
  .about-copy h2,
  .page-copy h2 {
    font-size: 40px;
  }

  .practice-timeline {
    margin-inline: -24px;
  }

  .practice-panel {
    min-height: 620px;
    padding: 24px;
  }

  .practice-panel img {
    width: calc(100% + 48px);
    margin: 0 -24px -24px;
  }

  .page-hero h1,
  .project-hero h1,
  .founder-page h1,
  .contact-page h1 {
    font-size: clamp(50px, 15vw, 72px);
  }

  .about-art .founder-photo {
    inset: -10% -20% -8% -18%;
    width: 140%;
    height: 120%;
  }

  .contact-page {
    background:
      linear-gradient(180deg, rgba(21, 127, 134, 0.14) 0 36%, transparent 36%),
      var(--paper);
  }

  .creative-industries-section,
  .connect-section {
    background:
      linear-gradient(180deg, rgba(21, 127, 134, 0.14) 0 34%, transparent 34%),
      var(--paper);
  }

  .network-map article {
    min-height: auto;
  }
}

/* CVANO digital publication art direction */
:root {
  --paper: #f5f3ee;
  --paper-soft: #f7f5f1;
  --paper-deep: #f2efe9;
  --limestone: #e9e3d8;
  --linen: #ded5c8;
  --graphite: #24231f;
  --graphite-soft: rgba(36, 35, 31, 0.68);
  --graphite-faint: rgba(36, 35, 31, 0.42);
  --publication-line: rgba(36, 35, 31, 0.14);
  --publication-line-soft: rgba(36, 35, 31, 0.08);
}

body {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 34rem),
    var(--paper);
  color: var(--graphite);
}

.site-shell {
  width: min(100%, 1540px);
  background: var(--paper);
  border: 0;
  box-shadow: none;
}

.site-header {
  min-height: 88px;
  background: rgba(245, 243, 238, 0.92);
  border-bottom: 1px solid var(--publication-line-soft);
  backdrop-filter: none;
}

.brand {
  color: var(--graphite);
  letter-spacing: 0.02em;
}

.site-nav a {
  color: rgba(36, 35, 31, 0.62);
  font-size: 0.72rem;
  font-weight: 620;
  letter-spacing: 0.12em;
}

.site-nav a:hover,
.site-nav a:focus-visible {
  color: var(--graphite);
  background: transparent;
  box-shadow: inset 0 -0.08em 0 rgba(36, 35, 31, 0.22);
}

.site-nav .language-link {
  border-color: rgba(36, 35, 31, 0.18);
  color: rgba(36, 35, 31, 0.7);
}

.home-editorial .site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 20;
  background: linear-gradient(180deg, rgba(17, 20, 24, 0.42), rgba(17, 20, 24, 0));
  border-bottom: 0;
}

.home-editorial .brand,
.home-editorial .site-nav a {
  color: rgba(247, 245, 241, 0.86);
}

.home-editorial .site-nav a:hover,
.home-editorial .site-nav a:focus-visible {
  color: #fffaf0;
  box-shadow: inset 0 -0.08em 0 rgba(247, 245, 241, 0.46);
}

.home-editorial .site-nav .language-link {
  border-color: rgba(247, 245, 241, 0.26);
}

.home-editorial,
.home-editorial .site-shell,
.home-editorial main {
  background: var(--paper);
}

.home-editorial .hero-section {
  min-height: 100svh;
  background: #111418;
}

.home-editorial .hero-section::after {
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.58) 0%, rgba(17, 20, 24, 0.18) 54%, rgba(17, 20, 24, 0.08) 100%),
    linear-gradient(0deg, rgba(17, 20, 24, 0.54) 0%, rgba(17, 20, 24, 0.04) 42%, rgba(17, 20, 24, 0.2) 100%);
}

.home-editorial .hero-copy {
  min-height: 100svh;
  padding: clamp(140px, 18vh, 210px) clamp(28px, 6vw, 88px) clamp(74px, 11vh, 140px);
}

.home-editorial .hero-copy h1 {
  max-width: 8.3em;
  color: #f7f5f1;
  font-size: clamp(58px, 8.6vw, 138px);
  font-weight: 510;
  letter-spacing: -0.045em;
  line-height: 0.94;
  text-transform: none;
  text-wrap: balance;
}

.home-editorial .hero-link {
  margin-top: clamp(34px, 5.5vw, 84px);
  color: rgba(247, 245, 241, 0.78);
  letter-spacing: 0.1em;
}

.home-editorial .hero-art .asset-river {
  filter: saturate(0.84) contrast(0.94);
}

.home-editorial .fields-section,
.home-editorial .home-topics-section,
.home-editorial .home-practice-feature,
.home-editorial .home-field-notes,
.home-editorial .home-founder-teaser,
.home-editorial .site-footer {
  padding-right: clamp(30px, 7vw, 112px);
  padding-left: clamp(30px, 7vw, 112px);
}

.home-editorial .fields-section {
  max-width: 710px;
  padding-top: clamp(150px, 18vw, 270px);
  padding-bottom: clamp(130px, 16vw, 230px);
}

.home-editorial .change-root-essay > span,
.home-editorial .feature-copy span,
.home-editorial .section-head span {
  color: rgba(36, 35, 31, 0.48);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
}

.home-editorial .change-root-copy .change-root-question {
  margin-bottom: clamp(56px, 7vw, 96px);
  color: var(--graphite);
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 450;
  letter-spacing: -0.028em;
  line-height: 1.14;
}

.home-editorial p,
.home-editorial .change-root-copy p,
.home-editorial .feature-copy p,
.home-editorial .section-intro,
.home-editorial .editorial-text p,
.home-editorial .site-footer p {
  color: var(--graphite-soft);
  font-size: clamp(18px, 1.45vw, 22px);
  font-weight: 360;
  letter-spacing: 0;
  line-height: 1.74;
}

.home-editorial h2,
.home-editorial .feature-copy h2,
.home-editorial .section-head h2,
.home-editorial .home-topics-section h2 {
  color: var(--graphite);
  font-size: clamp(42px, 6.4vw, 86px);
  font-weight: 470;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.home-editorial .home-topics-section {
  background: var(--paper-deep);
  padding-top: clamp(120px, 15vw, 220px);
  padding-bottom: clamp(120px, 15vw, 220px);
}

.home-editorial .home-topics-section .section-head {
  max-width: 880px;
}

.home-editorial .home-work-fields {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  max-width: 1120px;
  gap: clamp(28px, 4vw, 58px) clamp(22px, 3vw, 42px);
  margin-top: clamp(72px, 8vw, 120px);
}

.home-editorial .home-work-fields article {
  min-height: clamp(300px, 29vw, 430px);
  background: transparent;
  border-top: 1px solid var(--publication-line);
  border-right: 0;
  border-bottom: 1px solid var(--publication-line-soft);
  border-left: 0;
  padding: clamp(26px, 3.8vw, 46px) 0 clamp(24px, 3.6vw, 42px);
  transform: none;
}

.home-editorial .home-work-fields article:nth-child(1) {
  grid-column: span 4;
}

.home-editorial .home-work-fields article:nth-child(2) {
  grid-column: span 2;
  margin-top: clamp(52px, 7vw, 94px);
}

.home-editorial .home-work-fields article:nth-child(3) {
  grid-column: span 2;
}

.home-editorial .home-work-fields article:nth-child(4) {
  grid-column: span 4;
  margin-top: clamp(28px, 4vw, 64px);
}

.home-editorial .home-work-fields article:nth-child(5),
.home-editorial .home-work-fields article:nth-child(6) {
  grid-column: span 3;
}

.home-editorial .home-work-fields h3 {
  max-width: 10em;
  color: var(--graphite);
  font-size: clamp(30px, 3.6vw, 52px);
  font-weight: 450;
  letter-spacing: -0.04em;
  line-height: 1.03;
}

.home-editorial .home-work-fields p {
  color: rgba(36, 35, 31, 0.62);
  font-size: clamp(17px, 1.22vw, 20px);
  line-height: 1.62;
}

.home-editorial .home-work-fields .field-thought {
  color: var(--graphite-faint);
}

.home-editorial .home-work-fields .text-link,
.home-editorial .feature-copy .text-link,
.home-editorial .editorial-text .text-link,
.home-editorial .insights-section .text-link,
.home-editorial .site-footer a {
  color: var(--graphite);
  box-shadow: inset 0 -0.06em 0 rgba(36, 35, 31, 0.24);
}

.home-editorial .home-practice-feature {
  grid-template-columns: minmax(0, 0.64fr) minmax(300px, 0.36fr);
  max-width: 1240px;
  background: var(--paper-soft);
  padding-top: clamp(110px, 13vw, 190px);
  padding-bottom: clamp(120px, 15vw, 220px);
}

.home-editorial .home-founder-teaser {
  grid-template-columns: minmax(260px, 0.36fr) minmax(0, 0.64fr);
  max-width: 1180px;
  background: var(--paper-deep);
  padding-top: clamp(110px, 13vw, 190px);
  padding-bottom: clamp(120px, 15vw, 220px);
}

.home-editorial .home-feature-image,
.home-editorial .home-founder-image {
  border-top-color: var(--publication-line);
}

.home-editorial .home-feature-image img,
.home-editorial .home-founder-image img {
  background: var(--limestone);
  filter: grayscale(0.16) saturate(0.68) contrast(0.96);
}

.home-editorial .home-feature-image img {
  aspect-ratio: 16 / 10;
}

.home-editorial .home-practice-feature .home-feature-image img {
  object-position: 50% 42%;
  filter: grayscale(0.26) saturate(0.58) contrast(0.92) brightness(0.96);
}

.home-editorial .home-field-notes {
  max-width: 1180px;
  background: var(--paper);
  padding-top: clamp(120px, 14vw, 210px);
  padding-bottom: clamp(120px, 15vw, 220px);
}

.home-editorial .home-note-list {
  gap: clamp(28px, 4.2vw, 62px);
}

.home-editorial .home-note-list a {
  min-height: clamp(210px, 20vw, 280px);
  border-top: 1px solid var(--publication-line);
  border-bottom: 1px solid var(--publication-line-soft);
  color: var(--graphite);
  font-size: clamp(24px, 2.7vw, 38px);
  font-weight: 440;
  letter-spacing: -0.035em;
}

.home-editorial .home-note-list span {
  color: var(--graphite-faint);
}

.page-hero,
.founder-page,
.contact-page,
.project-hero--greenstage,
.greenstage-page,
.service-list,
.trajectory-list,
.small-starts-section,
.connect-section,
.insight-wall,
.contact-section,
.legal-page {
  background: var(--paper);
}

.page-hero,
.founder-page,
.project-hero--greenstage {
  padding-top: clamp(120px, 16vw, 230px);
  padding-bottom: clamp(100px, 14vw, 200px);
}

.page-hero--cobalt,
.project-hero--greenstage {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)),
    var(--paper-deep);
  color: var(--graphite);
}

.page-hero h1,
.founder-page h1,
.project-hero--greenstage h1 {
  color: var(--graphite);
  font-size: clamp(52px, 7vw, 102px);
  font-weight: 470;
  letter-spacing: -0.048em;
  line-height: 0.98;
  text-transform: none;
}

.page-hero p,
.founder-page p,
.project-hero--greenstage p,
.service-list p,
.trajectory-list p,
.greenstage-page p {
  color: var(--graphite-soft);
  font-weight: 360;
  line-height: 1.72;
}

.page-hero span,
.founder-page span,
.service-list span,
.project-hero--greenstage span {
  color: rgba(36, 35, 31, 0.48);
  letter-spacing: 0.14em;
}

.service-list article,
.trajectory-list article,
.insight-wall article,
.small-starts-section article {
  background: transparent;
  border-top: 1px solid var(--publication-line);
  border-right: 0;
  border-bottom: 1px solid var(--publication-line-soft);
  border-left: 0;
  box-shadow: none;
}

.service-list article:nth-child(2),
.service-list article:nth-child(2) span {
  background: transparent;
  color: inherit;
}

.service-list h2,
.trajectory-list h2,
.insight-wall h2 {
  color: var(--graphite);
  font-weight: 460;
  letter-spacing: -0.035em;
}

.site-footer,
.site-footer--simple {
  background: var(--paper-deep);
  border-top: 1px solid var(--publication-line-soft);
  color: var(--graphite-soft);
}

.site-footer strong,
.site-footer--simple strong {
  color: var(--graphite);
}

img {
  text-decoration: none;
}

.js .reveal-target,
.js .reveal-target.is-visible {
  transition-duration: 900ms;
}

@media (max-width: 900px) {
  .site-header {
    min-height: 76px;
  }

  .home-editorial .hero-copy {
    padding-top: 132px;
  }

  .home-editorial .hero-copy h1 {
    max-width: 7.4em;
    font-size: clamp(48px, 13vw, 78px);
  }

  .home-editorial .home-work-fields {
    grid-template-columns: 1fr;
  }

  .home-editorial .home-work-fields article,
  .home-editorial .home-work-fields article:nth-child(1),
  .home-editorial .home-work-fields article:nth-child(2),
  .home-editorial .home-work-fields article:nth-child(3),
  .home-editorial .home-work-fields article:nth-child(4),
  .home-editorial .home-work-fields article:nth-child(5),
  .home-editorial .home-work-fields article:nth-child(6) {
    grid-column: 1;
    min-height: auto;
    margin-top: 0;
  }

  .home-editorial .home-practice-feature,
  .home-editorial .home-founder-teaser,
  .home-editorial .home-note-list {
    grid-template-columns: 1fr;
  }
}

/* Homepage constellation — one continuous, harmonised motion system.
   This final layer replaces the older mixed animation tempos above. */
.cv-home .cv-hero-mark,
.cv-home .cv-hero-mark > .constellation-node,
.cv-home .cv-hero-mark .constellation-reactor,
.cv-home .cv-hero-mark .constellation-shape {
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.cv-home .cv-hero-mark > .constellation-node .constellation-reactor {
  transition-duration: 1.15s;
  transition-timing-function: cubic-bezier(.22,.72,.22,1);
}

@media (prefers-reduced-motion: no-preference) {
  .cv-home .cv-hero-mark > .constellation-node .constellation-shape {
    animation-name: cv-fluid-orbit;
    animation-timing-function: cubic-bezier(.45,.05,.55,.95);
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-fill-mode: both;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(1) .constellation-shape {
    --fluid-x: 25px; --fluid-y: -12px; --fluid-mid-x: -10px; --fluid-mid-y: 13px;
    --fluid-scale: 1.015; animation-duration: 28s; animation-delay: -9s;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(2) .constellation-shape {
    --fluid-x: -28px; --fluid-y: -19px; --fluid-mid-x: 14px; --fluid-mid-y: 18px;
    --fluid-scale: 1.025; animation-duration: 24s; animation-delay: -15s;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(3) .constellation-shape {
    --fluid-x: 32px; --fluid-y: -15px; --fluid-mid-x: -18px; --fluid-mid-y: 16px;
    --fluid-scale: 1.035; animation-duration: 21s; animation-delay: -6s;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(4) .constellation-shape {
    --fluid-x: -20px; --fluid-y: 14px; --fluid-mid-x: 12px; --fluid-mid-y: -10px;
    --fluid-scale: 1.02; animation-duration: 32s; animation-delay: -21s;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(5) .constellation-shape {
    --fluid-x: -26px; --fluid-y: 20px; --fluid-mid-x: 20px; --fluid-mid-y: -22px;
    --fluid-scale: 1.08; animation-duration: 18s; animation-delay: -11s;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(6) .constellation-shape {
    --fluid-x: 27px; --fluid-y: 15px; --fluid-mid-x: -17px; --fluid-mid-y: -19px;
    --fluid-scale: 1.045; animation-duration: 23s; animation-delay: -17s;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(7) .constellation-shape {
    --fluid-x: -31px; --fluid-y: -16px; --fluid-mid-x: 19px; --fluid-mid-y: 17px;
    --fluid-scale: 1.08; animation-duration: 20s; animation-delay: -3s;
  }

  @keyframes cv-fluid-orbit {
    0% {
      transform: translate3d(0, 0, 0) scale(1);
    }
    50% {
      transform: translate3d(var(--fluid-mid-x), var(--fluid-mid-y), 0) scale(var(--fluid-scale));
    }
    100% {
      transform: translate3d(var(--fluid-x), var(--fluid-y), 0) scale(1);
    }
  }
}

/* Final motion refinement: editorial cues that support reading, not decoration. */
.cv-about-work .about-project-notes,
.cv-work-page .work-keywords {
  position: relative;
  padding-top: 1.15rem;
}

.cv-about-work .about-project-notes::before,
.cv-work-page .work-keywords::before {
  content: "";
  position: absolute;
  top: .45rem;
  left: 0;
  width: clamp(54px, 8vw, 112px);
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .85s cubic-bezier(.16,.8,.22,1) .12s;
}

.cv-about-work .about-project-notes.reveal-target.is-visible::before,
.cv-work-page .work-keywords.reveal-target.is-visible::before {
  transform: scaleX(1);
}

/* The general reveal must not turn forthcoming Insight cards fully opaque. */
.js .cv-subpage-motion .cv-card.is-coming-soon.reveal-target.is-visible {
  opacity: .52;
}

@media (prefers-reduced-motion: reduce) {
  .cv-about-work .about-project-notes::before,
  .cv-work-page .work-keywords::before {
    transform: scaleX(1);
    transition: none;
  }
}

/* Editorial refinement layer: preserve structure, calm the interface. */
:root {
  --muted: rgba(30, 35, 40, 0.68);
  --line-dark: rgba(30, 35, 40, 0.13);
  --line-light: rgba(244, 241, 235, 0.2);
}

body {
  font-size: clamp(18px, 1.2vw, 21px);
  line-height: 1.56;
  -webkit-font-smoothing: antialiased;
}

p,
li {
  text-wrap: pretty;
}

.site-shell {
  background: rgba(244, 241, 235, 0.96);
}

.site-header {
  min-height: 72px;
  border-bottom-color: rgba(244, 241, 235, 0.1);
  background: rgba(17, 20, 24, 0.86);
}

.brand {
  font-size: clamp(1.45rem, 2.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.052em;
}

.site-nav {
  gap: clamp(1rem, 2vw, 2.15rem);
}

.site-nav a,
.text-link,
.project-card a,
.insight-grid a,
.site-footer a {
  font-size: 11px;
  font-weight: 680;
  letter-spacing: 0.075em;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a[aria-current="true"],
.text-link:hover,
.project-card a:hover,
.insight-grid a:hover,
.site-footer a:hover {
  color: inherit;
  box-shadow: inset 0 -0.12em 0 rgba(36, 70, 245, 0.28);
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a[aria-current="true"] {
  color: var(--paper);
  box-shadow: inset 0 -0.12em 0 rgba(244, 241, 235, 0.42);
}

.nav-toggle,
.site-nav {
  transition: transform 220ms ease, border-color 180ms ease, opacity 180ms ease;
}

.hero-copy {
  width: min(66vw, 920px);
  gap: clamp(1rem, 1.5vw, 1.8rem);
  padding-top: clamp(92px, 12vh, 132px);
}

.hero-copy h1 {
  max-width: 9.4em;
  font-size: clamp(52px, 5.7vw, 82px);
  font-weight: 580;
  letter-spacing: -0.03em;
  line-height: 0.98;
}

.hero-subline {
  max-width: 34rem;
  font-size: clamp(19px, 1.35vw, 24px) !important;
  font-weight: 390 !important;
  letter-spacing: -0.012em;
  line-height: 1.28 !important;
}

.hero-body {
  max-width: 35rem;
  padding-top: clamp(1rem, 1.8vw, 1.7rem);
}

.hero-meta {
  color: rgba(244, 241, 235, 0.68) !important;
  font-size: clamp(10px, 0.76vw, 12px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.105em !important;
}

.hero-section::after {
  background:
    linear-gradient(90deg, rgba(17, 36, 39, 0.7) 0%, rgba(21, 127, 134, 0.22) 38%, rgba(30, 35, 40, 0.05) 76%),
    linear-gradient(180deg, rgba(30, 35, 40, 0.04), transparent 42%, rgba(7, 26, 30, 0.22));
}

.chapter-card h2,
.section-head h2,
.feature-copy h2,
.about-copy h2,
.page-copy h2,
.page-hero h1,
.project-hero h1,
.founder-page h1,
.contact-page h1,
.why-exists-copy h2,
.process-steps h3,
.service-list h2,
.trajectory-list h2,
.insight-wall h2,
.small-starts-section h2,
.greenstage-practice h2 {
  font-weight: 620;
  letter-spacing: -0.032em;
}

.section-head h2,
.feature-copy h2,
.about-copy h2 {
  font-size: clamp(46px, 4.9vw, 68px);
  line-height: 1.02;
}

.page-hero h1,
.project-hero h1,
.founder-page h1,
.contact-page h1 {
  max-width: 9.5em;
  font-size: clamp(54px, 6.2vw, 92px);
  line-height: 0.96;
}

.chapter-card span,
.section-head span,
.feature-copy span,
.about-copy span,
.page-hero span,
.project-hero span,
.founder-page span,
.contact-page span,
.service-list span,
.project-narrative span,
.trajectory-list span,
.insight-wall span,
.greenstage-overview span,
.greenstage-components span,
.greenstage-practice > span,
.small-starts-section span,
.founder-name-note > span,
.connect-section span {
  font-size: 11px;
  font-weight: 720;
  letter-spacing: 0.12em;
}

.change-root-essay,
.what-section,
.why-section,
.why-exists-section,
.orientation-section,
.work-section,
.ways-hero,
.contact-page {
  background:
    linear-gradient(180deg, rgba(21, 127, 134, 0.028), transparent 48%),
    var(--paper);
}

.change-root-copy p,
.what-copy p,
.section-intro,
.editorial-text p,
.why-exists-copy p,
.feature-copy p,
.page-copy p,
.page-hero p,
.project-hero p,
.founder-page p,
.contact-page p,
.service-list p,
.trajectory-list p,
.insight-wall p,
.greenstage-overview p,
.greenstage-practice p,
.greenstage-practice li,
.greenstage-components p,
.small-starts-list li,
.founder-note p,
.founder-name-note p {
  color: var(--muted);
  font-weight: 390;
  letter-spacing: -0.006em;
  line-height: 1.56;
}

.change-root-copy .change-root-anchor,
.change-root-copy .change-root-question,
.what-copy p:first-child,
.what-copy p:last-of-type,
.editorial-text p:first-child,
.why-exists-copy .essay-marker,
.why-exists-copy .essay-list,
.feature-copy p:first-of-type,
.networks-section .editorial-text p:first-child,
.small-starts-list p,
.greenstage-overview p:first-child,
.greenstage-facts p:first-of-type {
  font-weight: 560;
  letter-spacing: -0.026em;
  line-height: 1.12;
}

.change-root-copy .change-root-anchor {
  max-width: 14em;
  font-size: clamp(30px, 3.2vw, 50px);
}

.change-root-copy .change-root-question {
  font-size: clamp(30px, 3vw, 44px);
}

.greenstage-feature {
  background:
    linear-gradient(90deg, rgba(21, 127, 134, 0.96) 0 74%, rgba(17, 102, 109, 0.96) 74% 100%);
}

.greenstage-feature .feature-copy h2 {
  font-size: clamp(56px, 7.2vw, 98px);
  letter-spacing: -0.026em;
}

.feature-copy p:first-of-type::after {
  width: 52px;
  height: 1px;
  background: rgba(244, 241, 235, 0.44);
}

.greenstage-sequence li {
  font-size: clamp(20px, 1.9vw, 28px);
  font-weight: 650;
  letter-spacing: -0.025em;
  line-height: 1.05;
}

.service-list article:nth-child(2),
.trajectory-list article:nth-child(4),
.insight-wall article:nth-child(2),
.project-narrative article:nth-child(2),
.project-narrative article:nth-child(5),
.project-narrative article:nth-child(7) {
  background: rgba(36, 70, 245, 0.92);
}

.founder-trajectory article:nth-child(4),
.greenstage-components article:nth-child(2),
.greenstage-components article:nth-child(5) {
  background: rgba(21, 127, 134, 0.045);
}

.field-artefact {
  border-color: rgba(30, 35, 40, 0.1);
}

.field-artefact::before {
  display: none;
}

.field-artefact::after,
.field-artefact--threshold::after {
  opacity: 0.2;
}

.field-artefact img,
.asset {
  filter: grayscale(0.16) saturate(0.72) contrast(1.04);
}

.field-artefact--threshold {
  box-shadow: 0 24px 62px rgba(15, 76, 82, 0.12);
}

.js .reveal-target {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity 520ms ease var(--reveal-delay, 0ms),
    transform 620ms ease var(--reveal-delay, 0ms);
}

.js .reveal-target.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.site-footer strong {
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 620;
  letter-spacing: -0.032em;
  line-height: 1;
}

.site-footer p {
  color: var(--muted);
  font-size: clamp(18px, 1.3vw, 21px);
  line-height: 1.5;
}

@media (max-width: 1050px) {
  .site-nav {
    transition: transform 240ms ease;
  }

  .hero-copy {
    width: 100%;
  }
}

@media (max-width: 700px) {
  body {
    font-size: 17px;
  }

  .site-header {
    min-height: 66px;
  }

  .brand {
    font-size: 1.8rem;
  }

  .hero-copy,
  .panel-grid,
  .work-section,
  .core-section,
  .what-section,
  .why-section,
  .why-exists-section,
  .orientation-section,
  .insights-section,
  .about-section,
  .greenstage-feature,
  .site-footer,
  .page-hero,
  .project-hero,
  .founder-page,
  .contact-page,
  .editorial-split,
  .creative-industries-section,
  .networks-section,
  .connect-section,
  .change-root-essay,
  .small-starts-section,
  .practice-page {
    padding-right: 22px;
    padding-left: 22px;
  }

  .hero-copy h1 {
    font-size: clamp(44px, 12vw, 62px);
    letter-spacing: -0.024em;
  }

  .hero-subline {
    font-size: 18px !important;
    line-height: 1.34 !important;
  }

  .section-head h2,
  .feature-copy h2,
  .about-copy h2,
  .page-copy h2,
  .page-hero h1,
  .project-hero h1,
  .founder-page h1,
  .contact-page h1,
  .why-exists-copy h2,
  .service-list h2,
  .trajectory-list h2,
  .insight-wall h2 {
    font-size: clamp(38px, 11vw, 58px);
    line-height: 1;
  }

  .change-root-copy p,
  .what-copy p,
  .section-intro,
  .editorial-text p,
  .feature-copy p,
  .page-copy p,
  .page-hero p,
  .project-hero p,
  .founder-page p,
  .contact-page p,
  .service-list p,
  .trajectory-list p,
  .insight-wall p {
    font-size: 17px;
    line-height: 1.58;
  }

  .change-root-copy .change-root-anchor,
  .change-root-copy .change-root-question,
  .what-copy p:first-child,
  .what-copy p:last-of-type,
  .editorial-text p:first-child,
  .feature-copy p:first-of-type {
    font-size: clamp(26px, 8vw, 38px);
  }

  .greenstage-feature {
    background: var(--teal);
  }
}

/* Hero editorial opening */
.hero-section {
  min-height: calc(100svh - 72px);
  background: var(--charcoal);
}

.hero-section::after {
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.58) 0%, rgba(17, 20, 24, 0.34) 42%, rgba(17, 20, 24, 0.08) 78%),
    linear-gradient(180deg, rgba(17, 20, 24, 0.02), rgba(17, 20, 24, 0.16));
}

.hero-copy {
  align-content: end;
  width: min(76vw, 1080px);
  min-height: calc(100svh - 72px);
  gap: clamp(3.4rem, 6vw, 6.8rem);
  padding-top: clamp(72px, 9vh, 108px);
  padding-right: 32px;
  padding-bottom: clamp(48px, 7vh, 84px);
  padding-left: clamp(32px, 4.8vw, 72px);
}

.hero-copy h1 {
  max-width: 15.2em;
  color: rgba(244, 241, 235, 0.96);
  font-size: clamp(52px, 5vw, 78px);
  font-weight: 560;
  letter-spacing: -0.026em;
  line-height: 1.04;
  text-transform: none !important;
}

.hero-copy h1 span {
  color: inherit;
}

.hero-body {
  max-width: max-content;
  gap: 0;
  padding-top: 0;
  border-top: 0;
}

.hero-subline,
.hero-body p {
  max-width: 38rem;
  color: rgba(244, 241, 235, 0.82) !important;
  font-size: clamp(18px, 1.28vw, 22px) !important;
  font-weight: 360 !important;
  letter-spacing: -0.006em;
  line-height: 1.46 !important;
}

.hero-subline {
  color: rgba(244, 241, 235, 0.9) !important;
}

.hero-link {
  margin-top: 0;
  color: rgba(244, 241, 235, 0.74);
  font-size: 13px;
  font-weight: 520;
  letter-spacing: 0.02em;
  text-transform: none;
}

.hero-link span {
  margin-left: 0.55rem;
}

.hero-art .asset-river {
  object-position: 58% 50%;
  filter: grayscale(0.08) saturate(0.78) contrast(1.04) brightness(0.9);
  opacity: 0.96;
}

.js .hero-copy {
  animation: heroEditorialFade 760ms ease both;
}

@keyframes heroEditorialFade {
  from {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, var(--hero-copy-shift, 0px), 0);
  }
}

@media (max-width: 1050px) {
  .hero-copy {
    width: min(100%, 760px);
  }
}

@media (max-width: 700px) {
  .hero-copy {
    justify-content: start;
    min-height: calc(100svh - 66px);
    gap: clamp(2.8rem, 10vw, 4.2rem);
    padding-top: clamp(68px, 12vh, 98px);
    padding-bottom: clamp(42px, 8vh, 72px);
    padding-left: 24px;
  }

  .hero-copy h1 {
    max-width: 10em;
    font-size: clamp(35px, 9vw, 45px);
    line-height: 1.06;
  }

  .hero-body {
    max-width: 100%;
    gap: 0.8rem;
  }

  .hero-subline,
  .hero-body p {
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  .hero-link {
    margin-top: 1.4rem;
  }
}

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

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .hero-art .asset-river,
  .js .reveal-target {
    transform: none !important;
  }

  .js .reveal-target {
    opacity: 1 !important;
  }
}

/* About as an editorial archive of work rather than a CV timeline. */
.cv-about-work .cv-hero {
  background: var(--cv-paper);
}

.cv-about-work .cv-hero h1 {
  color: var(--cv-blue);
}

.cv-about-work .cv-hero p strong {
  color: var(--cv-ink);
  text-decoration: underline;
  text-decoration-color: var(--cv-lime);
  text-decoration-thickness: .24em;
  text-underline-offset: .25em;
}

.cv-about-work .cv-work-chapter--sky {
  background: var(--cv-sky);
}

.cv-about-work .cv-work-chapter {
  position: relative;
}

.cv-about-work .cv-work-chapter:nth-of-type(odd) .cv-section-head::after {
  content: "";
  display: block;
  width: 34px;
  aspect-ratio: 1;
  margin-top: 2rem;
  border-radius: 50%;
  background: var(--cv-lime);
}

.cv-about-work .cv-work-chapter:nth-of-type(4n) .cv-section-head::after {
  width: 54px;
  background: var(--cv-orange);
}

.about-projects {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.4rem, 3vw, 3rem);
  margin-top: clamp(2.5rem, 5vw, 5rem);
}

.about-projects--strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

html[lang="en"] .about-projects--strip {
  gap: clamp(2rem, 3.5vw, 4.25rem);
}

html[lang="en"] .about-projects--strip .about-project {
  min-width: 0;
}

html[lang="en"] .about-projects--strip .about-project h3 {
  font-size: clamp(1.45rem, 1.75vw, 2.15rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.about-project {
  position: relative;
  min-height: 210px;
  padding: 1.4rem 0 1.7rem;
  border-top: 4px solid var(--cv-blue);
}

.about-project:nth-child(2n) {
  border-top-color: var(--cv-orange);
}

.about-project:nth-child(3n) {
  border-top-color: #819a20;
}

.about-project--wide {
  grid-column: span 2;
  max-width: 900px;
}

.about-project--orange,
.about-project--lime {
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
  border-top: 0;
}

.about-project--orange {
  background: #fff0e8;
}

.about-project--lime {
  background: #f3f8d8;
}

.about-project h3 {
  max-width: 620px;
  margin: 0 0 1.25rem;
  color: var(--cv-ink);
  font-family: var(--cv-serif);
  font-size: clamp(1.65rem, 2.45vw, 2.75rem);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.02;
}

.about-project p {
  max-width: 590px;
  margin: 0;
  font-size: .96rem;
  line-height: 1.62;
}

.about-project-notes {
  margin-top: 2.2rem !important;
  padding-top: 1rem;
  border-top: 1px solid var(--cv-line);
  color: var(--cv-blue);
  font-size: .76rem !important;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.cv-about-work .cv-work-closing {
  background: #fff;
}

.cv-about-work .cv-work-closing .cv-section-head > span {
  color: var(--cv-orange);
}

@media (max-width: 900px) {
  .about-projects,
  .about-projects--strip {
    grid-template-columns: 1fr;
  }

  .about-project--wide {
    grid-column: auto;
  }

  .about-project {
    min-height: 0;
  }
}

/* Concise Work page: four connected fields, not a catalogue. */
.cv-work-page .cv-hero h1 {
  color: var(--cv-blue);
}

.work-spectrum {
  display: inline-block;
  margin-top: 2rem !important;
  padding: .75rem 0;
  border-top: 3px solid var(--cv-lime);
  border-bottom: 1px solid var(--cv-line);
  color: var(--cv-blue);
  font-size: .78rem !important;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.work-fields {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(1rem, 2.2vw, 2.2rem);
  padding: clamp(4.5rem, 8vw, 8.5rem) 7vw;
  border-bottom: 1px solid var(--cv-line);
}

.work-field {
  position: relative;
  min-height: 320px;
  padding: clamp(1.6rem, 3vw, 3rem);
  border-top: 5px solid var(--cv-blue);
  background: #fff;
  overflow: hidden;
}

.work-field:nth-child(2) {
  translate: 0 24px;
  background: var(--cv-sky);
}

.work-field:nth-child(3) {
  background: #f3f8d8;
  border-top-color: #819a20;
}

.work-field:nth-child(4) {
  translate: 0 24px;
  background: #fff0e8;
  border-top-color: var(--cv-orange);
}

.work-field > span {
  color: var(--cv-blue);
  font-family: var(--cv-serif);
  font-size: clamp(2.4rem, 4vw, 4.6rem);
  font-style: italic;
  line-height: 1;
}

.work-field:nth-child(3) > span { color: #64751c; }
.work-field:nth-child(4) > span { color: #bd4515; }

.work-field h2 {
  max-width: 620px;
  margin: clamp(3rem, 5vw, 5rem) 0 1.2rem;
  font-family: var(--cv-serif);
  font-size: clamp(1.8rem, 3vw, 3.15rem);
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1;
}

.work-field > p:not(.work-keywords) {
  max-width: 630px;
  margin: 0 0 .9rem;
  font-size: 1rem;
  line-height: 1.62;
}

.work-keywords {
  max-width: 650px;
  margin-top: 1.8rem;
  padding-top: 1rem;
  border-top: 1px solid currentColor;
  color: var(--cv-blue);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.65;
  text-transform: uppercase;
}

.work-field:nth-child(3) .work-keywords { color: #64751c; }
.work-field:nth-child(4) .work-keywords { color: #a93a10; }

.work-entry {
  background: var(--cv-paper);
}

.work-questions {
  margin-bottom: 3rem;
  border-top: 3px solid var(--cv-blue);
}

.work-questions p {
  margin: 0;
  padding: 1rem 0;
  border-bottom: 1px solid var(--cv-line);
  font-family: var(--cv-serif);
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1.3;
}

.work-questions p::before {
  content: "○";
  margin-right: .75rem;
  color: var(--cv-orange);
}

@media (max-width: 900px) {
  .work-fields {
    grid-template-columns: 1fr;
    padding: 4rem 1.4rem;
  }

  .work-field,
  .work-field:nth-child(2),
  .work-field:nth-child(4) {
    min-height: 0;
    translate: 0;
  }
}

/* Perceptible constellation motion: JS outside, interaction in the middle,
   autonomous movement on the inner shape. */
.cv-home .cv-hero-mark > .constellation-node {
  display: block;
  background: transparent;
  border: 0;
  opacity: 1;
  animation: none;
  pointer-events: auto;
  will-change: transform;
}

.constellation-reactor,
.constellation-shape {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.constellation-reactor {
  transition: transform .65s cubic-bezier(.2,.75,.2,1);
}

.constellation-shape {
  border: var(--node-border, 0) solid var(--node-colour, var(--cv-blue));
  background: var(--node-fill, transparent);
  opacity: var(--node-opacity, 1);
  transform-origin: center;
  will-change: transform, opacity;
}

.cv-home .cv-hero-mark:hover::before,
.cv-home .cv-hero-mark:hover::after {
  opacity: .32;
}

.cv-home .cv-hero-mark:hover > .constellation-node:nth-child(2) .constellation-reactor {
  transform: translate3d(-28px, -18px, 0);
}

.cv-home .cv-hero-mark:hover > .constellation-node:nth-child(3) .constellation-reactor {
  transform: translate3d(34px, 12px, 0) scale(1.08);
}

.cv-home .cv-hero-mark:hover > .constellation-node:nth-child(5) .constellation-reactor {
  transform: translate3d(-20px, -12px, 0);
}

@media (prefers-reduced-motion: no-preference) {
  .cv-home .cv-hero-mark > .constellation-node:nth-child(1) .constellation-shape {
    animation: cv-enter-1 1.8s cubic-bezier(.16,.8,.22,1) 0s both,
               cv-orbit-1 12s ease-in-out 1.8s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(2) .constellation-shape {
    animation: cv-enter-2 1.75s cubic-bezier(.16,.8,.22,1) .15s both,
               cv-orbit-2 7.5s ease-in-out 1.9s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(3) .constellation-shape {
    animation: cv-enter-3 1.65s cubic-bezier(.16,.8,.22,1) .3s both,
               cv-orbit-3 6.2s ease-in-out 1.95s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(4) .constellation-shape {
    animation: cv-enter-4 1.9s cubic-bezier(.16,.8,.22,1) .45s both,
               cv-orbit-4 13.5s ease-in-out 2.35s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(5) .constellation-shape {
    animation: cv-enter-5 1.55s cubic-bezier(.16,.8,.22,1) .6s both,
               cv-orbit-5 10s ease-in-out 2.15s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(6) .constellation-shape {
    animation: cv-enter-6 1.45s cubic-bezier(.16,.8,.22,1) .72s both,
               cv-orbit-6 7s ease-in-out 2.17s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(7) .constellation-shape {
    animation: cv-enter-7 1.35s cubic-bezier(.16,.8,.22,1) .84s both,
               cv-orbit-7 6s ease-in-out 2.19s infinite alternate;
  }

  @keyframes cv-enter-1 { from { transform: translate3d(100px,-75px,0) scale(.72); opacity: .08; } to { transform: none; opacity: 1; } }
  @keyframes cv-enter-2 { from { transform: translate3d(25px,120px,0) scale(.62); opacity: .12; } to { transform: none; opacity: 1; } }
  @keyframes cv-enter-3 { from { transform: translate3d(-130px,24px,0) scale(.5); opacity: .05; } to { transform: none; opacity: 1; } }
  @keyframes cv-enter-4 { from { transform: translate3d(110px,-15px,0) scale(.34); opacity: 0; } to { transform: none; opacity: .92; } }
  @keyframes cv-enter-5 { from { transform: translate3d(85px,65px,0) scale(.7); opacity: 0; } to { transform: none; opacity: .62; } }
  @keyframes cv-enter-6 { from { transform: translate3d(-95px,65px,0) scale(.45); opacity: 0; } to { transform: none; opacity: 1; } }
  @keyframes cv-enter-7 { from { transform: translate3d(65px,95px,0) scale(.2); opacity: 0; } to { transform: none; opacity: 1; } }

  @keyframes cv-orbit-1 {
    0% { transform: translate3d(-14px,4px,0) rotate(-2deg); }
    55% { transform: translate3d(14px,22px,0) rotate(2deg); }
    100% { transform: translate3d(29px,-10px,0) rotate(4deg); }
  }
  @keyframes cv-orbit-2 {
    0% { transform: translate3d(-22px,24px,0) scale(.96); }
    48% { transform: translate3d(18px,-19px,0) scale(1.04); }
    100% { transform: translate3d(40px,-32px,0) scale(.98); }
  }
  @keyframes cv-orbit-3 {
    0% { transform: translate3d(-30px,-12px,0) scale(.93); }
    50% { transform: translate3d(12px,26px,0) scale(1.09); }
    100% { transform: translate3d(47px,-20px,0) scale(1.02); }
  }
  @keyframes cv-orbit-4 {
    0% { transform: translate3d(-18px,7px,0) scale(.92); opacity: .76; }
    55% { transform: translate3d(12px,-15px,0) scale(1.08); opacity: .94; }
    100% { transform: translate3d(26px,18px,0) scale(.97); opacity: .84; }
  }
  @keyframes cv-orbit-5 {
    0% { transform: translate3d(20px,-15px,0) scale(.95); }
    50% { transform: translate3d(-17px,18px,0) scale(1.04); }
    100% { transform: translate3d(-35px,-8px,0) scale(.98); }
  }
  @keyframes cv-orbit-6 {
    0% { transform: translate3d(-28px,18px,0) scale(.9); }
    55% { transform: translate3d(11px,-24px,0) scale(1.1); }
    100% { transform: translate3d(43px,14px,0) scale(.97); }
  }
  @keyframes cv-orbit-7 {
    0% { transform: translate3d(-35px,12px,0) scale(.84); }
    45% { transform: translate3d(8px,-31px,0) scale(1.18); }
    100% { transform: translate3d(52px,20px,0) scale(.92); }
  }
}

/* Quiet method choreography, injected as decoration by app.js. */
.method-motion {
  position: relative;
  height: 104px;
  margin: 0 0 2rem;
  border-bottom: 1px solid var(--cv-line);
  overflow: hidden;
}

.method-motion span {
  position: absolute;
  top: 30px;
  left: var(--method-start);
  width: var(--method-size);
  aspect-ratio: 1;
  border: 2px solid var(--method-colour);
  border-radius: 50%;
  background: var(--method-fill, transparent);
  opacity: 0;
  transform: translate3d(-45px,18px,0) scale(.6);
  transition: transform 1.65s cubic-bezier(.16,.8,.22,1), left 1.65s cubic-bezier(.16,.8,.22,1), opacity .55s ease;
}

.method-motion span:nth-child(1) { --method-start: 10%; --method-size: 54px; --method-colour: var(--cv-blue); }
.method-motion span:nth-child(2) { --method-start: 46%; --method-size: 42px; --method-colour: var(--cv-lime); --method-fill: var(--cv-lime); transition-delay: .12s; }
.method-motion span:nth-child(3) { --method-start: 82%; --method-size: 62px; --method-colour: var(--cv-orange); --method-fill: var(--cv-orange); transition-delay: .24s; }

.method-motion.is-active span {
  left: var(--method-end);
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
}

.method-motion.is-active span:nth-child(1) { --method-end: 39%; }
.method-motion.is-active span:nth-child(2) { --method-end: 46%; }
.method-motion.is-active span:nth-child(3) { --method-end: 51%; }

.cv-home main > .cv-section:nth-of-type(2) .cv-card::after {
  transition: transform .45s cubic-bezier(.2,.75,.2,1), background .3s ease;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:hover::after {
  transform: translate3d(-10px,-8px,0) scale(1.18);
}

@media (prefers-reduced-motion: reduce) {
  .constellation-shape,
  .constellation-reactor,
  .method-motion span,
  .cv-home main > .cv-section:nth-of-type(2) .cv-card::after {
    animation: none !important;
    transition: none !important;
  }

  .method-motion span {
    left: var(--method-end);
    opacity: 1;
    transform: none;
  }
}

/* Homepage as opening essay */
.home-editorial {
  background: #f5f3ee;
}

.home-editorial .site-shell {
  border-right: 0;
  border-left: 0;
  background: #f5f3ee;
}

.home-editorial main {
  background: #f5f3ee;
}

.home-editorial .hero-section {
  min-height: calc(100svh - 72px);
  border-bottom: 0;
  background: #111418;
}

.home-editorial .hero-copy {
  align-content: end;
  min-height: calc(100svh - 72px);
  padding-bottom: clamp(58px, 8vh, 92px);
}

.home-editorial .hero-copy h1 {
  max-width: 11em;
  font-size: clamp(58px, 6.2vw, 92px);
  font-weight: 520;
  letter-spacing: -0.024em;
  line-height: 1.02;
}

.home-editorial .hero-link {
  color: rgba(244, 241, 235, 0.72);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 430;
  letter-spacing: 0.01em;
  text-transform: none;
}

.home-editorial .hero-link:hover,
.home-editorial .hero-link:focus-visible {
  color: var(--paper);
  box-shadow: inset 0 -0.08em 0 rgba(244, 241, 235, 0.42);
}

.home-editorial .hero-section::after {
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.4) 0%, rgba(17, 20, 24, 0.18) 42%, rgba(17, 20, 24, 0.02) 82%),
    linear-gradient(180deg, rgba(17, 20, 24, 0.01), rgba(17, 20, 24, 0.1));
}

.home-editorial .hero-art .asset-river {
  filter: grayscale(0.02) saturate(0.9) contrast(1.02) brightness(0.98);
  opacity: 1;
}

.home-editorial .fields-section,
.home-editorial .home-question-section,
.home-editorial .greenstage-feature,
.home-editorial .why-exists-section,
.home-editorial .why-section,
.home-editorial .networks-section,
.home-editorial .home-topics-section,
.home-editorial .insights-section,
.home-editorial .site-footer {
  display: block;
  max-width: 760px;
  margin: 0 auto;
  border-bottom: 0;
  padding: clamp(72px, 10vw, 132px) 28px 0;
  background: #f5f3ee;
  color: var(--charcoal);
}

.home-editorial .fields-section {
  max-width: 720px;
  padding-top: clamp(120px, 16vw, 220px);
  padding-bottom: clamp(92px, 13vw, 170px);
}

.home-editorial .home-question-section,
.home-editorial .home-topics-section {
  max-width: min(1120px, 100%);
  padding-top: clamp(96px, 12vw, 156px);
}

.home-editorial .site-footer {
  padding-bottom: clamp(88px, 12vw, 156px);
}

.home-editorial .change-root-essay,
.home-editorial .greenstage-feature,
.home-editorial .why-section,
.home-editorial .networks-section,
.home-editorial .home-question-section,
.home-editorial .home-topics-section,
.home-editorial .insights-section,
.home-editorial .site-footer {
  min-height: 0;
  overflow: visible;
}

.home-editorial .change-root-essay {
  display: block;
  border-bottom: 0;
  padding: 0;
  background: transparent;
}

.home-editorial .feature-copy,
.home-editorial .why-exists-copy,
.home-editorial .what-copy,
.home-editorial .editorial-text,
.home-editorial .insights-section .section-head,
.home-editorial .networks-section .section-head,
.home-editorial .how-work-section .section-head,
.home-editorial .home-question-section .section-head,
.home-editorial .home-topics-section .section-head {
  display: block;
  max-width: 100%;
  margin: 0;
  transform: none !important;
}

.home-editorial .greenstage-explore,
.home-editorial .why-exists-image,
.home-editorial .process-steps {
  display: none;
}

.home-editorial .change-root-essay > span,
.home-editorial .feature-copy span,
.home-editorial .why-exists-copy span,
.home-editorial .section-head span,
.home-editorial .home-question-section .section-head span,
.home-editorial .home-topics-section .section-head span,
.home-editorial .insights-section .section-head span {
  display: block;
  margin-bottom: clamp(28px, 4vw, 46px);
  color: rgba(30, 35, 40, 0.48);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.home-editorial h2,
.home-editorial .feature-copy h2,
.home-editorial .why-exists-copy h2,
.home-editorial .section-head h2,
.home-editorial .home-question-section h2,
.home-editorial .home-topics-section h2,
.home-editorial .insights-section h2 {
  max-width: 11em;
  margin: 0 0 clamp(42px, 5.8vw, 72px);
  color: var(--charcoal);
  font-family: var(--sans);
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 500;
  letter-spacing: -0.032em;
  line-height: 1.06;
  text-transform: none;
}

.home-editorial .change-root-copy,
.home-editorial .what-copy,
.home-editorial .editorial-text {
  display: block;
  max-width: 100%;
}

.home-editorial p,
.home-editorial .change-root-copy p,
.home-editorial .feature-copy p,
.home-editorial .why-exists-copy p,
.home-editorial .what-copy p,
.home-editorial .section-intro,
.home-editorial .editorial-text p,
.home-editorial .site-footer p {
  max-width: 100%;
  margin: 0 0 clamp(26px, 3.4vw, 42px);
  color: rgba(30, 35, 40, 0.76);
  font-family: var(--sans);
  font-size: clamp(19px, 1.45vw, 22px);
  font-weight: 380;
  letter-spacing: -0.004em;
  line-height: 1.72;
}

.home-editorial .change-root-copy p:last-child,
.home-editorial .feature-copy p:last-of-type,
.home-editorial .why-exists-copy p:last-child,
.home-editorial .what-copy p:last-child,
.home-editorial .editorial-text p:last-of-type,
.home-editorial .site-footer p:last-of-type {
  margin-bottom: 0;
}

.home-editorial .change-root-copy .change-root-question,
.home-editorial .change-root-copy .change-root-anchor,
.home-editorial .why-exists-copy .essay-marker,
.home-editorial .why-exists-copy .essay-list,
.home-editorial .feature-copy p:first-of-type,
.home-editorial .what-copy p:first-child,
.home-editorial .editorial-text p:first-child,
.home-editorial .section-intro:first-of-type {
  max-width: 13.5em;
  margin: clamp(48px, 6.6vw, 82px) 0;
  color: var(--charcoal);
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 460;
  letter-spacing: -0.026em;
  line-height: 1.18;
}

.home-editorial .change-root-copy .change-root-question {
  max-width: 12em;
  margin-top: 0;
  margin-bottom: clamp(56px, 8vw, 112px);
  font-size: clamp(34px, 4.6vw, 62px);
}

.home-editorial .change-root-copy .change-root-question {
  font-family: var(--sans);
}

.home-editorial .change-root-copy .change-root-anchor {
  max-width: 14em;
}

.home-editorial .feature-copy .text-link,
.home-editorial .editorial-text .text-link,
.home-editorial .insights-section .text-link,
.home-editorial .home-topics-section a,
.home-editorial .site-footer a {
  display: inline-block;
  margin-top: clamp(18px, 3vw, 34px);
  color: rgba(30, 35, 40, 0.62);
  font-size: 12px;
  font-weight: 560;
  letter-spacing: 0.04em;
  text-transform: none;
}

.home-editorial .feature-copy .text-link:hover,
.home-editorial .editorial-text .text-link:hover,
.home-editorial .insights-section .text-link:hover,
.home-editorial .home-topics-section a:hover,
.home-editorial .site-footer a:hover {
  color: var(--charcoal);
  box-shadow: inset 0 -0.08em 0 rgba(30, 35, 40, 0.28);
}

.home-editorial .home-question-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(52px, 7vw, 86px);
  border-top: 1px solid rgba(30, 35, 40, 0.14);
}

.home-editorial .home-question-grid article {
  min-height: 260px;
  border-bottom: 1px solid rgba(30, 35, 40, 0.14);
  padding: clamp(28px, 4vw, 46px) clamp(22px, 3vw, 34px) clamp(30px, 4vw, 48px) 0;
}

.home-editorial .home-question-grid article:nth-child(odd) {
  border-right: 1px solid rgba(30, 35, 40, 0.1);
}

.home-editorial .home-question-grid article:nth-child(even) {
  padding-left: clamp(22px, 3vw, 34px);
}

.home-editorial .home-question-grid h3 {
  max-width: 12em;
  margin-bottom: 1.4rem;
  color: var(--charcoal);
  font-size: clamp(22px, 2.3vw, 32px);
  font-weight: 500;
  letter-spacing: -0.024em;
  line-height: 1.12;
}

.home-editorial .home-question-grid ul {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-editorial .home-question-grid li {
  max-width: 34rem;
  color: rgba(30, 35, 40, 0.68);
  font-size: clamp(15px, 1.18vw, 17px);
  font-weight: 390;
  line-height: 1.55;
}

.home-editorial .home-question-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  max-width: 760px;
  margin: clamp(46px, 6vw, 76px) auto 0;
  border-top: 1px solid rgba(30, 35, 40, 0.14);
}

.home-editorial .home-question-list p {
  margin: 0;
  border-bottom: 1px solid rgba(30, 35, 40, 0.12);
  padding: clamp(24px, 3.2vw, 38px) 0;
  color: rgba(30, 35, 40, 0.76);
  font-size: clamp(20px, 1.65vw, 25px);
  font-weight: 380;
  letter-spacing: -0.012em;
  line-height: 1.48;
}

.home-editorial .home-question-list p:last-child {
  max-width: 31em;
  margin: clamp(44px, 5vw, 72px) 0 0;
  border-bottom: 0;
  padding: 0;
  color: var(--charcoal);
  font-size: clamp(25px, 2.6vw, 38px);
  font-weight: 460;
  letter-spacing: -0.026em;
  line-height: 1.22;
}

.home-editorial .home-work-fields {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(18px, 2.6vw, 34px);
  max-width: 960px;
  margin: clamp(48px, 6.4vw, 82px) auto 0;
  border-top: 0;
}

.home-editorial .home-work-fields article {
  display: grid;
  align-content: start;
  min-height: clamp(230px, 22vw, 310px);
  border-top: 1px solid rgba(30, 35, 40, 0.16);
  border-bottom: 1px solid rgba(30, 35, 40, 0.12);
  padding: clamp(24px, 3vw, 38px) 0;
}

.home-editorial .home-work-fields article:nth-child(1),
.home-editorial .home-work-fields article:nth-child(6) {
  grid-column: span 6;
  min-height: clamp(250px, 24vw, 340px);
}

.home-editorial .home-work-fields article:nth-child(2),
.home-editorial .home-work-fields article:nth-child(3) {
  grid-column: span 3;
}

.home-editorial .home-work-fields article:nth-child(4),
.home-editorial .home-work-fields article:nth-child(5) {
  grid-column: span 3;
  transform: translateY(clamp(10px, 1.8vw, 22px));
}

.home-editorial .home-work-fields h3 {
  max-width: 13em;
  margin-bottom: clamp(28px, 4vw, 54px);
  color: var(--charcoal);
  font-size: clamp(28px, 3.2vw, 46px);
  font-weight: 480;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.home-editorial .home-work-fields p {
  max-width: 36rem;
  margin: 0 0 clamp(18px, 2.4vw, 30px);
  color: rgba(30, 35, 40, 0.66);
  font-size: clamp(17px, 1.35vw, 21px);
  font-weight: 370;
  letter-spacing: -0.002em;
  line-height: 1.55;
}

.home-editorial .home-work-fields .field-thought {
  max-width: 31rem;
  color: rgba(30, 35, 40, 0.52);
  font-size: clamp(15px, 1.08vw, 18px);
  line-height: 1.58;
}

.home-editorial .home-work-fields .text-link {
  align-self: end;
  width: fit-content;
  margin-top: clamp(30px, 5vw, 70px);
}

.home-editorial .home-work-fields ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-editorial .home-work-fields li {
  max-width: 34rem;
  border-top: 1px solid rgba(30, 35, 40, 0.09);
  padding: 14px 0;
  color: rgba(30, 35, 40, 0.66);
  font-size: clamp(15px, 1.12vw, 17px);
  font-weight: 370;
  letter-spacing: -0.002em;
  line-height: 1.5;
}

.home-editorial .home-work-fields li:first-child {
  border-top-color: rgba(30, 35, 40, 0.14);
}

.home-editorial .home-topic-list {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(44px, 6vw, 76px);
  border-top: 1px solid rgba(30, 35, 40, 0.14);
  border-bottom: 1px solid rgba(30, 35, 40, 0.14);
}

.home-editorial .home-topic-list a {
  display: flex;
  align-items: center;
  min-height: 124px;
  margin: 0;
  border-right: 1px solid rgba(30, 35, 40, 0.1);
  padding: 18px 16px;
  color: rgba(30, 35, 40, 0.76);
  font-size: clamp(14px, 1.08vw, 16px);
  font-weight: 430;
  letter-spacing: -0.006em;
  line-height: 1.35;
  text-transform: none;
}

.home-editorial .home-topic-list a:last-child {
  border-right: 0;
}

.home-editorial .home-topic-list a:hover,
.home-editorial .home-topic-list a:focus-visible {
  background: rgba(30, 35, 40, 0.025);
  box-shadow: none;
}

.home-editorial .home-practice-feature,
.home-editorial .home-field-notes,
.home-editorial .home-founder-teaser {
  max-width: min(1120px, 100%);
  padding-top: clamp(120px, 14vw, 190px);
}

.home-editorial .home-practice-feature,
.home-editorial .home-founder-teaser {
  display: grid;
  grid-template-columns: minmax(0, 0.56fr) minmax(320px, 0.44fr);
  gap: clamp(34px, 7vw, 96px);
  align-items: start;
}

.home-editorial .home-feature-image,
.home-editorial .home-founder-image {
  margin: 0;
  border-top: 1px solid rgba(30, 35, 40, 0.16);
  padding-top: clamp(18px, 2vw, 26px);
}

.home-editorial .home-feature-image img,
.home-editorial .home-founder-image img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  filter: grayscale(0.08) saturate(0.78) contrast(1.02);
}

.home-editorial .home-founder-image img {
  aspect-ratio: 4 / 5;
}

.home-editorial .home-practice-feature .feature-copy,
.home-editorial .home-founder-teaser .section-head,
.home-editorial .home-field-notes .section-head {
  max-width: 760px;
}

.home-editorial .home-field-notes {
  display: block;
}

.home-editorial .home-note-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 34px);
  margin-top: clamp(48px, 6vw, 78px);
}

.home-editorial .home-note-list a {
  display: grid;
  align-content: start;
  gap: clamp(20px, 2.6vw, 34px);
  min-height: clamp(180px, 18vw, 240px);
  border-top: 1px solid rgba(30, 35, 40, 0.16);
  border-bottom: 1px solid rgba(30, 35, 40, 0.1);
  padding: clamp(22px, 3vw, 36px) 0;
  color: var(--charcoal);
  font-size: clamp(22px, 2.25vw, 32px);
  font-weight: 450;
  letter-spacing: -0.024em;
  line-height: 1.16;
  text-transform: none;
}

.home-editorial .home-note-list strong {
  display: block;
  color: var(--charcoal);
  font: inherit;
}

.home-editorial .home-note-list span {
  display: block;
  max-width: 28rem;
  color: rgba(30, 35, 40, 0.58);
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 370;
  letter-spacing: -0.002em;
  line-height: 1.5;
}

.home-editorial .home-note-list a:hover,
.home-editorial .home-note-list a:focus-visible {
  background: transparent;
  box-shadow: inset 0 -0.08em 0 rgba(30, 35, 40, 0.2);
}

.home-editorial .insights-section,
.home-editorial .insights-section .section-head {
  grid-template-columns: 1fr;
  gap: 0;
}

.home-editorial .insights-section .section-head span,
.home-editorial .insights-section .section-head h2,
.home-editorial .insights-section .section-head .section-intro,
.home-editorial .insights-section .section-head .text-link {
  grid-column: auto;
}

.home-editorial .site-footer {
  display: block;
}

.home-editorial .site-footer strong {
  display: block;
  max-width: 11em;
  margin-bottom: clamp(34px, 5vw, 64px);
  color: var(--charcoal);
  font-size: clamp(34px, 4.4vw, 58px);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.08;
  text-transform: none;
}

.home-editorial .site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.15rem;
  margin-top: clamp(52px, 7vw, 90px);
  padding-top: 24px;
  border-top: 1px solid rgba(30, 35, 40, 0.12);
}

.home-editorial .js .reveal-target,
.home-editorial.js .reveal-target {
  transform: translate3d(0, 10px, 0);
  transition:
    opacity 680ms ease var(--reveal-delay, 0ms),
    transform 760ms ease var(--reveal-delay, 0ms);
}

@media (max-width: 700px) {
  .home-editorial .hero-copy h1 {
    max-width: 8em;
    font-size: clamp(42px, 12vw, 58px);
  }

  .home-editorial .fields-section,
  .home-editorial .home-question-section,
  .home-editorial .greenstage-feature,
  .home-editorial .why-exists-section,
  .home-editorial .why-section,
  .home-editorial .networks-section,
  .home-editorial .home-topics-section,
  .home-editorial .insights-section,
  .home-editorial .site-footer {
    padding-right: 24px;
    padding-left: 24px;
  }

  .home-editorial .fields-section {
    padding-top: 88px;
    padding-bottom: 72px;
  }

  .home-editorial h2,
  .home-editorial .feature-copy h2,
  .home-editorial .why-exists-copy h2,
  .home-editorial .section-head h2,
  .home-editorial .home-question-section h2,
  .home-editorial .home-topics-section h2,
  .home-editorial .insights-section h2 {
    font-size: clamp(34px, 9vw, 48px);
  }

  .home-editorial p,
  .home-editorial .change-root-copy p,
  .home-editorial .feature-copy p,
  .home-editorial .why-exists-copy p,
  .home-editorial .what-copy p,
  .home-editorial .section-intro,
  .home-editorial .editorial-text p,
  .home-editorial .site-footer p {
    font-size: 18px;
    line-height: 1.68;
  }

  .home-editorial .home-question-grid {
    grid-template-columns: 1fr;
  }

  .home-editorial .home-question-grid article,
  .home-editorial .home-question-grid article:nth-child(odd),
  .home-editorial .home-question-grid article:nth-child(even) {
    min-height: auto;
    border-right: 0;
    padding-right: 0;
    padding-left: 0;
  }

  .home-editorial .home-question-list {
    margin-top: 36px;
  }

  .home-editorial .home-question-list p {
    font-size: 19px;
    line-height: 1.52;
  }

  .home-editorial .home-question-list p:last-child {
    font-size: clamp(24px, 7vw, 32px);
    line-height: 1.24;
  }

  .home-editorial .home-work-fields {
    grid-template-columns: 1fr;
    margin-top: 36px;
  }

  .home-editorial .home-work-fields article,
  .home-editorial .home-work-fields article:nth-child(1),
  .home-editorial .home-work-fields article:nth-child(2),
  .home-editorial .home-work-fields article:nth-child(3),
  .home-editorial .home-work-fields article:nth-child(4),
  .home-editorial .home-work-fields article:nth-child(5),
  .home-editorial .home-work-fields article:nth-child(6) {
    grid-column: 1;
    min-height: 0;
    transform: none;
  }

  .home-editorial .home-work-fields h3 {
    font-size: clamp(28px, 8vw, 38px);
  }

  .home-editorial .home-work-fields .field-thought {
    font-size: 16px;
  }

  .home-editorial .home-practice-feature,
  .home-editorial .home-founder-teaser {
    grid-template-columns: 1fr;
  }

  .home-editorial .home-note-list {
    grid-template-columns: 1fr;
  }

.home-editorial .home-note-list a {
    min-height: auto;
  }

  .home-editorial .home-topic-list {
    grid-template-columns: 1fr;
  }

  .home-editorial .home-topic-list a {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(30, 35, 40, 0.1);
    padding: 18px 0;
  }

  .home-editorial .home-topic-list a:last-child {
    border-bottom: 0;
  }
}

/* Fields of Practice as an editorial index */
.practice-index-hero {
  grid-template-columns: minmax(0, 0.58fr) minmax(280px, 0.42fr);
  align-items: end;
  min-height: clamp(520px, 72vh, 780px);
  background:
    linear-gradient(90deg, var(--paper) 0%, var(--paper) 58%, var(--paper-deep) 58%, var(--paper-deep) 100%);
}

.practice-index-hero h1 {
  max-width: 9.5em;
}

.practice-index-hero p {
  max-width: 31rem;
  padding-top: clamp(34px, 5vw, 68px);
  border-top: 1px solid var(--publication-line);
  font-size: clamp(20px, 1.65vw, 25px);
  line-height: 1.62;
}

.practice-index {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 clamp(24px, 4vw, 72px);
  padding: clamp(96px, 12vw, 176px) clamp(30px, 7vw, 112px) clamp(120px, 15vw, 220px);
  background: var(--paper);
  border-top: 1px solid var(--publication-line-soft);
  border-bottom: 1px solid var(--publication-line-soft);
}

.practice-index article {
  display: grid;
  grid-template-columns: minmax(42px, 0.12fr) minmax(0, 0.88fr);
  gap: clamp(16px, 2.2vw, 34px);
  align-content: start;
  min-height: clamp(360px, 35vw, 540px);
  padding: clamp(24px, 3.6vw, 52px) 0 clamp(30px, 4vw, 62px);
  border-top: 1px solid var(--publication-line);
  border-bottom: 1px solid var(--publication-line-soft);
}

.practice-index article:nth-child(1) {
  grid-column: 1 / span 7;
}

.practice-index article:nth-child(2) {
  grid-column: 9 / span 4;
  margin-top: clamp(72px, 8vw, 120px);
}

.practice-index article:nth-child(3) {
  grid-column: 2 / span 4;
  margin-top: clamp(52px, 7vw, 96px);
}

.practice-index article:nth-child(4) {
  grid-column: 7 / span 6;
  margin-top: clamp(26px, 4vw, 64px);
}

.practice-index article:nth-child(5) {
  grid-column: 1 / span 5;
  margin-top: clamp(70px, 8vw, 118px);
}

.practice-index article:nth-child(6) {
  grid-column: 7 / span 5;
  margin-top: clamp(28px, 4vw, 72px);
}

.practice-index span {
  color: rgba(36, 35, 31, 0.38);
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  line-height: 1.2;
}

.practice-index h2 {
  max-width: 9em;
  margin: 0 0 clamp(42px, 5vw, 76px);
  color: var(--graphite);
  font-size: clamp(38px, 5.1vw, 74px);
  font-weight: 450;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.practice-index p {
  grid-column: 2;
  max-width: 36rem;
  margin: 0 0 clamp(22px, 2.6vw, 36px);
  color: rgba(36, 35, 31, 0.58);
  font-size: clamp(17px, 1.25vw, 20px);
  font-weight: 360;
  letter-spacing: 0;
  line-height: 1.62;
}

.practice-index .practice-question {
  max-width: 24rem;
  color: var(--graphite);
  font-size: clamp(22px, 2.2vw, 34px);
  font-weight: 430;
  letter-spacing: -0.028em;
  line-height: 1.18;
}

.ways-list + .small-starts-section {
  background:
    linear-gradient(90deg, var(--paper-deep) 0%, var(--paper-deep) 42%, var(--paper-soft) 42%, var(--paper-soft) 100%);
}

@media (max-width: 900px) {
  .practice-index-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    background: var(--paper-deep);
  }

  .practice-index {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-right: 24px;
    padding-left: 24px;
  }

  .practice-index article,
  .practice-index article:nth-child(1),
  .practice-index article:nth-child(2),
  .practice-index article:nth-child(3),
  .practice-index article:nth-child(4),
  .practice-index article:nth-child(5),
  .practice-index article:nth-child(6) {
    grid-column: 1;
    min-height: auto;
    margin-top: 0;
  }

  .practice-index article {
    grid-template-columns: 1fr;
  }

  .practice-index p,
  .practice-index .practice-question {
    grid-column: 1;
  }
}

/* Final navigation and Fields refinement */
.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  grid-template-columns: minmax(120px, auto) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 64px);
  min-height: 82px;
  padding: 0 clamp(24px, 5vw, 76px);
  background: rgba(245, 243, 238, 0.94);
  border-bottom: 1px solid rgba(36, 35, 31, 0.1);
  backdrop-filter: blur(10px);
}

.brand {
  color: var(--graphite);
  font-size: clamp(1.42rem, 2.2vw, 2.1rem);
  font-weight: 680;
  letter-spacing: -0.035em;
  line-height: 1;
}

.site-nav {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0 clamp(16px, 2vw, 32px);
  color: var(--graphite);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.115em;
}

.site-nav a,
.site-footer a {
  color: rgba(36, 35, 31, 0.58);
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: uppercase;
  box-shadow: none;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a[aria-current="true"] {
  color: var(--graphite);
  box-shadow: inset 0 -0.08em 0 rgba(36, 35, 31, 0.42);
}

.site-nav .language-link {
  border: 1px solid rgba(36, 35, 31, 0.16);
  padding: 0.38rem 0.48rem 0.34rem;
  color: rgba(36, 35, 31, 0.62);
}

.nav-toggle {
  justify-self: end;
  border: 1px solid rgba(36, 35, 31, 0.18);
  background: rgba(245, 243, 238, 0.18);
}

.nav-toggle span:not(.sr-only) {
  background: var(--graphite);
}

.home-editorial .site-header {
  position: absolute;
  background: linear-gradient(180deg, rgba(17, 20, 24, 0.44), rgba(17, 20, 24, 0));
  border-bottom: 0;
  backdrop-filter: none;
}

.home-editorial .brand,
.home-editorial .site-nav a {
  color: rgba(247, 245, 241, 0.88);
}

.home-editorial .site-nav a:hover,
.home-editorial .site-nav a:focus-visible,
.home-editorial .site-nav a[aria-current="true"] {
  color: #f7f5f1;
  box-shadow: inset 0 -0.08em 0 rgba(247, 245, 241, 0.46);
}

.home-editorial .site-nav .language-link,
.home-editorial .nav-toggle {
  border-color: rgba(247, 245, 241, 0.26);
}

.home-editorial .nav-toggle span:not(.sr-only) {
  background: #f7f5f1;
}

.practice-index-hero {
  position: relative;
  overflow: hidden;
  grid-template-columns: minmax(0, 0.66fr) minmax(300px, 0.34fr);
  min-height: clamp(620px, 78vh, 860px);
  padding-top: clamp(130px, 15vw, 220px);
  padding-bottom: clamp(90px, 10vw, 150px);
  background:
    linear-gradient(90deg, rgba(245, 243, 238, 0) 0 64%, rgba(226, 218, 205, 0.44) 64% 100%),
    var(--paper);
}

.practice-index-hero::after {
  position: absolute;
  right: clamp(30px, 7vw, 112px);
  bottom: clamp(42px, 6vw, 92px);
  width: min(38vw, 420px);
  height: 1px;
  background: rgba(36, 35, 31, 0.2);
  content: "";
}

.practice-index-hero h1 {
  max-width: 8.2em;
  font-size: clamp(62px, 8vw, 124px);
  font-weight: 430;
  letter-spacing: -0.055em;
  line-height: 0.92;
}

.practice-index-hero p {
  align-self: end;
  max-width: 28rem;
  margin-bottom: clamp(8px, 2vw, 28px);
  padding-top: clamp(28px, 4vw, 54px);
  color: rgba(36, 35, 31, 0.62);
  font-size: clamp(18px, 1.35vw, 22px);
  line-height: 1.7;
}

.practice-index {
  position: relative;
  grid-template-columns: minmax(120px, 0.16fr) minmax(0, 0.84fr);
  gap: clamp(40px, 6vw, 100px);
  padding: clamp(120px, 14vw, 210px) clamp(30px, 7vw, 112px) clamp(140px, 16vw, 240px);
  background:
    linear-gradient(90deg, var(--paper-deep) 0, var(--paper-deep) min(17vw, 230px), transparent min(17vw, 230px)),
    var(--paper);
}

.practice-index::before {
  position: sticky;
  top: 128px;
  align-self: start;
  grid-column: 1;
  max-width: 9rem;
  border-top: 1px solid rgba(36, 35, 31, 0.24);
  padding-top: 18px;
  color: rgba(36, 35, 31, 0.42);
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  line-height: 1.5;
  text-transform: uppercase;
  content: "Fields\A of Practice";
  white-space: pre;
}

.practice-index article,
.practice-index article:nth-child(1),
.practice-index article:nth-child(2),
.practice-index article:nth-child(3),
.practice-index article:nth-child(4),
.practice-index article:nth-child(5),
.practice-index article:nth-child(6) {
  scroll-margin-top: 96px;
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(56px, 0.11fr) minmax(0, 0.89fr);
  gap: clamp(18px, 3.4vw, 58px);
  min-height: auto;
  margin-top: 0;
  padding: clamp(62px, 7vw, 106px) 0;
  border-top: 1px solid rgba(36, 35, 31, 0.18);
  border-bottom: 0;
}

.practice-index article:last-child {
  border-bottom: 1px solid rgba(36, 35, 31, 0.18);
}

.practice-index article:nth-child(even) {
  padding-left: clamp(0px, 6vw, 92px);
}

.practice-index span {
  grid-column: 1;
  padding-top: 0.55em;
  color: rgba(36, 35, 31, 0.36);
}

.practice-index h2 {
  grid-column: 2;
  max-width: 11em;
  margin: 0 0 clamp(28px, 3.5vw, 52px);
  font-size: clamp(40px, 5.8vw, 92px);
  font-weight: 430;
  letter-spacing: -0.052em;
  line-height: 0.94;
}

.practice-index p {
  grid-column: 2;
  max-width: 35rem;
  margin: 0;
  color: rgba(36, 35, 31, 0.58);
  font-size: clamp(17px, 1.22vw, 20px);
  line-height: 1.68;
}

.practice-index .practice-detail {
  display: grid;
  grid-column: 2;
  grid-template-columns: minmax(260px, 0.48fr) minmax(260px, 0.52fr);
  gap: clamp(22px, 2.8vw, 38px);
  max-width: 860px;
  margin-top: clamp(34px, 4.5vw, 68px);
}

.practice-index .practice-detail p {
  grid-column: auto;
  max-width: 35rem;
  margin: 0;
}

.practice-index .practice-detail ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.practice-index .practice-detail li {
  border-top: 1px solid rgba(36, 35, 31, 0.12);
  padding: 14px 0;
  color: rgba(36, 35, 31, 0.7);
  font-size: clamp(15px, 1.05vw, 17px);
  font-weight: 370;
  letter-spacing: 0;
  line-height: 1.52;
}

.practice-index .practice-question {
  grid-column: 2;
  max-width: 17em;
  margin-bottom: clamp(24px, 3vw, 42px);
  color: var(--graphite);
  font-size: clamp(26px, 3.1vw, 48px);
  font-weight: 410;
  letter-spacing: -0.035em;
  line-height: 1.12;
}

.ways-list + .small-starts-section {
  background: var(--paper-deep);
  border-top: 0;
}

@media (max-width: 1050px) {
  body.nav-open {
    overflow: hidden;
  }

  .site-header,
  .home-editorial .site-header {
    position: sticky;
    top: 0;
    grid-template-columns: 1fr auto;
    min-height: 72px;
    background: rgba(245, 243, 238, 0.96);
    border-bottom: 1px solid rgba(36, 35, 31, 0.1);
    backdrop-filter: blur(10px);
  }

  .home-editorial .brand,
  .home-editorial .site-nav a,
  .brand {
    color: var(--graphite);
  }

  .nav-toggle {
    display: grid;
    place-content: center;
    width: 44px;
    height: 44px;
  }

  .home-editorial .nav-toggle span:not(.sr-only),
  .nav-toggle span:not(.sr-only) {
    background: var(--graphite);
  }

  .site-nav,
  .home-editorial .site-nav {
    position: fixed;
    top: 72px;
    left: 0;
    right: auto;
    z-index: 90;
    display: grid;
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    justify-content: stretch;
    justify-self: auto;
    align-content: start;
    gap: 0;
    min-height: calc(100svh - 72px);
    max-height: calc(100svh - 72px);
    overflow: auto;
    padding: 18px clamp(24px, 6vw, 54px) 34px;
    background: var(--paper);
    border-bottom: 1px solid rgba(36, 35, 31, 0.12);
    box-shadow: 0 24px 60px rgba(36, 35, 31, 0.12);
    transform: translateY(-120%);
    transition: transform 260ms ease;
  }

  .site-nav.is-open,
  .home-editorial .site-nav.is-open {
    transform: translateY(0);
  }

  .site-nav a,
  .home-editorial .site-nav a {
    display: block;
    padding: 18px 0;
    border-bottom: 1px solid rgba(36, 35, 31, 0.1);
    color: var(--graphite);
    font-size: clamp(20px, 4vw, 34px);
    font-weight: 430;
    letter-spacing: -0.026em;
    line-height: 1.08;
    text-transform: none;
  }

  .site-nav .language-link,
  .home-editorial .site-nav .language-link {
    width: fit-content;
    margin-top: 20px;
    border-color: rgba(36, 35, 31, 0.16);
    padding: 0.5rem 0.62rem;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .practice-index-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    background: var(--paper);
  }

  .practice-index-hero::after {
    display: none;
  }

  .practice-index {
    grid-template-columns: 1fr;
    background: var(--paper);
  }

  .practice-index::before {
    position: relative;
    top: auto;
    grid-column: 1;
  }

  .practice-index article,
  .practice-index article:nth-child(1),
  .practice-index article:nth-child(2),
  .practice-index article:nth-child(3),
  .practice-index article:nth-child(4),
  .practice-index article:nth-child(5),
  .practice-index article:nth-child(6) {
    grid-column: 1;
    grid-template-columns: minmax(42px, auto) minmax(0, 1fr);
    padding-left: 0;
  }

  .practice-index h2,
  .practice-index p,
  .practice-index .practice-detail,
  .practice-index .practice-question {
    grid-column: 2;
  }

  .practice-index .practice-detail {
    grid-template-columns: 1fr;
    max-width: 680px;
  }
}

@media (max-width: 640px) {
  .practice-index-hero h1 {
    font-size: clamp(46px, 14vw, 68px);
  }

  .practice-index {
    padding-top: 74px;
    padding-bottom: 96px;
  }

  .practice-index article,
  .practice-index article:nth-child(1),
  .practice-index article:nth-child(2),
  .practice-index article:nth-child(3),
  .practice-index article:nth-child(4),
  .practice-index article:nth-child(5),
  .practice-index article:nth-child(6) {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 42px 0;
  }

  .practice-index span,
  .practice-index h2,
  .practice-index p,
  .practice-index .practice-detail,
  .practice-index .practice-question {
    grid-column: 1;
  }
}

/* Homepage practice atlas: visual entry, not the detail page */
.home-editorial .home-field-atlas {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(16px, 2.2vw, 32px);
  max-width: 1180px;
  margin-top: clamp(72px, 9vw, 132px);
}

.home-editorial .home-field-atlas a {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: clamp(230px, 24vw, 360px);
  padding: clamp(22px, 3vw, 42px);
  overflow: hidden;
  background: rgba(245, 243, 238, 0.52);
  border: 1px solid rgba(36, 35, 31, 0.13);
  color: var(--graphite);
  box-shadow: none;
  text-decoration: none;
}

.home-editorial .home-field-atlas a::before {
  position: absolute;
  inset: auto clamp(22px, 3vw, 42px) clamp(22px, 3vw, 42px) auto;
  width: clamp(72px, 9vw, 138px);
  height: clamp(72px, 9vw, 138px);
  border: 1px solid rgba(36, 35, 31, 0.12);
  border-radius: 999px;
  content: "";
}

.home-editorial .home-field-atlas a::after {
  position: absolute;
  inset: clamp(22px, 3vw, 42px) auto auto clamp(22px, 3vw, 42px);
  width: clamp(58px, 7vw, 110px);
  height: 1px;
  background: rgba(36, 35, 31, 0.18);
  content: "";
  transform: rotate(-18deg);
  transform-origin: left center;
}

.home-editorial .home-field-atlas a:nth-child(1) {
  grid-column: 1 / span 5;
  min-height: clamp(280px, 30vw, 430px);
  background: rgba(242, 239, 233, 0.92);
}

.home-editorial .home-field-atlas a:nth-child(2) {
  grid-column: 6 / span 7;
  margin-top: clamp(54px, 7vw, 96px);
  background: rgba(233, 227, 216, 0.62);
}

.home-editorial .home-field-atlas a:nth-child(3) {
  grid-column: 2 / span 4;
  background: rgba(247, 245, 241, 0.72);
}

.home-editorial .home-field-atlas a:nth-child(4) {
  grid-column: 7 / span 5;
  margin-top: clamp(18px, 3vw, 54px);
  background: rgba(242, 239, 233, 0.7);
}

.home-editorial .home-field-atlas a:nth-child(5) {
  grid-column: 1 / span 6;
  margin-top: clamp(42px, 6vw, 86px);
  background: rgba(245, 243, 238, 0.78);
}

.home-editorial .home-field-atlas a:nth-child(6) {
  grid-column: 8 / span 5;
  background: rgba(233, 227, 216, 0.52);
}

.home-editorial .home-field-atlas span {
  position: relative;
  z-index: 1;
  color: rgba(36, 35, 31, 0.42);
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  line-height: 1;
}

.home-editorial .home-field-atlas h3 {
  position: relative;
  z-index: 1;
  max-width: 9em;
  margin: clamp(56px, 7vw, 96px) 0 clamp(24px, 3.2vw, 44px);
  color: var(--graphite);
  font-size: clamp(31px, 4.2vw, 64px);
  font-weight: 430;
  letter-spacing: -0.052em;
  line-height: 0.98;
}

.home-editorial .home-field-atlas p {
  position: relative;
  z-index: 1;
  max-width: 18rem;
  margin: 0;
  color: rgba(36, 35, 31, 0.55);
  font-size: clamp(14px, 1vw, 16px);
  font-weight: 420;
  letter-spacing: 0.01em;
  line-height: 1.45;
}

.home-editorial .home-field-atlas a:hover,
.home-editorial .home-field-atlas a:focus-visible {
  background: var(--paper-soft);
  border-color: rgba(36, 35, 31, 0.28);
  box-shadow: none;
}

@media (max-width: 900px) {
  .home-editorial .home-field-atlas {
    grid-template-columns: 1fr;
  }

  .home-editorial .home-field-atlas a,
  .home-editorial .home-field-atlas a:nth-child(1),
  .home-editorial .home-field-atlas a:nth-child(2),
  .home-editorial .home-field-atlas a:nth-child(3),
  .home-editorial .home-field-atlas a:nth-child(4),
  .home-editorial .home-field-atlas a:nth-child(5),
  .home-editorial .home-field-atlas a:nth-child(6) {
    grid-column: 1;
    min-height: 230px;
    margin-top: 0;
  }
}

/* Stronger homepage reading rhythm and field atlas */
.home-editorial .fields-section {
  max-width: none;
  padding-top: clamp(150px, 18vw, 260px);
  padding-bottom: clamp(150px, 18vw, 260px);
}

.home-editorial .change-root-essay {
  display: grid;
  grid-template-columns: minmax(100px, 0.18fr) minmax(0, 0.82fr);
  gap: clamp(34px, 7vw, 120px);
  max-width: 1120px;
}

.home-editorial .change-root-essay > span {
  position: sticky;
  top: 112px;
  align-self: start;
  border-top: 1px solid rgba(36, 35, 31, 0.26);
  padding-top: 16px;
}

.home-editorial .change-root-copy {
  max-width: 760px;
}

.home-editorial .change-root-copy .change-root-question {
  max-width: 12em;
  margin-bottom: clamp(74px, 8vw, 120px);
  font-size: clamp(42px, 5.2vw, 76px);
  line-height: 1.02;
}

.home-editorial .change-root-copy p:not(.change-root-question) {
  max-width: 680px;
  margin: 0 0 clamp(34px, 4vw, 56px);
  color: rgba(36, 35, 31, 0.66);
  font-size: clamp(20px, 1.48vw, 24px);
  line-height: 1.76;
}

.home-editorial .change-root-copy p:not(.change-root-question) + p:not(.change-root-question) {
  padding-top: clamp(10px, 1.4vw, 22px);
}

.home-editorial .home-topics-section {
  background:
    linear-gradient(90deg, rgba(222, 213, 200, 0.42) 0, rgba(222, 213, 200, 0.42) min(18vw, 250px), transparent min(18vw, 250px)),
    var(--paper-deep);
}

.home-editorial .home-topics-section .section-head {
  display: grid;
  grid-template-columns: minmax(100px, 0.18fr) minmax(0, 0.82fr);
  gap: clamp(34px, 7vw, 120px);
  max-width: 1120px;
}

.home-editorial .home-topics-section .section-head span {
  grid-column: 1;
  border-top: 1px solid rgba(36, 35, 31, 0.28);
  padding-top: 16px;
}

.home-editorial .home-topics-section .section-head h2,
.home-editorial .home-topics-section .section-head .section-intro {
  grid-column: 2;
}

.home-editorial .home-topics-section .section-head h2 {
  margin-bottom: clamp(52px, 6vw, 88px);
  font-size: clamp(58px, 8vw, 118px);
  line-height: 0.92;
}

.home-editorial .home-topics-section .section-intro {
  max-width: 13em;
  color: var(--graphite);
  font-size: clamp(30px, 3.8vw, 58px);
  font-weight: 420;
  letter-spacing: -0.045em;
  line-height: 1.06;
}

.home-editorial .home-field-atlas {
  position: relative;
  max-width: 1160px;
  border-top: 2px solid rgba(36, 35, 31, 0.76);
  border-left: 2px solid rgba(36, 35, 31, 0.76);
  padding-top: clamp(20px, 2.6vw, 36px);
  padding-left: clamp(20px, 2.6vw, 36px);
}

.home-editorial .home-field-atlas::before {
  position: absolute;
  top: -34px;
  right: 0;
  color: rgba(36, 35, 31, 0.58);
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  content: "Atlas der Praxisfelder";
}

.home-editorial .home-field-atlas a {
  min-height: clamp(270px, 26vw, 420px);
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(36, 35, 31, 0.055) 1px, transparent 1px),
    #ebe5da;
  background-size: 28px 28px;
  border: 2px solid rgba(36, 35, 31, 0.58);
  box-shadow: 12px 12px 0 rgba(36, 35, 31, 0.08);
  isolation: isolate;
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.home-editorial .home-field-atlas a:nth-child(1),
.home-editorial .home-field-atlas a:nth-child(4) {
  background-color: #f0ece4;
}

.home-editorial .home-field-atlas a:nth-child(2),
.home-editorial .home-field-atlas a:nth-child(6) {
  background-color: #e4ddd2;
}

.home-editorial .home-field-atlas a:nth-child(3),
.home-editorial .home-field-atlas a:nth-child(5) {
  background-color: #f7f5f1;
}

.home-editorial .home-field-atlas a::before {
  width: clamp(96px, 10vw, 162px);
  height: clamp(96px, 10vw, 162px);
  border: 2px solid rgba(36, 35, 31, 0.3);
  z-index: -1;
  background: rgba(21, 127, 134, 0.06);
  transition:
    opacity 220ms ease,
    transform 220ms ease,
    background 220ms ease,
    border-color 220ms ease;
}

.home-editorial .home-field-atlas a::after {
  width: clamp(90px, 10vw, 180px);
  height: 2px;
  background: rgba(36, 35, 31, 0.38);
  transition:
    transform 220ms ease,
    background 220ms ease,
    width 220ms ease;
}

.home-editorial .home-field-atlas span {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(36, 35, 31, 0.42);
  background: rgba(245, 243, 238, 0.72);
  color: rgba(36, 35, 31, 0.72);
}

.home-editorial .home-field-atlas h3 {
  max-width: 8em;
  margin-top: clamp(70px, 8vw, 118px);
  color: #171915;
  font-size: clamp(36px, 4.6vw, 72px);
  font-weight: 470;
}

.home-editorial .home-field-atlas p {
  max-width: 20rem;
  color: rgba(23, 25, 21, 0.72);
  font-size: clamp(16px, 1.16vw, 19px);
  font-weight: 460;
}

.home-editorial .home-field-atlas em {
  position: relative;
  z-index: 1;
  align-self: end;
  width: fit-content;
  margin-top: clamp(28px, 4vw, 54px);
  border-top: 1px solid rgba(36, 35, 31, 0.46);
  padding-top: 12px;
  color: rgba(36, 35, 31, 0.7);
  font-family: var(--mono);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 650;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.home-editorial .home-field-atlas em::after {
  content: " ↓";
}

.home-editorial .home-field-atlas a > * {
  transition:
    color 220ms ease,
    transform 220ms ease;
}

.home-editorial .home-field-atlas a:nth-child(1) {
  --atlas-accent: rgba(21, 127, 134, 0.2);
  --atlas-accent-strong: rgba(21, 127, 134, 0.34);
}

.home-editorial .home-field-atlas a:nth-child(2) {
  --atlas-accent: rgba(36, 70, 245, 0.13);
  --atlas-accent-strong: rgba(36, 70, 245, 0.24);
}

.home-editorial .home-field-atlas a:nth-child(3) {
  --atlas-accent: rgba(94, 111, 121, 0.18);
  --atlas-accent-strong: rgba(94, 111, 121, 0.3);
}

.home-editorial .home-field-atlas a:nth-child(4) {
  --atlas-accent: rgba(21, 127, 134, 0.16);
  --atlas-accent-strong: rgba(21, 127, 134, 0.3);
}

.home-editorial .home-field-atlas a:nth-child(5) {
  --atlas-accent: rgba(36, 70, 245, 0.1);
  --atlas-accent-strong: rgba(36, 70, 245, 0.2);
}

.home-editorial .home-field-atlas a:nth-child(6) {
  --atlas-accent: rgba(115, 103, 90, 0.18);
  --atlas-accent-strong: rgba(115, 103, 90, 0.3);
}

.home-editorial .home-field-atlas a:hover,
.home-editorial .home-field-atlas a:focus-visible {
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.07) 1px, transparent 1px),
    linear-gradient(180deg, rgba(36, 35, 31, 0.07) 1px, transparent 1px),
    linear-gradient(135deg, var(--atlas-accent), transparent 54%),
    #f4f1eb;
  background-size: 28px 28px, 28px 28px, auto, auto;
  border-color: rgba(36, 35, 31, 0.9);
  box-shadow:
    12px 12px 0 var(--atlas-accent-strong),
    24px 24px 0 rgba(36, 35, 31, 0.1);
  transform: translate(-2px, -2px);
}

.home-editorial .home-field-atlas a:hover::before,
.home-editorial .home-field-atlas a:focus-visible::before {
  background: var(--atlas-accent);
  border-color: rgba(36, 35, 31, 0.42);
  transform: translate(-14px, -10px) scale(1.08);
}

.home-editorial .home-field-atlas a:hover::after,
.home-editorial .home-field-atlas a:focus-visible::after {
  width: clamp(120px, 13vw, 230px);
  background: rgba(36, 35, 31, 0.62);
  transform: rotate(-12deg);
}

.home-editorial .home-field-atlas a:hover h3,
.home-editorial .home-field-atlas a:focus-visible h3 {
  transform: translateY(-4px);
}

.home-editorial .home-field-atlas a:hover em,
.home-editorial .home-field-atlas a:focus-visible em {
  color: rgba(23, 25, 21, 0.94);
}

@media (max-width: 900px) {
  .home-editorial .change-root-essay,
  .home-editorial .home-topics-section .section-head {
    grid-template-columns: 1fr;
  }

  .home-editorial .change-root-essay > span,
  .home-editorial .home-topics-section .section-head span,
  .home-editorial .home-topics-section .section-head h2,
  .home-editorial .home-topics-section .section-head .section-intro {
    grid-column: 1;
  }

  .home-editorial .change-root-essay > span {
    position: relative;
    top: auto;
  }

  .home-editorial .home-field-atlas {
    border-width: 1px;
    padding-top: 18px;
    padding-left: 18px;
  }

  .home-editorial .home-field-atlas::before {
    position: relative;
    top: auto;
    right: auto;
    grid-column: 1;
    margin-bottom: 6px;
  }

  .home-editorial .home-field-atlas a {
    min-height: 280px;
  }
}

/* Atlas readability fix: never crop field titles */
.home-editorial .home-field-atlas a {
  overflow: visible;
}

.home-editorial .home-field-atlas a:nth-child(3) {
  grid-column: 1 / span 5;
}

.home-editorial .home-field-atlas a:nth-child(4) {
  grid-column: 7 / span 6;
}

.home-editorial .home-field-atlas a:nth-child(6) {
  grid-column: 7 / span 6;
}

.home-editorial .home-field-atlas h3 {
  max-width: 100%;
  font-size: clamp(32px, 3.8vw, 60px);
  overflow-wrap: break-word;
  hyphens: auto;
}

.home-editorial .home-field-atlas a:nth-child(2) h3,
.home-editorial .home-field-atlas a:nth-child(3) h3,
.home-editorial .home-field-atlas a:nth-child(4) h3,
.home-editorial .home-field-atlas a:nth-child(6) h3 {
  font-size: clamp(30px, 3.35vw, 54px);
}

@media (max-width: 900px) {
  .home-editorial .home-field-atlas a,
  .home-editorial .home-field-atlas a:nth-child(1),
  .home-editorial .home-field-atlas a:nth-child(2),
  .home-editorial .home-field-atlas a:nth-child(3),
  .home-editorial .home-field-atlas a:nth-child(4),
  .home-editorial .home-field-atlas a:nth-child(5),
  .home-editorial .home-field-atlas a:nth-child(6) {
    grid-column: 1;
  }

  .home-editorial .home-field-atlas h3,
  .home-editorial .home-field-atlas a:nth-child(2) h3,
  .home-editorial .home-field-atlas a:nth-child(3) h3,
  .home-editorial .home-field-atlas a:nth-child(4) h3,
  .home-editorial .home-field-atlas a:nth-child(6) h3 {
    font-size: clamp(34px, 9vw, 54px);
  }
}

/* Atlas as cartographic tableau */
.home-editorial .home-field-atlas {
  display: block;
  position: relative;
  max-width: 1180px;
  min-height: clamp(860px, 88vw, 1180px);
  margin-top: clamp(84px, 10vw, 150px);
  padding: clamp(34px, 4vw, 58px);
  border: 2px solid rgba(36, 35, 31, 0.72);
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(36, 35, 31, 0.055) 1px, transparent 1px),
    linear-gradient(135deg, rgba(21, 127, 134, 0.06), transparent 48%),
    var(--paper-soft);
  background-size: 44px 44px, 44px 44px, auto, auto;
  box-shadow: 18px 18px 0 rgba(36, 35, 31, 0.08);
}

.home-editorial .home-field-atlas::before {
  position: absolute;
  top: clamp(18px, 2vw, 28px);
  right: clamp(24px, 3vw, 42px);
  z-index: 1;
  color: rgba(36, 35, 31, 0.58);
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  content: "Atlas der Praxisfelder";
}

.home-editorial .home-field-atlas::after {
  position: absolute;
  inset: 16% 10% 18% 14%;
  border: 1px solid rgba(21, 127, 134, 0.22);
  background:
    linear-gradient(112deg, transparent 0 30%, rgba(36, 70, 245, 0.08) 30% 48%, transparent 48% 100%),
    linear-gradient(28deg, transparent 0 48%, rgba(21, 127, 134, 0.1) 48% 62%, transparent 62% 100%);
  content: "";
  pointer-events: none;
}

.home-editorial .home-field-atlas a,
.home-editorial .home-field-atlas a:nth-child(1),
.home-editorial .home-field-atlas a:nth-child(2),
.home-editorial .home-field-atlas a:nth-child(3),
.home-editorial .home-field-atlas a:nth-child(4),
.home-editorial .home-field-atlas a:nth-child(5),
.home-editorial .home-field-atlas a:nth-child(6) {
  position: absolute;
  display: grid;
  align-content: space-between;
  min-height: auto;
  margin: 0;
  padding: clamp(20px, 2.4vw, 34px);
  overflow: visible;
  border: 2px solid rgba(36, 35, 31, 0.62);
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(36, 35, 31, 0.05) 1px, transparent 1px),
    rgba(245, 243, 238, 0.94);
  background-size: 28px 28px;
  box-shadow: 10px 10px 0 rgba(36, 35, 31, 0.08);
}

.home-editorial .home-field-atlas a:nth-child(1) {
  top: 9%;
  left: 6%;
  width: 37%;
  height: 29%;
}

.home-editorial .home-field-atlas a:nth-child(2) {
  top: 6%;
  right: 5%;
  width: 48%;
  height: 26%;
}

.home-editorial .home-field-atlas a:nth-child(3) {
  top: 40%;
  left: 12%;
  width: 34%;
  height: 25%;
}

.home-editorial .home-field-atlas a:nth-child(4) {
  top: 34%;
  right: 7%;
  width: 42%;
  height: 27%;
}

.home-editorial .home-field-atlas a:nth-child(5) {
  bottom: 7%;
  left: 4%;
  width: 48%;
  height: 29%;
}

.home-editorial .home-field-atlas a:nth-child(6) {
  right: 4%;
  bottom: 5%;
  width: 38%;
  height: 31%;
}

.home-editorial .home-field-atlas a:nth-child(1),
.home-editorial .home-field-atlas a:nth-child(4) {
  background-color: rgba(240, 236, 228, 0.95);
}

.home-editorial .home-field-atlas a:nth-child(2),
.home-editorial .home-field-atlas a:nth-child(6) {
  background-color: rgba(228, 221, 210, 0.95);
}

.home-editorial .home-field-atlas a:nth-child(3),
.home-editorial .home-field-atlas a:nth-child(5) {
  background-color: rgba(247, 245, 241, 0.95);
}

.home-editorial .home-field-atlas a::before {
  inset: auto clamp(18px, 2vw, 30px) clamp(18px, 2vw, 30px) auto;
  z-index: 0;
  width: clamp(82px, 8vw, 132px);
  height: clamp(82px, 8vw, 132px);
  border: 2px solid rgba(36, 35, 31, 0.22);
  background: var(--atlas-accent, rgba(21, 127, 134, 0.08));
}

.home-editorial .home-field-atlas a::after {
  inset: clamp(22px, 2.6vw, 38px) auto auto clamp(58px, 5vw, 86px);
  width: clamp(90px, 9vw, 160px);
  height: 2px;
  background: rgba(36, 35, 31, 0.36);
  transform: rotate(-17deg);
}

.home-editorial .home-field-atlas span {
  width: 44px;
  height: 44px;
}

.home-editorial .home-field-atlas h3,
.home-editorial .home-field-atlas a:nth-child(2) h3,
.home-editorial .home-field-atlas a:nth-child(3) h3,
.home-editorial .home-field-atlas a:nth-child(4) h3,
.home-editorial .home-field-atlas a:nth-child(6) h3 {
  max-width: 100%;
  margin: clamp(44px, 5vw, 78px) 0 clamp(18px, 2.4vw, 34px);
  font-size: clamp(28px, 3.45vw, 56px);
  line-height: 0.96;
}

.home-editorial .home-field-atlas p {
  max-width: 22rem;
}

.home-editorial .home-field-atlas em {
  margin-top: clamp(18px, 2.6vw, 38px);
}

@media (max-width: 900px) {
  .home-editorial .home-field-atlas {
    display: grid;
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 18px;
  }

  .home-editorial .home-field-atlas::after {
    display: none;
  }

  .home-editorial .home-field-atlas a,
  .home-editorial .home-field-atlas a:nth-child(1),
  .home-editorial .home-field-atlas a:nth-child(2),
  .home-editorial .home-field-atlas a:nth-child(3),
  .home-editorial .home-field-atlas a:nth-child(4),
  .home-editorial .home-field-atlas a:nth-child(5),
  .home-editorial .home-field-atlas a:nth-child(6) {
    position: relative;
    inset: auto;
    width: auto;
    height: auto;
    min-height: 280px;
  }
}

/* Stable atlas tableau: map-like, but readable */
.home-editorial .home-field-atlas {
  display: grid;
  position: relative;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 34px);
  max-width: 1180px;
  min-height: auto;
  margin-top: clamp(84px, 10vw, 150px);
  padding: clamp(26px, 3.4vw, 48px);
  border: 2px solid rgba(17, 20, 24, 0.68);
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17, 20, 24, 0.05) 1px, transparent 1px),
    linear-gradient(135deg, rgba(47, 127, 136, 0.12), transparent 45%),
    linear-gradient(315deg, rgba(184, 139, 98, 0.14), transparent 38%),
    #f2efe9;
  background-size: 44px 44px, 44px 44px, auto, auto, auto;
  box-shadow: 18px 18px 0 rgba(17, 20, 24, 0.08);
}

.home-editorial .atlas-meta,
.home-editorial .atlas-scale {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(17, 20, 24, 0.22);
  padding-bottom: 14px;
  color: rgba(17, 20, 24, 0.58);
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.13em;
  line-height: 1.25;
  text-transform: uppercase;
}

.home-editorial .atlas-scale {
  justify-content: flex-start;
  gap: clamp(22px, 4vw, 68px);
  border-bottom: 0;
  padding-bottom: clamp(8px, 1.4vw, 18px);
  color: rgba(17, 20, 24, 0.42);
}

.home-editorial .atlas-routes {
  position: absolute;
  inset: 112px clamp(26px, 3.4vw, 48px) 70px;
  z-index: 0;
  width: auto;
  height: auto;
  pointer-events: none;
}

.home-editorial .atlas-routes path {
  fill: none;
  stroke: rgba(47, 127, 136, 0.3);
  stroke-width: 0.32;
  stroke-dasharray: 3 3;
}

.home-editorial .home-field-atlas a,
.home-editorial .home-field-atlas a:nth-child(1),
.home-editorial .home-field-atlas a:nth-child(2),
.home-editorial .home-field-atlas a:nth-child(3),
.home-editorial .home-field-atlas a:nth-child(4),
.home-editorial .home-field-atlas a:nth-child(5),
.home-editorial .home-field-atlas a:nth-child(6) {
  position: relative;
  inset: auto;
  z-index: 1;
  width: auto;
  height: auto;
  min-height: clamp(300px, 25vw, 390px);
  margin: 0;
  overflow: visible;
}

.home-editorial .home-field-atlas a:nth-of-type(1) {
  grid-column: 1 / span 5;
}

.home-editorial .home-field-atlas a:nth-of-type(2) {
  grid-column: 6 / span 7;
  margin-top: clamp(34px, 4vw, 72px);
}

.home-editorial .home-field-atlas a:nth-of-type(3) {
  grid-column: 2 / span 5;
}

.home-editorial .home-field-atlas a:nth-of-type(4) {
  grid-column: 7 / span 6;
  margin-top: clamp(20px, 3vw, 54px);
}

.home-editorial .home-field-atlas a:nth-of-type(5) {
  grid-column: 1 / span 6;
  margin-top: clamp(34px, 4vw, 72px);
}

.home-editorial .home-field-atlas a:nth-of-type(6) {
  grid-column: 8 / span 5;
}

.home-editorial .home-field-atlas h3,
.home-editorial .home-field-atlas a:nth-child(2) h3,
.home-editorial .home-field-atlas a:nth-child(3) h3,
.home-editorial .home-field-atlas a:nth-child(4) h3,
.home-editorial .home-field-atlas a:nth-child(6) h3 {
  max-width: 100%;
  font-size: clamp(30px, 3.55vw, 58px);
  line-height: 0.98;
}

@media (max-width: 900px) {
  .home-editorial .home-field-atlas {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .home-editorial .atlas-routes {
    display: none;
  }

  .home-editorial .home-field-atlas a,
  .home-editorial .home-field-atlas a:nth-of-type(1),
  .home-editorial .home-field-atlas a:nth-of-type(2),
  .home-editorial .home-field-atlas a:nth-of-type(3),
  .home-editorial .home-field-atlas a:nth-of-type(4),
  .home-editorial .home-field-atlas a:nth-of-type(5),
  .home-editorial .home-field-atlas a:nth-of-type(6) {
    grid-column: 1;
    min-height: 270px;
    margin-top: 0;
  }
}

/* GREENSTAGE evidence image: larger, quieter, less personenbezogen */
.home-editorial .home-practice-feature {
  max-width: min(1320px, calc(100vw - 56px));
  grid-template-columns: minmax(0, 0.68fr) minmax(280px, 0.32fr);
  gap: clamp(42px, 6vw, 92px);
}

.home-editorial .home-practice-feature .home-feature-image {
  position: relative;
  overflow: hidden;
  border-top: 0;
  padding-top: 0;
  background: #111418;
  box-shadow: 20px 20px 0 rgba(184, 139, 98, 0.14);
}

.home-editorial .home-practice-feature .home-feature-image::before,
.home-editorial .home-practice-feature .home-feature-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.home-editorial .home-practice-feature .home-feature-image::before {
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.32), rgba(47, 127, 136, 0.16) 46%, rgba(184, 139, 98, 0.12)),
    rgba(17, 20, 24, 0.1);
  mix-blend-mode: multiply;
}

.home-editorial .home-practice-feature .home-feature-image::after {
  border: 1px solid rgba(17, 20, 24, 0.28);
  box-shadow: inset 0 0 0 18px rgba(244, 241, 235, 0.06);
}

.home-editorial .home-practice-feature .home-feature-image img {
  aspect-ratio: 16 / 9;
  filter: grayscale(0.18) saturate(0.62) contrast(0.92) brightness(0.88) blur(1.1px);
  object-position: center 42%;
  transform: scale(1.035);
}

.home-editorial .home-practice-feature .home-feature-image figcaption {
  position: absolute;
  right: clamp(18px, 2vw, 28px);
  bottom: clamp(16px, 2vw, 24px);
  z-index: 2;
  max-width: min(420px, 70%);
  color: rgba(244, 241, 235, 0.78);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 620;
  letter-spacing: 0.12em;
  line-height: 1.45;
  text-align: right;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .home-editorial .home-practice-feature {
    max-width: min(100%, calc(100vw - 32px));
    grid-template-columns: 1fr;
  }

  .home-editorial .home-practice-feature .home-feature-image img {
    aspect-ratio: 4 / 3;
  }

  .home-editorial .home-practice-feature .home-feature-image figcaption {
    left: 16px;
    right: 16px;
    max-width: none;
    text-align: left;
  }
}

/* Temporary GREENSTAGE treatment: first show the photograph plainly */
.home-editorial .home-practice-feature .home-feature-image {
  overflow: visible;
  background: transparent;
  box-shadow: none;
}

.home-editorial .home-practice-feature .home-feature-image::before,
.home-editorial .home-practice-feature .home-feature-image::after {
  display: none;
}

.home-editorial .home-practice-feature .home-feature-image img {
  aspect-ratio: 16 / 9;
  filter: none;
  object-position: center center;
  transform: none;
}

.home-editorial .home-practice-feature .home-feature-image figcaption {
  position: static;
  max-width: none;
  margin-top: 10px;
  color: rgba(17, 20, 24, 0.48);
  text-align: left;
}

/* GREENSTAGE as evidence: image first, text as editorial note */
.home-editorial .greenstage-feature.home-practice-feature {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  max-width: min(1280px, calc(100vw - 56px));
  gap: clamp(18px, 2.6vw, 34px);
  align-items: start;
  padding-top: clamp(132px, 15vw, 220px);
}

.home-editorial .greenstage-feature .home-feature-image {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(17, 20, 24, 0.18);
  padding-top: clamp(18px, 2vw, 28px);
}

.home-editorial .greenstage-feature .home-feature-image img {
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
  object-position: center center;
}

.home-editorial .greenstage-feature .home-feature-image figcaption {
  margin-top: 12px;
  color: rgba(17, 20, 24, 0.42);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 620;
  letter-spacing: 0.12em;
  line-height: 1.45;
  text-transform: uppercase;
}

.home-editorial .greenstage-feature .feature-copy {
  grid-column: 2 / span 7;
  display: grid;
  grid-template-columns: minmax(140px, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(22px, 4vw, 58px);
  max-width: none;
  margin-top: clamp(28px, 4vw, 52px);
}

.home-editorial .greenstage-feature .feature-copy span {
  margin: 0;
  padding-top: 0.35em;
}

.home-editorial .greenstage-feature .feature-copy h2 {
  grid-column: 1;
  margin: clamp(28px, 4vw, 54px) 0 0;
  font-size: clamp(30px, 3.8vw, 52px);
  line-height: 1;
}

.home-editorial .greenstage-feature .feature-copy p,
.home-editorial .greenstage-feature .feature-copy p:first-of-type {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 34em;
  margin: 0;
  color: rgba(17, 20, 24, 0.72);
  font-size: clamp(18px, 1.35vw, 21px);
  font-weight: 380;
  letter-spacing: -0.002em;
  line-height: 1.68;
}

.home-editorial .greenstage-feature .feature-copy .text-link {
  grid-column: 2;
  margin-top: clamp(26px, 3vw, 42px);
}

@media (max-width: 900px) {
  .home-editorial .greenstage-feature.home-practice-feature {
    max-width: min(100%, calc(100vw - 32px));
    grid-template-columns: 1fr;
  }

  .home-editorial .greenstage-feature .home-feature-image,
  .home-editorial .greenstage-feature .feature-copy,
  .home-editorial .greenstage-feature .feature-copy span,
  .home-editorial .greenstage-feature .feature-copy h2,
  .home-editorial .greenstage-feature .feature-copy p,
  .home-editorial .greenstage-feature .feature-copy p:first-of-type,
  .home-editorial .greenstage-feature .feature-copy .text-link {
    grid-column: 1;
    grid-row: auto;
  }

  .home-editorial .greenstage-feature .home-feature-image img {
    aspect-ratio: 4 / 3;
  }

  .home-editorial .greenstage-feature .feature-copy {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .home-editorial .greenstage-feature .feature-copy h2 {
    margin-top: 18px;
  }

  .home-editorial .greenstage-feature .feature-copy p,
  .home-editorial .greenstage-feature .feature-copy p:first-of-type {
    margin-top: 24px;
  }
}

/* GREENSTAGE colour room: derived from the photograph */
.home-editorial .greenstage-feature.home-practice-feature {
  position: relative;
  max-width: min(1380px, calc(100vw - 40px));
  margin-top: clamp(110px, 13vw, 190px);
  padding: clamp(26px, 3vw, 42px);
  background:
    linear-gradient(135deg, rgba(244, 241, 235, 0.08), transparent 42%),
    #142018;
  color: #f4f1eb;
}

.home-editorial .greenstage-feature.home-practice-feature::before {
  content: "";
  position: absolute;
  inset: clamp(18px, 2vw, 30px) auto auto clamp(18px, 2vw, 30px);
  width: clamp(120px, 13vw, 190px);
  height: 1px;
  background: rgba(244, 241, 235, 0.42);
}

.home-editorial .greenstage-feature .home-feature-image {
  border-top: 0;
  padding-top: 0;
}

.home-editorial .greenstage-feature .home-feature-image img {
  filter: saturate(0.86) contrast(0.96) brightness(0.92);
}

.home-editorial .greenstage-feature .home-feature-image figcaption,
.home-editorial .greenstage-feature .feature-copy span {
  color: rgba(244, 241, 235, 0.58);
}

.home-editorial .greenstage-feature .feature-copy h2 {
  color: #f4f1eb;
}

.home-editorial .greenstage-feature .feature-copy p,
.home-editorial .greenstage-feature .feature-copy p:first-of-type {
  color: rgba(244, 241, 235, 0.78);
}

.home-editorial .greenstage-feature .feature-copy .text-link {
  color: rgba(244, 241, 235, 0.72);
}

.home-editorial .greenstage-feature .feature-copy .text-link:hover {
  color: #f4f1eb;
  box-shadow: inset 0 -0.08em 0 rgba(244, 241, 235, 0.34);
}

@media (max-width: 900px) {
  .home-editorial .greenstage-feature.home-practice-feature {
    max-width: min(100%, calc(100vw - 24px));
    padding: 18px;
  }
}

/* Approach model: structural draft before visual design */
.approach-hero h1 {
  max-width: 11em;
}

.approach-chapter .page-copy {
  max-width: 760px;
}

.approach-model-section {
  max-width: min(1180px, calc(100vw - 48px));
  margin: 0 auto;
  padding: clamp(92px, 12vw, 160px) 0;
}

.approach-model-section .section-head {
  max-width: 760px;
  margin-bottom: clamp(44px, 6vw, 78px);
}

.approach-model {
  display: grid;
  gap: clamp(24px, 3vw, 40px);
  padding: clamp(24px, 3vw, 42px);
  border: 1px solid rgba(17, 20, 24, 0.2);
  background: #f2efe9;
}

.model-frame {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid rgba(17, 20, 24, 0.18);
  padding-bottom: 18px;
}

.model-frame span,
.model-flow span,
.model-actors span {
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.model-frame strong {
  color: rgba(17, 20, 24, 0.64);
  font-family: var(--serif);
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 400;
}

.model-actors {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: rgba(17, 20, 24, 0.16);
  border: 1px solid rgba(17, 20, 24, 0.16);
}

.model-actors span {
  min-height: 92px;
  padding: 18px;
  background: #f7f5f1;
  color: rgba(17, 20, 24, 0.74);
}

.model-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.model-flow span {
  min-height: 84px;
  padding: 16px;
  border: 1px solid rgba(17, 20, 24, 0.18);
  color: rgba(17, 20, 24, 0.62);
}

.model-lens {
  max-width: 34em;
  margin: clamp(16px, 2vw, 24px) 0 0 auto;
  color: rgba(17, 20, 24, 0.72);
  font-size: clamp(22px, 2.3vw, 34px);
  line-height: 1.22;
}

@media (max-width: 900px) {
  .approach-model-section {
    max-width: min(100%, calc(100vw - 32px));
  }

  .model-actors,
  .model-flow {
    grid-template-columns: 1fr;
  }

  .model-actors span,
  .model-flow span {
    min-height: 0;
  }

  .model-lens {
    margin-left: 0;
  }
}

/* Current colour logic: hero image, atlas/model and GREENSTAGE share the same teal depth */
:root {
  --teal: #2f7f88;
  --deep-teal: #102f34;
  --deep-teal-2: #173f44;
  --image-warmth: #b88b62;
  --paper-soft: #f2efe9;
}

.home-editorial .hero-section::after {
  background:
    linear-gradient(90deg, rgba(16, 47, 52, 0.62) 0%, rgba(47, 127, 136, 0.24) 38%, rgba(17, 20, 24, 0.08) 78%),
    linear-gradient(180deg, rgba(17, 20, 24, 0.06) 0%, rgba(17, 20, 24, 0.02) 42%, rgba(16, 47, 52, 0.28) 100%);
}

.home-editorial .hero-art .asset-river {
  filter: grayscale(0.02) saturate(0.92) contrast(1.02) brightness(0.98);
}

.home-editorial .home-field-atlas,
.approach-model {
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17, 20, 24, 0.045) 1px, transparent 1px),
    linear-gradient(135deg, rgba(47, 127, 136, 0.13), transparent 46%),
    linear-gradient(315deg, rgba(184, 139, 98, 0.12), transparent 40%),
    var(--paper-soft);
  background-size: 44px 44px, 44px 44px, auto, auto, auto;
}

.home-editorial .atlas-routes path {
  stroke: rgba(47, 127, 136, 0.34);
}

.home-editorial .greenstage-feature.home-practice-feature {
  background:
    linear-gradient(135deg, rgba(244, 241, 235, 0.08), transparent 42%),
    linear-gradient(315deg, rgba(47, 127, 136, 0.18), transparent 58%),
    var(--deep-teal);
}

.home-editorial .greenstage-feature .home-feature-image img {
  filter: saturate(0.82) contrast(0.96) brightness(0.9);
}

.home-editorial .greenstage-feature.home-practice-feature::before {
  background: rgba(47, 127, 136, 0.62);
}

.model-flow span {
  border-color: rgba(47, 127, 136, 0.24);
}

/* GREENSTAGE should connect through teal, not become a dark green block */
.home-editorial .greenstage-feature.home-practice-feature {
  background:
    linear-gradient(135deg, rgba(47, 127, 136, 0.12), transparent 46%),
    linear-gradient(315deg, rgba(184, 139, 98, 0.08), transparent 44%),
    #f2efe9;
  color: var(--charcoal);
}

.home-editorial .greenstage-feature.home-practice-feature::before {
  background: rgba(47, 127, 136, 0.38);
}

.home-editorial .greenstage-feature .home-feature-image img {
  filter: saturate(0.88) contrast(0.98) brightness(0.98);
}

.home-editorial .greenstage-feature .home-feature-image figcaption,
.home-editorial .greenstage-feature .feature-copy span {
  color: rgba(17, 20, 24, 0.48);
}

.home-editorial .greenstage-feature .feature-copy h2 {
  color: var(--charcoal);
}

.home-editorial .greenstage-feature .feature-copy p,
.home-editorial .greenstage-feature .feature-copy p:first-of-type {
  color: rgba(17, 20, 24, 0.72);
}

.home-editorial .greenstage-feature .feature-copy .text-link {
  color: rgba(17, 20, 24, 0.62);
}

.home-editorial .greenstage-feature .feature-copy .text-link:hover {
  color: var(--charcoal);
  box-shadow: inset 0 -0.08em 0 rgba(47, 127, 136, 0.34);
}

/* Approach atlas: coherent colour world and clearer centrepiece */
.approach-hero.page-hero--cobalt {
  background:
    linear-gradient(135deg, rgba(47, 127, 136, 0.18), transparent 48%),
    linear-gradient(315deg, rgba(184, 139, 98, 0.1), transparent 42%),
    #f2efe9;
  color: var(--charcoal);
}

.approach-hero.page-hero--cobalt span,
.approach-hero.page-hero--cobalt p {
  color: rgba(17, 20, 24, 0.62);
}

.approach-hero.page-hero--cobalt h1 {
  color: var(--charcoal);
}

.approach-model-section {
  max-width: min(1320px, calc(100vw - 48px));
}

.approach-model-section .section-head {
  max-width: 860px;
}

.approach-atlas {
  position: relative;
  min-height: clamp(720px, 78vw, 940px);
  overflow: hidden;
  border: 1px solid rgba(17, 20, 24, 0.22);
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17, 20, 24, 0.045) 1px, transparent 1px),
    radial-gradient(circle at 34% 38%, rgba(47, 127, 136, 0.18), transparent 28%),
    radial-gradient(circle at 74% 28%, rgba(36, 70, 232, 0.08), transparent 24%),
    radial-gradient(circle at 68% 78%, rgba(184, 139, 98, 0.12), transparent 30%),
    #f2efe9;
  background-size: 42px 42px, 42px 42px, auto, auto, auto, auto;
  box-shadow: 18px 18px 0 rgba(17, 20, 24, 0.07);
}

.atlas-frame {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid rgba(17, 20, 24, 0.18);
  padding-bottom: 18px;
}

.atlas-frame span,
.atlas-frame strong,
.atlas-process span,
.atlas-actors .actor,
.atlas-lens span {
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.atlas-frame strong {
  color: rgba(17, 20, 24, 0.58);
  font-weight: 520;
}

.atlas-lines {
  position: absolute;
  inset: 98px 28px 160px;
  z-index: 0;
  width: auto;
  height: auto;
}

.atlas-lines path,
.atlas-lines circle {
  fill: none;
  stroke: rgba(47, 127, 136, 0.34);
  stroke-width: 2;
  stroke-dasharray: 8 10;
}

.atlas-lines circle {
  stroke: rgba(17, 20, 24, 0.18);
  stroke-dasharray: none;
}

.atlas-actors {
  position: absolute;
  inset: 118px 48px 220px;
  z-index: 2;
}

.atlas-actors .actor {
  position: absolute;
  max-width: 180px;
  padding: 12px 14px;
  border: 1px solid rgba(17, 20, 24, 0.22);
  background: rgba(247, 245, 241, 0.88);
  color: rgba(17, 20, 24, 0.76);
  backdrop-filter: blur(8px);
}

.atlas-actors .actor::before {
  content: "";
  position: absolute;
  top: -7px;
  left: -7px;
  width: 12px;
  height: 12px;
  border: 1px solid rgba(47, 127, 136, 0.62);
  border-radius: 50%;
  background: #f2efe9;
}

.actor-a { left: 6%; top: 10%; }
.actor-b { left: 33%; top: 24%; }
.actor-c { right: 10%; top: 12%; }
.actor-d { right: 25%; top: 43%; }
.actor-e { left: 11%; top: 58%; }
.actor-f { left: 49%; top: 61%; }
.actor-g { right: 6%; top: 66%; }
.actor-h { left: 42%; top: 4%; }

.atlas-lens {
  position: absolute;
  left: clamp(260px, 38vw, 530px);
  top: clamp(260px, 26vw, 360px);
  z-index: 3;
  display: grid;
  place-content: center;
  width: clamp(210px, 21vw, 300px);
  aspect-ratio: 1;
  border: 1px solid rgba(36, 70, 232, 0.34);
  border-radius: 50%;
  background: rgba(47, 127, 136, 0.1);
  box-shadow: 0 0 0 22px rgba(47, 127, 136, 0.045);
  text-align: center;
}

.atlas-lens span {
  color: var(--cobalt);
}

.atlas-lens p {
  max-width: 16em;
  margin: 12px auto 0;
  color: rgba(17, 20, 24, 0.7);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.35;
}

.atlas-process {
  position: absolute;
  right: 42px;
  bottom: 42px;
  left: 42px;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(17, 20, 24, 0.18);
  background: rgba(17, 20, 24, 0.14);
}

.atlas-process span {
  min-height: 86px;
  padding: 16px;
  background: rgba(247, 245, 241, 0.9);
  color: rgba(17, 20, 24, 0.66);
}

.approach-atlas .model-lens {
  position: absolute;
  left: 42px;
  bottom: 168px;
  z-index: 2;
  max-width: 29em;
  margin: 0;
  color: rgba(17, 20, 24, 0.72);
  font-size: clamp(20px, 2vw, 30px);
}

/* Navigation visibility: same palette, clearer without becoming corporate */
.home-editorial .site-header {
  background:
    linear-gradient(180deg, rgba(16, 47, 52, 0.62), rgba(16, 47, 52, 0.16) 64%, transparent);
}

.home-editorial .site-nav {
  font-size: 0.74rem;
  letter-spacing: 0.105em;
}

.home-editorial .brand,
.home-editorial .site-nav a {
  color: rgba(247, 245, 241, 0.94);
}

.home-editorial .site-nav .language-link,
.home-editorial .nav-toggle {
  border-color: rgba(247, 245, 241, 0.38);
  background: rgba(16, 47, 52, 0.16);
}

@media (max-width: 900px) {
  .approach-atlas {
    min-height: auto;
    padding: 22px;
  }

  .atlas-lines {
    display: none;
  }

  .atlas-frame,
  .atlas-actors,
  .atlas-lens,
  .atlas-process,
  .approach-atlas .model-lens {
    position: relative;
    inset: auto;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
  }

  .atlas-actors {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 28px;
  }

  .atlas-actors .actor {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    max-width: none;
  }

  .atlas-lens {
    width: min(260px, 74vw);
    margin: 34px auto;
  }

  .atlas-process {
    grid-template-columns: 1fr;
    margin-top: 22px;
  }

  .atlas-process span {
    min-height: 0;
  }

  .approach-atlas .model-lens {
    margin-top: 28px;
    font-size: 20px;
  }
}

/* Final atlas positioning override */
@media (min-width: 901px) {
  .approach-model.approach-atlas {
    display: block;
  }

  .approach-model.approach-atlas .atlas-actors {
    position: absolute;
    inset: 118px 48px 220px;
    display: block;
  }

  .approach-model.approach-atlas .atlas-actors .actor {
    position: absolute;
    display: block;
    width: max-content;
    max-width: 190px;
  }

  .approach-model.approach-atlas .atlas-actors .actor-a { left: 6%; top: 10%; }
  .approach-model.approach-atlas .atlas-actors .actor-b { left: 33%; top: 24%; }
  .approach-model.approach-atlas .atlas-actors .actor-c { right: 10%; top: 12%; }
  .approach-model.approach-atlas .atlas-actors .actor-d { right: 25%; top: 43%; }
  .approach-model.approach-atlas .atlas-actors .actor-e { left: 11%; top: 58%; }
  .approach-model.approach-atlas .atlas-actors .actor-f { left: 35%; top: 70%; }
  .approach-model.approach-atlas .atlas-actors .actor-g { right: 6%; top: 66%; }
  .approach-model.approach-atlas .atlas-actors .actor-h { left: 42%; top: 4%; }

  .approach-model.approach-atlas .atlas-lens {
    position: absolute;
    left: clamp(300px, 39vw, 560px);
    top: clamp(250px, 24vw, 340px);
    display: grid;
    z-index: 8;
    width: clamp(230px, 20vw, 300px);
    height: auto;
    aspect-ratio: 1;
  }

  .approach-model.approach-atlas .atlas-process {
    position: absolute;
    right: 42px;
    bottom: 42px;
    left: 42px;
    display: grid;
  }

  .approach-model.approach-atlas .model-lens {
    position: absolute;
    left: 42px;
    bottom: 168px;
    max-width: 29em;
  }
}

@media (min-width: 901px) {
  .approach-model.approach-atlas .atlas-lens {
    background:
      radial-gradient(circle, rgba(247, 245, 241, 0.96) 0%, rgba(242, 239, 233, 0.9) 58%, rgba(47, 127, 136, 0.11) 100%);
    backdrop-filter: blur(10px);
  }

  .approach-model.approach-atlas .atlas-lens p {
    max-width: 13.5em;
    font-size: clamp(14px, 1.05vw, 16px);
  }
}

/* Scroll atlas: high-quality narrative model */
.approach-atlas-scroll {
  max-width: min(1440px, 100%);
  min-height: 560vh;
  padding: clamp(96px, 12vw, 160px) clamp(24px, 4vw, 60px);
}

.approach-atlas-scroll .section-head {
  max-width: 920px;
  margin: 0 auto clamp(64px, 8vw, 110px);
}

.approach-atlas-layout {
  position: sticky;
  top: 96px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
  gap: clamp(28px, 4vw, 56px);
  align-items: stretch;
  min-height: min(760px, calc(100svh - 126px));
}

.approach-model.approach-atlas.approach-atlas-interactive {
  position: relative;
  display: block;
  min-height: min(760px, calc(100svh - 126px));
  overflow: hidden;
  padding: clamp(26px, 2.6vw, 40px);
  border: 1px solid rgba(17, 20, 24, 0.18);
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17, 20, 24, 0.045) 1px, transparent 1px),
    radial-gradient(circle at calc(26% + (var(--atlas-progress, 0) * 42%)) calc(24% + (var(--atlas-progress, 0) * 38%)), rgba(47, 127, 136, 0.18), transparent 25%),
    radial-gradient(circle at 76% 22%, rgba(36, 70, 232, 0.055), transparent 24%),
    radial-gradient(circle at 70% 82%, rgba(184, 139, 98, 0.12), transparent 30%),
    #f2efe9;
  background-size: 42px 42px, 42px 42px, auto, auto, auto, auto;
  box-shadow: 22px 22px 0 rgba(17, 20, 24, 0.065);
}

.approach-atlas-interactive [data-atlas-layer] {
  opacity: 0.16;
  transform: translateY(18px);
  transition: opacity 700ms ease, transform 700ms ease, filter 700ms ease;
}

.approach-atlas-scroll[data-atlas-step="0"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="questions"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="questions"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="processes"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="questions"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="processes"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="capacity"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="questions"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="processes"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="capacity"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="practice"],
.approach-atlas-scroll[data-atlas-step="6"] [data-atlas-layer],
.approach-atlas-scroll[data-atlas-step="7"] [data-atlas-layer] {
  opacity: 1;
  transform: translateY(0);
}

.approach-atlas-scroll[data-atlas-step="7"] [data-atlas-layer="focus"] {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.approach-atlas-interactive .atlas-frame {
  position: relative;
  z-index: 4;
}

.approach-atlas-interactive .atlas-lines {
  position: absolute;
  inset: 104px 34px 226px;
  z-index: 1;
}

.approach-atlas-interactive .atlas-lines path,
.approach-atlas-interactive .atlas-lines circle {
  vector-effect: non-scaling-stroke;
}

.approach-atlas-interactive .atlas-actors {
  position: absolute;
  inset: 110px 42px 236px;
  z-index: 3;
}

.approach-atlas-interactive .atlas-actors .actor {
  background: rgba(247, 245, 241, 0.92);
  box-shadow: 0 10px 30px rgba(17, 20, 24, 0.045);
}

.approach-atlas-interactive .actor-a { left: 5%; top: 12%; }
.approach-atlas-interactive .actor-b { left: 30%; top: 26%; }
.approach-atlas-interactive .actor-c { right: 8%; top: 13%; }
.approach-atlas-interactive .actor-d { right: 17%; top: 44%; }
.approach-atlas-interactive .actor-e { left: 10%; top: 61%; }
.approach-atlas-interactive .actor-f { left: 37%; top: 38%; }
.approach-atlas-interactive .actor-g { right: 5%; top: 70%; }

.atlas-question-band {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  width: min(520px, 54%);
  padding: 20px 24px;
  border-top: 1px solid rgba(47, 127, 136, 0.36);
  border-bottom: 1px solid rgba(47, 127, 136, 0.36);
  background: rgba(242, 239, 233, 0.88);
  color: rgba(17, 20, 24, 0.72);
  font-family: var(--serif);
  font-size: clamp(18px, 1.65vw, 26px);
  line-height: 1.2;
  text-align: center;
  transform: translate(-50%, 18px);
  backdrop-filter: blur(8px);
}

.approach-atlas-scroll[data-atlas-step="2"] .atlas-question-band,
.approach-atlas-scroll[data-atlas-step="3"] .atlas-question-band,
.approach-atlas-scroll[data-atlas-step="4"] .atlas-question-band,
.approach-atlas-scroll[data-atlas-step="5"] .atlas-question-band,
.approach-atlas-scroll[data-atlas-step="6"] .atlas-question-band,
.approach-atlas-scroll[data-atlas-step="7"] .atlas-question-band {
  transform: translate(-50%, 0);
}

.approach-atlas-interactive .atlas-process {
  position: absolute;
  right: 34px;
  bottom: 176px;
  left: 34px;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
}

.approach-atlas-interactive .atlas-process span {
  min-height: 58px;
  padding: 12px 13px;
  background: rgba(247, 245, 241, 0.9);
  border: 1px solid rgba(17, 20, 24, 0.14);
  font-size: 0.62rem;
  line-height: 1.28;
}

.atlas-outcomes {
  position: absolute;
  right: 34px;
  bottom: 34px;
  left: 34px;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: transparent;
}

.atlas-outcomes span {
  min-height: 66px;
  padding: 13px 14px;
  border-top: 1px solid rgba(36, 35, 31, 0.28);
  border-bottom: 1px solid rgba(36, 35, 31, 0.28);
  border-left: 1px solid rgba(36, 35, 31, 0.14);
  background: rgba(36, 35, 31, 0.82);
  color: rgba(244, 241, 235, 0.88);
  font-family: var(--mono);
  font-size: 0.64rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.approach-atlas-interactive .atlas-lens {
  left: calc(8% + (var(--atlas-progress, 0) * 54%));
  top: calc(18% + (var(--atlas-progress, 0) * 34%));
  z-index: 8;
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 700ms ease, transform 700ms ease;
}

.atlas-scroll-steps {
  display: grid;
  align-content: center;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.atlas-scroll-steps li {
  border-left: 1px solid rgba(17, 20, 24, 0.16);
  padding: 14px 0 14px 18px;
  color: rgba(17, 20, 24, 0.42);
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.45;
  transition: color 500ms ease, border-color 500ms ease, transform 500ms ease;
}

.approach-atlas-scroll[data-atlas-step="0"] [data-atlas-caption="spaces"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-caption="actors"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-caption="questions"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-caption="processes"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-caption="capacity"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-caption="practice"],
.approach-atlas-scroll[data-atlas-step="6"] [data-atlas-caption="impact"],
.approach-atlas-scroll[data-atlas-step="7"] [data-atlas-caption="focus"] {
  border-color: rgba(47, 127, 136, 0.76);
  color: var(--charcoal);
  transform: translateX(8px);
}

@media (max-width: 1050px) {
  .approach-atlas-scroll {
    min-height: auto;
  }

  .approach-atlas-layout {
    position: relative;
    top: auto;
    grid-template-columns: 1fr;
  }

  .approach-model.approach-atlas.approach-atlas-interactive {
    min-height: auto;
  }

  .atlas-question-band,
  .atlas-outcomes {
    position: relative;
    inset: auto;
    left: auto;
    top: auto;
    width: auto;
    transform: none;
    margin-top: 22px;
  }

  .approach-atlas-interactive .atlas-process,
  .approach-atlas-interactive .atlas-lens {
    position: relative;
    inset: auto;
    left: auto;
    top: auto;
    margin-top: 24px;
  }

  .approach-atlas-interactive .atlas-process,
  .atlas-outcomes {
    grid-template-columns: 1fr;
  }

  .approach-atlas-interactive .atlas-lens {
    margin-right: auto;
    margin-left: auto;
  }
}

/* Material worlds: Thinking and Practice */
:root {
  --paper: #f4f1eb;
  --paper-soft: #f2efe9;
  --tracing-paper: rgba(247, 245, 241, 0.78);
  --linen-paper: #ebe6dc;
  --graphite: #24231f;
  --graphite-soft: rgba(36, 35, 31, 0.68);
  --graphite-faint: rgba(36, 35, 31, 0.12);
  --muted-blue: #687a86;
  --muted-blue-soft: rgba(104, 122, 134, 0.22);
  --clay-shadow: rgba(132, 118, 98, 0.16);
  --cobalt: #687a86;
  --teal: #687a86;
  --deep-teal: #24231f;
}

body,
.site-shell,
.home-editorial,
.home-editorial .site-shell,
.home-editorial main {
  background: var(--paper);
  color: var(--graphite);
}

/* Thinking world: paper, graphite, tracing paper, drafting table */
.fields-section,
.home-editorial .fields-section,
.home-editorial .home-topics-section,
.approach-hero.page-hero--cobalt,
.approach-model-section,
.practice-page,
.approach-chapter {
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.026) 1px, transparent 1px),
    linear-gradient(180deg, rgba(36, 35, 31, 0.022) 1px, transparent 1px),
    var(--paper);
  background-size: 52px 52px, 52px 52px, auto;
}

.home-editorial .change-root-essay,
.home-editorial .home-topics-section,
.approach-chapter .page-copy {
  color: var(--graphite);
}

.home-editorial .section-head span,
.home-editorial .feature-copy span,
.approach-hero.page-hero--cobalt span,
.approach-model-section .section-head span,
.page-copy h2 + p,
.atlas-frame span,
.atlas-scroll-steps li {
  color: rgba(36, 35, 31, 0.52);
}

.home-editorial h2,
.home-editorial .section-head h2,
.home-editorial .feature-copy h2,
.approach-hero.page-hero--cobalt h1,
.approach-model-section .section-head h2,
.page-copy h2 {
  color: var(--graphite);
}

.home-editorial p,
.home-editorial .section-intro,
.home-editorial .feature-copy p,
.approach-hero.page-hero--cobalt p,
.page-copy p {
  color: var(--graphite-soft);
}

.approach-question {
  border-left: 1px solid rgba(36, 35, 31, 0.32);
  padding-left: clamp(20px, 3vw, 34px);
  color: var(--graphite) !important;
  font-family: var(--serif);
  font-size: clamp(28px, 3.6vw, 48px) !important;
  line-height: 1.18 !important;
}

/* Homepage atlas placeholder: monochrome drafting object, not colourful UI */
.home-editorial .home-field-atlas {
  border: 1px solid rgba(36, 35, 31, 0.24);
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.052) 1px, transparent 1px),
    linear-gradient(180deg, rgba(36, 35, 31, 0.04) 1px, transparent 1px),
    linear-gradient(135deg, rgba(104, 122, 134, 0.06), transparent 46%),
    var(--paper-soft);
  background-size: 44px 44px, 44px 44px, auto, auto;
  box-shadow: 18px 18px 0 var(--clay-shadow);
}

.home-editorial .atlas-routes path {
  stroke: rgba(36, 35, 31, 0.24);
}

.home-editorial .home-field-atlas a,
.home-editorial .home-field-atlas a:nth-child(1),
.home-editorial .home-field-atlas a:nth-child(2),
.home-editorial .home-field-atlas a:nth-child(3),
.home-editorial .home-field-atlas a:nth-child(4),
.home-editorial .home-field-atlas a:nth-child(5),
.home-editorial .home-field-atlas a:nth-child(6) {
  border-color: rgba(36, 35, 31, 0.32);
  background:
    linear-gradient(135deg, rgba(247, 245, 241, 0.8), rgba(235, 230, 220, 0.54)),
    rgba(247, 245, 241, 0.72);
  box-shadow: 12px 12px 0 rgba(36, 35, 31, 0.075);
}

.home-editorial .home-field-atlas a::before {
  background: rgba(104, 122, 134, 0.1);
}

.home-editorial .home-field-atlas a:hover,
.home-editorial .home-field-atlas a:focus-visible {
  background:
    linear-gradient(135deg, rgba(104, 122, 134, 0.09), transparent 52%),
    rgba(247, 245, 241, 0.92);
  box-shadow: 14px 14px 0 rgba(36, 35, 31, 0.1);
}

.home-editorial .home-field-atlas h3,
.home-editorial .home-field-atlas p,
.home-editorial .home-field-atlas em,
.home-editorial .home-field-atlas span {
  color: var(--graphite);
}

/* Approach atlas: almost monochrome, one muted blue orientation signal */
.approach-model.approach-atlas.approach-atlas-interactive,
.approach-atlas {
  border-color: rgba(36, 35, 31, 0.2);
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(36, 35, 31, 0.045) 1px, transparent 1px),
    radial-gradient(circle at calc(24% + (var(--atlas-progress, 0) * 44%)) calc(24% + (var(--atlas-progress, 0) * 36%)), rgba(104, 122, 134, 0.12), transparent 25%),
    radial-gradient(circle at 68% 78%, rgba(132, 118, 98, 0.1), transparent 34%),
    var(--paper-soft);
  background-size: 42px 42px, 42px 42px, auto, auto, auto;
  box-shadow: 22px 22px 0 rgba(36, 35, 31, 0.07);
}

.atlas-frame {
  border-bottom-color: rgba(36, 35, 31, 0.18);
}

.atlas-frame strong,
.atlas-actors .actor,
.approach-atlas-interactive .atlas-process span,
.atlas-question-band {
  color: var(--graphite);
}

.atlas-lines path,
.approach-atlas-interactive .atlas-lines path {
  stroke: rgba(36, 35, 31, 0.24);
}

.atlas-lines circle,
.approach-atlas-interactive .atlas-lines circle {
  stroke: rgba(36, 35, 31, 0.16);
}

.atlas-actors .actor,
.approach-atlas-interactive .atlas-actors .actor {
  border-color: rgba(36, 35, 31, 0.22);
  background: rgba(247, 245, 241, 0.82);
  box-shadow: 0 12px 34px rgba(36, 35, 31, 0.045);
  backdrop-filter: blur(9px);
}

.atlas-actors .actor::before {
  border-color: rgba(104, 122, 134, 0.54);
  background: var(--paper-soft);
}

.atlas-question-band {
  border-top-color: rgba(36, 35, 31, 0.24);
  border-bottom-color: rgba(36, 35, 31, 0.24);
  background: rgba(242, 239, 233, 0.9);
}

.approach-atlas-interactive .atlas-process span {
  border-color: rgba(36, 35, 31, 0.14);
  background: rgba(247, 245, 241, 0.88);
}

.atlas-outcomes span {
  border-color: rgba(36, 35, 31, 0.28);
  background: rgba(36, 35, 31, 0.88);
  color: rgba(244, 241, 235, 0.9);
}

.atlas-lens,
.approach-model.approach-atlas .atlas-lens,
.approach-atlas-interactive .atlas-lens {
  border-color: rgba(104, 122, 134, 0.46);
  background:
    radial-gradient(circle, rgba(247, 245, 241, 0.96) 0%, rgba(242, 239, 233, 0.92) 62%, rgba(104, 122, 134, 0.11) 100%);
  box-shadow: 0 0 0 22px rgba(104, 122, 134, 0.055);
}

.atlas-lens span {
  color: var(--muted-blue);
}

.atlas-scroll-steps li {
  border-left-color: rgba(36, 35, 31, 0.14);
  color: rgba(36, 35, 31, 0.42);
}

.approach-atlas-scroll[data-atlas-step="0"] [data-atlas-caption="spaces"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-caption="actors"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-caption="questions"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-caption="processes"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-caption="capacity"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-caption="practice"],
.approach-atlas-scroll[data-atlas-step="6"] [data-atlas-caption="impact"],
.approach-atlas-scroll[data-atlas-step="7"] [data-atlas-caption="focus"] {
  border-color: rgba(104, 122, 134, 0.7);
  color: var(--graphite);
}

/* Practice world: photography and material, not UI colour */
.home-editorial .greenstage-feature.home-practice-feature {
  background:
    linear-gradient(180deg, rgba(244, 241, 235, 0.22), rgba(244, 241, 235, 0)),
    #ebe6dc;
  color: var(--graphite);
}

.home-editorial .greenstage-feature.home-practice-feature::before {
  background: rgba(36, 35, 31, 0.22);
}

.home-editorial .greenstage-feature .home-feature-image img {
  filter: saturate(0.72) contrast(1.02) brightness(0.96);
}

.home-editorial .greenstage-feature .home-feature-image figcaption,
.home-editorial .greenstage-feature .feature-copy span {
  color: rgba(36, 35, 31, 0.48);
}

.home-editorial .greenstage-feature .feature-copy h2 {
  color: var(--graphite);
}

.home-editorial .greenstage-feature .feature-copy p,
.home-editorial .greenstage-feature .feature-copy p:first-of-type {
  color: rgba(36, 35, 31, 0.68);
}

/* Hero/navigation: photographic depth, not interface colour */
.home-editorial .hero-section::after {
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.56) 0%, rgba(36, 35, 31, 0.18) 48%, rgba(36, 35, 31, 0.06) 82%),
    linear-gradient(180deg, rgba(36, 35, 31, 0.08) 0%, rgba(36, 35, 31, 0.02) 46%, rgba(36, 35, 31, 0.34) 100%);
}

.home-editorial .site-header {
  background:
    linear-gradient(180deg, rgba(36, 35, 31, 0.56), rgba(36, 35, 31, 0.12) 64%, transparent);
}

.home-editorial .site-nav .language-link,
.home-editorial .nav-toggle {
  background: rgba(36, 35, 31, 0.14);
  border-color: rgba(244, 241, 235, 0.36);
}

/* Materiality finish: reduce UI colour, increase paper/graphite/photo contrast */
.site-shell {
  border-right-color: rgba(36, 35, 31, 0.08);
  border-left-color: rgba(36, 35, 31, 0.08);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.18), transparent 18%, transparent 82%, rgba(36, 35, 31, 0.025)),
    var(--paper);
}

.home-editorial .fields-section,
.home-editorial .home-topics-section,
.home-editorial .home-field-notes,
.home-editorial .home-founder-teaser,
.home-editorial .site-footer,
.approach-model-section,
.approach-chapter {
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.018) 1px, transparent 1px),
    linear-gradient(180deg, rgba(36, 35, 31, 0.016) 1px, transparent 1px),
    var(--paper);
  background-size: 64px 64px, 64px 64px, auto;
}

.home-editorial .change-root-essay {
  position: relative;
}

.home-editorial .change-root-essay::before,
.approach-chapter::before {
  content: "";
  position: absolute;
  left: max(28px, calc((100vw - 760px) / 2 - 76px));
  top: clamp(70px, 10vw, 128px);
  width: 1px;
  height: clamp(80px, 11vw, 150px);
  background: rgba(36, 35, 31, 0.16);
}

.home-editorial .home-field-atlas,
.approach-atlas-interactive {
  background-blend-mode: normal;
}

.home-editorial .home-field-atlas::after,
.approach-atlas-interactive::after {
  opacity: 0.72;
}

.home-editorial .home-field-atlas a em,
.home-editorial .feature-copy .text-link,
.home-editorial .editorial-text .text-link,
.home-editorial .insights-section .text-link,
.home-editorial .site-footer a,
.text-link {
  color: rgba(36, 35, 31, 0.62);
  box-shadow: inset 0 -0.06em 0 rgba(36, 35, 31, 0.18);
}

.home-editorial .home-field-atlas a:hover em,
.home-editorial .feature-copy .text-link:hover,
.home-editorial .editorial-text .text-link:hover,
.home-editorial .insights-section .text-link:hover,
.home-editorial .site-footer a:hover,
.text-link:hover {
  color: var(--graphite);
  box-shadow: inset 0 -0.08em 0 rgba(36, 35, 31, 0.34);
}

.home-editorial .home-feature-image,
.home-editorial .home-founder-image {
  border-top-color: rgba(36, 35, 31, 0.18);
}

.home-editorial .home-feature-image img,
.home-editorial .home-founder-image img {
  filter: grayscale(0.12) saturate(0.78) contrast(1.04) brightness(0.97);
}

.home-editorial .greenstage-feature.home-practice-feature {
  border-top: 1px solid rgba(36, 35, 31, 0.16);
  border-bottom: 1px solid rgba(36, 35, 31, 0.14);
}

.home-editorial .greenstage-feature .home-feature-image img {
  filter: grayscale(0.08) saturate(0.78) contrast(1.05) brightness(0.96);
}

.home-editorial .hero-copy h1 {
  text-shadow: 0 1px 18px rgba(36, 35, 31, 0.28);
}

.home-editorial .hero-section::after {
  background:
    linear-gradient(90deg, rgba(36, 35, 31, 0.5) 0%, rgba(36, 35, 31, 0.14) 48%, rgba(36, 35, 31, 0.04) 82%),
    linear-gradient(180deg, rgba(36, 35, 31, 0.08) 0%, rgba(36, 35, 31, 0.01) 46%, rgba(36, 35, 31, 0.32) 100%);
}

/* Atlas finish pass: reveal logic and drafting quality */
.approach-atlas-scroll {
  min-height: 620vh;
}

.approach-model.approach-atlas.approach-atlas-interactive {
  isolation: isolate;
}

.approach-model.approach-atlas.approach-atlas-interactive::before,
.approach-model.approach-atlas.approach-atlas-interactive::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.approach-model.approach-atlas.approach-atlas-interactive::before {
  inset: clamp(72px, 8vw, 112px) clamp(44px, 5vw, 72px) clamp(156px, 16vw, 210px);
  z-index: 0;
  border: 1px solid rgba(36, 35, 31, 0.1);
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(36, 35, 31, 0.08) 50%, transparent 50.2%),
    linear-gradient(180deg, transparent 49.8%, rgba(36, 35, 31, 0.08) 50%, transparent 50.2%);
}

.approach-model.approach-atlas.approach-atlas-interactive::after {
  right: clamp(42px, 4vw, 64px);
  top: clamp(112px, 12vw, 160px);
  z-index: 0;
  width: clamp(160px, 18vw, 260px);
  aspect-ratio: 1;
  border: 1px solid rgba(36, 35, 31, 0.11);
  border-radius: 50%;
  box-shadow:
    -180px 80px 0 -1px rgba(0, 0, 0, 0),
    -180px 80px 0 0 rgba(36, 35, 31, 0.08);
}

.approach-atlas-interactive [data-atlas-layer] {
  filter: blur(1.5px);
}

.approach-atlas-scroll[data-atlas-step="0"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="questions"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="questions"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="processes"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="questions"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="processes"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="outcomes"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="capacity"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="spaces"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="actors"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="questions"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="processes"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="outcomes"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="capacity"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="practice"],
.approach-atlas-scroll[data-atlas-step="6"] [data-atlas-layer],
.approach-atlas-scroll[data-atlas-step="7"] [data-atlas-layer] {
  filter: blur(0);
}

.approach-atlas-scroll[data-atlas-step="0"] [data-atlas-layer]:not([data-atlas-layer="spaces"]) {
  opacity: 0;
  pointer-events: none;
}

.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="questions"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="processes"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="outcomes"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="capacity"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="practice"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="impact"],
.approach-atlas-scroll[data-atlas-step="1"] [data-atlas-layer="focus"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="processes"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="outcomes"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="capacity"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="practice"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="impact"],
.approach-atlas-scroll[data-atlas-step="2"] [data-atlas-layer="focus"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="outcomes"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="capacity"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="practice"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="impact"],
.approach-atlas-scroll[data-atlas-step="3"] [data-atlas-layer="focus"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="practice"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="impact"],
.approach-atlas-scroll[data-atlas-step="4"] [data-atlas-layer="focus"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="impact"],
.approach-atlas-scroll[data-atlas-step="5"] [data-atlas-layer="focus"],
.approach-atlas-scroll[data-atlas-step="6"] [data-atlas-layer="focus"] {
  opacity: 0;
}

.approach-atlas-scroll[data-atlas-step="7"] .atlas-actors .actor:not(.actor-b) {
  opacity: 0.34;
}

.approach-atlas-scroll[data-atlas-step="7"] .atlas-actors .actor-b {
  border-color: rgba(104, 122, 134, 0.68);
  box-shadow: 0 0 0 12px rgba(104, 122, 134, 0.08), 0 16px 36px rgba(36, 35, 31, 0.08);
}

.atlas-question-band::before,
.approach-atlas-interactive .atlas-process::before,
.atlas-outcomes::before {
  content: "";
  position: absolute;
  left: 50%;
  width: 1px;
  background: rgba(36, 35, 31, 0.18);
  transform: translateX(-50%);
}

.atlas-question-band::before {
  top: -58px;
  height: 42px;
}

.approach-atlas-interactive .atlas-process::before {
  top: -54px;
  height: 38px;
}

.atlas-outcomes::before {
  top: -38px;
  height: 28px;
}

.approach-atlas-interactive .atlas-process span:nth-child(5),
.approach-atlas-interactive .atlas-process span:nth-child(6),
.approach-atlas-interactive .atlas-process span:nth-child(7) {
  background:
    linear-gradient(135deg, rgba(104, 122, 134, 0.055), transparent 58%),
    rgba(247, 245, 241, 0.88);
}

.atlas-outcomes span + span {
  position: relative;
}

.atlas-outcomes span + span::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 50%;
  width: 1px;
  height: 1px;
  background: rgba(244, 241, 235, 0.32);
}

.approach-atlas-interactive .atlas-lens {
  left: calc(31% + (var(--atlas-progress, 0) * 4%));
  top: calc(16% + (var(--atlas-progress, 0) * 2%));
  width: clamp(190px, 17vw, 220px);
}

.approach-atlas-scroll[data-atlas-step="7"] .approach-atlas-interactive .atlas-lens {
  opacity: 1;
  transform: scale(1);
}

.approach-atlas-scroll[data-atlas-step="7"] .atlas-lines path {
  stroke: rgba(104, 122, 134, 0.34);
}

@media (min-width: 1051px) {
  .approach-atlas-interactive .atlas-process {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .approach-atlas-interactive .atlas-process span:nth-child(5) {
    grid-column: 1 / span 2;
  }

  .approach-atlas-interactive .atlas-process span:nth-child(6) {
    grid-column: 3;
  }

  .approach-atlas-interactive .atlas-process span:nth-child(7) {
    grid-column: 4;
  }
}

@media (min-width: 1051px) {
  .approach-model.approach-atlas.approach-atlas-interactive .atlas-lens {
    left: calc(33% + (var(--atlas-progress, 0) * 2%));
    top: calc(17% + (var(--atlas-progress, 0) * 1%));
    width: clamp(172px, 14vw, 200px);
  }

  .approach-atlas-scroll[data-atlas-step="7"] .approach-model.approach-atlas.approach-atlas-interactive .atlas-lens {
    left: 35%;
    top: 18%;
  }
}

/* Approach page only: Drawing world. A pinned working wall, not a decorated interface. */
body.approach-thinking {
  --approach-paper: #f5f3ee;
  --approach-sheet: #faf9f4;
  --approach-tracing: rgba(250, 249, 244, 0.82);
  --approach-graphite: #292823;
  --approach-soft: rgba(41, 40, 35, 0.64);
  --approach-line: rgba(41, 40, 35, 0.18);
  --approach-line-strong: rgba(41, 40, 35, 0.34);
  background: var(--approach-paper);
  color: var(--approach-graphite);
}

body.approach-thinking .site-shell,
body.approach-thinking main,
body.approach-thinking .approach-hero,
body.approach-thinking .approach-chapter,
body.approach-thinking .approach-model-section,
body.approach-thinking .site-footer {
  background: var(--approach-paper);
  color: var(--approach-graphite);
}

body.approach-thinking .site-shell {
  position: relative;
  border-color: var(--approach-line);
}

body.approach-thinking .site-shell::before,
body.approach-thinking .site-shell::after {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: -1;
  width: 1px;
  background: rgba(41, 40, 35, 0.08);
  pointer-events: none;
}

body.approach-thinking .site-shell::before {
  left: 8vw;
}

body.approach-thinking .site-shell::after {
  right: 8vw;
}

body.approach-thinking .site-header {
  background: rgba(245, 243, 238, 0.92);
  border-bottom: 1px solid var(--approach-line);
  backdrop-filter: blur(8px);
}

body.approach-thinking .site-nav a,
body.approach-thinking .brand {
  color: var(--approach-graphite);
}

body.approach-thinking .approach-hero.page-hero--cobalt {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(280px, 0.38fr);
  gap: clamp(36px, 7vw, 104px);
  min-height: 88svh;
  padding: clamp(116px, 13vw, 190px) 8vw clamp(84px, 9vw, 130px);
  border-bottom: 1px solid var(--approach-line);
  overflow: hidden;
}

body.approach-thinking .approach-hero.page-hero--cobalt::before {
  content: "WORKING WALL / APPROACH / DRAWING WORLD";
  position: absolute;
  left: 8vw;
  top: clamp(156px, 18vw, 240px);
  z-index: 0;
  width: min(360px, 48vw);
  border-top: 1px solid rgba(41, 40, 35, 0.14);
  padding-top: 12px;
  color: rgba(41, 40, 35, 0.34);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.approach-thinking .approach-hero.page-hero--cobalt::after {
  content: "";
  position: absolute;
  left: 8vw;
  top: clamp(120px, 15vw, 210px);
  z-index: 0;
  width: clamp(92px, 13vw, 180px);
  height: 26px;
  border: 1px solid rgba(41, 40, 35, 0.08);
  background: rgba(224, 218, 206, 0.72);
  transform: rotate(-2.5deg);
}

body.approach-thinking .approach-hero > * {
  position: relative;
  z-index: 1;
}

body.approach-thinking .approach-hero.page-hero--cobalt span,
body.approach-thinking .approach-model-section .section-head span,
body.approach-thinking .atlas-frame span,
body.approach-thinking .atlas-scroll-steps li,
body.approach-thinking .atlas-draft-note {
  color: rgba(41, 40, 35, 0.48);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.approach-thinking .approach-hero.page-hero--cobalt h1 {
  max-width: 7.6em;
  color: var(--approach-graphite);
  font-size: clamp(68px, 10vw, 168px);
  font-weight: 520;
  letter-spacing: -0.072em;
  line-height: 0.84;
}

body.approach-thinking .approach-hero.page-hero--cobalt p {
  align-self: end;
  max-width: 560px;
  border-left: 1px solid var(--approach-line-strong);
  padding-left: clamp(22px, 3vw, 38px);
  color: var(--approach-soft);
  font-family: var(--serif);
  font-size: clamp(25px, 3vw, 44px);
  line-height: 1.13;
}

body.approach-thinking .approach-chapter {
  position: relative;
  padding-top: clamp(92px, 11vw, 170px);
  padding-bottom: clamp(92px, 11vw, 170px);
  border-bottom: 1px solid rgba(41, 40, 35, 0.08);
}

body.approach-thinking .approach-chapter::before {
  content: "";
  position: absolute;
  left: max(8vw, calc((100vw - 760px) / 2 - 92px));
  top: clamp(84px, 9vw, 144px);
  width: 1px;
  height: clamp(120px, 14vw, 220px);
  background: var(--approach-line);
}

body.approach-thinking .approach-chapter::after {
  content: "";
  position: absolute;
  left: max(8vw, calc((100vw - 760px) / 2 - 132px));
  top: clamp(76px, 8vw, 128px);
  width: 58px;
  height: 18px;
  border: 1px solid rgba(41, 40, 35, 0.08);
  background: rgba(224, 218, 206, 0.58);
  transform: rotate(2deg);
}

body.approach-thinking .approach-chapter .page-copy {
  max-width: 760px;
}

body.approach-thinking .page-copy h2,
body.approach-thinking .approach-model-section .section-head h2 {
  color: var(--approach-graphite);
  font-weight: 520;
  letter-spacing: -0.062em;
  line-height: 0.9;
}

body.approach-thinking .page-copy p,
body.approach-thinking .approach-model-section .section-head p {
  color: var(--approach-soft);
}

body.approach-thinking .approach-question {
  border-left: 1px solid var(--approach-line-strong);
  color: var(--approach-graphite) !important;
}

body.approach-thinking .approach-model-section {
  min-height: 700vh;
  padding: clamp(92px, 10vw, 150px) 8vw;
  border-top: 1px solid var(--approach-line);
  border-bottom: 1px solid var(--approach-line);
}

body.approach-thinking .approach-model-section .section-head {
  max-width: 1180px;
  margin: 0 auto clamp(54px, 6vw, 88px);
}

body.approach-thinking .approach-model-section .section-head h2 {
  max-width: 9em;
  font-size: clamp(58px, 8vw, 132px);
}

body.approach-thinking .approach-atlas-layout {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  max-width: 1500px;
}

body.approach-thinking .approach-model.approach-atlas.approach-atlas-interactive,
body.approach-thinking .approach-atlas {
  position: sticky;
  top: 96px;
  min-height: min(780px, calc(100svh - 132px));
  border: 1px solid var(--approach-line-strong);
  background: var(--approach-sheet);
  box-shadow:
    22px 22px 0 rgba(41, 40, 35, 0.055),
    -14px 26px 0 rgba(41, 40, 35, 0.026);
  overflow: hidden;
}

body.approach-thinking .approach-model.approach-atlas.approach-atlas-interactive::before {
  content: "";
  position: absolute;
  inset: clamp(40px, 5vw, 72px);
  z-index: 0;
  border: 1px solid rgba(41, 40, 35, 0.11);
  background: transparent;
  pointer-events: none;
}

body.approach-thinking .approach-model.approach-atlas.approach-atlas-interactive::after {
  content: "";
  position: absolute;
  left: clamp(72px, 7vw, 118px);
  top: clamp(24px, 3vw, 42px);
  z-index: 4;
  width: clamp(84px, 10vw, 138px);
  height: 22px;
  border: 1px solid rgba(41, 40, 35, 0.08);
  border-radius: 0;
  background: rgba(224, 218, 206, 0.66);
  box-shadow: none;
  transform: rotate(-2deg);
  pointer-events: none;
}

body.approach-thinking .approach-atlas-interactive .atlas-frame {
  position: relative;
  z-index: 3;
  border-bottom: 1px solid var(--approach-line);
  padding: clamp(26px, 3vw, 40px);
  background: rgba(250, 249, 244, 0.72);
}

body.approach-thinking .atlas-frame strong {
  color: var(--approach-graphite);
  font-weight: 520;
  letter-spacing: -0.035em;
}

body.approach-thinking .approach-atlas-interactive .atlas-lines {
  inset: clamp(42px, 4vw, 64px) clamp(36px, 4vw, 64px) auto;
  height: 70%;
  opacity: 1;
}

body.approach-thinking .approach-atlas-interactive .atlas-lines path,
body.approach-thinking .approach-atlas-interactive .atlas-lines line,
body.approach-thinking .approach-atlas-interactive .atlas-lines rect {
  fill: none;
  stroke: rgba(41, 40, 35, 0.25);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

body.approach-thinking .approach-atlas-interactive .atlas-lines path:nth-of-type(2) {
  stroke: rgba(41, 40, 35, 0.52);
  stroke-width: 1.6;
}

body.approach-thinking .approach-atlas-interactive .atlas-lines circle {
  display: none;
}

body.approach-thinking .approach-atlas-interactive .atlas-actors .actor {
  border: 0;
  border-bottom: 1px solid rgba(41, 40, 35, 0.32);
  border-radius: 0;
  background: rgba(250, 249, 244, 0.78);
  box-shadow: none;
  backdrop-filter: blur(2px);
  color: var(--approach-graphite);
}

body.approach-thinking .atlas-actors .actor::before {
  left: -12px;
  top: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(41, 40, 35, 0.56);
  border-radius: 0;
  background: transparent;
  transform: translateY(-50%) rotate(45deg);
}

body.approach-thinking .atlas-question-band {
  border-top: 1px solid var(--approach-line-strong);
  border-bottom: 1px solid var(--approach-line-strong);
  background: rgba(250, 249, 244, 0.9);
  color: var(--approach-graphite);
}

body.approach-thinking .approach-atlas-interactive .atlas-process span {
  border: 1px solid rgba(41, 40, 35, 0.22);
  border-radius: 0;
  background: rgba(250, 249, 244, 0.76);
  box-shadow: none;
  color: var(--approach-graphite);
}

body.approach-thinking .approach-atlas-interactive .atlas-process span:nth-child(5),
body.approach-thinking .approach-atlas-interactive .atlas-process span:nth-child(6),
body.approach-thinking .approach-atlas-interactive .atlas-process span:nth-child(7) {
  background: rgba(250, 249, 244, 0.76);
}

body.approach-thinking .atlas-outcomes {
  border: 1px solid rgba(41, 40, 35, 0.28);
  background: rgba(250, 249, 244, 0.62);
}

body.approach-thinking .atlas-outcomes span {
  border: 0;
  border-right: 1px solid rgba(41, 40, 35, 0.2);
  border-radius: 0;
  background: transparent;
  color: var(--approach-graphite);
}

body.approach-thinking .atlas-lens,
body.approach-thinking .approach-model.approach-atlas .atlas-lens,
body.approach-thinking .approach-atlas-interactive .atlas-lens {
  border: 1px solid rgba(41, 40, 35, 0.48);
  border-radius: 0;
  background: rgba(250, 249, 244, 0.86);
  box-shadow:
    0 0 0 14px rgba(250, 249, 244, 0.34),
    12px 14px 0 rgba(41, 40, 35, 0.055);
  color: var(--approach-graphite);
}

body.approach-thinking .atlas-lens::before,
body.approach-thinking .atlas-lens::after {
  content: "";
  position: absolute;
  background: rgba(41, 40, 35, 0.36);
}

body.approach-thinking .atlas-lens::before {
  left: 50%;
  top: -28px;
  width: 1px;
  height: calc(100% + 56px);
}

body.approach-thinking .atlas-lens::after {
  left: -28px;
  top: 50%;
  width: calc(100% + 56px);
  height: 1px;
}

body.approach-thinking .atlas-lens span {
  color: var(--approach-graphite);
}

body.approach-thinking .atlas-draft-note {
  position: absolute;
  z-index: 5;
  color: rgba(41, 40, 35, 0.38);
  pointer-events: none;
}

body.approach-thinking .atlas-draft-note-a {
  left: clamp(42px, 5vw, 72px);
  bottom: clamp(38px, 5vw, 70px);
}

body.approach-thinking .atlas-draft-note-b {
  right: clamp(42px, 5vw, 72px);
  top: clamp(116px, 12vw, 170px);
  writing-mode: vertical-rl;
}

body.approach-thinking .atlas-draft-note-c {
  right: clamp(42px, 5vw, 72px);
  bottom: clamp(38px, 5vw, 70px);
}

body.approach-thinking .atlas-scroll-steps {
  top: 118px;
}

body.approach-thinking .atlas-scroll-steps li {
  border-left: 1px solid rgba(41, 40, 35, 0.18);
  color: rgba(41, 40, 35, 0.42);
}

body.approach-thinking .approach-atlas-scroll[data-atlas-step="0"] [data-atlas-caption="spaces"],
body.approach-thinking .approach-atlas-scroll[data-atlas-step="1"] [data-atlas-caption="actors"],
body.approach-thinking .approach-atlas-scroll[data-atlas-step="2"] [data-atlas-caption="questions"],
body.approach-thinking .approach-atlas-scroll[data-atlas-step="3"] [data-atlas-caption="processes"],
body.approach-thinking .approach-atlas-scroll[data-atlas-step="4"] [data-atlas-caption="capacity"],
body.approach-thinking .approach-atlas-scroll[data-atlas-step="5"] [data-atlas-caption="practice"],
body.approach-thinking .approach-atlas-scroll[data-atlas-step="6"] [data-atlas-caption="impact"],
body.approach-thinking .approach-atlas-scroll[data-atlas-step="7"] [data-atlas-caption="focus"] {
  border-color: var(--approach-line-strong);
  color: var(--approach-graphite);
}

body.approach-thinking .text-link {
  color: var(--approach-graphite);
  box-shadow: inset 0 -0.06em 0 rgba(41, 40, 35, 0.28);
}

@media (max-width: 1050px) {
  body.approach-thinking .approach-hero.page-hero--cobalt,
  body.approach-thinking .approach-atlas-layout {
    grid-template-columns: 1fr;
  }

  body.approach-thinking .approach-model.approach-atlas.approach-atlas-interactive,
  body.approach-thinking .approach-atlas {
    position: sticky;
    top: 96px;
  }
}

@media (max-width: 760px) {
  body.approach-thinking .approach-hero.page-hero--cobalt h1 {
    font-size: clamp(56px, 15vw, 96px);
  }

  body.approach-thinking .approach-model-section {
    min-height: auto;
  }

  body.approach-thinking .approach-model.approach-atlas.approach-atlas-interactive,
  body.approach-thinking .approach-atlas {
    position: relative;
    top: auto;
  }

  body.approach-thinking .atlas-draft-note {
    display: none;
  }
}

/* Home page only: Landscape world. Space, horizon and editorial reading, no atlas/drawing/material mixing. */
body.home-editorial {
  --home-paper: #f5f3ee;
  --home-graphite: #25241f;
  --home-soft: rgba(37, 36, 31, 0.62);
  --home-line: rgba(37, 36, 31, 0.16);
  --home-line-strong: rgba(37, 36, 31, 0.34);
  background: var(--home-paper);
  color: var(--home-graphite);
}

body.home-editorial .site-shell,
body.home-editorial main {
  background: var(--home-paper);
  color: var(--home-graphite);
}

body.home-editorial .hero-section {
  min-height: 100svh;
  background: #111;
}

body.home-editorial .hero-section::after {
  background:
    linear-gradient(90deg, rgba(17, 20, 20, 0.46) 0%, rgba(17, 20, 20, 0.15) 48%, rgba(17, 20, 20, 0.02) 82%),
    linear-gradient(180deg, rgba(17, 20, 20, 0.08) 0%, rgba(17, 20, 20, 0.01) 46%, rgba(17, 20, 20, 0.24) 100%);
}

body.home-editorial .hero-copy {
  left: 7vw;
  bottom: clamp(64px, 9vw, 132px);
  max-width: min(880px, 78vw);
}

body.home-editorial .hero-copy h1 {
  max-width: 8em;
  color: rgba(245, 243, 238, 0.94);
  font-size: clamp(72px, 11vw, 190px);
  font-weight: 520;
  letter-spacing: -0.075em;
  line-height: 0.84;
  text-shadow: 0 1px 18px rgba(17, 20, 20, 0.24);
}

body.home-editorial .hero-art .asset-river {
  filter: grayscale(0.03) saturate(0.84) contrast(1.03) brightness(0.94);
}

body.home-editorial .site-header {
  background: rgba(245, 243, 238, 0.88);
  border-bottom: 1px solid var(--home-line);
  backdrop-filter: blur(8px);
}

body.home-editorial .brand,
body.home-editorial .site-nav a {
  color: var(--home-graphite);
  text-shadow: none;
}

body.home-editorial .site-nav .language-link,
body.home-editorial .nav-toggle {
  border-color: rgba(37, 36, 31, 0.22);
  background: rgba(245, 243, 238, 0.72);
  color: var(--home-graphite);
}

body.home-editorial .fields-section,
body.home-editorial .home-topics-section,
body.home-editorial .home-field-notes,
body.home-editorial .home-founder-teaser,
body.home-editorial .greenstage-feature.home-practice-feature,
body.home-editorial .site-footer {
  background: var(--home-paper);
  color: var(--home-graphite);
  border-top: 1px solid var(--home-line);
}

body.home-editorial .fields-section {
  padding: clamp(120px, 15vw, 220px) 7vw;
}

body.home-editorial .change-root-essay {
  display: grid;
  grid-template-columns: minmax(0, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(42px, 8vw, 128px);
  max-width: 1440px;
  margin: 0 auto;
  border: 0;
  background: transparent;
}

body.home-editorial .change-root-essay::before {
  display: none;
}

body.home-editorial .change-root-essay > span,
body.home-editorial .section-head span,
body.home-editorial .feature-copy span {
  color: rgba(37, 36, 31, 0.46);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.home-editorial .change-root-copy {
  max-width: 860px;
}

body.home-editorial .change-root-copy .change-root-question {
  max-width: 10.5em;
  margin-bottom: clamp(70px, 8vw, 116px);
  color: var(--home-graphite);
  font-family: var(--sans);
  font-size: clamp(48px, 6.5vw, 112px);
  font-weight: 520;
  letter-spacing: -0.066em;
  line-height: 0.9;
}

body.home-editorial .change-root-copy p:not(.change-root-question) {
  max-width: 760px;
  margin-left: auto;
  color: var(--home-soft);
  font-family: var(--serif);
  font-size: clamp(22px, 2.1vw, 32px);
  line-height: 1.32;
}

body.home-editorial .change-root-copy p:not(.change-root-question) + p:not(.change-root-question) {
  margin-top: 1.25em;
}

body.home-editorial .home-topics-section {
  padding: clamp(110px, 13vw, 190px) 0;
}

body.home-editorial .home-topics-section .section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(42px, 8vw, 128px);
  max-width: 1440px;
  margin: 0 auto clamp(70px, 8vw, 120px);
  padding: 0 7vw;
}

body.home-editorial .home-topics-section .section-head h2 {
  max-width: 8em;
  margin: 0;
  color: var(--home-graphite);
  font-size: clamp(58px, 8vw, 138px);
  font-weight: 520;
  letter-spacing: -0.045em;
  line-height: 0.95;
}

body.home-editorial .home-topics-section .section-intro {
  grid-column: 2;
  max-width: 650px;
  margin: 0;
  color: var(--home-soft);
  font-family: var(--serif);
  font-size: clamp(23px, 2.4vw, 38px);
  line-height: 1.18;
}

body.home-editorial .home-field-atlas {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.home-editorial .atlas-meta,
body.home-editorial .atlas-scale,
body.home-editorial .atlas-routes,
body.home-editorial .home-field-atlas::before,
body.home-editorial .home-field-atlas::after,
body.home-editorial .home-field-atlas a::before,
body.home-editorial .home-field-atlas a::after {
  display: none;
}

body.home-editorial .home-field-atlas a,
body.home-editorial .home-field-atlas a:nth-child(1),
body.home-editorial .home-field-atlas a:nth-child(2),
body.home-editorial .home-field-atlas a:nth-child(3),
body.home-editorial .home-field-atlas a:nth-child(4),
body.home-editorial .home-field-atlas a:nth-child(5),
body.home-editorial .home-field-atlas a:nth-child(6),
body.home-editorial .home-field-atlas a:nth-of-type(1),
body.home-editorial .home-field-atlas a:nth-of-type(2),
body.home-editorial .home-field-atlas a:nth-of-type(3),
body.home-editorial .home-field-atlas a:nth-of-type(4),
body.home-editorial .home-field-atlas a:nth-of-type(5),
body.home-editorial .home-field-atlas a:nth-of-type(6) {
  position: relative;
  display: grid;
  grid-template-columns: minmax(80px, 0.12fr) minmax(260px, 0.43fr) minmax(260px, 0.33fr) auto;
  gap: clamp(18px, 4vw, 72px);
  align-items: baseline;
  min-height: 168px;
  padding: clamp(26px, 4vw, 58px) 7vw;
  border: 0;
  border-top: 1px solid var(--home-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  color: var(--home-graphite);
}

body.home-editorial .home-field-atlas a:last-of-type {
  border-bottom: 1px solid var(--home-line);
}

body.home-editorial .home-field-atlas a:hover,
body.home-editorial .home-field-atlas a:focus-visible {
  background: rgba(37, 36, 31, 0.035);
  box-shadow: none;
  transform: none;
}

body.home-editorial .home-field-atlas span {
  color: rgba(37, 36, 31, 0.42);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.12em;
}

body.home-editorial .home-field-atlas h3,
body.home-editorial .home-field-atlas a:nth-child(2) h3,
body.home-editorial .home-field-atlas a:nth-child(3) h3,
body.home-editorial .home-field-atlas a:nth-child(4) h3,
body.home-editorial .home-field-atlas a:nth-child(6) h3 {
  margin: 0;
  color: var(--home-graphite);
  font-size: clamp(34px, 5vw, 82px);
  font-weight: 520;
  letter-spacing: -0.065em;
  line-height: 0.9;
}

body.home-editorial .home-field-atlas p {
  max-width: 320px;
  margin: 0;
  color: var(--home-soft);
  font-family: var(--serif);
  font-size: clamp(18px, 1.6vw, 25px);
  line-height: 1.24;
}

body.home-editorial .home-field-atlas em {
  justify-self: end;
  color: rgba(37, 36, 31, 0.54);
  font-family: var(--mono);
  font-size: 10px;
  font-style: normal;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: inset 0 -0.08em 0 rgba(37, 36, 31, 0.24);
}

body.home-editorial .greenstage-feature.home-practice-feature {
  display: grid;
  grid-template-columns: minmax(0, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(42px, 8vw, 128px);
  min-height: auto;
  padding: clamp(100px, 12vw, 170px) 7vw;
}

body.home-editorial .greenstage-feature .home-feature-image,
body.home-editorial .home-founder-image {
  display: none;
}

body.home-editorial .greenstage-feature .feature-copy,
body.home-editorial .home-founder-teaser .section-head {
  max-width: 760px;
  padding: 0;
  background: transparent;
  color: var(--home-graphite);
}

body.home-editorial .greenstage-feature .feature-copy h2,
body.home-editorial .home-founder-teaser .section-head h2,
body.home-editorial .home-field-notes .section-head h2 {
  max-width: 8em;
  color: var(--home-graphite);
  font-size: clamp(52px, 7vw, 118px);
  font-weight: 520;
  letter-spacing: -0.07em;
  line-height: 0.86;
}

body.home-editorial .greenstage-feature .feature-copy p,
body.home-editorial .home-founder-teaser .section-intro {
  color: var(--home-soft);
  font-family: var(--serif);
  font-size: clamp(22px, 2vw, 32px);
  line-height: 1.25;
}

body.home-editorial .home-field-notes,
body.home-editorial .home-founder-teaser {
  padding: clamp(100px, 12vw, 170px) 7vw;
}

body.home-editorial .home-field-notes .section-head,
body.home-editorial .home-founder-teaser {
  display: grid;
  grid-template-columns: minmax(0, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(42px, 8vw, 128px);
  max-width: 1440px;
  margin: 0 auto;
}

body.home-editorial .home-note-list {
  grid-column: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  max-width: 920px;
  margin-top: clamp(54px, 6vw, 92px);
}

body.home-editorial .home-note-list a {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(260px, 0.58fr);
  gap: clamp(28px, 5vw, 84px);
  padding: clamp(26px, 3vw, 46px) 0;
  border-top: 1px solid var(--home-line);
  color: var(--home-graphite);
}

body.home-editorial .home-note-list a:last-child {
  border-bottom: 1px solid var(--home-line);
}

body.home-editorial .home-note-list strong {
  font-size: clamp(28px, 3.4vw, 56px);
  font-weight: 520;
  letter-spacing: -0.055em;
  line-height: 0.9;
}

body.home-editorial .home-note-list span {
  color: var(--home-soft);
  font-family: var(--serif);
  font-size: clamp(19px, 1.6vw, 27px);
  line-height: 1.24;
}

body.home-editorial .site-footer {
  padding: clamp(82px, 10vw, 140px) 7vw;
}

@media (max-width: 900px) {
  body.home-editorial .change-root-essay,
  body.home-editorial .home-topics-section .section-head,
  body.home-editorial .greenstage-feature.home-practice-feature,
  body.home-editorial .home-field-notes .section-head,
  body.home-editorial .home-founder-teaser {
    grid-template-columns: 1fr;
  }

  body.home-editorial .home-topics-section .section-intro,
  body.home-editorial .home-note-list {
    grid-column: auto;
  }

  body.home-editorial .home-field-atlas a,
  body.home-editorial .home-field-atlas a:nth-child(1),
  body.home-editorial .home-field-atlas a:nth-child(2),
  body.home-editorial .home-field-atlas a:nth-child(3),
  body.home-editorial .home-field-atlas a:nth-child(4),
  body.home-editorial .home-field-atlas a:nth-child(5),
  body.home-editorial .home-field-atlas a:nth-child(6),
  body.home-editorial .home-field-atlas a:nth-of-type(1),
  body.home-editorial .home-field-atlas a:nth-of-type(2),
  body.home-editorial .home-field-atlas a:nth-of-type(3),
  body.home-editorial .home-field-atlas a:nth-of-type(4),
  body.home-editorial .home-field-atlas a:nth-of-type(5),
  body.home-editorial .home-field-atlas a:nth-of-type(6),
  body.home-editorial .home-note-list a {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  body.home-editorial .home-field-atlas em {
    justify-self: start;
  }
}

/* Hard fix: homepage fields must be readable, not scattered like an atlas model. */
body.home-editorial #working-fields .home-field-atlas {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-editorial #working-fields .atlas-meta,
body.home-editorial #working-fields .atlas-scale,
body.home-editorial #working-fields .atlas-routes,
body.home-editorial #working-fields .home-field-atlas::before,
body.home-editorial #working-fields .home-field-atlas::after,
body.home-editorial #working-fields .home-field-atlas a::before,
body.home-editorial #working-fields .home-field-atlas a::after {
  display: none !important;
}

body.home-editorial #working-fields .home-field-atlas a,
body.home-editorial #working-fields .home-field-atlas a:nth-child(1),
body.home-editorial #working-fields .home-field-atlas a:nth-child(2),
body.home-editorial #working-fields .home-field-atlas a:nth-child(3),
body.home-editorial #working-fields .home-field-atlas a:nth-child(4),
body.home-editorial #working-fields .home-field-atlas a:nth-child(5),
body.home-editorial #working-fields .home-field-atlas a:nth-child(6),
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(1),
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(2),
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(3),
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(4),
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(5),
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(6) {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(44px, 0.08fr) minmax(280px, 0.42fr) minmax(260px, 0.34fr) minmax(130px, 0.16fr) !important;
  gap: clamp(20px, 4vw, 76px) !important;
  align-items: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 150px !important;
  margin: 0 !important;
  padding: clamp(28px, 3.8vw, 58px) 7vw !important;
  overflow: visible !important;
  border: 0 !important;
  border-top: 1px solid rgba(37, 36, 31, 0.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--home-graphite) !important;
}

@media (min-width: 981px) {
  body.home-editorial #working-fields .home-field-atlas a,
  body.home-editorial #working-fields .home-field-atlas a:nth-child(1),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(2),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(3),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(4),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(5),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(6),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(1),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(2),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(3),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(4),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(5),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(6) {
    grid-template-columns: 72px minmax(0, 680px) minmax(150px, 220px) !important;
    grid-template-rows: auto auto !important;
    column-gap: clamp(32px, 5vw, 88px) !important;
    row-gap: 18px !important;
    align-items: start !important;
    min-height: 0 !important;
    padding: 58px max(7vw, 72px) !important;
  }
}

body.home-editorial #working-fields .home-field-atlas a:last-of-type {
  border-bottom: 1px solid rgba(37, 36, 31, 0.16) !important;
}

body.home-editorial #working-fields .home-field-atlas h3,
body.home-editorial #working-fields .home-field-atlas a:nth-child(2) h3,
body.home-editorial #working-fields .home-field-atlas a:nth-child(3) h3,
body.home-editorial #working-fields .home-field-atlas a:nth-child(4) h3,
body.home-editorial #working-fields .home-field-atlas a:nth-child(6) h3 {
  max-width: none !important;
  margin: 0 !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  color: var(--home-graphite) !important;
  font-size: clamp(34px, 3.6vw, 58px) !important;
  font-weight: 520 !important;
  letter-spacing: -0.028em !important;
  line-height: 1.04 !important;
}

body.home-editorial #working-fields .home-field-atlas span {
  align-self: start !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 52px !important;
  height: 52px !important;
  border: 1px solid rgba(37, 36, 31, 0.28) !important;
  color: rgba(37, 36, 31, 0.46) !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  letter-spacing: 0.12em !important;
}

body.home-editorial #working-fields .home-field-atlas p {
  grid-column: 2 !important;
  grid-row: 2 !important;
  max-width: 560px !important;
  margin: 0 !important;
  color: var(--home-soft) !important;
  font-family: var(--serif) !important;
  font-size: clamp(18px, 1.45vw, 22px) !important;
  line-height: 1.42 !important;
}

body.home-editorial #working-fields .home-field-atlas em {
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
  justify-self: end !important;
  align-self: center !important;
  color: rgba(37, 36, 31, 0.56) !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 650 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  box-shadow: inset 0 -0.08em 0 rgba(37, 36, 31, 0.24) !important;
}

body.home-editorial #working-fields .home-field-atlas a:hover,
body.home-editorial #working-fields .home-field-atlas a:focus-visible {
  background: rgba(37, 36, 31, 0.035) !important;
}

@media (max-width: 980px) {
  body.home-editorial #working-fields .home-field-atlas a,
  body.home-editorial #working-fields .home-field-atlas a:nth-child(1),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(2),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(3),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(4),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(5),
  body.home-editorial #working-fields .home-field-atlas a:nth-child(6),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(1),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(2),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(3),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(4),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(5),
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(6) {
    grid-template-columns: 64px 1fr !important;
  }

  body.home-editorial #working-fields .home-field-atlas p,
  body.home-editorial #working-fields .home-field-atlas em {
    grid-column: 2 !important;
    justify-self: start !important;
  }
}

/* Material & People world: GREENSTAGE, Founder and Field Notes. Documentary, tactile, practice-led. */
body.greenstage-material,
body.founder-material,
body.fieldnotes-material {
  --material-paper: #eeeae3;
  --material-sheet: #f5f3ee;
  --material-warm: #ded7cb;
  --material-graphite: #25241f;
  --material-soft: rgba(37, 36, 31, 0.66);
  --material-line: rgba(37, 36, 31, 0.18);
  --material-line-strong: rgba(37, 36, 31, 0.34);
  background: var(--material-paper);
  color: var(--material-graphite);
}

body.greenstage-material .site-shell,
body.greenstage-material main,
body.founder-material .site-shell,
body.founder-material main,
body.fieldnotes-material .site-shell,
body.fieldnotes-material main {
  background: var(--material-paper);
  color: var(--material-graphite);
}

body.greenstage-material .site-header,
body.founder-material .site-header,
body.fieldnotes-material .site-header,
body.fields-practice .site-header {
  background: rgba(245, 243, 238, 0.9);
  border-bottom: 1px solid rgba(37, 36, 31, 0.18);
  backdrop-filter: blur(8px);
}

body.greenstage-material .site-nav a,
body.greenstage-material .brand,
body.founder-material .site-nav a,
body.founder-material .brand,
body.fieldnotes-material .site-nav a,
body.fieldnotes-material .brand,
body.fields-practice .site-nav a,
body.fields-practice .brand {
  color: var(--material-graphite, #25241f);
}

body.greenstage-material .project-hero--greenstage {
  position: relative;
  min-height: calc(100svh - 0px);
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(280px, 0.42fr);
  gap: clamp(40px, 7vw, 112px);
  align-items: end;
  padding: clamp(120px, 12vw, 190px) 7vw clamp(74px, 8vw, 124px);
  border-bottom: 1px solid var(--material-line);
  overflow: hidden;
  background: #171714;
}

body.greenstage-material .project-hero--greenstage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  height: auto;
  background:
    linear-gradient(90deg, rgba(20, 19, 16, 0.64), rgba(20, 19, 16, 0.16) 54%, rgba(20, 19, 16, 0.3)),
    linear-gradient(180deg, rgba(20, 19, 16, 0.05), rgba(20, 19, 16, 0.52)),
    url("assets/cvano/greenstage-home-sustainable-performing-arts.jpg") center 38% / cover no-repeat;
  filter: grayscale(0.12) saturate(0.78) contrast(1.05) brightness(0.92);
}

body.greenstage-material .project-hero--greenstage::after {
  content: "PRACTICE / PRODUCTION / PEOPLE / MATERIAL";
  position: absolute;
  left: 7vw;
  bottom: clamp(28px, 3vw, 46px);
  z-index: 2;
  color: rgba(245, 243, 238, 0.68);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.greenstage-material .project-hero--greenstage > * {
  position: relative;
  z-index: 1;
}

body.greenstage-material .project-hero--greenstage h1 {
  max-width: 8.4em;
  color: rgba(245, 243, 238, 0.94);
  font-size: clamp(58px, 8.8vw, 150px);
  font-weight: 520;
  letter-spacing: -0.066em;
  line-height: 0.86;
}

body.greenstage-material .project-hero--greenstage p {
  max-width: 560px;
  border-left: 1px solid rgba(245, 243, 238, 0.46);
  padding-left: clamp(22px, 3vw, 38px);
  color: rgba(245, 243, 238, 0.76);
  font-family: var(--serif);
  font-size: clamp(23px, 2.5vw, 40px);
  line-height: 1.16;
}

body.greenstage-material .project-hero--greenstage span,
body.greenstage-material .greenstage-page span,
body.founder-material .founder-page span,
body.founder-material .founder-name-note > span,
body.founder-material .trajectory-list span,
body.fieldnotes-material .field-notes-hero span,
body.fieldnotes-material .field-note-list span {
  color: rgba(37, 36, 31, 0.48);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.greenstage-material .greenstage-page {
  max-width: none;
  padding: 0;
  background: var(--material-paper);
}

body.greenstage-material .greenstage-facts,
body.greenstage-material .greenstage-overview,
body.greenstage-material .greenstage-practice,
body.greenstage-material .greenstage-components,
body.founder-material .founder-note,
body.founder-material .founder-name-note,
body.founder-material .trajectory-list,
body.fieldnotes-material .field-note-list {
  border-top: 1px solid var(--material-line);
  background: var(--material-paper);
}

body.greenstage-material .greenstage-facts,
body.greenstage-material .greenstage-overview,
body.greenstage-material .greenstage-practice {
  display: grid;
  grid-template-columns: minmax(0, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(42px, 8vw, 128px);
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(92px, 11vw, 160px) 7vw;
}

body.greenstage-material .greenstage-logo-mark {
  align-self: start;
  width: min(260px, 100%);
  border: 1px solid var(--material-line);
  background: rgba(245, 243, 238, 0.64);
}

body.greenstage-material .greenstage-facts > div:last-child,
body.greenstage-material .greenstage-overview > div,
body.greenstage-material .greenstage-practice > div {
  max-width: 800px;
}

body.greenstage-material .greenstage-page p,
body.greenstage-material .greenstage-practice li,
body.greenstage-material .greenstage-components p,
body.founder-material p,
body.fieldnotes-material p {
  color: var(--material-soft);
  font-family: var(--serif);
  font-size: clamp(19px, 1.65vw, 28px);
  line-height: 1.34;
}

body.greenstage-material .greenstage-overview p:first-child,
body.greenstage-material .greenstage-facts p:first-of-type {
  color: var(--material-graphite);
  font-size: clamp(28px, 3.6vw, 58px);
  letter-spacing: -0.04em;
  line-height: 1.05;
}

body.greenstage-material .greenstage-practice h2,
body.founder-material .founder-note h2,
body.founder-material .founder-name-note h2,
body.fieldnotes-material .field-note-list h2 {
  color: var(--material-graphite);
  font-size: clamp(48px, 7vw, 116px);
  font-weight: 520;
  letter-spacing: -0.065em;
  line-height: 0.88;
}

body.greenstage-material .greenstage-practice ol {
  display: grid;
  gap: 0;
  margin-top: clamp(42px, 5vw, 80px);
  padding: 0;
  counter-reset: practice;
}

body.greenstage-material .greenstage-practice li {
  position: relative;
  list-style: none;
  border-top: 1px solid var(--material-line);
  padding: clamp(24px, 3vw, 42px) 0 clamp(24px, 3vw, 42px) clamp(76px, 8vw, 120px);
}

body.greenstage-material .greenstage-practice li::before {
  counter-increment: practice;
  content: counter(practice, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: clamp(24px, 3vw, 42px);
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid var(--material-line-strong);
  color: rgba(37, 36, 31, 0.48);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
}

body.greenstage-material .greenstage-components {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  max-width: none;
  padding: 0 7vw clamp(90px, 10vw, 150px);
}

body.greenstage-material .greenstage-components article {
  min-height: 360px;
  padding: clamp(34px, 4vw, 64px);
  border: 0;
  border-top: 1px solid var(--material-line);
  background: transparent;
}

body.greenstage-material .greenstage-components article:nth-child(odd) {
  border-right: 1px solid var(--material-line);
}

body.greenstage-material .greenstage-link {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 7vw clamp(80px, 9vw, 140px);
}

body.founder-material .founder-page {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 0.5fr) minmax(280px, 0.5fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: end;
  padding: clamp(110px, 12vw, 180px) 7vw clamp(72px, 8vw, 120px);
  background: var(--material-paper);
  border-bottom: 1px solid var(--material-line);
}

body.founder-material .founder-story h1 {
  color: var(--material-graphite);
  font-size: clamp(58px, 8vw, 140px);
  font-weight: 520;
  letter-spacing: -0.068em;
  line-height: 0.86;
}

body.founder-material .founder-image-fragment {
  min-height: min(720px, 78svh);
  border: 1px solid var(--material-line);
  background: var(--material-warm);
  box-shadow: 20px 20px 0 rgba(37, 36, 31, 0.055);
}

body.founder-material .founder-image-fragment .founder-photo {
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.12) saturate(0.78) contrast(1.04) brightness(0.96);
}

body.founder-material .founder-note,
body.founder-material .founder-name-note,
body.founder-material .trajectory-list,
body.founder-material .connect-section {
  padding: clamp(86px, 10vw, 150px) 7vw;
}

body.founder-material .trajectory-list article {
  display: grid;
  grid-template-columns: 72px minmax(220px, 0.34fr) minmax(280px, 0.58fr);
  gap: clamp(28px, 5vw, 84px);
  border-top: 1px solid var(--material-line);
  padding: clamp(32px, 4vw, 58px) 0;
}

body.founder-material .trajectory-list h2 {
  color: var(--material-graphite);
  font-size: clamp(30px, 4vw, 70px);
  font-weight: 520;
  letter-spacing: -0.055em;
  line-height: 0.9;
}

body.fieldnotes-material .field-notes-hero {
  min-height: 82svh;
  padding: clamp(110px, 12vw, 180px) 7vw clamp(72px, 8vw, 120px);
  background: var(--material-paper);
  border-bottom: 1px solid var(--material-line);
}

body.fieldnotes-material .field-notes-hero h1 {
  color: var(--material-graphite);
  font-size: clamp(64px, 9vw, 160px);
  font-weight: 520;
  letter-spacing: -0.072em;
  line-height: 0.84;
}

body.fieldnotes-material .field-notes-hero p {
  max-width: 720px;
  margin-top: clamp(48px, 6vw, 88px);
  border-left: 1px solid var(--material-line-strong);
  padding-left: clamp(22px, 3vw, 38px);
}

body.fieldnotes-material .field-note-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0 7vw clamp(90px, 10vw, 150px);
}

body.fieldnotes-material .field-note-list article {
  display: grid;
  grid-template-columns: 70px minmax(240px, 0.4fr) minmax(280px, 0.6fr);
  gap: clamp(28px, 5vw, 84px);
  border-top: 1px solid var(--material-line);
  padding: clamp(34px, 4vw, 62px) 0;
}

body.fieldnotes-material .field-note-list article:last-child {
  border-bottom: 1px solid var(--material-line);
}

/* Fields of Practice page: stable editorial reading, not scattered cards. */
body.fields-practice {
  --fields-paper: #f5f3ee;
  --fields-graphite: #25241f;
  --fields-soft: rgba(37, 36, 31, 0.64);
  --fields-line: rgba(37, 36, 31, 0.17);
  background: var(--fields-paper);
  color: var(--fields-graphite);
}

body.fields-practice .site-shell,
body.fields-practice main,
body.fields-practice .practice-index-hero,
body.fields-practice .practice-index,
body.fields-practice .small-starts-section {
  background: var(--fields-paper);
  color: var(--fields-graphite);
}

body.fields-practice .practice-index-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(280px, 0.42fr);
  gap: clamp(42px, 7vw, 110px);
  min-height: 88svh;
  padding: clamp(110px, 12vw, 180px) 7vw clamp(72px, 8vw, 120px);
  border-bottom: 1px solid var(--fields-line);
}

body.fields-practice .practice-index-hero h1 {
  color: var(--fields-graphite);
  font-size: clamp(60px, 8.6vw, 150px);
  font-weight: 520;
  letter-spacing: -0.068em;
  line-height: 0.86;
}

body.fields-practice .practice-index-hero p {
  max-width: 620px;
  border-left: 1px solid rgba(37, 36, 31, 0.34);
  padding-left: clamp(22px, 3vw, 38px);
  color: var(--fields-soft);
  font-family: var(--serif);
  font-size: clamp(23px, 2.4vw, 38px);
  line-height: 1.18;
}

body.fields-practice .practice-index {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0 7vw;
}

body.fields-practice .practice-index article {
  display: grid;
  grid-template-columns: 72px minmax(260px, 0.34fr) minmax(280px, 0.3fr) minmax(300px, 0.36fr);
  gap: clamp(26px, 4vw, 76px);
  padding: clamp(42px, 5vw, 80px) 0;
  border-top: 1px solid var(--fields-line);
}

body.fields-practice .practice-index article:last-child {
  border-bottom: 1px solid var(--fields-line);
}

body.fields-practice .practice-index article > span,
body.fields-practice .practice-index-hero span,
body.fields-practice .small-starts-section span {
  color: rgba(37, 36, 31, 0.46);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.fields-practice .practice-index article > span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(37, 36, 31, 0.3);
}

body.fields-practice .practice-index h2 {
  color: var(--fields-graphite);
  font-size: clamp(34px, 4.7vw, 82px);
  font-weight: 520;
  letter-spacing: -0.055em;
  line-height: 0.92;
}

body.fields-practice .practice-question,
body.fields-practice .practice-detail p,
body.fields-practice .practice-detail li,
body.fields-practice .small-starts-section p,
body.fields-practice .small-starts-section li {
  color: var(--fields-soft);
  font-family: var(--serif);
  font-size: clamp(18px, 1.55vw, 26px);
  line-height: 1.3;
}

body.fields-practice .practice-detail ul,
body.fields-practice .small-starts-list ul {
  display: grid;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
}

body.fields-practice .practice-detail li,
body.fields-practice .small-starts-list li {
  list-style: none;
  border-top: 1px solid var(--fields-line);
  padding-top: 12px;
}

body.fields-practice .small-starts-section {
  display: grid;
  grid-template-columns: minmax(0, 0.4fr) minmax(280px, 0.6fr);
  gap: clamp(42px, 7vw, 110px);
  padding: clamp(92px, 10vw, 150px) 7vw;
  border-top: 1px solid var(--fields-line);
}

body.fields-practice .small-starts-section h2 {
  color: var(--fields-graphite);
  font-size: clamp(42px, 6vw, 104px);
  font-weight: 520;
  letter-spacing: -0.062em;
  line-height: 0.88;
}

@media (max-width: 980px) {
  body.greenstage-material .project-hero--greenstage,
  body.greenstage-material .greenstage-facts,
  body.greenstage-material .greenstage-overview,
  body.greenstage-material .greenstage-practice,
  body.founder-material .founder-page,
  body.founder-material .trajectory-list article,
  body.fieldnotes-material .field-note-list article,
  body.fields-practice .practice-index-hero,
  body.fields-practice .practice-index article,
  body.fields-practice .small-starts-section {
    grid-template-columns: 1fr;
  }

  body.greenstage-material .greenstage-components {
    grid-template-columns: 1fr;
  }

  body.greenstage-material .greenstage-components article:nth-child(odd) {
    border-right: 0;
  }
}

/* Final subpage contrast lock: overrides older experimental opacity rules. */
body.greenstage-material .project-hero--greenstage h1,
body.greenstage-material .project-hero--greenstage div h1 {
  color: rgba(245, 243, 238, 0.96) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.38) !important;
}

body.greenstage-material .project-hero--greenstage p {
  color: rgba(245, 243, 238, 0.82) !important;
  opacity: 1 !important;
}

body.greenstage-material .project-hero--greenstage span {
  color: rgba(245, 243, 238, 0.7) !important;
}

body.greenstage-material .greenstage-page h2,
body.greenstage-material .greenstage-practice h2,
body.greenstage-material .greenstage-components h2,
body.greenstage-material .greenstage-page p:first-child,
body.greenstage-material .greenstage-overview p:first-child,
body.greenstage-material .greenstage-facts p:first-of-type {
  color: var(--material-graphite) !important;
  opacity: 1 !important;
}

body.greenstage-material .greenstage-page p,
body.greenstage-material .greenstage-practice li,
body.greenstage-material .greenstage-components p {
  color: var(--material-soft) !important;
  opacity: 1 !important;
}

body.fields-practice .practice-index-hero h1,
body.fields-practice .practice-index h2,
body.fields-practice .small-starts-section h2 {
  color: var(--fields-graphite) !important;
  opacity: 1 !important;
}

body.fields-practice .practice-index-hero p,
body.fields-practice .practice-question,
body.fields-practice .practice-detail p,
body.fields-practice .practice-detail li,
body.fields-practice .small-starts-section p,
body.fields-practice .small-starts-section li {
  color: var(--fields-soft) !important;
  opacity: 1 !important;
}

body.founder-material .founder-story h1,
body.founder-material .founder-note h2,
body.founder-material .founder-name-note h2,
body.founder-material .trajectory-list h2,
body.founder-material .connect-section h2 {
  color: var(--material-graphite) !important;
  opacity: 1 !important;
}

body.founder-material .founder-story p,
body.founder-material .founder-note p,
body.founder-material .founder-name-note p,
body.founder-material .trajectory-list p,
body.founder-material .connect-section p {
  color: var(--material-soft) !important;
  opacity: 1 !important;
}

body.fieldnotes-material .field-notes-hero h1,
body.fieldnotes-material .field-note-list h2,
body.fieldnotes-material .field-note-list h2 a {
  color: var(--material-graphite) !important;
  opacity: 1 !important;
}

body.fieldnotes-material .field-notes-hero p,
body.fieldnotes-material .field-note-list p {
  color: var(--material-soft) !important;
  opacity: 1 !important;
}

/* Subpage world transfer: final typography and navigation stabilization. */
body.greenstage-material,
body.founder-material,
body.fieldnotes-material,
body.fields-practice {
  background: #f5f3ee !important;
}

body.greenstage-material .site-header,
body.founder-material .site-header,
body.fieldnotes-material .site-header,
body.fields-practice .site-header,
body.approach-thinking .site-header {
  background: rgba(245, 243, 238, 0.94) !important;
  border-bottom-color: rgba(37, 36, 31, 0.14) !important;
}

body.greenstage-material .brand,
body.greenstage-material .site-nav a,
body.founder-material .brand,
body.founder-material .site-nav a,
body.fieldnotes-material .brand,
body.fieldnotes-material .site-nav a,
body.fields-practice .brand,
body.fields-practice .site-nav a,
body.approach-thinking .brand,
body.approach-thinking .site-nav a {
  color: #25241f !important;
}

body.greenstage-material .nav-toggle,
body.founder-material .nav-toggle,
body.fieldnotes-material .nav-toggle,
body.fields-practice .nav-toggle,
body.approach-thinking .nav-toggle {
  border-color: rgba(37, 36, 31, 0.18) !important;
  background: rgba(245, 243, 238, 0.74) !important;
}

body.greenstage-material .nav-toggle span:not(.sr-only),
body.founder-material .nav-toggle span:not(.sr-only),
body.fieldnotes-material .nav-toggle span:not(.sr-only),
body.fields-practice .nav-toggle span:not(.sr-only),
body.approach-thinking .nav-toggle span:not(.sr-only) {
  background: #25241f !important;
}

body.greenstage-material .project-hero--greenstage h1,
body.founder-material .founder-story h1,
body.fieldnotes-material .field-notes-hero h1,
body.fields-practice .practice-index-hero h1 {
  font-kerning: normal;
  letter-spacing: -0.04em !important;
  line-height: 0.94 !important;
  text-wrap: balance;
}

body.greenstage-material .project-hero--greenstage h1 {
  max-width: 11.5ch !important;
  font-size: clamp(54px, 7.1vw, 132px) !important;
  color: rgba(247, 245, 241, 0.98) !important;
  text-shadow: 0 3px 28px rgba(0, 0, 0, 0.46) !important;
}

body.greenstage-material .project-hero--greenstage p {
  max-width: 680px !important;
  color: rgba(247, 245, 241, 0.88) !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.34) !important;
}

body.founder-material .founder-story h1 {
  max-width: 10.5ch !important;
  font-size: clamp(50px, 7.2vw, 132px) !important;
}

body.fieldnotes-material .field-notes-hero h1 {
  max-width: 12.5ch !important;
  font-size: clamp(54px, 8vw, 144px) !important;
}

body.fields-practice .practice-index h2 {
  letter-spacing: -0.04em !important;
  line-height: 0.96 !important;
  text-wrap: balance;
}

body.greenstage-material .greenstage-page,
body.founder-material .founder-note,
body.founder-material .founder-name-note,
body.founder-material .trajectory-list,
body.founder-material .connect-section,
body.fieldnotes-material .field-note-list,
body.fieldnotes-material .field-note-essay,
body.fields-practice .practice-index,
body.fields-practice .small-starts-section {
  background: #f5f3ee !important;
}

body.fieldnotes-material .field-note-essay {
  color: #25241f !important;
}

body.fieldnotes-material .field-note-header h1,
body.fieldnotes-material .field-note-large {
  color: #25241f !important;
  opacity: 1 !important;
}

body.fieldnotes-material .field-note-body p,
body.fieldnotes-material .field-note-intro p,
body.fieldnotes-material .field-note-end p {
  color: rgba(37, 36, 31, 0.68) !important;
  opacity: 1 !important;
}

body.greenstage-material .greenstage-facts {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 1180px !important;
}

body.greenstage-material .greenstage-logo-mark {
  display: none !important;
}

body.greenstage-material .reveal-target,
body.founder-material .reveal-target,
body.fieldnotes-material .reveal-target,
body.fields-practice .reveal-target {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

body.approach-thinking .approach-small-starts {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(320px, 0.58fr);
  gap: clamp(42px, 7vw, 112px);
  padding: clamp(92px, 11vw, 164px) 7vw;
  background:
    linear-gradient(rgba(43, 43, 42, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43, 43, 42, 0.045) 1px, transparent 1px),
    #f2efe9;
  background-size: 42px 42px, 42px 42px, auto;
  border-top: 1px solid rgba(43, 43, 42, 0.18);
  border-bottom: 1px solid rgba(43, 43, 42, 0.18);
  color: #2b2b2a;
}

body.approach-thinking .approach-small-starts::before {
  content: "";
  position: absolute;
  inset: clamp(22px, 3vw, 48px);
  border: 1px solid rgba(43, 43, 42, 0.14);
  pointer-events: none;
}

body.approach-thinking .approach-small-starts span {
  color: rgba(43, 43, 42, 0.52);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.approach-thinking .approach-small-starts h2 {
  max-width: 11ch;
  margin-top: clamp(20px, 3vw, 42px);
  color: #2b2b2a;
  font-size: clamp(44px, 6vw, 104px);
  font-weight: 520;
  letter-spacing: -0.045em;
  line-height: 0.94;
  text-wrap: balance;
}

body.approach-thinking .approach-small-starts .small-starts-list {
  position: relative;
  z-index: 1;
  align-self: end;
  max-width: 760px;
  border-left: 1px solid rgba(43, 43, 42, 0.28);
  padding-left: clamp(24px, 4vw, 54px);
}

body.approach-thinking .approach-small-starts p,
body.approach-thinking .approach-small-starts li {
  color: rgba(43, 43, 42, 0.7);
  font-family: var(--serif);
  font-size: clamp(18px, 1.55vw, 25px);
  line-height: 1.34;
}

body.approach-thinking .approach-small-starts ul {
  display: grid;
  gap: 14px;
  margin: clamp(28px, 4vw, 44px) 0 0;
  padding: 0;
}

body.approach-thinking .approach-small-starts li {
  list-style: none;
  border-top: 1px solid rgba(43, 43, 42, 0.14);
  padding-top: 14px;
}

body.fieldnotes-material .field-note-list article,
body.fieldnotes-material .field-note-list article:nth-child(2) {
  background: transparent !important;
  color: #25241f !important;
}

body.fieldnotes-material .field-note-list article span,
body.fieldnotes-material .field-note-list article:nth-child(2) span {
  color: rgba(37, 36, 31, 0.48) !important;
}

body.fieldnotes-material .field-note-list h2,
body.fieldnotes-material .field-note-list h2 a,
body.fieldnotes-material .field-note-list h2 a:hover,
body.fieldnotes-material .field-note-list h2 a:focus-visible {
  color: #25241f !important;
}

@media (max-width: 900px) {
  body.approach-thinking .approach-small-starts {
    grid-template-columns: 1fr;
  }

  body.approach-thinking .approach-small-starts h2 {
    max-width: 14ch;
  }
}

@media (max-width: 1050px) {
  body.greenstage-material .site-nav,
  body.founder-material .site-nav,
  body.fieldnotes-material .site-nav,
  body.fields-practice .site-nav,
  body.approach-thinking .site-nav {
    background: #f5f3ee !important;
    border-bottom-color: rgba(37, 36, 31, 0.14) !important;
    box-shadow: 0 24px 60px rgba(37, 36, 31, 0.12) !important;
  }

  body.greenstage-material .site-nav a,
  body.founder-material .site-nav a,
  body.fieldnotes-material .site-nav a,
  body.fields-practice .site-nav a,
  body.approach-thinking .site-nav a {
    border-bottom-color: rgba(37, 36, 31, 0.12) !important;
    color: #25241f !important;
  }
}

@media (max-width: 760px) {
  body.greenstage-material .project-hero--greenstage h1,
  body.founder-material .founder-story h1,
  body.fieldnotes-material .field-notes-hero h1,
  body.fields-practice .practice-index-hero h1,
  body.fields-practice .practice-index h2 {
    letter-spacing: -0.028em !important;
    line-height: 0.98 !important;
  }

  body.greenstage-material .project-hero--greenstage,
  body.founder-material .founder-page,
  body.fieldnotes-material .field-notes-hero,
  body.fields-practice .practice-index-hero {
    padding-top: 112px !important;
  }
}

/* Stable homepage essay setting: one readable editorial column. */
body.home-editorial .why-cvano-section {
  display: block !important;
  padding: 120px 32px 150px !important;
}

body.home-editorial .why-cvano {
  width: min(100%, 720px);
  margin: 0 auto;
}

body.home-editorial .why-cvano-label {
  display: block;
  margin-bottom: 54px;
  color: rgba(37, 36, 31, 0.48);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.home-editorial .why-cvano-copy {
  display: block;
  max-width: 680px;
}

body.home-editorial .why-cvano-copy p {
  max-width: 680px;
  margin: 0;
  color: rgba(37, 36, 31, 0.68);
  font-family: var(--sans);
  font-size: clamp(20px, 1.55vw, 24px);
  font-weight: 380;
  letter-spacing: 0;
  line-height: 1.7;
}

body.home-editorial .why-cvano-copy p + p {
  margin-top: 38px;
}

body.home-editorial .why-cvano-copy .why-cvano-pull {
  margin-top: 120px;
  max-width: 720px;
  color: #25241f;
  font-family: var(--sans);
  font-size: clamp(36px, 4.2vw, 48px);
  font-weight: 520;
  letter-spacing: -0.02em;
  line-height: 1.18;
}

body.home-editorial .why-cvano-copy .why-cvano-response {
  margin-top: 34px;
  max-width: 680px;
  color: rgba(37, 36, 31, 0.82);
  font-size: clamp(24px, 2vw, 29px);
  font-weight: 460;
  line-height: 1.45;
}

@media (max-width: 760px) {
  body.home-editorial .why-cvano-section {
    padding: 84px 24px 104px !important;
  }

  body.home-editorial .why-cvano-label {
    margin-bottom: 38px;
  }

  body.home-editorial .why-cvano-copy p {
    font-size: 19px;
    line-height: 1.62;
  }

  body.home-editorial .why-cvano-copy .why-cvano-pull {
    margin-top: 82px;
    font-size: 31px;
    line-height: 1.18;
  }

body.home-editorial .why-cvano-copy .why-cvano-response {
    font-size: 23px;
  }
}

/* Stable subpage editorial widths. Prevent oversized type from sitting in
   narrow columns on GREENSTAGE, Founder, Field Notes and Approach. */
@media (min-width: 981px) {
  body.greenstage-material *,
  body.founder-material *,
  body.fieldnotes-material *,
  body.approach-thinking *,
  body.fields-practice * {
    min-width: 0;
  }

  body.greenstage-material .project-hero--greenstage,
  body.founder-material .founder-page,
  body.fieldnotes-material .field-notes-hero,
  body.approach-thinking .approach-hero,
  body.fields-practice .practice-index-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 520px) minmax(0, 660px) !important;
    gap: clamp(56px, 7vw, 104px) !important;
    align-items: end !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: max(48px, 7vw) !important;
    padding-right: max(48px, 7vw) !important;
    overflow: hidden !important;
  }

  body.greenstage-material .project-hero--greenstage h1,
  body.founder-material .founder-story h1,
  body.fieldnotes-material .field-notes-hero h1,
  body.approach-thinking .approach-hero h1,
  body.fields-practice .practice-index-hero h1 {
    max-width: 12ch !important;
    font-size: clamp(48px, 5.9vw, 88px) !important;
    font-weight: 430 !important;
    letter-spacing: -0.026em !important;
    line-height: 1.04 !important;
    text-wrap: balance;
  }

  body.greenstage-material .project-hero--greenstage p,
  body.founder-material .founder-story p,
  body.fieldnotes-material .field-notes-hero p,
  body.approach-thinking .approach-hero p,
  body.fields-practice .practice-index-hero p {
    max-width: 640px !important;
    padding-left: 0 !important;
    font-size: clamp(20px, 1.7vw, 25px) !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
  }

  body.greenstage-material .greenstage-facts,
  body.greenstage-material .greenstage-overview,
  body.greenstage-material .greenstage-practice,
  body.approach-thinking .practice-page,
  body.approach-thinking .approach-chapter,
  body.founder-material .founder-note,
  body.founder-material .founder-name-note {
    display: grid !important;
    grid-template-columns: minmax(0, 220px) minmax(0, 720px) !important;
    gap: clamp(48px, 7vw, 96px) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: max(48px, 7vw) !important;
    padding-right: max(48px, 7vw) !important;
  }

  body.greenstage-material .greenstage-facts {
    grid-template-columns: minmax(0, 720px) !important;
    justify-content: center !important;
  }

  body.greenstage-material .greenstage-facts > div {
    grid-column: 1 !important;
    width: 100% !important;
  }

  body.greenstage-material .greenstage-facts > div,
  body.greenstage-material .greenstage-overview > div,
  body.greenstage-material .greenstage-practice > div,
  body.approach-thinking .page-copy,
  body.founder-material .founder-note p,
  body.founder-material .founder-name-note p {
    max-width: 720px !important;
  }

  body.greenstage-material .greenstage-page p,
  body.greenstage-material .greenstage-practice li,
  body.approach-thinking .page-copy p,
  body.founder-material p,
  body.fieldnotes-material p {
    max-width: 720px !important;
    font-size: clamp(18px, 1.45vw, 22px) !important;
    line-height: 1.62 !important;
    letter-spacing: 0 !important;
  }

  body.greenstage-material .greenstage-overview p:first-child,
  body.greenstage-material .greenstage-facts p:first-of-type,
  body.approach-thinking .approach-question {
    font-size: clamp(25px, 2.65vw, 38px) !important;
    line-height: 1.28 !important;
    font-weight: 430 !important;
    letter-spacing: -0.012em !important;
  }

  body.greenstage-material .greenstage-practice h2,
  body.approach-thinking .page-copy h2,
  body.founder-material .founder-note h2,
  body.founder-material .founder-name-note h2 {
    max-width: 12ch !important;
    font-size: clamp(36px, 4.4vw, 64px) !important;
    font-weight: 430 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.026em !important;
  }

  body.greenstage-material .greenstage-components {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: max(48px, 7vw) !important;
    padding-right: max(48px, 7vw) !important;
  }

  body.greenstage-material .greenstage-components article {
    padding: 44px !important;
    border: 1px solid rgba(37, 36, 31, 0.14) !important;
    background: transparent !important;
  }

  body.greenstage-material .greenstage-components p {
    font-size: clamp(17px, 1.25vw, 20px) !important;
    line-height: 1.58 !important;
  }

  body.fieldnotes-material .field-note-list article,
  body.founder-material .trajectory-list article {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 360px) minmax(0, 640px) !important;
    gap: clamp(32px, 5vw, 72px) !important;
    align-items: start !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.fieldnotes-material .field-note-list h2,
  body.fieldnotes-material .field-note-list h2 a,
  body.founder-material .trajectory-list h2 {
    max-width: 14ch !important;
    font-size: clamp(32px, 3.8vw, 56px) !important;
    font-weight: 430 !important;
    line-height: 1.06 !important;
    letter-spacing: -0.026em !important;
  }

  body.fields-practice .practice-index {
    width: min(calc(100% - 96px), 1180px) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.fields-practice .practice-index article {
    display: grid !important;
    grid-template-columns: 64px minmax(260px, 340px) minmax(460px, 1fr) !important;
    gap: clamp(32px, 5vw, 72px) !important;
    align-items: start !important;
    width: 100% !important;
  }

  body.fields-practice .practice-index article > span {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  body.fields-practice .practice-index h2 {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    max-width: 12ch !important;
    font-size: clamp(32px, 3.8vw, 56px) !important;
    font-weight: 430 !important;
    line-height: 1.06 !important;
    letter-spacing: -0.026em !important;
  }

  body.fields-practice .practice-question,
  body.fields-practice .practice-detail {
    grid-column: 3 !important;
    max-width: 640px !important;
  }

  body.fields-practice .practice-question {
    grid-row: 1 !important;
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.32 !important;
    font-weight: 430 !important;
  }

  body.fields-practice .practice-detail {
    grid-row: 2 !important;
    margin-top: 32px !important;
  }

  body.fields-practice .practice-detail p,
  body.fields-practice .practice-detail li {
    max-width: 640px !important;
    font-size: clamp(17px, 1.3vw, 20px) !important;
    line-height: 1.58 !important;
  }
}

/* Editorial publication direction.
   Keep the content and hierarchy, but remove component-heavy presentation. */
body.home-editorial,
body.home-editorial .site-shell,
body.home-editorial main,
body.greenstage-material,
body.founder-material,
body.fieldnotes-material,
body.fields-practice,
body.approach-thinking {
  background: #f5f3ee !important;
}

html,
body {
  overflow-x: clip;
}

body.home-editorial .site-header,
body.greenstage-material .site-header,
body.founder-material .site-header,
body.fieldnotes-material .site-header,
body.fields-practice .site-header,
body.approach-thinking .site-header {
  background: rgba(245, 243, 238, 0.88) !important;
  border-bottom: 1px solid rgba(37, 36, 31, 0.09) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
}

body.home-editorial .hero-section {
  min-height: 100svh !important;
}

body.home-editorial .hero-section::after {
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.42), rgba(17, 20, 24, 0.08) 58%, rgba(17, 20, 24, 0.22)),
    linear-gradient(180deg, rgba(17, 20, 24, 0.16), rgba(17, 20, 24, 0.18)) !important;
}

body.home-editorial .hero-copy {
  align-self: end !important;
  width: min(70vw, 880px) !important;
  padding-bottom: clamp(78px, 11vh, 132px) !important;
}

body.home-editorial .hero-copy h1 {
  max-width: 11ch !important;
  font-size: clamp(76px, 11vw, 158px) !important;
  font-weight: 520 !important;
  line-height: 0.91 !important;
  letter-spacing: -0.055em !important;
}

body.home-editorial .professional-hero .hero-copy {
  width: min(62vw, 860px) !important;
  gap: clamp(18px, 2.3vw, 34px) !important;
}

body.home-editorial .professional-hero .hero-copy h1 {
  display: grid !important;
  gap: clamp(6px, 0.8vw, 12px) !important;
  max-width: 12.5ch !important;
  margin: 0 !important;
  color: var(--paper) !important;
  font-size: clamp(54px, 7.1vw, 104px) !important;
  font-weight: 560 !important;
  line-height: 0.93 !important;
  letter-spacing: -0.052em !important;
  text-transform: none !important;
}

body.home-editorial .professional-hero .hero-copy h1 span {
  display: block !important;
  color: rgba(244, 241, 235, 0.94) !important;
}

body.home-editorial .professional-hero .hero-subline {
  max-width: 34rem !important;
  margin-top: clamp(8px, 1vw, 14px) !important;
  font-size: clamp(19px, 1.55vw, 25px) !important;
  line-height: 1.38 !important;
  letter-spacing: -0.018em !important;
}

body.home-editorial .professional-hero .hero-meta {
  color: rgba(244, 241, 235, 0.66) !important;
  font-family: var(--mono) !important;
  font-size: clamp(10px, 0.82vw, 12px) !important;
  font-weight: 720 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

body.home-editorial .why-cvano-section {
  padding: clamp(150px, 18vw, 230px) 32px clamp(170px, 20vw, 270px) !important;
}

body.home-editorial .why-cvano {
  width: min(calc(100% - 18vw), 980px) !important;
  margin-left: max(9vw, 96px) !important;
  margin-right: auto !important;
}

body.home-editorial .why-cvano-copy {
  max-width: 720px !important;
}

body.home-editorial .why-cvano-copy p {
  max-width: 680px !important;
  color: rgba(37, 36, 31, 0.64) !important;
}

body.home-editorial .why-cvano-copy .why-cvano-pull {
  margin-top: clamp(130px, 16vw, 210px) !important;
  max-width: 860px !important;
  color: #25241f !important;
  font-size: clamp(44px, 5.6vw, 76px) !important;
  font-weight: 430 !important;
  line-height: 1.03 !important;
  letter-spacing: -0.038em !important;
}

body.home-editorial .why-cvano-copy .why-cvano-response {
  max-width: 760px !important;
  font-size: clamp(24px, 2.25vw, 34px) !important;
  line-height: 1.36 !important;
}

body.home-editorial .home-topics-section {
  padding: clamp(150px, 17vw, 240px) 0 clamp(150px, 18vw, 250px) !important;
  border: 0 !important;
}

body.home-editorial .home-topics-section .section-head {
  width: min(calc(100% - 14vw), 1120px) !important;
  max-width: 1120px !important;
  margin: 0 auto clamp(120px, 13vw, 190px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.36fr) minmax(0, 0.64fr) !important;
  gap: clamp(44px, 7vw, 110px) !important;
  align-items: start !important;
}

body.home-editorial .home-topics-section .section-head span {
  grid-column: 1 !important;
}

body.home-editorial .home-topics-section .section-head h2,
body.home-editorial .home-topics-section .section-head .section-intro {
  grid-column: 2 !important;
}

body.home-editorial .home-topics-section .section-head h2 {
  max-width: 10ch !important;
  font-size: clamp(58px, 8vw, 132px) !important;
  font-weight: 480 !important;
  line-height: 0.93 !important;
  letter-spacing: -0.055em !important;
}

body.home-editorial .home-topics-section .section-intro {
  max-width: 560px !important;
  margin-top: clamp(34px, 5vw, 76px) !important;
  font-size: clamp(21px, 2vw, 30px) !important;
  line-height: 1.36 !important;
}

body.home-editorial #working-fields .home-field-atlas {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: clamp(100px, 12vw, 170px) clamp(24px, 3vw, 44px) !important;
  width: min(calc(100% - 14vw), 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.home-editorial #working-fields .home-field-atlas a,
body.home-editorial #working-fields .home-field-atlas a:nth-child(n),
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(n) {
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(1) {
  grid-column: 2 / 8 !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(2) {
  grid-column: 7 / 13 !important;
  margin-top: clamp(80px, 10vw, 140px) !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(3) {
  grid-column: 1 / 7 !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(4) {
  grid-column: 6 / 12 !important;
  margin-top: clamp(44px, 7vw, 110px) !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(5) {
  grid-column: 2 / 6 !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(6) {
  grid-column: 7 / 13 !important;
  margin-top: clamp(64px, 9vw, 128px) !important;
}

body.home-editorial #working-fields .home-field-atlas span {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin-bottom: 26px !important;
  border: 0 !important;
  color: rgba(37, 36, 31, 0.42) !important;
  place-items: initial !important;
}

body.home-editorial #working-fields .home-field-atlas h3,
body.home-editorial #working-fields .home-field-atlas a:nth-child(n) h3,
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(n) h3 {
  max-width: 12ch !important;
  font-size: clamp(42px, 5.4vw, 76px) !important;
  font-weight: 430 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
}

body.home-editorial #working-fields .home-field-atlas h3 br {
  display: block !important;
}

body.home-editorial #working-fields .home-field-atlas p {
  max-width: 34ch !important;
  margin-top: 24px !important;
  font-family: var(--sans) !important;
  font-size: clamp(18px, 1.55vw, 22px) !important;
  line-height: 1.48 !important;
}

body.home-editorial #working-fields .home-field-atlas em {
  display: inline-block !important;
  margin-top: 34px !important;
  box-shadow: inset 0 -0.08em 0 rgba(37, 36, 31, 0.25) !important;
}

body.home-editorial .greenstage-feature.home-practice-feature {
  display: grid !important;
  grid-template-columns: minmax(0, 0.68fr) minmax(280px, 0.32fr) !important;
  gap: clamp(48px, 7vw, 110px) !important;
  max-width: none !important;
  padding: clamp(150px, 18vw, 240px) 7vw !important;
  border: 0 !important;
  align-items: center !important;
}

body.home-editorial .home-feature-image {
  width: 100% !important;
  margin: 0 !important;
}

body.home-editorial .home-feature-image img {
  width: 100% !important;
  height: min(72vh, 720px) !important;
  min-height: 520px !important;
  object-fit: cover !important;
  filter: saturate(0.88) contrast(1.03) !important;
}

body.home-editorial .home-feature-image figcaption {
  margin-top: 12px !important;
  color: rgba(37, 36, 31, 0.45) !important;
}

body.home-editorial .home-practice-feature .feature-copy {
  max-width: 430px !important;
  padding-bottom: clamp(20px, 4vw, 62px) !important;
}

body.home-editorial .home-practice-feature .feature-copy h2 {
  max-width: 8ch !important;
  font-size: clamp(46px, 6vw, 94px) !important;
  font-weight: 430 !important;
  line-height: 0.94 !important;
}

body.home-editorial .home-practice-feature .feature-copy p {
  max-width: 32ch !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  line-height: 1.58 !important;
}

body.home-editorial .home-field-notes {
  padding: clamp(150px, 17vw, 230px) 7vw !important;
  border: 0 !important;
}

body.home-editorial .home-field-notes .section-head {
  max-width: 1040px !important;
  margin: 0 auto clamp(80px, 10vw, 140px) !important;
}

body.home-editorial .home-field-notes .section-head h2 {
  max-width: 9ch !important;
  font-size: clamp(62px, 8vw, 126px) !important;
  font-weight: 430 !important;
  line-height: 0.92 !important;
  letter-spacing: -0.055em !important;
}

body.home-editorial .home-note-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(54px, 7vw, 96px) !important;
  max-width: 940px !important;
  margin: 0 auto !important;
}

body.home-editorial .home-note-list a {
  display: grid !important;
  grid-template-columns: minmax(0, 0.58fr) minmax(260px, 0.42fr) !important;
  gap: clamp(36px, 6vw, 90px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.home-editorial .home-note-list strong {
  font-size: clamp(30px, 4.2vw, 62px) !important;
  font-weight: 430 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
}

body.home-editorial .home-note-list span {
  align-self: end !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  line-height: 1.48 !important;
}

body.home-editorial .home-founder-teaser {
  display: grid !important;
  grid-template-columns: minmax(0, 0.56fr) minmax(280px, 0.44fr) !important;
  gap: clamp(56px, 8vw, 130px) !important;
  max-width: none !important;
  padding: clamp(160px, 18vw, 260px) 7vw clamp(120px, 14vw, 210px) !important;
  border: 0 !important;
}

body.home-editorial .home-founder-image {
  width: 100% !important;
  margin: 0 !important;
}

body.home-editorial .home-founder-image img {
  width: 100% !important;
  height: min(72vh, 680px) !important;
  object-fit: cover !important;
  filter: saturate(0.9) contrast(1.02) !important;
}

body.home-editorial .home-founder-teaser .section-head {
  align-self: center !important;
  max-width: 520px !important;
}

body.home-editorial .home-founder-teaser .section-head h2 {
  max-width: 9ch !important;
  font-size: clamp(46px, 6vw, 88px) !important;
  font-weight: 430 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.045em !important;
}

body.home-editorial .site-footer {
  border-top: 0 !important;
  padding-top: clamp(110px, 13vw, 180px) !important;
}

@media (min-width: 981px) {
  body.greenstage-material .greenstage-components {
    gap: clamp(72px, 9vw, 130px) clamp(48px, 7vw, 96px) !important;
  }

  body.greenstage-material .greenstage-components article {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
}

@media (max-width: 980px) {
  body.home-editorial .why-cvano,
  body.home-editorial .home-topics-section .section-head,
  body.home-editorial #working-fields .home-field-atlas {
    width: min(calc(100% - 48px), 720px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home-editorial .home-topics-section .section-head,
  body.home-editorial #working-fields .home-field-atlas,
  body.home-editorial .greenstage-feature.home-practice-feature,
  body.home-editorial .home-note-list a,
  body.home-editorial .home-founder-teaser {
    grid-template-columns: 1fr !important;
  }

  body.home-editorial #working-fields .home-field-atlas a,
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(n) {
    grid-column: 1 !important;
    margin-top: 0 !important;
  }
}

/* Final homepage atlas pass: editorial field map, not scattered cards. */
body.home-editorial .home-topics-section {
  position: relative !important;
  padding: clamp(118px, 14vw, 200px) 0 clamp(132px, 15vw, 220px) !important;
  background:
    linear-gradient(90deg, rgba(21, 127, 134, 0.11) 0 27%, transparent 27%),
    linear-gradient(180deg, rgba(21, 127, 134, 0.035), transparent 42%),
    var(--home-paper) !important;
}

body.home-editorial .home-topics-section .section-head {
  width: min(calc(100% - 14vw), 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto clamp(72px, 8vw, 118px) !important;
  display: grid !important;
  grid-template-columns: minmax(140px, 0.25fr) minmax(0, 0.75fr) !important;
  gap: clamp(34px, 6vw, 94px) !important;
}

body.home-editorial .home-topics-section .section-head span {
  grid-column: 1 !important;
  color: var(--teal) !important;
}

body.home-editorial .home-topics-section .section-head h2,
body.home-editorial .home-topics-section .section-head .section-intro {
  grid-column: 2 !important;
}

body.home-editorial .home-topics-section .section-head h2 {
  max-width: 12ch !important;
  color: var(--home-graphite) !important;
  font-size: clamp(54px, 7.2vw, 116px) !important;
  font-weight: 460 !important;
  letter-spacing: -0.058em !important;
  line-height: 0.92 !important;
}

body.home-editorial .home-topics-section .section-intro {
  max-width: 760px !important;
  margin-top: clamp(28px, 4vw, 54px) !important;
  color: rgba(37, 36, 31, 0.66) !important;
  font-size: clamp(20px, 1.55vw, 25px) !important;
  line-height: 1.46 !important;
}

body.home-editorial #working-fields .home-field-atlas {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 clamp(44px, 6vw, 96px) !important;
  width: min(calc(100% - 14vw), 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: clamp(24px, 3vw, 44px) 0 0 !important;
  border-top: 1px solid rgba(37, 36, 31, 0.18) !important;
  background: transparent !important;
}

body.home-editorial #working-fields .home-field-atlas::before {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 1px !important;
  background: rgba(21, 127, 134, 0.22) !important;
  content: "" !important;
}

body.home-editorial #working-fields .atlas-meta,
body.home-editorial #working-fields .atlas-scale,
body.home-editorial #working-fields .atlas-routes {
  display: none !important;
}

body.home-editorial #working-fields .home-field-atlas a,
body.home-editorial #working-fields .home-field-atlas a:nth-child(n),
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(n) {
  position: relative !important;
  grid-column: auto !important;
  display: grid !important;
  grid-template-columns: 60px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: clamp(18px, 2.3vw, 34px) !important;
  row-gap: 16px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(34px, 4.4vw, 64px) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(37, 36, 31, 0.16) !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--home-graphite) !important;
  transform: none !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(even) {
  padding-left: clamp(22px, 4vw, 62px) !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(odd) {
  padding-right: clamp(22px, 4vw, 62px) !important;
}

body.home-editorial #working-fields .home-field-atlas a::before {
  display: block !important;
  position: absolute !important;
  top: clamp(38px, 4.8vw, 68px) !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: var(--teal) !important;
  box-shadow: 0 0 0 8px rgba(21, 127, 134, 0.09) !important;
  content: "" !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(odd)::before {
  right: -5px !important;
}

body.home-editorial #working-fields .home-field-atlas a:nth-of-type(even)::before {
  left: -5px !important;
}

body.home-editorial #working-fields .home-field-atlas span {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  color: rgba(21, 127, 134, 0.82) !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  letter-spacing: 0.16em !important;
  line-height: 1 !important;
}

body.home-editorial #working-fields .home-field-atlas h3,
body.home-editorial #working-fields .home-field-atlas a:nth-child(n) h3,
body.home-editorial #working-fields .home-field-atlas a:nth-of-type(n) h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  max-width: 13ch !important;
  margin: 0 !important;
  color: var(--home-graphite) !important;
  font-size: clamp(35px, 4.1vw, 62px) !important;
  font-weight: 470 !important;
  letter-spacing: -0.045em !important;
  line-height: 0.98 !important;
}

body.home-editorial #working-fields .home-field-atlas p {
  grid-column: 2 !important;
  grid-row: 2 !important;
  max-width: 36ch !important;
  margin: 0 !important;
  color: rgba(37, 36, 31, 0.66) !important;
  font-family: var(--sans) !important;
  font-size: clamp(17px, 1.28vw, 20px) !important;
  line-height: 1.5 !important;
}

body.home-editorial #working-fields .home-field-atlas em {
  grid-column: 2 !important;
  grid-row: 3 !important;
  justify-self: start !important;
  align-self: start !important;
  display: inline-block !important;
  margin: 8px 0 0 !important;
  border: 1px solid rgba(21, 127, 134, 0.24) !important;
  border-radius: 999px !important;
  padding: 0.46rem 0.62rem 0.4rem !important;
  background: rgba(21, 127, 134, 0.075) !important;
  box-shadow: none !important;
  color: rgba(21, 127, 134, 0.92) !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 720 !important;
  letter-spacing: 0.12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body.home-editorial #working-fields .home-field-atlas a:hover,
body.home-editorial #working-fields .home-field-atlas a:focus-visible {
  background: transparent !important;
}

body.home-editorial #working-fields .home-field-atlas a:hover h3,
body.home-editorial #working-fields .home-field-atlas a:focus-visible h3 {
  color: var(--teal) !important;
}

@media (max-width: 980px) {
  body.home-editorial .home-topics-section .section-head,
  body.home-editorial #working-fields .home-field-atlas {
    width: min(calc(100% - 48px), 720px) !important;
    grid-template-columns: 1fr !important;
  }

  body.home-editorial .home-topics-section .section-head span,
  body.home-editorial .home-topics-section .section-head h2,
  body.home-editorial .home-topics-section .section-head .section-intro {
    grid-column: 1 !important;
  }

  body.home-editorial #working-fields .home-field-atlas::before,
  body.home-editorial #working-fields .home-field-atlas a::before {
    display: none !important;
  }

  body.home-editorial #working-fields .home-field-atlas a,
  body.home-editorial #working-fields .home-field-atlas a:nth-of-type(n) {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    padding: 34px 0 !important;
  }
}

/* Threshold practice pass: make grants and service contracts legible without service-card language. */
body.home-editorial .hero-copy .hero-subline {
  max-width: 520px !important;
  margin-top: clamp(22px, 3vw, 42px) !important;
  color: rgba(247, 245, 240, 0.82) !important;
  font-size: clamp(18px, 1.65vw, 25px) !important;
  font-weight: 380 !important;
  line-height: 1.38 !important;
  letter-spacing: 0 !important;
}

body.home-editorial .working-logics-section,
.fields-practice .service-pathways {
  width: min(calc(100% - 14vw), 1180px);
  max-width: 1180px;
  margin: 0 auto;
}

body.home-editorial .working-logics-section {
  padding: clamp(18px, 3vw, 42px) 0 clamp(92px, 12vw, 172px);
}

body.home-editorial .working-logics-intro {
  display: grid;
  grid-template-columns: minmax(140px, 0.25fr) minmax(0, 0.75fr);
  gap: clamp(34px, 6vw, 94px);
  margin-bottom: clamp(34px, 5vw, 74px);
}

body.home-editorial .working-logics-intro span,
.fields-practice .service-pathways article > span {
  color: var(--teal);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

body.home-editorial .working-logics-intro h2 {
  max-width: 860px;
  margin: 0;
  color: var(--home-graphite);
  font-size: clamp(34px, 4.8vw, 74px);
  font-weight: 470;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

body.home-editorial .working-logics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(37, 36, 31, 0.18);
  border-bottom: 1px solid rgba(37, 36, 31, 0.18);
}

body.home-editorial .working-logics article {
  padding: clamp(34px, 4.6vw, 68px) clamp(28px, 4.2vw, 62px) clamp(42px, 5.8vw, 88px) 0;
}

body.home-editorial .working-logics article + article {
  border-left: 1px solid rgba(37, 36, 31, 0.14);
  padding-left: clamp(28px, 4.2vw, 62px);
  padding-right: 0;
}

body.home-editorial .working-logics h3,
.fields-practice .service-pathways h2 {
  max-width: 13ch;
  margin: clamp(24px, 3vw, 38px) 0 clamp(22px, 3vw, 36px);
  color: var(--home-graphite);
  font-size: clamp(36px, 4.4vw, 68px);
  font-weight: 470;
  letter-spacing: -0.048em;
  line-height: 0.96;
}

body.home-editorial .working-logics p,
.fields-practice .service-pathways p {
  max-width: 42ch;
  margin: 0;
  color: rgba(37, 36, 31, 0.68);
  font-size: clamp(18px, 1.38vw, 22px);
  line-height: 1.5;
}

.fields-practice .service-pathways {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(36px, 6vw, 94px);
  padding: clamp(28px, 4vw, 58px) 0 clamp(86px, 11vw, 150px);
  border-bottom: 1px solid rgba(37, 36, 31, 0.16);
}

.fields-practice .service-pathways article {
  padding-top: clamp(26px, 4vw, 54px);
  border-top: 1px solid rgba(21, 127, 134, 0.28);
}

.fields-practice .service-pathways h2 {
  font-size: clamp(34px, 4.2vw, 62px);
}

.fields-practice .service-pathways ul {
  display: grid;
  gap: 0.55rem;
  max-width: 38ch;
  margin: clamp(26px, 3vw, 38px) 0 0;
  padding: 0;
  list-style: none;
}

.fields-practice .service-pathways li {
  color: rgba(37, 36, 31, 0.74);
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.45;
}

.fields-practice .service-pathways li::before {
  color: var(--teal);
  content: "— ";
}

@media (max-width: 760px) {
  body.home-editorial .working-logics-section,
  .fields-practice .service-pathways {
    width: min(calc(100% - 48px), 720px);
  }

  body.home-editorial .working-logics-intro,
  body.home-editorial .working-logics,
  .fields-practice .service-pathways {
    grid-template-columns: 1fr;
  }

  body.home-editorial .working-logics article,
  body.home-editorial .working-logics article + article {
    padding-left: 0;
    padding-right: 0;
    border-left: 0;
  }

  body.home-editorial .working-logics article + article {
    border-top: 1px solid rgba(37, 36, 31, 0.14);
  }
}

/* Homepage route pair: grants and tenders as responsible procedural decisions. */
body.home-editorial .cvano-route-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(18px, 2vw, 26px);
  background: rgba(37, 36, 31, 0.15);
}

body.home-editorial .cvano-route-pair article {
  padding: clamp(28px, 4vw, 54px);
  background: rgba(244, 241, 235, 0.86);
}

body.home-editorial .cvano-route-pair article:nth-child(2) {
  background: rgba(21, 127, 134, 0.1);
}

body.home-editorial .cvano-route-pair span {
  display: block;
  margin-bottom: clamp(28px, 4vw, 52px);
  color: var(--teal);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.home-editorial .cvano-route-pair h3 {
  max-width: 15ch;
  margin-bottom: clamp(20px, 2.4vw, 34px);
  color: var(--home-graphite, var(--charcoal));
  font-size: clamp(30px, 3.7vw, 56px);
  font-weight: 500;
  letter-spacing: -0.044em;
  line-height: 0.98;
}

body.home-editorial .cvano-route-pair p {
  max-width: 43ch;
  color: rgba(37, 36, 31, 0.7);
  font-size: clamp(16px, 1.18vw, 19px);
  line-height: 1.48;
}

@media (max-width: 900px) {
  body.home-editorial .cvano-route-pair {
    grid-template-columns: 1fr;
  }
}

/* CVANO working model: the presentation-app logic translated into the website. */
body.home-editorial .cvano-model-section {
  width: min(calc(100% - 14vw), 1180px);
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(42px, 7vw, 110px) 0 clamp(96px, 13vw, 180px);
}

body.home-editorial .cvano-model-heading {
  display: grid;
  grid-template-columns: minmax(140px, 0.24fr) minmax(0, 0.76fr);
  column-gap: clamp(30px, 6vw, 90px);
  row-gap: clamp(18px, 2vw, 28px);
  margin-bottom: clamp(34px, 5vw, 72px);
}

body.home-editorial .cvano-model-heading span,
body.home-editorial .cvano-model-architecture header span,
body.home-editorial .cvano-model-architecture a span,
body.home-editorial .cvano-model-grid article span {
  color: var(--teal);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.16em;
  line-height: 1.1;
  text-transform: uppercase;
}

body.home-editorial .cvano-model-heading h2 {
  max-width: 920px;
  color: var(--home-graphite, var(--charcoal));
  font-size: clamp(44px, 6vw, 92px);
  font-weight: 500;
  letter-spacing: -0.052em;
  line-height: 0.94;
}

body.home-editorial .cvano-model-heading p {
  grid-column: 2;
  max-width: 760px;
  color: rgba(37, 36, 31, 0.68);
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.48;
}

body.home-editorial .cvano-model-architecture {
  border: 1px solid rgba(37, 36, 31, 0.18);
  background: rgba(249, 247, 241, 0.62);
}

body.home-editorial .cvano-model-architecture header {
  display: block;
  padding: 22px clamp(22px, 3vw, 34px);
  border-bottom: 1px solid rgba(37, 36, 31, 0.16);
  background: var(--charcoal);
}

body.home-editorial .cvano-model-architecture header span {
  color: rgba(244, 241, 235, 0.82);
}

body.home-editorial .model-goals {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
  gap: clamp(18px, 3vw, 48px);
  align-items: stretch;
  padding: clamp(22px, 3vw, 34px);
}

body.home-editorial .model-goals article {
  min-height: clamp(190px, 18vw, 250px);
  padding: clamp(26px, 4vw, 46px);
  border-top: 6px solid var(--teal);
  background: rgba(244, 241, 235, 0.82);
}

body.home-editorial .model-goals b {
  display: block;
  margin-bottom: clamp(22px, 3vw, 36px);
  color: var(--teal);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 520;
  letter-spacing: -0.04em;
  line-height: 1;
}

body.home-editorial .model-goals small {
  display: block;
  margin-bottom: 14px;
  color: rgba(37, 36, 31, 0.48);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.home-editorial .model-goals strong {
  display: block;
  max-width: 38ch;
  color: var(--home-graphite, var(--charcoal));
  font-size: clamp(21px, 2vw, 31px);
  font-weight: 520;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

body.home-editorial .model-goals i {
  align-self: center;
  color: var(--teal);
  font-size: clamp(30px, 4vw, 54px);
  font-style: normal;
  font-weight: 420;
  text-align: center;
}

body.home-editorial .cvano-model-architecture > a {
  display: grid;
  grid-template-columns: minmax(150px, 0.26fr) minmax(0, 1fr) auto;
  gap: clamp(18px, 3vw, 38px);
  align-items: center;
  padding: clamp(22px, 3vw, 32px) clamp(22px, 3vw, 34px);
  border-top: 1px solid rgba(37, 36, 31, 0.16);
  background: rgba(21, 127, 134, 0.11);
}

body.home-editorial .cvano-model-architecture > a strong {
  color: var(--home-graphite, var(--charcoal));
  font-size: clamp(22px, 2.2vw, 34px);
  font-weight: 470;
  letter-spacing: -0.03em;
  line-height: 1.08;
}

body.home-editorial .cvano-model-architecture > a i {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--teal);
  color: var(--paper);
  font-style: normal;
}

body.home-editorial .cvano-model-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(18px, 2vw, 26px);
  border-top: 1px solid rgba(37, 36, 31, 0.16);
  border-bottom: 1px solid rgba(37, 36, 31, 0.16);
}

body.home-editorial .cvano-model-grid article {
  padding: clamp(30px, 4.2vw, 58px) clamp(22px, 3vw, 38px);
}

body.home-editorial .cvano-model-grid article + article {
  border-left: 1px solid rgba(37, 36, 31, 0.14);
}

body.home-editorial .cvano-model-grid h3 {
  max-width: 10ch;
  margin: clamp(34px, 4vw, 54px) 0 clamp(18px, 2.2vw, 28px);
  color: var(--home-graphite, var(--charcoal));
  font-size: clamp(34px, 4vw, 60px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

body.home-editorial .cvano-model-grid p {
  max-width: 34ch;
  color: rgba(37, 36, 31, 0.68);
  font-size: clamp(16px, 1.16vw, 19px);
  line-height: 1.46;
}

body.home-editorial .cvano-model-process {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  margin-top: clamp(22px, 3vw, 38px);
  background: rgba(37, 36, 31, 0.15);
}

body.home-editorial .cvano-model-process span {
  min-height: 76px;
  display: grid;
  place-items: center;
  background: var(--charcoal);
  color: rgba(244, 241, 235, 0.9);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 720;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  body.home-editorial .cvano-model-section {
    width: min(calc(100% - 48px), 720px);
  }

  body.home-editorial .cvano-model-heading,
  body.home-editorial .model-goals,
  body.home-editorial .cvano-model-architecture > a,
  body.home-editorial .cvano-model-grid,
  body.home-editorial .cvano-model-process {
    grid-template-columns: 1fr;
  }

  body.home-editorial .cvano-model-heading p {
    grid-column: auto;
  }

  body.home-editorial .model-goals i {
    transform: rotate(90deg);
  }

  body.home-editorial .cvano-model-grid article + article {
    border-top: 1px solid rgba(37, 36, 31, 0.14);
    border-left: 0;
  }
}

/* Final narrative tightening: keep motivation and model in one readable sequence. */
body.home-editorial .why-cvano-section {
  padding: clamp(92px, 10vw, 150px) 32px clamp(70px, 8vw, 115px) !important;
}

body.home-editorial .why-cvano-copy .why-cvano-pull {
  margin-top: clamp(56px, 7vw, 96px) !important;
}

body.home-editorial .cvano-model-section {
  padding-top: clamp(44px, 5vw, 76px) !important;
}

body.home-editorial .cvano-model-heading p {
  margin-top: clamp(18px, 2vw, 28px);
}

/* Sitewide consolidation: separate fields of work from working methods and calm the page rhythm. */
.practice-section-intro {
  width: min(calc(100% - 14vw), 1180px);
  margin: 0 auto;
  padding: clamp(54px, 7vw, 96px) 0 clamp(26px, 4vw, 54px);
  border-top: 1px solid rgba(37, 36, 31, 0.14);
}

.practice-section-intro + .service-pathways,
.practice-section-intro + .practice-index {
  margin-top: 0 !important;
}

.practice-section-intro span {
  display: block;
  margin-bottom: clamp(18px, 2.4vw, 30px);
  color: var(--teal);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.practice-section-intro h2 {
  max-width: 860px;
  margin: 0;
  color: var(--home-graphite);
  font-size: clamp(42px, 6vw, 92px);
  font-weight: 500;
  letter-spacing: -0.058em;
  line-height: 0.9;
}

.practice-section-intro p {
  max-width: 760px;
  margin: clamp(24px, 3vw, 38px) 0 0;
  color: rgba(37, 36, 31, 0.72);
  font-family: var(--serif);
  font-size: clamp(20px, 1.65vw, 28px);
  line-height: 1.34;
}

.fields-practice .service-pathways {
  padding-top: clamp(22px, 3vw, 40px) !important;
  padding-bottom: clamp(58px, 8vw, 108px) !important;
}

.fields-practice .practice-index {
  padding-top: clamp(20px, 3vw, 42px) !important;
}

.fields-practice .practice-index article {
  min-height: 0 !important;
}

body.greenstage-material .greenstage-facts,
body.greenstage-material .greenstage-overview,
body.greenstage-material .greenstage-practice {
  grid-template-columns: minmax(160px, 0.24fr) minmax(0, 0.76fr) !important;
  gap: clamp(30px, 5vw, 84px) !important;
  padding: clamp(64px, 7.5vw, 108px) 7vw !important;
}

body.greenstage-material .greenstage-facts > div:last-child,
body.greenstage-material .greenstage-overview > div,
body.greenstage-material .greenstage-practice > div {
  max-width: 920px !important;
}

body.greenstage-material .greenstage-page p,
body.greenstage-material .greenstage-practice li,
body.greenstage-material .greenstage-components p {
  font-size: clamp(18px, 1.38vw, 23px) !important;
  line-height: 1.43 !important;
}

body.greenstage-material .greenstage-overview p:first-child,
body.greenstage-material .greenstage-facts p:first-of-type {
  font-size: clamp(24px, 2.7vw, 42px) !important;
  line-height: 1.08 !important;
}

body.greenstage-material .greenstage-practice h2 {
  max-width: 780px;
  font-size: clamp(44px, 5.8vw, 88px) !important;
  line-height: 0.94 !important;
}

body.greenstage-material .greenstage-practice ol {
  margin-top: clamp(30px, 4vw, 56px) !important;
}

body.greenstage-material .greenstage-practice li {
  padding-top: clamp(20px, 2.4vw, 34px) !important;
  padding-bottom: clamp(20px, 2.4vw, 34px) !important;
}

body.greenstage-material .greenstage-components {
  width: min(calc(100% - 14vw), 1320px);
  margin: 0 auto;
  padding: 0 0 clamp(72px, 9vw, 126px) !important;
  border-top: 1px solid var(--material-line);
}

body.greenstage-material .greenstage-components article {
  min-height: 0 !important;
  padding: clamp(28px, 3.2vw, 48px) clamp(22px, 3vw, 44px) !important;
}

body.founder-material .trajectory-list article {
  min-height: 0 !important;
  align-items: start;
  gap: clamp(22px, 4vw, 58px) !important;
  padding-top: clamp(46px, 6vw, 82px) !important;
  padding-bottom: clamp(46px, 6vw, 82px) !important;
}

body.founder-material .trajectory-list article:nth-child(4) {
  background: rgba(21, 127, 134, 0.12) !important;
}

body.founder-material .trajectory-list article:nth-child(4) h2,
body.founder-material .trajectory-list article:nth-child(4) p {
  color: var(--material-graphite) !important;
}

body.founder-material .trajectory-list h2 {
  max-width: 12ch;
}

body.founder-material .trajectory-list p {
  max-width: 620px;
}

body.fieldnotes-material .field-note-list {
  gap: 0 !important;
}

body.fieldnotes-material .field-note-list article {
  min-height: 0 !important;
  padding: clamp(34px, 4vw, 58px) 0 !important;
}

body.approach-thinking .relationship-bridge-section {
  width: min(calc(100% - 14vw), 1180px);
  margin: 0 auto;
  padding: clamp(70px, 9vw, 132px) 0;
  border-top: 1px solid rgba(37, 36, 31, 0.14);
  border-bottom: 1px solid rgba(37, 36, 31, 0.14);
}

body.approach-thinking .relationship-bridge-section > span {
  display: block;
  margin-bottom: clamp(26px, 3vw, 44px);
  color: var(--teal);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.approach-thinking .relationship-bridge-section h2 {
  max-width: 980px;
  margin: 0;
  color: var(--home-graphite);
  font-size: clamp(46px, 6.5vw, 104px);
  font-weight: 500;
  letter-spacing: -0.058em;
  line-height: 0.92;
}

body.approach-thinking .relationship-bridge-section > p {
  max-width: 720px;
  margin: clamp(30px, 4vw, 54px) 0 0;
  color: rgba(37, 36, 31, 0.68);
  font-family: var(--serif);
  font-size: clamp(21px, 1.7vw, 28px);
  line-height: 1.36;
}

body.approach-thinking .relationship-bridge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(54px, 7vw, 96px);
  border-top: 1px solid rgba(37, 36, 31, 0.16);
}

body.approach-thinking .relationship-bridge-grid article {
  padding: clamp(28px, 3.4vw, 48px) clamp(24px, 3vw, 42px) 0 0;
  border-right: 1px solid rgba(37, 36, 31, 0.12);
}

body.approach-thinking .relationship-bridge-grid article:last-child {
  border-right: 0;
}

body.approach-thinking .relationship-bridge-grid article > span {
  display: block;
  margin-bottom: clamp(28px, 4vw, 52px);
  color: rgba(21, 127, 134, 0.78);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.16em;
}

body.approach-thinking .relationship-bridge-grid strong {
  display: block;
  color: var(--home-graphite);
  font-size: clamp(24px, 2.2vw, 36px);
  font-weight: 560;
  letter-spacing: -0.03em;
  line-height: 1;
}

body.approach-thinking .relationship-bridge-grid p {
  max-width: 31ch;
  margin: 22px 0 0;
  color: rgba(37, 36, 31, 0.66);
  font-size: clamp(16px, 1.1vw, 19px);
  line-height: 1.48;
}

body.approach-thinking .practice-page.approach-chapter {
  display: block !important;
  width: min(calc(100% - 14vw), 1180px) !important;
  max-width: 1180px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: clamp(62px, 7vw, 104px) 0 !important;
  border-top: 1px solid rgba(37, 36, 31, 0.12) !important;
  background: transparent !important;
}

body.approach-thinking .practice-page.approach-chapter .page-copy {
  max-width: 760px !important;
  margin: 0 !important;
}

body.approach-thinking .practice-page.approach-chapter h2 {
  max-width: 10ch;
  margin: 0 0 clamp(28px, 4vw, 50px);
  color: var(--home-graphite);
  font-size: clamp(44px, 5.8vw, 92px);
  font-weight: 500;
  letter-spacing: -0.058em;
  line-height: 0.94;
}

body.approach-thinking .practice-page.approach-chapter p {
  max-width: 680px;
  margin: 0;
  color: rgba(37, 36, 31, 0.7);
  font-family: var(--serif);
  font-size: clamp(20px, 1.55vw, 27px);
  line-height: 1.38;
}

body.approach-thinking .practice-page.approach-chapter p + p {
  margin-top: 1em;
}

body.approach-thinking .practice-page.approach-chapter .approach-question {
  max-width: 860px;
  color: var(--home-graphite);
  font-family: var(--sans);
  font-size: clamp(30px, 3.6vw, 58px);
  font-weight: 520;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

@media (max-width: 760px) {
  .practice-section-intro,
  .fields-practice .service-pathways,
  body.greenstage-material .greenstage-components {
    width: min(calc(100% - 48px), 720px) !important;
  }

  .practice-section-intro h2 {
    font-size: clamp(38px, 12vw, 64px);
  }

  body.greenstage-material .greenstage-facts,
  body.greenstage-material .greenstage-overview,
  body.greenstage-material .greenstage-practice {
    grid-template-columns: 1fr !important;
    padding: clamp(46px, 11vw, 72px) 24px !important;
  }

  body.greenstage-material .greenstage-components {
    grid-template-columns: 1fr !important;
  }

  body.greenstage-material .greenstage-components article:nth-child(odd) {
    border-right: 0 !important;
  }

  body.founder-material .trajectory-list article {
    grid-template-columns: 1fr !important;
  }

  .page-hero,
  .project-hero,
  .practice-index-hero,
  .legal-page {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    overflow: hidden;
  }

  .page-hero > *,
  .project-hero > *,
  .practice-index-hero > *,
  .legal-page > * {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  .page-hero h1,
  .project-hero h1,
  .practice-index-hero h1,
  .legal-page h1,
  .legal-page h2,
  .legal-page p {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  body.approach-thinking .approach-model-section,
  body.approach-thinking .approach-model-section .section-head,
  body.approach-thinking .approach-atlas-layout {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
  }

  body.approach-thinking .approach-model-section .section-head {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body.approach-thinking .approach-model-section .section-head > * {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  body.approach-thinking .atlas-actors .actor {
    max-width: 28vw !important;
    overflow-wrap: anywhere;
  }

  body.founder-material .founder-image-fragment {
    overflow: hidden;
  }

  body.founder-material .founder-image-fragment img,
  body.founder-material .founder-photo {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }
}

/* Emergency homepage GREENSTAGE repair: evidence section with stable image/text composition. */
body.home-editorial .greenstage-feature.home-practice-feature {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.54fr) minmax(380px, 0.46fr) !important;
  gap: clamp(44px, 6vw, 96px) !important;
  width: min(calc(100% - 14vw), 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: clamp(96px, 11vw, 154px) 0 !important;
  align-items: center !important;
  border-top: 1px solid rgba(37, 36, 31, 0.14) !important;
  border-bottom: 1px solid rgba(37, 36, 31, 0.14) !important;
  background: transparent !important;
  overflow: visible !important;
}

body.home-editorial .greenstage-feature.home-practice-feature::before,
body.home-editorial .greenstage-feature.home-practice-feature::after,
body.home-editorial .greenstage-feature .feature-copy::before,
body.home-editorial .greenstage-feature .feature-copy::after {
  display: none !important;
  content: none !important;
}

body.home-editorial .greenstage-feature .home-feature-image {
  position: relative !important;
  display: block !important;
  grid-column: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  z-index: 1 !important;
}

body.home-editorial .greenstage-feature .home-feature-image img {
  display: block !important;
  width: 100% !important;
  height: clamp(420px, 56vw, 680px) !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: saturate(0.86) contrast(1.04) brightness(0.98) !important;
}

body.home-editorial .greenstage-feature .home-feature-image figcaption {
  display: block !important;
  margin-top: 12px !important;
  color: rgba(37, 36, 31, 0.42) !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

body.home-editorial .greenstage-feature .feature-copy {
  position: relative !important;
  display: block !important;
  grid-column: 2 !important;
  max-width: 520px !important;
  padding: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  z-index: 2 !important;
}

body.home-editorial .greenstage-feature .feature-copy span {
  display: block !important;
  margin: 0 0 clamp(24px, 3vw, 40px) !important;
  color: var(--teal) !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  font-weight: 720 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.home-editorial .greenstage-feature .feature-copy h2 {
  position: static !important;
  max-width: 10ch !important;
  margin: 0 !important;
  color: var(--home-graphite) !important;
  font-size: clamp(54px, 6.3vw, 96px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.065em !important;
  line-height: 0.9 !important;
  transform: none !important;
}

body.home-editorial .greenstage-feature .feature-copy p,
body.home-editorial .greenstage-feature .feature-copy p:first-of-type {
  max-width: 36ch !important;
  margin: clamp(28px, 3.4vw, 46px) 0 0 !important;
  color: rgba(37, 36, 31, 0.72) !important;
  font-family: var(--serif) !important;
  font-size: clamp(21px, 1.8vw, 30px) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.32 !important;
}

body.home-editorial .greenstage-feature .feature-copy .text-link {
  display: inline-flex !important;
  width: auto !important;
  margin-top: clamp(34px, 4vw, 56px) !important;
  border: 0 !important;
  color: var(--cobalt) !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 740 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.home-editorial .home-current-image--logo,
body.home-editorial .greenstage-feature .home-current-image--logo {
  display: grid !important;
  align-content: center !important;
  min-height: clamp(300px, 36vw, 520px) !important;
  padding: clamp(44px, 7vw, 92px) !important;
  border: 1px solid rgba(37, 36, 31, 0.14) !important;
  background:
    linear-gradient(135deg, rgba(21, 127, 134, 0.08), transparent 62%),
    rgba(244, 241, 235, 0.52) !important;
}

body.home-editorial .home-current-image--logo img,
body.home-editorial .greenstage-feature .home-current-image--logo img {
  width: min(100%, 520px) !important;
  height: auto !important;
  max-height: none !important;
  margin: auto 0 !important;
  object-fit: contain !important;
  filter: none !important;
}

body.home-editorial .home-current-image--logo figcaption {
  margin-top: clamp(34px, 5vw, 64px) !important;
}

@media (max-width: 820px) {
  body.home-editorial .greenstage-feature.home-practice-feature {
    grid-template-columns: 1fr !important;
    width: min(calc(100% - 48px), 720px) !important;
    padding: clamp(72px, 16vw, 110px) 0 !important;
  }

  body.home-editorial .greenstage-feature .home-feature-image,
  body.home-editorial .greenstage-feature .feature-copy {
    grid-column: 1 !important;
  }

  body.home-editorial .greenstage-feature .home-feature-image img {
    height: clamp(260px, 72vw, 430px) !important;
  }

  body.home-editorial .greenstage-feature .home-feature-image figcaption {
    max-width: 34ch !important;
    overflow-wrap: normal !important;
    line-height: 1.5 !important;
  }

  body.home-editorial .greenstage-feature .feature-copy h2 {
    font-size: clamp(42px, 12vw, 62px) !important;
    letter-spacing: -0.055em !important;
  }

  body.home-editorial .greenstage-feature .feature-copy p,
  body.home-editorial .greenstage-feature .feature-copy p:first-of-type {
    font-size: clamp(19px, 5.2vw, 24px) !important;
  }

  body.approach-thinking .practice-page.approach-chapter,
  body.approach-thinking .relationship-bridge-section {
    width: min(calc(100% - 48px), 720px) !important;
    padding-top: clamp(48px, 12vw, 78px) !important;
    padding-bottom: clamp(48px, 12vw, 78px) !important;
  }

  body.approach-thinking .relationship-bridge-grid {
    grid-template-columns: 1fr !important;
    margin-top: clamp(38px, 10vw, 64px);
  }

  body.approach-thinking .relationship-bridge-grid article {
    padding: 28px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(37, 36, 31, 0.12);
  }

  body.approach-thinking .relationship-bridge-grid article:last-child {
    border-bottom: 0;
  }

  body.approach-thinking .relationship-bridge-grid article > span {
    margin-bottom: 20px;
  }
}

/* Homepage precision pass: keep GREENSTAGE ownership and role hierarchy legible. */
body.home-editorial .home-current-copy .role-note {
  max-width: 48ch !important;
  margin-top: clamp(14px, 1.7vw, 22px) !important;
  color: rgba(37, 36, 31, 0.56) !important;
  font-family: var(--sans) !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  font-weight: 430 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.5 !important;
}

body.home-editorial .home-current-copy .project-facts {
  margin-top: clamp(28px, 3.5vw, 46px) !important;
}

body.home-editorial .home-section-heading > p:empty {
  display: none !important;
}
/* CVANO coherent editorial system · 2026-08-14 */
:root {
  --cv-ink: #222628;
  --cv-paper: #fbfaf7;
  --cv-soft: #f1f4f5;
  --cv-blue: #285fe3;
  --cv-lime: #cee83f;
  --cv-orange: #ff7445;
  --cv-sky: #e8f4ff;
  --cv-green: var(--cv-blue);
  --cv-moss: #85a6e6;
  --cv-line: rgba(34, 38, 40, .2);
  --cv-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --cv-serif: Iowan Old Style, Baskerville, "Times New Roman", serif;
}

body.cv-page { background: var(--cv-paper); color: var(--cv-ink); font-family: var(--cv-sans); }
.cv-page .site-shell { max-width: 1560px; margin: 0 auto; background: var(--cv-paper); }
.cv-page .site-header { position: sticky; top: 0; z-index: 20; min-height: 76px; padding: 0 4.2vw; background: rgba(242,239,231,.95); border-bottom: 1px solid var(--cv-line); backdrop-filter: blur(12px); }
.cv-page .brand { color: var(--cv-ink); font-size: 1.05rem; font-weight: 760; letter-spacing: .08em; }
.cv-page .site-nav { gap: clamp(.75rem, 1.45vw, 1.7rem); }
.cv-page .site-nav a { color: var(--cv-ink); font-size: .74rem; font-weight: 650; letter-spacing: .055em; text-transform: uppercase; }
.cv-page .site-nav a[aria-current="page"] { color: var(--cv-green); }
.cv-page .language-link { border-left: 1px solid var(--cv-line); padding-left: 1.2rem; }

.cv-hero { min-height: min(70vh, 720px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr); gap: 8vw; align-items: center; padding: clamp(5rem, 10vw, 9rem) 7vw; border-bottom: 1px solid var(--cv-line); overflow: hidden; }
.cv-hero > div:first-child { max-width: 940px; }
.cv-eyebrow, .cv-section-head > span { display: block; margin-bottom: 1.25rem; color: var(--cv-green); font-size: .72rem; font-weight: 760; letter-spacing: .19em; text-transform: uppercase; }
.cv-hero h1 { margin: 0; max-width: 1050px; color: var(--cv-ink); font-family: var(--cv-serif); font-size: clamp(3.8rem, 7.2vw, 8.2rem); font-weight: 500; letter-spacing: -.055em; line-height: .9; }
.cv-hero p { max-width: 760px; margin: 2.4rem 0 0; font-size: clamp(1.05rem, 1.55vw, 1.42rem); line-height: 1.55; }
.cv-hero p strong { display: inline-block; margin-top: 1.5rem; color: var(--cv-green); font-size: .72em; letter-spacing: .08em; text-transform: uppercase; }
.cv-hero-mark { position: relative; width: min(30vw, 390px); aspect-ratio: 1; justify-self: end; }
.cv-hero-mark span { position: absolute; inset: 8%; border: 1px solid var(--cv-green); border-radius: 50%; }
.cv-hero-mark span:nth-child(2) { inset: 25% -10% 25% 25%; border-color: var(--cv-moss); }
.cv-hero-mark span:nth-child(3) { inset: 42% 30% 0 -4%; background: var(--cv-green); border: 0; opacity: .9; }

.cv-section { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr); gap: 7vw; padding: clamp(4.5rem, 8vw, 8.5rem) 7vw; border-bottom: 1px solid var(--cv-line); }
.cv-section-head h2 { max-width: 590px; margin: 0; font-family: var(--cv-serif); font-size: clamp(2.15rem, 4vw, 4.65rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; }
.cv-section-body { max-width: 860px; }
.cv-section-body p { max-width: 760px; margin: 0 0 1.4rem; font-size: 1.06rem; line-height: 1.72; }
.cv-section-body .lead { font-family: var(--cv-serif); font-size: clamp(1.5rem, 2.4vw, 2.35rem); line-height: 1.25; letter-spacing: -.015em; }
.cv-grid { display: grid; gap: 1px; background: var(--cv-line); border: 1px solid var(--cv-line); }
.cv-grid--3 { grid-template-columns: repeat(3, 1fr); }
.cv-grid--2 { grid-template-columns: repeat(2, 1fr); }
.cv-card { min-height: 250px; padding: 2rem; background: var(--cv-paper); }
.cv-card > span { color: var(--cv-green); font-family: var(--cv-serif); font-size: 1.25rem; font-style: italic; }
.cv-card h3 { margin: 3.7rem 0 .9rem; font-family: var(--cv-serif); font-size: 1.75rem; font-weight: 500; line-height: 1.05; }
.cv-card p { margin: 0; font-size: .94rem; line-height: 1.55; }
.cv-feature { display: grid; grid-template-columns: 1.5fr .65fr; gap: 5vw; }
.cv-note { padding-top: 1rem; border-top: 1px solid var(--cv-line); color: #4d554f; font-size: .9rem !important; }
.cv-facts { margin: 0; border-top: 3px solid var(--cv-green); }
.cv-facts div { padding: 1.2rem 0; border-bottom: 1px solid var(--cv-line); }
.cv-facts dt { margin-bottom: .3rem; font-family: var(--cv-serif); font-size: 1.4rem; }
.cv-facts dd { margin: 0; color: #59615b; font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; }
.cv-facts-row { display: flex; flex-wrap: wrap; gap: .75rem; margin: 2rem 0; }
.cv-facts-row span, .cv-tags span { padding: .65rem .9rem; border: 1px solid var(--cv-line); font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
.cv-tags { display: flex; flex-wrap: wrap; gap: .75rem; }
.cv-list { margin: 2rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--cv-line); }
.cv-list li { padding: 1rem 0; border-bottom: 1px solid var(--cv-line); font-size: 1rem; }
.cv-list li::before { content: "→"; margin-right: .85rem; color: var(--cv-green); }
.cv-mail { color: var(--cv-ink); font-family: var(--cv-serif); font-size: clamp(2rem, 4vw, 4rem); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.cv-meta-line { margin-top: 3rem !important; padding-top: 1rem; border-top: 1px solid var(--cv-line); color: #626a64; font-size: .75rem !important; letter-spacing: .055em; line-height: 1.7 !important; text-transform: uppercase; }
.cv-meta-line strong { color: var(--cv-ink); }
.cv-page .text-link { display: inline-block; margin-top: 1.1rem; color: var(--cv-green); font-weight: 700; letter-spacing: .02em; }
.cv-greenstage .cv-hero { background: var(--cv-sky); }
.cv-greenstage .cv-hero-mark span:nth-child(3) { background: var(--cv-orange); }
.cv-page .site-footer { padding: 4rem 7vw; background: var(--cv-ink); color: var(--cv-paper); }
.cv-page .site-footer a { color: var(--cv-paper); }

@media (max-width: 900px) {
  .cv-page .site-header { min-height: 68px; padding: 0 1.25rem; }
  .cv-hero { min-height: auto; grid-template-columns: 1fr; gap: 2.5rem; padding: 5rem 1.4rem 4rem; }
  .cv-hero h1 { font-size: clamp(3.35rem, 14vw, 5.5rem); }
  .cv-hero-mark { width: 210px; justify-self: start; }
  .cv-section { grid-template-columns: 1fr; gap: 2.4rem; padding: 4rem 1.4rem; }
  .cv-grid--3, .cv-grid--2, .cv-feature { grid-template-columns: 1fr; }
  .cv-card { min-height: 220px; }
  .cv-page .site-footer { padding: 3rem 1.4rem; }
}

@media (prefers-reduced-motion: no-preference) {
  .cv-hero-mark { animation: cv-drift 14s ease-in-out infinite alternate; }
  @keyframes cv-drift { to { transform: rotate(7deg) translateY(-8px); } }
}

/* CVANO light identity system · shared foundation */
.cv-page,
.cv-page .site-shell,
.cv-page .site-header {
  background: var(--cv-paper);
  color: var(--cv-ink);
}

.cv-page .site-header {
  border-bottom-color: var(--cv-line);
}

.cv-page .site-nav a[aria-current="page"],
.cv-page .site-nav a:hover,
.cv-page .site-nav a:focus-visible,
.cv-page .text-link {
  color: var(--cv-blue);
}

.cv-page .cv-eyebrow,
.cv-page .cv-section-head > span {
  color: var(--cv-blue);
}

.cv-page .cv-hero-mark span {
  border-color: var(--cv-blue);
}

.cv-page .cv-hero-mark span:nth-child(2) {
  border-color: var(--cv-lime);
}

.cv-page .cv-hero-mark span:nth-child(3) {
  background: var(--cv-orange);
}

.cv-page .site-footer {
  background: var(--cv-ink);
  color: var(--cv-paper);
}

/* Homepage: light, energetic and predominantly neutral. */
.cv-home .cv-hero {
  position: relative;
  isolation: isolate;
  min-height: min(76vh, 800px);
  background: var(--cv-paper);
  overflow: hidden;
}

.cv-home .cv-hero::before,
.cv-home .cv-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.cv-home .cv-hero::before {
  top: 14%;
  right: 4vw;
  width: min(27vw, 390px);
  aspect-ratio: 1;
  background: var(--cv-sky);
}

.cv-home .cv-hero::after {
  right: 17vw;
  bottom: 8%;
  width: min(10vw, 145px);
  aspect-ratio: 1;
  background: var(--cv-lime);
  border-radius: 50%;
}

.cv-home .cv-hero h1 {
  color: var(--cv-blue);
  max-width: 1080px;
  font-size: clamp(4.15rem, 7.6vw, 8.6rem);
}

.cv-home .cv-hero p:first-of-type {
  margin-top: 2.25rem;
}

.cv-home .cv-hero p + p {
  margin-top: 1.1rem;
}

.cv-home .cv-hero p strong {
  margin-top: 0;
  color: var(--cv-ink);
  text-decoration: underline;
  text-decoration-color: var(--cv-orange);
  text-decoration-thickness: .2em;
  text-underline-offset: .22em;
}

.cv-home .cv-hero-mark {
  z-index: 1;
  width: min(30vw, 410px);
}

.cv-home .cv-hero-mark > span:nth-child(3) {
  background: var(--cv-orange);
  opacity: .96;
}

/* One offer, four connected fields. */
.cv-home main > .cv-section:nth-of-type(2) {
  grid-template-columns: minmax(220px, .52fr) minmax(0, 1.48fr);
  background: var(--cv-paper);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-grid {
  gap: 1px;
  background: var(--cv-line);
  border: 1px solid var(--cv-line);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card {
  min-height: 300px;
  padding: clamp(1.7rem, 2.8vw, 2.8rem);
  border-top: 5px solid var(--cv-blue);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(1) {
  background: #fff;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(2) {
  background: var(--cv-sky);
  border-top-color: var(--cv-blue);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(3) {
  background: #f5f8e8;
  border-top-color: #8da42b;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(4) {
  background: #fff2ea;
  border-top-color: var(--cv-orange);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card > span {
  color: var(--cv-blue);
  font-size: clamp(2rem, 3.3vw, 3.6rem);
  line-height: 1;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(3) > span {
  color: #64751c;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(4) > span {
  color: #bd4515;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card h3 {
  margin-top: clamp(2.5rem, 5vw, 5rem);
  color: var(--cv-ink);
  font-size: clamp(1.55rem, 2.25vw, 2.35rem);
}

/* The method returns to white space and one connecting blue line. */
.cv-home main > .cv-section:nth-of-type(3) {
  background: #fff;
}

.cv-home main > .cv-section:nth-of-type(3) .cv-list {
  margin-top: 0;
  border-top: 3px solid var(--cv-blue);
}

.cv-home main > .cv-section:nth-of-type(3) .cv-list li {
  padding: 1.45rem 0;
  border-bottom-color: var(--cv-line);
  font-family: var(--cv-serif);
  font-size: clamp(1.15rem, 1.8vw, 1.6rem);
  line-height: 1.42;
}

.cv-home main > .cv-section:nth-of-type(3) .cv-list li::before {
  color: var(--cv-blue);
}

.cv-home main > .cv-section:nth-of-type(3) .cv-list strong {
  color: var(--cv-blue);
  font-family: var(--cv-sans);
  font-size: .72em;
  letter-spacing: .075em;
  text-transform: uppercase;
}

/* GREENSTAGE remains in a neutral, lightly coloured field. */
.cv-home main > .cv-section:nth-of-type(4) {
  background: var(--cv-sky);
}

.cv-home main > .cv-section:nth-of-type(4) .cv-section-head > span,
.cv-home main > .cv-section:nth-of-type(4) .text-link {
  color: var(--cv-ink);
}

.cv-home main > .cv-section:nth-of-type(4) .cv-facts {
  border-top-color: var(--cv-blue);
}

/* About closes quietly with one warm detail. */
.cv-home main > .cv-section:nth-of-type(5) {
  position: relative;
  background: var(--cv-paper);
}

.cv-home main > .cv-section:nth-of-type(5)::after {
  content: "";
  position: absolute;
  right: 7vw;
  bottom: 3.5rem;
  width: 48px;
  height: 7px;
  background: var(--cv-orange);
}

@media (max-width: 900px) {
  .cv-home .cv-hero {
    min-height: auto;
  }

  .cv-home .cv-hero::before {
    top: auto;
    right: -7vw;
    bottom: 4rem;
    width: 48vw;
  }

  .cv-home .cv-hero::after {
    right: 28vw;
    bottom: 2.5rem;
    width: 18vw;
  }

  .cv-home .cv-hero h1 {
    font-size: clamp(3.45rem, 15vw, 5.8rem);
  }

  .cv-home main > .cv-section:nth-of-type(2) {
    grid-template-columns: 1fr;
  }

  .cv-home main > .cv-section:nth-of-type(2) .cv-card {
    min-height: 235px;
  }
}

/* Homepage constellation: independent systems moving into relation. */
.cv-home .cv-hero > div:first-child {
  position: relative;
  z-index: 3;
  max-width: 790px;
}

.cv-home .cv-hero::before,
.cv-home .cv-hero::after {
  content: none;
}

.cv-home .cv-hero-mark {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: auto;
  aspect-ratio: auto;
  animation: none;
  pointer-events: none;
}

.cv-home .cv-hero-mark > span {
  inset: auto;
  display: block;
  width: var(--node-size);
  aspect-ratio: 1;
  border: var(--node-border, 0) solid var(--node-colour, var(--cv-blue));
  border-radius: 50%;
  background: var(--node-fill, transparent);
  opacity: var(--node-opacity, 1);
  transform: translate3d(0, 0, 0);
  will-change: transform, translate, scale, opacity;
}

.cv-home .cv-hero-mark > span:nth-child(1) {
  --node-size: clamp(250px, 31vw, 470px);
  --node-border: 2px;
  --node-colour: var(--cv-blue);
  top: 8%;
  left: 65%;
}

.cv-home .cv-hero-mark > span:nth-child(2) {
  --node-size: clamp(112px, 14vw, 205px);
  --node-fill: var(--cv-orange);
  top: 53%;
  left: 72%;
}

.cv-home .cv-hero-mark > span:nth-child(3) {
  --node-size: clamp(62px, 7.5vw, 108px);
  --node-fill: var(--cv-lime);
  top: 28%;
  left: 57%;
}

.cv-home .cv-hero-mark > span:nth-child(4) {
  --node-size: clamp(170px, 21vw, 315px);
  --node-fill: var(--cv-sky);
  --node-opacity: .92;
  top: 15%;
  left: 87%;
}

.cv-home .cv-hero-mark > span:nth-child(5) {
  --node-size: clamp(82px, 9vw, 136px);
  --node-border: 1px;
  --node-colour: var(--cv-ink);
  --node-opacity: .62;
  top: 70%;
  left: 88%;
}

.cv-home .cv-hero-mark > span:nth-child(6) {
  --node-size: clamp(46px, 5vw, 72px);
  --node-border: 2px;
  --node-colour: var(--cv-orange);
  top: 63%;
  left: 49%;
}

.cv-home .cv-hero-mark > span:nth-child(7) {
  --node-size: clamp(18px, 2vw, 29px);
  --node-fill: var(--cv-blue);
  top: 82%;
  left: 63%;
}

.cv-home .cv-hero-mark::before,
.cv-home .cv-hero-mark::after {
  content: "";
  position: absolute;
  z-index: -1;
  height: 1px;
  background: var(--cv-blue);
  opacity: calc(var(--relationship-progress, 0) * .28);
  transform: scaleX(calc(.25 + var(--relationship-progress, 0) * .75));
  transform-origin: left center;
  transition: opacity .2s linear;
}

.cv-home .cv-hero-mark::before {
  top: 43%;
  left: 60%;
  width: 23%;
  rotate: 20deg;
}

.cv-home .cv-hero-mark::after {
  top: 69%;
  left: 62%;
  width: 17%;
  background: var(--cv-orange);
  rotate: -14deg;
}

@media (prefers-reduced-motion: no-preference) {
  .cv-home .cv-hero-mark > span:nth-child(1) { animation: cv-node-a 18s ease-in-out -3s infinite alternate; }
  .cv-home .cv-hero-mark > span:nth-child(2) { animation: cv-node-b 12s ease-in-out -5s infinite alternate; }
  .cv-home .cv-hero-mark > span:nth-child(3) { animation: cv-node-c 9s ease-in-out -1s infinite alternate; }
  .cv-home .cv-hero-mark > span:nth-child(4) { animation: cv-node-d 20s ease-in-out -7s infinite alternate; }
  .cv-home .cv-hero-mark > span:nth-child(5) { animation: cv-node-e 15s ease-in-out -4s infinite alternate; }
  .cv-home .cv-hero-mark > span:nth-child(6) { animation: cv-node-f 11s ease-in-out -2s infinite alternate; }
  .cv-home .cv-hero-mark > span:nth-child(7) { animation: cv-node-g 8s ease-in-out -6s infinite alternate; }

  @keyframes cv-node-a { to { translate: 18px 6px; scale: 1.025; } }
  @keyframes cv-node-b { to { translate: -13px -17px; scale: .96; } }
  @keyframes cv-node-c { to { translate: 5px 15px; scale: 1.08; } }
  @keyframes cv-node-d { to { translate: -16px 9px; scale: 1.045; opacity: .78; } }
  @keyframes cv-node-e { to { translate: -11px -9px; scale: 1.04; } }
  @keyframes cv-node-f { to { translate: 13px -12px; scale: .94; } }
  @keyframes cv-node-g { to { translate: -7px -14px; scale: 1.13; } }
}

/* More energy in the offer without turning the fields into products. */
.cv-home main > .cv-section:nth-of-type(2) .cv-grid {
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(1rem, 2.2vw, 2.2rem);
  background: transparent;
  border: 0;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card {
  position: relative;
  min-height: 290px;
  border-right: 0;
  border-bottom: 0;
  overflow: hidden;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(2),
.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(4) {
  translate: 0 clamp(12px, 2vw, 26px);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -18px;
  width: 58px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--cv-blue);
  opacity: .95;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(2)::after {
  background: var(--cv-lime);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(3)::after {
  background: var(--cv-orange);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(4)::after {
  background: var(--cv-blue);
}

/* A quiet node progression: separate → closer → connected. */
.cv-home main > .cv-section:nth-of-type(3) .cv-list li {
  position: relative;
  padding-right: 5.5rem;
}

.cv-home main > .cv-section:nth-of-type(3) .cv-list li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: 22px;
  aspect-ratio: 1;
  border: 2px solid var(--cv-blue);
  border-radius: 50%;
  translate: 0 -50%;
}

.cv-home main > .cv-section:nth-of-type(3) .cv-list li:nth-child(2)::after {
  width: 30px;
  background: var(--cv-lime);
  border-color: var(--cv-lime);
}

.cv-home main > .cv-section:nth-of-type(3) .cv-list li:nth-child(3)::after {
  width: 38px;
  background: var(--cv-orange);
  border-color: var(--cv-orange);
  box-shadow: -17px 0 0 -8px var(--cv-blue);
}

@media (max-width: 900px) {
  .cv-home .cv-hero {
    padding-bottom: clamp(15rem, 58vw, 22rem);
  }

  .cv-home .cv-hero-mark > span:nth-child(1) {
    --node-size: min(64vw, 300px);
    top: auto;
    right: -14vw;
    bottom: 2.5rem;
    left: auto;
  }

  .cv-home .cv-hero-mark > span:nth-child(2) {
    --node-size: min(28vw, 130px);
    top: auto;
    right: 27vw;
    bottom: 4rem;
    left: auto;
  }

  .cv-home .cv-hero-mark > span:nth-child(3) {
    --node-size: min(16vw, 76px);
    top: auto;
    right: 54vw;
    bottom: 10rem;
    left: auto;
  }

  .cv-home .cv-hero-mark > span:nth-child(4) {
    --node-size: min(36vw, 170px);
    top: auto;
    right: -5vw;
    bottom: 11rem;
    left: auto;
  }

  .cv-home .cv-hero-mark > span:nth-child(5) {
    --node-size: min(19vw, 88px);
    top: auto;
    right: 57vw;
    bottom: 2.5rem;
    left: auto;
  }

  .cv-home .cv-hero-mark > span:nth-child(6),
  .cv-home .cv-hero-mark > span:nth-child(7),
  .cv-home .cv-hero-mark::before,
  .cv-home .cv-hero-mark::after {
    display: none;
  }

  .cv-home main > .cv-section:nth-of-type(2) .cv-grid {
    grid-template-columns: 1fr;
  }

  .cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(2),
  .cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(4) {
    translate: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cv-home .cv-hero-mark,
  .cv-home .cv-hero-mark > span {
    animation: none !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
  }

  .cv-home .cv-hero-mark::before,
  .cv-home .cv-hero-mark::after {
    opacity: .12;
    transform: scaleX(.75);
  }
}

/* Final constellation layer. Kept at the end so the outer positioning nodes
   never inherit the older circle paint or autonomous keyframes. */
.cv-home .cv-hero-mark > .constellation-node {
  display: block;
  border: 0;
  background: transparent;
  opacity: 1;
  animation: none;
  pointer-events: auto;
  will-change: transform;
}

.cv-home .cv-hero-mark > .constellation-node .constellation-reactor,
.cv-home .cv-hero-mark > .constellation-node .constellation-shape {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.cv-home .cv-hero-mark > .constellation-node .constellation-reactor {
  transition: transform .65s cubic-bezier(.2,.75,.2,1);
}

.cv-home .cv-hero-mark > .constellation-node .constellation-shape {
  border: var(--node-border, 0) solid var(--node-colour, var(--cv-blue));
  background: var(--node-fill, transparent);
  opacity: var(--node-opacity, 1);
  transform-origin: center;
  will-change: transform, opacity;
}

.cv-home .cv-hero-mark:hover > .constellation-node:nth-child(2) .constellation-reactor {
  transform: translate3d(-28px, -18px, 0);
}

.cv-home .cv-hero-mark:hover > .constellation-node:nth-child(3) .constellation-reactor {
  transform: translate3d(34px, 12px, 0) scale(1.08);
}

.cv-home .cv-hero-mark:hover > .constellation-node:nth-child(5) .constellation-reactor {
  transform: translate3d(-20px, -12px, 0);
}

@media (prefers-reduced-motion: no-preference) {
  .cv-home .cv-hero-mark > .constellation-node:nth-child(1) .constellation-shape {
    animation: cv-enter-1 1.8s cubic-bezier(.16,.8,.22,1) 0s both,
               cv-orbit-1 12s ease-in-out 1.8s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(2) .constellation-shape {
    animation: cv-enter-2 1.75s cubic-bezier(.16,.8,.22,1) .15s both,
               cv-orbit-2 7.5s ease-in-out 1.9s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(3) .constellation-shape {
    animation: cv-enter-3 1.65s cubic-bezier(.16,.8,.22,1) .3s both,
               cv-orbit-3 6.2s ease-in-out 1.95s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(4) .constellation-shape {
    animation: cv-enter-4 1.9s cubic-bezier(.16,.8,.22,1) .45s both,
               cv-orbit-4 13.5s ease-in-out 2.35s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(5) .constellation-shape {
    animation: cv-enter-5 1.55s cubic-bezier(.16,.8,.22,1) .6s both,
               cv-orbit-5 10s ease-in-out 2.15s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(6) .constellation-shape {
    animation: cv-enter-6 1.45s cubic-bezier(.16,.8,.22,1) .72s both,
               cv-orbit-6 7s ease-in-out 2.17s infinite alternate;
  }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(7) .constellation-shape {
    animation: cv-enter-7 1.35s cubic-bezier(.16,.8,.22,1) .84s both,
               cv-orbit-7 6s ease-in-out 2.19s infinite alternate;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cv-home .cv-hero-mark > .constellation-node,
  .cv-home .cv-hero-mark > .constellation-node .constellation-reactor,
  .cv-home .cv-hero-mark > .constellation-node .constellation-shape {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* Subpages: a quieter continuation of the homepage constellation. */
.cv-subpage-motion .cv-hero {
  position: relative;
  isolation: isolate;
}

.cv-subpage-motion .cv-hero > div:first-child {
  position: relative;
  z-index: 2;
}

.cv-subpage-motion .cv-hero-mark {
  z-index: 1;
  animation: none;
  transition: transform .8s cubic-bezier(.2,.75,.2,1);
}

.cv-subpage-motion .cv-hero-mark span {
  will-change: transform, opacity;
}

.cv-subpage-motion .cv-hero-mark:hover {
  transform: rotate(-4deg) scale(1.035);
}

.cv-subpage-motion .cv-hero-mark:hover span:nth-child(2) {
  border-color: var(--cv-orange);
}

.cv-subpage-motion .cv-section-head {
  position: relative;
  padding-top: 1.4rem;
}

.cv-subpage-motion .cv-section-head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 11px;
  aspect-ratio: 1;
  border: 2px solid var(--cv-blue);
  border-radius: 50%;
  background: var(--cv-paper);
  transition: transform .45s cubic-bezier(.2,.75,.2,1), background .3s ease;
}

.cv-subpage-motion .cv-section:hover .cv-section-head::before {
  transform: translateX(10px) scale(1.12);
  background: var(--cv-lime);
  border-color: var(--cv-lime);
}

.cv-subpage-motion .cv-card > span,
.cv-subpage-motion .work-field::before,
.cv-subpage-motion .about-project::before {
  transition: transform .4s cubic-bezier(.2,.75,.2,1);
}

.cv-subpage-motion .cv-card:hover > span,
.cv-subpage-motion .work-field:hover::before,
.cv-subpage-motion .about-project:hover::before {
  transform: translateX(9px) scale(1.05);
}

.js .cv-subpage-motion .reveal-target {
  transform: translate3d(0, 34px, 0);
  opacity: 0;
  transition:
    opacity .72s ease var(--reveal-delay, 0ms),
    transform .9s cubic-bezier(.16,.8,.22,1) var(--reveal-delay, 0ms);
}

.js .cv-subpage-motion .reveal-target.is-visible {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

@media (prefers-reduced-motion: no-preference) {
  .cv-subpage-motion .cv-hero-mark span:nth-child(1) {
    animation: cv-sub-enter-a 1.65s cubic-bezier(.16,.8,.22,1) 0s both,
               cv-sub-drift-a 11s ease-in-out 1.65s infinite alternate;
  }

  .cv-subpage-motion .cv-hero-mark span:nth-child(2) {
    animation: cv-sub-enter-b 1.6s cubic-bezier(.16,.8,.22,1) .18s both,
               cv-sub-drift-b 7.5s ease-in-out 1.78s infinite alternate;
  }

  .cv-subpage-motion .cv-hero-mark span:nth-child(3) {
    animation: cv-sub-enter-c 1.5s cubic-bezier(.16,.8,.22,1) .36s both,
               cv-sub-drift-c 6.2s ease-in-out 1.86s infinite alternate;
  }

  @keyframes cv-sub-enter-a {
    from { transform: translate3d(95px,-55px,0) scale(.68); opacity: .08; }
    to { transform: translate3d(0,0,0) scale(1); opacity: 1; }
  }

  @keyframes cv-sub-enter-b {
    from { transform: translate3d(-70px,80px,0) scale(.55); opacity: 0; }
    to { transform: translate3d(0,0,0) scale(1); opacity: 1; }
  }

  @keyframes cv-sub-enter-c {
    from { transform: translate3d(80px,95px,0) scale(.35); opacity: 0; }
    to { transform: translate3d(0,0,0) scale(1); opacity: .9; }
  }

  @keyframes cv-sub-drift-a {
    0% { transform: translate3d(-14px,8px,0) rotate(-2deg); }
    55% { transform: translate3d(12px,-18px,0) rotate(3deg); }
    100% { transform: translate3d(27px,13px,0) rotate(5deg); }
  }

  @keyframes cv-sub-drift-b {
    0% { transform: translate3d(-30px,18px,0) scale(.96); }
    50% { transform: translate3d(8px,-22px,0) scale(1.04); }
    100% { transform: translate3d(36px,7px,0) scale(.98); }
  }

  @keyframes cv-sub-drift-c {
    0% { transform: translate3d(-24px,-12px,0) scale(.92); }
    48% { transform: translate3d(16px,25px,0) scale(1.08); }
    100% { transform: translate3d(43px,-18px,0) scale(1); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .cv-subpage-motion .cv-hero-mark,
  .cv-subpage-motion .cv-hero-mark span,
  .cv-subpage-motion .reveal-target,
  .cv-subpage-motion .cv-section-head::before {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* CVANO identity refinement: editorial clarity + cultural colour + movement. */
:root {
  --cv-ink: #222428;
  --cv-paper: #fcfbf8;
  --cv-soft: #f4f4f3;
  --cv-blue: #304ffe;
  --cv-pink: #f53667;
  --cv-pink-ink: #c51c4f;
  --cv-yellow: #ffd84d;
  --cv-lavender: #e9e4ff;
  --cv-ice: #eaf5ff;
  /* Legacy aliases keep the existing component system coherent. */
  --cv-green: var(--cv-blue);
  --cv-orange: var(--cv-pink);
  --cv-lime: var(--cv-yellow);
  --cv-sky: var(--cv-lavender);
  --cv-moss: var(--cv-pink);
  --cv-line: rgba(34, 36, 40, .19);
}

.cv-page .site-header {
  background: rgba(252, 251, 248, .94);
}

.cv-page .site-nav a {
  position: relative;
}

.cv-page .site-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -.65rem;
  width: 5px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--cv-pink);
  opacity: 0;
  transform: translate3d(-9px,0,0) scale(.35);
  transition: opacity .18s ease, transform .28s cubic-bezier(.2,.8,.2,1);
}

.cv-page .site-nav a:hover::after,
.cv-page .site-nav a:focus-visible::after {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
}

.cv-page .site-nav a[aria-current="page"] {
  color: var(--cv-blue);
}

.cv-page .site-nav a::after {
  background: var(--cv-vermilion);
}

.cv-page .text-link {
  text-decoration-color: transparent;
  text-underline-offset: .28em;
  transition: color .18s ease, text-decoration-color .18s ease;
}

.cv-page .text-link:hover,
.cv-page .text-link:focus-visible {
  color: var(--cv-pink-ink);
  text-decoration-color: currentColor;
}

/* The hero constellation: one stable ultramarine anchor, chromatic encounters. */
.cv-home .cv-hero h1,
.cv-work-page .cv-hero h1,
.cv-about-work .cv-hero h1,
.cv-insights .cv-hero h1 {
  color: var(--cv-blue);
}

.cv-home .cv-hero-mark > span:nth-child(1) {
  --node-size: clamp(290px, 36vw, 550px);
  --node-border: 3px;
  --node-colour: var(--cv-blue);
  top: 3%;
  left: 64%;
}

.cv-home .cv-hero-mark > span:nth-child(2) {
  --node-size: clamp(118px, 15vw, 220px);
  --node-fill: var(--cv-pink);
  top: 54%;
  left: 73%;
}

.cv-home .cv-hero-mark > span:nth-child(3) {
  --node-size: clamp(52px, 6vw, 88px);
  --node-fill: var(--cv-yellow);
  top: 24%;
  left: 54%;
}

.cv-home .cv-hero-mark > span:nth-child(4) {
  --node-size: clamp(230px, 28vw, 420px);
  --node-fill: var(--cv-lavender);
  --node-opacity: .78;
  top: 8%;
  left: 89%;
}

.cv-home .cv-hero-mark > span:nth-child(5) {
  --node-size: clamp(90px, 10vw, 150px);
  --node-border: 5px;
  --node-colour: #9bcfff;
  --node-opacity: .88;
}

.cv-home .cv-hero-mark > span:nth-child(6) {
  --node-size: clamp(38px, 4vw, 60px);
  --node-border: 3px;
  --node-colour: var(--cv-pink);
  left: 47%;
}

.cv-home .cv-hero-mark > span:nth-child(7) {
  --node-size: clamp(14px, 1.5vw, 23px);
  --node-fill: var(--cv-blue);
}

.cv-home .cv-hero-mark::after {
  background: var(--cv-pink);
}

/* One coherent offer: colour signals, not four products. */
.cv-home main > .cv-section:nth-of-type(2) {
  position: relative;
  overflow: hidden;
}

.cv-home main > .cv-section:nth-of-type(2)::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -70px;
  bottom: -105px;
  width: 245px;
  aspect-ratio: 1;
  border: 26px solid var(--cv-lavender);
  border-radius: 50%;
  pointer-events: none;
}

.cv-home main > .cv-section:nth-of-type(2) > * {
  position: relative;
  z-index: 1;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-grid {
  grid-template-columns: 1.08fr .92fr;
  gap: 0;
  border: 0;
  background: transparent;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card,
.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(n) {
  min-height: 285px;
  padding: clamp(1.8rem, 3vw, 3rem);
  border: 0;
  border-top: 3px solid var(--cv-blue);
  background: transparent;
  translate: 0;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(2) {
  border-top-color: var(--cv-pink);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(3) {
  border-top-color: var(--cv-yellow);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(4) {
  border-top-color: var(--cv-blue);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card > span,
.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(n) > span {
  color: var(--cv-blue);
  font-size: clamp(3rem, 5vw, 5.8rem);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(2) > span { color: var(--cv-pink); }
.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(3) > span { color: #9a7400; }

.cv-home main > .cv-section:nth-of-type(2) .cv-card::after {
  right: 1rem;
  bottom: 1rem;
  width: 28px;
  background: transparent;
  border: 3px solid currentColor;
}

/* Work: an editorial field with strong rules and a moving spectrum line. */
.work-spectrum {
  position: relative;
  border-top-color: var(--cv-yellow);
  color: var(--cv-blue);
  overflow: hidden;
}

.work-spectrum::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 34%;
  height: 3px;
  background: var(--cv-pink);
  transform-origin: right center;
}

.work-field,
.work-field:nth-child(n) {
  background: transparent;
  border-top-color: var(--cv-blue);
}

.work-field:nth-child(2) { border-top-color: var(--cv-pink); }
.work-field:nth-child(3) { border-top-color: var(--cv-yellow); }
.work-field:nth-child(4) { border-top-color: var(--cv-blue); }

.work-field:nth-child(n) > span,
.work-field:nth-child(n) .work-keywords {
  color: var(--cv-blue);
}

.work-field:nth-child(2) > span,
.work-field:nth-child(2) .work-keywords { color: var(--cv-pink-ink); }
.work-field:nth-child(2) > span { color: var(--cv-pink); }
.work-field:nth-child(3) > span,
.work-field:nth-child(3) .work-keywords { color: #8c6900; }

.work-questions p::before { color: var(--cv-pink); }

/* About: project clusters read like an edited cultural publication. */
.cv-about-work .cv-work-chapter,
.cv-about-work .cv-work-chapter--sky {
  isolation: isolate;
  overflow: hidden;
  background: var(--cv-paper);
}

.cv-about-work .cv-work-chapter::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -80px;
  top: 12%;
  width: clamp(150px, 22vw, 330px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--cv-lavender);
  opacity: .72;
  pointer-events: none;
}

.cv-about-work .cv-work-chapter:nth-of-type(3n)::before {
  right: auto;
  left: -130px;
  top: 48%;
  width: clamp(210px, 29vw, 440px);
  background: var(--cv-ice);
}

.cv-about-work .cv-work-chapter:nth-of-type(4n)::before {
  top: auto;
  bottom: -150px;
  width: clamp(180px, 25vw, 380px);
  background: var(--cv-yellow);
  opacity: .28;
}

.cv-about-work .cv-work-chapter:nth-of-type(odd) .cv-section-head::after {
  background: var(--cv-yellow);
}

.cv-about-work .cv-work-chapter:nth-of-type(4n) .cv-section-head::after {
  background: var(--cv-pink);
}

.cv-about-work .cv-work-closing .cv-section-head > span {
  color: var(--cv-pink-ink);
}

.about-project,
.about-project:nth-child(n) {
  border-top-color: var(--cv-blue);
  background: transparent;
}

.about-project:nth-child(2n) { border-top-color: var(--cv-pink); }
.about-project:nth-child(3n) { border-top-color: var(--cv-yellow); }
.about-project--orange,
.about-project--lime { background: rgba(255,255,255,.74); }

/* Approach stays methodical; a single line grows through the sequence. */
.cv-approach main {
  position: relative;
}

.cv-approach .cv-section {
  position: relative;
}

.cv-approach .cv-section::after {
  content: "";
  position: absolute;
  left: 7vw;
  bottom: -1px;
  width: clamp(55px, 10vw, 145px);
  height: 3px;
  background: var(--cv-blue);
  transform-origin: left center;
  transition: width .5s cubic-bezier(.2,.8,.2,1);
}

.cv-approach .cv-section:hover::after {
  width: clamp(110px, 20vw, 290px);
}

.cv-approach .cv-section:nth-of-type(3)::after { background: var(--cv-pink); }
.cv-approach .cv-section:nth-of-type(4)::after { background: var(--cv-yellow); }

/* Field Notes can carry the most typographic tension. */
.cv-insights .cv-grid {
  gap: clamp(1rem, 2.2vw, 2rem);
  border: 0;
  background: transparent;
}

.cv-insights .cv-card {
  position: relative;
  min-height: 300px;
  padding: clamp(1.5rem, 2.8vw, 2.8rem) 0;
  border-top: 4px solid var(--cv-blue);
  background: transparent;
  overflow: hidden;
}

.cv-insights .cv-card:nth-child(2n) { border-top-color: var(--cv-pink); }
.cv-insights .cv-card:nth-child(3n) { border-top-color: var(--cv-yellow); }

.cv-insights .cv-card > span {
  display: block;
  color: var(--cv-blue);
  font-size: clamp(3.2rem, 6vw, 7rem);
  line-height: .85;
}

.cv-insights .cv-card:nth-child(2n) > span { color: var(--cv-pink); }
.cv-insights .cv-card:nth-child(3n) > span { color: #8c6900; }

.cv-insights .cv-card h3 {
  margin-top: clamp(3.5rem, 7vw, 7rem);
}

.cv-insights .cv-card::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: 16px;
  width: 76px;
  aspect-ratio: 1;
  border: 5px solid var(--cv-lavender);
  border-radius: 50%;
  transition: transform .45s cubic-bezier(.2,.8,.2,1);
}

.cv-insights .cv-card:hover::after {
  transform: translate3d(-12px,-8px,0) scale(1.12);
}

/* A controlled interruption at the method boundary. */
.cv-home main > .cv-section:nth-of-type(3) {
  position: relative;
  overflow: visible;
}

.cv-home main > .cv-section:nth-of-type(3)::after {
  content: "";
  position: absolute;
  top: -14px;
  right: 11vw;
  width: 28px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--cv-yellow);
  pointer-events: none;
}

/* GREENSTAGE receives neutral space and keeps its own project voice. */
.cv-greenstage .cv-hero,
.cv-greenstage .cv-section {
  background: #fff;
}

.cv-greenstage .cv-hero h1 {
  color: var(--cv-ink);
}

.cv-greenstage .cv-hero-mark span:nth-child(1) { border-color: #52645a; }
.cv-greenstage .cv-hero-mark span:nth-child(2) { border-color: #9caf9e; }
.cv-greenstage .cv-hero-mark span:nth-child(3) { background: #dce6dd; }
.cv-greenstage .cv-section-head > span,
.cv-greenstage .text-link { color: #52645a; }

@media (prefers-reduced-motion: no-preference) {
  .work-spectrum::after {
    animation: cv-spectrum-line 4.8s cubic-bezier(.2,.8,.2,1) infinite alternate;
  }

  @keyframes cv-spectrum-line {
    from { transform: scaleX(.22); }
    to { transform: scaleX(1); }
  }
}

@media (max-width: 900px) {
  .cv-home .cv-hero-mark > span:nth-child(1) {
    --node-size: min(72vw, 340px);
    right: -18vw;
  }

  .cv-home main > .cv-section:nth-of-type(2) .cv-grid {
    grid-template-columns: 1fr;
  }

  .cv-home main > .cv-section:nth-of-type(2)::after {
    width: 170px;
  }

  .cv-about-work .cv-work-chapter::before {
    right: -120px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .work-spectrum::after,
  .cv-page .site-nav a::after,
  .cv-insights .cv-card::after,
  .cv-approach .cv-section::after {
    animation: none !important;
    transition: none !important;
  }
}

/* CVANO PALETTE — C+ (active default)
   Cultural Pop with a precise blue counterpoint. Composition and motion use
   semantic tokens so palette comparisons do not require component changes. */
:root {
  --cv-bg: #faf9f4;
  --cv-text: #202020;
  --cv-lime: #cdd900;
  --cv-lime-ink: #5b6200;
  --cv-blue: #5a2d91;
  --cv-violet: #5a2d91;
  --cv-precision: #2d55e7;
  --cv-vermilion: #f04a24;
  --cv-vermilion-ink: #b63118;
  --cv-surface-light: #f2f1ed;
  --cv-surface-violet: #f4eff5;
  --cv-surface-blue: #eef3ff;
  --cv-line: rgba(32, 32, 32, .2);

  /* Compatibility aliases for the established component system. */
  --cv-ink: var(--cv-text);
  --cv-paper: var(--cv-bg);
  --cv-soft: var(--cv-surface-light);
  --cv-green: var(--cv-blue);
  --cv-pink: var(--cv-violet);
  --cv-pink-ink: var(--cv-violet);
  --cv-yellow: var(--cv-lime);
  --cv-orange: var(--cv-vermilion);
  --cv-lavender: var(--cv-surface-violet);
  --cv-ice: var(--cv-surface-blue);
  --cv-sky: var(--cv-surface-violet);
  --cv-moss: var(--cv-violet);
}

/* PALETTE COMPARISON — colour only. Layout, type and motion stay shared. */
body.palette-ac {
  --cv-bg: #faf9f4;
  --cv-text: #202020;
  --cv-lime: #ceda18;
  --cv-lime-ink: #5c6400;
  --cv-blue: #2b52e5;
  --cv-violet: #5d3194;
  --cv-precision: #2b52e5;
  --cv-vermilion: #f04a28;
  --cv-vermilion-ink: #b73018;
  --cv-surface-light: #f1f0e9;
  --cv-surface-violet: #eee9f7;
  --cv-surface-blue: #eaf1fa;
}

body.palette-a {
  --cv-bg: #faf9f4;
  --cv-text: #202020;
  --cv-lime: #cdd900;
  --cv-lime-ink: #5b6200;
  --cv-blue: #2450e8;
  --cv-violet: #2450e8;
  --cv-precision: #2450e8;
  --cv-vermilion: #f04422;
  --cv-vermilion-ink: #b62f16;
  --cv-surface-light: #f2f2ed;
  --cv-surface-violet: #e8f0ff;
  --cv-surface-blue: #e8f0ff;
}

body.palette-c {
  --cv-bg: #faf9f4;
  --cv-text: #202020;
  --cv-lime: #cdd900;
  --cv-lime-ink: #5b6200;
  --cv-blue: #5a2d91;
  --cv-violet: #5a2d91;
  --cv-precision: #5a2d91;
  --cv-vermilion: #f04a24;
  --cv-vermilion-ink: #b63118;
  --cv-surface-light: #f2f1ed;
  --cv-surface-violet: #f4eaf2;
  --cv-surface-blue: #f4eaf2;
}

body.palette-cplus {
  --cv-bg: #faf9f4;
  --cv-text: #202020;
  --cv-lime: #cdd900;
  --cv-lime-ink: #5b6200;
  --cv-blue: #5a2d91;
  --cv-violet: #5a2d91;
  --cv-precision: #2d55e7;
  --cv-vermilion: #f04a24;
  --cv-vermilion-ink: #b63118;
  --cv-surface-light: #f2f1ed;
  --cv-surface-violet: #f4eff5;
  --cv-surface-blue: #eef3ff;
}

/* C+ colour roles: blue stays a counterpoint, never a second framework. */
body.palette-cplus .cv-home .cv-hero-mark::before {
  background: var(--cv-precision);
}

body.palette-cplus .cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(4)::after {
  border-color: var(--cv-precision);
}

body.palette-cplus .cv-approach .cv-section:nth-of-type(5)::after {
  background: var(--cv-precision);
}

body.palette-cplus .cv-insights .cv-card:nth-child(n) {
  border-top-color: var(--cv-violet);
}

body.palette-cplus .cv-insights .cv-card:nth-child(2),
body.palette-cplus .cv-insights .cv-card:nth-child(5) {
  border-top-color: var(--cv-precision);
}

body.palette-cplus .cv-insights .cv-card:nth-child(3),
body.palette-cplus .cv-insights .cv-card:nth-child(6) {
  border-top-color: var(--cv-lime);
}

body.palette-cplus .cv-insights .cv-card:nth-child(n) > span {
  color: var(--cv-violet);
}

body.palette-cplus .cv-insights .cv-card:nth-child(2) > span,
body.palette-cplus .cv-insights .cv-card:nth-child(5) > span {
  color: var(--cv-precision);
}

body.palette-cplus .cv-insights .cv-card:nth-child(3) > span,
body.palette-cplus .cv-insights .cv-card:nth-child(6) > span {
  color: var(--cv-lime-ink);
}

body.palette-cplus .cv-mail {
  text-decoration-color: var(--cv-precision);
}

/*
CVANO PALETTE — A / POP GRAPHIC (inactive)
:root {
  --cv-bg: #faf9f4; --cv-text: #202020; --cv-lime: #ceda18;
  --cv-blue: #2b52e5; --cv-violet: #2b52e5; --cv-vermilion: #f04a28;
  --cv-surface-light: #f1f0e9; --cv-surface-violet: #eaf1fa;
  --cv-surface-blue: #eaf1fa;
}

CVANO PALETTE — C / CULTURAL POP (inactive)
:root {
  --cv-bg: #faf9f4; --cv-text: #202020; --cv-lime: #ceda18;
  --cv-blue: #5d3194; --cv-violet: #5d3194; --cv-vermilion: #f04a28;
  --cv-surface-light: #f7eeee; --cv-surface-violet: #f7eeee;
  --cv-surface-blue: #f1f0e9;
}
*/

body.cv-page,
.cv-page .site-shell,
.cv-page .site-header {
  background-color: var(--cv-bg);
  color: var(--cv-text);
}

.cv-page .site-header {
  background-color: rgba(250, 249, 244, .94);
}

/* AC hero hierarchy: lime body, blue structure, violet depth, vermilion spark. */
.cv-home .cv-hero-mark > span:nth-child(1) {
  --node-size: clamp(210px, 25vw, 360px);
  --node-border: 3px;
  --node-colour: var(--cv-blue);
  --node-fill: transparent;
  top: 8%;
  left: 67%;
}

.cv-home .cv-hero-mark > span:nth-child(2) {
  --node-size: clamp(155px, 18vw, 245px);
  --node-border: 0;
  --node-fill: var(--cv-lime);
  top: 49%;
  left: 72%;
}

.cv-home .cv-hero-mark > span:nth-child(3) {
  --node-size: clamp(82px, 10vw, 132px);
  --node-border: 0;
  --node-fill: var(--cv-violet);
  top: 24%;
  left: 56%;
}

.cv-home .cv-hero-mark > span:nth-child(4) {
  --node-size: clamp(240px, 31vw, 450px);
  --node-border: 0;
  --node-fill: var(--cv-surface-light);
  --node-opacity: .9;
  top: 5%;
  left: 88%;
}

.cv-home .cv-hero-mark > span:nth-child(5) {
  --node-size: clamp(20px, 2.3vw, 34px);
  --node-border: 0;
  --node-fill: var(--cv-vermilion);
  --node-opacity: 1;
  top: 73%;
  left: 88%;
}

.cv-home .cv-hero-mark > span:nth-child(6) {
  --node-size: clamp(28px, 3.2vw, 48px);
  --node-border: 2px;
  --node-colour: var(--cv-precision, var(--cv-blue));
  --node-fill: transparent;
  top: 64%;
  left: 48%;
}

.cv-home .cv-hero-mark > span:nth-child(7) {
  --node-size: clamp(7px, .8vw, 12px);
  --node-border: 0;
  --node-fill: var(--cv-text);
  top: 83%;
  left: 64%;
}

.cv-home .cv-hero-mark::after {
  background: var(--cv-vermilion);
}

.cv-home .cv-hero-mark:hover > .constellation-node:nth-child(2) .constellation-reactor {
  transform: translate3d(-18px,-12px,0);
}

.cv-home .cv-hero-mark:hover > .constellation-node:nth-child(3) .constellation-reactor {
  transform: translate3d(30px,14px,0) scale(1.06);
}

.cv-home .cv-hero-mark:hover > .constellation-node:nth-child(5) .constellation-reactor {
  transform: translate3d(-38px,-24px,0) scale(1.15);
}

@media (prefers-reduced-motion: no-preference) {
  .cv-home .cv-hero-mark > .constellation-node:nth-child(1) .constellation-shape {
    animation: cv-enter-1 1.8s cubic-bezier(.16,.8,.22,1) 0s both,
               cv-orbit-1 14s cubic-bezier(.42,0,.35,1) 1.8s infinite alternate;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(2) .constellation-shape {
    animation: cv-enter-2 1.75s cubic-bezier(.16,.8,.22,1) .15s both,
               cv-orbit-2 10.5s cubic-bezier(.38,.02,.24,1) 1.9s infinite alternate;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(3) .constellation-shape {
    animation: cv-enter-3 1.65s cubic-bezier(.16,.8,.22,1) .3s both,
               cv-orbit-3 7.8s cubic-bezier(.32,.06,.2,1) 1.95s infinite alternate;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(5) .constellation-shape {
    animation: cv-enter-5 1.55s cubic-bezier(.16,.8,.22,1) .6s both,
               cv-ac-vermilion 5.8s cubic-bezier(.34,.02,.16,1) 2.15s infinite alternate;
  }

  @keyframes cv-ac-vermilion {
    0% { transform: translate3d(-34px,20px,0) scale(.9); }
    38% { transform: translate3d(10px,-31px,0) scale(1.12); }
    72% { transform: translate3d(44px,8px,0) scale(.98); }
    100% { transform: translate3d(-8px,48px,0) scale(1.08); }
  }
}

/* Homepage rhythm: lime and blue lead, violet supports, vermilion punctuates. */
.cv-home .cv-hero h1 {
  color: var(--cv-text);
}

.cv-home .cv-hero .cv-practice-note {
  max-width: 64ch;
  margin-top: 1.45rem;
  padding-top: 1rem;
  border-top: 1px solid var(--cv-line);
  color: rgba(32, 32, 32, .64);
  font-size: clamp(.84rem, 1vw, .98rem);
  line-height: 1.55;
}

.cv-home .cv-eyebrow,
.cv-home .cv-section-head > span,
.cv-page .site-nav a[aria-current="page"] {
  color: var(--cv-blue);
}

.cv-home main > .cv-section:nth-of-type(2)::after {
  border-color: var(--cv-blue);
  opacity: .14;
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(n) {
  border-top-color: var(--cv-blue);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(2),
.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(3) {
  border-top-color: var(--cv-lime);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(4) {
  border-top-color: var(--cv-blue);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(n) > span {
  color: var(--cv-blue);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(2) > span,
.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(3) > span {
  color: var(--cv-lime-ink);
}

.cv-home main > .cv-section:nth-of-type(2) .cv-card:nth-child(4)::after {
  border-color: var(--cv-vermilion);
}

.cv-home .cv-card-link {
  display: inline-block;
  margin-top: 1.35rem;
  color: var(--cv-blue);
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .045em;
  text-decoration: none;
  text-transform: uppercase;
}

.cv-home .cv-card-link:hover,
.cv-home .cv-card-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: .3em;
}

.cv-home .cv-hero .cv-hero-detail {
  margin-top: .85rem;
  font-size: clamp(.98rem, 1.25vw, 1.16rem);
  line-height: 1.62;
}

.cv-home main > .cv-section:nth-of-type(3)::after {
  background: var(--cv-lime);
}

.method-motion span:nth-child(1) {
  --method-colour: var(--cv-blue);
}

.method-motion span:nth-child(2) {
  --method-colour: var(--cv-lime);
  --method-fill: var(--cv-lime);
}

.method-motion span:nth-child(3) {
  --method-colour: var(--cv-violet);
  --method-fill: var(--cv-violet);
}

.cv-home main > .cv-section:nth-of-type(4) {
  background: #fff;
}

/* Stable homepage colour sequence: these roles must not depend on section count. */
.cv-home main > .cv-home-greenstage {
  background: var(--cv-surface-violet) !important;
}

.cv-home main > .cv-home-about {
  background: var(--cv-surface-light) !important;
}

.cv-home main > .cv-section:nth-of-type(5)::after {
  width: 74px;
  height: 10px;
  background: var(--cv-lime);
}

/* Work remains one offer, differentiated by typography and graphic signals. */
.work-spectrum {
  border-top-color: var(--cv-lime);
  color: var(--cv-blue);
}

.work-spectrum::after {
  background: var(--cv-vermilion);
}

.work-field:nth-child(n) {
  background: transparent;
  border-top-color: var(--cv-blue);
}

.work-field:nth-child(2),
.work-field:nth-child(3) {
  border-top-color: var(--cv-lime);
}

.work-field:nth-child(n) > span,
.work-field:nth-child(n) .work-keywords {
  color: var(--cv-blue);
}

.work-field:nth-child(2) > span,
.work-field:nth-child(2) .work-keywords,
.work-field:nth-child(3) > span,
.work-field:nth-child(3) .work-keywords {
  color: var(--cv-lime-ink);
}

.work-questions p::before {
  color: var(--cv-vermilion);
}

/* Work closing: compact editorial invitation rather than a second hero. */
.work-entry {
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: clamp(3rem, 6vw, 7rem);
  padding-top: clamp(4rem, 6vw, 6.5rem);
  padding-bottom: clamp(4rem, 6vw, 6.5rem);
  align-items: start;
}

.work-entry .cv-section-head h2 {
  max-width: 13ch;
  font-size: clamp(2.25rem, 3vw, 3.75rem);
  line-height: 1.04;
}

.work-entry .work-questions {
  margin-bottom: 2rem;
}

.work-entry .work-questions p {
  padding: 1.15rem 0;
  font-size: clamp(1.15rem, 1.55vw, 1.55rem);
}

@media (max-width: 760px) {
  .work-entry {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .work-entry .cv-section-head h2 {
    max-width: 16ch;
  }
}

/* About: colour fragments organise bodies of work without turning into bands. */
.cv-about-work .cv-work-chapter::before {
  background: var(--cv-surface-violet);
}

.cv-about-work .cv-work-chapter:nth-of-type(3n)::before {
  background: var(--cv-surface-blue);
}

.cv-about-work .cv-work-chapter:nth-of-type(4n)::before {
  background: var(--cv-lime);
  opacity: .22;
}

.cv-about-work .cv-work-chapter:nth-of-type(odd) .cv-section-head::after {
  background: var(--cv-lime);
}

.cv-about-work .cv-work-chapter:nth-of-type(4n) .cv-section-head::after {
  background: var(--cv-vermilion);
}

.about-project:nth-child(n) { border-top-color: var(--cv-blue); }
.about-project:nth-child(2n) { border-top-color: var(--cv-violet); }
.about-project:nth-child(3n) { border-top-color: var(--cv-lime); }
.about-project-notes { color: var(--cv-blue); }
.cv-about-work .cv-work-closing .cv-section-head > span { color: var(--cv-vermilion-ink); }

/* Approach: method first, colour in measured intervals. */
.cv-approach .cv-section::after { background: var(--cv-blue); }
.cv-approach .cv-section:nth-of-type(3)::after { background: var(--cv-violet); }
.cv-approach .cv-section:nth-of-type(4)::after { background: var(--cv-lime); }
.cv-approach .cv-section:nth-of-type(5)::after { background: var(--cv-blue); }

/* Insights carries the broadest AC punctuation without coloured cards. */
.cv-insights .cv-card:nth-child(n) { border-top-color: var(--cv-blue); }
.cv-insights .cv-card:nth-child(2n) { border-top-color: var(--cv-violet); }
.cv-insights .cv-card:nth-child(3n) { border-top-color: var(--cv-lime); }
.cv-insights .cv-card:nth-child(4n) { border-top-color: var(--cv-vermilion); }
.cv-insights .cv-card:nth-child(n) > span { color: var(--cv-blue); }
.cv-insights .cv-card:nth-child(2n) > span { color: var(--cv-violet); }
.cv-insights .cv-card:nth-child(3n) > span { color: var(--cv-lime-ink); }
.cv-insights .cv-card:nth-child(4n) > span { color: var(--cv-vermilion-ink); }
.cv-insights .cv-card::after { border-color: var(--cv-surface-violet); }

/* Subpage constellations inherit AC while remaining quieter than the homepage. */
.cv-subpage-motion:not(.cv-greenstage) .cv-hero-mark span:nth-child(1) {
  border-color: var(--cv-blue);
}

.cv-subpage-motion:not(.cv-greenstage) .cv-hero-mark span:nth-child(2) {
  border-color: var(--cv-violet);
}

.cv-subpage-motion:not(.cv-greenstage) .cv-hero-mark span:nth-child(3) {
  background: var(--cv-lime);
}

.cv-subpage-motion:not(.cv-greenstage) .cv-hero-mark:hover span:nth-child(2) {
  border-color: var(--cv-vermilion);
}

/* GREENSTAGE remains intentionally outside the AC colour hierarchy. */
.cv-greenstage .cv-hero,
.cv-greenstage .cv-section {
  background: #fff;
}

.cv-greenstage .cv-hero-mark span:nth-child(1) { border-color: #52645a; }
.cv-greenstage .cv-hero-mark span:nth-child(2) { border-color: #9caf9e; }
.cv-greenstage .cv-hero-mark span:nth-child(3) { background: #dce6dd; }

@media (max-width: 900px) {
  .cv-home .cv-hero-mark > span:nth-child(1) {
    --node-size: min(61vw, 285px);
    right: -12vw;
  }

  .cv-home .cv-hero-mark > span:nth-child(2) {
    --node-size: min(30vw, 138px);
  }

  .cv-home .cv-hero-mark > span:nth-child(3) {
    --node-size: min(18vw, 82px);
  }

  .cv-home .cv-hero-mark > span:nth-child(4) {
    --node-size: min(38vw, 175px);
  }

  .cv-home .cv-hero-mark > span:nth-child(5) {
    --node-size: 24px;
    right: 18vw;
    bottom: 3.5rem;
  }
}

/* Keep this override last: every homepage element now shares the same fluid
   motion language, instead of falling back to earlier mixed-speed rules. */
.cv-home .cv-hero-mark,
.cv-home .cv-hero-mark > .constellation-node,
.cv-home .cv-hero-mark .constellation-reactor,
.cv-home .cv-hero-mark .constellation-shape {
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.cv-home .cv-hero-mark > .constellation-node .constellation-reactor {
  transition-duration: 1.15s;
  transition-timing-function: cubic-bezier(.22,.72,.22,1);
}

@media (prefers-reduced-motion: no-preference) {
  .cv-home .cv-hero-mark > .constellation-node .constellation-shape {
    animation-name: cv-fluid-orbit;
    animation-timing-function: cubic-bezier(.45,.05,.55,.95);
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-fill-mode: both;
  }

  .cv-home .cv-hero-mark > .constellation-node:nth-child(1) .constellation-shape { --fluid-x:25px; --fluid-y:-12px; --fluid-mid-x:-10px; --fluid-mid-y:13px; --fluid-scale:1.015; animation-duration:28s; animation-delay:-9s; }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(2) .constellation-shape { --fluid-x:-28px; --fluid-y:-19px; --fluid-mid-x:14px; --fluid-mid-y:18px; --fluid-scale:1.025; animation-duration:24s; animation-delay:-15s; }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(3) .constellation-shape { --fluid-x:32px; --fluid-y:-15px; --fluid-mid-x:-18px; --fluid-mid-y:16px; --fluid-scale:1.035; animation-duration:21s; animation-delay:-6s; }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(4) .constellation-shape { --fluid-x:-20px; --fluid-y:14px; --fluid-mid-x:12px; --fluid-mid-y:-10px; --fluid-scale:1.02; animation-duration:32s; animation-delay:-21s; }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(5) .constellation-shape { --fluid-x:-26px; --fluid-y:20px; --fluid-mid-x:20px; --fluid-mid-y:-22px; --fluid-scale:1.08; animation-duration:18s; animation-delay:-11s; }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(6) .constellation-shape { --fluid-x:27px; --fluid-y:15px; --fluid-mid-x:-17px; --fluid-mid-y:-19px; --fluid-scale:1.045; animation-duration:23s; animation-delay:-17s; }
  .cv-home .cv-hero-mark > .constellation-node:nth-child(7) .constellation-shape { --fluid-x:-31px; --fluid-y:-16px; --fluid-mid-x:19px; --fluid-mid-y:17px; --fluid-scale:1.08; animation-duration:20s; animation-delay:-3s; }
}

/* Subpage motion direction — a precise continuation of the CVANO identity.
   The three forms relate, separate and reconnect instead of merely drifting. */
.cv-subpage-motion .cv-hero-mark {
  --sub-scroll-y: 0px;
  --sub-scroll-rotate: 0deg;
  overflow: visible;
  transform: translate3d(0, var(--sub-scroll-y), 0) rotate(var(--sub-scroll-rotate));
  transition: transform 1.15s cubic-bezier(.22,.72,.22,1);
  backface-visibility: hidden;
}

.cv-subpage-motion .cv-hero-mark:hover {
  transform: translate3d(0, var(--sub-scroll-y), 0) rotate(calc(var(--sub-scroll-rotate) - 2deg)) scale(1.018);
}

.cv-subpage-motion .cv-hero-mark::before,
.cv-subpage-motion .cv-hero-mark::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.cv-subpage-motion .cv-hero-mark::before {
  width: 82%;
  height: 1px;
  top: 51%;
  left: 9%;
  background: linear-gradient(90deg, transparent, var(--cv-violet) 28%, var(--cv-violet) 72%, transparent);
  opacity: .34;
  transform-origin: center;
}

.cv-subpage-motion .cv-hero-mark::after {
  width: 10px;
  aspect-ratio: 1;
  top: 49%;
  left: 7%;
  border-radius: 50%;
  background: var(--cv-vermilion);
  box-shadow: 0 0 0 7px var(--cv-bg);
}

.cv-subpage-motion .cv-hero-mark span {
  backface-visibility: hidden;
  transform-origin: 50% 50%;
}

.cv-subpage-motion .cv-section {
  --section-motion: 0;
}

.cv-subpage-motion .cv-section-head::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 22px;
  width: clamp(54px, 8vw, 120px);
  height: 1px;
  background: linear-gradient(90deg, var(--cv-violet), transparent);
  transform: scaleX(.18);
  transform-origin: left;
  opacity: .32;
  transition: transform 1.1s cubic-bezier(.16,.8,.22,1), opacity .6s ease;
}

.cv-subpage-motion .cv-section-head.reveal-target.is-visible::after {
  transform: scaleX(1);
  opacity: .72;
}

.js .cv-subpage-motion .motion-from-left .reveal-target {
  --reveal-x: -18px;
}

.js .cv-subpage-motion .motion-from-right .reveal-target {
  --reveal-x: 18px;
}

.js .cv-subpage-motion .reveal-target {
  transform: translate3d(var(--reveal-x, 0), 26px, 0);
  transition:
    opacity .82s cubic-bezier(.22,.65,.26,1) var(--reveal-delay, 0ms),
    transform 1.05s cubic-bezier(.16,.8,.22,1) var(--reveal-delay, 0ms);
}

.js .cv-subpage-motion .reveal-target.is-visible {
  transform: translate3d(0, 0, 0);
}

/* Work: fields converge into a shared working space. */
.cv-work-page .cv-hero-mark::before {
  transform: rotate(-12deg);
}

/* About: a quieter, time-based diagonal movement. */
.cv-about-work .cv-hero-mark::before {
  transform: rotate(22deg);
  opacity: .24;
}

/* Insights remain deliberately provisional: the trace is interrupted. */
.cv-insights .cv-hero-mark::before {
  background: repeating-linear-gradient(90deg, var(--cv-violet) 0 15px, transparent 15px 26px);
  opacity: .26;
}

/* GREENSTAGE keeps its own visual identity and a circular, slower rhythm. */
.cv-greenstage .cv-hero-mark::before {
  background: #9caf9e;
  opacity: .4;
}

.cv-greenstage .cv-hero-mark::after {
  background: #52645a;
}

@media (prefers-reduced-motion: no-preference) {
  .cv-subpage-motion .cv-hero-mark span:nth-child(1) {
    animation: cv-subpage-flow-a 26s cubic-bezier(.45,.05,.55,.95) -11s infinite alternate;
  }

  .cv-subpage-motion .cv-hero-mark span:nth-child(2) {
    animation: cv-subpage-flow-b 22s cubic-bezier(.45,.05,.55,.95) -16s infinite alternate;
  }

  .cv-subpage-motion .cv-hero-mark span:nth-child(3) {
    animation: cv-subpage-flow-c 18s cubic-bezier(.45,.05,.55,.95) -7s infinite alternate;
  }

  .cv-subpage-motion .cv-hero-mark::before {
    animation: cv-subpage-axis 34s ease-in-out -13s infinite alternate;
  }

  .cv-subpage-motion .cv-hero-mark::after {
    animation: cv-subpage-signal 15s cubic-bezier(.42,0,.58,1) -4s infinite alternate;
  }

  @keyframes cv-subpage-flow-a {
    0% { transform: translate3d(-9px, 8px, 0) scale(.985); }
    50% { transform: translate3d(17px, -11px, 0) scale(1.012); }
    100% { transform: translate3d(27px, 14px, 0) scale(.995); }
  }

  @keyframes cv-subpage-flow-b {
    0% { transform: translate3d(-22px, 14px, 0) scale(.97); }
    50% { transform: translate3d(8px, -18px, 0) scale(1.035); }
    100% { transform: translate3d(31px, 5px, 0) scale(.99); }
  }

  @keyframes cv-subpage-flow-c {
    0% { transform: translate3d(-18px, -9px, 0) scale(.93); }
    50% { transform: translate3d(12px, 19px, 0) scale(1.07); }
    100% { transform: translate3d(35px, -13px, 0) scale(1); }
  }

  @keyframes cv-subpage-axis {
    from { scale: .88 1; opacity: .22; }
    to { scale: 1.08 1; opacity: .48; }
  }

  @keyframes cv-subpage-signal {
    from { transform: translate3d(0, -4px, 0); }
    to { transform: translate3d(245px, 4px, 0); }
  }
}

@media (max-width: 900px) and (prefers-reduced-motion: no-preference) {
  .cv-subpage-motion .cv-hero-mark::after {
    animation-name: cv-subpage-signal-mobile;
  }

  @keyframes cv-subpage-signal-mobile {
    from { transform: translate3d(0, -3px, 0); }
    to { transform: translate3d(145px, 3px, 0); }
  }
}

/* Selected work metadata belongs closely to the project title; the more
   generous global metadata spacing is intended for hero information. */
.selected-work .cv-meta-line {
  margin-top: 1.15rem !important;
  padding-top: .7rem;
}

/* Long German chapter titles need their own editorial measure so they remain
   inside the heading column instead of entering the body copy. */
.cv-about-work .cv-section-head--long {
  min-width: 0;
}

.cv-about-work .cv-section-head--long h2 {
  max-width: 100%;
  font-size: clamp(2rem, 3.25vw, 3.85rem);
  line-height: 1.04;
  hyphens: auto;
  overflow-wrap: break-word;
}

/* Insights are announced as work in progress. The cards remain legible, but
   visibly recede until the corresponding field note is published. */
.cv-insights .cv-card.is-coming-soon {
  background: color-mix(in srgb, var(--cv-bg) 72%, transparent);
  opacity: .44;
  filter: saturate(.72);
  transition: opacity .65s ease, filter .65s ease, transform .65s cubic-bezier(.16,.8,.22,1);
}

.js .cv-insights.cv-subpage-motion .cv-card.is-coming-soon.reveal-target.is-visible {
  opacity: .44;
}

.cv-insights .cv-card.is-coming-soon:hover {
  opacity: .62;
  filter: saturate(.9);
  transform: translateY(-2px);
}

.cv-insights .coming-soon-label {
  display: inline-block;
  margin-top: 1.35rem;
  padding-top: .55rem;
  border-top: 1px solid currentColor;
  font-size: .68rem;
  font-weight: 720;
  letter-spacing: .13em;
  text-transform: uppercase;
}

/* Final homepage responsive composition. Kept last so legacy hero rules cannot
   recreate the tall empty area between the introduction and fields of work. */
@media (max-width: 1050px) {
  .cv-home .cv-hero {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 9rem !important;
    gap: 0 !important;
    padding-bottom: 0 !important;
  }

  .cv-home .cv-hero > div:first-child {
    position: relative;
    z-index: 3;
  }

  .cv-home .cv-hero-mark {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 9rem !important;
    margin: 0 !important;
    justify-self: stretch;
    overflow: visible;
    opacity: .78;
    clip-path: none;
  }

  .cv-home .cv-hero-mark > span:nth-child(1) {
    --node-size: min(43vw, 205px);
    top: auto !important;
    right: -8vw !important;
    bottom: -4.25rem !important;
    left: auto !important;
  }

  .cv-home .cv-hero-mark > span:nth-child(2) {
    --node-size: min(20vw, 92px);
    top: auto !important;
    right: 24vw !important;
    bottom: .7rem !important;
    left: auto !important;
  }

  .cv-home .cv-hero-mark > span:nth-child(3) {
    --node-size: min(11vw, 50px);
    top: auto !important;
    right: 47vw !important;
    bottom: 4.7rem !important;
    left: auto !important;
  }

  .cv-home .cv-hero-mark > span:nth-child(4) {
    --node-size: min(25vw, 116px);
    top: auto !important;
    right: 1vw !important;
    bottom: 3.2rem !important;
    left: auto !important;
  }

  .cv-home .cv-hero-mark > span:nth-child(5) {
    --node-size: 24px;
    top: auto !important;
    right: 54vw !important;
    bottom: .8rem !important;
    left: auto !important;
  }
}

@media (max-width: 560px) {
  .cv-home .cv-hero {
    grid-template-rows: auto 8rem !important;
  }

  .cv-home .cv-hero-mark {
    height: 8rem !important;
    opacity: .7;
  }
}

/* Final navigation refinement: contextual return, playful contact invitation
   and an unmistakable language switch on desktop and mobile. */
.work-field {
  scroll-margin-top: 5.5rem;
}

.work-field-back {
  display: flex;
  align-items: center;
  gap: .65rem;
  width: fit-content;
  margin: 0 0 1.55rem;
  color: var(--cv-violet, #5b2c91);
  font-size: .72rem;
  font-weight: 720;
  letter-spacing: .055em;
  line-height: 1.3;
  text-decoration: none;
}

.work-field-back > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.9rem;
  height: 1.9rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .95rem;
  line-height: 1;
}

.work-field-back:hover > span,
.work-field-back:focus-visible > span {
  color: var(--cv-bg, #f8f7f2);
  background: var(--cv-violet, #5b2c91);
  transform: translateX(-3px);
}

.work-field-back:focus-visible {
  outline: 2px solid var(--cv-orange, #f04b2f);
  outline-offset: 5px;
}

#fields-of-work .cv-card[id] {
  position: relative;
  scroll-margin-top: 5.5rem;
  cursor: pointer;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), background-color .35s ease;
}

#fields-of-work .cv-card[id] .cv-card-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  overflow: hidden;
  color: transparent;
  font-size: 0;
  text-indent: -9999px;
}

#fields-of-work .cv-card[id]:hover,
#fields-of-work .cv-card[id]:focus-within {
  transform: translateY(-4px);
  background: color-mix(in srgb, var(--cv-lime, #cadb00) 8%, var(--cv-bg, #f8f7f2));
}

#fields-of-work .cv-card[id]:focus-within {
  outline: 2px solid var(--cv-violet, #5b2c91);
  outline-offset: 4px;
}

#fields-of-work .cv-card[id]::after {
  position: absolute;
  right: 1.25rem;
  bottom: 1.15rem;
  width: .68rem;
  height: .68rem;
  border-radius: 50%;
  background: var(--cv-lime, #cadb00);
  content: "";
  opacity: .55;
  transform: scale(.75);
  transition: opacity .3s ease, transform .3s ease;
}

#fields-of-work .cv-card[id]:hover::after,
#fields-of-work .cv-card[id]:focus-within::after {
  opacity: 1;
  transform: scale(1.2);
}

.cv-contact-prompt {
  min-height: 8.25rem;
  isolation: isolate;
}

.cv-contact-prompt::before {
  right: clamp(12.5rem, 28vw, 30rem);
  width: 3.85rem;
  height: 3.85rem;
  border: 1.5px solid var(--cv-violet, #5b2c91);
  background: transparent;
  opacity: .72;
}

.cv-contact-prompt::after {
  right: clamp(15.15rem, 32vw, 34.5rem);
  width: 1.05rem;
  height: 1.05rem;
  background: var(--cv-lime, #cadb00);
  box-shadow: 3.25rem -1.55rem 0 -.2rem var(--cv-orange, #f04b2f),
              5.2rem 1.6rem 0 -.3rem var(--cv-violet, #5b2c91);
  transition: right .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);
}

.cv-contact-prompt:hover::after,
.cv-contact-prompt:focus-within::after {
  right: clamp(13.9rem, 29.7vw, 31.7rem);
  transform: scale(1.18);
}

.cv-contact-prompt a::before {
  width: .82rem;
  height: .82rem;
  border: 0;
  background: var(--cv-lime, #cadb00);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--cv-lime, #cadb00) 22%, transparent);
}

.cv-page .site-nav .language-link {
  position: relative;
  display: inline-grid;
  place-items: center;
  min-width: 2.45rem;
  min-height: 2.45rem;
  padding: 0;
  border: 1.5px solid var(--cv-violet, #5b2c91);
  border-radius: 50%;
  color: var(--cv-violet, #5b2c91);
  background: color-mix(in srgb, var(--cv-lime, #cadb00) 18%, transparent);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1;
  box-shadow: none;
}

.cv-page .site-nav .language-link::after {
  position: absolute;
  right: -.2rem;
  bottom: .05rem;
  width: .52rem;
  height: .52rem;
  border: 2px solid var(--cv-bg, #f8f7f2);
  border-radius: 50%;
  background: var(--cv-orange, #f04b2f);
  content: "";
}

.cv-page .site-nav .language-link:hover,
.cv-page .site-nav .language-link:focus-visible {
  color: #fff;
  background: var(--cv-violet, #5b2c91);
  box-shadow: none;
  transform: rotate(-5deg) scale(1.05);
}

.mobile-language-link {
  display: none;
}

@media (prefers-reduced-motion: no-preference) {
  .work-field-back > span,
  .cv-page .site-nav .language-link {
    transition: color .25s ease, background-color .25s ease, transform .25s ease;
  }

  .cv-contact-prompt::after {
    animation: cv-contact-dot 4.8s ease-in-out infinite alternate;
  }

  @keyframes cv-contact-dot {
    from { translate: 0 -.28rem; }
    to { translate: .55rem .34rem; }
  }
}

@media (max-width: 700px) {
  .work-field-back {
    margin-bottom: 1.2rem;
    font-size: .67rem;
  }

  .cv-contact-prompt {
    min-height: 7.25rem;
  }

  .cv-contact-prompt::before {
    left: 1.4rem;
    width: 3.25rem;
    height: 3.25rem;
  }

  .cv-contact-prompt::after {
    right: auto;
    left: 2.35rem;
  }

  .cv-contact-prompt:hover::after,
  .cv-contact-prompt:focus-within::after {
    right: auto;
    left: 2.48rem;
  }

  .cv-page .site-nav .language-link {
    display: none;
  }
}

@media (max-width: 1050px) {
  .cv-page .site-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .55rem;
  }

  .cv-page .mobile-language-link {
    position: relative;
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1.5px solid var(--cv-violet, #5b2c91);
    border-radius: 50%;
    color: var(--cv-violet, #5b2c91);
    background: color-mix(in srgb, var(--cv-lime, #cadb00) 20%, var(--cv-bg, #f8f7f2));
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1;
    text-decoration: none;
  }

  .cv-page .mobile-language-link::after {
    position: absolute;
    right: -.12rem;
    bottom: .08rem;
    width: .55rem;
    height: .55rem;
    border: 2px solid var(--cv-bg, #f8f7f2);
    border-radius: 50%;
    background: var(--cv-orange, #f04b2f);
    content: "";
  }

  .cv-page .mobile-language-link:hover,
  .cv-page .mobile-language-link:focus-visible {
    color: #fff;
    background: var(--cv-violet, #5b2c91);
    transform: rotate(-5deg) scale(1.04);
  }

  .cv-page .site-nav .language-link {
    display: none;
  }
}
