:root {
  --ink: #111111;
  --ink-soft: #2a2927;
  --paper: #fffdf9;
  --warm: #f5f1ea;
  --warm-deep: #e8e1d7;
  --mist: #e9eceb;
  --graphite: #1b1b19;
  --graphite-soft: #252522;
  --muted: #575955;
  --border: #d2cfc8;
  --orange: #f47b20;
  --orange-dark: #b84b0d;
  --critical: #c92a2a;
  --focus: #73b7ff;
  --max: 78rem;
  --measure: 70ch;
  --radius: 0.35rem;
  --shadow: 0 1.1rem 3rem rgb(17 17 17 / 8%);
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

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

html {
  color-scheme: light;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--warm);
  color: var(--ink);
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.62;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.menu-open {
  overflow: hidden;
}

.analytics-choice {
  position: fixed;
  z-index: 1100;
  right: 1rem;
  bottom: 1rem;
  width: min(calc(100% - 2rem), 35rem);
  padding: 1.25rem;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: var(--radius);
  background: var(--graphite);
  box-shadow: 0 1rem 3rem rgb(17 17 17 / 28%);
  color: var(--paper);
}

.analytics-choice[hidden] {
  display: none;
}

.analytics-choice h2 {
  margin: 0 0 0.55rem;
  color: inherit;
  font-size: clamp(1.2rem, 3vw, 1.5rem);
  line-height: 1.25;
}

.analytics-choice p {
  margin: 0;
  color: #f0eee9;
  font-size: 0.95rem;
}

.analytics-choice__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
  margin-top: 1rem;
}

.analytics-choice button,
.analytics-choice a {
  min-height: 2.75rem;
}

.analytics-choice button {
  padding: 0.65rem 0.9rem;
  border: 1px solid var(--paper);
  border-radius: 0.2rem;
  font-weight: 750;
  cursor: pointer;
}

.analytics-choice__allow {
  background: var(--orange);
  color: var(--ink);
}

.analytics-choice__deny {
  background: transparent;
  color: var(--paper);
}

.analytics-choice a {
  display: inline-flex;
  align-items: center;
  padding-inline: 0.2rem;
}

.analytics-preferences {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
  cursor: pointer;
}

.analytics-preferences:hover {
  text-decoration-color: var(--orange);
}

@media (max-width: 30rem) {
  .analytics-choice {
    right: 0.5rem;
    bottom: 0.5rem;
    width: calc(100% - 1rem);
    max-height: calc(100vh - 1rem);
    padding: 1rem;
    overflow-y: auto;
  }

  .analytics-choice__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .analytics-choice button {
    width: 100%;
  }

  .analytics-choice a {
    align-self: flex-start;
  }
}

img,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

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

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

a:hover {
  text-decoration-color: var(--orange);
}

:focus-visible {
  outline: 0.2rem solid var(--focus);
  outline-offset: 0.22rem;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 0.5rem;
  left: 0.5rem;
  padding: 0.65rem 0.9rem;
  background: var(--paper);
  color: var(--ink);
  transform: translateY(-160%);
}

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

.shell {
  width: min(calc(100% - 2.5rem), var(--max));
  margin-inline: auto;
}

.narrow {
  width: min(calc(100% - 2.5rem), 54rem);
  margin-inline: auto;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 1.8rem;
  height: 0.18rem;
  background: var(--orange);
  content: "";
}

.eyebrow--light {
  color: #c9c7c4;
}

h1,
h2,
h3 {
  margin: 0;
  font-weight: 650;
  letter-spacing: -0.035em;
  line-height: 1.04;
  text-wrap: balance;
}

h1 {
  max-width: 13ch;
  font-size: clamp(2.7rem, 7vw, 6.7rem);
}

h2 {
  max-width: 19ch;
  font-size: clamp(2rem, 4.2vw, 4rem);
}

h3 {
  font-size: clamp(1.15rem, 2vw, 1.5rem);
}

p {
  margin: 0;
}

p + p {
  margin-top: 1rem;
}

.lede {
  max-width: 52ch;
  color: var(--muted);
  font-size: clamp(1.1rem, 1.7vw, 1.35rem);
  line-height: 1.52;
}

.lede--light {
  color: #d5d3d0;
}

.site-header {
  position: relative;
  z-index: 100;
  border-bottom: 1px solid rgb(255 255 255 / 14%);
  background: var(--ink);
  color: var(--paper);
}

.header-inner {
  display: flex;
  min-height: 5.15rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  text-decoration: none;
}

.brand img {
  width: 8.7rem;
  height: auto;
}

.nav-wrap {
  display: flex;
  align-items: center;
  gap: 1.4rem;
}

