/* =========================================================================
   NGIN Coalition Impact Calculator — estilos
   PORTADO desde docs/mockup_13.html: es el CSS del mockup, no una
   reinterpretation. Three deliberate changes from the original:
     1. Colour and typography tokens were replaced with the ones from the
        NGIN Marketing Style Guide 2026 (Mirage #1D2A35, Mantis #82bd50,
        Alto #d9d9d9, #cbdebc; Lora for headings, Lato for body).
     2. Todo va scopeado bajo .ngin-cic para que el tema de Squarespace no
        pise nuestros estilos ni nosotros pisemos los suyos.
     3. The dark theme was dropped: it is not in the brand guide.
   Si el mockup cambia, se vuelve a correr el port en vez de editar a mano.
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Lato:wght@300;400;700&display=swap');

.ngin-cic, .ngin-cic *, .ngin-cic *::before, .ngin-cic *::after { box-sizing: border-box; }
.ngin-cic .page { display: none; }
.ngin-cic .page.active { display: block; }


  @import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,500;0,600;0,700;1,500&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

  :root{
    --bg: #ffffff;
    --bg-raise: #ffffff;
    --line: #d9d9d9;
    --ink: #1d2a35;
    --ink-soft: #616a72;
    --ink-faint: #999fa4;
    --green: #82bd50;
    --green-deep: #1d2a35;
    --green-soft: #cbdebc;
    --navy: #1d2a35;
    --navy-soft: #1d2a35;
    --amber:#1d2a35;
    --amber-soft:#f4f4f4;
    --red:#1d2a35;
    --red-soft:#f4f4f4;
    --grey-soft:#f4f4f4;
    --grey-ink:#616a72;
    --pink-line:#82bd50;
    --pink-soft:#f4f4f4;
    --field-line:#1d2a35;
    --field-soft:#f4f4f4;
    --postit-bg:#f4f4f4;
    --postit-line:#d9d9d9;
    --postit-ink:#1d2a35;
    --ai-bg:#cbdebc;
    --ai-line:#82bd50;
    --ai-ink:#1d2a35;
    --mantis:#82bd50;
    --wash:#f4f4f4;
    --font-display: 'Lora', Georgia, 'Times New Roman', serif;
    --font-body: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
    --font-mono: 'Lato', ui-monospace, Menlo, monospace;
  }.ngin-cic

  *{box-sizing:border-box;}.ngin-cic{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.55;}.ngin-cic h1, .ngin-cic h2, .ngin-cic h3, .ngin-cic h4{font-family:var(--font-display);font-weight:700;color:var(--ink);text-wrap:balance;margin:0;}.ngin-cic p{margin:0;}.ngin-cic a{color:var(--green);}.ngin-cic .mono{font-family:var(--font-mono);letter-spacing:.01em;}.ngin-cic .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}.ngin-cic .narrow{max-width:760px;}.ngin-cic .topnav{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:40;}.ngin-cic .topnav-inner{max-width:1180px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;}.ngin-cic .brand{display:flex;align-items:center;gap:12px;cursor:pointer;border:none;background:none;padding:0;}.ngin-cic .brand-mark{width:36px;height:36px;border-radius:9px;background:var(--green);display:flex;align-items:center;justify-content:center;flex:none;}.ngin-cic .brand-mark svg{width:19px;height:19px;}.ngin-cic .brand-text{text-align:left;}.ngin-cic .brand-text .n1{font-family:var(--font-display);font-weight:700;font-size:1.05rem;line-height:1.1;color:var(--ink);}.ngin-cic .brand-text .n2{font-size:.63rem;letter-spacing:.09em;color:var(--ink-faint);text-transform:uppercase;}.ngin-cic .navlinks{display:flex;align-items:center;gap:28px;font-size:.87rem;color:var(--ink-soft);}.ngin-cic .navlinks .cur{color:var(--green);font-weight:600;border-bottom:2px solid var(--green);padding-bottom:2px;}.ngin-cic .navlinks span{cursor:default;}.ngin-cic .stepbar{background:var(--grey-soft);border-bottom:1px solid var(--line);position:sticky;top:69px;z-index:39;}.ngin-cic .stepbar-inner{max-width:1180px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;gap:0;overflow-x:auto;}.ngin-cic .step-item{display:flex;align-items:center;gap:9px;cursor:pointer;background:none;border:none;padding:6px 4px;font-family:var(--font-body);flex:none;}.ngin-cic .step-dot{width:23px;height:23px;border-radius:50%;border:2px solid var(--ink-faint);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:var(--ink-faint);flex:none;}.ngin-cic .step-item .step-label{font-size:.83rem;color:var(--ink-faint);white-space:nowrap;font-weight:500;}.ngin-cic .step-item.done .step-dot{background:var(--green);border-color:var(--green);color:#fff;}.ngin-cic .step-item.done .step-label{color:var(--ink-soft);}.ngin-cic .step-item.active .step-dot{border-color:var(--green);color:var(--green);}.ngin-cic .step-item.active .step-label{color:var(--ink);font-weight:700;}.ngin-cic .step-rule{width:34px;height:1px;background:var(--line);margin:0 8px;flex:none;}.ngin-cic .page{display:none;}.ngin-cic .page.active{display:block;}.ngin-cic section{padding:56px 0;}.ngin-cic .eyebrow{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:10px;}.ngin-cic .lede{font-size:1.06rem;color:var(--ink-soft);max-width:700px;margin-top:14px;}.ngin-cic h2.page-title{font-size:2rem;}.ngin-cic .callout{border-radius:12px;padding:18px 20px;margin:22px 0;display:flex;gap:12px;}.ngin-cic .callout-q{background:var(--pink-soft);border:1.5px dashed var(--pink-line);}.ngin-cic .callout-q .tag{color:var(--pink-line);}.ngin-cic .callout-icon{flex:none;font-size:1.05rem;line-height:1.3;}.ngin-cic .callout .tag{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:5px;}.ngin-cic .callout p{font-size:.9rem;color:var(--ink-soft);}.ngin-cic .callout p+p{margin-top:8px;}.ngin-cic .callout-decided{background:var(--green-soft);border:1.5px solid var(--green);}.ngin-cic .callout-decided .tag{color:var(--green-deep);}.ngin-cic .callout-field{background:var(--field-soft);border:1.5px solid var(--field-line);}.ngin-cic .callout-field .tag{color:var(--field-line);}.ngin-cic .postit{background:var(--postit-bg);border:1.5px solid var(--postit-line);border-radius:3px 12px 12px 12px;padding:18px 20px;margin:26px 0 0 0;position:relative;transform:rotate(-.35deg);box-shadow:0 6px 16px -8px rgba(0,0,0,.28);}.ngin-cic .postit::before{content:"📌";position:absolute;top:-14px;left:22px;font-size:1.2rem;transform:rotate(8deg);}.ngin-cic .postit .tag{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--postit-ink);margin-bottom:7px;display:flex;align-items:center;gap:7px;}.ngin-cic .postit .tag .pill-mini{background:var(--postit-line);color:#fff;border-radius:20px;padding:1px 8px;font-size:.62rem;}.ngin-cic .postit p{font-size:.87rem;color:#1d2a35;}.ngin-cic .postit p+p{margin-top:7px;}.ngin-cic .postit .loc{font-size:.8rem;margin-top:9px;padding-top:9px;border-top:1px dashed var(--postit-line);color:#1d2a35;}.ngin-cic .postit .loc b{color:var(--postit-ink);}.ngin-cic .ai-box{background:var(--ai-bg);border:1.5px dashed var(--ai-line);border-radius:12px;padding:22px 24px;margin-top:14px;}.ngin-cic .ai-box .tag{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--ai-ink);display:flex;align-items:center;gap:8px;margin-bottom:12px;}.ngin-cic .ai-box .tag .spark{font-size:.95rem;}.ngin-cic .ai-box .disclaimer{font-size:.72rem;color:var(--ai-ink);opacity:.75;font-style:italic;margin-top:14px;padding-top:12px;border-top:1px solid rgba(122,99,209,.25);}.ngin-cic .ai-box p{font-size:.92rem;color:var(--ink);}.ngin-cic .ai-box p+p{margin-top:10px;}.ngin-cic .ai-box h5{font-family:var(--font-body);font-size:.78rem;font-weight:700;color:var(--ai-ink);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 6px;}.ngin-cic .ai-box .cite{font-family:var(--font-mono);font-size:.74rem;color:var(--ai-ink);background:rgba(122,99,209,.12);padding:1px 6px;border-radius:4px;}.ngin-cic .grid{display:grid;gap:16px;}.ngin-cic .grid-3{grid-template-columns:repeat(3,1fr);}.ngin-cic .grid-2{grid-template-columns:repeat(2,1fr);}.ngin-cic .evidence-stack{grid-template-columns:1fr;gap:18px;}
  @media (max-width:900px){.ngin-cic .grid-3, .ngin-cic .grid-2{grid-template-columns:1fr;}}.ngin-cic .card{background:var(--bg-raise);border:1px solid var(--line);border-radius:12px;padding:22px;}.ngin-cic .outcome-card{cursor:pointer;transition:border-color .15s;}.ngin-cic .outcome-card h4{font-size:1rem;margin-bottom:8px;}.ngin-cic .outcome-card p{font-size:.86rem;color:var(--ink-soft);}.ngin-cic .outcome-card.selected{border-color:var(--green);background:var(--green-soft);position:relative;}.ngin-cic .pill-selected{position:absolute;top:16px;right:16px;background:var(--green);color:#fff;font-size:.63rem;font-weight:700;letter-spacing:.05em;padding:3px 10px;border-radius:20px;}.ngin-cic .outcome-id{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint);display:block;margin-bottom:6px;}.ngin-cic .strat-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}.ngin-cic .strat-chip{border:1px solid var(--line);background:var(--bg-raise);border-radius:9px;padding:10px 14px;font-size:.82rem;display:flex;align-items:center;gap:8px;}.ngin-cic .strat-chip .id{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-faint);}.ngin-cic .strat-chip.on{border-color:var(--green);background:var(--green-soft);font-weight:600;}.ngin-cic .strat-chip .bridge{width:7px;height:7px;border-radius:50%;background:var(--green);flex:none;}.ngin-cic .strat-chip .bridge.no{background:var(--ink-faint);}.ngin-cic .evidence-card{background:var(--bg-raise);border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:12px;}.ngin-cic .tagrow{display:flex;flex-wrap:wrap;gap:6px;}.ngin-cic .tag-pill{font-size:.66rem;font-weight:700;letter-spacing:.03em;padding:3px 9px;border-radius:20px;background:var(--grey-soft);color:var(--grey-ink);text-transform:uppercase;}.ngin-cic .tag-pill.on{background:var(--green-soft);color:var(--green-deep);}.ngin-cic .tag-pill.warn{background:var(--amber-soft);color:var(--amber);}.ngin-cic .tag-pill.crit{background:var(--red-soft);color:var(--red);}.ngin-cic .ev-id{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint);}.ngin-cic .ev-strategy{font-size:.74rem;color:var(--ink-soft);}.ngin-cic .ev-strategy b{font-weight:700;color:var(--ink);}.ngin-cic .ev-field .tag-pill{margin-bottom:6px;}.ngin-cic .evidence-card h4{font-size:1.03rem;line-height:1.3;}.ngin-cic .ev-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;font-size:.79rem;}.ngin-cic .ev-meta b{display:block;color:var(--ink-faint);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1px;}.ngin-cic .ev-field{font-size:.85rem;}.ngin-cic .ev-field b{display:block;color:var(--ink-faint);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;}.ngin-cic .ev-field.crit b{color:var(--red);}.ngin-cic .ev-field.crit p{color:var(--red);}.ngin-cic .ev-divider{border-top:1px dashed var(--line);}.ngin-cic .ev-source{font-size:.72rem;color:var(--ink-faint);}.ngin-cic .ev-fields-row{display:flex;gap:0;margin-top:2px;}.ngin-cic .ev-fields-row .ev-field{flex:1;padding:0 20px;}.ngin-cic .ev-fields-row .ev-field:first-child{padding-left:0;}.ngin-cic .ev-fields-row .ev-field+.ev-field{border-left:1px dashed var(--line);}
  @media (max-width:820px){.ngin-cic .ev-fields-row{flex-direction:column;gap:12px;}.ngin-cic .ev-fields-row .ev-field{padding:0;}.ngin-cic .ev-fields-row .ev-field+.ev-field{border-left:none;border-top:1px dashed var(--line);padding-top:12px;}
  }.ngin-cic .btn{display:inline-flex;align-items:center;gap:8px;border-radius:9px;padding:12px 20px;font-size:.9rem;font-weight:600;font-family:var(--font-body);cursor:pointer;border:1px solid transparent;text-decoration:none;}.ngin-cic .btn-primary{background:var(--green);color:#fff;}.ngin-cic .btn-secondary{background:var(--bg-raise);color:var(--ink);border-color:var(--line);}.ngin-cic .btn-row{display:flex;gap:12px;justify-content:flex-end;margin-top:34px;}.ngin-cic .precedent-card{background:var(--bg-raise);border:1px solid var(--line);border-radius:12px;padding:20px;}.ngin-cic .precedent-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;}.ngin-cic .precedent-head h4{font-size:.98rem;}.ngin-cic .precedent-id{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint);}.ngin-cic .precedent-tags{display:flex;flex-direction:column;gap:7px;margin:12px 0 4px;}.ngin-cic .precedent-tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}.ngin-cic .precedent-tag-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint);min-width:82px;}.ngin-cic .precedent-card p{font-size:.83rem;color:var(--ink-soft);}.ngin-cic .lesson{background:var(--bg-raise);border-left:3px solid var(--green);border-radius:0 10px 10px 0;padding:16px 20px;margin-bottom:12px;}.ngin-cic .lesson h5{font-size:.9rem;color:var(--ink);margin-bottom:7px;text-transform:none;letter-spacing:0;font-weight:700;}.ngin-cic .lesson p{font-size:.85rem;color:var(--ink-soft);}.ngin-cic .lesson b{color:var(--ink);}.ngin-cic .rate-block{background:var(--bg-raise);border:1px solid var(--line);border-radius:12px;padding:26px 24px;margin-bottom:20px;}.ngin-cic .rate-block h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}.ngin-cic .rate-sub{font-size:.82rem;color:var(--ink-soft);margin-bottom:18px;}.ngin-cic .rate-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 0;border-top:1px solid var(--line);}.ngin-cic .rate-row:first-of-type{border-top:none;}.ngin-cic .rate-label{font-size:.87rem;flex:1;min-width:180px;}.ngin-cic .rate-opts{display:flex;gap:7px;flex-wrap:wrap;}.ngin-cic .opt{font-size:.72rem;padding:5px 11px;border-radius:20px;background:var(--grey-soft);color:var(--ink-faint);}.ngin-cic .opt.strong{background:var(--green);color:#fff;font-weight:700;}.ngin-cic .opt.frag{background:var(--amber-soft);color:var(--amber);font-weight:700;}.ngin-cic .opt.emerg{background:var(--amber-soft);color:var(--amber);font-weight:700;}.ngin-cic .opt.missing{background:var(--red-soft);color:var(--red);font-weight:700;}.ngin-cic .opt.unknown{background:var(--grey-soft);color:var(--grey-ink);font-weight:700;border:1px solid var(--ink-faint);}.ngin-cic .stage-qs{background:var(--grey-soft);border-radius:10px;padding:16px 18px;font-size:.85rem;color:var(--ink-soft);margin:0;}.ngin-cic .stage-qs li{margin-bottom:6px;}.ngin-cic .stage-qs.muted{background:transparent;border:1px dashed var(--line);color:var(--ink-faint);}.ngin-cic .chain{margin-top:24px;}.ngin-cic .chain-stage{border-left:3px solid var(--line);padding:4px 0 28px 26px;position:relative;margin-left:8px;}.ngin-cic .chain-stage:last-child{padding-bottom:4px;}.ngin-cic .chain-stage::before{content:"";position:absolute;left:-9px;top:2px;width:15px;height:15px;border-radius:50%;background:var(--bg-raise);border:2.5px solid var(--ink-faint);}.ngin-cic .chain-stage.passed{border-left-color:var(--green);}.ngin-cic .chain-stage.passed::before{background:var(--green);border-color:var(--green);}.ngin-cic .chain-stage.stopped{border-left-color:var(--red);}.ngin-cic .chain-stage.stopped::before{background:var(--red);border-color:var(--red);}.ngin-cic .chain-stage.locked{opacity:.5;}.ngin-cic .chain-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap;}.ngin-cic .chain-head h4{font-size:1.02rem;}.ngin-cic .chain-status{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:20px;flex:none;}.ngin-cic .chain-status.passed{background:var(--green-soft);color:var(--green-deep);}.ngin-cic .chain-status.stopped{background:var(--red-soft);color:var(--red);}.ngin-cic .chain-status.locked{background:var(--grey-soft);color:var(--grey-ink);}.ngin-cic .chain-reco{background:var(--red-soft);border-radius:8px;padding:13px 16px;margin-top:12px;font-size:.85rem;color:var(--ink);}.ngin-cic .chain-reco b{color:var(--red);}.ngin-cic .consol-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 28px;margin-top:16px;}
  @media (max-width:800px){.ngin-cic .consol-grid{grid-template-columns:1fr;}}.ngin-cic .consol-item{padding:10px 0;border-top:1px solid var(--line);font-size:.87rem;}.ngin-cic .consol-item:nth-child(1), .ngin-cic .consol-item:nth-child(2){border-top:none;}.ngin-cic .consol-item b{color:var(--ink);}.ngin-cic .consol-item span{display:block;color:var(--ink-faint);font-size:.78rem;margin-top:1px;}.ngin-cic .consol-item .consol-desc{color:var(--ink-soft);font-size:.82rem;margin-top:3px;}.ngin-cic .consol-item .consol-attr{color:var(--ink-faint);font-size:.73rem;font-style:italic;margin-top:3px;}.ngin-cic .acs-box{background:var(--bg-raise);border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin:24px 0;}.ngin-cic .acs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap;}.ngin-cic .acs-badge{background:var(--field-soft);color:var(--field-line);font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 11px;border-radius:20px;}.ngin-cic .acs-row{display:grid;grid-template-columns:2fr 1fr .75fr .85fr;gap:10px;padding:11px 0;border-top:1px solid var(--line);align-items:baseline;}.ngin-cic .acs-row:first-of-type{border-top:none;}.ngin-cic .acs-row .ind{font-size:.86rem;}.ngin-cic .acs-row .tbl{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint);}.ngin-cic .acs-row .val{font-family:var(--font-mono);font-size:.9rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;}.ngin-cic .acs-row-head .val{font-family:var(--font-body);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint);}.ngin-cic .acs-foot{font-size:.78rem;color:var(--ink-faint);font-style:italic;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);}.ngin-cic .acs-filter{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px dashed var(--line);}.ngin-cic .acs-filter-item label{display:block;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);margin-bottom:5px;}.ngin-cic .mock-select{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:6px 12px;font-size:.83rem;color:var(--ink-soft);min-width:150px;}.ngin-cic .results-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start;}
  @media (max-width:960px){.ngin-cic .results-grid{grid-template-columns:1fr;}}.ngin-cic .res-list-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:.86rem;}.ngin-cic .res-list-row:first-of-type{border-top:none;}.ngin-cic .res-status{font-size:.72rem;font-weight:700;text-transform:uppercase;}.ngin-cic .res-status.strong{color:var(--green);}.ngin-cic .res-status.frag, .ngin-cic .res-status.emerg{color:var(--amber);}.ngin-cic .res-status.missing{color:var(--red);}.ngin-cic .res-status.unknown{color:var(--ink-faint);}.ngin-cic .gap-card{background:var(--red-soft);border-radius:10px;padding:14px 16px;margin-bottom:12px;}.ngin-cic .gap-card h5{font-size:.86rem;color:var(--ink);margin-bottom:4px;}.ngin-cic .gap-card p{font-size:.79rem;color:var(--ink-soft);}.ngin-cic .indicator-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line);font-size:.83rem;}.ngin-cic .indicator-row:first-of-type{border-top:none;}.ngin-cic .indicator-row .src{font-size:.72rem;color:var(--ink-faint);white-space:nowrap;}.ngin-cic .hero{padding:70px 0 46px;text-align:center;}.ngin-cic .hero-badge{display:inline-block;background:var(--green-soft);color:var(--green-deep);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;border-radius:20px;margin-bottom:22px;}.ngin-cic .hero h1{font-size:2.6rem;line-height:1.16;max-width:820px;margin:0 auto;}.ngin-cic .hero .lede{margin:22px auto 0;text-align:center;font-size:1.06rem;}.ngin-cic .hero-ctas{display:flex;gap:14px;justify-content:center;margin-top:30px;}.ngin-cic .intro-prose{max-width:740px;margin:0 auto;}.ngin-cic .intro-prose p{font-size:.98rem;color:var(--ink-soft);margin-bottom:16px;}.ngin-cic .intro-prose .thesis{font-size:1.04rem;color:var(--ink);font-weight:500;}.ngin-cic .section-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px;}
  @media (max-width:900px){.ngin-cic .section-cards{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.ngin-cic .section-cards{grid-template-columns:1fr;}}.ngin-cic .sec-card{background:var(--bg-raise);border:1px solid var(--line);border-radius:12px;padding:20px;cursor:pointer;}.ngin-cic .sec-card:hover{border-color:var(--green);}.ngin-cic .sec-card .num{font-family:var(--font-mono);color:var(--green);font-size:.76rem;font-weight:700;}.ngin-cic .sec-card h4{font-size:.94rem;margin:8px 0 8px;line-height:1.28;}.ngin-cic .sec-card p{font-size:.78rem;color:var(--ink-soft);}.ngin-cic .stats-band{background:var(--navy);color:#fff;padding:52px 0;margin-top:10px;}.ngin-cic .stats-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;}
  @media (max-width:900px){.ngin-cic .stats-inner{grid-template-columns:1fr;}}.ngin-cic .stats-inner h3{color:#fff;font-size:1.5rem;margin-bottom:14px;}.ngin-cic .stats-inner .lede{color:#d9d9d9;font-size:.92rem;max-width:520px;margin-top:0;}.ngin-cic .stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}.ngin-cic .stat-tile{background:var(--navy-soft);border-radius:10px;padding:18px 20px;}.ngin-cic .stat-tile .n{font-family:var(--font-display);font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums;}.ngin-cic .stat-tile .d{font-size:.78rem;color:#d9d9d9;margin-top:2px;}.ngin-cic footer{border-top:1px solid var(--line);padding:26px 0;}.ngin-cic .footer-inner{display:flex;justify-content:space-between;font-size:.82rem;color:var(--ink-faint);flex-wrap:wrap;gap:10px;}.ngin-cic .footnote-line{font-size:.78rem;color:var(--ink-faint);font-style:italic;margin-top:26px;}.ngin-cic .provenance{font-size:.74rem;color:var(--ink-faint);font-style:italic;margin-top:6px;}


/* --- port adjustments --------------------------------------------------------
   El mockup tiene un topnav propio de 69px y el stepbar queda sticky debajo.
   The calculator is embedded in NGIN's site, which already has its own
   navigation, so no topnav or footer is rendered and the sticky bar sits
   arriba de todo. -------------------------------------------------------- */
