/* Aloom — minimal, professional, government-facing.
 * Refresh pass: section rhythm via alternating backgrounds (replaces
 * monotonous 1px rules), confident hero typography with live eyebrow,
 * promoted hero metric in the telemetry panel, oversized CTA numeral,
 * chain-of-trust footer row. System font stack preserved — no foreign
 * CDN in the path. */

:root {
  --ink: #0b0b0b;
  --ink-strong: #000;
  --ink-muted: #4a4a4a;
  --paper: #ffffff;
  --paper-warm: #faf9f6;            /* warm off-white for alternating sections */
  --rule: #e6e6e6;
  --rule-strong: #c8c8c8;
  --accent: #00563b;                /* eucalypt green — AU echo without flag-coding */
  --accent-deep: #003626;
  --accent-soft: #f3f7f5;
  --signal: #c14d2a;                /* warm signal — used sparingly on live indicators */
  --max: 64rem;
  --serif: Georgia, "Times New Roman", Times, serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 17px;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

a:hover, a:focus {
  text-decoration-thickness: 2px;
  color: var(--accent-deep);
}

code {
  font-family: var(--mono);
  font-size: 0.92em;
  background: var(--accent-soft);
  padding: 0.05em 0.35em;
  border-radius: 3px;
}

/* ── eyebrow ─────────────────────────────────────────────────
 * Small uppercase status/label above a heading. Used in the hero
 * and section openers. Pairs with .live-dot for live signals. */

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin: 0 0 1.25rem;
  font-family: var(--mono);
}

.eyebrow-accent {
  color: var(--accent);
}

.live-dot {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: var(--signal);
  box-shadow: 0 0 0 0 rgba(193, 77, 42, 0.55);
  animation: live-pulse 2.4s ease-out infinite;
}

@keyframes live-pulse {
  0%   { box-shadow: 0 0 0 0   rgba(193, 77, 42, 0.55); }
  70%  { box-shadow: 0 0 0 9px rgba(193, 77, 42, 0);    }
  100% { box-shadow: 0 0 0 0   rgba(193, 77, 42, 0);    }
}

@media (prefers-reduced-motion: reduce) {
  .live-dot { animation: none; }
}

/* ── masthead ───────────────────────────────────────────────── */

.masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  max-width: var(--max);
  margin: 0 auto;
  padding: 1.75rem 1.5rem 0;
}

.brand {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ink);
  text-decoration: none;
}

.brand strong {
  font-weight: 800;
}

.masthead nav {
  display: flex;
  gap: 1.5rem;
  font-size: 0.95rem;
  flex-wrap: wrap;
}

.masthead nav a {
  color: var(--ink-muted);
  text-decoration: none;
}

.masthead nav a:hover, .masthead nav a:focus {
  color: var(--accent);
  text-decoration: underline;
}

/* Long evidence identifiers must remain inside the reading column. */
.services code,
.hero code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* ── hero ───────────────────────────────────────────────────── */

.hero {
  max-width: var(--max);
  margin: 0 auto;
  padding: 5rem 1.5rem 4rem;
}

.hero h1 {
  font-size: clamp(2.5rem, 6vw, 4.25rem);
  line-height: 1.02;
  letter-spacing: -0.025em;
  margin: 0 0 1.75rem;
  font-weight: 800;
}

.nowrap {
  white-space: nowrap;
}

.hero .lede {
  font-size: clamp(1.1rem, 1.7vw, 1.3rem);
  line-height: 1.5;
  color: var(--ink);
  max-width: 48rem;
  margin: 0 0 1.1rem;
}

.hero .lede:last-child {
  color: var(--ink-muted);
  font-style: italic;
  margin-bottom: 0;
  padding-left: 0.9rem;
  border-left: 3px solid var(--accent);
}

.hero strong {
  font-weight: 800;
}

/* ── content blocks ─────────────────────────────────────────── */

main .block {
  padding: 3.5rem 1.5rem;
}

main .block > * {
  max-width: var(--max);
  margin-left: auto;
  margin-right: auto;
}

/* Section alternation — replaces the 1px-rule-between-everything
 * pattern with deliberate background changes. */
main .block-alt {
  background: var(--paper-warm);
}

/* Faint top rule on plain blocks, suppressed where alternation carries
 * the boundary. */
main .block + .block:not(.block-alt) {
  border-top: 1px solid var(--rule);
}
main .block-alt + .block:not(.block-alt) {
  border-top: 0;
}

main .block h2 {
  font-size: clamp(1.5rem, 2.8vw, 2.125rem);
  letter-spacing: -0.015em;
  margin: 0 0 1.5rem;
  font-weight: 700;
  line-height: 1.15;
}

main .block p {
  margin: 0 0 1rem;
  max-width: 56rem;
}

main .block p:last-child {
  margin-bottom: 0;
}

main .block strong {
  font-weight: 700;
}

main .block em {
  font-style: italic;
  color: var(--ink);
}

/* ── services list ──────────────────────────────────────────── */

.services {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: 0.5rem 2rem;
  grid-template-columns: 1fr;
}

@media (min-width: 48rem) {
  .services {
    grid-template-columns: 1fr 1fr;
  }
}

.services li {
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--rule);
}

.services li:last-child, .services li:nth-last-child(2) {
  border-bottom: 0;
}

@media (max-width: 48rem) {
  .services li:nth-last-child(2) {
    border-bottom: 1px solid var(--rule);
  }
}

/* ── moat ───────────────────────────────────────────────────── */

.moat {
  padding-left: 1.5rem;
  margin: 1rem 0 0;
  max-width: 56rem;
  counter-reset: moat-counter;
  list-style: none;
}

.moat li {
  margin: 0 0 1.25rem;
  padding-left: 2.75rem;
  position: relative;
  counter-increment: moat-counter;
  min-height: 2.25rem;
}

