.scene {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100vh;
  padding-block: clamp(3.5rem, 9vh, 8rem);
  border-top: 1px solid var(--line);
}

.scene--flush {
  border-top: 0;
}

.scene--surface {
  background: var(--surface);
}

.scene__inner {
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.scene__index {
  position: absolute;
  top: clamp(1.5rem, 4vh, 3rem);
  right: var(--gutter);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  color: var(--brass);
}

@media (max-width: 47.99rem), (max-height: 44rem) {
  .scene {
    min-height: 0;
    padding-block: clamp(3rem, 8vw, 5rem);
  }
  .scene__index {
    position: static;
    display: block;
    margin-bottom: 1rem;
  }
}

.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: calc(var(--header-h) + clamp(3.5rem, 9vh, 6rem));
  padding-bottom: clamp(2rem, 6vh, 4.5rem);
  overflow: hidden;
  isolation: isolate;
}

@supports (min-height: 100svh) {
  .hero {
    min-height: 100svh;
  }
}

.hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% 40%;
  filter: brightness(0.5) saturate(0.9) contrast(1.05);
  transform: scale(1.04);
}

.hero__scrim {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(11, 13, 12, 0.92) 0%, rgba(11, 13, 12, 0.42) 38%, rgba(11, 13, 12, 0.96) 92%),
    linear-gradient(90deg, rgba(11, 13, 12, 0.9) 0%, rgba(11, 13, 12, 0.1) 68%);
}

.hero__inner {
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.hero__eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  padding-bottom: clamp(1rem, 3vh, 2rem);
}

.hero__eyebrow .rule {
  flex: 1 1 3rem;
  min-width: 2rem;
}

.hero-title {
  margin: 0;
  font-size: clamp(2.9rem, 0.8rem + 12.4vw, 10.5rem);
  line-height: 0.84;
  letter-spacing: -0.022em;
  text-wrap: balance;
}

.hero-title .hero-line {
  display: block;
}

.hero-line--indent {
  padding-left: clamp(0rem, 5vw, 7rem);
}

.hero-word {
  position: relative;
  display: inline-block;
  color: var(--jewel-bright);
  min-width: 0;
}

.hero-word::after {
  content: "";
  position: absolute;
  left: 0.04em;
  right: 0.08em;
  bottom: 0.02em;
  height: max(2px, 0.035em);
  background: var(--brass);
  transform-origin: left center;
}

.hero-word.is-swapping {
  opacity: 0.001;
}

.hero-word__inner {
  display: inline-block;
  will-change: transform, opacity;
}

.hero__sub {
  display: grid;
  gap: var(--s-3);
  margin-top: clamp(1.5rem, 4vh, 2.75rem);
  padding-top: clamp(1.25rem, 3vh, 2rem);
  border-top: 1px solid var(--brass-line);
  grid-template-columns: 1fr;
}

@media (min-width: 60rem) {
  .hero__sub {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: end;
    gap: var(--s-5);
  }
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  align-items: center;
}

.hero__figure-line {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 1.25rem;
}

.hero__figure-line b {
  color: var(--paper);
  font-weight: 500;
}

.scroll-cue {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: clamp(1.5rem, 4vh, 2.5rem);
  min-height: 44px;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted);
}

.scroll-cue .icon {
  color: var(--jewel-bright);
}

@media (prefers-reduced-motion: no-preference) {
  .scroll-cue .icon {
    animation: cue-drift 2.6s var(--ease-settle) infinite;
  }
}

@keyframes cue-drift {
  0%,
  100% {
    transform: translateY(-2px);
  }
  50% {
    transform: translateY(4px);
  }
}

.page-poster {
  position: relative;
  z-index: 0;
  padding-top: calc(var(--header-h) + clamp(5.5rem, 16vh, 9rem));
  padding-bottom: clamp(2.5rem, 7vh, 5.5rem);
  border-bottom: 1px solid var(--brass-line);
  background:
    radial-gradient(90% 120% at 88% 0%, rgba(15, 107, 76, 0.18), transparent 62%),
    var(--ink);
}

