:root {
  --bg: #020303;
  --fg: #f3f4f5;
  --muted: #a8afb3;
  --dim: #687078;
  --line: rgba(255, 255, 255, 0.16);
  --line-strong: rgba(255, 255, 255, 0.28);

  /* Brand accent. Matches the developer portal's --energy-green
     (hsl(153 48% 44%)) so both sides of the domain read as one company. */
  --accent: #3aa676;
  --accent-bright: #45bd87;
  --accent-soft: rgba(58, 166, 118, 0.14);

  /* Legacy alias: this site was built with a cyan accent that conflicted with
     the EnergyIR brand green. Aliased so existing rules resolve to the accent. */
  --cyan: var(--accent);
}

* {
  box-sizing: border-box;
}

html {
  background: var(--bg);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-geist-sans), Arial, Helvetica, sans-serif;
}

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

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

.site-shell {
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  background: #000;
}

.hero {
  position: relative;
  min-height: 52vw;
  border-bottom: 1px solid var(--line);
  overflow: hidden;
  background: #000;
}

.hero-art {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #000;
}

.hero-space-layer {
  position: absolute;
  inset: -7%;
  display: block;
  background: url("/_space/art/hero-art.jpg") right top / auto 100% no-repeat;
  background-position-y: 58px;
  filter: grayscale(1) contrast(1.08) brightness(0.98);
  transform-origin: 73% 43%;
  will-change: transform;
  animation: hero-orbital-drift 18s cubic-bezier(0.45, 0, 0.55, 1) infinite alternate;
}

.hero-art::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, #000 0%, #000 45%, rgba(0, 0, 0, 0.84) 53%, rgba(0, 0, 0, 0.08) 64%, rgba(0, 0, 0, 0.05) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.04) 44%, #000 100%);
}

.hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, 0.34) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(255, 255, 255, 0.18) 0 1px, transparent 1px);
  background-size: 118px 118px, 163px 163px;
  background-position: 30px 28px, 84px 12px;
  opacity: 0.4;
}

@keyframes hero-orbital-drift {
  0% {
    transform: translate3d(-3.8%, 1.8%, 0) scale(1.055) rotate(-0.55deg);
  }

  50% {
    transform: translate3d(0.3%, -0.25%, 0) scale(1.075) rotate(0.08deg);
  }

  100% {
    transform: translate3d(4.2%, -2.4%, 0) scale(1.06) rotate(0.62deg);
  }
}

.site-header {
  position: relative;
  z-index: 2;
  height: 7.2vw;
  min-height: 74px;
  display: grid;
  /* brand | nav | mobile menu (the third column is display:none on desktop) */
  grid-template-columns: 220px 1fr auto;
  align-items: center;
  gap: 32px;
  padding: 0 2.1vw;
}

.site-header--page {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.58), transparent);
}

.brand {
  display: inline-flex;
  align-items: center;
  color: #f4f1ea;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(31px, 2.45vw, 42px);
  font-weight: 600;
  letter-spacing: -0.075em;
  line-height: 0.9;
}

.brand-wordmark {
  display: inline-block;
  white-space: nowrap;
}

.brand-wordmark__ir {
  color: #3aa676;
}

.desktop-nav {
  display: flex;
  justify-content: center;
  gap: clamp(18px, 2.8vw, 44px);
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.desktop-nav a[aria-current="page"] {
  color: var(--cyan);
}

.outline-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 22px;
  border: 1px solid var(--line-strong);
  background: rgba(0, 0, 0, 0.22);
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition:
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.outline-button:hover,
.text-link:hover,
.desktop-nav a:hover {
  color: var(--cyan);
}

.outline-button:hover {
  border-color: rgba(79, 245, 242, 0.7);
  transform: translateY(-1px);
}

.outline-button--small {
  min-height: 31px;
  padding: 0 24px;
}

.hero-copy {
  position: relative;
  z-index: 1;
  width: 43vw;
  max-width: 570px;
  margin-left: 5.9vw;
  padding-top: 4.6vw;
}

.eyebrow {
  font-family: var(--font-geist-mono), monospace;
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: #d7dbdf;
}

.hero-copy h1 {
  margin-top: 17px;
  max-width: 18ch;
  font-family: var(--font-geist-mono), monospace;
  font-size: clamp(46px, 4.85vw, 72px);
  line-height: 1.15;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cyan-rule {
  display: block;
  width: 23px;
  height: 3px;
  margin: 17px 0 15px;
  background: var(--cyan);
}

.hero-copy p:not(.eyebrow) {
  max-width: 430px;
  color: var(--muted);
  font-size: 19px;
  line-height: 1.55;
}

.hero-copy .hero-offer {
  max-width: 540px;
  color: #d5d9dd;
  font-size: 22px;
  line-height: 1.58;
}

.hero-copy--focused {
  width: 46vw;
  max-width: 660px;
}

.page-shell,
.technology-page {
  background:
    linear-gradient(90deg, rgba(79, 245, 242, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(79, 245, 242, 0.025) 1px, transparent 1px),
    #000;
  background-size: 82px 82px;
}

.page-hero {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 72% 14%, rgba(79, 245, 242, 0.1), transparent 21%),
    linear-gradient(90deg, #000 0%, #000 48%, rgba(0, 0, 0, 0.8) 100%);
}

.page-hero--wordmark {
  min-height: 720px;
}

.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.28) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(255, 255, 255, 0.14) 0 1px, transparent 1px);
  background-size: 142px 142px, 211px 211px;
  opacity: 0.24;
}

.orbit-field {
  position: absolute;
  inset: -20% -10%;
  background:
    repeating-radial-gradient(ellipse at 82% 36%, transparent 0 72px, rgba(79, 245, 242, 0.11) 73px 74px, transparent 75px 142px);
  opacity: 0.28;
  transform: rotate(-14deg);
  animation: orbit-drift 28s linear infinite;
}

@keyframes orbit-drift {
  from {
    transform: rotate(-14deg) translate3d(0, 0, 0);
  }

  to {
    transform: rotate(-14deg) translate3d(-54px, 28px, 0);
  }
}

.page-hero .site-header,
.page-hero__copy,
.page-hero__visual {
  position: relative;
  z-index: 2;
}

.page-hero__copy {
  width: min(840px, calc(100% - 12vw));
  margin-left: 5.9vw;
  padding-top: 52px;
}

.page-hero__copy h1,
.solution-statement h2,
.problem-solution h2,
.home-use-cases h2,
.proof-teaser h2,
.section-grid h2,
.cta-band h2 {
  font-family: var(--font-geist-mono), monospace;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.page-hero__copy h1 {
  max-width: 18ch;
  margin-top: 14px;
  font-size: clamp(42px, 5.2vw, 78px);
  line-height: 1.06;
}

.page-hero__copy p:not(.eyebrow) {
  max-width: 650px;
  color: var(--muted);
  font-size: 22px;
  line-height: 1.58;
}

.solution-statement {
  position: relative;
  min-height: 280px;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 68% 18%, rgba(79, 245, 242, 0.07), transparent 22%),
    linear-gradient(90deg, #000 0%, #000 58%, rgba(0, 0, 0, 0.86) 100%);
}

.solution-statement::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.24) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(255, 255, 255, 0.1) 0 1px, transparent 1px);
  background-size: 142px 142px, 211px 211px;
  opacity: 0.2;
}

.solution-statement__copy {
  position: relative;
  z-index: 2;
  width: min(760px, calc(100% - 12vw));
  margin-left: 5.9vw;
  padding: 32px 0 34px;
}