.ngin-cic .stepbar { position: static; top: auto; margin-bottom: 0; }
.ngin-cic .wrap { padding-left: clamp(16px, 4%, 44px); padding-right: clamp(16px, 4%, 44px); }
.ngin-cic .stepbar-inner { padding-left: clamp(16px, 4%, 44px); padding-right: clamp(16px, 4%, 44px); }

/* the AI slot while it is writing, or when it fails */
.ngin-cic .ai-box.ai-loading p { opacity: .65; font-style: italic; }
.ngin-cic .ai-box.ai-error { border-style: solid; border-color: var(--red); background: var(--red-soft) !important; }
.ngin-cic .ai-box.ai-error p, .ngin-cic .ai-box.ai-error b { color: var(--red) !important; }


/* --- Sept 6 feedback ---------------------------------------------------------
   The subheads were squeezed to half the screen; they now use the full
   ancho. Las tarjetas de outcome se achican para que entren las 12 sin
   scroll. Adds the nav bar, the selection breadcrumb, "Show more"
   en evidencia y la nota per-item del texto generativo.
--------------------------------------------------------------------------- */

.ngin-cic .lede-wide { max-width: none !important; }
.ngin-cic .intro-prose-wide { max-width: none; }
.ngin-cic .intro-prose-wide p { max-width: none; font-size: .97rem; line-height: 1.65; margin-bottom: 14px; }
.ngin-cic .hero { padding-top: 34px; padding-bottom: 22px; }
.ngin-cic .hero h1 { max-width: none; }
.ngin-cic .section-cards { margin-top: 26px; }