.page-poster__inner {
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.page-poster h1 {
  margin-top: clamp(0.75rem, 2vh, 1.5rem);
  font-size: clamp(2.6rem, 1.1rem + 9.4vw, 8rem);
  line-height: 0.85;
  letter-spacing: -0.018em;
}

.page-poster__lede {
  margin-top: clamp(1.25rem, 3vh, 2rem);
  max-width: 52ch;
  font-size: clamp(1.05rem, 1rem + 0.5vw, 1.3rem);
  line-height: 1.5;
  color: var(--muted);
}

.page-poster__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-top: clamp(1.25rem, 3vh, 2rem);
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  font-family: var(--font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  color: var(--muted);
}

.split {
  display: grid;
  gap: clamp(1.75rem, 4vw, 4.5rem);
  align-items: center;
  grid-template-columns: 1fr;
}

@media (min-width: 62rem) {
  .split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .split--wide-left {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr);
  }
  .split--wide-right {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr);
  }
  .split--flip .split__media {
    order: -1;
  }
}

.split__body > * + * {
  margin-top: var(--s-3);
}

.split__body h2 {
  margin-top: var(--s-2);
}

.split__media {
  position: relative;
  min-width: 0;
}

.split__media .frame {
  aspect-ratio: 4 / 3;
}

.split__media .frame--tall {
  aspect-ratio: 3 / 4;
  max-width: 30rem;
}

.split__media::after {
  content: "";
  position: absolute;
  left: -0.75rem;
  bottom: -0.75rem;
  width: clamp(4rem, 12vw, 9rem);
  height: 1px;
  background: var(--brass);
}

.media-caption {
  margin-top: 0.85rem;
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  line-height: 1.55;
  letter-spacing: 0.06em;
  color: var(--muted);
  max-width: 42ch;
}

.media-caption span:first-child {
  color: var(--brass);
  white-space: nowrap;
}

.signal-diagram {
  position: relative;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 1px solid var(--brass-line);
}

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

.signal-diagram .dg-node {
  fill: var(--surface-raised);
  stroke: var(--line-strong);
  stroke-width: 1;
}

.signal-diagram .dg-node-active {
  fill: rgba(15, 107, 76, 0.18);
  stroke: var(--jewel-bright);
}

.signal-diagram .dg-label {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  fill: var(--paper);
  letter-spacing: 0.04em;
}

.signal-diagram .dg-meta {
  font-family: var(--font-mono);
  fill: var(--muted);
  letter-spacing: 0.08em;
}

.signal-diagram .dg-figure {
  font-family: var(--font-mono);
  fill: var(--jewel-bright);
  letter-spacing: 0.04em;
}

.signal-diagram .dg-wire {
  stroke: var(--brass);
  stroke-width: 1;
  fill: none;
}

.signal-diagram .dg-arrow {
  fill: var(--brass);
}

.diagram-legend {
  display: grid;
  gap: 0.55rem;
  margin-top: var(--s-3);
  padding-top: var(--s-3);
  border-top: 1px solid var(--line);
  font-family: var(--font-mono);
  font-size: 0.74rem;
  line-height: 1.5;
  color: var(--muted);
}

.diagram-legend b {
  color: var(--paper);
  font-weight: 500;
}

.stat-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem) clamp(1rem, 2.5vw, 2.5rem);
}

@media (min-width: 48rem) {
  .stat-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 72rem) {
  .stat-strip--five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .stat-strip--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.stat-strip__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--s-3);
  margin-bottom: clamp(2rem, 5vh, 3.5rem);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--brass-line);
}

.tier-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.75rem);
  grid-template-columns: 1fr;
}

