/* Source companion: maker photography, a reusable parts list, two firmware homes. */
body[data-page="scout-companion"] { background:#fafaf7; }
.scout-companion { --scout-ink:#20271f; --scout-muted:#60685d; --scout-line:#dce0d5; --scout-lime:#d5f582; color:var(--scout-ink); padding-bottom:52px; }
.scout-companion :where(h1,h2,h3,p,figure,dl,dd) { margin:0; }
.scout-companion :where(a,button,summary) { -webkit-tap-highlight-color:transparent; }
.scout-companion a { color:inherit; }
.scout-companion a:focus-visible { outline:3px solid #557a18; outline-offset:4px; border-radius:4px; }
.scout-companion svg { width:20px; height:20px; flex:none; }
.scout-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-height:64px; color:var(--scout-muted); font-size:var(--text-13); }
.scout-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.scout-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:clamp(32px,6vw,88px); align-items:center; padding-bottom:48px; }
.scout-hero-photo { min-width:0; background:#fff; border-radius:12px; overflow:hidden; }
.scout-hero-photo > img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.scout-hero-photo figcaption { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; column-gap:12px; padding:0 16px 6px; color:var(--scout-muted); font-size:var(--text-12); }
.scout-hero-photo figcaption > span { padding-block:8px; }
.scout-intro { min-width:0; padding-block:20px; }
.scout-eyebrow { font-size:var(--text-13); color:var(--scout-muted); margin-bottom:20px!important; }
.scout-intro h1 { font-family:'News Cycle',var(--font); font-size:clamp(38px,4.6vw,66px); font-weight:600; line-height:1.04; letter-spacing:-.045em; overflow-wrap:normal; }
.scout-lede { max-width:34ch; margin-top:24px!important; font-size:var(--text-18); line-height:1.55; }
.scout-maker-line { margin-top:20px!important; color:var(--scout-muted); font-size:var(--text-13); }
.scout-maker-line strong { color:var(--scout-ink); font-weight:600; }
.scout-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:52px; max-width:100%; margin-top:30px; padding:12px 20px; border:1px solid transparent; border-radius:7px; background:var(--scout-lime); text-decoration:none; font-size:var(--text-16); font-weight:600; }
.scout-primary:hover { background:#c9eb73; }
.scout-action-note { margin-top:12px!important; max-width:33ch; color:var(--scout-muted); font-size:var(--text-13); line-height:1.5; }
.scout-source-link,.scout-store-link,.scout-download { display:inline-flex; align-items:center; gap:5px; min-height:44px; max-width:100%; text-decoration:none; font-size:var(--text-13); line-height:1.4; overflow-wrap:anywhere; }
.scout-source-link:hover,.scout-store-link:hover { text-decoration:underline; text-underline-offset:4px; }
.scout-intro > .scout-source-link { margin-top:6px; }
.scout-guide-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(32px,6vw,88px); padding-block:36px 48px; border-top:1px solid var(--scout-line); }
.scout-guide-grid > * { min-width:0; }
.scout-section-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:24px; }
.scout-section-heading h2,.scout-limits h2 { font-family:'News Cycle',var(--font); font-size:var(--text-26); font-weight:600; line-height:1.2; letter-spacing:-.025em; }
.scout-section-heading > span { color:var(--scout-muted); font-size:var(--text-13); }
.scout-parts { list-style:none; padding:0; margin:0; }
.scout-part { padding-bottom:16px; margin-bottom:20px; border-bottom:1px solid var(--scout-line); }
.scout-part-device { display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:16px; align-items:center; min-height:88px; text-decoration:none; }
.scout-part-photo { display:block; height:88px; background:#fff; border-radius:7px; overflow:hidden; }
.scout-part-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.scout-part-copy { min-width:0; }
.scout-part-copy strong { display:block; font-size:var(--text-16); font-weight:600; line-height:1.3; }
.scout-part-copy > span { display:block; margin-top:5px; color:var(--scout-muted); font-size:var(--text-13); line-height:1.4; }
.scout-part-device:hover strong { text-decoration:underline; text-underline-offset:4px; }
.scout-quantity { align-self:start; padding-top:3px; font-size:var(--text-13); font-variant-numeric:tabular-nums; }
.scout-part-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px; margin-top:8px; }
.scout-part-footer > span { color:var(--scout-muted); font-size:var(--text-12); }
.scout-accessories { padding-top:4px; }
.scout-companion :where(.scout-accessories,.scout-start) > h3 { font-size:var(--text-16); font-weight:600; line-height:1.35; }
.scout-accessories dl { margin-top:14px; }
.scout-accessories dl > div { padding-block:9px; }
.scout-accessories dt { font-size:var(--text-14); font-weight:600; }
.scout-accessories dd { margin-top:3px; color:var(--scout-muted); font-size:var(--text-13); line-height:1.5; }
.scout-link-row { display:flex; flex-wrap:wrap; gap:0 16px; margin-top:4px; }
.scout-firmware-map { border:1px solid var(--scout-line); border-radius:9px; background:#fff; overflow:hidden; }
.scout-firmware-target { padding:20px 24px 14px; }
.scout-firmware-target + .scout-firmware-target { border-top:1px solid var(--scout-line); }
.scout-target-label { color:var(--scout-muted); font-size:var(--text-12); }
.scout-firmware-target h3 { margin-top:5px; font-size:var(--text-20); font-weight:600; line-height:1.3; letter-spacing:-.015em; }
.scout-firmware-target h3 span { color:var(--scout-muted); font-weight:400; }
.scout-firmware-target p { margin-top:10px; max-width:50ch; font-size:var(--text-14); line-height:1.55; color:var(--scout-muted); }
.scout-companion code { padding:1px 3px; background:#eff2e9; border-radius:3px; color:var(--scout-ink); font-size:.9em; overflow-wrap:anywhere; white-space:normal; }
.scout-download { margin-top:14px; padding:8px 12px; border:1px solid var(--scout-line); border-radius:5px; font-weight:600; }
.scout-download:hover { background:#f4f6f0; }
.scout-start { padding-top:26px; }
.scout-start ol { list-style:none; padding:0; margin:18px 0 0; }
.scout-start li { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:baseline; gap:12px; margin-top:14px; }
.scout-start li > span { display:inline-flex; width:24px; height:24px; align-items:center; justify-content:center; border-radius:50%; background:#eef1e8; color:var(--scout-muted); font-size:var(--text-12); font-variant-numeric:tabular-nums; }
.scout-start li p { font-size:var(--text-14); line-height:1.65; }
.scout-start strong { font-weight:600; }
.scout-start > .scout-source-link { margin-top:8px; }
.scout-limits { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:start; gap:clamp(24px,6vw,88px); padding:28px 0; border-top:1px solid var(--scout-line); border-bottom:1px solid var(--scout-line); }
.scout-limits > div { min-width:0; }
.scout-limits p { max-width:58ch; font-size:var(--text-14); line-height:1.65; color:var(--scout-muted); }
.scout-provenance { padding-top:24px; color:var(--scout-muted); font-size:var(--text-12); line-height:1.6; }
.scout-provenance > p { max-width:72ch; }
.scout-provenance > div { display:flex; flex-wrap:wrap; align-items:center; gap:0 20px; margin-top:8px; }
.scout-provenance > div > span { padding-block:8px; }
@media (max-width:760px) {
  .scout-breadcrumb { min-height:56px; font-size:var(--text-12); gap:9px; }
  .scout-hero { grid-template-columns:minmax(0,1fr); gap:8px; padding-bottom:32px; }
  .scout-hero-photo { max-width:520px; width:100%; margin-inline:auto; }
  .scout-hero-photo > img { max-height:420px; }
  .scout-hero-photo figcaption { padding-inline:12px; column-gap:8px; font-size:var(--text-11); }
  .scout-hero-photo .scout-source-link { font-size:var(--text-11); }
  .scout-intro { padding-block:16px 0; }
  .scout-eyebrow { margin-bottom:12px!important; }
  .scout-intro h1 { font-size:clamp(38px,8vw,52px); }
  .scout-lede { margin-top:16px!important; font-size:var(--text-16); max-width:40ch; }
  .scout-maker-line { margin-top:14px!important; }
  .scout-primary { margin-top:22px; width:100%; }
  .scout-action-note { max-width:none; }
  .scout-guide-grid { grid-template-columns:minmax(0,1fr); gap:32px; padding-block:28px 32px; }
  .scout-section-heading { margin-bottom:20px; }
  .scout-part { margin-bottom:16px; }
  .scout-firmware-target { padding-inline:20px; }
  .scout-limits { grid-template-columns:minmax(0,1fr); gap:16px; padding-block:24px; }
}
@media (max-width:360px) {
  .scout-part-device { grid-template-columns:68px minmax(0,1fr) auto; gap:12px; min-height:72px; }
  .scout-part-photo { height:72px; }
  .scout-part-copy strong { font-size:var(--text-16); }
  .scout-firmware-target { padding-inline:16px; }
  .scout-section-heading h2,.scout-limits h2 { font-size:var(--text-24); }
}