.solution-statement h2 {
  max-width: 16ch;
  margin: 16px 0 18px;
  font-size: clamp(31px, 3.7vw, 66px);
  line-height: 1.04;
}

.solution-statement p:not(.eyebrow) {
  max-width: 640px;
  color: var(--muted);
  font-size: 22px;
  line-height: 1.58;
}

.page-hero__visual {
  position: absolute;
  right: 5.6vw;
  top: 132px;
  width: min(39vw, 610px);
  height: 300px;
  pointer-events: none;
}

.chip-board-visual {
  right: 3.2vw;
  top: 108px;
  width: min(47vw, 760px);
  height: auto;
  opacity: 0.94;
}

.chip-board-visual__frame {
  position: relative;
  aspect-ratio: 1448 / 1086;
  transform-origin: 50% 52%;
  animation: chip-board-drift 12s cubic-bezier(0.45, 0, 0.55, 1) infinite alternate;
  filter:
    drop-shadow(0 34px 68px rgba(0, 0, 0, 0.72))
    drop-shadow(0 0 22px rgba(79, 245, 242, 0.08));
  will-change: transform;
}

.chip-board-visual__frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(0.86) contrast(1.08) brightness(0.82);
  opacity: 0.92;
}

.chip-board-visual__frame::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.chip-board-visual__frame::after {
  inset: -1px;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.56), transparent 18%, transparent 74%, rgba(0, 0, 0, 0.68)),
    linear-gradient(180deg, rgba(0, 0, 0, 0.52), transparent 24%, rgba(0, 0, 0, 0.58));
}

.energyir-wordmark-visual {
  right: 4.5vw;
  top: 138px;
  width: min(43vw, 760px);
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  opacity: 0.94;
}

.platform-server-visual {
  position: absolute;
  z-index: 1;
  right: -1vw;
  top: 188px;
  width: min(48vw, 820px);
  height: 520px;
  overflow: hidden;
  pointer-events: none;
  opacity: 0.64;
  -webkit-mask-image: radial-gradient(ellipse at 56% 54%, #000 0 46%, rgba(0, 0, 0, 0.84) 61%, rgba(0, 0, 0, 0.28) 78%, transparent 93%);
  mask-image: radial-gradient(ellipse at 56% 54%, #000 0 46%, rgba(0, 0, 0, 0.84) 61%, rgba(0, 0, 0, 0.28) 78%, transparent 93%);
}

.platform-server-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.38) 20%, transparent 48%, rgba(0, 0, 0, 0.18) 84%, rgba(0, 0, 0, 0.58) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.46) 0%, transparent 24%, transparent 70%, rgba(0, 0, 0, 0.48) 100%);
}

.platform-server-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1) contrast(1.08) brightness(1.08);
  transform: scale(1.1);
}

.page-hero--wordmark .page-hero__copy {
  padding-top: 270px;
}

.page-hero--wordmark .energyir-wordmark-visual {
  top: 120px;
  right: auto;
  left: 5.75vw;
  z-index: 3;
  width: min(86vw, 1220px);
  height: 178px;
  justify-content: flex-start;
}

.page-hero--wordmark .energyir-wordmark {
  font-size: clamp(98px, 9.4vw, 178px);
}

.energyir-wordmark {
  position: relative;
  color: #f4f1ea;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(86px, 7.4vw, 156px);
  font-weight: 600;
  letter-spacing: -0.085em;
  line-height: 0.9;
  white-space: nowrap;
  transform-origin: 46% 52%;
}

.energyir-wordmark::before {
  content: "";
  position: absolute;
  inset: -28% -10% -18%;
  background: radial-gradient(circle at 72% 48%, rgba(58, 166, 118, 0.24), transparent 34%);
  opacity: 0;
  transform: scale(0.92);
  animation: energyir-wordmark-glow 3.2s ease-out 0.65s forwards;
}

.energyir-wordmark__letter {
  position: relative;
  display: inline-block;
  opacity: 0;
  transform: translate3d(-28px, 16px, 0) skewX(-8deg) scale(0.98);
  filter: blur(8px);
  animation: energyir-letter-unfold 1.8s cubic-bezier(0.2, 0.72, 0.18, 1) forwards;
  animation-delay: calc(var(--letter-index) * 115ms);
}

.energyir-wordmark__letter--ir {
  color: #3aa676;
  text-shadow:
    0 0 26px rgba(58, 166, 118, 0.36),
    0 0 64px rgba(58, 166, 118, 0.16);
}

@keyframes energyir-letter-unfold {
  0% {
    opacity: 0;
    transform: translate3d(-28px, 16px, 0) skewX(-8deg) scale(0.98);
    filter: blur(8px);
  }

  62% {
    opacity: 1;
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) skewX(0) scale(1);
    filter: blur(0);
  }
}

@keyframes energyir-wordmark-glow {
  0% {
    opacity: 0;
    transform: scale(0.92);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes chip-board-drift {
  0% {
    transform: translate3d(-2.2%, 1.5%, 0) rotate(-3.4deg) scale(0.985);
  }

  50% {
    transform: translate3d(0.4%, 0, 0) rotate(-0.7deg) scale(1.004);
  }

  100% {
    transform: translate3d(2.3%, -1.4%, 0) rotate(2.1deg) scale(0.99);
  }
}

@media (max-width: 1500px) {
  .page-hero--wordmark {
    min-height: 700px;
  }

  .page-hero--wordmark .page-hero__copy {
    padding-top: 240px;
  }

  .page-hero--wordmark .energyir-wordmark-visual {
    top: 120px;
    left: 5.75vw;
    right: auto;
    display: flex;
    width: min(88vw, 980px);
    height: 152px;
    opacity: 0.92;
  }

  .page-hero--wordmark .energyir-wordmark {
    font-size: clamp(78px, 8.2vw, 126px);
  }

  .platform-server-visual {
    right: -4vw;
    top: 246px;
    width: min(50vw, 640px);
    height: 420px;
    opacity: 0.54;
  }
}

@media (max-width: 1180px) {
  .platform-server-visual {
    display: none;
  }
}

.technology-page {
  background-size: 82px 82px;
}

.technology-hero {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: #000;
}

.technology-hero__art {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.technology-hero__art span {
  position: absolute;
  inset: -6%;
  display: block;
  background: url("/_space/art/hero-art.jpg") right top / auto 105% no-repeat;
  background-position-y: 58px;
  filter: grayscale(1) contrast(1.12) brightness(0.82);
  opacity: 0.58;
  transform-origin: 76% 38%;
  animation: hero-orbital-drift 24s cubic-bezier(0.45, 0, 0.55, 1) infinite alternate;
}

.technology-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0.96) 35%, rgba(0, 0, 0, 0.52) 64%, rgba(0, 0, 0, 0.84) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.25), #000 100%);
}

.site-header--technology,
.technology-hero__copy,
.technology-brief {
  position: relative;
  z-index: 2;
}

.technology-hero__copy {
  width: min(720px, calc(100% - 12vw));
  margin-left: 5.9vw;
  padding-top: 46px;
}

.technology-hero__copy h1,
.technology-pipeline__intro h2 {
  font-family: var(--font-geist-mono), monospace;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.technology-hero__copy h1 {
  margin-top: 16px;
  max-width: 16ch;
  font-size: clamp(44px, 4.9vw, 72px);
  line-height: 1.05;
}

.technology-hero__copy p:not(.eyebrow) {
  max-width: 560px;
  color: var(--muted);
  font-size: 20px;
  line-height: 1.6;
}

.technology-brief {
  position: absolute;
  left: 5.9vw;
  right: 5.9vw;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.66);
  backdrop-filter: blur(10px);
}

