/* Line 15928 (invest-growth-case-google-path-r1): the investor pages on the Google path, behind
   ai.features.invest_growth_google_path (App\Support\Invest\InvestGrowthCase::lit()). Every colour is a --ns-* token from
   public/css/ns-tokens.css: the page root .inv carries .ns-gp .ns-inv-gp (light by default, dark under
   prefers-color-scheme: dark), the content plane that carries it takes the same set (ns-tokens.css,
   :is(.ns-content, .ns-main):has(.ns-inv-gp)), and the deck and print sheet carry .ns-gp .ns-inv-gp-doc on <html>.
   Clean type and spacing, 375 px first, gold accent, tables in tabular figures, no dark-only section left.
   Unlit, nothing here loads and the pages keep main's look. */

/* The page. */
.ns-inv-gp { color: var(--ns-text); font-family: var(--ns-font); }
:is(.ns-content, .ns-main):has(.ns-inv-gp) { background: var(--ns-bg); color: var(--ns-text); }
.ns-inv-gp h1 { font-weight: 500; letter-spacing: -.01em; color: var(--ns-text); }
.ns-inv-gp h2 { font-weight: 500; color: var(--ns-text); }
.ns-inv-gp .inv-kicker { color: var(--ns-gold-light); letter-spacing: .06em; }
.ns-inv-gp :is(.inv-lede, .inv-tile-note, .inv-evidence, .inv-angles span, .inv-table-cue, .inv-block-source, .inv-contact-lead, .inv-contact address) { color: var(--ns-text-2); }
.ns-inv-gp .inv-contact a.inv-contact-book { background: var(--ns-gold); color: var(--ns-on-accent); font-weight: 600; }
.ns-inv-gp :is(.inv-contact-actions a, .inv-contact a.inv-contact-book, .inv-angles a, .inv-section-link a):focus-visible { outline: 3px solid var(--ns-text); outline-offset: 2px; }
.ns-inv-gp :is(.inv-claim, .inv-tile, .inv-contact-card) { border-color: var(--ns-border-strong); background: var(--ns-card); border-radius: var(--ns-radius); }
.ns-inv-gp :is(.inv-table-wrap, .inv-angles a, .inv-contact-actions a, .inv-proof-tile) { border-color: var(--ns-border-strong); border-radius: var(--ns-radius); }
.ns-inv-gp .inv-angles a[aria-current="page"] { border-color: var(--ns-gold); }
.ns-inv-gp .inv-angles a:hover { background: var(--ns-surface); }
.ns-inv-gp :is(.inv-contact, .inv-contact-actions a, .inv-prepared) { color: var(--ns-text); }
.ns-inv-gp .inv-prepared { border-color: var(--ns-gold-border); }
.ns-inv-gp a:not([class]) { color: var(--ns-gold-light); }
.ns-inv-gp .inv-qr svg { background: #fff; padding: 6px; box-sizing: border-box; }

/* Tables: tabular figures, quiet rules, a header on the surface grey; the table and its sticky first column sit on the card. */
.ns-inv-gp .inv-table-wrap { background: var(--ns-card); }
.ns-inv-gp .inv-table { font-variant-numeric: tabular-nums; }
.ns-inv-gp .inv-table :is(th, td) { border-bottom-color: var(--ns-border); }
.ns-inv-gp .inv-table th { background: var(--ns-surface); font-weight: 600; }
.ns-inv-gp .inv-table td:first-child { background: var(--ns-card); }
.ns-inv-gp .inv-table th:first-child { background: var(--ns-surface); }
.ns-inv-gp .inv-table tbody tr:last-child td { border-bottom: 0; }

/* State chips: white ink on a colour that holds it in both schemes. */
.ns-inv-gp .inv-state-live { background: #188038; }
.ns-inv-gp .inv-state-built { background: #b06000; }
.ns-inv-gp .inv-state-next { background: #5f6368; }

/* A labeled benchmark or scenario block (config invest_pages.labeled_blocks): the label sits above the figures. */
.inv-section[data-invest-labeled] { padding: 16px; border: 1px solid var(--ns-gold-border, rgba(176, 96, 0, .3)); border-radius: var(--ns-radius, 12px); background: var(--ns-bg-deep, transparent); }
.inv-block-label { display: inline-block; margin: 0 0 12px !important; padding: 2px 10px; border-radius: 999px; background: var(--ns-gold-glow, rgba(249, 171, 0, .22)); color: var(--ns-text, inherit); font-size: .85rem; font-weight: 600; line-height: 1.5; }
.inv-block-source { margin: 12px 0 0 !important; font-size: .85rem; }
@media (max-width: 480px) {
    .inv-section[data-invest-labeled] { padding: 12px; margin-left: -4px; margin-right: -4px; }
}

/* The deck and the print sheet on screen; paper keeps main's white sheet. */
@media screen {
    .ns-inv-gp-doc body { background: var(--ns-bg-deep); color: var(--ns-text); font-family: var(--ns-font); }
    .ns-inv-gp-doc :is(.inv-kicker, .inv-sheet-kicker, .inv-slide-host strong) { color: var(--ns-gold-light); }
    .ns-inv-gp-doc :is(.inv-slide-host, .inv-sheet-host, .inv-evidence, .inv-deck-count, .inv-qr figcaption, .inv-block-source) { color: var(--ns-text-2); }
    .ns-inv-gp-doc .inv-contact a { color: var(--ns-gold-light); }
    .ns-inv-gp-doc .inv-deck-bar { background: var(--ns-bg); border-top-color: var(--ns-border); }
    .ns-inv-gp-doc :is(.inv-deck-bar button, .inv-deck-bar a, .inv-print-bar a, .inv-print-bar button) { background: var(--ns-card); color: var(--ns-text); border-color: var(--ns-border-strong); }
    .ns-inv-gp-doc .inv-print-bar [aria-current="true"] { border-color: var(--ns-gold); }
    .ns-inv-gp-doc .inv-sheet { background: var(--ns-card); color: var(--ns-text); border-radius: var(--ns-radius); }
    .ns-inv-gp-doc .inv-contact { border-top-color: var(--ns-border-strong); }
    .ns-inv-gp-doc .inv-state { border-color: currentColor; }
    .ns-inv-gp-doc .inv-qr svg { background: #fff; padding: 6px; box-sizing: border-box; }
}
@media print {
    .inv-section[data-invest-labeled], .inv-block-label { background: none; border-color: #16161d; color: #16161d; }
}
