/*
 * Ad Astra Connect — public site content layer.
 * Pairs with canonical-chrome-v1.css (chrome) + ad-astra-chrome.js (engine).
 * Page content only. Chrome + Polaris visuals owned by canonical-chrome-v1.css.
 */

/* ---- Content theme tokens ---- */

.aa-chrome-page {
  --aa-ink: #16191e;
  --aa-ink-strong: #0f1216;
  --aa-muted: #4e545c;
  --aa-faint: #6c727a;
  --aa-platinum: #e9edf3;
  --aa-accent: #1f5f73;
  --aa-accent-hi: #2c7d99;
  --aa-accent-soft: rgba(31, 95, 115, 0.12);
  --aa-copper: #b87333;
  --aa-divider: rgba(60, 72, 80, 0.22);
  --aa-rail-max: 1080px;
  --aa-section-gap: clamp(64px, 9vw, 112px);
  --aa-radius-panel: 6px;
}

html[data-theme="light"] .aa-chrome-page {
  --aa-accent: #1f5f73;
  --aa-accent-hi: #2c7d99;
  --aa-accent-soft: rgba(31, 95, 115, 0.11);
  --aa-divider: rgba(60, 72, 80, 0.22);
}

html[data-theme="dark"] .aa-chrome-page {
  --aa-ink: #e9edf3;
  --aa-ink-strong: #f6f8fb;
  --aa-muted: #b6bcc6;
  --aa-faint: #8d949f;
  --aa-platinum: #e9edf3;
  --aa-accent: #5fa8c9;
  --aa-accent-hi: #7ec0e0;
  --aa-accent-soft: rgba(95, 168, 201, 0.10);
  --aa-divider: rgba(160, 172, 186, 0.18);
}

html[data-theme="stellar"] .aa-chrome-page {
  --aa-ink: #eef3ff;
  --aa-ink-strong: #f7faff;
  --aa-muted: #c2d2ee;
  --aa-faint: #93a6c8;
  --aa-platinum: #eef3ff;
  --aa-accent: #6fb6e6;
  --aa-accent-hi: #8fd0ff;
  --aa-accent-soft: rgba(111, 182, 230, 0.12);
  --aa-divider: rgba(120, 168, 255, 0.20);
}

/* ---- Dark subtle field (soft depth only — deliberately NOT a grid,
   so switching away from Stellar never reads as a lingering Stellar grid) ---- */

html[data-theme="dark"] .aa-chrome-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 1;
  background:
    radial-gradient(ellipse 120% 80% at 50% -10%, rgba(95, 168, 201, 0.06) 0%, transparent 60%),
    radial-gradient(ellipse 100% 70% at 85% 110%, rgba(110, 130, 170, 0.05) 0%, transparent 62%);
  background-repeat: no-repeat;
}

/* ---- Content rail ---- */

.aa-chrome-page .aa-home-wrap,
.aa-chrome-page .aa-mission-wrap {
  position: relative;
  z-index: 1;
  max-width: var(--aa-rail-max);
  margin: 0 auto;
  padding: clamp(24px, 5vw, 56px) var(--aa-chrome-rail-pad) clamp(40px, 7vw, 96px);
  color: var(--aa-ink);
}

.aa-chrome-page .aa-section {
  margin-top: var(--aa-section-gap);
}

.aa-chrome-page .aa-section-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--aa-accent);
}

/* Constellation node marker — quiet graphical rhythm across sections */
.aa-chrome-page .aa-section-label::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--aa-accent);
  box-shadow: 0 0 9px var(--aa-accent-hi);
}

.aa-chrome-page .aa-section-title {
  margin: 0 0 22px;
  font-size: clamp(1.5rem, 3.4vw, 2.15rem);
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-section-lede {
  margin: 0;
  max-width: 60ch;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  line-height: 1.68;
  color: var(--aa-muted);
}

/* ---- Prose rhythm (consistent paragraph gaps) ---- */

.aa-chrome-page .aa-prose {
  max-width: 60ch;
}

.aa-chrome-page .aa-prose > .aa-section-lede + .aa-section-lede,
.aa-chrome-page .aa-prose > .aa-focus-note__body + .aa-focus-note__body {
  margin-top: 1.35em;
}

.aa-chrome-page .aa-prose > .aa-section-lede--cap {
  margin-top: 1.85em;
  font-weight: 550;
  color: var(--aa-ink);
}

.aa-chrome-page .aa-prose--focus {
  max-width: 52ch;
}

/* ---- Hero ---- */

.aa-chrome-page .aa-home-hero {
  position: relative;
  padding-top: clamp(12px, 4vw, 40px);
  max-width: min(900px, 100%);
}

.aa-chrome-page .aa-home-hero__title {
  margin: 0 0 22px;
  max-width: 22ch;
  font-size: clamp(2.1rem, 6vw, 3.6rem);
  line-height: 1.06;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-home-hero__lede {
  margin: 0 0 18px;
  max-width: 58ch;
  font-size: clamp(1.05rem, 1.9vw, 1.3rem);
  line-height: 1.6;
  color: var(--aa-muted);
}

.aa-chrome-page .aa-home-hero__lede:last-of-type {
  margin-bottom: 22px;
}

.aa-chrome-page .aa-home-hero__positioning {
  margin: 0 0 28px;
  max-width: 42ch;
  font-size: clamp(1.02rem, 1.8vw, 1.15rem);
  font-weight: 650;
  line-height: 1.45;
  letter-spacing: -0.01em;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-home-hero__principle {
  margin: 0;
  max-width: 48ch;
  padding: 0;
  border: none;
  background: none;
  font-size: clamp(1.14rem, 2.2vw, 1.42rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.42;
  letter-spacing: -0.018em;
  color: var(--aa-accent-hi);
}

html[data-theme="light"] .aa-chrome-page .aa-home-hero__principle {
  color: var(--aa-accent);
}

.aa-chrome-page .aa-home-hero__principle::before {
  content: "";
  display: block;
  width: 2.5em;
  height: 1px;
  margin-bottom: 1.1em;
  background: linear-gradient(90deg, var(--aa-accent-hi), transparent);
  opacity: 0.55;
}

/* ---- Insight (post-hero) ---- */

.aa-chrome-page .aa-insight {
  margin-top: clamp(40px, 6vw, 72px);
  position: relative;
}

.aa-chrome-page .aa-insight__content {
  position: relative;
  z-index: 1;
  max-width: 62ch;
}

.aa-chrome-page .aa-section-title--quiet {
  font-size: clamp(1.25rem, 2.6vw, 1.55rem);
  font-weight: 600;
  color: var(--aa-muted);
}

.aa-chrome-page .aa-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.aa-chrome-page .aa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: var(--aa-radius-panel);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform 0.18s ease, box-shadow 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.aa-chrome-page .aa-btn--primary {
  color: #f4f9fc;
  background:
    linear-gradient(180deg, rgba(140, 200, 230, 0.35) 0%, transparent 42%),
    linear-gradient(135deg, var(--aa-accent) 0%, var(--aa-accent-hi) 100%);
  border-color: rgba(120, 188, 220, 0.35);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 8px 24px rgba(20, 40, 60, 0.22);
}

html[data-theme="light"] .aa-chrome-page .aa-btn--primary {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, transparent 40%),
    linear-gradient(135deg, #1a5568 0%, #2a7a94 100%);
  border-color: rgba(44, 125, 153, 0.45);
  color: #f6fbfe;
}

.aa-chrome-page .aa-btn--primary:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 12px 28px rgba(20, 40, 60, 0.28);
}

.aa-chrome-page .aa-btn--ghost {
  background: transparent;
  color: var(--aa-ink);
  border-color: var(--aa-divider);
}

.aa-chrome-page .aa-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--aa-ink);
  opacity: 0.82;
  transition: opacity 0.2s ease, gap 0.2s ease;
}

.aa-chrome-page .aa-link-arrow:hover {
  opacity: 1;
  gap: 10px;
}

.aa-chrome-page .aa-btn:focus-visible,
.aa-chrome-page .aa-link-arrow:focus-visible {
  outline: 2px solid var(--aa-accent-hi);
  outline-offset: 3px;
}

/* ---- Operating-map flow diagram (visible vector path + nodes) ---- */

.aa-chrome-page .aa-operating-map {
  margin-top: 32px;
  width: 100%;
  color: var(--aa-accent);
}

.aa-chrome-page .aa-operating-map__diagram {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.aa-chrome-page .aa-operating-map__diagram--stack {
  display: none;
}

.aa-chrome-page .aa-operating-map__path {
  color: var(--aa-accent-hi);
}

.aa-chrome-page .aa-operating-map__path-glow {
  color: var(--aa-accent-hi);
}

.aa-chrome-page .aa-operating-map__dot {
  fill: var(--aa-accent-hi);
  stroke: var(--aa-accent);
  stroke-width: 2.5;
}

.aa-chrome-page .aa-operating-map__node--mid .aa-operating-map__dot {
  fill: var(--aa-accent-hi);
  stroke-width: 3;
}

.aa-chrome-page .aa-operating-map__node--outcome .aa-operating-map__dot {
  fill: var(--aa-ink-strong);
  stroke: var(--aa-accent-hi);
  stroke-width: 3.5;
}

html[data-theme="stellar"] .aa-chrome-page .aa-operating-map__node--outcome .aa-operating-map__dot {
  fill: var(--aa-accent-hi);
}

.aa-chrome-page .aa-operating-map__label {
  fill: var(--aa-accent-hi);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.aa-chrome-page .aa-operating-map__copy {
  fill: var(--aa-muted);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
}

html[data-theme="light"] .aa-chrome-page .aa-operating-map__label {
  fill: var(--aa-accent);
}

@media (max-width: 560px) {
  .aa-chrome-page .aa-operating-map__diagram--wide {
    display: none;
  }

  .aa-chrome-page .aa-operating-map__diagram--stack {
    display: block;
  }

  .aa-chrome-page .aa-operating-map__label {
    font-size: 12px;
  }

  .aa-chrome-page .aa-operating-map__copy {
    font-size: 14px;
  }
}

/* ---- Transformation rail (legacy grid — kept for reference; map replaces on homepage) ---- */

.aa-chrome-page .aa-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 28px;
  border-top: 1px solid var(--aa-divider);
  border-bottom: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-flow__step {
  position: relative;
  padding: 22px 20px 20px 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.aa-chrome-page .aa-flow__step:not(:last-child) {
  border-right: 1px solid var(--aa-divider);
  padding-right: 24px;
  margin-right: 0;
}

.aa-chrome-page .aa-flow__step::after {
  display: none;
}

.aa-chrome-page .aa-flow__name {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--aa-accent);
}

.aa-chrome-page .aa-flow__copy {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.52;
  color: var(--aa-muted);
}

/* ---- Operating-map signal path (CSS-only graphical flow) ----
   Scattered work → private system layer → less friction reads as a lit rail
   with node markers that brighten toward the human outcome. */

.aa-chrome-page .aa-flow {
  position: relative;
}

.aa-chrome-page .aa-flow::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(95, 168, 201, 0) 0%,
    var(--aa-accent) 15%,
    var(--aa-accent-hi) 85%,
    rgba(95, 168, 201, 0) 100%
  );
  opacity: 0.6;
  pointer-events: none;
}

.aa-chrome-page .aa-flow__step::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aa-accent);
  box-shadow: 0 0 0 3px var(--aa-accent-soft), 0 0 12px var(--aa-accent-hi);
  opacity: 0.5;
  pointer-events: none;
}