@media (min-width: 34rem) {
  .tier-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 70rem) {
  .tier-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .tier-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.statement {
  position: relative;
  padding-block: clamp(3.5rem, 12vh, 8rem);
  background: var(--ink-deep);
  border-top: 1px solid var(--brass-line);
  border-bottom: 1px solid var(--brass-line);
}

.statement__inner {
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.statement__claim {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(2.2rem, 1rem + 6.4vw, 6rem);
  line-height: 0.88;
  letter-spacing: -0.012em;
  max-width: 24ch;
}

.statement__claim em {
  font-style: normal;
  color: var(--jewel-bright);
}

.statement__support {
  margin-top: clamp(1.5rem, 4vh, 2.5rem);
  max-width: 56ch;
  color: var(--muted);
  font-size: clamp(1rem, 0.96rem + 0.35vw, 1.15rem);
}

.statement__support strong {
  color: var(--paper);
}

.contact-layout {
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
  grid-template-columns: 1fr;
  align-items: start;
}

@media (min-width: 64rem) {
  .contact-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.85fr);
  }
}

.contact-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 2px solid var(--brass-faint);
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.contact-card + .contact-card {
  margin-top: var(--s-3);
}

.contact-list {
  display: grid;
  gap: 0.35rem;
  margin-top: var(--s-3);
}

.contact-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  padding-block: 0.5rem;
  border-bottom: 1px solid var(--line);
}

.contact-list li:last-child {
  border-bottom: 0;
}

.contact-list .icon {
  color: var(--brass);
  margin-top: 0.55rem;
}

.contact-list__label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}

.contact-list a,
.contact-list span.contact-value {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--paper);
  overflow-wrap: anywhere;
}

.contact-list a {
  min-height: 32px;
}

.contact-list a:hover {
  color: var(--jewel-bright);
}

.cta-band {
  position: relative;
  padding-block: clamp(3rem, 9vh, 6rem);
  background:
    radial-gradient(70% 120% at 12% 0%, rgba(15, 107, 76, 0.22), transparent 60%),
    var(--surface);
  border-top: 1px solid var(--line);
}

.cta-band__inner {
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gutter);
  display: grid;
  gap: clamp(1.75rem, 4vw, 3.5rem);
  grid-template-columns: 1fr;
  align-items: start;
}

@media (min-width: 62rem) {
  .cta-band__inner {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  }
}

.teaser-form {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  background: var(--ink-deep);
  border: 1px solid var(--line);
  border-left: 2px solid var(--jewel);
}

.statute {
  padding-block: clamp(2.5rem, 6vh, 4.5rem);
}

.statute__inner {
  width: 100%;
  max-width: 78rem;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.statute__masthead {
  padding-bottom: var(--s-4);
  border-bottom: 2px solid var(--brass-line);
  margin-bottom: var(--s-4);
}

.statute__stamp {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.5rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brass);
}

.statute__body {
  column-count: 1;
  column-gap: clamp(1.75rem, 4vw, 3.25rem);
  column-rule: 1px solid var(--brass-line);
  font-size: 0.95rem;
  line-height: 1.66;
  text-align: left;
  hyphens: auto;
}

@media (min-width: 64rem) {
  .statute__body {
    column-count: 2;
    font-size: 0.925rem;
  }
}

@media (min-width: 96rem) {
  .statute__body {
    font-size: 0.95rem;
  }
}

.statute__body > * + * {
  margin-top: 0.85em;
}

.statute__body p {
  break-inside: auto;
  orphans: 2;
  widows: 2;
}

.statute__section {
  break-inside: auto;
}

.statute__section + .statute__section {
  margin-top: 1.4em;
}

.statute__letter {
  color: var(--brass);
  margin-right: 0.15rem;
}

.run-in {
  font-family: var(--font-mono);
  font-size: 0.92rem;
  font-weight: 500;
  font-variant-caps: small-caps;
  -webkit-font-feature-settings: "smcp" 1, "c2sc" 1;
  font-feature-settings: "smcp" 1, "c2sc" 1;
  letter-spacing: 0.08em;
  color: var(--paper);
  margin-right: 0.5rem;
  break-after: avoid;
}

