/* Stratomission Phase 38: public Earth observation credibility layer and HumanTwin Bio alignment. */
.eo-credibility {
  position: relative;
  overflow: hidden;
  border-block: 1px solid var(--line);
  background:
    radial-gradient(circle at 80% 18%, rgba(85, 238, 226, .11), transparent 32%),
    radial-gradient(circle at 8% 78%, rgba(95, 116, 255, .08), transparent 35%),
    #050909;
}
.eo-credibility::before,
.eo-public-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(148, 255, 241, .09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 255, 241, .09) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 85%);
}
.eo-credibility-grid,
.eo-public-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: center;
}
.eo-credibility-copy h2,
.eo-public-copy h1 {
  max-width: 780px;
  margin: 18px 0;
  letter-spacing: -.045em;
}
.eo-credibility-copy p,
.eo-public-copy > p {
  max-width: 720px;
  color: var(--muted);
  font-size: 1.03rem;
  line-height: 1.75;
}
.eo-source-stack { display: grid; gap: 14px; }
.eo-source-card {
  display: grid;
  grid-template-columns: minmax(190px, 42%) 1fr;
  min-height: 154px;
  overflow: hidden;
  border: 1px solid rgba(167, 255, 244, .18);
  border-radius: 18px;
  background: rgba(7, 14, 15, .86);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .28);
}
.eo-source-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 154px;
  padding: 24px;
  background: #fff;
}
.eo-source-logo--nasa { background: #020202; }
.eo-source-logo img { display: block; width: 100%; height: auto; max-height: 82px; object-fit: contain; }
.eo-source-logo--nasa img { max-height: 68px; }
.eo-source-fallback {
  font-family: var(--mono, monospace);
  font-weight: 800;
  letter-spacing: .08em;
  color: #061010;
}
.eo-source-logo--nasa .eo-source-fallback { color: #fff; }
.eo-source-body { padding: 24px 26px; }
.eo-source-body small {
  display: inline-flex;
  margin-bottom: 12px;
  color: #8df9ec;
  font-family: var(--mono, monospace);
  font-size: .68rem;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.eo-source-body h3 { margin: 0 0 8px; font-size: 1.08rem; }
.eo-source-body p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.6; }
.eo-metrics {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 42px;
  overflow: hidden;
  border: 1px solid rgba(167, 255, 244, .14);
  border-radius: 16px;
  background: rgba(167, 255, 244, .14);
}
.eo-metric { padding: 22px; background: rgba(5, 10, 11, .97); }
.eo-metric strong { display: block; margin-bottom: 7px; color: #a7fff4; font-size: clamp(1.5rem, 3vw, 2.4rem); line-height: 1; }
.eo-metric span { color: var(--muted); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.eo-disclaimer {
  position: relative;
  z-index: 1;
  margin-top: 20px;
  color: rgba(222, 235, 232, .58);
  font-size: .72rem;
  line-height: 1.65;
}
.eo-public-hero {
  position: relative;
  overflow: hidden;
  min-height: 620px;
  padding: clamp(120px, 15vw, 188px) 0 clamp(74px, 10vw, 126px);
  background:
    radial-gradient(circle at 68% 36%, rgba(62, 226, 211, .14), transparent 27%),
    linear-gradient(135deg, #020505 0%, #071010 55%, #020404 100%);
  border-bottom: 1px solid var(--line);
}
.eo-public-orbit {
  position: relative;
  min-height: 420px;
  display: grid;
  place-items: center;
}
.eo-public-orbit::before,
.eo-public-orbit::after {
  content: "";
  position: absolute;
  border: 1px dashed rgba(142, 250, 238, .28);
  border-radius: 50%;
  transform: rotate(-14deg);
}
.eo-public-orbit::before { width: 92%; aspect-ratio: 1.65; }
.eo-public-orbit::after { width: 68%; aspect-ratio: 1.3; border-style: solid; opacity: .55; }
.eo-public-source-lockup { position: relative; z-index: 2; width: min(100%, 540px); display: grid; gap: 14px; }
.eo-public-source-lockup .eo-source-card { grid-template-columns: 1fr; min-height: 0; }
.eo-public-source-lockup .eo-source-logo { min-height: 130px; }
.eo-public-source-lockup .eo-source-body { padding: 18px 22px 22px; }
.eo-capability-grid,
.eo-application-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.eo-capability-card,
.eo-application-card {
  min-height: 230px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}
.eo-capability-card span,
.eo-application-card span {
  display: block;
  margin-bottom: 22px;
  color: #86f8eb;
  font-family: var(--mono, monospace);
  font-size: .72rem;
  letter-spacing: .1em;
}
.eo-capability-card h3,
.eo-application-card h3 { margin: 0 0 12px; font-size: 1.12rem; }
.eo-capability-card p,
.eo-application-card p { margin: 0; color: var(--muted); line-height: 1.65; }
.eo-provenance-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  counter-reset: provenance;
}
.eo-provenance-step {
  position: relative;
  min-height: 190px;
  padding: 25px;
  border: 1px solid rgba(145, 252, 239, .16);
  border-radius: 14px;
  background: #071010;
}
.eo-provenance-step::before {
  counter-increment: provenance;
  content: "0" counter(provenance);
  display: block;
  margin-bottom: 34px;
  color: #8df9ec;
  font-family: var(--mono, monospace);
  font-size: .75rem;
}
.eo-provenance-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -13px;
  z-index: 2;
  width: 13px;
  border-top: 1px solid rgba(145, 252, 239, .35);
}
.eo-provenance-step strong { display: block; margin-bottom: 8px; }
.eo-provenance-step p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.6; }
.humantwin-bridge {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
  gap: 32px;
  align-items: stretch;
  margin-top: 34px;
}
.humantwin-bridge-card {
  position: relative;
  overflow: hidden;
  padding: 30px;
  border: 1px solid rgba(125, 255, 243, .22);
  border-radius: 18px;
  background: radial-gradient(circle at 88% 18%, rgba(68, 224, 211, .17), transparent 34%), #06100f;
}
.humantwin-bridge-card::after {
  content: "HT";
  position: absolute;
  right: -16px;
  bottom: -45px;
  color: rgba(137, 255, 243, .055);
  font-size: 12rem;
  font-weight: 900;
  line-height: 1;
}
.humantwin-bridge-card > * { position: relative; z-index: 1; }
.humantwin-bridge-card small { color: #8df9ec; font-family: var(--mono, monospace); text-transform: uppercase; letter-spacing: .1em; }
.humantwin-bridge-card h3 { max-width: 650px; margin: 16px 0; font-size: clamp(1.6rem, 3vw, 2.5rem); letter-spacing: -.035em; }
.humantwin-bridge-card p { max-width: 680px; color: var(--muted); line-height: 1.7; }
.humantwin-focus-list { display: grid; gap: 10px; }
.humantwin-focus-item { padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.018); }
.humantwin-focus-item strong { display: block; margin-bottom: 5px; }
.humantwin-focus-item span { color: var(--muted); font-size: .84rem; }
@media (max-width: 1080px) {
  .eo-credibility-grid, .eo-public-hero-grid { grid-template-columns: 1fr; }
  .eo-source-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eo-source-card { grid-template-columns: 1fr; }
  .eo-public-orbit { min-height: auto; }
  .eo-capability-grid, .eo-application-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eo-provenance-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eo-provenance-step::after { display: none; }
}
@media (max-width: 720px) {
  .eo-source-stack, .eo-capability-grid, .eo-application-grid, .eo-provenance-flow, .humantwin-bridge { grid-template-columns: 1fr; }
  .eo-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eo-source-logo { min-height: 120px; }
  .eo-public-hero { min-height: 0; }
}
@media (max-width: 460px) {
  .eo-metrics { grid-template-columns: 1fr; }
  .eo-source-body, .eo-capability-card, .eo-application-card, .humantwin-bridge-card { padding: 22px; }
}
