/* ============================================================
   The Space Observer — Issue 001 scoped overrides
   Loaded AFTER styles.css, by Issue 001 only.
   Other issues are not affected by this file.

   Extracted verbatim from the inline <style> block that used to
   sit after observer-house.css in index.html, so that Issue 001
   loads the same four-file cascade as Issues 002-007:
   styles.css → issue-001.css → observer-house.css.
   ============================================================ */
/* Member Mission Profile — portrait sized to the photograph */
.memberfile__portrait{margin:0;overflow:hidden;border:1px solid var(--border,#d8d4cc);background:var(--paper-3,#f4f2ed);width:100%;max-width:300px}
.memberfile__portrait img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;object-position:50% 16%}
.memberfile__portrait figcaption{font-family:var(--font-mono,ui-monospace,Menlo,monospace);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--steel-2,#6b6660);line-height:1.5;padding:7px 9px;border-top:1px solid var(--border,#d8d4cc)}
.memberfile__portrait figcaption strong{display:block;font-weight:600;letter-spacing:.08em}
.memberfile__portrait figcaption span{display:block;margin-top:3px;opacity:.85}
.memberfile__hero{grid-template-columns:clamp(104px,34%,300px) minmax(0,1fr);gap:clamp(12px,1.4vw,20px);align-items:start}
.memberfile__portrait{max-width:100%}
@media (max-width:560px){.memberfile__hero{grid-template-columns:1fr}.memberfile__portrait{max-width:260px}}

/* ---- modules brought to parity with Issues 002-007, 4 August 2026 ---- */
/* ============================================================
   Issue navigation + colophon column
   Added per instruction: every issue must return to the landing
   page and reach the previous / next issue. The colophon fills
   the previously empty second column of .source-grid.
   ============================================================ */
.spread__issuenav {
  grid-column: span 12;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px; background: var(--border);
}
.issuenav__cell {
  display: flex; flex-direction: column; gap: 7px;
  padding: 22px clamp(18px, 2vw, 26px);
  background: var(--paper-2); text-decoration: none; min-width: 0;
}
a.issuenav__cell:hover { background: var(--paper-3); }
.issuenav__cell b {
  font-family: var(--font-display); font-weight: 500; font-size: 18px;
  letter-spacing: -.01em; color: var(--ink); line-height: 1.2;
}
.issuenav__cell em {
  font-style: normal; font-family: var(--font-mono); font-size: 10px;
  letter-spacing: .1em; text-transform: uppercase; color: var(--steel-2);
}
.issuenav__cell--next { text-align: right; align-items: flex-end; }
.issuenav__cell--dim { opacity: .5; }
@media (max-width: 900px){.spread__issuenav { grid-template-columns: minmax(0, 1fr); }.issuenav__cell--next { text-align: left; align-items: flex-start; }}
/* ============================================================
   Notes from the co-founders — standing module, every issue.
   ============================================================ */
.spread__cofound { grid-column: span 12; background: var(--paper-2); }
.cofound__grid {
  display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 34px); align-items: start;
}
.cofound__photo {
  margin: 0; overflow: hidden; border: 1px solid var(--border);
  background: var(--paper-3);
}
.cofound__photo img {
  width: 100%; display: block; aspect-ratio: 4 / 3; object-fit: cover;
  filter: grayscale(1) contrast(1.08);
}
.cofound__photo figcaption {
  font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--steel-2);
  padding: 8px 10px; border-top: 1px solid var(--border);
}
.cofound__body p {
  font-size: 15px; line-height: 1.62; color: var(--ink-2);
  margin: 0 0 12px 0; max-width: 64ch;
}
.cofound__sign {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px; margin-top: 18px; padding-top: 14px;
  border-top: 1px solid var(--border);
}
.cofound__sign b {
  display: block; font-family: var(--font-display); font-weight: 500;
  font-size: 15px; letter-spacing: -.01em; color: var(--ink);
}
.cofound__sign em {
  font-style: normal; display: block; font-family: var(--font-mono);
  font-size: 9.5px; letter-spacing: .09em; text-transform: uppercase;
  color: var(--steel-2); line-height: 1.55; margin-top: 5px;
}
@media (max-width: 900px){.cofound__grid { grid-template-columns: minmax(0, 1fr); }.cofound__sign { grid-template-columns: minmax(0, 1fr); }}
/* ============================================================
   The one ask — folded into the co-founders note.
   ============================================================ */