.run-in--jewel {
  color: var(--jewel-bright);
}

.statute__body a {
  color: var(--jewel-bright);
  border-bottom: 1px solid var(--brass-faint);
  overflow-wrap: anywhere;
}

.statute__body a:hover {
  color: var(--paper);
  border-bottom-color: var(--paper);
}

.statute__body ul li {
  position: relative;
  padding-left: 1.1rem;
  margin-top: 0.4em;
}

.statute__body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 0.5rem;
  height: 1px;
  background: var(--brass);
}

.statute__aside {
  break-inside: avoid;
  margin-top: 1.2em;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line);
  background: var(--surface);
  font-family: var(--font-mono);
  font-size: 0.76rem;
  line-height: 1.6;
  color: var(--muted);
}

.statute__colophon {
  margin-top: var(--s-5);
  padding-top: var(--s-3);
  border-top: 2px solid var(--brass-line);
  font-family: var(--font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2rem;
}

.glance {
  padding-block: clamp(2.5rem, 6vh, 4.5rem);
}

.glance__inner {
  width: 100%;
  max-width: 68rem;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.glance__panel {
  border: 1px solid var(--brass-line);
  background: var(--surface);
  box-shadow: var(--shadow-lift);
}

.glance__panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1.5rem;
  padding: 1rem clamp(1rem, 2.5vw, 1.75rem);
  background: var(--ink-deep);
  border-bottom: 1px solid var(--brass-line);
}

.glance__panel-title {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.9rem);
  letter-spacing: 0.02em;
  margin: 0;
}

.glance__panel-head span {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brass);
}

.glance-table {
  width: 100%;
  border-collapse: collapse;
}

.glance-table tbody tr {
  border-bottom: 1px solid var(--line);
}

.glance-table tbody tr:last-child {
  border-bottom: 0;
}

.glance-table tbody tr:hover {
  background: var(--surface-raised);
}

.glance-table th,
.glance-table td {
  padding: 1rem clamp(1rem, 2.5vw, 1.75rem);
  text-align: left;
  vertical-align: top;
}

.glance-table th[scope="row"] {
  width: 34%;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brass);
  line-height: 1.5;
  font-weight: 500;
}

.glance-table td {
  min-width: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--paper);
  overflow-wrap: anywhere;
}

.glance-table td a {
  border-bottom: 1px solid var(--brass-faint);
}

.glance-table td .num {
  color: var(--jewel-bright);
}

@media (max-width: 46rem) {
  .glance-table,
  .glance-table tbody,
  .glance-table tr,
  .glance-table th,
  .glance-table td {
    display: block;
    width: auto;
  }
  .glance-table tr {
    padding: 0.9rem clamp(1rem, 2.5vw, 1.75rem);
  }
  .glance-table th,
  .glance-table td {
    padding: 0;
  }
  .glance-table th[scope="row"] {
    padding-bottom: 0.35rem;
  }
}

.glance-rows {
  display: grid;
}

.glance-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem;
  padding: 1rem clamp(1rem, 2.5vw, 1.75rem);
  border-bottom: 1px solid var(--line);
}

.glance-row:last-child {
  border-bottom: 0;
}

.glance-row:hover {
  background: var(--surface-raised);
}

@media (min-width: 46rem) {
  .glance-row {
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 2.5rem);
    align-items: start;
  }
}

.glance-row dt,
.glance-row__key {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brass);
  line-height: 1.5;
  padding-top: 0.15rem;
}

.glance-row dd,
.glance-row__val {
  margin: 0;
  min-width: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--paper);
  overflow-wrap: anywhere;
}

.glance-row dd a {
  border-bottom: 1px solid var(--brass-faint);
}

.glance-row dd .num {
  color: var(--jewel-bright);
}

.glance__after {
  margin-top: clamp(2.5rem, 7vh, 4.5rem);
}

.glance__prose {
  max-width: 68ch;
  margin-inline: auto;
}