.technology-brief article {
  min-height: 105px;
  padding: 22px 26px;
  border-right: 1px solid var(--line);
}

.technology-brief strong,
.pipeline-grid span,
.pipeline-grid h3 {
  display: block;
  font-family: var(--font-geist-mono), monospace;
  text-transform: uppercase;
}

.technology-brief strong {
  margin-bottom: 10px;
  font-size: 14px;
  letter-spacing: 0.08em;
}

.technology-brief span,
.pipeline-grid p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

.infrastructure--technology {
  min-height: 290px;
}

.infrastructure--technology .infra-image {
  display: none;
}

.technology-pipeline {
  display: grid;
  grid-template-columns: 28vw 1fr;
  min-height: 250px;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 80% 15%, rgba(79, 245, 242, 0.12), transparent 22%),
    #000;
}

.problem-solution {
  display: grid;
  grid-template-columns: 27vw 25vw 1fr;
  min-height: 300px;
  border-bottom: 1px solid var(--line);
  background: #000;
}

.problem-copy {
  padding: 40px 34px 34px;
  border-right: 1px solid var(--line);
}

.problem-copy p,
.section-grid__intro p,
.cta-band p,
.cards-grid p,
.segment-list p,
.proof-teaser p,
.technology-diagrams p,
.benchmark-row span,
.home-use-cases p,
.solution-list p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.58;
}

