@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=Newsreader:opsz,wght@6..72,300;6..72,400;6..72,500;6..72,600&display=swap');

:root {
  color-scheme: light;
  --paper: #f3eee3;
  --paper-deep: #e8ddcc;
  --ink: #201e1a;
  --muted: #716b61;
  --faint: #b9ae9c;
  --clay: #9f5540;
  --moss: #53665a;
  --serif: "Newsreader", Iowan Old Style, Baskerville, "Times New Roman", serif;
  --mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --measure: 42rem;
  --gutter: clamp(1.5rem, 6vw, 7rem);
}

* { box-sizing: border-box; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

html {
  background: var(--paper);
  color: var(--ink);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  font-family: var(--serif);
  font-size: clamp(1.16rem, 1rem + .32vw, 1.42rem);
  line-height: 1.62;
  text-rendering: optimizeLegibility;
}

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

a { color: inherit; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: .75rem;
  left: .75rem;
  padding: .65rem .85rem;
  transform: translateY(-180%);
  background: var(--ink);
  color: var(--paper);
  font: .72rem/1 var(--mono);
  text-decoration: none;
}

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

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

.presence {
  position: fixed;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  opacity: .62;
}

.presence__form {
  position: absolute;
  display: block;
  width: clamp(24rem, 48vw, 50rem);
  aspect-ratio: 1;
  border: 1px solid rgba(83, 102, 90, .12);
  border-radius: 47% 53% 59% 41% / 43% 38% 62% 57%;
  background: radial-gradient(circle at 48% 42%, rgba(159, 85, 64, .055), transparent 62%);
  will-change: transform;
}

.presence__form--one { top: 12vh; right: -23vw; }
.presence__form--two {
  bottom: -38vh;
  left: -24vw;
  width: clamp(30rem, 62vw, 66rem);
  border-color: rgba(159, 85, 64, .1);
  transform: rotate(80deg);
}

.progress {
  position: fixed;
  z-index: 20;
  top: 50%;
  left: clamp(.7rem, 1.8vw, 2rem);
  width: 6.5rem;
  height: min(66vh, 34rem);
  transform: translateY(-50%);
  font: 400 .6rem/1.1 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.progress__track {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: rgba(32, 30, 26, .16);
}

.progress__fill {
  position: absolute;
  inset: 0 0 auto;
  width: 1px;
  height: calc(var(--progress, 0) * 100%);
  background: var(--clay);
}

.progress ol {
  display: flex;
  height: 100%;
  margin: 0;
  padding: 0;
  flex-direction: column;
  justify-content: space-between;
  list-style: none;
}

.progress li { position: relative; }

.progress__stage {
  position: relative;
  display: block;
  min-height: 1rem;
  padding-left: .85rem;
  color: var(--muted);
}

.progress__stage::before {
  position: absolute;
  top: .23rem;
  left: -2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--paper);
  border: 1px solid var(--faint);
  content: "";
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.progress__stage > span {
  opacity: .72;
  transition: opacity 180ms ease, color 180ms ease;
}

.progress__stage[aria-current="location"] > span { opacity: 1; color: var(--ink); }

.progress__stage[aria-current="location"]::before {
  border-color: var(--clay);
  background: var(--clay);
  transform: scale(1.25);
}

main,
article { position: relative; z-index: 1; }

.stage { scroll-margin-top: 2rem; }

.opening {
  position: relative;
  display: flex;
  min-height: 108svh;
  padding: 14vh var(--gutter) 10vh max(var(--gutter), 10vw);
  flex-direction: column;
  justify-content: center;
}

.opening h2 {
  width: min(100%, 19ch);
  margin: 0;
  font-size: clamp(2.8rem, 6.2vw, 5.8rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.eyebrow,
.part-label {
  margin: 0 0 clamp(1.5rem, 4vh, 3rem);
  color: var(--clay);
  font: 400 .66rem/1.2 var(--mono);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.opening__cue {
  position: absolute;
  bottom: 5vh;
  margin: 0;
  color: var(--muted);
  font: 300 .62rem/1.2 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.opening__cue { left: max(var(--gutter), 10vw); }

.prose-section { padding: clamp(7rem, 16vh, 13rem) var(--gutter); }
.prose {
  width: min(100%, var(--measure));
  margin-right: auto;
  margin-left: auto;
}

.prose p { margin: 0 0 1.15em; }
.prose p:last-child { margin-bottom: 0; }
.prose strong { font-weight: 600; }
.prose em { font-style: italic; }

.prose h2 {
  margin: 0 0 1em;
  font-size: clamp(2.15rem, 4.6vw, 4.5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.opening-answer { padding-top: 16vh; }
.opening-answer .prose:first-child { font-size: clamp(1.4rem, 2.2vw, 2rem); }

.turn {
  width: min(100%, 13ch);
  margin: clamp(7rem, 17vh, 13rem) auto;
  font-size: clamp(2.7rem, 5.4vw, 4.8rem);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.05em;
  text-align: center;
  text-wrap: balance;
}

.paired-provocation {
  width: min(100%, 58rem);
  margin: 25vh auto 10vh;
  font-size: clamp(2.2rem, 5.4vw, 5.6rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.paired-provocation p { margin: 0; }
.paired-provocation p + p { margin-top: .5em; padding-left: clamp(1rem, 9vw, 8rem); color: var(--clay); }
.coda { color: var(--muted); }

.machine { padding-top: 15vh; }
.machine > .prose,
.anthropomorphic > .prose,
.agreeable > .prose,
.danger > .prose,
.human > .prose {
  width: min(calc(100% - 2 * var(--gutter)), var(--measure));
}

.stripping {
  display: flex;
  width: min(calc(100% - 2 * var(--gutter)), 62rem);
  min-height: 75vh;
  margin: 10vh auto 0;
  padding: 0;
  flex-direction: column;
  justify-content: space-around;
  color: var(--muted);
  font: 300 clamp(.74rem, 1.1vw, 1rem)/1 var(--mono);
  letter-spacing: .1em;
  list-style: none;
  text-transform: uppercase;
}

.stripping li {
  opacity: calc(.92 - var(--fade, 0));
  text-align: center;
}

.stripping li:nth-child(2n) { transform: translateX(-16vw); }
.stripping li:nth-child(3n) { transform: translateX(14vw); }

.monument {
  min-height: 66svh;
  padding: 10vh var(--gutter);
}

.monument--machine {
  display: grid;
  place-items: center;
}

.io-machine {
  display: grid;
  width: min(100%, 70rem);
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  font-family: var(--mono);
}

.io-machine__channel {
  position: relative;
  display: flex;
  min-width: 0;
  padding-right: clamp(1.2rem, 3vw, 3rem);
  align-items: flex-start;
  flex-direction: column;
}

.io-machine__channel::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: clamp(1.2rem, 3vw, 3rem);
  height: 2px;
  background: var(--clay);
  content: "";
}

.io-machine__channel--output { padding-right: 0; padding-left: clamp(1.2rem, 3vw, 3rem); }
.io-machine__channel--output::after { right: auto; left: 0; }

.io-machine__label {
  margin-bottom: .7rem;
  color: var(--muted);
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.io-machine__token {
  width: 100%;
  min-width: 0;
  padding: 1rem clamp(.8rem, 2vw, 1.4rem);
  overflow-wrap: anywhere;
  border: 1px solid var(--faint);
  background: rgba(243, 238, 227, .85);
  font-size: clamp(.9rem, 2vw, 1.25rem);
  line-height: 1.2;
  text-align: center;
}

.io-machine__core {
  position: relative;
  display: grid;
  width: clamp(8.5rem, 18vw, 13rem);
  aspect-ratio: 1.15;
  place-items: center;
  align-content: center;
  border: .28rem solid #3d3a34;
  border-radius: .35rem;
  background: var(--ink);
  box-shadow: inset 0 0 0 1px #827b70, .7rem .8rem 0 rgba(83, 102, 90, .2);
  color: var(--paper);
}

.io-machine__core > span { font-size: clamp(2.2rem, 5vw, 4rem); letter-spacing: -.06em; }
.io-machine__core small { color: #cfc5b6; font-size: .48rem; letter-spacing: .1em; text-transform: uppercase; }

.io-machine__screw {
  position: absolute;
  top: .65rem;
  width: .45rem;
  height: .45rem;
  border: 1px solid #a79d8e;
  border-radius: 50%;
}

.io-machine__screw--one { left: .65rem; }
.io-machine__screw--two { right: .65rem; }

.machine-return i { color: var(--clay); font-style: normal; font-weight: 300; }

.machine > .prose:nth-of-type(2) { margin-bottom: 12vh; font-size: clamp(1.4rem, 2.6vw, 2.2rem); }

.numbered-observations {
  display: grid;
  width: min(calc(100% - 2 * var(--gutter)), 70rem);
  margin: 0 auto;
  padding-bottom: 20vh;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(3rem, 9vw, 9rem);
}

.observation .number { color: var(--clay); font: .68rem/1 var(--mono); }
.observation h3 { margin: 1rem 0; font-size: clamp(1.7rem, 3vw, 2.7rem); font-weight: 400; line-height: 1.05; }
.observation p:last-child { color: var(--muted); }

.anthropomorphic,
.agreeable,
.danger,
.human { padding-top: 12vh; }

.chapter-heading {
  width: min(calc(100% - 2 * var(--gutter)), 62rem);
  margin: 0 auto;
  padding: 10vh 0 13vh;
}

.chapter-heading h2 {
  margin: 0;
  font-size: clamp(2.8rem, 5.4vw, 4.8rem);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.05em;
}

.chapter-heading > p:last-child {
  width: min(100%, 29rem);
  margin: 4rem 0 0 auto;
  font-size: clamp(1.35rem, 2.4vw, 2.05rem);
  line-height: 1.2;
}

.anthropomorphic > .prose,
.agreeable > .prose { margin-top: 8vh; margin-bottom: 12vh; }

.false-equation {
  display: flex;
  width: min(calc(100% - 2 * var(--gutter)), 66rem);
  margin: 10vh auto 18vh;
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem 1.1rem;
  font-size: clamp(1.6rem, 3.5vw, 3.2rem);
  line-height: 1;
}

.false-equation i { color: var(--clay); font-style: normal; }

.monument--pronouns {
  display: grid;
  place-items: center;
}

.monument--pronouns h2 {
  display: flex;
  width: min(100%, 72rem);
  margin: 0;
  align-items: center;
  justify-content: center;
  gap: clamp(1.5rem, 6vw, 6rem);
  font-size: clamp(6rem, 15vw, 13rem);
  font-weight: 300;
  line-height: .7;
  letter-spacing: -.09em;
}

.pronoun-rule { width: clamp(2rem, 10vw, 9rem); height: 1px; background: var(--clay); }

.axiom {
  width: min(calc(100% - 2 * var(--gutter)), 64rem);
  margin: 20vh auto;
  padding: 0;
  font-size: clamp(2.5rem, 6vw, 6.2rem);
  line-height: .9;
  letter-spacing: -.045em;
}

.axiom p { margin: 0; }
.axiom p:nth-child(2) { margin: .25em 0; color: var(--clay); font-style: italic; text-align: center; }
.axiom p:last-child { text-align: right; }

.human-workflow { padding: 5vh var(--gutter) 22vh; }
.centre-line {
  width: min(100%, 58rem);
  margin: 16vh auto 0;
  font-size: clamp(2.2rem, 4.2vw, 3.8rem);
  font-weight: 300;
  line-height: .96;
  letter-spacing: -.045em;
  text-align: center;
  text-wrap: balance;
}

.centre-line strong { display: block; margin-top: .45em; color: var(--clay); font-weight: 400; }

.recommendation {
  width: min(calc(100% - 2 * var(--gutter)), 50rem);
  margin: 14vh auto 18vh;
  padding: clamp(2rem, 5vw, 4rem);
  border-left: 1px solid var(--clay);
  background: rgba(232, 221, 204, .48);
}

.recommendation figcaption {
  color: var(--muted);
  font: .68rem/1.3 var(--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}

.recommendation blockquote {
  margin: 2.2rem 0;
  font-size: clamp(1.8rem, 3.8vw, 3.4rem);
  line-height: 1.06;
}

.recommendation p { margin: 0; }

.search-example {
  width: min(calc(100% - 2 * var(--gutter)), 66rem);
  margin: 16vh auto;
  padding: 0;
}

.search-example figcaption {
  margin-bottom: 2rem;
  color: var(--muted);
  font: .68rem/1 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.search-window {
  overflow: hidden;
  border: 1px solid #c8c8c8;
  border-radius: .65rem;
  background: #fff;
  box-shadow: 0 1.8rem 5rem rgba(32, 30, 26, .14);
  color: #202124;
  font-family: Arial, Helvetica, sans-serif;
}

.search-window__bar {
  display: flex;
  padding: .7rem .9rem;
  gap: .4rem;
  border-bottom: 1px solid #e5e7eb;
  background: #f1f3f4;
}

.search-window__bar span { width: .66rem; height: .66rem; border-radius: 50%; background: #c5c8cc; }
.search-window__bar span:first-child { background: #e47770; }
.search-window__bar span:nth-child(2) { background: #e6bd62; }
.search-window__bar span:last-child { background: #71b878; }

.search-window__brand {
  padding: 2.2rem clamp(1.4rem, 5vw, 4rem) .9rem;
  color: #59636e;
  font: 700 1.1rem/1 var(--mono);
  letter-spacing: .18em;
}

.search-window__query {
  width: min(calc(100% - 2.8rem), 43rem);
  margin: 0 clamp(1.4rem, 5vw, 4rem);
  padding: .9rem 1.3rem;
  border: 1px solid #c9cdd2;
  border-radius: 2rem;
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.35;
  box-shadow: 0 .15rem .45rem rgba(60, 64, 67, .13);
}

.search-window__tabs {
  display: flex;
  padding: 1.2rem clamp(1.4rem, 5vw, 4rem) .7rem;
  gap: 1.5rem;
  border-bottom: 1px solid #e5e7eb;
  color: #687078;
  font-size: .76rem;
}

.search-window__tabs span:first-child { color: #245bc1; border-bottom: 2px solid #245bc1; padding-bottom: .65rem; }

.search-results {
  width: min(100%, 48rem);
  margin: 0;
  padding: 2.4rem clamp(1.4rem, 5vw, 4rem);
  list-style: none;
}

.search-results li + li { margin-top: 2.1rem; }
.search-results span { display: block; overflow-wrap: anywhere; }
.search-results__url { color: #3c4043; font-size: .75rem; }
.search-results__title { margin: .25rem 0; color: #1a0dab; font-size: clamp(1.12rem, 2.2vw, 1.42rem); line-height: 1.2; }
.search-results__copy { max-width: 42rem; color: #4d5156; font-size: .9rem; line-height: 1.45; }

.balance-results {
  padding: 1.6rem clamp(1.4rem, 5vw, 4rem) 2rem;
  border-top: 3px solid #c5533e;
  background: #fff3ef;
}

.balance-results p { margin: 0 0 .9rem; color: #78382d; font-weight: 700; }
.balance-results a { display: block; margin-top: .45rem; color: #1a0dab; text-decoration: underline; text-underline-offset: .18em; }

.search-example__response {
  margin: 8vh auto 0;
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 1;
  text-align: center;
}

.facts-stance,
.directions,
.sequence,
.compact-contract,
.ambiguity,
.actor-return { padding: clamp(7rem, 13vh, 11rem) var(--gutter); }

.formula { font-family: var(--mono); }
.challenge { width: min(100%, 30rem); margin: 15vh auto 0; color: var(--muted); font-size: clamp(1.6rem, 3vw, 2.5rem); text-align: center; }
.counter-question { margin: 4vh auto 0; font-size: clamp(3.8rem, 8vw, 7.5rem); line-height: .85; letter-spacing: -.06em; text-align: center; }

.disagreement-answer { margin-top: 11vh; text-align: center; }
.disagreement-answer p { color: var(--muted); }

.objection-network {
  position: relative;
  width: min(100%, 68rem);
  min-height: clamp(25rem, 58vw, 38rem);
  margin: 10vh auto;
  touch-action: pan-y;
}

.objection-network__nodes {
  display: flex;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 1.4rem;
  list-style: none;
}

.objection-network__nodes li {
  position: relative;
  z-index: 2;
  padding: .7rem .9rem .62rem;
  border: 1px solid rgba(113, 107, 97, .38);
  border-radius: .18rem;
  background: rgba(243, 238, 227, .94);
  box-shadow: .28rem .34rem 0 rgba(83, 102, 90, .09);
  color: var(--muted);
  font: 300 clamp(.68rem, 1.2vw, .84rem)/1 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.objection-network.is-enhanced { overflow: hidden; }

.objection-network.is-enhanced .objection-network__nodes {
  position: absolute;
  inset: 0;
  display: block;
}

.objection-network.is-enhanced .objection-network__nodes li {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  will-change: transform;
}

.objection-network__web {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.objection-network__edge {
  stroke: rgba(159, 85, 64, .42);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.objection-network__edge:nth-child(3n) { stroke: rgba(83, 102, 90, .44); }
.objection-network__edge:nth-child(4n) { stroke-dasharray: 3 5; }

.sequence ol {
  width: min(100%, 54rem);
  margin: 10vh auto;
  padding: 0;
  list-style: none;
  counter-reset: frames;
}

.sequence li {
  display: flex;
  padding: 1.2em 0;
  align-items: baseline;
  border-bottom: 1px solid rgba(32, 30, 26, .18);
  counter-increment: frames;
  font-size: clamp(1.65rem, 4vw, 3.6rem);
  line-height: 1;
}

.sequence li::before { margin-right: 1.5rem; color: var(--clay); content: "0" counter(frames); font: .66rem/1 var(--mono); }

.responsibility__line {
  width: min(100%, 56rem);
  margin: 16vh auto 0;
  color: var(--clay);
  font-size: clamp(2.5rem, 5.6vw, 5.2rem);
  line-height: .96;
  letter-spacing: -.045em;
  text-align: center;
}

.contract { width: min(100%, 54rem); margin: 10vh auto; }
.contract div { display: grid; padding: 1.2rem 0; border-bottom: 1px solid rgba(32, 30, 26, .22); grid-template-columns: 1fr 1fr; }
.contract dt { color: var(--muted); font: .7rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.contract dd { margin: 0; font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1; }

.knife {
  width: min(calc(100% - 2 * var(--gutter)), 52rem);
  margin: 10vh auto 20vh;
  padding: clamp(2rem, 6vw, 5rem);
  border-left: 1px solid var(--clay);
  background: rgba(232, 221, 204, .45);
}

.knife h2 { margin: 0 0 1.5em; font: 400 .7rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.knife p { margin: 1em 0; }

.machine-return {
  display: flex;
  width: min(calc(100% - 2 * var(--gutter)), 42rem);
  margin: 0 auto 10vh;
  justify-content: space-between;
  gap: 1rem;
  color: var(--muted);
  font: 300 clamp(1rem, 2.4vw, 1.8rem)/1 var(--mono);
  letter-spacing: -.02em;
}

.danger { padding-bottom: 8vh; background: var(--ink); color: var(--paper); }
.danger .part-label { color: #d29178; }
.danger .prose { color: #e2dacd; }
.danger .prose h2 { color: var(--paper); }

.objection { width: min(calc(100% - 2 * var(--gutter)), 70rem); min-height: 72svh; margin: 0 auto; padding: 10vh 0; }
.objection h2 { width: min(100%, 10ch); margin: 18vh 0 0 auto; font-size: clamp(3.2rem, 6vw, 5.5rem); font-weight: 300; line-height: .94; letter-spacing: -.05em; }
.danger > .prose { margin-bottom: 12vh; }

.two-truths {
  width: min(100%, 60rem);
  margin: 18vh auto 8vh;
  padding: 0;
  color: var(--paper);
  font-size: clamp(2.5rem, 4.8vw, 4.5rem);
  line-height: .9;
  letter-spacing: -.05em;
}

.two-truths p { margin: 0; }
.two-truths p:last-child { margin-top: .25em; color: #d29178; text-align: right; }

.human { padding-top: 22vh; }

.language-turn {
  display: grid;
  min-height: 100svh;
  padding: 18vh var(--gutter);
  place-items: center;
}

.language-turn__inner {
  width: min(100%, 54rem);
}

.language-turn__preface {
  margin: 0 0 12vh;
  color: var(--muted);
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
  letter-spacing: -.02em;
}

.language-turn h2 {
  max-width: 48rem;
  margin: 0;
  color: var(--clay);
  font-size: clamp(3rem, 8vw, 7rem);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.055em;
}

.language-turn__inner > p:last-child {
  max-width: 40rem;
  margin: 12vh 0 0 auto;
  font-size: clamp(1.5rem, 2.8vw, 2.5rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.closing-steps {
  width: min(calc(100% - 2 * var(--gutter)), 64rem);
  margin: 28vh auto 22vh;
  font-size: clamp(2.5rem, 4.8vw, 4.5rem);
  line-height: .92;
  letter-spacing: -.05em;
}

.closing-steps > p { margin: 0; }
.closing-steps > p:last-child { margin: .45em 0 0 clamp(1rem, 10vw, 9rem); }
.closing-steps span { color: var(--clay); }

.finale {
  display: flex;
  min-height: 108svh;
  padding: 12vh var(--gutter) 5vh max(var(--gutter), 10vw);
  flex-direction: column;
  justify-content: center;
}

.finale__not,
.finale__because { margin: 0; letter-spacing: -.06em; }
.finale__not { color: var(--muted); font-size: clamp(2rem, 4vw, 4rem); line-height: 1; }
.finale__because { width: min(100%, 11ch); margin-top: .14em; font-size: clamp(4.5rem, 9vw, 7.5rem); font-weight: 400; line-height: .86; }
.finale__note { margin: 8vh 0 0; color: var(--clay); font: .67rem/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.essay-links { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; margin-top: clamp(3rem, 6vh, 5rem); }
.back-link, .another-link { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; font: .7rem/1.3 var(--mono); text-decoration: none; text-underline-offset: .35em; }
.another-link { color: var(--muted); }
.back-link:hover, .another-link:hover { color: var(--clay); }

.breathing-dot {
  width: .62rem;
  height: .62rem;
  border-radius: 50%;
  background: var(--clay);
  animation: breathe 2.4s ease-in-out infinite;
}

@keyframes breathe {
  0%, 100% { opacity: .38; transform: scale(.72); }
  50% { opacity: 1; transform: scale(1.18); }
}

.motion-ready .reveal {
  opacity: 0;
  transform: translateY(1.8rem);
  transition: opacity 800ms cubic-bezier(.2, .65, .3, 1), transform 900ms cubic-bezier(.2, .65, .3, 1);
}

.motion-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1280px) {
  .progress { left: .7rem; width: 1rem; }
  .progress__stage { padding-left: .5rem; }
  .progress__stage > span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

@media (max-width: 760px) {
  :root { --gutter: 2.6rem; }
  body { font-size: 1.13rem; }
  .progress { left: .45rem; width: 1rem; height: 58vh; }
  .opening { padding-right: 2rem; padding-left: 2.8rem; }
  .opening h2 { font-size: clamp(2.35rem, 11vw, 4rem); }
  .opening__cue { left: 2.8rem; }
  .turn { font-size: clamp(1.75rem, 10vw, 2.7rem); overflow-wrap: anywhere; }
  .stripping li:nth-child(2n) { transform: translateX(-8vw); }
  .stripping li:nth-child(3n) { transform: translateX(8vw); }
  .monument--machine { padding-right: 2rem; padding-left: 2.8rem; }
  .io-machine { width: min(100%, 22rem); grid-template-columns: 1fr; }
  .io-machine__channel { padding: 0 0 1.7rem; align-items: center; }
  .io-machine__channel::after { top: auto; right: 50%; bottom: 0; width: 2px; height: 1.7rem; }
  .io-machine__channel--output { padding: 1.7rem 0 0; }
  .io-machine__channel--output::after { top: 0; bottom: auto; left: 50%; width: 2px; height: 1.7rem; }
  .io-machine__token { width: min(100%, 17rem); }
  .io-machine__core { width: 9.5rem; justify-self: center; }
  .numbered-observations { grid-template-columns: 1fr; }
  .chapter-heading h2 { font-size: clamp(1.95rem, 9.5vw, 4rem); overflow-wrap: anywhere; }
  .chapter-heading > p:last-child { margin-left: 0; }
  .monument--pronouns h2 { gap: 1.2rem; }
  .axiom p:last-child { text-align: left; }
  .contract div { grid-template-columns: .8fr 1.2fr; }
  .objection h2 { margin-top: 22vh; }
  .closing-steps { font-size: 1.95rem; overflow-wrap: anywhere; }
  .finale { padding-right: 2rem; padding-left: 2.8rem; }
  .search-window__brand { padding-top: 1.5rem; }
  .search-results__copy { font-size: .82rem; }
  .finale__because { font-size: clamp(4.4rem, 19vw, 6rem); }
}

@media (max-width: 300px) {
  .monument--pronouns h2 { min-width: 0; max-width: 100%; font-size: 5rem; gap: .65rem; }
  .pronoun-rule { width: 1.5rem; flex-shrink: 1; }
  .objection h2 { font-size: 2.35rem; }
  .finale__because { font-size: 3.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .motion-ready .reveal { opacity: 1; transform: none; transition: none; }
  .presence__form { will-change: auto; }
  .breathing-dot { animation: none; opacity: 1; }
}

@media print {
  .presence,
  .progress,
  .opening__cue { display: none; }
  body { font-size: 12pt; }
  .opening,
  .monument,
  .finale { min-height: 0; }
  .stage,
  .prose-section,
  .facts-stance,
  .directions,
  .sequence,
  .compact-contract,
  .ambiguity,
  .actor-return { padding-top: 3rem; padding-bottom: 3rem; }
  .motion-ready .reveal { opacity: 1; transform: none; }
}