.glance__prose h2 {
  font-size: clamp(1.55rem, 1.3rem + 1.4vw, 2.4rem);
  margin-top: 2.4em;
  padding-top: 1.1rem;
  border-top: 1px solid var(--brass-line);
}

.glance__prose h2:first-child {
  margin-top: 0;
}

.glance__prose h3 {
  margin-top: 1.9em;
}

.glance__prose > * + * {
  margin-top: 1.05em;
}

.glance__prose a {
  border-bottom: 1px solid var(--brass-line);
  overflow-wrap: anywhere;
}

.terms-layout {
  display: grid;
  gap: clamp(1.75rem, 4vw, 4rem);
  grid-template-columns: 1fr;
  align-items: start;
  padding-block: clamp(2.5rem, 6vh, 4.5rem);
}

.terms-layout__inner {
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gutter);
  display: grid;
  gap: clamp(1.75rem, 4vw, 4rem);
  grid-template-columns: 1fr;
  align-items: start;
}

@media (min-width: 64rem) {
  .terms-layout__inner {
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
  }
}

.terms-index {
  display: none;
}

@media (min-width: 64rem) {
  .terms-index {
    display: block;
    position: sticky;
    top: calc(var(--header-h-condensed) + 1.5rem);
    max-height: calc(100vh - var(--header-h-condensed) - 3rem);
    overflow-y: auto;
    padding-right: 0.5rem;
    border-left: 1px solid var(--line);
  }
}

.terms-index__title {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brass);
  padding: 0 0 0.75rem 1rem;
}

.terms-index ol {
  display: grid;
}

.terms-index a {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: 0.4rem;
  align-items: baseline;
  min-height: 44px;
  padding: 0.55rem 0.5rem 0.55rem 1rem;
  margin-left: -1px;
  border-left: 1px solid transparent;
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.76rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  transition: color var(--dur-1) var(--ease-out),
    border-color var(--dur-1) var(--ease-out);
}

.terms-index a span:first-child {
  color: var(--brass);
  font-variant-numeric: tabular-nums;
}

.terms-index a:hover {
  color: var(--paper);
  border-left-color: var(--line-strong);
}

.terms-index a.is-current {
  color: var(--paper);
  border-left-color: var(--jewel-bright);
}

.terms-index a.is-current span:first-child {
  color: var(--jewel-bright);
}

.terms-jump {
  display: block;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

@media (min-width: 64rem) {
  .terms-jump {
    display: none;
  }
}

.terms-jump summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 52px;
  padding: 0.85rem 1rem;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 0.76rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--paper);
  list-style: none;
}

.terms-jump summary::-webkit-details-marker {
  display: none;
}

.terms-jump summary .icon {
  color: var(--brass);
  transition: transform var(--dur-2) var(--ease-out);
}

.terms-jump[open] summary .icon {
  transform: rotate(180deg);
}

.terms-jump ol {
  border-top: 1px solid var(--line);
  max-height: 60vh;
  overflow-y: auto;
}

.terms-jump a {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 0.5rem;
  min-height: 48px;
  align-items: center;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid var(--line);
  color: var(--paper);
  font-family: var(--font-mono);
  font-size: 0.8rem;
  line-height: 1.4;
}

.terms-jump a span:first-child {
  color: var(--brass);
  font-variant-numeric: tabular-nums;
}

.terms-column {
  min-width: 0;
  max-width: 72ch;
}

.terms-section {
  position: relative;
  isolation: isolate;
  padding-top: clamp(2rem, 5vh, 3.25rem);
  scroll-margin-top: calc(var(--header-h) + 1.5rem);
}

.terms-section + .terms-section {
  margin-top: clamp(1.5rem, 4vh, 2.5rem);
  border-top: 1px solid var(--line);
}

.terms-section__num {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.2em;
  color: var(--brass);
  margin-bottom: 0.6rem;
}

.terms-section h2 {
  font-size: clamp(1.5rem, 1.25rem + 1.5vw, 2.4rem);
  letter-spacing: 0.01em;
}