.moat li::before {
  content: counter(moat-counter, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-family: var(--mono);
  font-size: 1rem;
  font-weight: 700;
  color: var(--accent);
  letter-spacing: 0.05em;
}

/* ── partners ───────────────────────────────────────────────── */

.partners {
  margin: 1rem 0 0;
  max-width: 56rem;
  display: grid;
  gap: 1.5rem;
}

.partners dt {
  font-weight: 700;
  margin: 0;
  font-size: 1.05rem;
}

.partners dd {
  margin: 0.35rem 0 0;
  color: var(--ink-muted);
}

/* ── footer ─────────────────────────────────────────────────── */

footer {
  background: var(--paper-warm);
  border-top: 1px solid var(--rule);
  padding: 2.5rem 1.5rem 3rem;
  font-size: 0.92rem;
}

footer > * {
  max-width: var(--max);
  margin-left: auto;
  margin-right: auto;
}

footer p {
  margin: 0 0 0.5rem;
  color: var(--ink-muted);
}

/* Chain-of-trust row — monospace facts that re-state the sovereignty
 * claim made on the page. Visually separated from the legal copy. */
.chain-of-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.1rem;
  margin: 0 0 1.5rem;
  padding: 0 0 1.5rem;
  border-bottom: 1px solid var(--rule);
  font-family: var(--mono);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.chain-of-trust span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.chain-of-trust span::before {
  content: "✓";
  color: var(--accent);
  font-weight: 700;
}

.muted {
  color: var(--ink-muted);
}

/* ── trust banner (top of page; informs about cert warning) ───── */

.trust-banner {
  background: var(--accent-soft);
  border-bottom: 1px solid var(--rule);
  padding: 0.75rem 1.5rem;
  text-align: center;
}

.trust-banner p {
  margin: 0 auto;
  font-size: 0.95rem;
  max-width: var(--max);
}

.trust-banner a {
  font-weight: 600;
}

/* ── trust page — h3, ol, pre, code ───────────────────────────── */

main .block h3 {
  font-size: 1.1rem;
  margin: 1.75rem 0 0.5rem;
  font-weight: 700;
  letter-spacing: -0.005em;
}

main .block ol,
main .block ul {
  margin: 0.5rem 0 1rem;
  padding-left: 1.4rem;
  max-width: 56rem;
}

main .block ol li,
main .block ul li {
  margin: 0.3rem 0;
  line-height: 1.55;
}

main .block pre {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 4px;
  padding: 0.85rem 1rem;
  overflow-x: auto;
  font-size: 0.88rem;
  margin: 0.5rem 0 1rem;
  max-width: 56rem;
}

main .block-alt pre {
  background: var(--paper);
}

main .block pre code {
  background: transparent;
  padding: 0;
  font-size: 1em;
  color: var(--ink);
}

/* ── live capacity panel ──────────────────────────────────────── */

.cap-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  vertical-align: middle;
  margin-left: 0.5rem;
  padding: 0.2rem 0.65rem;
  font-size: 0.6em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: var(--accent);
  color: var(--paper);
  border-radius: 999px;
  font-family: var(--mono);
}

.cap-pill::before {
  content: "";
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: var(--paper);
  animation: live-pulse-light 2.4s ease-out infinite;
}

@keyframes live-pulse-light {
  0%   { box-shadow: 0 0 0 0   rgba(255, 255, 255, 0.55); }
  70%  { box-shadow: 0 0 0 6px rgba(255, 255, 255, 0);    }
  100% { box-shadow: 0 0 0 0   rgba(255, 255, 255, 0);    }
}

@media (prefers-reduced-motion: reduce) {
  .cap-pill::before { animation: none; }
}

.cap-pill.error {
  background: var(--ink-muted);
}

.cap-pill.error::before {
  animation: none;
}

.cap-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
  margin: 1.5rem 0 1rem;
  max-width: 56rem;
}

.cap-card {
  border: 1px solid var(--rule);
  border-radius: 5px;
  padding: 1rem 1.1rem;
  background: var(--paper);
}

.cap-card-wide {
  grid-column: 1 / -1;
}

/* Hero card — promoted top-of-grid metric. Spans full width, oversized
 * value text, deeper visual weight than the uniform secondary metrics
 * below. */
.cap-card-hero {
  grid-column: 1 / -1;
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
  padding: 1.5rem 1.75rem;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: 1fr;
}

@media (min-width: 36rem) {
  .cap-card-hero {
    grid-template-columns: 1.4fr 1fr;
    align-items: end;
  }
}

.cap-card-hero .cap-label {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
}

.cap-card-hero .cap-value {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  letter-spacing: -0.03em;
  margin-bottom: 0.5rem;
  color: var(--paper);
}

.cap-card-hero .cap-bar {
  background: rgba(255, 255, 255, 0.15);
  height: 8px;
  margin: 0.75rem 0 0;
}

.cap-card-hero .cap-bar-fill {
  background: var(--paper);
}

.cap-card-hero .cap-sub {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.88rem;
  align-self: end;
  text-align: left;
}

@media (min-width: 36rem) {
  .cap-card-hero .cap-sub {
    text-align: right;
  }
}

.cap-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--ink-muted);
  font-weight: 600;
  margin-bottom: 0.4rem;
  font-family: var(--mono);
}

.cap-value {
  font-size: 1.7rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.015em;
  line-height: 1.1;
  margin-bottom: 0.35rem;
}

.cap-sub {
  font-size: 0.82rem;
  color: var(--ink-muted);
  font-variant-numeric: tabular-nums;
}

.cap-bar {
  height: 6px;
  background: var(--rule);
  border-radius: 3px;
  overflow: hidden;
  margin: 0.45rem 0 0.5rem;
}

.cap-bar-fill {
  height: 100%;
  width: 0%;
  background: var(--accent);
  transition: width 1s ease-in-out;
}

.cap-disclosure {
  font-size: 0.86rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--rule-strong);
  max-width: 56rem;
}

/* ── signup form ──────────────────────────────────────────────── */

.signup-form {
  display: grid;
  gap: 1.1rem;
  max-width: 40rem;
  margin: 1.5rem 0 1rem;
  padding: 1.5rem;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: var(--accent-soft);
}