.solution-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.solution-list article {
  padding: 35px 34px 30px;
  border-left: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.solution-list h3,
.cards-grid h3,
.segment-list h3,
.technology-diagrams h3,
.certificate-chain h3 {
  margin: 12px 0 8px;
  font-family: var(--font-geist-mono), monospace;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.home-use-cases {
  display: grid;
  grid-template-columns: 30vw 24vw 1fr;
  min-height: 310px;
  border-bottom: 1px solid var(--line);
}

.home-use-cases__intro {
  padding: 42px 34px 30px;
  border-right: 1px solid var(--line);
}

.home-use-cases__intro h2,
.proof-teaser h2,
.section-grid h2,
.cta-band h2 {
  margin: 12px 0 16px;
  font-size: clamp(24px, 2.5vw, 38px);
  line-height: 1.14;
}

.use-card-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.use-card-list article {
  padding: 44px 32px 30px;
  border-right: 1px solid var(--line);
}

.use-card-list article:last-child {
  border-right: 0;
}

.proof-teaser {
  display: grid;
  grid-template-columns: 35vw 1fr 18vw;
  align-items: stretch;
  border-bottom: 1px solid var(--line);
}

.proof-teaser__copy {
  padding: 42px 5vw 36px 5.9vw;
  border-right: 1px solid var(--line);
}

.proof-teaser__numbers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.proof-teaser__numbers article {
  display: grid;
  align-content: center;
  min-height: 190px;
  padding: 30px;
  border-right: 1px solid var(--line);
  text-align: center;
}

.proof-teaser__numbers strong {
  font-family: var(--font-geist-mono), monospace;
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 500;
  animation: metric-pulse 4.8s ease-in-out infinite;
}

@keyframes metric-pulse {
  0%,
  100% {
    text-shadow: 0 0 0 rgba(79, 245, 242, 0);
  }

  50% {
    text-shadow: 0 0 18px rgba(79, 245, 242, 0.28);
  }
}

.proof-teaser__numbers span {
  color: var(--muted);
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.proof-teaser > .outline-button {
  align-self: center;
  justify-self: center;
}

.section-grid {
  display: grid;
  grid-template-columns: 30vw 1fr;
  border-bottom: 1px solid var(--line);
}

.section-grid__intro {
  padding: 44px 42px 36px 5.9vw;
  border-right: 1px solid var(--line);
}

.section-grid__body {
  min-width: 0;
}

.cards-grid {
  display: grid;
}

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

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

.cards-grid article,
.segment-list article {
  min-height: 172px;
  padding: 34px 32px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  transition:
    background 180ms ease,
    transform 180ms ease;
}

.cards-grid article:hover,
.segment-list article:hover,
.platform-list article:hover {
  background: rgba(79, 245, 242, 0.045);
}

.segment-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.technology-diagrams {
  display: grid;
  grid-template-columns: 1fr 34vw;
  border-bottom: 1px solid var(--line);
}

.architecture-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.architecture-flow article {
  min-height: 230px;
  padding: 34px 26px;
  border-right: 1px solid var(--line);
}

.architecture-flow span,
.compare-row strong {
  color: var(--cyan);
  font-family: var(--font-geist-mono), monospace;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.comparison-panel {
  display: grid;
  align-content: center;
  gap: 22px;
  padding: 34px;
}

.compare-row {
  display: grid;
  grid-template-columns: 1.1fr repeat(4, 1fr);
  gap: 1px;
  align-items: stretch;
}

.compare-row span,
.compare-row strong {
  display: grid;
  min-height: 54px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  text-transform: uppercase;
}

.compare-row--accent span,
.compare-row--accent strong {
  border-color: rgba(79, 245, 242, 0.3);
  color: #eefafa;
  background: rgba(79, 245, 242, 0.05);
}

.certificate-chain {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.certificate-chain article {
  position: relative;
  min-height: 180px;
  padding: 36px 30px;
  border-right: 1px solid var(--line);
}

.certificate-chain span {
  display: block;
  width: 32px;
  height: 32px;
  margin-bottom: 20px;
  border: 1px solid rgba(79, 245, 242, 0.75);
  transform: rotate(45deg);
}

.benchmark-table {
  overflow-x: auto;
}

.benchmark-row {
  display: grid;
  grid-template-columns: 1.25fr 1.15fr 0.8fr 1fr 1fr 1.2fr;
  min-width: 920px;
  border-bottom: 1px solid var(--line);
}

.benchmark-row span {
  padding: 18px 16px;
  border-right: 1px solid var(--line);
}

.benchmark-row--head span {
  color: #fff;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-copy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.scenario-copy p,
.evidence-list p {
  padding: 28px 30px;
  border-right: 1px solid var(--line);
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.scenario-copy p:last-child {
  border-right: 0;
}

.scenario-table {
  overflow-x: auto;
}

.scenario-row {
  display: grid;
  grid-template-columns: 1.55fr 0.78fr 1fr 1fr 1fr;
  min-width: 880px;
  border-bottom: 1px solid var(--line);
}

.scenario-row span {
  padding: 18px 16px;
  border-right: 1px solid var(--line);
  color: var(--muted);
  font-size: 16px;
  line-height: 1.45;
}

.scenario-row span:not(:first-child) {
  text-align: right;
  font-family: var(--font-geist-mono), monospace;
}

.scenario-row--head span {
  color: #fff;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.scenario-highlights article {
  padding: 34px 30px;
  border-right: 1px solid var(--line);
}

.scenario-highlights article:last-child {
  border-right: 0;
}

.scenario-highlights h3,
.mission-capability-list span {
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.scenario-highlights strong {
  display: block;
  margin: 18px 0 14px;
  color: #fff;
  font-family: var(--font-geist-mono), monospace;
  font-size: clamp(28px, 3vw, 46px);
  font-weight: 520;
  line-height: 1.08;
}

.scenario-highlights p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}

.mission-capability-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mission-capability-list span {
  min-height: 92px;
  padding: 26px 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: #d5d9dd;
}

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

.evidence-list p {
  border-bottom: 1px solid var(--line);
}

.process-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.process-list article {
  min-height: 150px;
  padding: 30px 24px;
  border-right: 1px solid var(--line);
}

.process-list span {
  display: block;
  width: 18px;
  height: 18px;
  margin-bottom: 22px;
  border: 1px solid var(--cyan);
  transform: rotate(45deg);
}

.process-list p {
  color: #d5d9dd;
  font-family: var(--font-geist-mono), monospace;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.55;
  text-transform: uppercase;
}

.mission-quote {
  padding: 38px 5vw 42px;
  background:
    linear-gradient(90deg, rgba(79, 245, 242, 0.08), transparent 38%),
    #000;
}

.mission-quote p {
  max-width: 820px;
  color: #dfe4e6;
  font-size: clamp(21px, 2.3vw, 36px);
  line-height: 1.34;
}

.mission-quote strong {
  display: block;
  margin-top: 24px;
  color: var(--cyan);
  font-family: var(--font-geist-mono), monospace;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cta-band {
  display: grid;
  grid-template-columns: 1fr 34vw;
  gap: 34px;
  align-items: center;
  padding: 46px 5.9vw;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(79, 245, 242, 0.08), transparent 34%),
    #000;
}

.cta-band p {
  max-width: 700px;
}

.cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-end;
}

.technology-pipeline__intro {
  padding: 42px 40px 34px 5.9vw;
  border-right: 1px solid var(--line);
}

.technology-pipeline__intro h2 {
  margin-top: 14px;
  max-width: 290px;
  font-size: 34px;
  line-height: 1.18;
}

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

.pipeline-grid article {
  padding: 42px 28px 34px;
  border-right: 1px solid var(--line);
}

.pipeline-grid article:last-child {
  border-right: 0;
}

.pipeline-grid span {
  margin-bottom: 28px;
  color: var(--cyan);
  font-size: 14px;
  letter-spacing: 0.14em;
}

.pipeline-grid h3 {
  margin: 0 0 12px;
  font-size: 17px;
  letter-spacing: 0.06em;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 38px;
  margin-top: 31px;
}

.watch-link,
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.play-dot {
  position: relative;
  width: 22px;
  height: 22px;
  border: 1px solid #fff;
  border-radius: 50%;
}

.play-dot::after {
  content: "";
  position: absolute;
  inset: 7px 7px 7px 8px;
  background: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.infrastructure {
  position: relative;
  display: grid;
  grid-template-columns: 25vw 22vw 1fr;
  min-height: 250px;
  border-bottom: 1px solid var(--line);
  background: #000;
}

.infra-image {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 24vw;
  height: 17vw;
  min-height: 150px;
  background: url("/_space/art/infra-satellite.png") left bottom / contain no-repeat;
  filter: grayscale(1) contrast(1.08);
}

.section-title,
.infra-copy,
.capability-grid {
  position: relative;
  z-index: 1;
}

.section-title {
  padding: 33px 0 0 5.9vw;
}

.section-title h2,
.platform-copy h2,
.proof-intro h2,
.mission-copy h2 {
  font-family: var(--font-geist-mono), monospace;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.section-title h2 {
  max-width: 210px;
  font-size: 22px;
  line-height: 1.28;
}

.infra-copy {
  padding: 33px 3vw 30px 2vw;
}

.infra-copy p,
.platform-copy p,
.proof-intro p,
.mission-copy p,
.capability p,
.platform-list p,
.metric p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.signature {
  display: block;
  margin-top: 17px;
  font-family: "Brush Script MT", cursive;
  font-size: 28px;
  transform: rotate(-8deg);
}

.capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px 50px;
  padding: 32px 6vw 28px 2vw;
}

.capability h3,
.platform-list h3,
.metric h3 {
  margin: 10px 0 6px;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.icon {
  position: relative;
  display: inline-block;
  width: 29px;
  height: 29px;
}

.icon::before,
.icon::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid #fff;
}

.icon--bolt::before {
  border: 0;
  background: #fff;
  clip-path: polygon(58% 0, 16% 54%, 46% 54%, 34% 100%, 83% 39%, 52% 39%);
}

.icon--bolt::after {
  display: none;
}

.icon--dial::before {
  border-radius: 50%;
  border-top-color: transparent;
}

.icon--dial::after {
  border: 0;
  background: #fff;
  inset: 13px 6px 13px 14px;
  transform: rotate(-43deg);
}

.icon--atom::before,
.icon--atom::after {
  border-radius: 50%;
  transform: rotate(28deg) scaleX(0.58);
}

.icon--atom::after {
  transform: rotate(-28deg) scaleX(0.58);
}

.icon--shield::before {
  clip-path: polygon(50% 0, 100% 18%, 88% 76%, 50% 100%, 12% 76%, 0 18%);
}

.icon--shield::after {
  inset: 12px;
  border-radius: 50%;
  background: #fff;
}

.icon--cube::before {
  transform: rotate(30deg) skew(-8deg, -8deg) scale(0.72);
}

.icon--cube::after {
  inset: 9px;
  transform: rotate(30deg) skew(-8deg, -8deg) scale(0.72);
}

.icon--audit::before {
  border-radius: 2px;
}

.icon--audit::after {
  inset: 13px 7px 7px 14px;
  border-radius: 50%;
  background: #000;
  box-shadow: 0 0 0 2px #fff;
}

.platform {
  display: grid;
  grid-template-columns: 25vw 25vw 29vw 21vw;
  min-height: 302px;
  border-bottom: 1px solid var(--line);
}

.platform-hero-spacer {
  height: 34px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(79, 245, 242, 0.028) 1px, transparent 1px),
    linear-gradient(rgba(79, 245, 242, 0.018) 1px, transparent 1px),
    #000;
  background-size: 82px 82px;
}

.platform.platform--page {
  grid-template-columns: 25vw 25vw 1fr;
}

.platform > * {
  border-right: 1px solid var(--line);
}

.platform > *:last-child {
  border-right: 0;
}

.portrait {
  background: url("/_space/art/operator-portrait.png") center / cover no-repeat;
  filter: grayscale(1) contrast(1.05);
}

.technology-lunar-image {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.1), transparent 54%, rgba(0, 0, 0, 0.42)),
    url("/_space/art/satellite-moon-pass.jpg") 42% center / cover no-repeat;
  filter: grayscale(1) contrast(1.08) brightness(0.9);
}

.platform-copy {
  padding: 45px 35px 30px 25px;
}

.platform-copy h2 {
  margin: 12px 0 20px;
  max-width: 260px;
  font-size: 30px;
  line-height: 1.22;
}

.processor-map {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 150px;
  align-items: center;
  gap: 12px;
  padding: 36px 28px;
}

.processor-label {
  color: var(--muted);
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  line-height: 1.5;
}

.processor-label strong,
.metric strong {
  display: block;
  color: #fff;
  font-family: var(--font-geist-mono), monospace;
  font-weight: 450;
}

.processor-label strong {
  font-size: 25px;
  letter-spacing: 0.04em;
}

.processor-label span {
  display: block;
}

.processor-label--clas {
  align-self: end;
  grid-column: 1;
}

.chips {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  gap: 30px;
}

.chip {
  position: relative;
  display: block;
  aspect-ratio: 1;
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px),
    #050606;
  background-size: 13px 13px;
}

.chip::before {
  content: "";
  position: absolute;
  inset: 25%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent);
}

.chip::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(79, 245, 242, 0.22) 49%, transparent 55%);
  transform: translateX(-120%);
  animation: chip-scan 5.8s ease-in-out infinite;
}

.chip--bottom::after {
  animation-delay: 1.8s;
}

@keyframes chip-scan {
  0%,
  38% {
    transform: translateX(-120%);
  }

  62%,
  100% {
    transform: translateX(120%);
  }
}