.primary-nav ul {
  display: flex;
  align-items: center;
  gap: clamp(0.8rem, 2vw, 1.55rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.primary-nav a {
  position: relative;
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: #e8e6e3;
  font-size: 0.9rem;
  font-weight: 650;
  text-decoration: none;
}

.primary-nav a::after {
  position: absolute;
  right: 0;
  bottom: 0.35rem;
  left: 0;
  height: 0.15rem;
  background: var(--orange);
  content: "";
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 160ms ease, transform 160ms ease;
}

.primary-nav a:hover::after,
.primary-nav a[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.nav-cta,
.button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border: 1px solid transparent;
  border-radius: var(--radius);
  padding: 0.72rem 1.05rem;
  background: var(--orange);
  color: var(--ink);
  font-weight: 780;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.nav-cta:hover,
.button:hover {
  background: #ff8a49;
  text-decoration: none;
  transform: translateY(-1px);
}

.button--ghost {
  border-color: rgb(255 255 255 / 38%);
  background: transparent;
  color: var(--paper);
}

.button--ghost:hover {
  border-color: var(--paper);
  background: var(--paper);
  color: var(--ink);
}

.button--dark {
  background: var(--ink);
  color: var(--paper);
}

.button--dark:hover {
  background: var(--ink-soft);
  color: var(--paper);
}

.menu-toggle {
  display: none;
  min-width: 3rem;
  min-height: 3rem;
  border: 1px solid rgb(255 255 255 / 38%);
  border-radius: var(--radius);
  background: transparent;
  color: var(--paper);
  cursor: pointer;
  font-weight: 720;
}

.hero {
  position: relative;
  overflow: clip;
  background: radial-gradient(circle at 78% 34%, #2b241e 0, var(--ink) 35%, #0d0d0c 72%);
  color: var(--paper);
}

.hero::after {
  position: absolute;
  top: -9rem;
  right: -5rem;
  width: min(42vw, 40rem);
  aspect-ratio: 1;
  border: 1px solid rgb(255 255 255 / 13%);
  content: "";
  transform: rotate(45deg);
}

.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: min(47rem, calc(100vh - 5rem));
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
  padding-block: clamp(4.5rem, 9vw, 8rem);
}

.hero-copy {
  display: grid;
  align-content: center;
  gap: 1.65rem;
}

.hero-title span {
  display: block;
  color: var(--orange);
  font-size: 0.3em;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.5;
  text-transform: uppercase;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 0.4rem;
}

.hero-note {
  max-width: 48ch;
  color: #aaa7a3;
  font-size: 0.88rem;
}

.signal-map {
  position: relative;
  display: grid;
  min-height: 31rem;
  place-items: center;
}

.signal-map::before,
.signal-map::after {
  position: absolute;
  width: 78%;
  height: 1px;
  background: rgb(255 255 255 / 16%);
  content: "";
  transform-origin: center;
}

.signal-map::before {
  transform: rotate(34deg);
}

.signal-map::after {
  transform: rotate(-34deg);
}

.signal-core {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(17rem, 58vw);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 22%);
  background: rgb(17 17 17 / 82%);
  transform: rotate(45deg);
}

.signal-core::after {
  position: absolute;
  inset: 1rem;
  border: 1px solid var(--orange);
  content: "";
}

.signal-core span {
  max-width: 9rem;
  color: var(--paper);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(-45deg);
}

.signal-label {
  position: absolute;
  z-index: 3;
  padding: 0.35rem 0.55rem;
  background: var(--ink);
  color: #b9b6b2;
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.signal-label--one { top: 9%; left: 6%; }
.signal-label--two { top: 17%; right: 2%; }
.signal-label--three { bottom: 16%; left: 0; }
.signal-label--four { right: 4%; bottom: 6%; }

.section {
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.section--warm {
  background: var(--warm);
}

.section--mist {
  background: var(--mist);
}

.section--dark {
  background: var(--ink);
  color: var(--paper);
}

.section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(18rem, 0.55fr);
  align-items: end;
  gap: 3rem;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.section-head .lede {
  justify-self: end;
}

.audience-list {
  border-top: 1px solid var(--border);
}

.audience-link {
  display: grid;
  grid-template-columns: 4rem minmax(12rem, 0.75fr) minmax(15rem, 1fr) auto;
  align-items: center;
  gap: 1.6rem;
  min-height: 7.4rem;
  border-bottom: 1px solid var(--border);
  color: var(--ink);
  text-decoration: none;
  transition: background-color 160ms ease, padding 160ms ease;
}

.audience-link:hover {
  padding-inline: 1rem;
  background: var(--warm);
  text-decoration: none;
}

.audience-index {
  color: var(--orange-dark);
  font-size: 0.77rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.audience-link strong {
  font-size: clamp(1.25rem, 2.2vw, 1.8rem);
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.audience-link p {
  color: var(--muted);
}

.arrow {
  font-size: 1.65rem;
  line-height: 1;
}

.system-layout {
  display: grid;
  grid-template-columns: minmax(17rem, 0.42fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}

.system-copy {
  position: sticky;
  top: 2rem;
}

.topic-tabs {
  display: grid;
  gap: 0.45rem;
  margin: 2rem 0;
}

.topic-tab {
  display: grid;
  grid-template-columns: 2.3rem 1fr;
  min-height: 3.15rem;
  align-items: center;
  border: 0;
  border-left: 0.2rem solid var(--border);
  padding: 0.55rem 0.75rem;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-weight: 700;
  text-align: left;
}

.topic-tab span {
  color: var(--muted);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
}

.topic-tab:hover,
.topic-tab[aria-selected="true"] {
  border-left-color: var(--orange);
  background: var(--paper);
}

.topic-detail {
  min-height: 8.5rem;
  border-left: 0.2rem solid var(--orange);
  padding-left: 1.2rem;
}

.topic-detail h3 {
  margin-bottom: 0.7rem;
}

.topic-detail p {
  color: var(--muted);
}

.diagram-frame {
  position: relative;
  overflow: hidden;
  min-height: 39rem;
  border: 1px solid #c8c4be;
  background: var(--paper);
  box-shadow: var(--shadow);
}

.diagram-label {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  z-index: 2;
  padding: 0.35rem 0.55rem;
  background: var(--ink);
  color: var(--paper);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pv-diagram {
  width: 100%;
  height: auto;
  min-height: 39rem;
}

.pv-diagram .trace {
  fill: none;
  stroke: #aaa6a0;
  stroke-width: 3;
  transition: stroke 180ms ease, stroke-width 180ms ease, opacity 180ms ease;
}

.pv-diagram .trace-secondary {
  stroke-dasharray: 8 10;
}

.pv-diagram .node-box {
  fill: #f6f4f1;
  stroke: #45413d;
  stroke-width: 2;
  transition: fill 180ms ease, stroke 180ms ease;
}

.pv-diagram .node-text {
  fill: var(--ink);
  font-family: var(--font);
  font-size: 17px;
  font-weight: 700;
  text-anchor: middle;
}

.pv-diagram .node-sub {
  fill: var(--muted);
  font-family: var(--font);
  font-size: 12px;
  text-anchor: middle;
}

.diagram-frame[data-topic="connections"] .trace-dc,
.diagram-frame[data-topic="isolation"] .trace-isolation,
.diagram-frame[data-topic="energy"] .trace-energy,
.diagram-frame[data-topic="evidence"] .trace-evidence,
.diagram-frame[data-topic="maintenance"] .trace-maintenance {
  stroke: var(--orange-dark);
  stroke-width: 6;
}

.diagram-frame[data-topic="connections"] .node-connections .node-box,
.diagram-frame[data-topic="isolation"] .node-isolation .node-box,
.diagram-frame[data-topic="energy"] .node-energy .node-box,
.diagram-frame[data-topic="evidence"] .node-evidence .node-box,
.diagram-frame[data-topic="maintenance"] .node-maintenance .node-box {
  fill: #ffe1d0;
  stroke: var(--orange-dark);
  stroke-width: 4;
}

.static-fallback {
  margin-top: 1.2rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.knowledge-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.75fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}

.story-list {
  border-top: 1px solid var(--border);
}

.story {
  display: block;
  padding: 1.7rem 0;
  border-bottom: 1px solid var(--border);
  text-decoration: none;
}

.story:hover h3 {
  color: var(--orange-dark);
}

.story-type,
.meta {
  color: var(--muted);
  font-size: 0.77rem;
  font-weight: 760;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.story h3 {
  max-width: 31ch;
  margin: 0.55rem 0;
}

.story p {
  max-width: 58ch;
  color: var(--muted);
}

.bulletin-panel {
  align-self: start;
  padding: clamp(1.6rem, 4vw, 2.8rem);
  background: var(--ink);
  color: var(--paper);
}

.bulletin-panel h3 {
  margin: 0.8rem 0 1rem;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.bulletin-panel > p {
  color: #c9c7c4;
}

.bulletin-categories {
  display: grid;
  gap: 0;
  margin: 2rem 0;
  padding: 0;
  border-top: 1px solid rgb(255 255 255 / 19%);
  list-style: none;
}

.bulletin-categories li {
  padding: 0.9rem 0;
  border-bottom: 1px solid rgb(255 255 255 / 19%);
  font-size: 0.92rem;
}

.trust-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.55fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
}

.trust-principle {
  max-width: 20ch;
  margin-top: 1.8rem;
  font-size: clamp(1.55rem, 3vw, 2.6rem);
  font-weight: 590;
  letter-spacing: -0.03em;
  line-height: 1.22;
}

.trust-aside {
  border-top: 1px solid rgb(255 255 255 / 24%);
  padding-top: 1.5rem;
}

.trust-aside p {
  color: #c9c7c4;
}

.trust-aside .button {
  margin-top: 1.6rem;
}

.site-footer {
  border-top: 1px solid rgb(255 255 255 / 15%);
  background: var(--ink);
  color: var(--paper);
}

.footer-main {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) minmax(22rem, 1.1fr);
  gap: 4rem;
  padding-block: 3.5rem;
}

.footer-brand img {
  width: 8.2rem;
  height: auto;
  margin-bottom: 1.2rem;
}

.footer-brand p {
  max-width: 32rem;
  color: #b9b6b2;
  font-size: 0.9rem;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1.5rem;
  align-content: start;
}

.footer-links a {
  min-height: 2.35rem;
  color: #e8e6e3;
  text-decoration: none;
}

.footer-links a:hover {
  color: var(--orange);
}

.footer-legal {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  padding-block: 1.25rem;
  border-top: 1px solid rgb(255 255 255 / 15%);
  color: #918e8a;
  font-size: 0.78rem;
}

/* Supporting pages */
.page-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
  background: linear-gradient(135deg, var(--ink) 0%, #23211e 72%, #30261f 100%);
  color: var(--paper);
}

.page-hero::after {
  position: absolute;
  right: -8rem;
  bottom: -18rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgb(255 255 255 / 14%);
  content: "";
  transform: rotate(45deg);
}

.page-hero .shell {
  position: relative;
  z-index: 1;
}

.page-hero h1 {
  max-width: 15ch;
  font-size: clamp(2.7rem, 6vw, 5.4rem);
}

.page-hero .lede {
  margin-top: 1.6rem;
}

.breadcrumb {
  margin-bottom: 2.2rem;
  color: #b9b6b2;
  font-size: 0.82rem;
}

.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumb li + li::before {
  margin-right: 0.45rem;
  color: var(--orange);
  content: "/";
}

.breadcrumb a {
  color: #e8e6e3;
}

.content-grid {
  display: grid;
  grid-template-columns: minmax(13rem, 0.34fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 7vw, 7rem);
}

.page-hero + .section {
  background: var(--paper);
}

.side-note {
  align-self: start;
  border-top: 0.2rem solid var(--orange);
  padding-top: 1rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.prose {
  max-width: var(--measure);
}

.prose > * + * {
  margin-top: 1.25rem;
}

.prose h2 {
  margin-top: 3.6rem;
  font-size: clamp(1.8rem, 3.3vw, 3rem);
}

.prose h3 {
  margin-top: 2.4rem;
}

.prose ul,
.prose ol {
  padding-left: 1.25rem;
}

.prose li + li {
  margin-top: 0.6rem;
}

.prose a {
  font-weight: 700;
}

.callout {
  margin-block: 2rem;
  border-left: 0.25rem solid var(--orange);
  padding: 1.2rem 1.35rem;
  background: var(--warm);
}

.callout--critical {
  border-left-color: var(--critical);
  background: #fff0f0;
}

.callout strong {
  display: block;
  margin-bottom: 0.35rem;
}

.axis-grid,
.topic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 2.5rem;
  background: var(--border);
  border: 1px solid var(--border);
}

.axis-item,
.topic-card {
  padding: 1.5rem;
  background: var(--paper);
}

.axis-item h3,
.topic-card h3 {
  margin-bottom: 0.7rem;
}

.axis-item p,
.topic-card p {
  color: var(--muted);
}

.topic-card {
  display: block;
  min-height: 13rem;
  text-decoration: none;
}

.topic-card:hover {
  background: #fff8f3;
  text-decoration: none;
}

.topic-card .arrow {
  display: block;
  margin-top: 1.5rem;
  color: var(--orange-dark);
}

.evidence-chain {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 2.5rem 0;
  border-top: 1px solid var(--border);
  border-left: 1px solid var(--border);
}

.evidence-step {
  min-height: 7rem;
  padding: 1rem;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.evidence-step span {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--orange-dark);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.09em;
}

.article-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 2rem 0;
  padding: 1.25rem;
  background: var(--warm);
}

.article-meta strong {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.article-meta span {
  color: var(--muted);
  font-size: 0.9rem;
}

.brand-display {
  display: grid;
  min-height: 14rem;
  place-items: center;
  margin-block: 2rem;
  border: 1px solid var(--border);
  padding: 2rem;
  background: var(--paper);
}

.brand-display img {
  width: min(100%, 31rem);
  height: auto;
}

.legal-draft {
  border-block: 1px solid #e3a4a4;
  padding-block: 0.85rem;
  background: #fff0f0;
  color: #7f1d1d;
  font-weight: 750;
  text-align: center;
}

.form-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(20rem, 1fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}

.contact-form {
  padding: clamp(1.4rem, 4vw, 2.7rem);
  border: 1px solid var(--border);
  background: var(--warm);
}

.contact-form fieldset {
  min-width: 0;
  margin-inline: 0;
  border: 0;
  padding: 0;
}

.field {
  margin-bottom: 1.25rem;
}

.field label,
.fieldset-legend {
  display: block;
  margin-bottom: 0.45rem;
  font-weight: 720;
}

.field small {
  display: block;
  margin-top: 0.35rem;
  color: var(--muted);
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 3.1rem;
  border: 1px solid #85817b;
  border-radius: 0.2rem;
  padding: 0.7rem 0.8rem;
  background: var(--paper);
  color: var(--ink);
}

.field textarea {
  min-height: 8rem;
  resize: vertical;
}

.field input[aria-invalid="true"],
.field select[aria-invalid="true"],
.field textarea[aria-invalid="true"] {
  border: 0.15rem solid var(--critical);
}

.field-error {
  display: none;
  margin-top: 0.35rem;
  color: #8d1d1d;
  font-size: 0.88rem;
  font-weight: 650;
}

.field-error.is-visible {
  display: block;
}

.radio-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.radio-choice {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid #85817b;
  background: var(--paper);
}

.radio-choice input {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
}

.form-status {
  min-height: 3rem;
  margin-top: 1rem;
  border-left: 0.25rem solid var(--orange);
  padding: 0.75rem 1rem;
  background: var(--paper);
  color: var(--ink);
}

.prototype-note {
  margin-bottom: 1.5rem;
  border: 1px dashed #837e77;
  padding: 0.9rem 1rem;
  color: var(--muted);
  font-size: 0.9rem;
}

/* Visual refinement 02 */
.hero--index::after {
  top: 6%;
  right: 5%;
  width: min(36vw, 34rem);
  border-color: rgb(244 123 32 / 18%);
}

.hero-grid--index {
  min-height: min(48rem, calc(100vh - 5rem));
  grid-template-columns: minmax(0, 0.9fr) minmax(27rem, 1.1fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  padding-block: clamp(3.5rem, 7vw, 6.5rem) 2.2rem;
}

.hero--index h1 {
  max-width: 10ch;
  font-size: clamp(3.25rem, 6.7vw, 6.2rem);
}

.hero--index .hero-title span {
  margin-top: 0.25rem;
  color: #ff9a45;
  font-size: 0.43em;
  letter-spacing: -0.025em;
  line-height: 1.1;
  text-transform: none;
}

.hero-audiences {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.2rem;
  margin: 0;
  padding: 0;
  color: #c7c4bd;
  font-size: 0.84rem;
  list-style: none;
}

.hero-audiences li {
  position: relative;
  padding-left: 0.8rem;
}

.hero-audiences li::before {
  position: absolute;
  top: 0.63em;
  left: 0;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background: var(--orange);
  content: "";
}

.hero-disclaimer {
  position: relative;
  z-index: 2;
  padding-block: 1.1rem;
  border-top: 1px solid rgb(255 255 255 / 12%);
  color: #aaa69e;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.risk-posture {
  position: relative;
  margin: 0;
  border: 1px solid rgb(255 255 255 / 17%);
  padding: clamp(1.1rem, 2.5vw, 2rem);
  background: linear-gradient(145deg, rgb(255 255 255 / 6%), rgb(255 255 255 / 1%));
  box-shadow: 0 2rem 5rem rgb(0 0 0 / 28%);
}

.posture-kicker {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #e7e1d8;
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.posture-kicker span {
  color: #ffab62;
}

.risk-gauge {
  position: relative;
  margin-top: 0.4rem;
}

.risk-gauge svg {
  width: 100%;
}

.gauge-track {
  fill: none;
  stroke-linecap: butt;
  stroke-width: 28;
}

.gauge-low { stroke: #3f8371; }
.gauge-moderate { stroke: #c6a62a; }
.gauge-elevated { stroke: #ed7b20; }
.gauge-critical { stroke: #b92e2e; }

.gauge-needle {
  stroke: #fff9f1;
  stroke-linecap: round;
  stroke-width: 5;
  filter: drop-shadow(0 0 0.4rem rgb(244 123 32 / 45%));
}

.gauge-hub {
  fill: var(--orange);
  stroke: #fff9f1;
  stroke-width: 4;
}

.gauge-centre {
  position: absolute;
  bottom: 7%;
  left: 50%;
  display: grid;
  transform: translateX(-50%);
  text-align: center;
}

.gauge-centre strong {
  color: #ff9a45;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  letter-spacing: -0.03em;
}

.gauge-centre span {
  color: #aaa69e;
  font-size: 0.72rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.gauge-scale {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  color: #bdb9b2;
  font-size: 0.65rem;
  line-height: 1.25;
  text-align: center;
}

.risk-posture figcaption {
  margin-top: 1rem;
  border-top: 1px solid rgb(255 255 255 / 13%);
  padding-top: 0.85rem;
  color: #a8a49c;
  font-size: 0.76rem;
}

.posture-flow {
  padding-block: clamp(3rem, 5vw, 4.5rem);
  background: linear-gradient(180deg, var(--graphite) 0%, var(--graphite-soft) 100%);
  color: var(--paper);
}

.posture-flow h2 {
  max-width: 24ch;
  font-size: clamp(1.8rem, 3vw, 3rem);
}

.flow-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 2.2rem 0 1rem;
  padding: 0;
  border-block: 1px solid rgb(255 255 255 / 15%);
  list-style: none;
}

.flow-steps li {
  position: relative;
  display: grid;
  min-height: 8rem;
  align-content: center;
  gap: 0.2rem;
  padding: 1.1rem 1.5rem 1.1rem 1rem;
  border-right: 1px solid rgb(255 255 255 / 15%);
}

.flow-steps li::after {
  position: absolute;
  top: 50%;
  right: -0.38rem;
  z-index: 2;
  width: 0.7rem;
  height: 0.7rem;
  border-top: 0.12rem solid var(--orange);
  border-right: 0.12rem solid var(--orange);
  background: var(--graphite-soft);
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.flow-steps li:last-child { border-right: 0; }
.flow-steps li:last-child::after { display: none; }
.flow-steps span { color: #f8a45e; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; }
.flow-steps strong { font-size: clamp(1rem, 1.7vw, 1.35rem); }
.flow-steps small { color: #aaa69e; font-size: 0.78rem; }
.flow-note { max-width: 74ch; color: #aaa69e; font-size: 0.8rem; }

.section--ecosystem {
  background: linear-gradient(180deg, #e7e2da 0%, var(--warm) 22%, var(--paper) 100%);
}

.ecosystem-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.55fr);
  align-items: end;
  gap: 3rem;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.ecosystem-intro .lede { justify-self: end; }

.ecosystem-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(21rem, 0.65fr);
  gap: 1.25rem;
}

.ecosystem-stage {
  position: relative;
  min-width: 0;
  border: 1px solid #c7c2b9;
  background: #181816;
  box-shadow: var(--shadow);
}

.ecosystem-stage .diagram-label {
  background: var(--orange);
  color: var(--ink);
}

.ecosystem-diagram {
  width: 100%;
  min-height: 34rem;
}

.ecosystem-diagram .eco-roof,
.ecosystem-diagram .eco-trace,
.ecosystem-diagram .eco-orbit path {
  fill: none;
  stroke: #6f6c65;
  stroke-width: 3;
}

.ecosystem-diagram .eco-roof { stroke: #918d84; stroke-width: 2; }
.ecosystem-diagram .eco-orbit path { stroke: #4c4b47; stroke-dasharray: 9 12; }
.ecosystem-diagram .eco-node rect,
.ecosystem-diagram .eco-node circle,
.ecosystem-diagram .eco-badge circle {
  fill: #242421;
  stroke: #8b8880;
  stroke-width: 2;
}

.ecosystem-diagram .eco-node path,
.ecosystem-diagram .eco-badge path {
  fill: none;
  stroke: #c8c3ba;
  stroke-width: 2;
}

.ecosystem-diagram text {
  fill: #dcd7cf;
  font-family: var(--font);
  font-size: 16px;
  font-weight: 700;
  text-anchor: middle;
}

.ecosystem-diagram .eco-badge text { font-size: 14px; }

.ecosystem-diagram[data-topic="modules"] .node-modules rect,
.ecosystem-diagram[data-topic="connections"] .node-connections circle,
.ecosystem-diagram[data-topic="isolation"] .node-isolation rect,
.ecosystem-diagram[data-topic="energy"] .node-energy rect,
.ecosystem-diagram[data-topic="evidence"] .node-evidence circle,
.ecosystem-diagram[data-topic="maintenance"] .node-maintenance circle,
.ecosystem-diagram[data-topic="emergency"] .node-emergency circle,
.ecosystem-diagram[data-topic="accountability"] .node-accountability circle {
  fill: #4a2c1a;
  stroke: #ff8a31;
  stroke-width: 5;
}

.ecosystem-diagram[data-topic="connections"] .trace-connections,
.ecosystem-diagram[data-topic="isolation"] .trace-isolation,
.ecosystem-diagram[data-topic="energy"] .trace-energy {
  stroke: #ff8a31;
  stroke-width: 6;
}

.eco-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.2rem;
  padding: 0.8rem 1rem;
  border-top: 1px solid rgb(255 255 255 / 12%);
  color: #aaa69e;
  font-size: 0.72rem;
}

.eco-legend span::before {
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-right: 0.4rem;
  border: 1px solid var(--orange);
  content: "";
  transform: rotate(45deg);
}

.ecosystem-controls {
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--border);
  background: var(--paper);
}

.topic-tabs--hotspots {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  background: var(--border);
}

.topic-tabs--hotspots .topic-tab {
  min-height: 4.4rem;
  border: 0;
  border-bottom: 0.2rem solid transparent;
  background: var(--paper);
}

.topic-tabs--hotspots .topic-tab:hover,
.topic-tabs--hotspots .topic-tab[aria-selected="true"] {
  border-bottom-color: var(--orange);
  background: #fff5eb;
}

.topic-detail--ecosystem {
  min-height: 0;
  margin: 1.5rem;
  padding-left: 1.35rem;
}

.detail-label {
  margin-bottom: 0.5rem;
  color: var(--orange-dark);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.topic-detail--ecosystem dl { margin: 1rem 0; }
.topic-detail--ecosystem dl div { display: grid; grid-template-columns: 5.2rem 1fr; gap: 0.8rem; padding-block: 0.65rem; border-top: 1px solid var(--border); }
.topic-detail--ecosystem dt { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.topic-detail--ecosystem dd { margin: 0; color: var(--muted); font-size: 0.9rem; }
.text-link { color: var(--ink); font-size: 0.9rem; font-weight: 780; }

.section--partner {
  background: linear-gradient(145deg, #111110 0%, #26221e 64%, #35261d 100%);
  color: var(--paper);
}

.partner-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(26rem, 1fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.partner-grid .lede { margin: 1.5rem 0 2rem; }

.partner-orbit {
  position: relative;
  min-height: 30rem;
  border: 1px solid rgb(255 255 255 / 15%);
  background: radial-gradient(circle at center, rgb(244 123 32 / 14%) 0 14%, transparent 15%), repeating-radial-gradient(circle at center, transparent 0 5.6rem, rgb(255 255 255 / 10%) 5.65rem 5.72rem);
}

.orbit-core,
.orbit-role {
  position: absolute;
  display: grid;
  place-items: center;
  text-align: center;
}

.orbit-core {
  top: 50%;
  left: 50%;
  width: 9rem;
  height: 9rem;
  border: 1px solid var(--orange);
  background: var(--ink);
  transform: translate(-50%, -50%) rotate(45deg);
}

.orbit-core strong,
.orbit-core span { transform: rotate(-45deg); }
.orbit-core strong { color: #ff9a45; font-size: 1.5rem; letter-spacing: 0.08em; }
.orbit-core span { margin-top: -2rem; color: #aaa69e; font-size: 0.7rem; }

.orbit-role {
  min-height: 3rem;
  border: 1px solid rgb(255 255 255 / 25%);
  padding: 0.55rem 0.8rem;
  background: #1a1917;
  color: #e7e1d8;
  font-size: 0.8rem;
  font-weight: 700;
}

.orbit-role--one { top: 8%; left: 50%; transform: translateX(-50%); }
.orbit-role--two { top: 29%; right: 5%; }
.orbit-role--three { right: 12%; bottom: 9%; }
.orbit-role--four { bottom: 9%; left: 10%; }
.orbit-role--five { top: 29%; left: 4%; }
.partner-note { margin-top: 2rem; color: #a8a49c; font-size: 0.76rem; }

.visual-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 2rem 0 2.5rem;
  border: 1px solid var(--border);
  background: var(--border);
}

.visual-summary > div {
  min-height: 9rem;
  padding: 1.25rem;
  background: var(--warm);
}

.visual-summary span,
.visual-summary strong { display: block; }
.visual-summary span { margin-bottom: 1.2rem; color: var(--orange-dark); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.visual-summary strong { font-size: 1.1rem; line-height: 1.25; }
.visual-summary p { margin-top: 0.55rem; color: var(--muted); font-size: 0.88rem; }

.method-statement {
  margin: 2rem 0;
  border: 1px solid var(--border);
  border-left: 0.35rem solid var(--orange);
  padding: clamp(1.25rem, 3vw, 2rem);
  background: #fff7ee;
}

.method-statement p { font-size: clamp(1.15rem, 2.1vw, 1.55rem); font-weight: 620; line-height: 1.35; }

.lifecycle-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin: 2rem 0;
  padding: 0;
  border: 1px solid var(--border);
  list-style: none;
}

.lifecycle-strip li {
  min-height: 5.6rem;
  padding: 0.9rem 0.6rem;
  border-right: 1px solid var(--border);
  background: var(--warm);
  color: var(--ink);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}

.lifecycle-strip li:last-child { border-right: 0; }
.lifecycle-strip span { display: block; margin-bottom: 0.35rem; color: var(--orange-dark); }

.page-hero--insurer::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0 52%, rgb(244 123 32 / 8%) 52% 53%, transparent 53% 100%), repeating-linear-gradient(0deg, transparent 0 3.9rem, rgb(255 255 255 / 4%) 4rem);
  content: "";
}

.page-hero--insurer .hero-audiences {
  margin-top: 2rem;
}

.partner-architecture {
  margin: 2rem 0 0.7rem;
  border: 1px solid #514e48;
  padding: clamp(1rem, 3vw, 2rem);
  background: var(--graphite);
  color: var(--paper);
}

.architecture-layer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgb(244 123 32 / 48%);
  color: #c9c5bd;
  font-size: 0.78rem;
}

.architecture-layer strong { color: #ffab62; }

.architecture-row {
  display: grid;
  grid-template-columns: 1fr 0.8fr 1fr;
  align-items: center;
  gap: 1rem;
  padding-block: 2rem;
}

.architecture-row > div {
  position: relative;
  display: grid;
  min-height: 7rem;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 18%);
  padding: 1rem;
  text-align: center;
}

.architecture-row > div:first-child::after,
.architecture-row > div:nth-child(2)::after {
  position: absolute;
  top: 50%;
  right: -1rem;
  width: 1rem;
  border-top: 1px solid var(--orange);
  content: "";
}

.architecture-row span {
  color: #aaa69e;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.architecture-row strong { font-size: 1rem; }
.architecture-row .architecture-core { border-color: var(--orange); background: #342216; }
.architecture-core strong { color: #ff9a45; font-size: 1.8rem; letter-spacing: 0.08em; }

.architecture-roles {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  background: rgb(255 255 255 / 15%);
}

.architecture-roles span {
  display: grid;
  min-height: 4rem;
  place-items: center;
  padding: 0.6rem;
  background: #242421;
  color: #d6d1c9;
  font-size: 0.72rem;
  font-weight: 700;
  text-align: center;
}

.diagram-footnote {
  color: var(--muted);
  font-size: 0.78rem;
}

@media (max-width: 68rem) {
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .nav-wrap {
    gap: 0.75rem;
  }

  .primary-nav {
    position: fixed;
    inset: 5.15rem 0 auto;
    max-height: calc(100vh - 5.15rem);
    overflow-y: auto;
    border-top: 1px solid rgb(255 255 255 / 14%);
    background: var(--ink);
    visibility: hidden;
    opacity: 0;
    transform: translateY(-0.6rem);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  }

  .primary-nav[data-open="true"] {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }

  .primary-nav ul {
    display: grid;
    width: min(calc(100% - 2.5rem), var(--max));
    gap: 0;
    margin-inline: auto;
    padding-block: 1.2rem 2rem;
  }

  .primary-nav li {
    border-bottom: 1px solid rgb(255 255 255 / 14%);
  }

  .primary-nav a {
    min-height: 3.6rem;
  }

  .primary-nav a::after {
    display: none;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .hero-grid--index {
    grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 1.1fr);
  }

  .signal-map {
    min-height: 25rem;
  }

  .section-head,
  .system-layout,
  .knowledge-layout,
  .trust-grid,
  .content-grid,
  .form-layout {
    grid-template-columns: 1fr;
  }

  .ecosystem-intro,
  .partner-grid {
    grid-template-columns: 1fr;
  }

  .ecosystem-layout {
    grid-template-columns: 1fr;
  }

  .ecosystem-controls {
    grid-template-columns: minmax(17rem, 0.75fr) minmax(0, 1fr);
    grid-template-rows: 1fr;
  }

  .ecosystem-intro .lede {
    justify-self: start;
  }

  .lifecycle-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .architecture-roles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lifecycle-strip li:nth-child(4) { border-right: 0; }
  .lifecycle-strip li:nth-child(n+5) { border-top: 1px solid var(--border); }

  .section-head .lede {
    justify-self: start;
  }

  .system-copy {
    position: static;
  }

  .topic-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .topic-tab {
    border-left: 0;
    border-bottom: 0.2rem solid var(--border);
  }

  .topic-tab:hover,
  .topic-tab[aria-selected="true"] {
    border-bottom-color: var(--orange);
  }

  .footer-main {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

@media (max-width: 48rem) {
  .shell,
  .narrow {
    width: min(calc(100% - 2rem), var(--max));
  }

  .header-inner {
    min-height: 4.5rem;
  }

  .brand img {
    width: 7.2rem;
  }

  .nav-cta {
    display: none;
  }

  .primary-nav {
    inset-block-start: 4.5rem;
    max-height: calc(100vh - 4.5rem);
  }

  .hero-grid {
    gap: 2rem;
    padding-block: 4.5rem 3.5rem;
  }

  .hero-grid--index {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    padding-block: 2.6rem 1.4rem;
  }

  .hero--index h1 {
    font-size: clamp(2.75rem, 14vw, 4.2rem);
  }

  .hero--index .hero-copy {
    gap: 1.15rem;
  }

  .hero--index .lede {
    font-size: 1rem;
  }

  .hero-audiences {
    display: none;
  }

  .risk-posture {
    padding: 0.9rem;
  }

  .posture-kicker {
    font-size: 0.66rem;
  }

  .risk-gauge {
    max-width: 24rem;
    margin-inline: auto;
  }

  .gauge-track { stroke-width: 23; }
  .gauge-scale { display: none; }
  .risk-posture figcaption { margin-top: 0; font-size: 0.69rem; }
  .hero-disclaimer { font-size: 0.64rem; letter-spacing: 0.06em; }

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

  .flow-steps li {
    min-height: 4.7rem;
    grid-template-columns: 2.4rem 1fr;
    grid-template-rows: auto auto;
    align-content: center;
    border-right: 0;
    border-bottom: 1px solid rgb(255 255 255 / 15%);
  }

  .flow-steps li::after {
    top: auto;
    right: 1rem;
    bottom: -0.35rem;
    transform: rotate(135deg);
  }

  .flow-steps li:last-child { border-bottom: 0; }
  .flow-steps span { grid-row: 1 / 3; align-self: center; }

  .ecosystem-stage {
    min-height: 20rem;
  }

  .ecosystem-diagram {
    min-height: 20rem;
  }

  .ecosystem-controls {
    grid-template-columns: 1fr;
  }

  .topic-tabs--hotspots {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .topic-tabs--hotspots .topic-tab {
    min-height: 3.6rem;
    font-size: 0.8rem;
  }

  .topic-detail--ecosystem dl div {
    grid-template-columns: 4.6rem 1fr;
  }

  .partner-orbit {
    min-height: 23rem;
  }

  .orbit-core {
    width: 7rem;
    height: 7rem;
  }

  .orbit-role {
    max-width: 7.5rem;
    min-height: 2.6rem;
    font-size: 0.68rem;
  }

  .visual-summary {
    grid-template-columns: 1fr;
  }

  .visual-summary > div {
    min-height: 0;
  }

  .lifecycle-strip {
    grid-template-columns: 1fr;
  }

  .lifecycle-strip li,
  .lifecycle-strip li:nth-child(4) {
    min-height: 3.8rem;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .architecture-layer {
    display: grid;
  }

  .architecture-row {
    grid-template-columns: 1fr;
  }

  .architecture-row > div:first-child::after,
  .architecture-row > div:nth-child(2)::after {
    top: auto;
    right: 50%;
    bottom: -1rem;
    width: 0;
    height: 1rem;
    border-top: 0;
    border-right: 1px solid var(--orange);
  }

  .architecture-roles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-actions {
    display: grid;
  }

  .button {
    width: 100%;
  }

  .signal-map {
    min-height: 19rem;
  }

  .signal-core {
    width: 13rem;
  }

  .signal-label--one { top: 2%; left: 0; }
  .signal-label--two { top: 12%; right: 0; }
  .signal-label--three { bottom: 10%; left: 0; }
  .signal-label--four { right: 0; bottom: 0; }

  .audience-link {
    grid-template-columns: 2.4rem 1fr auto;
    gap: 0.8rem;
    min-height: 6.7rem;
  }

  .audience-link p {
    display: none;
  }

  .topic-tabs {
    grid-template-columns: 1fr;
  }

  .diagram-frame,
  .pv-diagram {
    min-height: 27rem;
  }

  .axis-grid,
  .topic-grid,
  .article-meta {
    grid-template-columns: 1fr;
  }

  .evidence-chain {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-links {
    grid-template-columns: 1fr;
  }

  .footer-legal {
    display: grid;
  }

  .radio-row {
    display: grid;
  }

  .radio-choice {
    width: 100%;
  }
}

/* Launch Readiness 01: resource directory and no-form contact presentation */
.section--resources {
  background: var(--ink);
  color: var(--paper);
}

.section--resources .eyebrow,
.section--resources .resource-type {
  color: #f8a45e;
}

.section--resources .lede,
.section--resources .resource-card p,
.section--resources .resource-note {
  color: #bdb9b1;
}

.resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #3d3b38;
  border-left: 1px solid #3d3b38;
}

.resource-card {
  display: flex;
  min-width: 0;
  min-height: 18rem;
  flex-direction: column;
  padding: clamp(1.4rem, 2.5vw, 2.3rem);
  border-right: 1px solid #3d3b38;
  border-bottom: 1px solid #3d3b38;
}

.resource-card:last-child {
  grid-column: span 3;
  min-height: auto;
}

.resource-type {
  margin: 0 0 2.5rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.resource-card h3 {
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 1.8rem);
}

.resource-card p:not(.resource-type) {
  margin: 0.8rem 0 1.8rem;
}

.resource-card a {
  margin-top: auto;
  color: var(--paper);
  font-weight: 760;
  text-decoration-color: var(--orange);
  text-underline-offset: 0.35em;
}

.resource-card a:hover,
.resource-card a:focus-visible {
  color: #f8a45e;
}

.resource-note {
  max-width: 78ch;
  margin: 1.4rem 0 0;
  font-size: 0.82rem;
}

.contact-launch-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.9fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.contact-launch-card {
  padding: clamp(1.6rem, 3.5vw, 3rem);
  border-top: 0.35rem solid var(--orange);
  background: var(--warm);
}

.contact-launch-card h2 {
  margin-top: 0.3rem;
}

.contact-launch-card .button {
  margin-top: 1rem;
}

.external-note {
  color: var(--muted);
  font-size: 0.8rem;
}

.contact-gate {
  display: grid;
  gap: 0.35rem;
  margin-top: 2rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--border);
}

.contact-gate strong {
  color: var(--orange-dark);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-gate span {
  color: var(--muted);
  font-size: 0.9rem;
}

.page-hero--404 h1 {
  max-width: 13ch;
}

@media (max-width: 68rem) {
  .resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .resource-card:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 48rem) {
  .resource-grid,
  .contact-launch-layout {
    grid-template-columns: 1fr;
  }

  .resource-card,
  .resource-card:last-child {
    grid-column: auto;
    min-height: auto;
  }

  .resource-type {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 22.5rem) {
  h1 {
    font-size: 2.45rem;
  }

  .signal-map {
    min-height: 17rem;
  }

  .signal-core {
    width: 11rem;
  }

  .audience-link {
    grid-template-columns: 2rem 1fr auto;
  }

  .evidence-chain {
    grid-template-columns: 1fr;
  }
}

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

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

@media print {
  .site-header,
  .site-footer,
  .hero-actions,
  .menu-toggle,
  .topic-tabs,
  .nav-cta {
    display: none !important;
  }

  body,
  .hero,
  .page-hero,
  .section--dark {
    background: #fff !important;
    color: #000 !important;
  }

  .shell,
  .narrow {
    width: 100%;
  }

  a {
    text-decoration: underline;
  }

  .section,
  .page-hero {
    padding-block: 2rem;
  }
}

/* Website alignment, 13 September 2026 */
.hero--landscape {
  background:
    radial-gradient(circle at 72% 38%, rgb(91 52 28 / 30%) 0, transparent 34%),
    linear-gradient(135deg, #0d0e0d 0%, #151513 58%, #211b17 100%);
}

.hero-title--alignment {
  max-width: 11ch;
  font-size: clamp(3rem, 6.2vw, 6.1rem);
}

.risk-landscape {
  position: relative;
  min-width: 0;
  margin: 0;
  border: 1px solid rgb(255 255 255 / 18%);
  background: #151614;
  box-shadow: 0 2rem 6rem rgb(0 0 0 / 36%);
}

.landscape-kicker {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid rgb(255 255 255 / 13%);
  color: #b7b4ae;
  font-size: 0.68rem;
  font-weight: 780;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.landscape-kicker span:first-child {
  color: #ff9a45;
}

.risk-landscape svg {
  width: 100%;
  color: #f7f3ec;
}

.landscape-roof,
.landscape-line,
.landscape-thread,
.landscape-action-line {
  fill: none;
  stroke: #66645f;
  stroke-width: 2;
}

.landscape-line--active,
.landscape-action-line {
  stroke: var(--orange);
  stroke-dasharray: 9 8;
}

.landscape-array rect,
.landscape-node rect,
.landscape-node circle {
  fill: #20211f;
  stroke: #a19d94;
  stroke-width: 2;
}

.landscape-array path,
.landscape-node path {
  fill: none;
  stroke: #c8c3ba;
  stroke-width: 2;
}

.landscape-array text,
.landscape-node text,
.landscape-action text {
  fill: #ded9d0;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 720;
  text-anchor: middle;
}

.landscape-card rect,
.landscape-card > path:first-child {
  fill: #20211f;
  stroke: #75726c;
  stroke-width: 1.5;
}

.landscape-card text {
  fill: #d9d5cd;
  font-family: var(--font);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.landscape-card path,
.landscape-card circle {
  fill: none;
  stroke: #817e77;
  stroke-width: 1.5;
}

.landscape-card--method > path:first-child {
  fill: #332217;
  stroke: var(--orange);
}

.landscape-card--method text {
  fill: #ff9a45;
  text-anchor: middle;
}

.landscape-card--unknown rect {
  stroke-dasharray: 6 5;
}

.landscape-card .landscape-question {
  fill: #aaa69e;
  font-size: 30px;
}

.landscape-action circle,
.landscape-action path {
  fill: none;
  stroke: var(--orange);
  stroke-width: 2;
}

.landscape-action text {
  text-anchor: start;
}

.landscape-status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.4rem;
  padding: 0.85rem 1.2rem;
  border-top: 1px solid rgb(255 255 255 / 13%);
  color: #c7c2ba;
  font-size: 0.72rem;
}

.landscape-status span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.status-mark {
  width: 0.65rem;
  height: 0.65rem;
  border: 1px solid #cbc6bd;
}

.status-mark--known { background: #cbc6bd; }
.status-mark--gap { border-style: dashed; background: transparent; }
.status-mark--action { border-color: var(--orange); background: var(--orange); transform: rotate(45deg); }

.risk-landscape figcaption {
  padding: 0 1.2rem 1rem;
  color: #97938b;
  font-size: 0.72rem;
}

.section-head--compact {
  margin-bottom: 2.5rem;
}

.section--visible {
  background: #e7e4de;
}

.visibility-landscape {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(13rem, auto);
  gap: 1px;
  border: 1px solid #c9c5bd;
  background: #c9c5bd;
}

.visibility-tile {
  display: grid;
  min-width: 0;
  grid-template-rows: minmax(7rem, 1fr) auto;
  padding: 1.2rem;
  background: var(--paper);
  color: var(--ink);
  text-decoration: none;
  transition: background-color 180ms ease, transform 180ms ease;
}

.visibility-tile:hover {
  z-index: 1;
  background: #fff4e9;
  text-decoration: none;
  transform: translateY(-0.2rem);
}

.visibility-tile--wide {
  grid-column: span 2;
}

.visibility-tile--dark {
  background: #20211f;
  color: var(--paper);
}

.visibility-tile--dark:hover {
  background: #2a2926;
}

.visibility-tile strong,
.visibility-tile small {
  display: block;
}

.visibility-tile strong {
  font-size: 1.08rem;
  letter-spacing: -0.015em;
}

.visibility-tile small {
  margin-top: 0.35rem;
  color: var(--muted);
  line-height: 1.45;
}

.visibility-tile--dark small {
  color: #b8b5ae;
}

.visual-scene {
  position: relative;
  display: block;
  min-height: 7rem;
  overflow: hidden;
}

.visual-scene i {
  position: absolute;
  display: block;
}

.visual-scene--array::before {
  position: absolute;
  right: 8%;
  bottom: 14%;
  left: 8%;
  height: 58%;
  border: 1px solid #686862;
  background: repeating-linear-gradient(90deg, transparent 0 24%, #908d86 24% 25%), repeating-linear-gradient(0deg, transparent 0 48%, #908d86 48% 50%);
  content: "";
  transform: skew(-12deg);
}

.visual-scene--array::after {
  position: absolute;
  right: 5%;
  bottom: 4%;
  width: 2.6rem;
  border-top: 0.18rem solid var(--orange);
  content: "";
}

.visual-scene--connector::before,
.visual-scene--connector::after {
  position: absolute;
  top: 42%;
  width: 44%;
  border-top: 0.18rem solid #53534f;
  content: "";
}

.visual-scene--connector::before { left: 0; }
.visual-scene--connector::after { right: 0; }
.visual-scene--connector i { top: calc(42% - 1.1rem); left: calc(50% - 1.1rem); width: 2.2rem; height: 2.2rem; border: 0.18rem solid var(--orange); border-radius: 50%; }
.visual-scene--energy::before { position: absolute; inset: 10% 52% 15% 3%; border: 1px solid #64635e; content: "~"; display: grid; place-items: center; color: var(--orange-dark); font-size: 2rem; }
.visual-scene--energy::after { position: absolute; inset: 34% 3% 15% 58%; border: 1px solid #64635e; content: "+  −"; display: grid; place-items: center; font-weight: 800; }
.visual-scene--document::before { position: absolute; inset: 7% 18% 12% 18%; border: 1px solid #686862; content: ""; }
.visual-scene--document i { left: 29%; width: 42%; border-top: 1px solid #8d8a83; }
.visual-scene--document i:nth-child(1) { top: 32%; }
.visual-scene--document i:nth-child(2) { top: 49%; }
.visual-scene--document i:nth-child(3) { top: 66%; width: 26%; }
.visual-scene--inspection::before { position: absolute; top: 19%; left: 24%; width: 3.6rem; height: 3.6rem; border: 0.18rem solid #67665f; border-radius: 50%; content: ""; }
.visual-scene--inspection::after { position: absolute; top: 64%; left: 54%; width: 2.8rem; border-top: 0.25rem solid var(--orange); content: ""; transform: rotate(48deg); transform-origin: left; }
.visual-scene--unknown { display: grid; place-items: center; border: 1px dashed #77746d; color: #c1bdb5; font-size: 4.5rem; font-weight: 260; }

.eco-hotspot {
  cursor: pointer;
}

.eco-hotspot:focus-visible {
  outline: none;
}

.eco-hotspot:focus-visible > rect,
.eco-hotspot:focus-visible > circle {
  stroke: var(--focus);
  stroke-width: 6;
}

.topic-detail--ecosystem dl div {
  grid-template-columns: 7.1rem 1fr;
}

.topic-detail--ecosystem dt {
  line-height: 1.35;
}

.posture-flow--alignment {
  background: linear-gradient(160deg, #131412 0%, #22211e 65%, #2d241e 100%);
}

.flow-steps--seven {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.flow-steps--seven li {
  min-height: 9.3rem;
  padding-inline: 0.8rem;
}

.flow-steps--seven small {
  line-height: 1.35;
}

.section--state {
  background: var(--paper);
}

.state-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.55fr);
  align-items: end;
  gap: 3rem;
  margin-bottom: 2.8rem;
}

.state-intro .lede {
  justify-self: end;
}

.state-explorer {
  display: grid;
  grid-template-columns: minmax(15rem, 0.38fr) minmax(0, 1fr);
  border: 1px solid var(--border);
  background: #d4d0c8;
}

.state-tabs {
  display: grid;
  align-content: stretch;
  gap: 1px;
  background: #3f403c;
}

.state-tabs button {
  display: grid;
  grid-template-columns: 2.3rem 1fr;
  align-items: center;
  border: 0;
  border-left: 0.25rem solid transparent;
  padding: 1.1rem;
  background: #232421;
  color: #d8d4cc;
  cursor: pointer;
  font-weight: 720;
  text-align: left;
}

.state-tabs button span {
  color: #8e8c85;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.state-tabs button[aria-selected="true"],
.state-tabs button:hover {
  border-left-color: var(--orange);
  background: #302720;
  color: #fff;
}

.state-board {
  position: relative;
  display: grid;
  grid-template-columns: minmax(15rem, 0.8fr) minmax(19rem, 1.2fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding: clamp(1.7rem, 4vw, 3.5rem);
  background: var(--warm);
}

.state-focus span,
.state-focus strong {
  display: block;
}

.state-focus span {
  margin-bottom: 1rem;
  color: var(--orange-dark);
  font-size: 0.73rem;
  font-weight: 820;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.state-focus strong {
  font-size: clamp(1.6rem, 3vw, 2.7rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.state-focus p {
  margin-top: 1rem;
  color: var(--muted);
}

.state-matrix {
  margin: 0;
  border-top: 1px solid var(--border);
}

.state-matrix div {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 1rem;
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--border);
}

.state-matrix dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.state-matrix dd {
  margin: 0;
  font-weight: 650;
}

.state-rail {
  position: absolute;
  right: 3.5rem;
  bottom: 1rem;
  left: 3.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
}

.state-rail i {
  height: 0.2rem;
  background: #c5c1b9;
}

.state-rail i.is-current {
  background: var(--orange);
}

.state-explorer > .diagram-footnote {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--border);
  background: var(--paper);
}

.audience-list--visual .audience-link {
  grid-template-columns: 6.5rem 2.5rem minmax(12rem, 0.75fr) minmax(15rem, 1fr) auto;
}

.audience-scene {
  position: relative;
  width: 5.2rem;
  height: 4.3rem;
  border: 1px solid #aaa79f;
  background: #f6f2eb;
}

.audience-scene::before,
.audience-scene::after {
  position: absolute;
  content: "";
}

.scene-home::before { right: 0.8rem; bottom: 0.7rem; left: 0.8rem; height: 2rem; border: 1px solid #5d5d58; border-top: 0; }
.scene-home::after { top: 0.65rem; left: 1rem; width: 2.8rem; height: 2.8rem; border-top: 1px solid var(--orange-dark); border-left: 1px solid var(--orange-dark); transform: rotate(45deg); }
.scene-industry::before { inset: 0.85rem; background: repeating-linear-gradient(90deg, transparent 0 22%, #65645f 22% 25%), linear-gradient(0deg, #65645f 0 1px, transparent 1px); border: 1px solid #65645f; }
.scene-industry::after { top: 0.5rem; right: 0.65rem; height: 3.1rem; border-left: 2px solid var(--orange); }
.scene-risk::before { inset: 0.75rem; border: 1px solid #66645f; transform: rotate(45deg); }
.scene-risk::after { top: 50%; right: 0.35rem; left: 0.35rem; border-top: 1px solid var(--orange-dark); }
.scene-mobile::before { inset: 1rem 0.55rem; border: 1px solid #66645f; border-radius: 1.5rem; }
.scene-mobile::after { right: 1rem; bottom: 0.45rem; left: 1rem; border-top: 2px solid var(--orange-dark); }
.scene-professional::before { top: 0.7rem; left: 0.7rem; width: 2.4rem; height: 2.4rem; border: 1px solid #66645f; border-radius: 50%; }
.scene-professional::after { right: 0.75rem; bottom: 0.8rem; width: 2rem; height: 1rem; border-bottom: 2px solid var(--orange-dark); border-left: 2px solid var(--orange-dark); transform: rotate(-45deg); }

.story-list--editorial {
  margin-top: 2rem;
}

.story-list--editorial .story {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 1.3rem;
  align-items: center;
}

.story-visual {
  position: relative;
  display: block;
  min-height: 6.8rem;
  overflow: hidden;
  background: #252522;
}

.story-visual::before,
.story-visual::after {
  position: absolute;
  content: "";
}

.story-visual--isolation::before { inset: 1.3rem 2.1rem; border: 1px solid #a7a39b; }
.story-visual--isolation::after { top: 50%; right: 1.2rem; left: 1.2rem; border-top: 2px solid var(--orange); transform: rotate(-25deg); }
.story-visual--evidence::before { inset: 1rem 2rem; border: 1px solid #a7a39b; }
.story-visual--evidence::after { top: 2.3rem; right: 2.6rem; left: 2.6rem; height: 1.8rem; border-block: 1px solid #77746e; }
.story-visual--method::before { top: 50%; left: 50%; width: 3.4rem; height: 3.4rem; border: 1px solid var(--orange); transform: translate(-50%, -50%) rotate(45deg); }
.story-visual--method::after { top: 50%; right: 0.8rem; left: 0.8rem; border-top: 1px solid #716e68; }

.bulletin-panel--editorial {
  position: relative;
  overflow: hidden;
}

.bulletin-panel--editorial::after {
  position: absolute;
  right: -4rem;
  bottom: -4rem;
  width: 12rem;
  height: 12rem;
  border: 1px solid rgb(244 123 32 / 35%);
  content: "";
  transform: rotate(45deg);
}

.bulletin-signal {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 1.6rem 0;
  border: 1px solid rgb(255 255 255 / 18%);
}

.bulletin-signal span {
  min-height: 4rem;
  padding: 0.7rem;
  border-right: 1px solid rgb(255 255 255 / 18%);
  color: #ccc8c1;
  font-size: 0.68rem;
  font-weight: 760;
  text-transform: uppercase;
}

.bulletin-signal span:last-child { border-right: 0; border-top: 0.18rem dashed #99958e; }
.bulletin-signal span:nth-child(2) { border-top: 0.18rem solid var(--orange); }

.trust-grid--governance {
  align-items: start;
}

.governance-rail {
  border-top: 1px solid rgb(255 255 255 / 22%);
}

.governance-rail > div {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 0.2rem 1rem;
  padding-block: 1rem;
  border-bottom: 1px solid rgb(255 255 255 / 16%);
}

.governance-rail span {
  grid-row: 1 / 3;
  color: #ff9a45;
  font-size: 0.72rem;
  font-weight: 800;
}

.governance-rail strong {
  font-size: 1.05rem;
}

.governance-rail small {
  color: #aaa69e;
  line-height: 1.45;
}

.trust-close {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgb(255 255 255 / 16%);
}

.trust-close > p {
  max-width: 63ch;
  color: #c7c3bc;
}

.trust-close .hero-actions {
  flex: 0 0 auto;
}

@media (max-width: 68rem) {
  .hero-grid--index {
    grid-template-columns: minmax(0, 0.85fr) minmax(24rem, 1.15fr);
    gap: 2rem;
  }

  .visibility-landscape {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .flow-steps--seven {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .flow-steps--seven li:nth-child(4) {
    border-right: 0;
  }

  .flow-steps--seven li:nth-child(n+5) {
    border-top: 1px solid rgb(255 255 255 / 15%);
  }

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

  .state-intro .lede {
    justify-self: start;
  }

  .audience-list--visual .audience-link {
    grid-template-columns: 5.5rem 2.5rem minmax(11rem, 0.75fr) minmax(12rem, 1fr) auto;
  }

  .trust-close {
    display: grid;
  }
}

@media (max-width: 48rem) {
  .hero-title--alignment {
    max-width: 12ch;
    font-size: clamp(2.65rem, 12.8vw, 4.2rem);
  }

  .risk-landscape svg {
    min-height: 20rem;
  }

  .landscape-kicker {
    font-size: 0.6rem;
  }

  .landscape-status {
    gap: 0.5rem 0.8rem;
  }

  .visibility-landscape {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(12rem, auto);
  }

  .visibility-tile--wide {
    grid-column: span 2;
  }

  .topic-detail--ecosystem dl div {
    grid-template-columns: 6.4rem 1fr;
  }

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

  .flow-steps--seven li,
  .flow-steps--seven li:nth-child(4) {
    min-height: 4.9rem;
    border-right: 0;
    border-bottom: 1px solid rgb(255 255 255 / 15%);
  }

  .state-explorer {
    grid-template-columns: 1fr;
  }

  .state-tabs {
    grid-template-columns: repeat(2, 1fr);
  }

  .state-tabs button {
    min-height: 4.6rem;
    border-left: 0;
    border-bottom: 0.2rem solid transparent;
    padding: 0.8rem;
  }

  .state-tabs button[aria-selected="true"],
  .state-tabs button:hover {
    border-bottom-color: var(--orange);
  }

  .state-board {
    grid-template-columns: 1fr;
    padding-bottom: 3.4rem;
  }

  .state-rail {
    right: 1.7rem;
    left: 1.7rem;
  }

  .audience-list--visual .audience-link {
    grid-template-columns: 4.5rem 2rem 1fr auto;
  }

  .audience-list--visual .audience-link p {
    display: none;
  }

  .audience-scene {
    width: 4rem;
    height: 3.5rem;
  }

  .story-list--editorial .story {
    grid-template-columns: 6.2rem 1fr;
    gap: 1rem;
  }

  .story-visual {
    min-height: 6.2rem;
  }

  .trust-close .hero-actions {
    width: 100%;
  }
}

@media (max-width: 22.5rem) {
  .visibility-landscape {
    grid-template-columns: 1fr;
  }

  .visibility-tile--wide {
    grid-column: auto;
  }

  .state-tabs {
    grid-template-columns: 1fr;
  }

  .audience-list--visual .audience-link {
    grid-template-columns: 2rem 1fr auto;
  }

  .audience-list--visual .audience-scene {
    display: none;
  }

  .story-list--editorial .story {
    grid-template-columns: 1fr;
  }
}

@media print {
  .state-tabs,
  .landscape-status {
    display: none !important;
  }

  .state-explorer,
  .state-board {
    display: block;
  }
}

/* Alignment page diagrams */
.page-hero--method::before,
.page-hero--platform::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0 58%, rgb(244 123 32 / 10%) 58% 58.35%, transparent 58.35%),
    repeating-linear-gradient(0deg, transparent 0 3.95rem, rgb(255 255 255 / 4%) 4rem);
  content: "";
}

.section--method-map {
  background: var(--paper);
}

.method-map {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid #575751;
  background: #575751;
}

.method-map > div {
  position: relative;
  display: grid;
  min-height: 9.5rem;
  align-content: center;
  gap: 0.35rem;
  padding: 1.1rem;
  background: #20211f;
  color: var(--paper);
}

.method-map > div:not(.method-history)::after {
  position: absolute;
  top: 50%;
  right: -0.38rem;
  z-index: 2;
  width: 0.7rem;
  height: 0.7rem;
  border-top: 0.12rem solid var(--orange);
  border-right: 0.12rem solid var(--orange);
  background: #20211f;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.method-map .method-source {
  background: #ece8e0;
  color: var(--ink);
}

.method-map .method-source::after {
  background: #ece8e0;
}

.method-map .method-core {
  grid-column: span 2;
  background: #38261a;
}

.method-map .method-core::after {
  background: #38261a;
}

.method-map .method-history {
  grid-column: 1 / -1;
  min-height: 6rem;
  border-top: 0.2rem solid var(--orange);
  background: #151513;
}

.method-map span,
.method-map strong,
.method-map small {
  display: block;
}

.method-map span {
  color: #f99b50;
  font-size: 0.7rem;
  font-weight: 820;
  letter-spacing: 0.1em;
}

.method-map .method-source span {
  color: var(--orange-dark);
}

.method-map strong {
  font-size: 1rem;
  line-height: 1.25;
}

.method-map small {
  color: #aaa69e;
  line-height: 1.35;
}

.method-map .method-source small {
  color: var(--muted);
}

.prose--wide {
  max-width: 77ch;
}

.version-field {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 2rem 0;
  border: 1px solid var(--border);
  background: var(--border);
}

.version-field > div {
  min-height: 8rem;
  padding: 1.1rem;
  background: var(--paper);
}

.version-field span,
.version-field strong {
  display: block;
}

.version-field span {
  margin-bottom: 1.5rem;
  color: var(--orange-dark);
  font-size: 0.67rem;
  font-weight: 820;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.version-field strong {
  line-height: 1.3;
}

.deterministic-panel {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  margin: 2rem 0;
  border: 1px solid #55544f;
  background: #20211f;
  color: var(--paper);
}

.deterministic-panel > div {
  display: grid;
  min-height: 9rem;
  align-content: center;
  gap: 0.6rem;
  padding: 1.3rem;
}

.deterministic-panel span,
.deterministic-panel strong {
  display: block;
}

.deterministic-panel div > span {
  color: #aaa69e;
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.deterministic-panel strong {
  font-size: 1.1rem;
  line-height: 1.35;
}

.deterministic-arrow {
  display: grid !important;
  min-width: 4rem;
  place-items: center;
  border-inline: 1px solid #4b4a45;
  color: var(--orange) !important;
  font-size: 1.8rem !important;
}

.deterministic-output {
  background: #31241b;
}

.history-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 2rem 0;
  border-block: 1px solid var(--border);
}

.history-track > div {
  position: relative;
  display: grid;
  min-height: 9rem;
  align-content: center;
  gap: 0.35rem;
  padding: 1.2rem;
  border-right: 1px solid var(--border);
}

.history-track > div:last-child {
  border-right: 0;
}

.history-track > div::before {
  position: absolute;
  top: -0.32rem;
  left: 1.2rem;
  width: 0.62rem;
  height: 0.62rem;
  border: 1px solid var(--orange-dark);
  background: var(--paper);
  content: "";
  transform: rotate(45deg);
}

.history-track span,
.history-track strong,
.history-track small {
  display: block;
}

.history-track span {
  color: var(--orange-dark);
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.history-track small {
  color: var(--muted);
}

.article-meta--states {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ai-boundary,
.separation-model {
  display: grid;
  grid-template-columns: 1fr 0.9fr 1fr;
  gap: 1px;
  margin: 2rem 0;
  border: 1px solid var(--border);
  background: var(--border);
}

.ai-boundary > div,
.separation-model > div {
  display: grid;
  min-height: 8rem;
  align-content: center;
  gap: 0.45rem;
  padding: 1.2rem;
  background: var(--paper);
}

.ai-boundary span,
.separation-model span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ai-boundary strong,
.separation-model strong {
  line-height: 1.35;
}

.ai-boundary .ai-boundary-stop,
.separation-model .separation-boundary {
  border-block: 0.2rem solid var(--orange);
  background: #2b2925;
  color: var(--paper);
}

.ai-boundary-stop span,
.separation-boundary span {
  color: #f6a05b;
}

.development-status {
  margin: 2rem 0;
  border-top: 1px solid var(--border);
}

.development-status > div {
  display: grid;
  grid-template-columns: 8rem minmax(12rem, 0.8fr) minmax(14rem, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--border);
}

.development-status span {
  color: var(--orange-dark);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.development-status small {
  color: var(--muted);
}

.section--insurer-value {
  background: var(--paper);
}

.insurer-value-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--border);
  background: var(--border);
}

.insurer-value-grid > div {
  min-height: 13rem;
  padding: 1.2rem;
  background: var(--warm);
}

.insurer-value-grid span,
.insurer-value-grid strong {
  display: block;
}

.insurer-value-grid span {
  margin-bottom: 2rem;
  color: var(--orange-dark);
  font-size: 0.72rem;
  font-weight: 800;
}

.insurer-value-grid strong {
  font-size: 1.05rem;
  line-height: 1.25;
}

.insurer-value-grid p {
  margin-top: 0.7rem;
  color: var(--muted);
  font-size: 0.87rem;
}

.section--partner-governance {
  background: linear-gradient(150deg, #111210 0%, #22211e 68%, #35261c 100%);
  color: var(--paper);
}

.profile-pipeline {
  display: grid;
  grid-template-columns: 1fr auto 1fr 1.15fr 1fr 1fr;
  gap: 1px;
  border: 1px solid #4b4944;
  background: #4b4944;
}

.profile-pipeline > div:not(.pipeline-plus) {
  position: relative;
  display: grid;
  min-height: 12rem;
  align-content: center;
  gap: 0.5rem;
  padding: 1rem;
  background: #1c1d1b;
}

.profile-pipeline > div:not(.pipeline-result)::after {
  position: absolute;
  top: 50%;
  right: -0.35rem;
  z-index: 2;
  width: 0.65rem;
  height: 0.65rem;
  border-top: 1px solid var(--orange);
  border-right: 1px solid var(--orange);
  background: inherit;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.profile-pipeline .pipeline-profile {
  background: #262621;
}

.profile-pipeline .pipeline-gate {
  border-top: 0.22rem solid var(--orange);
  background: #34251a;
}

.profile-pipeline .pipeline-result {
  background: #282824;
}

.profile-pipeline span,
.profile-pipeline strong,
.profile-pipeline small {
  display: block;
}

.profile-pipeline span {
  color: #f6a05b;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.profile-pipeline strong {
  font-size: 1rem;
  line-height: 1.3;
}

.profile-pipeline small {
  color: #a9a69f;
  line-height: 1.35;
}

.profile-pipeline .pipeline-plus {
  display: grid;
  min-width: 2.6rem;
  place-items: center;
  background: #111210;
  color: var(--orange);
  font-size: 1.4rem;
}

.profile-pipeline .pipeline-plus::after {
  display: none;
}

.profile-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 2rem 0;
  border: 1px solid var(--border);
  background: var(--border);
}

.profile-principles > div {
  min-height: 7rem;
  padding: 1.2rem;
  background: var(--paper);
}

.profile-principles strong,
.profile-principles span {
  display: block;
}

.profile-principles strong {
  margin-bottom: 0.4rem;
}

.profile-principles span {
  color: var(--muted);
  font-size: 0.9rem;
}

@media (max-width: 68rem) {
  .method-map {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .method-map .method-core {
    grid-column: span 1;
  }

  .method-map > div::after {
    display: none;
  }

  .version-field {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .insurer-value-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .profile-pipeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .profile-pipeline .pipeline-plus {
    display: none;
  }

  .profile-pipeline > div::after {
    display: none;
  }
}

@media (max-width: 48rem) {
  .method-map,
  .version-field,
  .history-track,
  .article-meta--states,
  .ai-boundary,
  .separation-model,
  .insurer-value-grid,
  .profile-pipeline,
  .profile-principles {
    grid-template-columns: 1fr;
  }

  .method-map .method-history {
    grid-column: auto;
  }

  .deterministic-panel {
    grid-template-columns: 1fr;
  }

  .deterministic-arrow {
    min-height: 3rem;
    border-block: 1px solid #4b4a45;
    border-inline: 0;
    transform: rotate(90deg);
  }

  .history-track > div {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .development-status > div {
    grid-template-columns: 1fr;
    gap: 0.3rem;
  }
}

/* Supporting visual/editorial patterns */
.topic-grid--visual .topic-card {
  min-height: 20rem;
}

.topic-visual {
  position: relative;
  display: block;
  min-height: 7.5rem;
  margin: -1.5rem -1.5rem 1.4rem;
  overflow: hidden;
  border-bottom: 1px solid #45443f;
  background: #222320;
}

.topic-visual::before,
.topic-visual::after {
  position: absolute;
  content: "";
}

.topic-visual--connector::before { top: 50%; right: 8%; left: 8%; border-top: 2px solid #aaa69e; }
.topic-visual--connector::after { top: calc(50% - 1.1rem); left: calc(50% - 1.1rem); width: 2.2rem; height: 2.2rem; border: 2px solid var(--orange); border-radius: 50%; background: #222320; }
.topic-visual--isolation::before { inset: 1.5rem 30%; border: 1px solid #aaa69e; }
.topic-visual--isolation::after { top: 50%; right: 20%; left: 20%; border-top: 2px solid var(--orange); transform: rotate(-28deg); }
.topic-visual--energy::before { inset: 1.2rem 54% 1.2rem 8%; border: 1px solid #aaa69e; }
.topic-visual--energy::after { inset: 2.7rem 9% 1.2rem 58%; border: 1px solid var(--orange); }
.topic-visual--inspection::before { top: 1.5rem; left: 32%; width: 3.6rem; height: 3.6rem; border: 2px solid #aaa69e; border-radius: 50%; }
.topic-visual--inspection::after { top: 4.8rem; left: 58%; width: 3.2rem; border-top: 3px solid var(--orange); transform: rotate(45deg); transform-origin: left; }
.topic-visual--handover::before { inset: 1.1rem 30%; border: 1px solid #aaa69e; }
.topic-visual--handover::after { top: 2.7rem; right: 35%; left: 35%; height: 2.2rem; border-block: 1px solid var(--orange); }
.topic-visual--evidence::before { inset: 1rem 26%; border: 1px dashed #aaa69e; }
.topic-visual--evidence::after { right: 22%; bottom: 1rem; width: 1.2rem; height: 1.2rem; border: 2px solid var(--orange); transform: rotate(45deg); }

.story-visual--connector::before { top: 50%; right: 0.8rem; left: 0.8rem; border-top: 2px solid #8d8a83; }
.story-visual--connector::after { top: calc(50% - 1rem); left: calc(50% - 1rem); width: 2rem; height: 2rem; border: 2px solid var(--orange); border-radius: 50%; background: #252522; }
.story-visual--inspection::before { top: 1.2rem; left: 1.6rem; width: 3rem; height: 3rem; border: 2px solid #9b978f; border-radius: 50%; }
.story-visual--inspection::after { top: 4rem; left: 4.1rem; width: 2.3rem; border-top: 3px solid var(--orange); transform: rotate(45deg); transform-origin: left; }

/* Visual Refinement 03, 14 September 2026 */
.landscape-art,
.visibility-art,
.ecosystem-canvas,
.state-art,
.audience-scene,
.story-visual,
.topic-grid--library .topic-visual,
.support-asset,
.contact-asset {
  isolation: isolate;
}

.landscape-art {
  position: relative;
  display: grid;
  min-height: clamp(22rem, 36vw, 35rem);
  place-items: center;
  overflow: hidden;
  padding: clamp(1rem, 2.5vw, 2.4rem);
  background:
    radial-gradient(circle at 54% 58%, rgb(244 123 32 / 18%), transparent 34%),
    linear-gradient(145deg, #111210 0%, #191a17 100%);
}

.landscape-art::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px);
  background-size: 2.5rem 2.5rem;
  content: "";
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.landscape-art picture,
.landscape-art img {
  display: block;
  width: 100%;
}

.landscape-art img {
  height: auto;
  filter: drop-shadow(0 1.5rem 2rem rgb(0 0 0 / 45%));
}

.landscape-callout {
  position: absolute;
  z-index: 2;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgb(255 255 255 / 22%);
  background: rgb(12 13 12 / 82%);
  color: #dcd8d0;
  font-size: 0.64rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(0.35rem);
}

.landscape-callout::before {
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin-right: 0.45rem;
  border-radius: 50%;
  background: var(--orange);
  content: "";
}

.landscape-callout--context { top: 15%; left: 5%; }
.landscape-callout--evidence { bottom: 11%; left: 7%; }
.landscape-callout--unknown { top: 15%; right: 6%; }
.landscape-callout--action { right: 7%; bottom: 10%; }

.visibility-landscape {
  grid-auto-rows: minmax(17rem, auto);
}

.visibility-tile {
  grid-template-rows: minmax(11rem, 1fr) auto;
  overflow: hidden;
  padding: 0;
}

.visibility-tile > span:last-child {
  position: relative;
  z-index: 2;
  padding: 1.1rem 1.2rem 1.3rem;
  border-top: 1px solid var(--border);
  background: rgb(250 248 243 / 94%);
}

.visibility-tile--dark > span:last-child {
  border-top-color: rgb(255 255 255 / 14%);
  background: rgb(30 31 29 / 94%);
}

.visibility-art {
  position: relative;
  display: grid;
  min-height: 11rem;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 55% 55%, rgb(244 123 32 / 17%), transparent 42%),
    linear-gradient(145deg, #e9e5dd, #f9f6f0);
}

.visibility-art::after {
  position: absolute;
  inset: 0;
  border: 0.55rem solid transparent;
  content: "";
  box-shadow: inset 0 0 0 1px rgb(30 31 29 / 5%);
}

.visibility-art img {
  display: block;
  width: min(82%, 12rem);
  height: 10.5rem;
  object-fit: contain;
  filter: drop-shadow(0 0.8rem 0.9rem rgb(18 18 16 / 17%));
  transition: transform 220ms ease;
}

.visibility-art--system img {
  width: min(90%, 30rem);
  height: 14rem;
}

.visibility-tile:hover .visibility-art img {
  transform: translateY(-0.2rem) scale(1.025);
}

.visibility-tile--dark .visibility-art {
  background: radial-gradient(circle at 54% 52%, rgb(244 123 32 / 18%), transparent 43%), #181916;
}

.ecosystem-stage {
  padding: 1.2rem;
  background:
    radial-gradient(circle at 54% 50%, rgb(244 123 32 / 14%), transparent 44%),
    #151613;
}

.ecosystem-canvas {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 10%);
  background-image:
    linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
  background-size: 2rem 2rem;
}

.ecosystem-art,
.ecosystem-art img {
  display: block;
  width: 100%;
  height: 100%;
}

.ecosystem-art img {
  object-fit: contain;
  filter: drop-shadow(0 1.2rem 1rem rgb(0 0 0 / 35%));
}

.eco-hotspot {
  position: absolute;
  z-index: 3;
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 70%);
  border-radius: 50%;
  background: rgb(17 18 16 / 88%);
  box-shadow: 0 0 0 0.35rem rgb(17 18 16 / 44%), 0 0.4rem 1rem rgb(0 0 0 / 28%);
  color: #fff;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.eco-hotspot span {
  font-size: 0.68rem;
  font-weight: 840;
  letter-spacing: 0.04em;
}

.eco-hotspot:hover,
.eco-hotspot[aria-pressed="true"] {
  border-color: #ffb16f;
  background: var(--orange);
  box-shadow: 0 0 0 0.4rem rgb(244 123 32 / 20%), 0 0 1.4rem rgb(244 123 32 / 60%);
  color: #111;
  transform: translate(-50%, -50%) scale(1.08);
}

.eco-hotspot:focus-visible {
  outline: 0.2rem solid var(--focus);
  outline-offset: 0.2rem;
}

.eco-hotspot--modules { top: 29%; left: 17%; }
.eco-hotspot--connections { top: 28%; left: 43%; }
.eco-hotspot--isolation { top: 22%; left: 55%; }
.eco-hotspot--energy { top: 31%; left: 81%; }
.eco-hotspot--evidence { top: 62%; left: 27%; }
.eco-hotspot--maintenance { top: 62%; left: 72%; }
.eco-hotspot--emergency { top: 84%; left: 40%; }
.eco-hotspot--accountability { top: 82%; left: 59%; }

.flow-steps--seven {
  gap: 0.35rem;
  border: 0;
  background: transparent;
}

.flow-steps--seven li {
  position: relative;
  min-height: 10.5rem;
  border: 1px solid rgb(255 255 255 / 12%);
  background: linear-gradient(150deg, rgb(255 255 255 / 5%), rgb(255 255 255 / 1%));
}

.flow-steps--seven li::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 0.18rem;
  background: linear-gradient(90deg, var(--orange), transparent 72%);
  content: "";
}

.flow-steps--seven li::after {
  right: -0.7rem;
  z-index: 2;
  display: grid;
  width: 1.1rem;
  height: 1.1rem;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 50%;
  background: #1c1d1a;
  color: #ff9a45;
  font-size: 0.66rem;
  content: "›";
}

.flow-steps--seven span {
  display: grid;
  width: 2.1rem;
  height: 2.1rem;
  place-items: center;
  border: 1px solid rgb(244 123 32 / 55%);
  border-radius: 50%;
  background: rgb(244 123 32 / 8%);
}

.state-board {
  overflow: hidden;
}

.state-art {
  position: relative;
  grid-column: 1 / -1;
  margin: calc(clamp(1.7rem, 4vw, 3.5rem) * -1) calc(clamp(1.7rem, 4vw, 3.5rem) * -1) 0;
  border-bottom: 1px solid var(--border);
  background: #181916;
}

.state-art picture,
.state-art img {
  display: block;
  width: 100%;
}

.state-art img {
  height: clamp(9rem, 18vw, 14rem);
  object-fit: contain;
  filter: drop-shadow(0 1rem 1rem rgb(0 0 0 / 32%));
}

.state-art figcaption {
  position: absolute;
  right: 1rem;
  bottom: 0.75rem;
  padding: 0.3rem 0.5rem;
  background: rgb(15 16 14 / 78%);
  color: #bdb9b2;
  font-size: 0.62rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.state-action-icon {
  float: right;
  width: clamp(3.8rem, 7vw, 5.5rem);
  height: auto;
  margin: -0.4rem 0 0.8rem 1rem;
  filter: drop-shadow(0 0.55rem 0.55rem rgb(0 0 0 / 20%));
}

.audience-scene {
  display: grid;
  width: 5.2rem;
  height: 5.2rem;
  place-items: center;
  overflow: hidden;
  border: 1px solid #aaa79f;
  background: radial-gradient(circle at 50% 50%, #fff, #eee9e0 78%);
}

.audience-scene::before,
.audience-scene::after {
  display: none;
}

.audience-scene img {
  display: block;
  width: 92%;
  height: 92%;
  object-fit: contain;
  filter: drop-shadow(0 0.35rem 0.35rem rgb(0 0 0 / 15%));
  transition: transform 180ms ease;
}

.audience-link:hover .audience-scene img {
  transform: scale(1.06);
}

.audience-link .arrow {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid #b6b2aa;
  border-radius: 50%;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.audience-link:hover .arrow {
  border-color: var(--orange);
  background: var(--orange);
  color: #111;
  transform: translateX(0.2rem);
}

.story-visual {
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 55% 55%, rgb(244 123 32 / 16%), transparent 48%), #20211e;
}

.story-visual::before,
.story-visual::after {
  display: none;
}

.story-visual img {
  display: block;
  width: 92%;
  height: 6.5rem;
  object-fit: contain;
}

.topic-grid--library .topic-card {
  overflow: hidden;
}

.topic-grid--library .topic-visual {
  display: grid;
  min-height: 10.5rem;
  place-items: center;
  overflow: hidden;
  background: radial-gradient(circle at 54% 54%, rgb(244 123 32 / 19%), transparent 45%), #1d1e1b;
}

.topic-grid--library .topic-visual::before,
.topic-grid--library .topic-visual::after {
  display: none;
}

.topic-grid--library .topic-visual img {
  display: block;
  width: 90%;
  height: 9.8rem;
  object-fit: contain;
  filter: drop-shadow(0 0.6rem 0.7rem rgb(0 0 0 / 32%));
  transition: transform 190ms ease;
}

.topic-grid--library .topic-card:hover .topic-visual img {
  transform: scale(1.04);
}

.support-asset {
  display: grid;
  grid-template-columns: minmax(8rem, 0.28fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.2rem, 3vw, 2.5rem);
  max-width: 58rem;
  margin: 2rem 0 0 auto;
  padding: clamp(1.2rem, 2.5vw, 2rem);
  border: 1px solid var(--border);
  background: #ece8e0;
}

.support-asset img {
  display: block;
  width: min(100%, 10rem);
  height: auto;
  margin-inline: auto;
  filter: drop-shadow(0 0.8rem 0.7rem rgb(0 0 0 / 18%));
}

.support-asset figcaption span,
.support-asset figcaption strong,
.support-asset figcaption small {
  display: block;
}

.support-asset figcaption span {
  margin-bottom: 0.6rem;
  color: var(--orange-dark);
  font-size: 0.7rem;
  font-weight: 820;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.support-asset figcaption strong {
  max-width: 27ch;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: -0.025em;
  line-height: 1.08;
}

.support-asset figcaption small {
  max-width: 58ch;
  margin-top: 0.7rem;
  color: var(--muted);
  line-height: 1.5;
}

.support-asset--insurer {
  margin: 0 0 2rem;
  border-color: rgb(255 255 255 / 17%);
  background: linear-gradient(135deg, #272722, #171816);
  color: #fff;
}

.support-asset--insurer figcaption small {
  color: #aaa69e;
}

.contact-asset {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.6rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--border);
  background: var(--warm);
}

.contact-asset img {
  display: block;
  width: 5rem;
  height: 5rem;
  object-fit: contain;
}

.contact-asset figcaption {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 790;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.contact-form {
  border-top: 0.22rem solid var(--orange);
  box-shadow: 0 1.3rem 3rem rgb(22 22 19 / 9%);
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  border-radius: 0;
  background: #fffefa;
}

.prototype-note {
  border-left-width: 0.18rem;
  background: #f2eee6;
}

.trust-grid--governance {
  gap: clamp(3rem, 7vw, 7rem);
}

.governance-rail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgb(255 255 255 / 14%);
  background: rgb(255 255 255 / 14%);
}

.governance-rail > div {
  min-height: 9.5rem;
  align-content: start;
  padding: 1.25rem;
  border: 0;
  background: #171815;
}

.site-footer {
  padding-top: clamp(3.5rem, 6vw, 5.5rem);
}

.footer-main {
  gap: clamp(3rem, 8vw, 8rem);
}

.back-to-top {
  position: fixed;
  right: clamp(0.85rem, 2vw, 1.5rem);
  bottom: clamp(0.85rem, 2vw, 1.5rem);
  z-index: 80;
  display: grid;
  width: 3.15rem;
  height: 3.15rem;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 30%);
  border-radius: 50%;
  background: #151613;
  box-shadow: 0 0.8rem 2rem rgb(0 0 0 / 28%);
  color: #fff;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.8rem);
  transition: opacity 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.back-to-top span {
  font-size: 1.15rem;
  line-height: 1;
}

.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.back-to-top:hover {
  border-color: var(--orange);
  background: var(--orange);
  color: #111;
}

.back-to-top:focus-visible {
  outline: 0.2rem solid var(--focus);
  outline-offset: 0.2rem;
}

@media (max-width: 68rem) {
  .landscape-art {
    min-height: 24rem;
  }

  .visibility-landscape {
    grid-auto-rows: minmax(16rem, auto);
  }

  .flow-steps--seven li::after {
    display: none;
  }

  .governance-rail > div {
    min-height: 8.5rem;
  }
}

@media (max-width: 48rem) {
  .hero-grid--index {
    grid-template-columns: minmax(0, 1fr);
  }

  .landscape-art {
    min-height: 18rem;
    padding: 0.6rem;
  }

  .landscape-callout {
    display: none;
  }

  .visibility-landscape {
    grid-auto-rows: minmax(14rem, auto);
  }

  .visibility-tile {
    grid-template-rows: minmax(8.5rem, 1fr) auto;
  }

  .visibility-art {
    min-height: 8.5rem;
  }

  .visibility-art img {
    height: 8.2rem;
  }

  .visibility-art--system img {
    height: 10rem;
  }

  .ecosystem-stage {
    padding: 0.7rem;
  }

  .eco-hotspot {
    width: 2.7rem;
    height: 2.7rem;
  }

  .flow-steps--seven {
    gap: 0;
  }

  .flow-steps--seven li {
    min-height: 5.6rem;
    grid-template-columns: 3rem 1fr;
  }

  .flow-steps--seven li::before {
    top: 0;
    right: auto;
    bottom: 0;
    width: 0.18rem;
    height: auto;
  }

  .state-art img {
    height: 10rem;
  }

  .state-action-icon {
    width: 4.2rem;
  }

  .audience-list--visual .audience-link {
    grid-template-columns: 4.7rem 2rem minmax(0, 1fr) auto;
  }

  .audience-scene {
    width: 4.1rem;
    height: 4.1rem;
  }

  .governance-rail {
    grid-template-columns: 1fr;
  }

  .governance-rail > div {
    min-height: 0;
  }

  .support-asset {
    grid-template-columns: 6rem minmax(0, 1fr);
    margin-left: 0;
  }

  .topic-grid--library .topic-visual {
    min-height: 8.5rem;
  }

  .topic-grid--library .topic-visual img {
    height: 8rem;
  }

  .back-to-top {
    width: 3rem;
    height: 3rem;
  }
}

@media (max-width: 27rem) {
  .visibility-tile > span:last-child {
    padding: 0.9rem;
  }

  .eco-hotspot {
    width: 2.45rem;
    height: 2.45rem;
  }

  .eco-hotspot span {
    font-size: 0.61rem;
  }

  .support-asset {
    grid-template-columns: 1fr;
  }

  .support-asset img {
    width: 7rem;
    margin-left: 0;
  }

  .contact-asset {
    grid-template-columns: 4.5rem 1fr;
  }

  .contact-asset img {
    width: 4rem;
    height: 4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .visibility-art img,
  .audience-scene img,
  .audience-link .arrow,
  .topic-grid--library .topic-visual img,
  .eco-hotspot,
  .back-to-top {
    transition-duration: 0.00001s !important;
  }
}

@media print {
  .back-to-top {
    display: none !important;
  }
}

.section--bulletin-anatomy {
  background: var(--paper);
}

.bulletin-specimen {
  border: 1px solid #4c4b46;
  background: #1c1d1b;
  color: var(--paper);
}

.specimen-header,
.specimen-footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  color: #aaa69e;
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.specimen-header {
  border-bottom: 1px solid #45443f;
}

.specimen-title {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.7rem 2rem;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.specimen-title > .meta {
  grid-column: 1 / -1;
  color: #f6a05b;
}

.specimen-title h3 {
  max-width: 24ch;
  font-size: clamp(1.8rem, 4vw, 3.5rem);
}

.specimen-dates {
  display: grid;
  align-content: start;
  min-width: 11rem;
  border-top: 1px solid #55534d;
}

.specimen-dates span {
  padding-block: 0.6rem;
  border-bottom: 1px solid #55534d;
  color: #aaa69e;
  font-size: 0.72rem;
}

.specimen-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: #4c4b46;
}

.specimen-status > div {
  min-height: 9rem;
  padding: 1.2rem;
  background: #262724;
}

.specimen-status span {
  display: block;
  margin-bottom: 1rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.specimen-status > div:nth-child(1) span { color: #e5e1d9; }
.specimen-status > div:nth-child(2) span { color: #f6a05b; }
.specimen-status > div:nth-child(3) span { color: #aaa69e; }
.specimen-status p { color: #c2beb6; font-size: 0.88rem; }

.specimen-footer {
  border-top: 1px solid #45443f;
}

.topic-grid--bulletin {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.topic-grid--bulletin .topic-card {
  min-height: 14rem;
  border-top: 0.2rem solid transparent;
}

.topic-grid--bulletin .topic-card:nth-child(2) {
  border-top-color: var(--orange);
}

.topic-grid--bulletin .topic-card:nth-child(3) {
  border-top-style: dashed;
  border-top-color: #8a8780;
}

@media (max-width: 68rem) {
  .topic-grid--bulletin {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .specimen-title,
  .specimen-status,
  .topic-grid--bulletin {
    grid-template-columns: 1fr;
  }

  .specimen-dates {
    min-width: 0;
  }

  .specimen-header,
  .specimen-footer {
    display: grid;
  }
}

/* Visual Refinement 04 Micro, 14 September 2026 */
.method-workflow {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 1px solid #c9c4bb;
  background: #d6d1c8;
  list-style: none;
}

.method-stage {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 17rem;
  align-content: start;
  gap: 1rem;
  padding: 1.15rem 0.9rem 1.35rem;
  border-right: 1px solid #d6d1c8;
  background: #f8f5ef;
}

.method-stage:nth-child(even) {
  background: #f0ece4;
}

.method-stage:last-child {
  border-right: 0;
}

.method-stage:not(:last-child)::after {
  position: absolute;
  top: 4.65rem;
  right: -0.42rem;
  z-index: 2;
  width: 0.72rem;
  height: 0.72rem;
  border-top: 0.13rem solid var(--orange);
  border-right: 0.13rem solid var(--orange);
  background: inherit;
  content: "";
  transform: rotate(45deg);
}

.method-stage-visual {
  display: grid;
  width: clamp(4.5rem, 6.5vw, 5.8rem);
  aspect-ratio: 1;
  place-items: center;
  justify-self: center;
  overflow: hidden;
  border: 1px solid #c8c3ba;
  background: #fff;
}

.method-stage-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.method-stage-copy {
  display: grid;
  align-content: start;
  gap: 0.55rem;
}

.method-stage-number {
  color: var(--orange-dark);
  font-size: 0.67rem;
  font-weight: 820;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.method-stage h3 {
  margin: 0;
  font-size: clamp(0.91rem, 1.08vw, 1.06rem);
  letter-spacing: -0.02em;
  line-height: 1.17;
}

.method-stage p {
  margin: 0;
  color: #65615a;
  font-size: 0.78rem;
  line-height: 1.45;
}

.method-stage--governed {
  box-shadow: inset 0 0.2rem 0 var(--orange);
  background: #2c241e;
  color: var(--paper);
}

.method-stage--governed p {
  color: #c9c3ba;
}

.method-stage--history {
  box-shadow: inset 0 -0.2rem 0 var(--orange);
}

.audience-scene {
  width: 5.6rem;
  height: 5.6rem;
  border-color: #aaa59b;
  background: #f7f3ec;
}

.audience-scene img {
  width: 100%;
  height: 100%;
}

.audience-link:focus-visible .audience-scene,
.audience-link:hover .audience-scene {
  border-color: var(--orange);
}

@media (max-width: 68rem) {
  .method-workflow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .method-stage {
    min-height: 15rem;
    border-bottom: 1px solid #d6d1c8;
  }

  .method-stage:nth-child(4) {
    border-right: 0;
  }

  .method-stage:nth-child(4)::after {
    display: none;
  }

  .method-stage:nth-child(n + 5) {
    border-bottom: 0;
  }

  .method-stage--history {
    grid-column: span 2;
  }
}

@media (max-width: 48rem) {
  .method-workflow {
    grid-template-columns: 1fr;
    border: 0;
    border-left: 0.16rem solid var(--orange);
    background: transparent;
  }

  .method-stage,
  .method-stage:nth-child(n + 5) {
    grid-template-columns: 4.5rem minmax(0, 1fr);
    min-height: 0;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0.9rem;
    border: 0;
    border-bottom: 1px solid #d6d1c8;
    background: #f8f5ef;
  }

  .method-stage:nth-child(even) {
    background: #f0ece4;
  }

  .method-stage:last-child {
    border-bottom: 0;
  }

  .method-stage:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -0.4rem;
    left: 2rem;
    width: 0.68rem;
    height: 0.68rem;
    transform: rotate(135deg);
  }

  .method-stage-visual {
    width: 4.5rem;
  }

  .method-stage--governed {
    box-shadow: inset 0.18rem 0 0 var(--orange);
    background: #2c241e;
  }

  .method-stage--history {
    grid-column: auto;
    box-shadow: inset 0 -0.18rem 0 var(--orange);
  }

  .method-stage h3 {
    font-size: 1rem;
  }

  .audience-list--visual .audience-link {
    grid-template-columns: 4.5rem 2rem minmax(0, 1fr) auto;
    gap: 0.75rem;
  }

  .audience-scene {
    display: grid;
    width: 4.2rem;
    height: 4.2rem;
  }
}

@media (max-width: 22.5rem) {
  .audience-list--visual .audience-link {
    grid-template-columns: 2rem minmax(0, 1fr) auto;
  }

  .audience-list--visual .audience-scene {
    display: none;
  }
}

/* Refinement 05 copy and typography polish, 14 September 2026 */
h1 {
  font-size: clamp(2.45rem, 5.8vw, 5.5rem);
  line-height: 1.02;
}

h2 {
  max-width: 21ch;
  font-size: clamp(1.8rem, 3.5vw, 3.35rem);
  line-height: 1.06;
}

h3 {
  font-size: clamp(1.1rem, 1.7vw, 1.38rem);
  line-height: 1.12;
}

.lede {
  max-width: 48ch;
  font-size: clamp(1.02rem, 1.45vw, 1.2rem);
  line-height: 1.5;
}

.section {
  padding-block: clamp(4.25rem, 7vw, 7rem);
}

.section-head,
.ecosystem-intro,
.state-intro {
  margin-bottom: clamp(2.2rem, 4vw, 3.7rem);
}

.page-hero {
  padding-block: clamp(4.25rem, 7vw, 6.5rem);
}

.page-hero h1 {
  max-width: 16ch;
  font-size: clamp(2.45rem, 5vw, 4.55rem);
}

.hero--index .hero-title--alignment {
  max-width: 12ch;
  font-size: clamp(2.75rem, 5.15vw, 5.15rem);
}

.prose h2 {
  margin-top: 3.1rem;
  font-size: clamp(1.6rem, 2.7vw, 2.5rem);
}

.posture-flow h2 {
  max-width: 20ch;
  font-size: clamp(1.65rem, 2.5vw, 2.5rem);
}

.trust-principle {
  font-size: clamp(1.35rem, 2.4vw, 2.1rem);
}

.state-focus strong {
  font-size: clamp(1.45rem, 2.5vw, 2.3rem);
}

.bulletin-panel h3 {
  font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.specimen-title h3 {
  font-size: clamp(1.6rem, 3.3vw, 3rem);
}

.support-asset figcaption strong {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}

@media (max-width: 48rem) {
  .hero--index .hero-title--alignment {
    max-width: 12ch;
    font-size: clamp(2.5rem, 11vw, 3.65rem);
  }

  .page-hero h1 {
    font-size: clamp(2.45rem, 10.5vw, 3.45rem);
  }
}

/* Phase 2B local enquiry candidate */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.optional,
.form-intro {
  color: var(--muted);
  font-size: 0.88rem;
}

.form-intro {
  margin-bottom: 1.5rem;
}

.honeypot-field {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.enquiry-form .button[disabled] {
  cursor: wait;
  opacity: 0.65;
}

.form-status[hidden] {
  display: none;
}

.form-status--error {
  border-left-color: var(--critical);
}

.form-status--accepted {
  border-left-color: #497549;
}

.form-privacy-note{font-size:.9rem;line-height:1.55;color:var(--muted,#5a5a5a);margin:0 0 1rem}.form-privacy-note a{text-decoration:underline;text-underline-offset:.15em}