.signup-row {
  display: grid;
  gap: 0.35rem;
}

.signup-row label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink);
}

.signup-row label .muted {
  font-weight: 400;
  font-size: 0.85rem;
}

.signup-row input[type="text"],
.signup-row input[type="email"],
.signup-row select,
.signup-row textarea {
  font: inherit;
  font-size: 1rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--rule);
  border-radius: 4px;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  width: 100%;
  box-sizing: border-box;
}

.signup-row textarea {
  resize: vertical;
  min-height: 5rem;
  font-family: var(--sans);
  line-height: 1.5;
}

.signup-row input:focus,
.signup-row select:focus,
.signup-row textarea:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
  border-color: var(--accent);
}

.form-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink);
}

.checkbox-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 1rem;
  padding: 0.8rem;
  border: 1px solid var(--rule);
  border-radius: 4px;
  background: var(--paper);
}

.checkbox-group label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.35;
}

.checkbox-group input { margin-top: 0.2rem; }

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

.intake-warning {
  margin: 1.25rem 0;
  padding: 1rem 1.1rem;
  border-left: 3px solid #a77d00;
  background: #fff9e6;
}

.intake-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 1.1rem 0;
  font-weight: 600;
}

.intake-consent input {
  flex: 0 0 auto;
  margin-top: 0.3rem;
}

.evidence-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.5rem 0;
  border-top: 1px solid var(--rule-strong);
  border-left: 1px solid var(--rule-strong);
}

.evidence-metrics > div {
  min-width: 0;
  padding: 1rem;
  border-right: 1px solid var(--rule-strong);
  border-bottom: 1px solid var(--rule-strong);
}

.evidence-metrics dt {
  color: var(--ink-muted);
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.evidence-metrics dd {
  margin: 0.35rem 0 0;
  overflow-wrap: anywhere;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 700;
}

@media (max-width: 38rem) {
  .checkbox-group { grid-template-columns: 1fr; }
  .evidence-metrics { grid-template-columns: 1fr; }
}

.signup-username-row {
  display: flex;
  align-items: center;
  gap: 0;
}

.signup-username-row input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0;
  flex: 1;
}

.signup-suffix {
  font-family: var(--mono);
  font-size: 0.95rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--rule);
  background: var(--paper);
  color: var(--ink-muted);
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-left: 1px solid var(--rule);
}

.signup-checkbox {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  gap: 0.5rem;
  align-items: start;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
}

.signup-checkbox input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.2rem;
  cursor: pointer;
}

.signup-submit {
  font: inherit;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  padding: 0.75rem 1.4rem;
  background: var(--accent);
  color: var(--paper);
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  justify-self: start;
  margin-top: 0.3rem;
}

.signup-submit:hover,
.signup-submit:focus {
  background: var(--ink);
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.signup-microcopy {
  margin-top: 0.5rem;
  font-size: 0.86rem;
}

/* ── homepage signup CTA ──────────────────────────────────────── */

.cta-card {
  border: 1px solid var(--accent);
  border-radius: 5px;
  padding: 1.75rem 2rem;
  background: var(--accent-soft);
  margin: 1rem 0 0;
  max-width: 56rem;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
  align-items: center;
}

@media (min-width: 36rem) {
  .cta-card {
    grid-template-columns: auto 1fr;
    gap: 2rem;
  }
}

.cta-number {
  font-size: clamp(4rem, 10vw, 6rem);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: var(--accent);
  font-variant-numeric: tabular-nums;
}

.cta-body h3 {
  font-size: 1.3rem;
  margin: 0 0 0.5rem;
  letter-spacing: -0.01em;
  font-weight: 700;
}

.cta-body p {
  margin: 0 0 1rem;
}

.cta-body p:last-child {
  margin-bottom: 0;
}

.cta-card a.cta-button {
  display: inline-block;
  font-weight: 600;
  font-size: 1rem;
  padding: 0.7rem 1.3rem;
  background: var(--accent);
  color: var(--paper);
  text-decoration: none;
  border-radius: 4px;
}

.cta-card a.cta-button:hover,
.cta-card a.cta-button:focus {
  background: var(--ink);
  text-decoration: none;
}

/* ── responsive bits ────────────────────────────────────────── */

@media (max-width: 36rem) {
  .nowrap {
    white-space: normal;
  }

  .masthead {
    padding: 1.25rem 1.25rem 0;
  }
  .masthead nav {
    gap: 0.9rem 1rem;
    font-size: 0.9rem;
  }
  .hero {
    padding: 3rem 1.25rem 2.5rem;
  }
  main .block {
    padding: 2.5rem 1.25rem;
  }
}

/* ── 1-pager (Series A investor briefing) ─────────────────────
 * Used by /cluster. 2×2 card grid for the body, funds table,
 * compact milestones list, print-A4 stylesheet. */

.onepager .onepager-hero {
  padding: 4rem 1.5rem 2.5rem;
}

.onepager-hero h1 {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 800;
}

.onepager-hero h1 .amount {
  display: inline-block;
  background: var(--ink);
  color: var(--paper);
  padding: 0 0.4em;
  font-variant-numeric: tabular-nums;
  margin-right: 0.15em;
  border-radius: 4px;
}

.onepager-hero .lede {
  max-width: 56rem;
}

.onepager-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  padding-top: 2rem;
}

@media (min-width: 48rem) {
  .onepager-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.onepager-grid > * {
  max-width: none;
}

.onepager-card {
  border: 1px solid var(--rule);
  border-radius: 5px;
  padding: 1.5rem 1.6rem;
  background: var(--paper);
}

.onepager-card h2 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  font-size: 1.15rem;
  margin: 0 0 1rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-family: var(--mono);
  font-weight: 700;
  color: var(--accent-deep);
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--rule);
}

.onepager-card .card-meta {
  font-size: 0.85rem;
  color: var(--ink-muted);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}

.onepager-card ul,
.onepager-card ol {
  margin: 0;
  padding-left: 1.25rem;
}