.platform-list {
  display: grid;
  gap: 18px;
  padding: 37px 42px 28px 28px;
}

.platform-list.platform-list--wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.platform-list article {
  display: grid;
  grid-template-columns: 31px 1fr;
  gap: 14px;
}

.platform-list h3 {
  margin-top: 0;
}

.platform-stack-grid article {
  position: relative;
}

.platform-chip-label {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--cyan);
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.platform-stack-grid h3,
.platform-interface-grid h3,
.platform-loop h3,
.platform-system h2,
.platform-evidence h2 {
  font-family: var(--font-geist-mono), monospace;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.platform-stack-grid h3,
.platform-interface-grid h3,
.platform-loop h3 {
  margin: 0 0 12px;
  font-size: 19px;
}

.platform-stack-grid p,
.platform-interface-grid p,
.platform-loop p,
.platform-system p,
.platform-evidence p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}

.platform-system {
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(420px, 1.08fr);
  border-bottom: 1px solid var(--line);
}

.platform-system__copy {
  padding: 54px 4vw 50px 5.9vw;
  border-right: 1px solid var(--line);
}

.platform-system__copy h2,
.platform-evidence h2 {
  margin: 14px 0 18px;
  max-width: 620px;
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.14;
}

.platform-terminal {
  align-self: center;
  margin: 46px 5.9vw 46px 4vw;
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(90deg, rgba(79, 245, 242, 0.06) 1px, transparent 1px),
    linear-gradient(rgba(79, 245, 242, 0.05) 1px, transparent 1px),
    rgba(0, 0, 0, 0.72);
  background-size: 28px 28px;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.38);
}

.terminal-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
}

.terminal-bar span {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--line-strong);
}

.terminal-bar span:nth-child(3) {
  background: var(--cyan);
}

.terminal-bar strong {
  margin-left: 8px;
  color: var(--muted);
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  letter-spacing: 0.14em;
}

.platform-terminal pre {
  margin: 0;
  overflow-x: auto;
  padding: 28px;
  color: #d9e0e3;
  font-family: var(--font-geist-mono), monospace;
  font-size: clamp(14px, 1.32vw, 18px);
  line-height: 1.8;
}

.platform-interface-grid article {
  min-height: 210px;
}

.platform-loop {
  display: grid;
  grid-template-columns: 27vw 1fr;
  border-bottom: 1px solid var(--line);
}

.platform-loop__intro {
  padding: 46px 34px 40px 5.9vw;
  border-right: 1px solid var(--line);
}

.platform-loop__intro h2 {
  margin: 14px 0 18px;
  font-family: var(--font-geist-mono), monospace;
  font-size: clamp(22px, 2.3vw, 34px);
  line-height: 1.16;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.platform-loop__steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.platform-loop__steps article {
  min-height: 238px;
  padding: 36px 24px;
  border-right: 1px solid var(--line);
}

.platform-loop__steps article:last-child {
  border-right: 0;
}

.platform-loop__steps span {
  display: block;
  margin-bottom: 18px;
  color: var(--cyan);
  font-family: var(--font-geist-mono), monospace;
  font-size: 13px;
  letter-spacing: 0.12em;
}

.platform-evidence {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) 1fr;
  gap: 7vw;
  align-items: center;
  padding: 58px 5.9vw 60px;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 18% 36%, rgba(79, 245, 242, 0.09), transparent 26%),
    rgba(0, 0, 0, 0.36);
}

.compute-page .page-hero--wordmark .page-hero__copy {
  width: min(920px, calc(100% - 12vw));
}

.compute-page .page-hero--wordmark .page-hero__copy h1 {
  max-width: 16ch;
}

.compute-positioning,
.compute-assurance {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) 1fr;
  gap: 7vw;
  align-items: center;
  padding: 58px 5.9vw 60px;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 18% 32%, rgba(58, 166, 118, 0.12), transparent 26%),
    rgba(0, 0, 0, 0.38);
}

.compute-positioning h2,
.compute-interface h2,
.compute-flow h2,
.compute-assurance h2 {
  font-family: var(--font-geist-mono), monospace;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.compute-positioning h2,
.compute-assurance h2 {
  margin-top: 14px;
  max-width: 650px;
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.14;
}

.compute-positioning p:not(.eyebrow),
.compute-interface p,
.compute-flow p,
.compute-assurance p,
.compute-product-grid p,
.compute-mapping-grid p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}

.compute-positioning > p,
.compute-assurance > p {
  max-width: 820px;
  font-size: 18px;
  line-height: 1.7;
}

.compute-product-grid article {
  position: relative;
}

.compute-product-grid h3,
.compute-mapping-grid h3,
.compute-flow h3 {
  font-family: var(--font-geist-mono), monospace;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.compute-product-grid h3,
.compute-mapping-grid h3 {
  margin: 0 0 12px;
  font-size: 19px;
}

.compute-interface {
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(420px, 1.08fr);
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(58, 166, 118, 0.08), transparent 38%),
    #000;
}

.compute-interface__copy {
  padding: 54px 4vw 50px 5.9vw;
  border-right: 1px solid var(--line);
}

.compute-interface__copy h2 {
  margin: 14px 0 18px;
  max-width: 660px;
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.14;
}

.compute-terminal {
  align-self: center;
  margin: 46px 5.9vw 46px 4vw;
  border: 1px solid rgba(58, 166, 118, 0.42);
  background:
    linear-gradient(90deg, rgba(58, 166, 118, 0.08) 1px, transparent 1px),
    linear-gradient(rgba(58, 166, 118, 0.06) 1px, transparent 1px),
    rgba(0, 0, 0, 0.76);
  background-size: 28px 28px;
  box-shadow:
    0 22px 70px rgba(0, 0, 0, 0.42),
    0 0 36px rgba(58, 166, 118, 0.08);
}

.compute-terminal pre {
  margin: 0;
  overflow-x: auto;
  padding: 28px;
  color: #e3e1d9;
  font-family: var(--font-geist-mono), monospace;
  font-size: clamp(14px, 1.32vw, 18px);
  line-height: 1.8;
}

.compute-flow {
  display: grid;
  grid-template-columns: 27vw 1fr;
  border-bottom: 1px solid var(--line);
}

.compute-flow__intro {
  padding: 46px 34px 40px 5.9vw;
  border-right: 1px solid var(--line);
}

.compute-flow__intro h2 {
  margin-top: 14px;
  max-width: 360px;
  font-size: clamp(23px, 2.4vw, 36px);
  line-height: 1.14;
}

.compute-flow__steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.compute-flow__steps article {
  min-height: 240px;
  padding: 36px 24px;
  border-right: 1px solid var(--line);
}

.compute-flow__steps article:last-child {
  border-right: 0;
}