/* top bar */
.ngin-cic .topnav { border-bottom: 1px solid var(--line); }
.ngin-cic .topnav-inner { display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 12px 0; flex-wrap: wrap; }
.ngin-cic .brand-text { font-size: .9rem; letter-spacing: .01em; }
.ngin-cic .navlinks { display: flex; gap: 4px; }
.ngin-cic .navlink { background: none; border: 0; cursor: pointer; font-family: var(--font-body);
  font-size: .86rem; padding: 6px 12px; border-radius: 3px; color: var(--ink-soft); }
.ngin-cic .navlink:hover { background: var(--green-soft); }
.ngin-cic .navlink.on { color: var(--ink); font-weight: 700; border-bottom: 2px solid var(--mantis); }

/* breadcrumb: what the user picked */
.ngin-cic .crumb { background: var(--green-soft); border-bottom: 1px solid var(--line);
  font-size: .82rem; line-height: 1.5; padding: 9px 0; margin-bottom: 18px; }
.ngin-cic .crumb-k { font-weight: 700; text-transform: uppercase; letter-spacing: .07em;
  font-size: .7rem; margin-right: 6px; }

/* tighter outcome cards */
.ngin-cic .outcome-card.compact { padding: 14px 16px; }
.ngin-cic .outcome-card.compact h4 { font-size: .95rem; line-height: 1.3; }
.ngin-cic .outcome-card.compact p { font-size: .8rem; line-height: 1.45; margin-top: 5px; }

/* collapsible evidence */
.ngin-cic .showmore { background: none; border: 0; cursor: pointer; padding: 4px 0;
  font-family: var(--font-body); font-size: .8rem; font-weight: 700; color: var(--green);
  text-decoration: underline; }

/* generated note per capability or actor */
.ngin-cic .consol-ai { display: block; font-size: .82rem; line-height: 1.5; margin-top: 6px;
  color: #1d2a35; }

/* notice about remaining stages, now above the chain */
.ngin-cic .chain-notice { font-size: .85rem; color: var(--ink-soft); background: var(--green-soft);
  border-radius: 4px; padding: 9px 14px; margin-bottom: 14px; }

.ngin-cic .lesson-list { display: grid; gap: 12px; }
.ngin-cic .src-link { font-size: .8rem; }
.ngin-cic .todo-block { margin-top: 26px; padding-top: 8px; border-top: 1px solid var(--line); }
.ngin-cic .results-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 760px) { .ngin-cic .results-grid { grid-template-columns: 1fr; } }


/* The top bar was sticky in the mockup. Embedded, it overlaps the site
   contenido y, al quedar por encima, intercepta los clics de lo que tapa:
   header, which is why the step 5 form stopped responding. It stays put. */