.terms-section > * + * {
  margin-top: 1.05em;
}

.terms-section p,
.terms-section li {
  font-size: 0.99rem;
  line-height: 1.66;
}

.terms-section p {
  color: var(--paper);
}

.terms-section ul li,
.terms-section ol li {
  position: relative;
  padding-left: 1.4rem;
  margin-top: 0.5em;
  color: var(--muted);
}

.terms-section ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.76em;
  width: 0.6rem;
  height: 1px;
  background: var(--brass);
}

.terms-section a {
  border-bottom: 1px solid var(--brass-faint);
  overflow-wrap: anywhere;
}

.terms-section .mono-def {
  display: grid;
  gap: 0.3rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--line);
  font-family: var(--font-mono);
  font-size: 0.82rem;
}

.terms-progress {
  position: fixed;
  left: 0;
  top: 0;
  height: 2px;
  width: 0;
  background: var(--jewel-bright);
  z-index: 95;
  transition: width 120ms linear;
}

.faq {
  padding-block: clamp(2.5rem, 7vh, 5rem);
}

.faq__inner {
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gutter);
  display: grid;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  grid-template-columns: 1fr;
  align-items: start;
}

@media (min-width: 62rem) {
  .faq__inner {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  }
}

.notfound {
  min-height: 70vh;
  display: flex;
  align-items: center;
  padding-top: calc(var(--header-h) + 3rem);
  padding-bottom: clamp(3rem, 8vh, 6rem);
}

.notfound__code {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(5rem, 2rem + 20vw, 16rem);
  line-height: 0.8;
  letter-spacing: -0.03em;
  color: var(--surface-raised);
  font-variant-numeric: tabular-nums;
}

.notfound__code em {
  font-style: normal;
  color: var(--jewel);
}

.notfound__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  margin-top: var(--s-4);
}

.thanks-band {
  padding-top: calc(var(--header-h) + clamp(4rem, 12vh, 8rem));
  padding-bottom: clamp(3rem, 8vh, 6rem);
}

.thanks-band__inner {
  width: 100%;
  max-width: 62rem;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.thanks-steps {
  display: grid;
  gap: 0;
  margin-top: var(--s-5);
  border-top: 1px solid var(--brass-line);
}

.thanks-steps li {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.15rem 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
}

.thanks-steps li span:first-child {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.14em;
  color: var(--brass);
  padding-top: 0.2rem;
}

.thanks-steps strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.15rem;
  letter-spacing: 0.04em;
  line-height: 1.1;
}

.thanks-steps p {
  margin-top: 0.35rem;
  color: var(--muted);
  font-size: 0.95rem;
}

.figure-band {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 56rem) {
  .figure-band {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.figure-band__cell {
  background: var(--surface);
  padding: clamp(1rem, 2vw, 1.5rem);
  min-width: 0;
}

.figure-band__cell dt {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
}

.figure-band__cell dd {
  margin: 0.5rem 0 0;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  color: var(--paper);
  font-variant-numeric: tabular-nums;
}

.figure-band__cell dd small {
  display: block;
  margin-top: 0.4rem;
  font-family: var(--font-mono);
  font-weight: 400;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--jewel-bright);
  text-transform: none;
}

.pull-figure {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.75rem;
  padding: 1rem 0;
  border-top: 1px solid var(--brass-line);
  border-bottom: 1px solid var(--brass-line);
}

.pull-figure b {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.25rem, 1.6rem + 3vw, 3.75rem);
  line-height: 0.85;
  color: var(--jewel-bright);
  font-variant-numeric: tabular-nums;
}

.pull-figure span {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  max-width: 26ch;
}

.gallery-strip {
  display: grid;
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 62rem) {
  .gallery-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gallery-strip__wide {
    grid-column: span 2;
  }
}

.gallery-strip .frame {
  aspect-ratio: 3 / 2;
}

.anchor-offset {
  scroll-margin-top: calc(var(--header-h) + 1.5rem);
}
