/* ============================================================
   AXOM LABS — inner pages.
   Sections, steps, tables — shared by download, network, and beyond.
   ============================================================ */

/* info-page hero — left-set, editorial; the home hero stays the only centered one */
.pg-intro {
  position: relative; overflow: hidden;
  min-height: 86svh; padding-top: 64px;           /* clear the fixed nav, then center */
  display: flex; flex-direction: column; justify-content: center;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.pg-intro__scene {
  position: absolute; z-index: 0; top: 64px; bottom: 0; right: 0;
  width: 56%;
}
.pg-intro__scene canvas { width: 100% !important; height: 100% !important; display: block; }
.pg-intro__inner { position: relative; z-index: 2; width: 100%; }
.pg-intro__text { max-width: min(44rem, 46%); }
.pg-intro .eyebrow { margin-bottom: 1.75rem; }
.pg-intro h1 {
  font-size: clamp(2.3rem, 6vw, 4.6rem);
  font-weight: 300; letter-spacing: -0.045em; line-height: 1.0;
  text-wrap: balance;
}
.pg-intro h1 em { font-style: normal; color: var(--ink-30); }
.pg-intro__lead {
  margin-top: 1.75rem; max-width: 44ch;
  font-size: var(--fs-lead); font-weight: 300; line-height: 1.6; color: var(--ink-55);
}
.pg-intro__cta { margin-top: 2.5rem; display: flex; gap: 1rem; flex-wrap: wrap; }
.pg-intro__meta {
  position: absolute; left: 0; right: 0; bottom: 1.75rem; z-index: 2;
  display: flex; justify-content: space-between;
  font-size: var(--fs-micro); letter-spacing: 0.3em; text-transform: uppercase; color: var(--ink-30);
}
.pg-intro__meta span:last-child { animation: breathe 3.5s var(--ease) infinite; }
@media (max-width: 900px) {
  .pg-intro__text { max-width: 44rem; }
  .pg-intro__scene { display: none; }   /* too busy behind the text on small screens */
}
@media (max-width: 560px) {
  .pg-intro__cta { flex-direction: column; align-items: flex-start; }
}

.pg-section { padding: clamp(5rem, 14vh, 9rem) 0; }
.pg-section + .pg-section { padding-top: 0; }
.pg-head { max-width: 46ch; margin-bottom: clamp(2.5rem, 5vh, 4rem); }
.pg-head .eyebrow { margin-bottom: 1.25rem; }
.pg-head h2 {
  font-size: var(--fs-display); font-weight: 300; letter-spacing: -0.035em; line-height: 1.1;
}
.pg-head h2 em { font-style: normal; color: var(--ink-30); }
.pg-head p { margin-top: 1.25rem; color: var(--ink-55); font-weight: 300; font-size: var(--fs-lead); line-height: 1.6; }

/* steps */
.pg-steps {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--ink);
}
.pg-step { padding: 2rem 1.75rem 0 0; }
.pg-step + .pg-step { padding-left: 1.75rem; border-left: 1px solid rgba(0,0,0,0.12); }
.pg-step__n { font-size: var(--fs-micro); letter-spacing: 0.25em; color: var(--ink-30); }
.pg-step h3 { margin-top: 1.25rem; font-size: 1.35rem; font-weight: 400; letter-spacing: -0.02em; }
.pg-step p { margin-top: 0.75rem; color: var(--ink-55); font-weight: 300; line-height: 1.6; }
.pg-step code, .pg-note code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85em;
  padding: 0.1em 0.35em; background: rgba(0,0,0,0.05);
}

/* tier table */
.pg-tiers { width: 100%; border-collapse: collapse; }
.pg-tiers th {
  text-align: left; font-weight: 400; font-size: var(--fs-micro);
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-45);
  padding: 0 1rem 1rem 0; border-bottom: 1px solid var(--ink);
}
.pg-tiers td {
  padding: 1.35rem 1rem 1.35rem 0; border-bottom: 1px solid rgba(0,0,0,0.12);
  font-weight: 300; vertical-align: top;
}
.pg-tiers td:first-child { font-weight: 500; letter-spacing: 0.02em; white-space: nowrap; }
.pg-tiers td.pg-tiers__desc { color: var(--ink-55); }
.pg-note { margin-top: 1.5rem; color: var(--ink-45); font-weight: 300; font-size: 0.875rem; max-width: 70ch; }

