/* =====================================================================
   ShadowGraph Intelligence — standardized report chrome
   Masthead · sticky nav · footer · closing callout + CTA.
   All classes are sgi-* namespaced so this drops into any self-contained
   report without clashing with that report's body CSS.
   Visual values mirror the canonical build (reports/un-child-targeting).
   ===================================================================== */
:root{
  --sgi-maxw:1120px; --sgi-measure:680px; --sgi-gutter:clamp(16px,4vw,40px);
  --sgi-amber:#b6913f; --sgi-amber-bright:#d2ae5b; --sgi-amber-deep:#8a6b2c; --sgi-amber-wash:#f3ecda;
  --sgi-ink:#141e2d; --sgi-ink-soft:#33404f; --sgi-ink-faint:#65727f;
  --sgi-rule:#dde2e8; --sgi-card:#ffffff; --sgi-bg:#f4f6f8;
  --sgi-dark:#0a0a0c; --sgi-dark-rule:#2a2b31;
  --sgi-on-dark:#ffffff; --sgi-on-dark-soft:#c8cacf; --sgi-on-dark-faint:#a3a6ad;
  --sgi-serif:'Space Grotesk','Segoe UI',Arial,sans-serif;
  --sgi-sans:'IBM Plex Sans',-apple-system,'Segoe UI',Roboto,system-ui,sans-serif;
  --sgi-mono:'IBM Plex Mono',ui-monospace,monospace;
}
.sgi-wrap{max-width:var(--sgi-maxw);margin:0 auto;padding:0 var(--sgi-gutter)}
.sgi-measure{max-width:var(--sgi-measure)}

/* ---------- sticky nav ---------- */
.sgi-tocbar{position:sticky;top:0;z-index:60;background:rgba(10,10,12,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--sgi-dark-rule)}
.sgi-tocbar .sgi-wrap{display:flex;align-items:center;gap:14px;height:48px}
.sgi-tocbar a{text-decoration:none}
.sgi-bar-brand{display:flex;align-items:center;gap:8px;font-family:var(--sgi-serif);font-weight:700;font-size:.82rem;letter-spacing:.01em;color:var(--sgi-on-dark);padding-right:14px;border-right:1px solid var(--sgi-dark-rule)}
.sgi-bar-brand img{height:22px;width:auto;display:block}
.sgi-bar-back{color:var(--sgi-amber-bright);font-family:var(--sgi-mono);font-size:.72rem;font-weight:600;letter-spacing:.03em}
.sgi-bar-back:hover{color:var(--sgi-amber)}
.sgi-toc{position:relative;margin-left:auto}
.sgi-toc-toggle{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);color:#e6e7ea;border:1px solid #33353c;border-radius:6px;font-family:var(--sgi-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:6px 12px;cursor:pointer}
.sgi-toc-toggle:hover{border-color:var(--sgi-amber);color:#fff}
.sgi-toc-toggle .caret{color:var(--sgi-amber)}
.sgi-toc-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:230px;max-height:70vh;overflow:auto;background:#121215;border:1px solid #33353c;border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.5);padding:6px;z-index:90;display:grid;gap:1px}
.sgi-toc-menu[hidden]{display:none}
.sgi-toc-menu a{display:block;color:#c8cacf;font-family:var(--sgi-sans);font-size:.82rem;padding:8px 12px;border-radius:5px}
.sgi-toc-menu a:hover{background:rgba(182,145,63,.16);color:#fff}

/* ---------- masthead (dark hero) ---------- */
.sgi-mast{background:radial-gradient(1100px 460px at 80% -12%, rgba(182,145,63,.16), transparent 60%),linear-gradient(180deg,#0d0d11,var(--sgi-dark));border-bottom:1px solid var(--sgi-dark-rule);color:var(--sgi-on-dark)}
.sgi-mast .sgi-wrap{padding-top:clamp(20px,4vw,30px);padding-bottom:clamp(34px,6vw,64px)}
.sgi-brandbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--sgi-dark-rule);margin-bottom:clamp(26px,5vw,46px)}
.sgi-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.sgi-brand img{width:auto;height:44px}
.sgi-brand .sgi-name{font-family:var(--sgi-serif);font-weight:600;font-size:1.06rem;letter-spacing:.01em;line-height:1.05;color:var(--sgi-on-dark)}
.sgi-brand .sgi-name small{display:block;font-family:var(--sgi-sans);font-weight:600;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sgi-on-dark-faint);margin-top:3px}
.sgi-series{font-family:var(--sgi-mono);font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sgi-amber-bright);text-align:right;text-decoration:none;white-space:nowrap}
.sgi-series:hover{color:var(--sgi-amber)}
.sgi-eyebrow{font-family:var(--sgi-mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sgi-amber-bright);display:block;margin-bottom:.9em}
.sgi-eyebrow::before{content:"// ";color:var(--sgi-amber);font-weight:600}
.sgi-title{font-family:var(--sgi-serif);font-weight:600;letter-spacing:-.018em;font-size:clamp(2.05rem,5.6vw,4rem);line-height:1.06;margin:.1em 0 .35em;max-width:20ch;color:var(--sgi-on-dark)}
.sgi-title em{color:var(--sgi-amber-bright);font-style:italic}
.sgi-sub{font-family:var(--sgi-serif);font-weight:500;font-size:clamp(1.05rem,2.3vw,1.45rem);line-height:1.35;color:var(--sgi-amber-bright);margin:0 0 1.1em;max-width:46ch}
.sgi-dek{font-family:var(--sgi-sans);font-size:clamp(1.04rem,2.2vw,1.3rem);line-height:1.55;color:var(--sgi-on-dark-soft);max-width:64ch;margin:0 0 1.4em}
.sgi-dek em{font-style:italic}
.sgi-byline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;border-top:1px solid var(--sgi-dark-rule);padding-top:18px}
.sgi-author{display:flex;align-items:center;gap:11px;min-width:0}
.sgi-author-pic{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--sgi-amber);flex:0 0 46px}
.sgi-author-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.sgi-who{font-weight:700;font-size:1rem;color:var(--sgi-on-dark);font-family:var(--sgi-sans)}
.sgi-role{font-size:.8rem;color:var(--sgi-on-dark-faint);font-family:var(--sgi-sans)}
.sgi-role a{color:var(--sgi-amber-bright);text-decoration:none}
.sgi-role a:hover{text-decoration:underline}
.sgi-tag{display:inline-flex;align-items:center;font-family:var(--sgi-mono);font-size:.66rem;letter-spacing:.02em;padding:.34em .7em;border-radius:100px;background:rgba(182,145,63,.14);color:var(--sgi-amber-bright);border:1px solid rgba(182,145,63,.45)}
.sgi-scope{border:1px solid var(--sgi-dark-rule);border-left:4px solid var(--sgi-amber);background:linear-gradient(180deg,rgba(182,145,63,.10),rgba(255,255,255,.015));border-radius:4px;padding:18px 20px;margin-top:clamp(22px,4vw,32px);color:var(--sgi-on-dark-soft)}
.sgi-scope .sgi-label{font-family:var(--sgi-sans);font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5em;color:var(--sgi-amber-bright)}
.sgi-scope p{margin:0;font-family:var(--sgi-sans);font-size:.95rem;line-height:1.6;color:var(--sgi-on-dark-soft)}
.sgi-scope b{color:var(--sgi-on-dark)}