.aa-chrome-page .aa-flow__step:nth-child(2)::before { opacity: 0.68; }
.aa-chrome-page .aa-flow__step:nth-child(3)::before { opacity: 0.84; }

.aa-chrome-page .aa-flow__step:last-child::before {
  opacity: 1;
  background: var(--aa-accent-hi);
  box-shadow: 0 0 0 4px var(--aa-accent-soft), 0 0 16px var(--aa-accent-hi);
}

/* ---- Capability blocks (floating text + etched rule) ---- */

.aa-chrome-page .aa-tiles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  margin-top: 28px;
}

.aa-chrome-page .aa-tile {
  padding: 22px 28px 22px 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border-top: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-tile:nth-child(odd) {
  padding-right: 32px;
  border-right: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-tile:nth-child(even) {
  padding-left: 32px;
}

.aa-chrome-page .aa-tile__title {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-tile__copy {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.54;
  color: var(--aa-muted);
}

/* ---- Method strip ---- */

.aa-chrome-page .aa-method {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-method__step {
  font-size: clamp(1.05rem, 2.2vw, 1.45rem);
  font-weight: 600;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-method__sep {
  color: var(--aa-accent);
  font-size: 1rem;
  opacity: 0.75;
}

.aa-chrome-page .aa-method__note {
  margin-top: 18px;
}

/* ---- Method steps (launch copy — three clear beats) ---- */

.aa-chrome-page .aa-method-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 4vw, 40px);
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-method-steps__item {
  padding: 0;
}

.aa-chrome-page .aa-method-steps__head {
  margin: 0 0 14px;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-method-steps__copy {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.62;
  color: var(--aa-muted);
}

.aa-chrome-page .aa-method-steps__copy + .aa-method-steps__copy {
  margin-top: 1.35em;
}

@media (max-width: 860px) {
  .aa-chrome-page .aa-method-steps {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

/* ---- Trust row (segmented, not pills) ---- */

.aa-chrome-page .aa-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 26px;
  padding: 14px 0 0;
  list-style: none;
  border-top: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 20px 6px 0;
  margin-right: 20px;
  font-size: 0.86rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--aa-muted);
  border: none;
  border-radius: 0;
  background: transparent;
}

.aa-chrome-page .aa-chip:not(:last-child) {
  border-right: 1px solid var(--aa-divider);
  padding-right: 20px;
}

.aa-chrome-page .aa-chip::before {
  content: "";
  width: 4px;
  height: 4px;
  background: var(--aa-accent);
  transform: rotate(45deg);
  flex-shrink: 0;
}

/* ---- Current focus (quiet operating note — launch demotion) ---- */

.aa-chrome-page .aa-section--focus {
  margin-top: clamp(36px, 5vw, 56px);
}

.aa-chrome-page .aa-focus-note {
  max-width: 52ch;
  padding: 16px 0 0;
  border-top: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-focus-note__label {
  margin: 0 0 14px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--aa-accent);
}

.aa-chrome-page .aa-focus-note__body {
  margin: 0;
  font-size: 0.96rem;
  font-weight: 400;
  line-height: 1.62;
  color: var(--aa-muted);
}

/* ---- Contact (precision input panel) ---- */

.aa-chrome-page .aa-contact {
  margin-top: var(--aa-section-gap);
  padding: clamp(24px, 3.5vw, 36px);
  border-radius: var(--aa-radius-panel);
  border: 1px solid var(--aa-divider);
  background: rgba(127, 140, 155, 0.04);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html[data-theme="light"] .aa-chrome-page .aa-contact {
  background: rgba(186, 190, 196, 0.18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.aa-chrome-page .aa-contact__grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(28px, 5vw, 56px);
  align-items: start;
}

.aa-chrome-page .aa-form {
  display: grid;
  gap: 14px;
}

.aa-chrome-page .aa-field {
  display: grid;
  gap: 6px;
}

.aa-chrome-page .aa-field label {
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--aa-faint);
}

.aa-chrome-page .aa-field input,
.aa-chrome-page .aa-field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 2px 10px 0;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--aa-divider);
  background: transparent;
  color: var(--aa-ink);
  font: inherit;
  font-size: 0.98rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.aa-chrome-page .aa-field textarea {
  min-height: 120px;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid var(--aa-divider);
  border-radius: var(--aa-radius-panel);
}

.aa-chrome-page .aa-field input:focus,
.aa-chrome-page .aa-field textarea:focus {
  outline: none;
  border-color: var(--aa-accent-hi);
  box-shadow: 0 1px 0 0 var(--aa-accent-hi);
}

.aa-chrome-page .aa-field textarea:focus {
  box-shadow: 0 0 0 1px var(--aa-accent-hi);
}

.aa-chrome-page .aa-field--honey {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.aa-chrome-page .aa-form__turnstile {
  min-height: 0;
  padding-top: 8px;
}

.aa-chrome-page .aa-form__status {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  min-height: 1.2em;
  color: var(--aa-muted);
}

.aa-chrome-page .aa-form__status[data-state="error"] {
  color: var(--aa-copper);
}

.aa-chrome-page .aa-form__status[data-state="success"] {
  color: var(--aa-accent-hi);
}

.aa-chrome-page .aa-form__submit {
  justify-self: start;
  margin-top: 4px;
}

.aa-chrome-page .aa-contact__copy .aa-section-title {
  margin-top: 0;
}

/* ---- Mission page ---- */

.aa-chrome-page .aa-mission-hero {
  max-width: min(720px, 100%);
  padding-top: clamp(12px, 4vw, 40px);
}

.aa-chrome-page .aa-mission-hero__title {
  margin: 14px 0 0;
  font-size: clamp(2rem, 5.4vw, 3.2rem);
  line-height: 1.08;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-mission-thesis {
  margin-top: var(--aa-section-gap);
  padding-bottom: 22px;
  border-bottom: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-mission-thesis__statement {
  margin: 0 0 18px;
  max-width: 52ch;
  font-size: clamp(1.25rem, 2.8vw, 1.65rem);
  line-height: 1.42;
  font-weight: 600;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-mission-thesis__scale {
  margin: 0;
  max-width: 64ch;
  font-size: clamp(1.02rem, 1.7vw, 1.18rem);
  line-height: 1.66;
  color: var(--aa-muted);
}

.aa-chrome-page .aa-mission-couplet {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-mission-couplet__line {
  display: block;
  margin: 0 0 6px;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 600;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-mission-couplet__line:last-child {
  margin-bottom: 0;
  color: var(--aa-accent);
}

.aa-chrome-page .aa-prose p {
  margin: 0 0 18px;
  max-width: 64ch;
  font-size: clamp(1.02rem, 1.7vw, 1.2rem);
  line-height: 1.66;
  color: var(--aa-muted);
}

.aa-chrome-page .aa-prose p:last-child {
  margin-bottom: 0;
}

.aa-chrome-page .aa-mission-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 22px;
  padding: 18px 0 0;
  list-style: none;
  border-top: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-mission-steps li {
  font-size: clamp(1.1rem, 2.4vw, 1.5rem);
  font-weight: 600;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-mission-steps li::after {
  content: "·";
  margin-left: 14px;
  color: var(--aa-accent);
}

.aa-chrome-page .aa-mission-steps li:last-child::after {
  display: none;
}

.aa-chrome-page .aa-why {
  margin-top: 22px;
  padding: 22px 0 0;
  border: none;
  border-radius: 0;
  border-top: 1px solid var(--aa-divider);
  background: transparent;
  box-shadow: none;
}

.aa-chrome-page .aa-why__phrase {
  margin: 0 0 6px;
  font-size: clamp(1.15rem, 2.4vw, 1.45rem);
  font-style: italic;
  font-weight: 500;
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-why__translation {
  margin: 0 0 16px;
  font-size: 0.94rem;
  letter-spacing: 0.02em;
  color: var(--aa-faint);
}

.aa-chrome-page .aa-why__body {
  margin: 0;
  max-width: 60ch;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  line-height: 1.62;
  color: var(--aa-muted);
}

/* ---- Site footer ---- */

.aa-chrome-page .aa-site-footer {
  position: relative;
  z-index: 1;
  margin-top: clamp(48px, 8vw, 96px);
  border-top: 1px solid var(--aa-divider);
}

.aa-chrome-page .aa-site-footer__inner {
  max-width: var(--aa-rail-max);
  margin: 0 auto;
  padding: 34px var(--aa-chrome-rail-pad) 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}

.aa-chrome-page .aa-site-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 26px;
}

.aa-chrome-page .aa-site-footer__link {
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--aa-muted);
  transition: color 0.2s ease;
}

.aa-chrome-page .aa-site-footer__link:hover,
.aa-chrome-page .aa-site-footer__link[aria-current="page"] {
  color: var(--aa-ink-strong);
}

.aa-chrome-page .aa-site-footer__meta {
  margin: 0;
  font-size: 0.82rem;
  color: var(--aa-faint);
}

/* ---- Responsive ---- */

@media (max-width: 860px) {
  .aa-chrome-page .aa-flow {
    grid-template-columns: 1fr 1fr;
  }
  .aa-chrome-page .aa-flow__step:nth-child(2) {
    border-right: none;
    padding-right: 0;
  }
  .aa-chrome-page .aa-flow__step:nth-child(odd):not(:last-child) {
    border-right: 1px solid var(--aa-divider);
    padding-right: 20px;
  }
  .aa-chrome-page .aa-tiles {
    grid-template-columns: 1fr;
  }
  .aa-chrome-page .aa-tile {
    padding: 20px 0;
    border-right: none !important;
  }
  .aa-chrome-page .aa-tile:nth-child(even) {
    padding-left: 0;
  }
  .aa-chrome-page .aa-contact__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .aa-chrome-page .aa-flow {
    grid-template-columns: 1fr;
  }
  .aa-chrome-page .aa-flow__step {
    padding: 18px 0;
    border-right: none !important;
    border-bottom: 1px solid var(--aa-divider);
  }
  .aa-chrome-page .aa-flow__step:last-child {
    border-bottom: none;
  }
  .aa-chrome-page .aa-chips {
    flex-direction: column;
    gap: 10px;
  }
  .aa-chrome-page .aa-chip {
    margin-right: 0;
    padding-right: 0;
    border-right: none !important;
  }
  .aa-chrome-page .aa-cta-row {
    gap: 14px;
  }
  .aa-chrome-page .aa-btn {
    width: 100%;
  }
  .aa-chrome-page .aa-link-arrow {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aa-chrome-page .aa-btn,
  .aa-chrome-page .aa-link-arrow {
    transition: none;
  }
}

/* ---- Origin panel (public inscription; overrides canon blue card) ---- */

.aa-chrome-page .aa-chrome-origin-panel {
  width: min(416px, calc(100vw - 32px));
  padding: 14px 30px 34px;
  border-radius: var(--radius-rail, 12px);
  border: 1px solid rgba(180, 210, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(180, 210, 255, 0.08) 0%, transparent 36%),
    linear-gradient(160deg, rgba(22, 27, 52, 0.92) 0%, rgba(15, 18, 40, 0.94) 48%, rgba(11, 13, 33, 0.96) 100%);
  color: rgba(236, 243, 255, 0.94);
  box-shadow:
    inset 0 1px 0 rgba(180, 210, 255, 0.10),
    0 0 28px rgba(96, 150, 255, 0.10),
    0 20px 48px rgba(6, 10, 32, 0.48);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.aa-chrome-page .aa-chrome-origin-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  margin: 0 0 4px;
  min-height: 28px;
}

.aa-chrome-page .aa-chrome-origin-panel-head h3 {
  display: none;
}

.aa-chrome-page .aa-chrome-origin-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  margin: -4px -6px 0 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: rgba(215, 220, 228, 0.88);
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.aa-chrome-page .aa-chrome-origin-close__x {
  position: relative;
  display: block;
  width: 14px;
  height: 14px;
}

.aa-chrome-page .aa-chrome-origin-close__x::before,
.aa-chrome-page .aa-chrome-origin-close__x::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 1.25px;
  margin-top: -0.625px;
  border-radius: 1px;
  background: currentColor;
  box-shadow:
    0.5px 0.5px 0 rgba(190, 230, 255, 0.22),
    -0.5px -0.5px 0 rgba(0, 0, 0, 0.36);
}

.aa-chrome-page .aa-chrome-origin-close__x::before {
  transform: rotate(45deg);
}

.aa-chrome-page .aa-chrome-origin-close__x::after {
  transform: rotate(-45deg);
}

.aa-chrome-page .aa-chrome-origin-close:hover {
  color: rgba(230, 240, 255, 0.98);
}

.aa-chrome-page .aa-chrome-origin-close:focus-visible {
  outline: 1.5px solid rgba(120, 188, 255, 0.55);
  outline-offset: 3px;
}

.aa-chrome-page .aa-chrome-origin-panel .aa-chrome-origin-inscription {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0;
}

.aa-chrome-page .aa-chrome-origin-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.aa-chrome-page .aa-chrome-origin-inscription-svg {
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto;
  pointer-events: none;
  overflow: visible;
}

.aa-chrome-page .aa-chrome-origin-inscription-svg--narrow {
  display: none;
}

/* Stellar Origin uses the transparent SVG text asset on the same glass panel */
.aa-chrome-page .aa-chrome-origin-inscription-stellar {
  display: none;
  width: 100%;
  max-width: 360px;
  height: auto;
  pointer-events: none;
}

html[data-theme="stellar"] .aa-chrome-page .aa-chrome-origin-inscription-svg {
  display: none;
}

html[data-theme="stellar"] .aa-chrome-page .aa-chrome-origin-inscription-stellar,
html[data-theme="stellar"] .aa-chrome-page .aa-origin-stellar-svg {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  pointer-events: none;
}

/* Stellar Origin panel: wider rail + tight padding so the v3 inscription maximizes on the glass */
html[data-theme="stellar"] .aa-chrome-page .aa-chrome-origin-panel {
  width: min(540px, calc(100vw - 24px));
  padding: 14px 18px 22px;
}

html[data-theme="stellar"] .aa-chrome-page .aa-chrome-origin-panel .aa-chrome-origin-inscription {
  width: 100%;
}

/* SVG text — locked layout; paired hero lines share voice */
.aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-phrase,
.aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-translation {
  fill: rgba(245, 249, 255, 0.99);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 17px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-bridge {
  fill: rgba(170, 198, 230, 0.78);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-belief {
  fill: rgba(204, 218, 240, 0.82);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.005em;
}

.aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-landing {
  fill: rgba(238, 246, 255, 0.99);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-origin-panel {
  border-color: rgba(255, 255, 255, 0.28);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, transparent 34%),
    linear-gradient(166deg, rgba(194, 196, 200, 0.94) 0%, rgba(172, 174, 178, 0.92) 100%);
  color: rgba(22, 25, 30, 0.94);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 14px 38px rgba(22, 24, 28, 0.16);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-phrase,
html[data-theme="light"] .aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-translation {
  fill: rgba(18, 22, 28, 0.97);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-bridge {
  fill: rgba(62, 68, 76, 0.78);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-belief {
  fill: rgba(52, 58, 66, 0.82);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-origin-inscription-svg .aa-chrome-origin-landing {
  fill: rgba(24, 28, 34, 0.95);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-origin-close {
  color: rgba(60, 66, 75, 0.88);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-origin-close__x::before,
html[data-theme="light"] .aa-chrome-page .aa-chrome-origin-close__x::after {
  box-shadow:
    0.5px 0.5px 0 rgba(255, 255, 255, 0.78),
    -0.5px -0.5px 0 rgba(0, 0, 0, 0.18);
}

@media (max-width: 390px) {
  .aa-chrome-page .aa-chrome-origin-panel {
    top: calc(env(safe-area-inset-top, 0px) + 168px);
    right: max(calc(env(safe-area-inset-right, 0px) + 12px), 12px);
    width: min(300px, calc(100vw - 24px));
    padding: 10px 14px 22px;
  }

  html[data-theme="stellar"] .aa-chrome-page .aa-chrome-origin-panel {
    width: min(calc(100vw - 20px), 360px);
    padding: 8px 12px 18px;
  }

  html[data-theme="stellar"] .aa-chrome-page .aa-chrome-origin-inscription-stellar,
  html[data-theme="stellar"] .aa-chrome-page .aa-origin-stellar-svg {
    width: 100%;
    max-width: 100%;
  }

  .aa-chrome-page .aa-chrome-origin-inscription-svg--wide {
    display: none;
  }

  .aa-chrome-page .aa-chrome-origin-inscription-svg--narrow {
    display: block;
    max-width: 272px;
  }

  .aa-chrome-page .aa-chrome-origin-inscription-svg--narrow .aa-chrome-origin-phrase,
  .aa-chrome-page .aa-chrome-origin-inscription-svg--narrow .aa-chrome-origin-translation {
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aa-chrome-page .aa-chrome-origin-panel {
    transition: none;
  }
}

/* ---- Homepage scroll journey (AI hope horizon patch) ---- */

.aa-chrome-page .aa-reveal {
  opacity: 1;
  transform: none;
  transition: opacity 0.7s ease, transform 0.7s ease;
}

@media (prefers-reduced-motion: no-preference) {
  .aa-chrome-page .aa-reveal:not(.is-visible) {
    opacity: 0;
    transform: translateY(18px);
  }
}

/* Connected intelligence — sources converging into a central operating core */
.aa-chrome-page .aa-connected-intel__layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(24px, 5vw, 48px);
  align-items: center;
}

.aa-chrome-page .aa-constellation-map {
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
  /* Core gradient tokens (themed below) */
  --aa-ci-core-hi: rgba(120, 196, 236, 0.5);
  --aa-ci-core-mid: rgba(60, 125, 153, 0.32);
  --aa-ci-core-edge: rgba(31, 95, 115, 0.06);
}

.aa-chrome-page .aa-constellation-map__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.aa-chrome-page .aa-constellation-map__edge {
  fill: none;
  stroke: var(--aa-accent-hi);
  stroke-width: 1.25;
  stroke-opacity: 0.22;
  transition: stroke-opacity 0.9s ease;
}

.aa-chrome-page .aa-constellation-map.is-lit .aa-constellation-map__edge {
  stroke-opacity: 0.6;
}

.aa-chrome-page .aa-constellation-map__edge--out {
  stroke-dasharray: 2.5 4;
  stroke-opacity: 0.16;
}

.aa-chrome-page .aa-constellation-map.is-lit .aa-constellation-map__edge--out {
  stroke-opacity: 0.4;
}

.aa-chrome-page .aa-constellation-map__node {
  fill: var(--aa-accent);
  stroke: var(--aa-accent-hi);
  stroke-width: 1.5;
  opacity: 0.7;
  transition: opacity 0.6s ease;
}

.aa-chrome-page .aa-constellation-map__node--human {
  fill: var(--aa-accent-hi);
  opacity: 0.9;
}

.aa-chrome-page .aa-constellation-map.is-lit .aa-constellation-map__node {
  opacity: 1;
}

.aa-chrome-page .aa-constellation-map__label {
  fill: var(--aa-muted);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.aa-chrome-page .aa-constellation-map__label--out {
  fill: var(--aa-faint);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Core gradient stops — set via CSS so theme vars resolve (attrs can't use var()) */
.aa-chrome-page .aa-constellation-map__core-stop-hi {
  stop-color: var(--aa-ci-core-hi);
}

.aa-chrome-page .aa-constellation-map__core-stop-mid {
  stop-color: var(--aa-ci-core-mid);
}

.aa-chrome-page .aa-constellation-map__core-stop-edge {
  stop-color: var(--aa-ci-core-edge);
}

/* Central operating-intelligence core */
.aa-chrome-page .aa-constellation-map__core-halo {
  fill: var(--aa-accent-hi);
  opacity: 0;
  transition: opacity 1s ease;
}

.aa-chrome-page .aa-constellation-map.is-lit .aa-constellation-map__core-halo {
  opacity: 0.18;
}

.aa-chrome-page .aa-constellation-map__core-ring {
  fill: none;
  stroke: var(--aa-accent-hi);
  stroke-width: 1.25;
  stroke-opacity: 0.55;
}

.aa-chrome-page .aa-constellation-map__core-fill {
  fill: url(#aa-ci-core);
  stroke: var(--aa-accent-hi);
  stroke-width: 0.75;
  stroke-opacity: 0.4;
}

.aa-chrome-page .aa-constellation-map__core-label {
  fill: var(--aa-ink-strong);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.02em;
}

html[data-theme="dark"] .aa-chrome-page .aa-constellation-map {
  --aa-ci-core-hi: rgba(150, 214, 255, 0.5);
  --aa-ci-core-mid: rgba(95, 168, 201, 0.3);
  --aa-ci-core-edge: rgba(95, 168, 201, 0.04);
}

html[data-theme="stellar"] .aa-chrome-page .aa-constellation-map {
  --aa-ci-core-hi: rgba(160, 210, 255, 0.6);
  --aa-ci-core-mid: rgba(111, 182, 230, 0.34);
  --aa-ci-core-edge: rgba(111, 182, 230, 0.05);
}

/* Stellar aircraft trail easter egg */
.aa-chrome-page .aa-missing-signal-stellar {
  display: none;
  position: absolute;
  top: -12px;
  right: 0;
  width: min(540px, 60vw);
  pointer-events: none;
  z-index: 0;
  opacity: 0.6;
}

html[data-theme="stellar"] .aa-chrome-page .aa-missing-signal-stellar {
  display: block;
  pointer-events: auto;
}

.aa-chrome-page .aa-aircraft-trails {
  display: block;
  width: 100%;
  height: auto;
}

/* Soft smoke/contrail paths — thin, blurred, layered (never dotted) */
.aa-chrome-page .aa-aircraft-trails__line {
  fill: none;
  stroke: url(#aa-trail-fade);
  stroke-width: 2.2;
  stroke-linecap: round;
}

.aa-chrome-page .aa-aircraft-trails__line--thin {
  stroke-width: 1.5;
}

.aa-chrome-page .aa-aircraft-trails__line--haze {
  stroke: url(#aa-trail-fade-soft);
  stroke-width: 12;
}

.aa-chrome-page .aa-aircraft-trails__craft {
  fill: rgba(232, 244, 255, 0.95);
  filter: drop-shadow(0 0 4px rgba(180, 214, 255, 0.85));
}

/* Survivorship schematic inside the Missing signal panel */
.aa-chrome-page .aa-survivorship-schematic {
  display: block;
  width: min(180px, 60%);
  height: auto;
  margin: 0 auto 16px;
}

.aa-chrome-page .aa-survivorship-schematic__plane path {
  stroke: rgba(196, 220, 255, 0.7);
  stroke-width: 1.4;
  stroke-linejoin: round;
}

.aa-chrome-page .aa-survivorship-schematic__damage circle {
  fill: rgba(214, 78, 64, 0.92);
}

/* The contrails themselves are the clickable Easter-egg target — no visible label */
.aa-chrome-page .aa-missing-signal-trigger {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.aa-chrome-page .aa-missing-signal-trigger:focus-visible {
  outline: 1.5px solid rgba(150, 200, 255, 0.6);
  outline-offset: 6px;
  border-radius: 12px;
}

.aa-chrome-page .aa-missing-signal-note {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: calc(var(--aa-chrome-z-polaris, 120) + 2);
  width: min(400px, calc(100vw - 32px));
  max-height: min(80vh, 520px);
  overflow: auto;
}

.aa-chrome-page .aa-missing-signal-note__glass {
  position: relative;
  padding: 20px 22px 22px;
  border-radius: 12px;
  border: 1px solid rgba(180, 210, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(180, 210, 255, 0.1) 0%, transparent 40%),
    rgba(14, 18, 36, 0.92);
  box-shadow: 0 20px 48px rgba(6, 10, 32, 0.5);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.aa-chrome-page .aa-missing-signal-note__title {
  margin: 0 0 12px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--aa-accent-hi);
}

.aa-chrome-page .aa-missing-signal-note p {
  margin: 0 0 12px;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--aa-muted);
}

.aa-chrome-page .aa-missing-signal-note p:last-child {
  margin-bottom: 0;
}

.aa-chrome-page .aa-missing-signal-note__close {
  position: absolute;
  top: 10px;
  right: 12px;
  border: none;
  background: transparent;
  color: rgba(220, 235, 255, 0.8);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

/* Approved survivorship SVG artifact — Stellar only, sits directly on the glass (no 2nd card) */
.aa-chrome-page .aa-missing-signal-note__svg {
  display: none;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  pointer-events: none;
}

html[data-theme="stellar"] .aa-chrome-page .aa-missing-signal-note__svg {
  display: block;
}

/* In Stellar the approved SVG carries the heading + copy + diagram; hide the legacy stack */
html[data-theme="stellar"] .aa-chrome-page .aa-missing-signal-note__legacy,
html[data-theme="stellar"] .aa-chrome-page .aa-missing-signal-note__title {
  display: none;
}

/* ============================================================
   Stellar artifact modals — HOMEPAGE ONLY. Shared visual language,
   independent proportions: Origin glass hugs the inscription; Missing Signal
   uses a taller/larger artifact scale for readable body copy + aircraft.
   ============================================================ */
html[data-theme="stellar"] body.aa-home-page .aa-stellar-artifact-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  width: fit-content;
  overflow: auto;
}

/* Origin — content-shaped glass, modest margin, no swimming in empty space */
html[data-theme="stellar"] body.aa-home-page .aa-stellar-artifact-modal--origin.aa-chrome-origin-panel {
  width: fit-content;
  max-width: min(92vw, 704px);
  max-height: min(88vh, 520px);
  padding: clamp(10px, 1.6vw, 16px) clamp(12px, 2vw, 20px);
}

html[data-theme="stellar"] body.aa-home-page .aa-stellar-artifact-modal--origin .aa-stellar-artifact-img {
  display: block;
  width: min(86vw, 660px);
  max-width: calc(100vw - 48px);
  height: auto;
  margin-inline: auto;
}

/* Missing Signal — taller/larger artifact scale; img drives glass width (not vice versa) */
html[data-theme="stellar"] body.aa-home-page .aa-missing-signal-note.aa-stellar-artifact-modal--missing {
  width: fit-content;
  max-width: min(94vw, 844px);
  max-height: min(92vh, 900px);
}

html[data-theme="stellar"] body.aa-home-page .aa-stellar-artifact-modal--missing .aa-missing-signal-note__glass {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding: clamp(12px, 2vw, 18px) clamp(14px, 2.2vw, 22px);
}

html[data-theme="stellar"] body.aa-home-page .aa-stellar-artifact-modal--missing .aa-stellar-artifact-img {
  display: block;
  width: min(92vw, 800px);
  max-width: calc(100vw - 48px);
  height: auto;
  margin-inline: auto;
}

/* ============================================================
   Stellar homepage logo — cool white / platinum + cyan-blue Stellar glow,
   with a restrained breathing pulse. Overrides canon's warm sepia/hue filter.
   Strictly scoped to html[data-theme="stellar"] + homepage chrome.
   Dark keeps its warm/copper treatment; Light keeps black; neither pulses.
   ============================================================ */
html[data-theme="stellar"] body.aa-home-page .aa-chrome-brand-lockup-img {
  filter:
    brightness(0) saturate(100%) invert(98%) sepia(3%) saturate(420%)
    hue-rotate(176deg) brightness(108%) contrast(99%)
    drop-shadow(0 0 6px rgba(124, 206, 255, 0.55))
    drop-shadow(0 0 14px rgba(96, 178, 255, 0.32));
  animation: aa-home-stellar-logo-pulse 5.2s ease-in-out infinite;
  will-change: filter, opacity;
}

@keyframes aa-home-stellar-logo-pulse {
  0%,
  100% {
    opacity: 0.95;
    filter:
      brightness(0) saturate(100%) invert(98%) sepia(3%) saturate(420%)
      hue-rotate(176deg) brightness(107%) contrast(99%)
      drop-shadow(0 0 5px rgba(124, 206, 255, 0.42))
      drop-shadow(0 0 12px rgba(96, 178, 255, 0.22));
  }
  50% {
    opacity: 1;
    filter:
      brightness(0) saturate(100%) invert(98%) sepia(3%) saturate(420%)
      hue-rotate(176deg) brightness(112%) contrast(99%)
      drop-shadow(0 0 9px rgba(150, 220, 255, 0.65))
      drop-shadow(0 0 20px rgba(110, 190, 255, 0.42));
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="stellar"] body.aa-home-page .aa-chrome-brand-lockup-img {
    animation: none;
  }
}

/* ============================================================
   Homepage chrome de-beige — Dark logo/mark must read cool platinum/silver,
   never the canonical warm champagne (sepia + hue-rotate(346deg)) treatment.
   Homepage-scoped only; Mission/portals keep canonical chrome.
   ============================================================ */
html[data-theme="dark"] body.aa-home-page .aa-chrome-brand-lockup-img,
html[data-theme="dark"] body.aa-home-page .aa-chrome-brand-mark {
  filter:
    brightness(0) saturate(100%) invert(96%) sepia(0%) saturate(0%)
    hue-rotate(190deg) brightness(101%) contrast(95%);
}

/* Cool, non-warm error tone for the homepage contact form (replaces copper). */
body.aa-home-page.aa-chrome-page {
  --aa-copper: #cf5f7e;
}

/* Homepage ends in the daylight zone — drop the rail's dark bottom padding */
.aa-chrome-page .aa-home-wrap {
  padding-bottom: 0;
}

/* ============================================================
   Homepage-only sky field — footer lives inside .aa-home-sky-field so the
   cloud/sky atmosphere continues seamlessly through contact and footer.
   No ledge, no slab, no border — only a local text scrim on footer inner.
   Scoped to body.aa-home-page; Mission/portals/login keep canonical footer.
   ============================================================ */
/* Bounded upward-bleed model retired: the atmosphere is now one continuous
   page-level field (see CONTINUOUS ATMOSPHERE block below). Rise neutralized. */
body.aa-home-page .aa-home-sky-field {
  --aa-home-sky-rise: 0px;
  overflow: visible;
  padding-bottom: 0;
  isolation: isolate;
}

/* Structural sky field — no gap strip; Connected intelligence lives inside */
body.aa-home-page .aa-home-sky-field.hope-horizon {
  margin-top: 0;
  padding-top: clamp(48px, 7vw, 96px);
}

body.aa-home-page .aa-home-sky-field .hope-horizon__inner > .aa-connected-intel {
  margin-top: 0;
}

/* ====================================================================
   CONTINUOUS ATMOSPHERE (homepage only) — ONE page-level background owner.
   The whole homepage shares a single top-to-bottom vertical ramp painted on
   the body: technical theme atmosphere at the top, dissolving through deep
   blue, into silver-blue daylight at the bottom. Because it is one element
   spanning the full document height there is NO internal horizontal edge.
   The bounded .hope-horizon__sky / ::before rectangles are retired below.
   ==================================================================== */

/* Light — cool silver -> pale blue -> blue-white daylight (no beige, no flat gray) */
html[data-theme="light"] body.aa-home-page.aa-chrome-page {
  /* Homepage-scoped cool chrome tokens (override canonical warm/flat grays) */
  --aa-chrome-light-bg: #e4ecf4;
  --aa-chrome-light-surface: rgba(224, 233, 245, 0.82);
  --aa-chrome-light-surface-strong: rgba(210, 223, 240, 0.88);
  --aa-chrome-light-glass-bg: linear-gradient(
    166deg,
    rgba(228, 236, 247, 0.93) 0%,
    rgba(214, 226, 243, 0.90) 52%,
    rgba(202, 217, 238, 0.93) 100%
  );
  background:
    radial-gradient(ellipse 120% 60% at 20% 2%, rgba(206, 222, 240, 0.45) 0%, transparent 58%),
    radial-gradient(ellipse 110% 70% at 88% 20%, rgba(192, 212, 236, 0.30) 0%, transparent 60%),
    radial-gradient(ellipse 90% 50% at 50% 82%, rgba(255, 255, 255, 0.55) 0%, transparent 66%),
    linear-gradient(
      180deg,
      #dde6f0 0%,
      #e3ebf5 24%,
      #e9f1f9 46%,
      #eef5fc 66%,
      #f3f9ff 84%,
      #f7fbff 100%
    );
  background-repeat: no-repeat;
  background-attachment: scroll;
}

/* Dark — technical near-black -> deep blue -> bright cool daylight at the foot */
html[data-theme="dark"] body.aa-home-page.aa-chrome-page {
  background:
    radial-gradient(ellipse 120% 56% at 50% 88%, rgba(150, 196, 236, 0.32) 0%, transparent 64%),
    linear-gradient(
      180deg,
      #161a20 0%,
      #151c28 16%,
      #16223c 34%,
      #1e3258 50%,
      #2c4d80 64%,
      #4f7cab 78%,
      #91b8da 90%,
      #cde1f1 100%
    );
  background-repeat: no-repeat;
  background-attachment: scroll;
}

/* Stellar — indigo technical -> blue -> bright cool daylight; grid handled by
   the canonical fixed page grid (masked to dissolve below). */
html[data-theme="stellar"] body.aa-home-page.aa-chrome-page {
  background:
    radial-gradient(ellipse 120% 56% at 50% 88%, rgba(150, 200, 246, 0.32) 0%, transparent 64%),
    linear-gradient(
      180deg,
      #111130 0%,
      #13183a 16%,
      #182a52 34%,
      #21437a 50%,
      #335f9f 64%,
      #5b8bc1 78%,
      #99c0e2 90%,
      #d2e6f5 100%
    );
  background-repeat: no-repeat;
  background-attachment: scroll;
}

/* Homepage Dark — soften the fixed page depth radial so it adds gentle
   atmosphere without a hard upper presence over the new ramp. */
html[data-theme="dark"] body.aa-home-page.aa-chrome-page::before {
  opacity: 0.5;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 42%, transparent 78%);
  mask-image: linear-gradient(180deg, #000 0%, #000 42%, transparent 78%);
}

/* Homepage Stellar — the canonical fixed page grid is the ONLY grid; mask it so
   it dissolves naturally into the daylight lower field (no bounded grid shelf). */
html.stellar-effects-ready[data-theme="stellar"] body.aa-home-page.aa-chrome-page::after {
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 30%, rgba(0, 0, 0, 0.5) 52%, transparent 74%);
  mask-image: linear-gradient(180deg, #000 0%, #000 30%, rgba(0, 0, 0, 0.5) 52%, transparent 74%);
}

/* Retire the bounded theme-tint overlay on the homepage — the dark/indigo ->
   sky transition now lives entirely in the continuous page ramp above, so this
   pseudo-element no longer paints a rectangle with a hard top edge. */
body.aa-home-page .aa-home-sky-field::before {
  display: none;
}

/* Homepage sky field contact — no warm gray slab on clouds */
body.aa-home-page .aa-home-sky-field .aa-contact {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(160, 188, 220, 0.28);
  box-shadow: none;
}

html[data-theme="light"] body.aa-home-page .aa-home-sky-field .aa-contact {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(170, 196, 224, 0.32);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

html[data-theme="dark"] body.aa-home-page .aa-home-sky-field .aa-contact,
html[data-theme="stellar"] body.aa-home-page .aa-home-sky-field .aa-contact {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(140, 170, 210, 0.22);
}

body.aa-home-page .aa-home-sky-field .hope-horizon__inner {
  padding-bottom: clamp(32px, 5vw, 56px);
}

/* Remove the bottom ledge/shelf on the homepage sky field */
body.aa-home-page .aa-home-sky-field::after {
  display: none;
}

body.aa-home-page .aa-home-sky-field .aa-chrome-footer-fixture {
  position: relative;
  z-index: 1;
  margin-top: 0;
  border-top: none;
  background: transparent;
}

/* Local readability capsule — not a full-width slab */
body.aa-home-page .aa-home-sky-field .aa-chrome-footer-fixture__inner {
  padding-top: clamp(28px, 4vw, 44px);
  padding-bottom: clamp(40px, 5vw, 56px);
}

html[data-theme="light"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-fixture__inner {
  text-shadow: 0 1px 12px rgba(255, 255, 255, 0.85);
}

html[data-theme="dark"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-fixture__inner,
html[data-theme="stellar"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-fixture__inner {
  text-shadow: 0 1px 10px rgba(8, 14, 28, 0.42);
  background: radial-gradient(ellipse 78% 110% at 50% 50%, rgba(255, 255, 255, 0.16) 0%, transparent 70%);
}

/* Footer sits on bright sky at page bottom in Dark/Stellar — use dark ink for legibility */
html[data-theme="dark"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-link:not([aria-current="page"]),
html[data-theme="stellar"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-link:not([aria-current="page"]) {
  color: rgba(24, 32, 44, 0.82);
}

html[data-theme="dark"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-link[aria-current="page"],
html[data-theme="stellar"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-link[aria-current="page"] {
  color: rgba(16, 22, 32, 0.94);
}

html[data-theme="dark"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-mission-clock__segment,
html[data-theme="stellar"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-mission-clock__segment {
  color: rgba(24, 32, 44, 0.78);
}

html[data-theme="dark"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-fixture__meta,
html[data-theme="stellar"] body.aa-home-page .aa-home-sky-field .aa-chrome-footer-fixture__meta {
  color: rgba(24, 32, 44, 0.72);
}

/* Hope horizon — full-bleed lower atmospheric field.
   Homepage override above lets the sky bleed upward before this section, so it
   reads as one continuous page environment instead of a rectangular drawer. */
.aa-chrome-page .hope-horizon {
  position: relative;
  margin-top: clamp(56px, 10vw, 120px);
  /* Full-bleed: escape the centered content rail and span the viewport */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: clamp(140px, 18vw, 260px) 0 clamp(72px, 9vw, 120px);
  overflow: hidden;
}

/* ====================================================================
   THEME OVERLAY (.hope-horizon::before) — sits ABOVE the shared cloud base
   (z-index 1) but below the centered content rail. This is the ONLY layer that
   changes per theme: a long, soft top-down gradient that fades fully to
   transparent before the bottom, so themes tint the top of the field without
   ever replacing the shared cloud/sky environment and without a hard band.
   Light: a faint cool brightening. Dark/Stellar: a deep technical top that
   dissolves into the same daylight cloud field below.
   ==================================================================== */
.aa-chrome-page .hope-horizon::before {
  content: "";
  position: absolute;
  top: calc(-1 * var(--aa-home-sky-rise, 0px));
  left: 0;
  right: 0;
  height: calc(var(--aa-home-sky-rise, 0px) + clamp(340px, 50vw, 780px));
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(236, 244, 252, 0.3) 0%,
    rgba(236, 244, 252, 0.12) 44%,
    rgba(236, 244, 252, 0) 100%
  );
}

/* Dark — deep technical night at the top, fading over a long distance into the
   shared bright cloud base. Many soft stops + transparent finish = no band. */
html[data-theme="dark"] .aa-chrome-page .hope-horizon::before {
  height: calc(var(--aa-home-sky-rise, 0px) + clamp(520px, 72vw, 1120px));
  background: linear-gradient(
    180deg,
    rgba(9, 14, 28, 0.93) 0%,
    rgba(11, 18, 34, 0.86) 10%,
    rgba(15, 25, 47, 0.74) 24%,
    rgba(21, 37, 67, 0.56) 40%,
    rgba(29, 51, 90, 0.38) 56%,
    rgba(39, 66, 112, 0.22) 72%,
    rgba(50, 80, 130, 0.09) 88%,
    rgba(60, 92, 144, 0) 100%
  );
}

/* Homepage Dark — softer overlay start now that Connected intel is inside the field */
html[data-theme="dark"] body.aa-home-page .hope-horizon::before {
  background: linear-gradient(
    180deg,
    rgba(9, 14, 28, 0.62) 0%,
    rgba(11, 18, 34, 0.52) 12%,
    rgba(15, 25, 47, 0.4) 26%,
    rgba(21, 37, 67, 0.28) 42%,
    rgba(29, 51, 90, 0.16) 58%,
    rgba(39, 66, 112, 0.07) 74%,
    rgba(50, 80, 130, 0.02) 88%,
    rgba(60, 92, 144, 0) 100%
  );
}

/* Stellar — dark-to-sky fade only on homepage (page grid handles technical field above) */
html[data-theme="stellar"] body.aa-home-page .hope-horizon::before {
  height: calc(var(--aa-home-sky-rise, 0px) + clamp(520px, 72vw, 1120px));
  background: linear-gradient(
    180deg,
    rgba(8, 12, 30, 0.72) 0%,
    rgba(12, 18, 40, 0.58) 12%,
    rgba(18, 28, 58, 0.44) 26%,
    rgba(26, 42, 82, 0.3) 42%,
    rgba(36, 58, 108, 0.18) 58%,
    rgba(48, 76, 134, 0.08) 74%,
    rgba(60, 92, 152, 0.02) 88%,
    rgba(70, 104, 164, 0) 100%
  );
  background-size: auto;
  opacity: 1;
}

/* Stellar — non-homepage pages keep subtle grid overlay on hope fade */
html[data-theme="stellar"] .aa-chrome-page:not(.aa-home-page) .hope-horizon::before {
  height: calc(var(--aa-home-sky-rise, 0px) + clamp(520px, 72vw, 1120px));
  background:
    linear-gradient(90deg, rgba(120, 168, 255, 0.12) 1px, transparent 1px),
    linear-gradient(180deg, rgba(120, 168, 255, 0.1) 1px, transparent 1px),
    linear-gradient(
    180deg,
    rgba(8, 12, 30, 0.93) 0%,
    rgba(12, 18, 40, 0.86) 10%,
    rgba(18, 28, 58, 0.74) 24%,
    rgba(26, 42, 82, 0.56) 40%,
    rgba(36, 58, 108, 0.38) 56%,
    rgba(48, 76, 134, 0.22) 72%,
    rgba(60, 92, 152, 0.09) 88%,
    rgba(70, 104, 164, 0) 100%
  );
  background-size: 96px 96px, 96px 96px, auto;
  background-position: center top;
  opacity: 0.96;
}

/* Light — keep the overlay a faint cool brightening (no warm cast). */
html[data-theme="light"] .aa-chrome-page .hope-horizon::before {
  height: calc(var(--aa-home-sky-rise, 0px) + clamp(340px, 50vw, 780px));
  background: linear-gradient(
    180deg,
    rgba(240, 247, 253, 0.26) 0%,
    rgba(238, 246, 253, 0.1) 52%,
    rgba(238, 246, 253, 0) 100%
  );
}

/* Bottom ledge — a soft gradient shelf that settles the daylight sky into the
   footer so the page bottom is an intentional ending, not a hard cut. */
.aa-chrome-page .hope-horizon::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(110px, 14vw, 200px);
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(214, 226, 240, 0) 38%,
    rgba(202, 216, 234, 0.48) 72%,
    rgba(188, 204, 226, 0.78) 100%
  );
}

/* Dark/Stellar: daylight settles gradually into a blended dusk-blue (not a
   black slab). The bottom tone matches the homepage footer so the footer reads
   as twilight sky continuing, with no hard ledge between them. */
html[data-theme="dark"] .aa-chrome-page .hope-horizon::after,
html[data-theme="stellar"] .aa-chrome-page .hope-horizon::after {
  background: linear-gradient(
    180deg,
    rgba(236, 245, 255, 0) 0%,
    rgba(28, 44, 78, 0) 30%,
    rgba(22, 35, 64, 0.42) 64%,
    rgba(17, 27, 50, 0.82) 100%
  );
}

/* Light: bright sky settles into a slightly cooler pale-blue daylight (no gray
   slab) that matches the homepage footer continuation. */
html[data-theme="light"] .aa-chrome-page .hope-horizon::after {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(236, 246, 255, 0) 32%,
    rgba(228, 242, 254, 0.5) 70%,
    rgba(224, 240, 254, 0.92) 100%
  );
}

/* ====================================================================
   SHARED cloud/sky base (.hope-horizon__sky) — ONE environment for all themes.
   Cool white cloud + pale blue sky + blue-white sunlight bloom. No warm cream,
   tan, beige, or green. Themes only tint the TOP via .hope-horizon::before; the
   cloud base itself is identical across Dark, Light, and Stellar so toggling at
   the bottom keeps the same recognizable cloud field.
   Layer order (bottom → top): cool blue-white sun bloom + pale blue depth +
   lower white sunlight, then the vertical daylight ramp; two blurred cloud
   banks live in ::before / ::after.
   ==================================================================== */
.aa-chrome-page .hope-horizon__sky {
  position: absolute;
  top: calc(-1 * var(--aa-home-sky-rise, 0px));
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 72% 26%, rgba(255, 255, 255, 0.94) 0%, rgba(224, 240, 255, 0.46) 15%, transparent 40%),
    radial-gradient(ellipse 128% 62% at 50% 23%, rgba(142, 192, 238, 0.44) 0%, transparent 66%),
    radial-gradient(ellipse 76% 40% at 18% 72%, rgba(255, 255, 255, 0.58) 0%, transparent 68%),
    radial-gradient(ellipse 112% 52% at 50% 100%, rgba(255, 255, 255, 0.76) 0%, transparent 66%),
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(214, 232, 250, 0) 8%,
      rgba(178, 214, 246, 0.28) 22%,
      rgba(190, 222, 248, 0.56) 42%,
      rgba(214, 235, 250, 0.76) 62%,
      rgba(236, 246, 254, 0.9) 82%,
      rgba(250, 253, 255, 0.97) 100%
    );
}

/* Homepage — the cloud/sky base is no longer a bounded rectangle with a hard
   top edge. It is anchored to the bottom of the page and its top is masked to
   full transparency, so clouds emerge gradually out of the continuous page
   ramp instead of starting at a visible line. */
body.aa-home-page .aa-home-sky-field .hope-horizon__sky {
  top: 0;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.4) 26%, #000 52%, #000 100%);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.4) 26%, #000 52%, #000 100%);
}

/* Cloud bank — upper/mid soft cumulus forms (blurred so they read as vapor) */
.aa-chrome-page .hope-horizon__sky::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.92;
  background:
    radial-gradient(ellipse 38% 26% at 22% 58%, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.48) 38%, transparent 70%),
    radial-gradient(ellipse 30% 19% at 31% 64%, rgba(255, 255, 255, 0.78) 0%, transparent 72%),
    radial-gradient(ellipse 46% 30% at 71% 70%, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.42) 40%, transparent 72%),
    radial-gradient(ellipse 33% 21% at 85% 62%, rgba(255, 255, 255, 0.76) 0%, transparent 72%);
  filter: blur(7px);
  animation: aa-hope-cloud-drift-a 64s ease-in-out infinite alternate;
}

/* Cloud bank — lower horizon clouds + atmospheric haze near contact/footer */
.aa-chrome-page .hope-horizon__sky::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.86;
  background:
    radial-gradient(ellipse 50% 30% at 48% 83%, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.4) 44%, transparent 74%),
    radial-gradient(ellipse 26% 16% at 12% 80%, rgba(255, 255, 255, 0.68) 0%, transparent 72%),
    radial-gradient(ellipse 30% 18% at 92% 85%, rgba(255, 255, 255, 0.7) 0%, transparent 72%),
    radial-gradient(ellipse 64% 22% at 50% 99%, rgba(255, 255, 255, 0.52) 0%, transparent 70%);
  filter: blur(9px);
  animation: aa-hope-cloud-drift-b 82s ease-in-out infinite alternate;
}

@keyframes aa-hope-cloud-drift-a {
  from {
    transform: translate3d(-1.5%, 0, 0);
  }
  to {
    transform: translate3d(1.5%, 0, 0);
  }
}

@keyframes aa-hope-cloud-drift-b {
  from {
    transform: translate3d(1.2%, 0, 0);
  }
  to {
    transform: translate3d(-1.2%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .aa-chrome-page .hope-horizon__sky::before,
  .aa-chrome-page .hope-horizon__sky::after {
    animation: none;
  }
}

/* NOTE: No per-theme .hope-horizon__sky background overrides exist by design.
   The cloud/sky base above is shared across Dark, Light, and Stellar; themes
   only tint the top through .hope-horizon::before (the soft fade-out overlay).
   This keeps the bottom cloud field continuous when toggling themes. */

/* Centered content rail sits on top of the full-bleed sky */
.aa-chrome-page .hope-horizon__inner {
  position: relative;
  z-index: 1;
  max-width: var(--aa-rail-max);
  margin: 0 auto;
  padding: 0 var(--aa-chrome-rail-pad);
}

.aa-chrome-page .hope-horizon__inner > .aa-section,
.aa-chrome-page .hope-horizon__inner > .aa-contact,
.aa-chrome-page .hope-horizon__copy {
  position: relative;
  z-index: 1;
}

/* Hope copy wrapper — layout only; readability comes from local section scrims */
.aa-chrome-page .aa-hope-panel {
  position: relative;
  padding: 0;
  margin-bottom: clamp(32px, 5vw, 56px);
  border: none;
  box-shadow: none;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.aa-chrome-page .aa-hope-panel > .aa-hope-copy:last-child {
  margin-bottom: 0;
}

/* Local text scrims — soft halos that fade at the edges, never a visible box */
.aa-chrome-page .aa-hope-copy {
  position: relative;
  padding: clamp(8px, 1.5vw, 16px) 0;
}

.aa-chrome-page .aa-hope-copy::before {
  content: "";
  position: absolute;
  inset: -6px -10px;
  z-index: -1;
  pointer-events: none;
  border-radius: 32px;
  background: radial-gradient(
    ellipse 105% 90% at 50% 48%,
    rgba(255, 255, 255, 0.22) 0%,
    rgba(255, 255, 255, 0.06) 48%,
    rgba(255, 255, 255, 0) 78%
  );
  -webkit-mask-image: radial-gradient(ellipse 105% 90% at 50% 48%, #000 36%, transparent 82%);
  mask-image: radial-gradient(ellipse 105% 90% at 50% 48%, #000 36%, transparent 82%);
}

html[data-theme="dark"] .aa-chrome-page .aa-hope-copy::before,
html[data-theme="stellar"] .aa-chrome-page .aa-hope-copy::before {
  background: radial-gradient(
    ellipse 105% 90% at 50% 48%,
    rgba(248, 252, 255, 0.38) 0%,
    rgba(244, 250, 255, 0.12) 48%,
    rgba(244, 250, 255, 0) 78%
  );
}

html[data-theme="light"] .aa-chrome-page .aa-hope-copy::before {
  background: radial-gradient(
    ellipse 105% 90% at 50% 48%,
    rgba(255, 255, 255, 0.2) 0%,
    rgba(255, 255, 255, 0.05) 48%,
    rgba(255, 255, 255, 0) 78%
  );
}

/* Hopeful principle — optimistic aphorism, emphasized but part of the same block.
   Margin matches the prose rhythm (only slightly larger than a normal paragraph gap)
   so the line never floats far above/below its neighbours. */
.aa-chrome-page .aa-home-hope__principle {
  margin: 1.5em 0 0;
  max-width: 54ch;
  padding: 0;
  border: none;
  background: none;
  font-size: clamp(1.18rem, 2.4vw, 1.5rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.46;
  letter-spacing: -0.018em;
  color: var(--aa-accent-hi);
  text-shadow: 0 0 24px rgba(111, 182, 230, 0.22);
  animation: aa-hope-principle-breathe 7s ease-in-out infinite;
}

/* Final paragraph after the principle keeps the same readable gap below it */
.aa-chrome-page .aa-prose > .aa-home-hope__principle + .aa-section-lede {
  margin-top: 1.5em;
}

html[data-theme="light"] .aa-chrome-page .aa-home-hope__principle {
  color: var(--aa-accent);
  text-shadow: 0 0 20px rgba(31, 95, 115, 0.12);
}

html[data-theme="dark"] .aa-chrome-page .hope-horizon .aa-home-hope__principle,
html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-home-hope__principle {
  color: rgba(22, 88, 118, 0.96);
  text-shadow: 0 0 28px rgba(120, 190, 230, 0.28);
}

@keyframes aa-hope-principle-breathe {
  0%,
  100% {
    opacity: 1;
    filter: brightness(1);
  }
  50% {
    opacity: 0.97;
    filter: brightness(1.04);
  }
}

@media (prefers-reduced-motion: reduce) {
  .aa-chrome-page .aa-home-hope__principle {
    animation: none;
  }
}

html[data-theme="dark"] .aa-chrome-page .hope-horizon .aa-section-title,
html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-section-title {
  color: rgba(18, 28, 42, 0.94);
}

html[data-theme="dark"] .aa-chrome-page .hope-horizon .aa-section-lede,
html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-section-lede,
html[data-theme="dark"] .aa-chrome-page .hope-horizon .aa-focus-note__body,
html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-focus-note__body {
  color: rgba(32, 42, 56, 0.82);
}

html[data-theme="dark"] .aa-chrome-page .hope-horizon .aa-focus-note__label,
html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-focus-note__label,
html[data-theme="dark"] .aa-chrome-page .hope-horizon .aa-section-label,
html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-section-label {
  color: rgba(28, 90, 120, 0.9);
}

/* Emergency readability fix: Connected intelligence is the TOPMOST section
   inside the homepage field, so dark/stellar place it over the deep indigo
   part of the continuous ramp. Use explicit light values here instead of theme
   tokens, and keep the lower bright-field hope/contact copy untouched. */
html[data-theme="dark"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy,
html[data-theme="stellar"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy {
  padding: clamp(14px, 2.4vw, 22px);
  border-radius: 22px;
  background:
    radial-gradient(ellipse 90% 72% at 18% 18%, rgba(2, 8, 22, 0.18), transparent 70%),
    linear-gradient(90deg, rgba(3, 10, 24, 0.16), rgba(3, 10, 24, 0.04) 72%, transparent 100%);
}

html[data-theme="dark"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy .aa-section-title,
html[data-theme="stellar"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy .aa-section-title {
  color: rgba(238, 247, 255, 0.98) !important;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy .aa-prose,
html[data-theme="stellar"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy .aa-prose,
html[data-theme="dark"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy .aa-section-lede,
html[data-theme="stellar"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy .aa-section-lede {
  color: rgba(226, 239, 250, 0.9) !important;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy :is(a, strong),
html[data-theme="stellar"] body.aa-home-page.aa-chrome-page .hope-horizon .aa-connected-intel .aa-connected-intel__copy :is(a, strong) {
  color: inherit !important;
}

/* Readability scrim — keep prose crisp over clouds in all themes */
.aa-chrome-page .hope-horizon .aa-hope-copy .aa-section-lede,
.aa-chrome-page .hope-horizon .aa-hope-copy .aa-focus-note__body {
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

/* Contact copy sits over the bright lower sky — keep it crisp without a panel */
.aa-chrome-page .hope-horizon .aa-contact .aa-section-lede {
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.45);
}

/* Stellar contact field opacity fix */
html[data-theme="stellar"] .aa-chrome-page .aa-field input,
html[data-theme="stellar"] .aa-chrome-page .aa-field textarea {
  background: rgba(16, 22, 40, 0.78);
  border-color: rgba(180, 210, 255, 0.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(236, 243, 255, 0.96);
}

html[data-theme="stellar"] .aa-chrome-page .aa-field input {
  border-bottom-color: rgba(180, 210, 255, 0.28);
}

html[data-theme="stellar"] .aa-chrome-page .aa-field label {
  color: rgba(200, 214, 236, 0.88);
}

html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-field input,
html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-field textarea {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(54, 84, 112, 0.32);
  color: rgba(16, 22, 30, 0.96);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-field input::placeholder,
html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-field textarea::placeholder {
  color: rgba(70, 84, 100, 0.7);
}

html[data-theme="stellar"] .aa-chrome-page .hope-horizon .aa-field label {
  color: rgba(34, 46, 62, 0.86);
}

@media (max-width: 860px) {
  .aa-chrome-page .aa-connected-intel__layout {
    grid-template-columns: 1fr;
  }

  .aa-chrome-page .aa-constellation-map {
    max-width: 100%;
  }

  .aa-chrome-page .aa-missing-signal-stellar {
    position: relative;
    width: 100%;
    margin-top: 20px;
    opacity: 0.7;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aa-chrome-page .aa-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .aa-chrome-page .aa-constellation-map__edge,
  .aa-chrome-page .aa-constellation-map__node {
    transition: none !important;
  }

  .aa-chrome-page .aa-constellation-map .aa-constellation-map__edge {
    stroke-opacity: 0.65;
  }
}

/* ---- Canonical footer (ported from canonical-chrome-v1.css via chrome-lab) ---- */

.aa-chrome-page .aa-chrome-footer-fixture {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  border-top: 1px solid rgba(127, 140, 155, 0.22);
}

.aa-chrome-page .aa-chrome-footer-fixture__inner {
  max-width: var(--aa-chrome-body-rail-max, var(--aa-rail-max));
  margin: 0 auto;
  padding: 36px var(--aa-chrome-rail-pad) 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow-x: clip;
}

.aa-chrome-page .aa-chrome-footer-fixture__nav-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
}

.aa-chrome-page .aa-chrome-footer-fixture__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.aa-chrome-page .aa-chrome-footer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
  transition: color 0.22s ease;
}

.aa-chrome-page .aa-chrome-footer-link:hover:not([aria-current="page"]) {
  opacity: 1;
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-footer-link:not([aria-current="page"]) {
  color: rgba(72, 74, 78, 0.58);
  text-shadow:
    0.5px 0.5px 0 rgba(255, 255, 255, 0.72),
    -0.5px -0.5px 0 rgba(0, 0, 0, 0.16);
}

html[data-theme="dark"] .aa-chrome-page .aa-chrome-footer-link:not([aria-current="page"]) {
  color: rgba(210, 216, 224, 0.46);
  text-shadow:
    0.5px 0.5px 0 rgba(255, 255, 255, 0.14),
    -0.5px -0.5px 0 rgba(0, 0, 0, 0.38);
}

html[data-theme="stellar"] .aa-chrome-page .aa-chrome-footer-link:not([aria-current="page"]) {
  color: rgba(185, 210, 240, 0.50);
  text-shadow:
    0.5px 0.5px 0 rgba(190, 230, 255, 0.22),
    -0.5px -0.5px 0 rgba(0, 0, 0, 0.34);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-footer-link:not([aria-current="page"]):hover {
  color: rgba(40, 42, 46, 0.82);
}

html[data-theme="dark"] .aa-chrome-page .aa-chrome-footer-link:not([aria-current="page"]):hover {
  color: rgba(228, 232, 238, 0.72);
}

html[data-theme="stellar"] .aa-chrome-page .aa-chrome-footer-link:not([aria-current="page"]):hover {
  color: rgba(210, 232, 255, 0.72);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-footer-link[aria-current="page"] {
  color: #1f2227;
  animation: aa-chrome-etch-light 3.5s ease-in-out infinite;
}

html[data-theme="dark"] .aa-chrome-page .aa-chrome-footer-link[aria-current="page"] {
  color: rgba(238, 232, 222, 0.96);
  animation: aa-chrome-etch-dark 3.5s ease-in-out infinite;
}

html[data-theme="stellar"] .aa-chrome-page .aa-chrome-footer-link[aria-current="page"] {
  color: rgba(210, 232, 255, 0.98);
  animation: aa-chrome-etch-stellar 3s ease-in-out infinite;
}

.aa-chrome-page .aa-chrome-footer-mission-clock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  max-width: 100%;
  margin: 0 0 14px;
  font-size: var(--aa-chrome-control-font-size);
  font-weight: var(--aa-chrome-control-font-weight);
  letter-spacing: var(--aa-chrome-control-letter-spacing);
  line-height: var(--aa-chrome-control-line-height);
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
}

.aa-chrome-page .aa-chrome-footer-mission-clock__segment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.5em;
  padding: 5px 9px;
  border-radius: 5px;
  border: 1px solid rgba(127, 140, 155, 0.28);
  background: rgba(127, 140, 155, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.aa-chrome-page .aa-chrome-footer-mission-clock__segment[data-part="time"] {
  min-width: 5.5em;
}

.aa-chrome-page .aa-chrome-footer-mission-clock__sep {
  opacity: 0.42;
  user-select: none;
}

.aa-chrome-page .aa-chrome-footer-mission-clock__zone {
  opacity: 0.52;
  font-size: calc(var(--aa-chrome-control-font-size) * 0.92);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-footer-mission-clock__segment {
  border-color: rgba(156, 158, 162, 0.40);
  background: rgba(255, 255, 255, 0.40);
  color: rgba(40, 42, 46, 0.82);
  text-shadow:
    0.5px 0.5px 0 rgba(255, 255, 255, 0.72),
    -0.5px -0.5px 0 rgba(0, 0, 0, 0.12);
}

html[data-theme="dark"] .aa-chrome-page .aa-chrome-footer-mission-clock__segment {
  border-color: rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(228, 232, 238, 0.84);
  text-shadow:
    0.5px 0.5px 0 rgba(255, 255, 255, 0.12),
    -0.5px -0.5px 0 rgba(0, 0, 0, 0.34);
}

html[data-theme="stellar"] .aa-chrome-page .aa-chrome-footer-mission-clock__segment {
  border-color: rgba(120, 168, 255, 0.18);
  background: rgba(22, 27, 52, 0.34);
  color: rgba(210, 232, 255, 0.88);
  text-shadow:
    0.5px 0.5px 0 rgba(190, 230, 255, 0.18),
    -0.5px -0.5px 0 rgba(0, 0, 0, 0.32);
}

.aa-chrome-page .aa-chrome-footer-fixture__meta {
  margin: 0 0 10px;
  max-width: 36em;
  opacity: 0.72;
}

.aa-chrome-page .aa-chrome-footer-fixture__company,
.aa-chrome-page .aa-chrome-footer-fixture__loc {
  display: block;
}

.aa-chrome-page .aa-chrome-footer-fixture__loc {
  margin-top: 4px;
  opacity: 0.82;
}

html[data-theme="stellar"] .aa-chrome-page .aa-chrome-footer-fixture {
  border-top-color: rgba(120, 168, 255, 0.20);
}

html[data-theme="light"] .aa-chrome-page .aa-chrome-footer-fixture {
  border-top-color: rgba(172, 174, 178, 0.42);
}

@media (prefers-reduced-motion: reduce) {
  .aa-chrome-page .aa-chrome-footer-link[aria-current="page"] {
    animation: none;
  }
}

/* ---- Homepage hamburger removed (no Mission yet) — scoped to homepage only ---- */
/* Client Login remains available via the canonical footer treatment. */
body.aa-home-no-hamburger .aa-chrome-nav-toggle,
body.aa-home-no-hamburger .aa-chrome-drawer {
  display: none !important;
}