.cofound__ask {
  margin-top: 18px; padding-top: 14px;
  border-top: 1px solid var(--border);
}
.cofound__ask .cofound__ask-head {
  display: block; font-family: var(--font-mono); font-size: 9.5px;
  letter-spacing: .11em; text-transform: uppercase; color: var(--signal);
  margin: 0 0 8px 0;
}
.cofound__ask p { margin: 0 0 10px 0; }
.cofound__ask p:last-child { margin-bottom: 0; }
.cofound__ask .cofound__ask-mech {
  font-size: 13.5px; line-height: 1.6; color: var(--steel-2);
}
/* ---- to-scale bar figure ---- */
.obsfig{margin:2.2rem 0;padding:1.2rem 0 1rem;border-top:1.5px solid var(--rule,#111);border-bottom:1px solid var(--rule,#111)}
.obsfig__cap{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;opacity:.75}
.obsbar{width:100%;height:auto;display:block}
.obsbar__lbl{font:400 12.5px/1.2 var(--serif,Georgia,serif);fill:#111}
.obsbar__val{font:600 12.5px/1.2 var(--mono,ui-monospace,Menlo,monospace);fill:#111}
.obsbar__bar{fill:#111}
.obsbar__bar:nth-of-type(n){fill:#1a1a1a}
.obsfig__note{margin:.9rem 0 0;font-size:.72rem;line-height:1.5;opacity:.7;max-width:64ch}
@media(max-width:640px){.obsbar__lbl{font-size:17px}.obsbar__val{font-size:17px}}

/* ============================================================
   Parity block appended 6 August 2026 (conversion map step 9).
   Copied from issue-006/issue-006.css. Every rule here is inert
   or benign against Issue 001's markup as it stands.
   ============================================================ */

/* Standing Watch grid re-based on 6 columns, as Issues 002-007.
   Issue 001 carries 3 watch-cards, so 3 x span 2 fills one row
   exactly and nothing moves. The nth-child(4)/(5) rules are
   inert here: there is no fourth or fifth card. */
.spread__essca .watch-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.spread__essca .watch-grid > .watch-card {
  grid-column: span 2;
}
.spread__essca .watch-grid > .watch-card:nth-child(4),
.spread__essca .watch-grid > .watch-card:nth-child(5) {
  grid-column: span 3;
}
@media (max-width: 1080px) {
  .spread__essca .watch-grid { grid-template-columns: minmax(0, 1fr); }
  .spread__essca .watch-grid > .watch-card,
  .spread__essca .watch-grid > .watch-card:nth-child(4),
  .spread__essca .watch-grid > .watch-card:nth-child(5) {
    grid-column: auto;
  }
}

/* Inert in Issue 001: its quote-portrait is populated (Peter Beck,
   Rocket Lab). Carried for parity with 002-007. */
.spread__quote > .quote-portrait:empty { display: none; }

/* Dead code in every issue, including 006: observer-house.css
   sets .spread__quote .pullquote{max-width:30ch} at the same
   specificity and later in the cascade, so 30ch always wins.
   Carried so that issue-001.css and issue-006.css diff clean. */
.spread__quote .pullquote { max-width: 22ch; }

/* Also dead code in every issue: observer-house.css sets
   .spread__memo .memo-scientist{grid-template-columns:minmax(0,1fr)}
   at specificity (0,2,0), which wins regardless of order. */
.memo-scientist{grid-template-columns:210px 1fr;gap:20px}
@media(max-width:640px){.memo-scientist{grid-template-columns:1fr}}

/* Conversion map step 10 — field-signal row collapsed to one
   column, as Issues 002-007. Visible: the Peter Beck portrait
   moves from a narrow left column to a full-band figure stacked
   above the pull quote, which is how Issue 002 renders. No copy
   is touched; this is a one-line revert. */
.spread__quote { grid-template-columns: minmax(0, 1fr); }