/* ---------- closing: key callout + CTA (light) ---------- */
.sgi-close{background:var(--sgi-bg);padding:clamp(40px,7vw,80px) 0;border-top:1px solid var(--sgi-rule)}
.sgi-key{border:1px solid var(--sgi-rule);border-left:4px solid var(--sgi-amber);background:linear-gradient(180deg,var(--sgi-amber-wash),var(--sgi-card));border-radius:4px;padding:22px 24px;margin-bottom:28px}
.sgi-key .sgi-label{font-family:var(--sgi-sans);font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.6em;color:var(--sgi-amber-deep)}
.sgi-key p{margin:0;font-family:var(--sgi-sans);font-size:1.05rem;line-height:1.6;color:var(--sgi-ink-soft)}
.sgi-key b{color:var(--sgi-ink)}
.sgi-cta{font-family:var(--sgi-sans);font-size:1.05rem;line-height:1.6;color:var(--sgi-ink-soft);max-width:64ch}
.sgi-cta b{color:var(--sgi-ink)}
.sgi-cta a{color:var(--sgi-amber-deep);text-decoration:none;border-bottom:1px solid rgba(182,145,63,.4)}
.sgi-cta a:hover{color:var(--sgi-amber)}

/* ---------- footer (dark) ---------- */
.sgi-ft{background:var(--sgi-dark);color:var(--sgi-on-dark-soft);padding:clamp(34px,6vw,60px) 0}
.sgi-ft .sgi-wrap{display:grid;gap:18px}
.sgi-ft-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.sgi-ft-brand img{width:auto;height:44px}
.sgi-ft-brand .sgi-name{font-family:var(--sgi-serif);font-size:1.1rem;color:var(--sgi-on-dark)}
.sgi-ft-draftline{font-family:var(--sgi-sans);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--sgi-amber-bright)}
.sgi-ft-nav a{color:var(--sgi-amber-bright);text-decoration:none;border-bottom:1px solid rgba(210,174,91,.32)}
.sgi-ft-nav a:hover{color:var(--sgi-amber)}
.sgi-fineprint{font-family:var(--sgi-sans);font-size:.82rem;line-height:1.6;color:var(--sgi-on-dark-faint);max-width:70ch}

/* ---------- responsive ---------- */
@media(max-width:640px){
  .sgi-tocbar .sgi-wrap{gap:10px;height:46px}
  .sgi-bar-brand{padding-right:10px;font-size:.78rem}
  .sgi-toc-menu{min-width:200px;max-height:72vh}
  .sgi-title{font-size:clamp(1.85rem,8.4vw,2.5rem);max-width:none}
  .sgi-sub{font-size:1.05rem}
  .sgi-brandbar{flex-wrap:wrap;gap:10px}
}