.compute-flow__steps span {
  display: block;
  margin-bottom: 18px;
  color: #3aa676;
  font-family: var(--font-geist-mono), monospace;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.compute-flow__steps h3 {
  margin: 0 0 12px;
  font-size: 19px;
}

.compute-mapping-grid article {
  min-height: 214px;
}

.proof {
  display: grid;
  grid-template-columns: 27vw 1fr;
  min-height: 174px;
  border-bottom: 1px solid var(--line);
}

.proof-intro {
  padding: 30px 35px 24px 5.9vw;
}

.proof-intro h2 {
  margin-top: 10px;
  max-width: 220px;
  font-size: 24px;
  line-height: 1.35;
}

.proof-intro .cyan-rule {
  margin: 12px 0 13px;
}

.metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.metric {
  padding: 23px 23px 16px;
  border-left: 1px solid var(--line);
  text-align: center;
}

.metric strong {
  margin-bottom: 5px;
  font-size: clamp(24px, 2.5vw, 36px);
}

.metric h3 {
  margin: 0 0 14px;
}

.metric small {
  display: block;
  margin-top: 15px;
  color: var(--dim);
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mission {
  display: grid;
  grid-template-columns: 30.5vw 25.7vw 21.5vw 22.3vw;
  min-height: 207px;
  border-bottom: 1px solid var(--line);
}

.mission > * {
  border-right: 1px solid var(--line);
}

.mission > *:last-child {
  border-right: 0;
}

.rover {
  background: url("/_space/art/moon-rover.png") center / cover no-repeat;
  filter: grayscale(1) contrast(1.08);
}

.mission-copy {
  padding: 34px 28px 25px;
}

.mission-copy h2 {
  margin: 9px 0 11px;
  font-size: 26px;
  line-height: 1.25;
}

blockquote {
  padding: 45px 44px 25px 30px;
}

blockquote::before {
  content: "“";
  display: block;
  height: 38px;
  font-family: Georgia, serif;
  font-size: 62px;
  line-height: 0.7;
}

blockquote p {
  color: #d4d8dc;
  font-size: 19px;
  line-height: 1.55;
}

blockquote cite {
  display: block;
  margin-top: 18px;
  color: var(--muted);
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.partners {
  display: grid;
  grid-template-columns: 20vw 1fr;
  align-items: center;
  min-height: 67px;
  padding: 0 5.9vw;
}

.trust-signals {
  grid-template-columns: 18vw 1fr;
}

.partners p {
  color: var(--muted);
  font-family: var(--font-geist-mono), monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.partners div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 30px;
}

.partners span {
  color: rgba(255, 255, 255, 0.62);
  font-family: var(--font-geist-mono), monospace;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
}

@media (max-width: 980px) {
  .site-header {
    grid-template-columns: 1fr auto;
  }

  .desktop-nav {
    display: none;
  }

  .hero {
    min-height: 760px;
  }

  .hero-space-layer {
    opacity: 0.75;
    background-position: 60% top;
    background-position-y: 58px;
  }

  .hero-copy {
    width: min(560px, calc(100% - 40px));
    margin: 80px 20px 0;
  }

  .hero-copy h1 {
    font-size: clamp(42px, 12vw, 70px);
  }

  .page-hero {
    min-height: 560px;
  }

  .page-hero__copy {
    width: min(680px, calc(100% - 48px));
    margin-left: 24px;
    padding-top: 70px;
  }

  .page-hero__copy h1 {
    font-size: clamp(38px, 8.5vw, 68px);
  }

  .page-hero__visual {
    right: 24px;
    top: 290px;
    width: min(520px, calc(100% - 48px));
    opacity: 0.34;
  }

  .energyir-wordmark-visual {
    right: 24px;
    top: 330px;
    width: min(460px, calc(100% - 48px));
    height: 180px;
    opacity: 0.2;
  }

  .energyir-wordmark {
    font-size: clamp(62px, 15vw, 108px);
  }

  .page-hero--wordmark {
    min-height: 760px;
  }

  .page-hero--wordmark .page-hero__copy {
    padding-top: 205px;
  }

  .page-hero--wordmark .energyir-wordmark-visual {
    top: 116px;
    left: 24px;
    width: min(700px, calc(100% - 48px));
    height: 130px;
    opacity: 0.86;
  }

  .page-hero--wordmark .energyir-wordmark {
    font-size: clamp(58px, 11vw, 92px);
  }

  .infrastructure,
  .platform,
  .proof,
  .mission,
  .problem-solution,
  .home-use-cases,
  .proof-teaser,
  .section-grid,
  .technology-diagrams,
  .technology-pipeline,
  .platform-system,
  .platform-loop,
  .platform-evidence,
  .compute-positioning,
  .compute-interface,
  .compute-flow,
  .compute-assurance,
  .cta-band,
  .partners {
    grid-template-columns: 1fr;
  }

  .infra-image {
    display: none;
  }

  .section-title,
  .infra-copy,
  .capability-grid,
  .platform-copy,
  .processor-map,
  .platform-list,
  .proof-intro,
  .mission-copy,
  .problem-copy,
  .home-use-cases__intro,
  .proof-teaser__copy,
  .section-grid__intro,
  .comparison-panel,
  .platform-system__copy,
  .platform-loop__intro,
  .compute-positioning,
  .compute-interface__copy,
  .compute-flow__intro,
  .compute-assurance,
  .cta-band,
  blockquote,
  .partners {
    padding-left: 24px;
    padding-right: 24px;
  }

  .capability-grid,
  .metrics,
  .technology-brief,
  .pipeline-grid,
  .solution-list,
  .use-card-list,
  .cards-grid--three,
  .cards-grid--two,
  .architecture-flow,
  .certificate-chain,
  .scenario-copy,
  .scenario-highlights,
  .mission-capability-list,
  .evidence-list,
  .process-list,
  .platform-list.platform-list--wide,
  .platform-loop__steps,
  .compute-flow__steps,
  .partners div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .platform-terminal,
  .compute-terminal {
    margin: 0 24px 38px;
  }

  .portrait,
  .technology-lunar-image,
  .rover,
  .founder {
    min-height: 300px;
  }

  .platform > *,
  .mission > *,
  .problem-copy,
  .home-use-cases__intro,
  .proof-teaser__copy,
  .section-grid__intro,
  .solution-list article,
  .use-card-list article,
  .architecture-flow article,
  .comparison-panel,
  .certificate-chain article,
  .scenario-copy p,
  .scenario-highlights article,
  .mission-capability-list span,
  .evidence-list p,
  .process-list article,
  .platform-system__copy,
  .platform-loop__intro,
  .platform-loop__steps article,
  .compute-interface__copy,
  .compute-flow__intro,
  .compute-flow__steps article,
  .cta-band,
  .technology-pipeline__intro,
  .pipeline-grid article {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

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

  .proof-teaser > .outline-button,
  .cta-actions {
    justify-self: start;
    justify-content: flex-start;
  }

  .technology-hero {
    min-height: 840px;
  }

  .technology-hero__art span {
    opacity: 0.45;
    background-position: 63% top;
    background-position-y: 58px;
  }

  .technology-hero__copy {
    width: min(620px, calc(100% - 48px));
    margin: 70px 24px 190px;
    padding-top: 0;
  }

  .technology-brief {
    left: 24px;
    right: 24px;
  }

  .solution-statement {
    min-height: 270px;
  }

  .solution-statement__copy {
    width: min(620px, calc(100% - 48px));
    margin-left: 24px;
    padding: 30px 0 32px;
  }

  .solution-statement h2 {
    font-size: clamp(26px, 5vw, 41px);
  }

  .solution-statement p:not(.eyebrow) {
    font-size: 19px;
  }
}

@media (max-width: 560px) {
  .brand {
    font-size: 34px;
  }

  .outline-button--small {
    padding: 0 12px;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }

  .capability-grid,
  .metrics,
  .technology-brief,
  .pipeline-grid,
  .solution-list,
  .use-card-list,
  .cards-grid--three,
  .cards-grid--two,
  .architecture-flow,
  .certificate-chain,
  .scenario-copy,
  .scenario-highlights,
  .mission-capability-list,
  .evidence-list,
  .process-list,
  .segment-list,
  .platform-loop__steps,
  .compute-flow__steps,
  .platform-list.platform-list--wide,
  .partners div {
    grid-template-columns: 1fr;
  }

  .platform-terminal,
  .compute-terminal {
    margin: 0 24px 32px;
  }

  .platform-terminal pre,
  .compute-terminal pre {
    padding: 22px 18px;
    font-size: 13px;
  }

  .hero {
    min-height: 820px;
  }

  .solution-statement {
    min-height: 250px;
  }

  .solution-statement h2 {
    font-size: clamp(25px, 7.28vw, 35px);
  }

  .hero-copy {
    margin-top: 58px;
  }

  .hero-copy h1 {
    font-size: clamp(38px, 13vw, 58px);
    line-height: 1.1;
  }

  .hero-copy .hero-offer,
  .page-hero__copy p:not(.eyebrow) {
    font-size: 18px;
  }

  .page-hero {
    min-height: 610px;
  }

  .page-hero__copy {
    padding-top: 58px;
  }

  .page-hero--wordmark .page-hero__copy {
    padding-top: 58px;
  }

  .page-hero__copy h1 {
    font-size: clamp(34px, 12vw, 52px);
  }

  .page-hero__visual {
    display: none;
  }

  .proof-teaser__numbers,
  .compare-row {
    grid-template-columns: 1fr;
  }

  .proof-teaser__numbers article {
    text-align: left;
  }

  .metric {
    border-left: 0;
    border-top: 1px solid var(--line);
    text-align: left;
  }
}

/* ==========================================================================
   Mobile navigation (CSS-only disclosure)
   The site ships without client JS, so the menu is a <details> element.
   ========================================================================== */

.mobile-nav {
  display: none;
  position: relative;
  justify-self: end;
}

.mobile-nav > summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line-strong);
  background: rgba(0, 0, 0, 0.34);
  cursor: pointer;
}

.mobile-nav > summary::-webkit-details-marker {
  display: none;
}

.mobile-nav__bars,
.mobile-nav__bars::before,
.mobile-nav__bars::after {
  display: block;
  width: 18px;
  height: 1.5px;
  background: var(--fg);
  transition: transform 200ms ease, opacity 200ms ease;
}

.mobile-nav__bars {
  position: relative;
}

.mobile-nav__bars::before,
.mobile-nav__bars::after {
  content: "";
  position: absolute;
  left: 0;
}

.mobile-nav__bars::before {
  top: -6px;
}

.mobile-nav__bars::after {
  top: 6px;
}

.mobile-nav[open] .mobile-nav__bars {
  background: transparent;
}

.mobile-nav[open] .mobile-nav__bars::before {
  transform: translateY(6px) rotate(45deg);
}

.mobile-nav[open] .mobile-nav__bars::after {
  transform: translateY(-6px) rotate(-45deg);
}

.mobile-nav__panel {
  position: absolute;
  z-index: 40;
  top: calc(100% + 12px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  padding: 8px 0 18px;
  border: 1px solid var(--line-strong);
  background: rgba(2, 3, 3, 0.97);
  backdrop-filter: blur(14px);
}

.mobile-nav__panel nav {
  display: flex;
  flex-direction: column;
}

.mobile-nav__panel nav a {
  padding: 15px 22px;
  border-bottom: 1px solid var(--line);
  font-family: var(--font-geist-mono), monospace;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg);
}

.mobile-nav__panel nav a[aria-current="page"] {
  color: var(--accent);
}

.mobile-nav__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 22px 0;
}

/* ==========================================================================
   Site footer
   ========================================================================== */

.site-footer {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 2fr;
  gap: 48px 64px;
  padding: 72px 2.1vw 40px;
  border-top: 1px solid var(--line);
  background: #000;
}

.site-footer__brand .brand {
  display: inline-block;
  margin-bottom: 18px;
}

.site-footer__brand p {
  max-width: 34ch;
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}

.site-footer__columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
}