.ngin-cic .topnav { position: static !important; top: auto !important; z-index: auto !important; }
.ngin-cic .stepbar { position: static !important; top: auto !important; z-index: auto !important; }
.ngin-cic .topnav-inner { padding-left: clamp(16px, 4%, 44px); padding-right: clamp(16px, 4%, 44px); }
.ngin-cic .crumb .wrap { padding-top: 0; padding-bottom: 0; }

/* steps not unlocked yet */
.ngin-cic .step-item.locked { opacity: .45; cursor: not-allowed; }
.ngin-cic .step-item[disabled] { pointer-events: none; }

/* illustrative-content notice, same treatment as the ACS block */
.ngin-cic .demo-note { font-size: .84rem; color: var(--ink-soft); line-height: 1.55;
  background: var(--wash); border: 1px dashed var(--line); border-radius: 4px;
  padding: 12px 16px; margin-bottom: 14px; }
.ngin-cic .demo-note .acs-badge { margin-right: 8px; }


/* =========================================================================
   Feedback del 8 de septiembre
   ========================================================================= */

/* Beige background from the mockup across the tool; cards stay white so they
   contrast against it. */
.ngin-cic { background: #ffffff !important; }
.ngin-cic .card, .ngin-cic .evidence-card, .ngin-cic .acs-box,
.ngin-cic .rate-block, .ngin-cic .res-panel, .ngin-cic .gap-card,
.ngin-cic .sec-card { background: #ffffff !important; }
.ngin-cic .stepbar { background: #f4f4f4 !important; }

/* Home: the hero subtitle takes the body size of the step copy, bold and
   steps, en negrita y verde; y la frase de abajo de las cajas, igual. */
.ngin-cic .hero-sub, .ngin-cic .cards-note {
  font-family: var(--font-body); font-size: .97rem; line-height: 1.65;
  font-weight: 700; color: var(--green) !important; max-width: none;
  margin: 14px 0 0;
}
.ngin-cic .hero-sub { margin-bottom: 22px; }
.ngin-cic .cards-note { margin-top: 22px; }
.ngin-cic .intro-prose-wide p { font-family: var(--font-body); font-size: .97rem; }

/* the step cards, in light green */
.ngin-cic .sec-card { background: var(--green-soft) !important; border-color: #cbdebc; }
.ngin-cic .sec-card:hover { border-color: var(--mantis); }
.ngin-cic .sec-card h4 { font-family: var(--font-body); font-size: .95rem; font-weight: 700; line-height: 1.35; }
.ngin-cic .sec-card p { font-size: .88rem; }

/* Step 1: room between the copy and the cards */
.ngin-cic .grid-spaced { margin-top: 26px; }

/* Step 2: tighter baseline, filters on beige */
.ngin-cic .acs-row { padding: 7px 0; }
.ngin-cic .acs-filter .mock-select { background: #f4f4f4; border-color: #d9d9d9; }
.ngin-cic .acs-compact .acs-row { padding: 5px 0; }

/* Step 2: narrow evidence card, with tags and a "+" */
.ngin-cic .evidence-card.slim { padding: 0; }
.ngin-cic .ev-top { width: 100%; display: flex; gap: 14px; align-items: flex-start;
  background: none; border: 0; cursor: pointer; text-align: left; padding: 13px 16px;
  font-family: var(--font-body); }
.ngin-cic .ev-top:hover { background: #ffffff; }
.ngin-cic .ev-main { flex: 1 1 auto; min-width: 0; }
.ngin-cic .ev-title { display: block; font-weight: 700; font-size: .92rem; line-height: 1.35; }
.ngin-cic .ev-aud { display: block; font-size: .82rem; color: var(--ink-soft); margin-top: 4px; }
.ngin-cic .ev-tags { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 5px;
  justify-content: flex-end; max-width: 40%; }
.ngin-cic .ev-plus { flex: 0 0 auto; font-size: 1.1rem; color: var(--ink-faint); width: 18px; text-align: center; }
.ngin-cic .evidence-card.slim .ev-body { padding: 0 16px 16px; }
.ngin-cic .label { display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; padding: 3px 8px; border-radius: 3px; white-space: nowrap; }
.ngin-cic .label.t-topic  { background: #f4f4f4; color: #1d2a35; }
.ngin-cic .label.t-effect { background: var(--green-soft); color: #1d2a35; }
.ngin-cic .label.t-mon    { background: #f4f4f4; color: #1d2a35; }
.ngin-cic .label.t-sites  { background: #cbdebc; color: #1d2a35; }

/* strategies grouped by goal */
.ngin-cic .group-head { font-family: var(--font-display); font-size: 1rem; margin: 18px 0 8px; }
.ngin-cic .chip-note { font-size: .62rem; text-transform: uppercase; letter-spacing: .06em;
  margin-left: 7px; padding: 2px 6px; border-radius: 3px; background: #cbdebc; color: #1d2a35; }

/* Step 3: radial diagram */
.ngin-cic .ring-wrap { text-align: center; margin: 4px 0 14px; }
.ngin-cic .ring { width: 100%; max-width: none; height: auto; }
.ngin-cic .ring-hub { fill: var(--green-soft); stroke: var(--mantis); stroke-width: 1.5; }
.ngin-cic .ring-hub-n { font: 700 15px var(--font-body); fill: var(--ink); }
.ngin-cic .ring-hub-t { font: 400 9px var(--font-body); fill: var(--ink-soft); text-transform: uppercase; letter-spacing: .08em; }
.ngin-cic .ring-line { stroke: #d9d9d9; stroke-width: 1; }
.ngin-cic .ring-dot { fill: var(--mantis); }
.ngin-cic .ring-lbl { font: 400 11px var(--font-body); fill: var(--ink); }

/* Step 4: tighter rows and tooltip */
.ngin-cic .rate-row.tight { padding: 8px 0; }
.ngin-cic .rate-row.tight .rate-label { font-size: .89rem; }
.ngin-cic .tip-mark { display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px; margin-left: 6px; border-radius: 50%; background: #d9d9d9;
  color: var(--ink-soft); font-size: .62rem; font-weight: 700; cursor: help; vertical-align: middle; }

/* Step 5 */
.ngin-cic .chain-pass { font-size: .84rem; color: #1d2a35; background: var(--green-soft);
  border-radius: 4px; padding: 8px 12px; margin-top: 10px; }

/* Step 6 */
.ngin-cic .res-h { margin-top: 30px; padding-bottom: 6px; border-bottom: 2px solid var(--mantis); }
.ngin-cic .res-panel { border: 1px solid var(--line); border-radius: 4px; padding: 14px 16px; }
.ngin-cic .res-panel h5 { font-family: var(--font-body); font-size: .74rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 10px; }
.ngin-cic .res-panel p { font-size: .87rem; line-height: 1.55; margin-bottom: 10px; }
.ngin-cic .results-grid.three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .ngin-cic .results-grid.three { grid-template-columns: 1fr; } }
.ngin-cic .source-list { margin: 0 0 8px 18px; padding: 0; list-style: disc; }
.ngin-cic .source-list li { font-size: .84rem; line-height: 1.5; margin-bottom: 5px; }

/* bullets in the generated text */
.ngin-cic .ai-box ul { margin: 6px 0 0 18px; padding: 0; list-style: disc; }
.ngin-cic .ai-box li { font-size: .85rem; line-height: 1.55; margin-bottom: 5px; color: #1d2a35; }


/* =========================================================================
   Segunda pasada del feedback del 8 de septiembre (9 de septiembre)
   ========================================================================= */

/* The key sentence under cards, tables and diagrams: bold and green, at the
   same size as the rest of the explanatory copy. */
.ngin-cic .lede-key { font-family: var(--font-body); font-weight: 700;
  color: var(--green) !important; font-size: .97rem; line-height: 1.65;
  max-width: none !important; margin-top: 14px; }

/* blurb on the capabilities and actors blocks */
.ngin-cic .rate-block .rate-sub { margin-top: 3px; margin-bottom: 14px; }
.ngin-cic .sub-note { font-size: .88rem; color: var(--ink-soft); margin-top: 6px; }

/* Custom tooltip: the native title takes a second and does not exist on mobile. */
.ngin-cic .tip-mark { position: relative; }
.ngin-cic .tip-mark::after { content: attr(data-tip); position: absolute; left: 50%; bottom: 150%;
  transform: translateX(-50%); width: 300px; max-width: 62vw; background: var(--ink); color: #fff;
  font-size: .76rem; font-weight: 400; line-height: 1.45; letter-spacing: 0; text-transform: none;
  padding: 9px 11px; border-radius: 5px; opacity: 0; visibility: hidden; transition: opacity .12s;
  z-index: 60; pointer-events: none; text-align: left; }
.ngin-cic .tip-mark:hover::after, .ngin-cic .tip-mark:focus::after { opacity: 1; visibility: visible; }
@media (max-width: 700px) { .ngin-cic .tip-mark::after { left: 0; transform: none; } }

/* Step 2: the scorecard uses the width better and labels its columns. */
.ngin-cic .acs-box { max-width: 960px; }
.ngin-cic .acs-row { grid-template-columns: minmax(0, 2.6fr) .9fr .8fr .9fr; }
.ngin-cic .acs-row-head .ind, .ngin-cic .acs-row-head .tbl {
  font-family: var(--font-body); font-size: .66rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .03em; color: var(--ink-faint); }

/* Step 3: real coordination cases */
.ngin-cic .case-pat { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em;
  color: var(--ink-faint); margin-bottom: 6px; }
.ngin-cic .case-pat b { color: var(--green); }

/* The diagram labels carry a halo in the background colour so no line runs
   across them. */
.ngin-cic .ring-lbl { paint-order: stroke; stroke: #ffffff; stroke-width: 3px;
  stroke-linejoin: round; }
.ngin-cic .ring-line { stroke: #d9d9d9; }

/* lessons and source for each coordination case */
.ngin-cic .case-lessons { margin: 8px 0 0 16px; padding: 0; list-style: disc; }
.ngin-cic .case-lessons li { font-size: .84rem; line-height: 1.5; color: var(--ink-soft);
  margin-bottom: 4px; }
.ngin-cic .case-src { margin-top: 8px; }

/* summary of each selected strategy, above the baseline */
.ngin-cic .picked-list { display: grid; gap: 10px; margin: 20px 0 4px; }
.ngin-cic .picked-strat { border-left: 3px solid var(--green-soft); padding-left: 12px; }
.ngin-cic .picked-strat b { font-size: .9rem; }
.ngin-cic .picked-strat span { display: block; font-size: .85rem; color: var(--ink-soft);
  line-height: 1.5; margin-top: 2px; }

/* outcome-strategy pair with sources but no documented effect or arrangement */
.ngin-cic .chip-note.thin { background: #f4f4f4; color: #1d2a35; }

/* disabled buttons: without this they look the same as active ones and the
   user clicks something that does not respond */
.ngin-cic .btn[disabled] { opacity: .45; cursor: not-allowed; }
.ngin-cic .btn[disabled]:hover { opacity: .45; }

/* =========================================================================
   Sept 9 redesign: brand palette (green / navy / grey), progress bar in
   avance en tres pasos y landing nuevo.
   ========================================================================= */

/* 1. Palette. NGIN only allows green, navy and grey, so the purple, amber
   and red tokens are remapped onto a green-grey scale. */
.ngin-cic {
  --ai-bg: #cbdebc;
  --ai-line: #82bd50;
  --ai-ink: #1d2a35;
  --amber: #82bd50;
  --amber-soft: #cbdebc;
  --red: #616a72;
  --red-soft: #f4f4f4;
  --mantis: #82bd50;
  --wash: #f4f4f4;
}
.ngin-cic .ai-box li { color: var(--ai-ink); }
.ngin-cic .ai-box .disclaimer { border-top-color: rgba(125,155,99,.35); }
.ngin-cic .ai-box .cite { background: rgba(125,155,99,.16); }
.ngin-cic .label.t-sites { background: #f4f4f4; color: #1d2a35; }
.ngin-cic .label.t-topic { background: #f4f4f4; color: #1d2a35; }
.ngin-cic .label.t-mon   { background: #f4f4f4; color: #616a72; }
.ngin-cic .chip-note.thin { background: #f4f4f4; color: #616a72; }
.ngin-cic .acs-badge { background: #f4f4f4; color: #1d2a35; }

/* Escala de estados: de verde oscuro (fuerte) a gris (ausente). */
.ngin-cic .opt.strong  { background: var(--green); color: #fff; }
.ngin-cic .opt.frag    { background: #cbdebc; color: #1d2a35; }
.ngin-cic .opt.emerg   { background: #cbdebc; color: #616a72; }
.ngin-cic .opt.missing { background: #d9d9d9; color: #616a72; }
.ngin-cic .opt.unknown { background: #f4f4f4; color: #999fa4; }
.ngin-cic .res-status.strong  { color: var(--green); }
.ngin-cic .res-status.frag    { color: #616a72; }
.ngin-cic .res-status.emerg   { color: #82bd50; }
.ngin-cic .res-status.missing { color: #616a72; }
.ngin-cic .res-status.unknown { color: #999fa4; }

/* 2. Progress bar: three blocks, each with its own screens. */
.ngin-cic .stepbar-inner { gap: 26px; padding: 10px 32px 12px; align-items: stretch; }
.ngin-cic .stepgroup { flex: 1; min-width: 150px; }
.ngin-cic .stepgroup-label { display: block; font-size: .68rem; letter-spacing: .07em;
  text-transform: uppercase; font-weight: 700; color: var(--ink-faint); margin-bottom: 6px;
  white-space: nowrap; }
.ngin-cic .stepgroup.active .stepgroup-label { color: var(--green); }
.ngin-cic .stepgroup.done .stepgroup-label { color: var(--ink-soft); }
.ngin-cic .stepsegs { display: flex; gap: 4px; }
.ngin-cic .stepseg { flex: 1; border: none; background: #d9d9d9; border-radius: 3px; padding: 0;
  height: 6px; cursor: pointer; font-family: var(--font-body); position: relative;
  transition: background .15s; }
.ngin-cic .stepseg span { position: absolute; top: 9px; left: 0; font-size: .7rem; color: var(--ink-faint);
  white-space: nowrap; }
.ngin-cic .stepgroup { padding-bottom: 20px; }
.ngin-cic .stepseg.done { background: var(--green); }
.ngin-cic .stepseg.done span { color: var(--ink-soft); }
.ngin-cic .stepseg.active { background: var(--green); }
.ngin-cic .stepseg.active span { color: var(--ink); font-weight: 700; }
.ngin-cic .stepseg.locked { cursor: not-allowed; }
.ngin-cic .stepseg:not(.done):not(.active):not(.locked):hover { background: #d9d9d9; }
@media (max-width: 860px) {
  .ngin-cic .stepbar-inner { gap: 14px; }
  .ngin-cic .stepseg span { display: none; }
  .ngin-cic .stepgroup { padding-bottom: 0; min-width: 90px; }
}

/* 3. Landing */
.ngin-cic .hero-meta { font-size: .84rem; color: var(--ink-faint); font-style: italic; margin-top: 12px; }
.ngin-cic .section-cards-3 { grid-template-columns: repeat(3, 1fr); margin-top: 38px; }
.ngin-cic .sec-card-tabs { font-size: .82rem; color: var(--ink-soft); }
.ngin-cic .intro-prose-wide h3 { font-size: 1.12rem; margin-top: 26px; margin-bottom: 8px; }
@media (max-width: 860px) { .ngin-cic .section-cards-3 { grid-template-columns: 1fr; } }

/* 4. Strategy chips: tighter, with the detail in a tooltip and an
   asterisco en lugar de la etiqueta SHARED. */
.ngin-cic .strat-chip-row { gap: 7px; margin-top: 14px; }
.ngin-cic .strat-chip { padding: 7px 12px; cursor: pointer; }
.ngin-cic .chip-star { color: var(--green); font-weight: 700; margin-left: 3px; }
.ngin-cic .strat-chip.has-tip { position: relative; }
.ngin-cic .strat-chip.has-tip::after { content: attr(data-tip); position: absolute; left: 0; bottom: 128%;
  width: 320px; max-width: 70vw; background: var(--ink); color: #fff; font-size: .76rem; font-weight: 400;
  line-height: 1.45; padding: 9px 11px; border-radius: 5px; opacity: 0; visibility: hidden;
  transition: opacity .12s; z-index: 60; pointer-events: none; text-align: left; }
.ngin-cic .strat-chip.has-tip:hover::after { opacity: 1; visibility: visible; }

/* 5. Roadmap: the download sits at the top, next to the title. */
.ngin-cic .res-top { display: flex; align-items: center; justify-content: space-between; gap: 24px;
  flex-wrap: wrap; }
.ngin-cic .res-top .page-title { margin: 0; }

/* Barras de progreso de Where You Stand: cuatro tramos en escala verde. */
.ngin-cic .res-bar-row { padding: 9px 0; border-bottom: 1px solid var(--line); }
.ngin-cic .res-bar-row:last-child { border-bottom: none; }
.ngin-cic .res-bar-top { display: flex; justify-content: space-between; align-items: baseline;
  gap: 12px; margin-bottom: 6px; }
.ngin-cic .res-bar-top > span:first-child { font-size: .86rem; }
.ngin-cic .res-bar { display: flex; gap: 3px; }
.ngin-cic .bar-seg { flex: 1; height: 7px; border-radius: 2px; background: #d9d9d9; }
.ngin-cic .bar-seg.on.lvl4 { background: #1d2a35; }
.ngin-cic .bar-seg.on.lvl3 { background: #82bd50; }
.ngin-cic .bar-seg.on.lvl2 { background: #82bd50; }
.ngin-cic .bar-seg.on.lvl1 { background: #616a72; }
.ngin-cic .stage-def { font-size: .84rem; color: var(--ink-soft); margin-top: 6px; }

/* "Missing" in navy: in grey it was mistaken for an unselected option. */
.ngin-cic .opt.missing { background: #d9d9d9; color: var(--navy); font-weight: 700; }
.ngin-cic .res-status.missing { color: var(--navy); }

/* Tooltip on the diagram labels. */
.ngin-cic .ring-lbl.has-ringtip { cursor: help; }
.ring-tip { position: fixed; z-index: 90; display: none; max-width: 320px; background: #1d2a35;
  color: #fff; font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: .78rem; line-height: 1.45;
  padding: 9px 11px; border-radius: 5px; pointer-events: none;
  box-shadow: 0 8px 20px -10px rgba(0,0,0,.5); }

/* =========================================================================
   Paso de partnerships: tarjetas de etapa + assessment detallado en un modal
   ========================================================================= */
.ngin-cic .stage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
@media (max-width: 900px) { .ngin-cic .stage-grid { grid-template-columns: 1fr; } }
.ngin-cic .stage-card { position: relative; background: var(--bg-raise); border: 1px solid var(--line);
  border-radius: 12px; padding: 20px; cursor: pointer; transition: border-color .15s; }
.ngin-cic .stage-card:hover { border-color: var(--green); }
.ngin-cic .stage-card.on { border-color: var(--green); background: var(--green-soft); }
.ngin-cic .stage-card h4 { font-size: 1rem; margin-bottom: 8px; padding-right: 74px; }
.ngin-cic .stage-card p { font-size: .85rem; color: var(--ink-soft); line-height: 1.5; }

.ngin-cic .stage-cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 22px; }

.ngin-cic .modal-back { position: fixed; inset: 0; background: rgba(29,42,53,.55); z-index: 100;
  display: flex; align-items: flex-start; justify-content: center; padding: 40px 20px; overflow-y: auto; }
.ngin-cic .modal { background: #fff; border-radius: 14px; width: 100%; max-width: 860px;
  box-shadow: 0 24px 60px -20px rgba(0,0,0,.5); display: flex; flex-direction: column; }
.ngin-cic .modal-head { display: flex; align-items: center; justify-content: space-between;
  padding: 20px 26px; border-bottom: 1px solid var(--line); }
.ngin-cic .modal-head h3 { font-size: 1.15rem; }
.ngin-cic .modal-x { border: none; background: none; font-size: 1.6rem; line-height: 1; cursor: pointer;
  color: var(--ink-faint); padding: 0 4px; }
.ngin-cic .modal-x:hover { color: var(--ink); }
.ngin-cic .modal-body { padding: 22px 26px; }
.ngin-cic .modal-body .lede { margin-top: 0; }
.ngin-cic .modal-foot { padding: 16px 26px; border-top: 1px solid var(--line); display: flex;
  justify-content: flex-end; }
.ngin-cic .modal-done { background: var(--green-soft); border-radius: 10px; padding: 16px 18px;
  margin-top: 18px; font-size: .9rem; }

/* Room between each step 2 section and its AI box: they were sitting
   pegados. */
.ngin-cic .page h3 { margin-top: 34px; }
.ngin-cic .page .res-h { margin-top: 44px; }
.ngin-cic .ai-box { margin-top: 24px; }
.ngin-cic .sub-note { margin-bottom: 4px; }
.ngin-cic .section-cards-3 { margin-top: 44px; }

/* =========================================================================
   Ronda del 9/9 (segunda pasada del documento)
   ========================================================================= */

/* Home: bigger subtitle and step questions; the button between the copy
   texto y las tarjetas. */
.ngin-cic .hero-sub { font-size: 1.16rem; line-height: 1.6; }
.ngin-cic .sec-card h4 { font-size: 1.06rem; }
.ngin-cic .hero-ctas-mid { margin-top: 34px; display: flex; justify-content: center; }

/* Outcomes: name only, with the explanation in a tooltip. */
.ngin-cic .outcome-card.name-only { display: flex; align-items: center; min-height: 92px;
  padding: 18px 20px; }
.ngin-cic .outcome-card.name-only h4 { margin: 0; padding-right: 70px; font-size: 1rem; }
.ngin-cic .outcome-card.full { opacity: .45; cursor: not-allowed; }
.ngin-cic .outcome-card.full:hover { border-color: var(--line); }

/* "What the Evidence Says", collapsed. */
.ngin-cic .ev-fold { border: 1px solid var(--line); border-radius: 12px; padding: 20px 24px;
  margin-top: 44px; background: var(--bg-raise); }
.ngin-cic .ev-fold-head { display: flex; align-items: flex-start; justify-content: space-between;
  gap: 20px; cursor: pointer; }
.ngin-cic .ev-fold-head h3 { margin-top: 0; }
.ngin-cic .ev-fold-head .lede { margin-top: 6px; font-size: .92rem; }
.ngin-cic .ev-fold-x { font-size: 1.5rem; line-height: 1; color: var(--green); flex: none;
  width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 50%; display: flex;
  align-items: center; justify-content: center; }
.ngin-cic .ev-fold .evidence-stack { margin-top: 20px; }

/* Indicator table: no source column and tighter rows. */
.ngin-cic .acs-row.tight { grid-template-columns: minmax(0, 2.8fr) .9fr .9fr; padding: 5px 0; }

/* Email gate before entering the calculator. */
.ngin-cic .modal-narrow { max-width: 540px; }
.ngin-cic .gate-label { display: block; font-size: .74rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: var(--ink-faint); margin: 18px 0 6px; }
.ngin-cic .gate-label span { text-transform: none; letter-spacing: 0; font-weight: 400; }
.ngin-cic .gate-input { width: 100%; border: 1px solid var(--line); border-radius: 8px;
  padding: 11px 13px; font-family: var(--font-body); font-size: .95rem; color: var(--ink);
  background: #fff; }
.ngin-cic .gate-input:focus { outline: none; border-color: var(--green); }
.ngin-cic .gate-check { display: flex; gap: 10px; align-items: flex-start; margin-top: 20px;
  font-size: .86rem; color: var(--ink-soft); line-height: 1.5; cursor: pointer; }
.ngin-cic .gate-check input { margin-top: 3px; flex: none; }
.ngin-cic .gate-privacy { font-size: .78rem; color: var(--ink-faint); line-height: 1.5;
  margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.ngin-cic .gate-err { color: var(--navy); font-weight: 700; font-size: .86rem; margin-top: 14px; }
.ngin-cic .modal-foot { gap: 12px; }

/* Values not connected to the Census API yet. */
.ngin-cic .acs-row .val.pending { color: var(--ink-faint); }
.ngin-cic .acs-box .showmore { margin-top: 12px; }

/* =========================================================================
   Sept 10 round — home from Vicky's mock-up, plus screen tweaks
   ========================================================================= */

/* Home: horizontal journey. Keeps the site's fonts and greens. */
.ngin-cic .home { padding-top: 46px; padding-bottom: 20px; }
.ngin-cic .home-hero { text-align: center; }
.ngin-cic .home-hero h1 { font-size: 2.9rem; line-height: 1.08; max-width: 46rem; margin: 0 auto; }
.ngin-cic .home-lede { font-size: 1.08rem; color: var(--ink-soft); max-width: 44rem;
  margin: 16px auto 0; }
.ngin-cic .home-meta { font-size: .84rem; font-style: italic; color: var(--ink-faint); margin-top: 10px; }

.ngin-cic .path { display: grid; grid-template-columns: repeat(4, 1fr); align-items: start;
  gap: 22px; margin-top: 46px; position: relative; }
.ngin-cic .stn { position: relative; z-index: 1; text-align: center; padding: 0 6px; }
.ngin-cic .stn[data-page] { cursor: pointer; }
.ngin-cic .path > .stn:nth-child(-n+3)::after { content: ""; position: absolute; top: 25px; left: 50%;
  width: calc(100% + 22px); height: 2px; background: var(--green-soft); z-index: 0; }
.ngin-cic .node { width: 50px; height: 50px; border-radius: 50%; background: var(--green); color: #fff;
  margin: 0 auto; position: relative; z-index: 2; display: flex; align-items: center;
  justify-content: center; font-weight: 700; font-size: 1.05rem; }
.ngin-cic .node.result { box-shadow: 0 0 0 6px var(--green-soft); }
.ngin-cic .stn-lbl { font-size: .66rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
  color: var(--ink-faint); margin-top: 14px; }
.ngin-cic .stn-lbl.spacer { visibility: hidden; }
.ngin-cic .stn h3 { font-size: 1.16rem; margin-top: 5px; line-height: 1.25; }
.ngin-cic .stn p { font-size: .83rem; color: var(--ink-faint); margin-top: 6px; }
.ngin-cic .stn.result h3 { color: var(--green); }
.ngin-cic .cta-row { display: flex; justify-content: center; margin-top: 38px; }
.ngin-cic .home-prose { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; margin-top: 44px;
  padding-top: 30px; border-top: 1px solid var(--line); }
.ngin-cic .home-prose h3 { font-family: var(--font-body); font-size: .95rem; font-weight: 700;
  margin-top: 0; }
.ngin-cic .home-prose p { font-size: .88rem; color: var(--ink-soft); margin-top: 8px; }
.ngin-cic .home-band { background: var(--green-soft); border-top: 1px solid #cbdebc; margin-top: 46px; }
.ngin-cic .home-band p { max-width: 74rem; margin: 0 auto; padding: 16px 32px; font-size: .88rem;
  font-style: italic; color: #1d2a35; text-align: center; }
@media (max-width: 940px) {
  .ngin-cic .path { grid-template-columns: 1fr; gap: 28px; }
  .ngin-cic .path > .stn:nth-child(-n+3)::after { display: none; }
  .ngin-cic .home-prose { grid-template-columns: 1fr; gap: 26px; }
  .ngin-cic .home-hero h1 { font-size: 2.1rem; }
}

/* Step 2: the detail lives in the hover, so only a hint is left. */
.ngin-cic .ring-hint { text-align: center; font-size: .8rem; font-style: italic;
  color: var(--ink-faint); margin-top: 4px; }

/* Indicators: small marker in front of each one, and a divider per strategy. */
.ngin-cic .acs-ico { display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--green); margin-right: 9px; vertical-align: middle; }
.ngin-cic .acs-group { font-size: .68rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--ink-faint); margin: 16px 0 6px;
  padding-top: 10px; border-top: 1px solid var(--line); }

/* Partnership stages: numbered and chained. */
.ngin-cic .stage-card { padding-left: 54px; }
.ngin-cic .stage-n { position: absolute; left: 18px; top: 18px; width: 24px; height: 24px;
  border-radius: 50%; background: var(--green-soft); color: var(--green); font-size: .78rem;
  font-weight: 700; display: flex; align-items: center; justify-content: center; }
.ngin-cic .stage-card.on .stage-n { background: var(--green); color: #fff; }

/* Why a case is on screen, and the self-study marker. */
.ngin-cic .case-why { font-size: .88rem; color: var(--ink); margin-bottom: 6px; }
.ngin-cic .case-tag { display: inline-block; margin-left: 10px; font-size: .64rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint);
  background: #f4f4f4; border-radius: 3px; padding: 3px 7px; vertical-align: middle; }

/* Capabilities and actors: grouped on the wheel, two intensities by how many
   of the selected strategies require each item. */
.ngin-cic .ring-dot.w1 { fill: #cbdebc; }
.ngin-cic .ring-dot.w2 { fill: var(--green); }
.ngin-cic .ring-lbl.w1 { fill: var(--ink-soft); }
.ngin-cic .ring-lbl.w2 { fill: var(--ink); font-weight: 700; }
.ngin-cic .ring-groups { display: flex; flex-wrap: wrap; gap: 8px 10px; justify-content: center;
  margin-top: 6px; }
.ngin-cic .ring-groups .rg { font-size: .72rem; color: var(--ink-faint); background: #f4f4f4;
  border-radius: 20px; padding: 4px 11px; }
.ngin-cic .ring-groups .rg b { color: var(--ink-soft); font-weight: 700; text-transform: capitalize; }

/* Real county and tract pickers. */
.ngin-cic .acs-filter-item.wide { flex: 1; min-width: 320px; }
.ngin-cic .geo-select { font-family: var(--font-body); font-size: .88rem; color: var(--ink);
  background: var(--grey-soft); border: 1px solid var(--line); border-radius: 8px;
  padding: 8px 10px; max-width: 260px; }
.ngin-cic .geo-select:disabled { opacity: .6; }
.ngin-cic .geo-tracts { display: flex; gap: 8px; flex-wrap: wrap; }
.ngin-cic .geo-tracts .geo-select { max-width: 180px; }

/* Roadmap gaps as a checklist: tighter than the stacked cards, one sentence
   per item. */
.ngin-cic .gap-check { list-style: none; margin: 4px 0 0; padding: 0; }
.ngin-cic .gap-check li { display: flex; gap: 10px; align-items: flex-start;
  padding: 10px 0; border-bottom: 1px solid var(--line); }
.ngin-cic .gap-check li:last-child { border-bottom: none; }
.ngin-cic .gap-box { flex: none; width: 14px; height: 14px; margin-top: 3px; border-radius: 3px;
  border: 1.5px solid var(--green); background: #fff; }
.ngin-cic .gap-name { font-size: .84rem; font-weight: 700; color: var(--ink); }
.ngin-cic .gap-state { font-size: .66rem; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: var(--ink-faint); margin-left: 8px; }
.ngin-cic .gap-check p { font-size: .82rem; color: var(--ink-soft); line-height: 1.5; margin-top: 3px; }

/* =========================================================================
   Sept 15 round
   ========================================================================= */

/* Instructions sit in dark green with a rule in front, so it reads as
   something to do rather than something to read. */
.ngin-cic .lede.instruction { color: var(--green); font-weight: 700; border-left: 3px solid var(--green);
  padding-left: 14px; margin-top: 18px; }

/* State, county and tract pickers. */
.ngin-cic .geo-box { background: var(--bg-raise); border: 1px solid var(--line); border-radius: 12px;
  padding: 24px 26px; margin-top: 26px; max-width: 760px; }
.ngin-cic .geo-row { display: flex; gap: 20px; flex-wrap: wrap; }
.ngin-cic .geo-field { margin-bottom: 18px; flex: 1; min-width: 240px; }
.ngin-cic .geo-field > label { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: var(--ink-faint); margin-bottom: 7px; }
.ngin-cic .geo-box .geo-select { width: 100%; max-width: none; }
.ngin-cic .geo-tracts .geo-select { max-width: none; flex: 1; min-width: 150px; }

/* Outcome cards in caps. */
.ngin-cic h4.caps { text-transform: uppercase; letter-spacing: .02em; font-size: .92rem; }

/* About */
.ngin-cic .about h3 { margin-top: 32px; }
.ngin-cic .about-list { margin: 10px 0 0 18px; padding: 0; }
.ngin-cic .about-list li { font-size: .95rem; line-height: 1.65; color: var(--ink-soft);
  margin-bottom: 10px; }

/* Background box on the roadmap, and in the download. */
.ngin-cic .bg-box { background: var(--bg-raise); border: 1px solid var(--line); border-radius: 12px;
  padding: 22px 26px; margin-top: 28px; }
.ngin-cic .bg-box h5 { font-size: .7rem; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; color: var(--ink-faint); margin-bottom: 10px; }
.ngin-cic .bg-box p { font-size: .88rem; line-height: 1.6; color: var(--ink-soft); margin-bottom: 8px; }
.ngin-cic .bg-box p:last-child { margin-bottom: 0; }

/* Numbered actions, in the roadmap columns and under the partnership stage. */
.ngin-cic .action-list { margin: 6px 0 0 18px; padding: 0; }
.ngin-cic .action-list li { font-size: .86rem; line-height: 1.5; color: var(--ink);
  margin-bottom: 12px; padding-left: 4px; }
.ngin-cic .action-list li p { font-size: .84rem; color: var(--ink-soft); margin-top: 4px; }

/* The three boxes of Where You Stand line up. */
.ngin-cic .results-grid.even { align-items: stretch; }
.ngin-cic .results-grid.even .res-panel { display: flex; flex-direction: column; }

/* "How we selected this evidence", folded inside the evidence section. */
.ngin-cic .method-note { border: 1px solid var(--line); border-radius: 10px; padding: 14px 18px;
  margin-top: 18px; background: var(--bg); }
.ngin-cic .method-head { border: none; background: none; padding: 0; cursor: pointer;
  font-family: var(--font-body); font-size: .86rem; font-weight: 700; color: var(--green); }
.ngin-cic .method-note p { font-size: .84rem; line-height: 1.6; color: var(--ink-soft);
  margin-top: 10px; }

/* Helper line under the census tract selects. */
.ngin-cic .geo-help {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--ink-soft);
}
.ngin-cic .geo-help a { color: var(--green); }

/* =========================================================================
   Brand guide, September 16
   The guide asks for Lora unbolded, so headings carry weight through size and
   color rather than through bold.
   ========================================================================= */
.ngin-cic h1, .ngin-cic h2, .ngin-cic h3, .ngin-cic h4,
.ngin-cic .page-title, .ngin-cic .brand { font-weight: 500; }

/* Mantis is a light green: white text on it does not read. Buttons carry
   Mirage text on Mantis instead. */
.ngin-cic .btn-primary { background: #82bd50; color: #1d2a35; border-color: #82bd50; }
.ngin-cic .btn-primary:hover { background: #1d2a35; color: #ffffff; border-color: #1d2a35; }

/* For the same reason instructions read in Mirage, with Mantis as the rule. */
.ngin-cic .lede.instruction { color: #1d2a35; border-left-color: #82bd50; }

/* Outcome cards: title case, no bold, a little larger than the body. */
.ngin-cic h4.caps { text-transform: capitalize; font-weight: 500; font-size: 1.05rem;
  color: #1d2a35; letter-spacing: 0; }

/* A Roadmap for Action reads as one vertical list of next steps. */
.ngin-cic .action-stack { margin-top: 18px; }
.ngin-cic .action-sec { border: 1px solid var(--line); border-radius: 12px;
  padding: 20px 24px; margin-bottom: 16px; background: var(--bg-raise); }
.ngin-cic .action-sec h5 { font-size: .72rem; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; color: var(--ink-faint); margin-bottom: 10px; }
.ngin-cic .action-sec .action-list li { font-size: .92rem; line-height: 1.55; }
.ngin-cic .action-sec .gap-state { margin-left: 0; }

/* =========================================================================
   Sept 16, second round — Vicky's mock-ups
   ========================================================================= */

/* Goal cards: narrower, so four columns fit and the names breathe. */
.ngin-cic .grid-3.grid-spaced { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ngin-cic .grid-3.grid-spaced .sec-card { padding: 14px 16px; }
@media (max-width: 1100px) {
  .ngin-cic .grid-3.grid-spaced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Strategies grouped by how many goals they serve. */
.ngin-cic .strat-block { margin-bottom: 22px; }
.ngin-cic .group-head { display: flex; align-items: center; gap: 10px; font-size: .82rem;
  font-weight: 700; color: var(--green); margin-bottom: 8px; }
.ngin-cic .group-n { font-size: .72rem; font-weight: 700; color: var(--ink-faint); }
.ngin-cic .group-hint { margin-left: auto; font-size: .76rem; font-style: italic;
  font-weight: 400; color: var(--ink-faint); }

/* Bubble diagram. Size carries the count; color carries the same thing in
   three steps, for anyone who reads color faster than area. */
.ngin-cic .bub-wrap { margin: 6px auto 4px; max-width: 900px; }
.ngin-cic .bub-svg { width: 100%; height: auto; display: block; }
.ngin-cic .bub circle { fill: #cbdebc; stroke: #ffffff; stroke-width: 2.5; }
.ngin-cic .bub.lvl-some circle { fill: #a5cd86; }
.ngin-cic .bub.lvl-all circle { fill: #82bd50; }
.ngin-cic .bub text { font-family: var(--font-body); font-weight: 700; fill: var(--ink);
  pointer-events: none; letter-spacing: -.01em; }
.ngin-cic .bub.lvl-all text { fill: #ffffff; }
.ngin-cic .bub { cursor: default; }
.ngin-cic .bub circle { transition: filter .12s ease; }
.ngin-cic .bub:hover circle { filter: brightness(.94); }
.ngin-cic .bub-legend { display: flex; gap: 18px; justify-content: center; margin-bottom: 6px;
  font-size: .76rem; color: var(--ink-faint); }
.ngin-cic .bub-legend .bl { display: inline-flex; align-items: center; gap: 6px; }
.ngin-cic .bub-legend i { width: 10px; height: 10px; border-radius: 50%; background: #cbdebc; }
.ngin-cic .bub-legend .lvl-all i { background: #82bd50; }
.ngin-cic .bub-legend .lvl-some i { background: #a5cd86; }

/* =========================================================================
   Roadmap, September 17 redesign
   Six numbered chapters. The number carries the sequence and the alternating
   surface carries the break: the palette has one green, so colour cannot tell
   five sections apart without inventing tones that are not in the guide.
   ========================================================================= */
.ngin-cic .rm-hero { padding: 40px 0 34px; }
.ngin-cic h1.rm { font-size: 2.4rem; font-weight: 500; margin: 6px 0 0; }
.ngin-cic .rm-geo { font-size: 1.02rem; color: var(--ink); margin-top: 14px; font-weight: 700; }
.ngin-cic .rm-intro { font-size: .92rem; color: var(--ink-soft); margin-top: 6px; max-width: 62rem; }
.ngin-cic .rm-date { font-weight: 700; color: var(--ink); margin-right: 8px; }

.ngin-cic .rm-sec { padding: 40px 0; }
.ngin-cic .rm-sec.alt { background: #f4f4f4; }
.ngin-cic .rm-head { display: flex; align-items: baseline; gap: 16px;
  border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.ngin-cic .rm-n { font-family: var(--font-display); font-size: 2.1rem; color: #82bd50;
  line-height: 1; }
.ngin-cic .rm-sec .s-title { font-size: 1.5rem; font-weight: 500; margin: 0; }
.ngin-cic .rm-lead { font-size: .92rem; color: var(--ink-soft); margin: 12px 0 22px;
  max-width: 62rem; }

/* 01 profile: one card per tract, the county as the benchmark card. */
.ngin-cic .prof-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px; }
.ngin-cic .prof-card { background: #fff; border: 1px solid var(--line); border-radius: 12px;
  padding: 16px 18px; }
.ngin-cic .prof-card.bench { background: #1d2a35; border-color: #1d2a35; }
.ngin-cic .prof-card h4 { font-size: .95rem; font-weight: 700; margin: 0 0 10px; }
.ngin-cic .prof-card.bench h4, .ngin-cic .prof-card.bench .pc-row { color: #fff; }
.ngin-cic .pc-tag { font-size: .62rem; letter-spacing: .06em; text-transform: uppercase;
  background: #82bd50; color: #1d2a35; border-radius: 3px; padding: 2px 6px; vertical-align: middle; }
.ngin-cic .pc-row { display: flex; justify-content: space-between; gap: 12px; font-size: .85rem;
  color: var(--ink-soft); padding: 5px 0; border-top: 1px solid rgba(0,0,0,.06); }
.ngin-cic .prof-card.bench .pc-row { border-top-color: rgba(255,255,255,.14); }

/* 02 goals, strategies, baseline */
.ngin-cic .gs-grid { display: grid; grid-template-columns: 1fr 1.35fr; gap: 26px; }
.ngin-cic .gs-col h4, .ngin-cic .stand-col h4, .ngin-cic .act-col h4,
.ngin-cic .ev-top h4, .ngin-cic .bl-top h4 { font-size: .74rem; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 10px; }
.ngin-cic .gs-item { display: flex; gap: 12px; padding: 10px 0;
  border-top: 1px solid var(--line); }
.ngin-cic .gs-item b { font-size: .92rem; }
.ngin-cic .gs-item p { font-size: .84rem; color: var(--ink-soft); margin-top: 3px; }
.ngin-cic .gs-key { flex: none; width: 24px; height: 24px; border-radius: 50%;
  background: #cbdebc; color: #1d2a35; font-size: .78rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center; }
.ngin-cic .gs-key.num { background: #82bd50; }
.ngin-cic .gs-key.sm { display: inline-flex; width: 19px; height: 19px; font-size: .68rem;
  vertical-align: middle; margin-right: 4px; }
.ngin-cic .gs-tag { display: inline-block; font-size: .66rem; font-weight: 700;
  background: #cbdebc; color: #1d2a35; border-radius: 3px; padding: 1px 5px; margin-left: 4px; }

.ngin-cic .bl-wrap { margin-top: 26px; }
.ngin-cic .bl-top { display: flex; align-items: baseline; justify-content: space-between; }
.ngin-cic .bl-note { font-size: .74rem; color: var(--ink-faint); }
.ngin-cic .bl-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.ngin-cic .bl-table th { font-size: .7rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: var(--ink-faint); text-align: right; padding: 6px 8px;
  border-bottom: 1px solid var(--line); }
.ngin-cic .bl-table th:first-child { text-align: left; }
.ngin-cic .bl-table th.bench, .ngin-cic .bl-table td.bench { color: var(--ink); font-weight: 700; }
.ngin-cic .bl-table td { padding: 7px 8px; border-bottom: 1px solid #f4f4f4; }
.ngin-cic .bl-table td.n { text-align: right; white-space: nowrap; }
.ngin-cic .bl-table tr.bl-grp td { font-size: .8rem; font-weight: 700; color: var(--ink);
  padding-top: 16px; border-bottom: none; }

/* 03 where you stand */
.ngin-cic .stand-grid, .ngin-cic .act-grid { display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ngin-cic .stand-col, .ngin-cic .act-col { background: #fff; border: 1px solid var(--line);
  border-radius: 12px; padding: 18px 20px; }
.ngin-cic .st-row { display: flex; justify-content: space-between; align-items: center; gap: 10px;
  font-size: .88rem; padding: 7px 0; border-top: 1px solid #f4f4f4; }
.ngin-cic .st-tag { font-size: .66rem; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: var(--ink-faint); white-space: nowrap; }
.ngin-cic .st-tag.strong { color: #1d2a35; }
.ngin-cic .st-tag.missing { color: #1d2a35; }
.ngin-cic .st-stage { font-size: .95rem; }
.ngin-cic .stand-col p { font-size: .85rem; color: var(--ink-soft); }

/* 04 actions */
.ngin-cic .rm-actions { margin: 0 0 0 18px; padding: 0; }
.ngin-cic .rm-actions li { font-size: .88rem; line-height: 1.55; margin-bottom: 12px; }

/* 05 evidence */
.ngin-cic .ev-top { display: flex; align-items: baseline; justify-content: space-between;
  margin-top: 20px; }
.ngin-cic .ev-shape { font-size: .8rem; color: var(--ink-faint); }
.ngin-cic .ev-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 14px; }
.ngin-cic .ev-chip { border: 1px solid var(--line); background: #fff; border-radius: 20px;
  padding: 5px 13px; font-family: var(--font-body); font-size: .8rem; color: var(--ink-soft);
  cursor: pointer; }
.ngin-cic .ev-chip.on { background: #82bd50; border-color: #82bd50; color: #1d2a35; font-weight: 700; }
.ngin-cic .ev-n { margin-left: 7px; color: var(--ink-faint); font-size: .74rem; }
.ngin-cic .ev-chip.on .ev-n { color: #1d2a35; }
.ngin-cic .ev-item { display: flex; gap: 16px; justify-content: space-between; align-items: flex-start;
  padding: 12px 0; border-top: 1px solid var(--line); }
.ngin-cic .ev-main b { font-size: .9rem; }
.ngin-cic .ev-meta { font-size: .78rem; color: var(--ink-faint); margin-top: 3px; }
.ngin-cic .ev-side { display: flex; align-items: center; gap: 12px; flex: none; }
.ngin-cic .ev-tag { font-size: .66rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; border-radius: 3px; padding: 3px 8px; white-space: nowrap; }
.ngin-cic .ev-tag.eff { background: #cbdebc; color: #1d2a35; }
.ngin-cic .ev-tag.act { background: #f4f4f4; color: var(--ink-faint); }

@media (max-width: 900px) {
  .ngin-cic .gs-grid, .ngin-cic .stand-grid, .ngin-cic .act-grid { grid-template-columns: 1fr; }
}