@media (max-width: 900px) {
  .pg-steps { grid-template-columns: repeat(2, 1fr); }
  .pg-step:nth-child(3) { padding-left: 0; border-left: 0; }
  .pg-step { padding-bottom: 2rem; }
}
@media (max-width: 560px) {
  .pg-steps { grid-template-columns: 1fr; }
  .pg-step + .pg-step { padding-left: 0; border-left: 0; border-top: 1px solid rgba(0,0,0,0.12); }
  .pg-tiers .pg-tiers__desc, .pg-tiers th:nth-child(3) { display: none; }
}

/* three-up variant */
.pg-steps--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .pg-steps--3 { grid-template-columns: 1fr; } .pg-steps--3 .pg-step { padding-left: 0; border-left: 0; } }

/* dark statement band */
.pg-band { background: var(--ink); color: var(--paper); padding: clamp(5rem, 14vh, 9rem) 0; }
.pg-band .pg-head p { color: var(--pap-70); }
.pg-band .pg-head h2 em { color: var(--pap-40); }
.pg-band .eyebrow { color: var(--pap-40); }
.pg-band .pg-steps { border-top-color: var(--paper); }
.pg-band .pg-step + .pg-step { border-left-color: rgba(255,255,255,0.15); }
.pg-band .pg-step p { color: var(--pap-70); }
.pg-band .pg-step__n { color: var(--pap-40); }

/* figures */
.pg-figs { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); }
.pg-fig { padding: 2rem 1.5rem 0 0; }
.pg-fig + .pg-fig { padding-left: 1.5rem; border-left: 1px solid rgba(0,0,0,0.12); }
.pg-fig__v { font-size: clamp(1.8rem, 3.2vw, 2.6rem); font-weight: 300; letter-spacing: -0.04em; line-height: 1; }
.pg-fig__v small { font-size: 0.45em; letter-spacing: 0; color: var(--ink-45); margin-left: 0.2em; }
.pg-fig__l { margin-top: 0.9rem; color: var(--ink-55); font-weight: 300; font-size: 0.9rem; line-height: 1.5; }
@media (max-width: 900px) {
  .pg-figs { grid-template-columns: repeat(2, 1fr); }
  .pg-fig:nth-child(3) { padding-left: 0; border-left: 0; }
  .pg-fig { padding-bottom: 2rem; }
}

/* live status */
.pg-live { display: inline-flex; align-items: center; gap: 0.6rem; font-size: var(--fs-micro); letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-45); }
.pg-live__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ink-30); }
.pg-live[data-state="up"] .pg-live__dot { background: #000; animation: breathe 2.4s var(--ease) infinite; }
.pg-live[data-state="down"] { color: var(--ink-30); }
.pg-status .pg-fig__v[data-empty] { color: var(--ink-30); }

/* centered statement, tighter than the old full-screen .scene */
.pg-statement { padding: clamp(6rem, 18vh, 11rem) 0; text-align: center; }
.pg-statement h2 {
  font-size: var(--fs-display); font-weight: 300; letter-spacing: -0.035em;
  line-height: 1.12; max-width: 20ch; margin-inline: auto;
}
.pg-statement h2 em { font-style: normal; color: var(--ink-30); }
.pg-statement p { margin: 1.5rem auto 0; max-width: 52ch; color: var(--ink-55); font-weight: 300; font-size: var(--fs-lead); line-height: 1.6; }
.pg-band .pg-step code { background: rgba(255,255,255,0.1); }
.pg-band .pg-note { color: var(--pap-55); }

/* six-up grid: three columns, two rows */
.pg-steps--3 .pg-step:nth-child(3n+1) { padding-left: 0; border-left: 0; }
.pg-steps--3 .pg-step:nth-child(n+4) { margin-top: 2.5rem; }

/* vision moments — text beside a scene */
.pg-moments .moment { padding-block: clamp(3.5rem, 9vh, 6.5rem); }
.pg-moments .moment + .moment { border-top: 1px solid rgba(0,0,0,0.08); }
.pg-moments .moment__visual { aspect-ratio: 5 / 4; }
.pg-moments .moment__visual canvas { display: block; }
.pg-tag {
  display: inline-block; margin-bottom: 1.25rem; padding: 0.3rem 0.6rem;
  border: 1px solid var(--ink-30); font-size: var(--fs-micro); letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--ink-45);
}
.pg-divider { padding: clamp(5rem, 14vh, 9rem) 0 0; }