.site-footer__columns h3 {
  margin-bottom: 16px;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--dim);
}

.site-footer__columns a {
  display: block;
  margin-bottom: 11px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--muted);
  transition: color 160ms ease;
}

.site-footer__columns a:hover {
  color: var(--accent);
}

.site-footer__base {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 32px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.site-footer__base p {
  font-size: 14px;
  color: var(--dim);
}

.site-footer__base a {
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ==========================================================================
   Compute Stack gateway — the crossing point into the developer platform
   ========================================================================== */

.compute-gateway {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 56px;
  padding: 96px 2.1vw;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, var(--accent-soft) 0%, transparent 62%);
}

.compute-gateway__copy h2 {
  margin: 18px 0 20px;
  font-size: clamp(30px, 3.1vw, 46px);
  line-height: 1.06;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

.compute-gateway__copy p {
  max-width: 56ch;
  font-size: 18px;
  line-height: 1.75;
  color: var(--muted);
}

.compute-gateway__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 28px;
  margin-top: 34px;
}

.compute-gateway__facts {
  display: flex;
  flex-direction: column;
  align-self: start;
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--line);
  border: 1px solid var(--line);
}

.compute-gateway__facts li {
  padding: 24px 26px;
  background: #000;
}

.compute-gateway__facts strong {
  display: block;
  margin-bottom: 8px;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
}

.compute-gateway__facts span {
  font-size: 16px;
  line-height: 1.65;
  color: var(--muted);
}

.solid-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 60px;
  padding: 0 38px;
  border: 1px solid var(--accent-bright);
  background: var(--accent-bright);
  color: #04140c;
  box-shadow: 0 0 0 1px rgba(69, 189, 135, 0.25), 0 10px 32px rgba(69, 189, 135, 0.18);
  font-family: var(--font-geist-mono), monospace;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.solid-button:hover {
  background: #55d197;
  border-color: #55d197;
  box-shadow: 0 0 0 1px rgba(85, 209, 151, 0.35), 0 14px 40px rgba(85, 209, 151, 0.26);
  transform: translateY(-2px);
}

.card-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent);
  transition: gap 180ms ease;
}

.card-link:hover {
  gap: 16px;
}

.arrow {
  display: inline-block;
  transition: transform 180ms ease;
}

a:hover > .arrow {
  transform: translateX(3px);
}

/* ==========================================================================
   Responsive + motion
   ========================================================================== */

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

  /* Header drops to brand | menu; the mailto CTA moves into the panel. */
  .site-header {
    grid-template-columns: 1fr auto;
  }


  .compute-gateway {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 64px 20px;
  }

  .site-footer {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 56px 20px 32px;
  }

  .site-footer__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }
}

@media (max-width: 560px) {
  .site-footer__columns {
    grid-template-columns: 1fr;
  }

  .compute-gateway__actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }
}

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

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

  /* The hero wordmark animates in from opacity:0 — make sure a reduced-motion
     visitor still sees it rather than an empty hero. */
  .energyir-wordmark__letter {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }

  .energyir-wordmark::before {
    opacity: 1 !important;
  }
}

/* Arrow spacing inside outline buttons (base rule centres without a gap). */
.outline-button {
  gap: 12px;
}

/* The ≤560px block resets .page-hero--wordmark copy padding to 58px but leaves
   the decorative wordmark at top:116px from the ≤980px block, so the two
   collide on phones. Seat the wordmark above the copy and clear it. */
@media (max-width: 560px) {
  .page-hero--wordmark .energyir-wordmark-visual {
    top: 92px;
    height: 88px;
  }

  .page-hero--wordmark .page-hero__copy {
    padding-top: 192px;
  }
}

/* ==========================================================================
   Platform hero — mission console photograph
   No animated wordmark here (that stays on Compute Stack): the copy sits at
   the standard hero height and the photograph is a soft-vignetted panel on
   the right. Values match the editor version of this page.
   ========================================================================== */