.onepager-card ul li,
.onepager-card ol li {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  line-height: 1.5;
}

.moat-compact {
  padding-left: 0;
}

.moat-compact li {
  padding-left: 2.5rem;
  min-height: 1.75rem;
}

/* Funds table — clean financial layout */
.funds-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-size: 0.95rem;
}

.funds-table td {
  padding: 0.55rem 0.5rem;
  border-bottom: 1px solid var(--rule);
  vertical-align: top;
  line-height: 1.4;
}

.funds-table td:first-child {
  width: auto;
}

.funds-table td.num {
  width: 5rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}

.funds-table td.pct {
  width: 3.5rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--ink-muted);
  white-space: nowrap;
}

.funds-table tr.total td {
  border-bottom: 0;
  border-top: 2px solid var(--ink);
  font-weight: 700;
  padding-top: 0.7rem;
}

.funds-note {
  font-size: 0.82rem;
  color: var(--ink-muted);
  margin: 0.85rem 0 0;
  font-style: italic;
  line-height: 1.45;
}

/* Milestones — date list */
.milestones {
  margin: 0;
  display: grid;
  gap: 0.85rem;
}

.milestones dt {
  font-family: var(--mono);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--accent);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin: 0;
}

.milestones dd {
  margin: 0.15rem 0 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--ink);
}

/* Commercial section — 4-up grid */
.commercial-grid {
  display: grid;
  gap: 1.5rem 2rem;
  grid-template-columns: 1fr;
  margin-top: 1rem;
}

@media (min-width: 48rem) {
  .commercial-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.commercial-grid h3 {
  font-size: 1rem;
  margin: 0 0 0.45rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-family: var(--mono);
  font-weight: 700;
  color: var(--accent-deep);
}

.commercial-grid p {
  margin: 0 0 0.6rem;
  font-size: 0.95rem;
  line-height: 1.5;
}

.placeholder {
  display: inline-block;
  padding: 0.1em 0.5em;
  background: rgba(193, 77, 42, 0.08);
  border: 1px dashed var(--signal);
  border-radius: 3px;
  color: var(--signal);
  font-style: italic;
  font-size: 0.92em;
}

/* Proof statement before footer */
.onepager-proof {
  background: var(--paper);
  border-top: 1px solid var(--rule);
}

.proof-statement {
  font-size: 1.05rem;
  line-height: 1.5;
  max-width: 56rem;
  padding-left: 1rem;
  border-left: 3px solid var(--accent);
}

.contact-line {
  margin-top: 1.5rem;
  font-size: 0.95rem;
  color: var(--ink-muted);
}

.contact-line a {
  font-weight: 600;
}

.contact-line .dot {
  margin: 0 0.5em;
  color: var(--rule-strong);
}

/* ── print friendly ─────────────────────────────────────────── */

@media print {
  .masthead nav { display: none; }
  .trust-banner { display: none; }
  .live-dot, .cap-pill::before { display: none; }
  a { color: var(--ink); text-decoration: none; }
  body { font-size: 11pt; }
  main .block-alt { background: var(--paper); }
  .cap-card-hero { background: var(--paper); color: var(--ink); border-color: var(--ink); }
  .cap-card-hero .cap-label,
  .cap-card-hero .cap-value,
  .cap-card-hero .cap-sub { color: var(--ink); }
}

/* 1-pager print — fit one A4 portrait. */
@media print {
  .onepager {
    font-size: 9pt;
    line-height: 1.35;
  }
  .onepager .masthead {
    padding: 0 0 0.5rem;
    border-bottom: 1px solid var(--ink);
  }
  .onepager .masthead nav { display: none; }
  .onepager-hero {
    padding: 0.5rem 0 0.75rem;
  }
  .onepager-hero h1 {
    font-size: 18pt;
    margin: 0.25rem 0 0.5rem;
  }
  .onepager-hero h1 .amount {
    background: transparent;
    color: var(--ink);
    padding: 0;
    border: 1.5px solid var(--ink);
  }
  .onepager-hero .lede {
    font-size: 9.5pt;
    margin: 0 0 0.35rem;
    padding-left: 0;
    border-left: 0;
    font-style: normal;
    color: var(--ink);
  }
  .onepager-hero .eyebrow {
    font-size: 7pt;
    margin: 0 0 0.4rem;
  }
  .onepager-grid {
    gap: 0.5rem;
    padding: 0.5rem 0 0;
    grid-template-columns: 1fr 1fr;
  }
  .onepager-card {
    padding: 0.5rem 0.65rem;
    border: 0.75pt solid var(--ink);
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .onepager-card h2 {
    font-size: 8pt;
    margin: 0 0 0.4rem;
    padding-bottom: 0.25rem;
  }
  .onepager-card ul li,
  .onepager-card ol li {
    font-size: 8.5pt;
    margin: 0 0 0.3rem;
    line-height: 1.3;
  }
  .funds-table { font-size: 8.5pt; }
  .funds-table td { padding: 0.25rem 0.3rem; }
  .funds-note { font-size: 7pt; }
  .milestones { gap: 0.4rem; }
  .milestones dt { font-size: 7.5pt; }
  .milestones dd { font-size: 8.5pt; line-height: 1.3; }
  .onepager-commercial { padding: 0.75rem 0; }
  .commercial-grid { gap: 0.4rem 1rem; }
  .commercial-grid h3 { font-size: 7.5pt; margin: 0 0 0.2rem; }
  .commercial-grid p { font-size: 8.5pt; margin: 0 0 0.3rem; line-height: 1.3; }
  .onepager-proof { padding: 0.5rem 0; }
  .proof-statement { font-size: 8.5pt; padding-left: 0.4rem; }
  .contact-line { margin-top: 0.4rem; font-size: 8pt; }
  .placeholder {
    background: transparent;
    border: 0.75pt dashed var(--ink);
    color: var(--ink);
  }
  .chain-of-trust { font-size: 6.5pt; padding: 0.3rem 0; margin: 0 0 0.3rem; }
  footer { padding: 0.4rem 0; font-size: 7.5pt; background: var(--paper); border-top: 0.75pt solid var(--ink); }
  footer p { margin: 0 0 0.2rem; }
  @page { margin: 12mm 12mm 10mm; }
}

/* ════════════════════════════════════════════════════════════════════
   SOVEREIGN HALLMARK — shared design-system upgrade (2026-06).
   Re-skins the whole site (index, signup, trust, waitlist, docs, plan-b)
   to match /cluster: eucalyptus-green ink + gold accents, self-hosted
   Space Grotesk / Hanken Grotesk / JetBrains Mono. Append-only — existing
   rules are preserved; these redefinitions + overrides win on cascade
   order. Pre-change snapshot: aloom-ops/site-backup-predesign/.
   ════════════════════════════════════════════════════════════════════ */

/* ── self-hosted fonts (OFL, latin) — no foreign CDN in the path ────── */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/SpaceGrotesk.woff2') format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/HankenGrotesk.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/JetBrainsMono.woff2') format('woff2');}