.platform-console-visual {
  right: 3.8vw;
  top: 128px;
  z-index: 1;
  width: min(46vw, 780px);
  height: 350px;
  overflow: hidden;
  opacity: 0.78;
  -webkit-mask-image: radial-gradient(ellipse at 54% 50%, #000 0 48%, rgba(0, 0, 0, 0.88) 62%, rgba(0, 0, 0, 0.34) 80%, transparent 96%);
  mask-image: radial-gradient(ellipse at 54% 50%, #000 0 48%, rgba(0, 0, 0, 0.88) 62%, rgba(0, 0, 0, 0.34) 80%, transparent 96%);
}

.platform-console-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.26) 24%, transparent 52%, rgba(0, 0, 0, 0.42) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, transparent 30%, rgba(0, 0, 0, 0.6) 100%);
}

.platform-console-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(0.85) contrast(1.08) brightness(0.88) saturate(0.72);
  transform: scale(1.08);
}

@media (max-width: 980px) {
  .platform-console-visual {
    right: 18px;
    top: 255px;
    width: min(620px, calc(100% - 36px));
    height: 280px;
    opacity: 0.26;
  }
}

/* ==========================================================================
   About — founder attribution and the reading section
   ========================================================================== */

blockquote cite span {
  display: block;
  margin-top: 6px;
  color: var(--dim);
  letter-spacing: 0.14em;
}

/* The founder portrait is a tall photograph: frame it top-weighted so the
   face is never cropped out, rather than centre-cropping a portrait into a
   landscape panel. */
.founder {
  background-position: center top;
}

.reading {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 56px;
  padding: 96px 2.1vw;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, var(--accent-soft) 0%, transparent 58%);
}

.reading__copy h2 {
  margin: 18px 0 20px;
  font-size: clamp(28px, 2.9vw, 44px);
  line-height: 1.07;
  text-transform: uppercase;
}

.reading__copy p {
  max-width: 60ch;
  font-size: 18px;
  line-height: 1.75;
  color: var(--muted);
}

.reading__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 28px;
  margin-top: 34px;
}

.reading__list {
  display: flex;
  flex-direction: column;
  align-self: start;
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--line);
  border: 1px solid var(--line);
}

.reading__list li {
  padding: 24px 26px;
  background: #000;
}

.reading__list strong {
  display: block;
  margin-bottom: 8px;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
}

.reading__list span {
  font-size: 16px;
  line-height: 1.65;
  color: var(--muted);
}

@media (max-width: 980px) {
  .reading {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 64px 20px;
  }
}

@media (max-width: 560px) {
  .reading__actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }
}

/* ==========================================================================
   About — Earthrise hero and the founder portrait beside the quote
   ========================================================================== */

/* Apollo 8 Earthrise (NASA, public domain), converted to greyscale to match
   the rest of the site's photography. The source is only 465x279, so the frame
   is kept near 1:1 with the pixels rather than blown up. */
.earthrise-visual {
  right: 4vw;
  top: 116px;
  z-index: 1;
  width: min(50vw, 860px);
  height: min(30vw, 516px);
  overflow: hidden;
  opacity: 0.82;
  -webkit-mask-image: radial-gradient(ellipse at 50% 46%, rgba(0, 0, 0, 1) 26%, rgba(0, 0, 0, 0.8) 52%, rgba(0, 0, 0, 0.32) 74%, rgba(0, 0, 0, 0) 94%);
  mask-image: radial-gradient(ellipse at 50% 46%, rgba(0, 0, 0, 1) 26%, rgba(0, 0, 0, 0.8) 52%, rgba(0, 0, 0, 0.32) 74%, rgba(0, 0, 0, 0) 94%);
}

.earthrise-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, transparent 28%, transparent 66%, rgba(0, 0, 0, 0.5) 100%);
}

.earthrise-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1) contrast(1.04);
}

/* The founder photograph is a tall portrait (1122x1402). `contain` shows all of
   it instead of cropping a portrait into a landscape tile — and because the
   photograph's own background is black, the letterboxing is invisible against
   the panel. */
.founder {
  background: url("/_space/art/founder-david-johnson.jpg") center / contain no-repeat;
  filter: grayscale(1) contrast(1.05);
}

/* Give the band enough height for the portrait to read at a sensible size. */
.mission--page {
  min-height: 380px;
}

@media (max-width: 1180px) {
  .earthrise-visual {
    right: 2.5vw;
    top: 118px;
    width: min(54vw, 620px);
    height: min(32.4vw, 372px);
  }
}

@media (max-width: 980px) {
  .earthrise-visual {
    right: 0;
    left: 0;
    top: auto;
    bottom: 16px;
    margin: 0 auto;
    width: min(92vw, 460px);
    height: min(55vw, 276px);
    opacity: 0.42;
  }

  .mission--page {
    min-height: 0;
  }
}

/* ==========================================================================
   Card heading spacing
   These two patterns sit outside the shared `.solution-list, .cards-grid,
   .segment-list …` heading rule, so the global `h3 { margin: 0 }` reset left
   their titles jammed against the body copy underneath.
   ========================================================================== */

.use-card-list article h3 {
  margin-bottom: 10px;
}

.scenario-highlights h3 {
  margin-bottom: 10px;
}

/* ==========================================================================
   Forge page
   ========================================================================== */

.forge-open {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 56px;
  padding: 96px 2.1vw;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, var(--accent-soft) 0%, transparent 60%);
}

.forge-open__copy h2 {
  margin: 18px 0 20px;
  font-size: clamp(30px, 3.1vw, 46px);
  line-height: 1.06;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

.forge-open__copy p {
  max-width: 58ch;
  font-size: 18px;
  line-height: 1.72;
  color: var(--muted);
}

.forge-open__actions {
  margin-top: 34px;
}

.forge-open__facts {
  display: flex;
  flex-direction: column;
  align-self: start;
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--line);
  border: 1px solid var(--line);
}

.forge-open__facts li {
  padding: 26px 28px;
  background: #000;
}

.forge-open__facts strong {
  display: block;
  margin-bottom: 8px;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
}

.forge-open__facts span {
  font-size: 16px;
  line-height: 1.65;
  color: var(--muted);
}

.forge-routes-grid__best {
  margin-top: 10px;
  color: var(--dim);
}

.forge-flow {
  display: grid;
  grid-template-columns: 30vw 1fr;
  border-bottom: 1px solid var(--line);
}

.forge-flow__intro {
  padding: 72px 2.1vw 60px;
  border-right: 1px solid var(--line);
}

.forge-flow__intro h2 {
  margin: 18px 0 18px;
  font-size: clamp(28px, 2.7vw, 40px);
  line-height: 1.08;
  text-transform: uppercase;
}

.forge-flow__intro p {
  max-width: 34ch;
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}

.forge-flow__steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.forge-flow__steps article {
  padding: 72px 26px 60px;
  border-right: 1px solid var(--line);
}

.forge-flow__steps article:last-child {
  border-right: 0;
}

.forge-flow__steps span {
  display: block;
  margin-bottom: 20px;
  font-family: var(--font-geist-mono), monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2em;
  color: var(--accent);
}

.forge-flow__steps h3 {
  margin-bottom: 10px;
  font-size: 19px;
}

.forge-flow__steps p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--muted);
}

.forge-honesty-grid h3,
.forge-audience-grid h3 {
  margin-bottom: 10px;
}

@media (max-width: 980px) {
  .forge-open {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 64px 20px;
  }

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

  .forge-flow__intro {
    padding: 56px 20px 40px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .forge-flow__steps {
    grid-template-columns: 1fr;
  }

  .forge-flow__steps article {
    padding: 36px 20px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}