/* ── tokens: green ground + gold. Redefines the palette the stylesheet
      already references, and adds the new system vars. ──────────────── */
:root{
  --ink:#0E3D36; --ink-strong:#0A2E29; --ink-muted:#566B63;
  --ink-2:#12473E; --ink-3:#1A574B; --ink-line:#2C6256;
  --paper:#FFFFFF; --paper-warm:#F2F6F3;
  --rule:#DEE8E2; --rule-strong:#C5D3CB;
  --accent:#9C7C1F; --accent-deep:#7E631A; --accent-soft:#F4F8F5;
  --signal:#1F9D6B;
  --gold:#D4AF37; --coral:#9C7C1F; --coral-300:#C99A2E; --coral-700:#7E631A;
  --slate:#566B63; --mist:#9DB6AC; --cloud:#F2F6F3; --cloud-2:#E6EFE9; --line:#DEE8E2;
  --ok:#1F9D6B;
  --sans:'Hanken Grotesk','Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --font-display:'Space Grotesk','Segoe UI',system-ui,sans-serif;
  --max:71rem;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-pill:999px;
  --shadow-md:0 8px 24px rgba(14,61,54,.10),0 2px 6px rgba(14,61,54,.06);
  --shadow-lg:0 24px 60px rgba(14,61,54,.20);
  --ease:cubic-bezier(.22,1,.36,1);
  --bg-dark-glow:radial-gradient(85% 120% at 50% 122%,rgba(212,175,55,.26) 0%,rgba(212,175,55,.08) 42%,rgba(14,61,54,0) 72%),var(--ink);
}

body{ text-rendering:optimizeLegibility; }

/* ── display type ──────────────────────────────────────────────────── */
h1,h2,h3,h4,.hero h1,main .block h2,main .block h3,.brand,.cta-number,.cta-body h3,
.cap-card-hero .cap-value{ font-family:var(--font-display); text-wrap:balance; letter-spacing:-.015em; }
.hero h1{ letter-spacing:-.022em; }
.cap-value{ font-family:var(--mono); }
a{ text-underline-offset:.16em; }

/* ── masthead → sticky, blurred, full-width bar (cluster nav) ───────── */
.masthead{ position:sticky; top:0; z-index:50; max-width:none; margin:0;
  padding:13px clamp(20px,4vw,32px); background:rgba(255,255,255,.82);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line); }
.brand strong{ color:var(--accent-deep); }
.masthead nav a{ font-family:var(--font-display); font-weight:500; }

/* ── eyebrow / kicker — gold accents ───────────────────────────────── */
.eyebrow{ font-family:var(--mono); letter-spacing:.13em; }
.eyebrow-accent{ color:var(--gold); }

/* ── buttons → gold primary (cluster signature) ────────────────────── */
.cta-button,.cta-card a.cta-button,.signup-submit,.cta-primary,.btn{
  font-family:var(--font-display); font-weight:600; border-radius:var(--r-sm);
  letter-spacing:0; transition:all .18s var(--ease); }
.cta-button,.cta-card a.cta-button,.signup-submit,.cta-primary,.btn-primary{
  background:var(--gold); color:var(--ink); border:1px solid transparent; }
.cta-button:hover,.cta-card a.cta-button:hover,.cta-card a.cta-button:focus,
.signup-submit:hover,.signup-submit:focus,.cta-primary:hover,.btn-primary:hover{
  background:var(--coral-300); color:var(--ink); }

/* ── cards → soft radius + shadow ──────────────────────────────────── */
.cap-card,.cta-card,.signup-form{ border-radius:var(--r-md); box-shadow:var(--shadow-md); }

/* ── footer → dark sovereign-ink band ──────────────────────────────── */
footer{ background:var(--ink); color:var(--mist); border-top:1px solid var(--ink-line); }
footer p,footer .muted{ color:var(--mist); }
footer a{ color:var(--coral-300); }
footer a:hover{ color:#fff; }
.chain-of-trust{ border-bottom-color:var(--ink-line); color:var(--cloud-2); }
.chain-of-trust span::before{ color:var(--gold); }

/* ════════════════════════════════════════════════════════════════════
   HOMEPAGE HERO — dark-glow band matching /cluster (scoped: body.home)
   ════════════════════════════════════════════════════════════════════ */
body.home .hero{ position:relative; max-width:none; margin:0; color:#fff;
  background:var(--bg-dark-glow); padding:88px clamp(20px,4vw,32px) 96px; }
body.home .hero-inner{ max-width:var(--max); margin:0 auto; }
body.home .hero h1{ color:#fff; }
body.home .hero .eyebrow{ color:var(--mist); }
body.home .hero .lede{ color:var(--mist); max-width:52ch; }
body.home .hero .lede strong{ color:#fff; }
body.home .hero .lede:last-child{ color:#cfe0d8; border-left-color:var(--gold); }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
.hero-actions .btn{ display:inline-flex; align-items:center; gap:9px; padding:13px 22px; font-size:15px; line-height:1; text-decoration:none; }
.btn-ghost-dark{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.24); }
.btn-ghost-dark:hover{ background:rgba(255,255,255,.08); color:#fff; }

/* ════════════════════════════════════════════════════════════════════
   HARDWARE HOMEPAGE — two environments, one engineering roadmap
   Scoped to .home-hardware so the trust, signup and cluster surfaces
   retain their existing layouts.
   ════════════════════════════════════════════════════════════════════ */

.skip-link {
  position: fixed;
  top: 10px;
  left: 12px;
  z-index: 1000;
  padding: 10px 14px;
  color: var(--ink);
  background: var(--gold);
  border-radius: var(--r-sm);
  font-family: var(--font-display);
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform .18s var(--ease);
}

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

body.home-hardware {
  background: #fff;
  color: var(--ink);
}

body.home-hardware .masthead {
  min-height: 64px;
}

body.home-hardware .brand {
  font-weight: 700;
  letter-spacing: -.025em;
}

body.home-hardware .masthead nav {
  align-items: center;
  gap: clamp(14px, 2.2vw, 28px);
  font-size: .86rem;
}

body.home-hardware .masthead nav a {
  white-space: nowrap;
}

body.home-hardware .hero.hero-hardware {
  padding: clamp(72px, 8vw, 112px) clamp(20px, 4vw, 48px) clamp(78px, 9vw, 128px);
  overflow: hidden;
  background:
    radial-gradient(70% 85% at 77% 50%, rgba(212,175,55,.17), transparent 62%),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    #092f2a;
  background-size: auto, 52px 52px, 52px 52px, auto;
}

body.home-hardware .hero-inner {
  max-width: 78rem;
}

.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(440px, .97fr);
  gap: clamp(46px, 7vw, 94px);
  align-items: center;
}

body.home-hardware .hero .eyebrow {
  margin-bottom: 1.6rem;
  color: #bdd0c8;
}

body.home-hardware .hero h1 {
  max-width: 8.6ch;
  margin: 0 0 1.8rem;
  font-size: clamp(3.65rem, 7.1vw, 7rem);
  line-height: .91;
  letter-spacing: -.055em;
  font-weight: 600;
}

.hero-accent {
  display: block;
  color: var(--gold);
}

body.home-hardware .hero .lede {
  max-width: 39rem;
  margin-bottom: 1rem;
  color: #d4e0db;
  font-size: clamp(1.08rem, 1.55vw, 1.32rem);
  line-height: 1.46;
}

body.home-hardware .hero .hero-principle {
  margin-top: 1.2rem;
  padding: 0;
  border: 0;
  color: #9db6ac;
  font-style: normal;
}

body.home-hardware .hero .hero-principle strong {
  color: #fff;
}

body.home-hardware .hero-actions {
  margin-top: 2rem;
}

body.home-hardware .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 46px;
  padding: 13px 20px;
  border: 1px solid transparent;
  text-decoration: none;
}

body.home-hardware .btn-outline {
  color: var(--ink);
  background: transparent;
  border-color: var(--rule-strong);
}

body.home-hardware .btn-outline:hover,
body.home-hardware .btn-outline:focus {
  color: var(--ink);
  background: var(--paper-warm);
  border-color: var(--ink);
}

.environment-map {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr);
  align-items: center;
}

.environment-map::before {
  content: "";
  position: absolute;
  inset: -90px -110px;
  z-index: 0;
  background: radial-gradient(circle at 50% 48%, rgba(255,255,255,.06), transparent 56%);
  pointer-events: none;
}

.environment-node,
.transfer-line {
  position: relative;
  z-index: 1;
}

.environment-node {
  min-height: 390px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 20px;
  color: #fff;
  background: rgba(5,28,25,.72);
  box-shadow: 0 28px 70px rgba(0,0,0,.27);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.environment-orbit {
  transform: translateY(44px);
  border-color: rgba(212,175,55,.34);
}

.environment-topline,
.environment-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-family: var(--mono);
  font-size: .64rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #9db6ac;
}

.environment-node h2 {
  margin: 20px 0 5px;
  font-size: 1.45rem;
  font-weight: 600;
  color: #fff;
}

.environment-node > p {
  min-height: 2.8em;
  margin: 0 0 22px;
  color: #9db6ac;
  font-size: .88rem;
  line-height: 1.42;
}

.environment-meta {
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: .57rem;
}

.status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 6px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: .61rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.status::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

.status-live { color: #57d8a7; }
.status-research { color: #e3bd45; }

.rack-visual,
.tile-visual {
  display: grid;
  align-content: center;
  height: 205px;
  margin: 18px 0 0;
  padding: 18px;
  border-radius: 13px;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    #071e1c;
  background-size: 24px 24px, 24px 24px, auto;
  overflow: hidden;
}

.rack-visual { gap: 8px; }

.rack-visual span {
  display: block;
  height: 29px;
  border: 1px solid #477267;
  border-left: 4px solid var(--gold);
  border-radius: 3px;
  background:
    radial-gradient(circle at 82% 50%, #57d8a7 0 2px, transparent 3px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 8px, transparent 8px 14px),
    #153f38;
  box-shadow: 0 5px 13px rgba(0,0,0,.28);
}

.tile-visual {
  gap: 0;
  perspective: 500px;
}

.tile-visual span {
  display: block;
  width: 88%;
  height: 27px;
  margin: -2px auto 9px;
  border: 1px solid rgba(255,255,255,.27);
  transform: rotateX(56deg) rotateZ(-4deg);
  box-shadow: 0 10px 14px rgba(0,0,0,.34);
}

.tile-visual span:nth-child(1) { background: repeating-linear-gradient(90deg,#163c61 0 18px,#82a9c8 19px,#163c61 20px); }
.tile-visual span:nth-child(2) { background: #155669; }
.tile-visual span:nth-child(3) { background: #176046; }
.tile-visual span:nth-child(4) { background: #8e4a32; }
.tile-visual span:nth-child(5) { background: repeating-linear-gradient(90deg,#171d1c 0 7px,#54635f 8px,#171d1c 10px); }

.transfer-line {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #9db6ac;
  font-family: var(--mono);
  font-size: .48rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.transfer-line i {
  position: relative;
  display: block;
  width: 1px;
  height: 90px;
  background: linear-gradient(#57d8a7, var(--gold));
}

.transfer-line i::after {
  content: "";
  position: absolute;
  right: -3px;
  bottom: 0;
  width: 7px;
  height: 7px;
  border-right: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
  transform: rotate(45deg);
}

.hardware-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 78rem;
  margin: 0 auto;
  border-right: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
}

.hardware-strip > div {
  min-height: 102px;
  padding: 24px clamp(18px, 3vw, 34px);
  border-right: 1px solid var(--rule);
}

.hardware-strip > div:last-child { border-right: 0; }

.hardware-strip span,
.hardware-strip strong {
  display: block;
}

.hardware-strip span {
  margin-bottom: 8px;
  color: var(--ink-muted);
  font-family: var(--mono);
  font-size: .63rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hardware-strip strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(.95rem, 1.5vw, 1.15rem);
  line-height: 1.2;
}

body.home-hardware main .block {
  padding: clamp(76px, 9vw, 126px) clamp(20px, 4vw, 48px);
}

body.home-hardware main .block > * {
  max-width: 78rem;
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr);
  column-gap: clamp(40px, 8vw, 110px);
  align-items: end;
  margin-bottom: clamp(46px, 6vw, 78px);
}

.section-heading .section-kicker {
  grid-column: 1 / -1;
}

body.home-hardware main .block .section-kicker {
  margin: 0 0 18px;
  color: var(--accent-deep);
  font-family: var(--mono);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.home-hardware main .block h2 {
  margin: 0;
  font-size: clamp(2.45rem, 5vw, 4.8rem);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 600;
}

.section-heading > p:last-child {
  align-self: end;
  max-width: 42rem;
  margin: 0;
  color: var(--ink-muted);
  font-size: 1.09rem;
}

.products-section { background: #fff; }

.product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 690px;
  padding: clamp(28px, 4.3vw, 54px);
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 28px;
}

.product-card::after {
  content: "";
  position: absolute;
  right: -16%;
  bottom: -18%;
  width: 360px;
  height: 360px;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .08;
  pointer-events: none;
}

.product-onshore {
  color: var(--ink);
  background: linear-gradient(145deg, #f6faf7 0%, #e8f1ec 100%);
}

.product-spaceshore {
  color: #fff;
  background:
    radial-gradient(circle at 90% 10%, rgba(212,175,55,.19), transparent 36%),
    #092f2a;
  border-color: #1d5046;
}

.product-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: clamp(54px, 7vw, 92px);
}

.product-number {
  font-family: var(--mono);
  font-size: .82rem;
  letter-spacing: .08em;
}

.product-onshore .status-live { color: #08734f; }

body.home-hardware main .block .product-kicker {
  margin: 0 0 13px;
  color: var(--accent-deep);
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.product-spaceshore .product-kicker { color: var(--gold); }

body.home-hardware main .block .product-card h3 {
  max-width: 10ch;
  margin: 0 0 22px;
  font-size: clamp(2.3rem, 4vw, 4rem);
  line-height: .97;
  letter-spacing: -.045em;
  font-weight: 600;
}

body.home-hardware main .block .product-summary {
  max-width: 37rem;
  margin: 0 0 30px;
  color: var(--ink-muted);
  font-size: 1.07rem;
}

.product-spaceshore .product-summary { color: #b8cbc3; }

body.home-hardware main .block .system-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0;
  margin: 0 0 34px;
  list-style: none;
}

body.home-hardware main .block .system-tags li {
  padding: 7px 10px;
  border: 1px solid rgba(14,61,54,.18);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.product-spaceshore .system-tags li {
  border-color: rgba(255,255,255,.2);
  color: #d5e2dc;
}

.evidence-note {
  display: grid;
  gap: 5px;
  margin-top: auto;
  padding: 20px 0;
  border-top: 1px solid rgba(14,61,54,.16);
  border-bottom: 1px solid rgba(14,61,54,.16);
}

.product-spaceshore .evidence-note {
  border-color: rgba(255,255,255,.14);
}

.evidence-note strong {
  font-family: var(--font-display);
  font-size: .98rem;
}

.evidence-note span {
  color: var(--ink-muted);
  font-size: .84rem;
  line-height: 1.45;
}

.product-spaceshore .evidence-note span { color: #9db6ac; }

.product-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 24px;
}

.product-links a {
  color: inherit;
  font-family: var(--font-display);
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
}

.product-links a:hover,
.product-links a:focus { text-decoration: underline; }

.product-spaceshore .product-links a { color: var(--gold); }

body.home-hardware main .roadmap-section {
  position: relative;
  color: #fff;
  background:
    radial-gradient(70% 80% at 6% 30%, rgba(212,175,55,.12), transparent 63%),
    #071e1c;
}

.section-heading-light h2 { color: #fff; }

body.home-hardware main .block .section-heading-light .section-kicker { color: var(--gold); }

.section-heading-light > p:last-child { color: #9db6ac; }

.stack-map {
  border-top: 1px solid #28564d;
}

.stack-row {
  display: grid;
  grid-template-columns: minmax(155px, .62fr) minmax(0, 1fr) minmax(0, 1fr);
  border-bottom: 1px solid #28564d;
}

.stack-row > div {
  padding: 22px 24px;
  border-right: 1px solid #28564d;
  color: #b9cbc4;
  font-size: .91rem;
}

.stack-row > div:last-child { border-right: 0; }

.stack-header > div {
  padding-top: 14px;
  padding-bottom: 14px;
  color: #78968b;
  font-family: var(--mono);
  font-size: .61rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.stack-layer {
  display: flex;
  align-items: baseline;
  gap: 14px;
  color: #fff !important;
  font-family: var(--font-display);
  font-size: 1.08rem !important;
  font-weight: 600;
}

.stack-layer span {
  color: var(--gold);
  font-family: var(--mono);
  font-size: .64rem;
  font-weight: 500;
}

body.home-hardware main .block .roadmap-rule {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  max-width: 78rem;
  margin: 34px auto 0;
  padding: 24px 0 0;
  color: #9db6ac;
  font-family: var(--mono);
  font-size: .78rem;
  letter-spacing: .025em;
}

.roadmap-rule strong { color: var(--gold); }

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

.live-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
  gap: clamp(42px, 8vw, 110px);
  align-items: end;
  margin-bottom: 46px;
}

.live-intro > div:last-child p:first-child {
  color: var(--ink-muted);
  font-size: 1.03rem;
}

.live-status-line {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 16px;
  padding: 13px 16px;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: #fff;
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.live-status-line > span:first-child { font-weight: 600; }
.live-status-line .cap-pill { margin: 0; }
.live-status-line a { margin-left: auto; }

.cap-grid-hardware {
  gap: 12px;
}

.cap-grid-hardware .cap-card {
  min-height: 178px;
  border-color: var(--rule);
}

.cap-grid-hardware .cap-card-hero {
  min-height: 244px;
}

body.home-hardware .cap-disclosure {
  max-width: 74rem;
  margin-top: 24px;
  padding-top: 0;
  border-top: 0;
  font-size: .78rem;
}

.closing-section { background: #fff; }

.closing-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr);
  gap: clamp(42px, 9vw, 130px);
  align-items: start;
}

.closing-copy > p {
  max-width: 42rem;
  color: var(--ink-muted);
  font-size: 1.1rem;
}

.closing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.utility-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 36px;
  padding-top: 22px;
  border-top: 1px solid var(--rule);
  font-family: var(--mono);
  font-size: .7rem;
  letter-spacing: .03em;
  text-transform: uppercase;
}

body.home-hardware footer {
  padding-top: 42px;
}

body.home-hardware footer strong { color: #fff; }

body.home-hardware footer .chain-of-trust span:last-child::before {
  content: "○";
}

@media (min-width: 60rem) {
  .cap-grid-hardware {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .cap-grid-hardware .cap-card { grid-column: span 4; }
  .cap-grid-hardware .cap-card-hero { grid-column: span 8; grid-row: span 2; }
  .cap-grid-hardware .cap-card-wide { grid-column: span 4; }
}

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

  body.home-hardware .hero h1 { max-width: 10ch; }

  .environment-map {
    width: min(100%, 690px);
    margin-top: 16px;
  }

  .environment-node { min-height: 360px; }
}

@media (max-width: 50rem) {
  body.home-hardware .masthead {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    padding-right: 16px;
    padding-left: 16px;
  }

  body.home-hardware .masthead nav {
    flex-wrap: nowrap;
    gap: 18px;
    overflow-x: auto;
    padding: 5px 0;
    scrollbar-width: none;
  }

  body.home-hardware .masthead nav::-webkit-scrollbar { display: none; }

  body.home-hardware .hero.hero-hardware {
    padding-top: 64px;
  }

  body.home-hardware .hero h1 {
    font-size: clamp(3.1rem, 15vw, 5rem);
  }

  .environment-map {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .environment-node,
  .environment-orbit {
    min-height: 0;
    transform: none;
  }

  .transfer-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    writing-mode: initial;
  }

  .transfer-line i {
    width: min(110px, 30vw);
    height: 1px;
    background: linear-gradient(90deg, #57d8a7, var(--gold));
  }

  .transfer-line i::after {
    right: 0;
    bottom: -3px;
    transform: rotate(-45deg);
  }

  .rack-visual,
  .tile-visual { height: 185px; }

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

  .hardware-strip > div:nth-child(2) { border-right: 0; }
  .hardware-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--rule); }

  .section-heading,
  .product-grid,
  .live-intro,
  .closing-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .section-heading { align-items: start; }

  .section-heading > p:last-child { margin-top: 24px; }

  .product-card { min-height: 0; }

  .product-card-head { margin-bottom: 52px; }

  .evidence-note { margin-top: 34px; }

  .stack-header {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  .stack-row:not(.stack-header) {
    grid-template-columns: minmax(0, 1fr);
    padding: 22px 0;
  }

  .stack-row > div {
    padding: 8px 4px;
    border-right: 0;
  }

  .stack-row:not(.stack-header) > div:nth-child(2)::before,
  .stack-row:not(.stack-header) > div:nth-child(3)::before {
    display: block;
    margin-bottom: 5px;
    color: #78968b;
    font-family: var(--mono);
    font-size: .56rem;
    font-weight: 600;
    letter-spacing: .1em;
  }

  .stack-row:not(.stack-header) > div:nth-child(2)::before { content: "ONSHORE / VALIDATION PROGRAMME"; }
  .stack-row:not(.stack-header) > div:nth-child(3)::before { content: "SPACESHORE / CLOSE FOR FLIGHT"; }

  .live-status-line { align-items: flex-start; flex-wrap: wrap; }
  .live-status-line a { width: 100%; margin: 4px 0 0; }
}

@media (max-width: 34rem) {
  body.home-hardware .hero.hero-hardware {
    padding-right: 18px;
    padding-left: 18px;
  }

  body.home-hardware .hero .eyebrow {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  body.home-hardware .hero h1 {
    font-size: clamp(2.8rem, 15vw, 4rem);
  }

  body.home-hardware .hero-actions,
  .closing-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body.home-hardware .hero-actions .btn,
  .closing-actions .btn { width: 100%; }

  .environment-node { padding: 14px; }

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

  .hardware-strip > div,
  .hardware-strip > div:nth-child(2) {
    min-height: 84px;
    border-right: 0;
    border-bottom: 1px solid var(--rule);
  }

  .hardware-strip > div:last-child { border-bottom: 0; }

  .product-card {
    padding: 24px;
    border-radius: 20px;
  }

  .product-card-head { align-items: flex-start; }

  body.home-hardware main .block .product-card h3 { font-size: 2.35rem; }
}
