/* Blockchain Investigations page. Builds on platform.css (.fp-*); components use .igh- (hero) and .ig- prefixes. */
.fp-invest .fp-hero-copy { grid-column:1 / span 5; }
.fp-invest .fp-hero-visual { grid-column:6 / span 7; }
.fp-invest .fp-hero h1 { font-size:clamp(2.75rem,5.2vw,4.5rem); }
.fp-invest .fp-hero-lead { max-width:520px; }
.fp-invest .fp-hero .fp-btn { padding:14px 20px; font-size:.9375rem; }
.fp-invest .m { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }

/* ---------- graph primitives ---------- */
.ig-svg { display:block; width:100%; height:auto; touch-action:pan-y; }
.ig-bg { fill:transparent; }
.ig-canvas { position:relative; background:#0a1c28; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:32px 32px; border:1px solid #1b3d4e; border-radius:6px; overflow:hidden; }
.ig-e path { stroke:#5fa39a; stroke-width:1.7; fill:none; }
.ig-e--susp path { stroke:#f2c777; } .ig-e--high path { stroke:#ff6b7d; }
.ig-e--susp path, .ig-e--high path { stroke-dasharray:7 5; animation:ig-dash 1.8s linear infinite; }
@keyframes ig-dash { to { stroke-dashoffset:-24; } }
.ig-e text { fill:#b7cccd; font-size:11.5px; font-weight:600; paint-order:stroke; stroke:#0a1c28; stroke-width:4px; stroke-linejoin:round; }
.ig-e--high text { fill:#ffb4ad; } .ig-e--susp text { fill:#f6d99b; }
.ig-n { cursor:pointer; outline:none; transition:opacity .2s; }
.ig-n .c { fill:#12363f; stroke:#3aa387; stroke-width:2; transition:stroke-width .15s; }
.ig-n--susp .c { fill:#3a2f16; stroke:#f2c777; } .ig-n--high .c { fill:#4a1f28; stroke:#ff6b7d; } .ig-n--unk .c { fill:#173c4d; stroke:#7f9fa9; stroke-dasharray:4 3; }
.ig-n--sel .c { fill:#0f8f6e; stroke:#18c79b; stroke-width:3; filter:drop-shadow(0 0 10px rgba(24,199,155,.7)); }
.ig-n .ring { fill:none; stroke:rgba(24,199,155,.55); stroke-width:1.5; stroke-dasharray:3 4; }
.ig-n text.l { fill:#eaf4f2; font-size:12.5px; font-weight:650; } .ig-n text.s { fill:#8fb0b5; font-size:11px; font-family:ui-monospace,Consolas,monospace; }
.ig-hop circle { fill:#062832; stroke:#6fd6b4; stroke-width:1.2; } .ig-hop text { fill:#7ee8c8; font-size:10.5px; font-weight:700; }
.ig-n:hover .c { stroke-width:3.5; } .ig-n:focus-visible .c { stroke:#fff; stroke-width:3.5; }
.ig-n.is-selected .c { stroke:#fff; stroke-width:3.5; filter:drop-shadow(0 0 8px rgba(255,255,255,.55)); }
.ig-group { display:none; } .ig-group rect { fill:rgba(24,199,155,.06); stroke:#18c79b; stroke-width:1.3; stroke-dasharray:6 5; } .ig-group text { fill:#7ee8c8; font-size:12px; font-weight:650; }
.ig-demo.is-grouped .ig-group { display:block; }
.ig-demo:not(.is-expanded) .ig-late { display:none; }
.ig-off { display:none; }
.ig-svg[data-follow="in"] .ig-e:not([data-dir="in"]), .ig-svg[data-follow="out"] .ig-e:not([data-dir="out"]) { opacity:.1; }
.ig-svg[data-follow="in"] .ig-n:not([data-dir="in"]):not([data-dir="self"]), .ig-svg[data-follow="out"] .ig-n:not([data-dir="out"]):not([data-dir="self"]) { opacity:.18; }
.ig-t-off { opacity:.08; }
.ig-svg.is-drag { cursor:grabbing; }
.ig-legend { position:absolute; left:12px; bottom:10px; display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; padding:6px 12px; background:rgba(6,40,50,.86); border:1px solid #1b3d4e; border-radius:5px; font-size:.75rem; color:#b7cccd; }
.ig-legend i { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:-4px; border:2px solid; }
.ig-legend .n { border-color:#3aa387; background:#12363f; } .ig-legend .s { border-color:#f2c777; background:#3a2f16; } .ig-legend .h { border-color:#ff6b7d; background:#4a1f28; } .ig-legend .u { border-color:#7f9fa9; border-style:dashed; background:#173c4d; } .ig-legend .x { border-color:#18c79b; background:#0f8f6e; }
.ig-hint { position:absolute; right:12px; bottom:10px; padding:5px 10px; background:rgba(6,40,50,.86); border:1px solid #1b3d4e; border-radius:5px; font-size:.75rem; color:#8fb0b5; }

/* ---------- hero ---------- */
.igh-paths { position:absolute; inset:0; pointer-events:none; opacity:.9; }
.igh-paths svg { display:block; width:100%; height:100%; }
.igh-paths path { stroke:rgba(24,199,155,.22); stroke-dasharray:4 12; animation:ig-dash 6s linear infinite; }
.igh-paths .p2 { stroke:rgba(111,214,180,.18); animation-duration:8s; } .igh-paths .p3 { stroke:rgba(24,199,155,.12); }
.igh-nodes circle { fill:#18c79b; filter:drop-shadow(0 0 6px rgba(24,199,155,.8)); animation:ig-blink 3.4s ease-in-out infinite; } .igh-nodes circle:nth-child(even) { animation-delay:1.3s; }
@keyframes ig-blink { 50% { opacity:.3; } }
.fu--invest { font-size:.875rem; }
.igh-net { margin-left:auto; font-size:.8125rem; color:#dcebe8; font-weight:600; display:flex; align-items:center; gap:8px; } .igh-net::before { content:''; width:9px; height:9px; border-radius:50%; background:#8aa4ff; box-shadow:0 0 8px #8aa4ff; }
.igh-tool { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; padding:10px 14px; background:#0a1c28; border-bottom:1px solid #1d4254; }
.igh-t { padding:4px 12px; border:1px solid #24485a; border-radius:5px; font-size:.8125rem; color:#8fb0b5; } .igh-t.is-on { background:#18c79b; border-color:#18c79b; color:#03241c; font-weight:700; }
.igh-sep { width:1px; height:20px; background:#24485a; }
.igh-f { font-size:.8125rem; color:#8fb0b5; } .igh-f b { color:#fff; font-weight:600; }
.igh-leg { margin-left:auto; display:flex; align-items:center; gap:4px 10px; font-size:.75rem; color:#b7cccd; } .igh-leg i { width:9px; height:9px; border-radius:50%; border:2px solid; margin-right:-4px; } .igh-leg .n { border-color:#3aa387; } .igh-leg .s { border-color:#f2c777; } .igh-leg .h { border-color:#ff6b7d; }
.igh-main { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); gap:12px; padding:12px; }
.igh-canvas { min-width:0; } .igh-canvas .ig-canvas { height:100%; display:flex; align-items:center; } .ig-svg--hero { height:100%; max-height:470px; }
.igh-side { display:grid; gap:12px; align-content:start; }
.igh-box { background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:12px 14px; }
.igh-box-h { display:flex; justify-content:space-between; gap:8px; margin-bottom:8px; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; } .igh-box-h span:last-child { text-transform:none; letter-spacing:0; font-weight:500; }
.igh-ev { list-style:none; margin:0; padding:0; display:grid; gap:9px; } .igh-ev li { margin:0; padding-left:10px; border-left:2px solid #3aa387; } .igh-ev b { display:block; color:#fff; font-size:.8125rem; font-weight:600; } .igh-ev small { display:block; color:#8fb0b5; font-size:.75rem; }
.igh-note { margin:0!important; font-size:.8125rem!important; line-height:1.55!important; color:#dcebe8!important; } .igh-note em { color:#f2c777; font-style:normal; }
.igh-time { display:flex; align-items:center; gap:12px; padding:10px 16px 14px; border-top:1px solid #1d4254; background:#0a1c28; }
.igh-time .m { font-size:.75rem; color:#8fb0b5; white-space:nowrap; }
.igh-track { position:relative; flex:1; height:6px; background:#16394a; border-radius:3px; }
.igh-track em { position:absolute; left:0; top:0; bottom:0; background:linear-gradient(90deg,#0f8f6e,#18c79b); border-radius:3px; }
.igh-track i { position:absolute; top:-3px; width:2px; height:12px; background:#5fa39a; } .igh-track i.h { background:#ff6b7d; }
.igh-track b { position:absolute; top:-6px; width:16px; height:16px; margin-left:-8px; border-radius:50%; background:#fff; border:3px solid #18c79b; box-shadow:0 0 10px rgba(24,199,155,.7); }

/* ---------- 1. workflow path ---------- */
.ig-path { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:auto 84px auto; column-gap:16px; position:relative; }
.ig-line { grid-column:1 / -1; grid-row:2; align-self:center; height:2px; margin-inline:calc(100% / 12); background:repeating-linear-gradient(90deg,#7fbfa9 0 8px,transparent 8px 14px); }
.ig-stn { justify-self:center; align-self:center; position:relative; z-index:1; }
.ig-sico { display:grid; place-items:center; width:60px; height:60px; border-radius:50%; background:#0a2a36; color:#18c79b; box-shadow:0 0 0 7px #fff,0 0 0 8px #d3e6de,0 14px 26px -16px rgba(6,40,50,.8); }
.ig-sico svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ig-stn em { position:absolute; right:-10px; top:-10px; width:24px; height:24px; border-radius:50%; background:var(--em); color:#fff; font:700 .8125rem ui-monospace,Consolas,monospace; font-style:normal; display:grid; place-items:center; box-shadow:0 0 0 3px #fff; }
.ig-pc { position:relative; background:var(--mint-l); border:1px solid #d3e6de; border-radius:8px; padding:16px 16px 14px; transition:transform .22s,border-color .22s,box-shadow .22s; }
.ig-pc:hover { transform:translateY(-3px); border-color:#9fd0c1; box-shadow:0 24px 40px -30px rgba(0,110,90,.5); }
.ig-pc h3 { font-size:1.0625rem; line-height:1.25; letter-spacing:-.01em; margin:0 0 6px; } .ig-pc p { font-size:.9375rem; line-height:1.5; margin:0; }
.ig-pc::after { content:''; position:absolute; left:50%; width:2px; height:20px; background:#7fbfa9; }
.ig-pc[style*="grid-row:1"] { align-self:end; margin-bottom:0; } .ig-pc[style*="grid-row:1"]::after { bottom:-20px; }
.ig-pc[style*="grid-row:3"] { align-self:start; } .ig-pc[style*="grid-row:3"]::after { top:-20px; }
.ig-keep { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:48px 0 0; padding:0; }
.fp-content .ig-keep { margin-top:48px; }
.ig-keep li { position:relative; margin:0; padding:26px 24px; background:#fff; border:1px solid var(--line); border-top:3px solid var(--em); border-radius:8px; box-shadow:0 26px 44px -38px rgba(6,40,50,.5); }
.ig-kico { display:grid; place-items:center; width:48px; height:48px; border-radius:8px; background:#0a2a36; color:#18c79b; margin-bottom:16px; }
.ig-kico svg, .ig-cico svg, .ig-bi svg, .ig-qi svg, .ig-xico svg, .ig-mico svg, .ig-pico svg, .ig-cico2 svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ig-keep small { display:block; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--em); font-weight:700; margin-bottom:6px; }
.ig-keep h3 { font-size:1.3125rem; letter-spacing:-.02em; margin:0 0 8px; } .ig-keep p { font-size:1rem; line-height:1.6; margin:0; }

/* ---------- 2. graph demo ---------- */
.ig-demo { background:#0c2230; border:1px solid #24485a; border-radius:10px; overflow:hidden; box-shadow:0 60px 110px -40px rgba(0,0,0,.85),0 0 0 1px rgba(24,199,155,.2),0 0 90px -24px rgba(24,199,155,.25); color:#dcebe8; }
.ig-toolbar { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 18px; padding:14px 18px; background:#0f2b3b; border-bottom:1px solid #1d4254; }
.ig-tg { display:grid; gap:5px; } .ig-tg small { font-size:.6875rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; display:flex; justify-content:space-between; gap:10px; } .ig-tg small b { color:#7ee8c8; text-transform:none; letter-spacing:0; }
.ig-seg { display:flex; border:1px solid #24485a; border-radius:6px; overflow:hidden; }
.ig-seg button { padding:7px 12px; background:#0c2230; border:0; border-right:1px solid #24485a; color:#b7cccd; font:inherit; font-size:.8125rem; font-weight:600; cursor:pointer; } .ig-seg button:last-child { border-right:0; }
.ig-seg button.is-on { background:#18c79b; color:#03241c; } .ig-seg button:hover { color:#fff; } .ig-seg button:focus-visible { outline:2px solid #18c79b; outline-offset:-2px; }
.ig-seg--risk button { opacity:.5; } .ig-seg--risk button.on { opacity:1; } .ig-seg--risk .n.on { box-shadow:inset 0 -3px #3aa387; } .ig-seg--risk .s.on { box-shadow:inset 0 -3px #f2c777; } .ig-seg--risk .h.on { box-shadow:inset 0 -3px #ff6b7d; }
.ig-sel { display:inline-flex; align-items:center; gap:10px; padding:7px 12px; background:#0c2230; border:1px solid #24485a; border-radius:6px; font-size:.8125rem; color:#fff; font-weight:600; } .ig-sel em { font-style:normal; color:#8fb0b5; }
.ig-tg--amt { min-width:150px; }
.ig-range { -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:3px; background:linear-gradient(90deg,#18c79b var(--p,0%),#24485a var(--p,0%)); outline:none; cursor:pointer; }
.fp-invest input.ig-range { min-height:0; height:6px; padding:0; border:0; border-radius:3px; background:linear-gradient(90deg,#18c79b var(--p,0%),#24485a var(--p,0%)); box-shadow:none; }
.ig-range::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:#fff; border:3px solid #18c79b; box-shadow:0 2px 6px rgba(0,0,0,.4); } .ig-range::-moz-range-thumb { width:14px; height:14px; border-radius:50%; background:#fff; border:3px solid #18c79b; }
.ig-range:focus-visible { outline:3px solid #6fd6b4; outline-offset:6px; }
.ig-zoom { margin-left:auto; display:flex; border:1px solid #24485a; border-radius:6px; overflow:hidden; } .ig-zoom button { padding:7px 14px; background:#0c2230; border:0; border-right:1px solid #24485a; color:#fff; font:inherit; font-weight:700; cursor:pointer; } .ig-zoom button:last-child { border-right:0; } .ig-zoom button:hover { background:#173c4d; } .ig-zoom button:focus-visible { outline:2px solid #18c79b; outline-offset:-2px; }
.ig-body { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:14px; padding:14px; }
.ig-body .ig-canvas { cursor:grab; }
.ig-panel { display:grid; gap:12px; align-content:start; }
.ig-sel-card { background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:16px; }
.ig-sel-card small, .ig-lists small { display:block; font-size:.6875rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; margin-bottom:6px; }
.ig-sel-card h3 { font-size:1.1875rem; color:#fff; margin:0 0 6px; letter-spacing:-.01em; } .ig-sel-card code { display:block; font:.8125rem/1.45 ui-monospace,Consolas,monospace; color:#8fb0b5; word-break:break-all; margin-bottom:12px; }
.ig-sel-card dl { margin:0; display:grid; gap:7px; } .ig-sel-card dl div { display:grid; grid-template-columns:78px minmax(0,1fr); gap:8px; font-size:.875rem; } .ig-sel-card dt { color:#8fb0b5; } .ig-sel-card dd { margin:0; color:#fff; font-weight:600; }
.ig-acts { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ig-acts button { padding:9px 10px; background:#10303f; border:1px solid #2d5768; border-radius:6px; color:#dcebe8; font:inherit; font-size:.8125rem; font-weight:650; cursor:pointer; transition:background .16s,border-color .16s; }
.ig-acts button:hover { border-color:#18c79b; color:#fff; } .ig-acts button.is-on, .ig-acts button[aria-pressed="true"] { background:rgba(24,199,155,.16); border-color:#18c79b; color:#7ee8c8; } .ig-acts button.pri { background:#18c79b; border-color:#18c79b; color:#03241c; } .ig-acts button:focus-visible { outline:2px solid #6fd6b4; outline-offset:2px; }
.ig-lists { background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:14px 16px; display:grid; gap:14px; }
.ig-lists ul { list-style:none; margin:0; padding:0; display:grid; gap:6px; } .ig-lists li { margin:0; padding:6px 10px; border-left:2px solid #3aa387; background:#0e2634; font-size:.8125rem; color:#dcebe8; line-height:1.4; }
.ig-save { margin-top:8px; padding:7px 12px; background:transparent; border:1px dashed #2d5768; border-radius:5px; color:#7ee8c8; font:inherit; font-size:.8125rem; font-weight:650; cursor:pointer; } .ig-save:hover { border-color:#18c79b; }
.ig-demo + .fp-sample, .ig-demo .fp-sample { margin:0!important; padding:10px 18px 14px; text-align:left; }

/* ---------- 3. inspection ---------- */
.ig-insp { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:20px; align-items:start; }
.ig-insp-graph .ig-canvas { box-shadow:0 40px 70px -46px rgba(3,30,38,.8); }
.ig-insp-cards { display:grid; gap:16px; }
.ig-card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:22px; box-shadow:0 26px 44px -36px rgba(6,40,50,.5); }
.ig-card-h { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:14px; align-items:center; margin-bottom:14px; } .ig-card-h small { display:block; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--em); font-weight:700; } .ig-card-h h3 { font-size:1.25rem; margin:2px 0 0; letter-spacing:-.015em; }
.ig-cico { display:grid; place-items:center; width:48px; height:48px; border-radius:8px; background:#0a2a36; color:#18c79b; }
.ig-badge { font-style:normal; font-size:.8125rem; font-weight:700; padding:4px 12px; border-radius:999px; } .ig-badge--susp { background:#fdf1dc; color:#8a5a06; }
.ig-addr { display:block; padding:10px 12px; background:var(--mint-l); border:1px solid #d3e6de; border-radius:6px; font:.875rem/1.45 ui-monospace,Consolas,monospace; color:var(--ink); word-break:break-all; margin-bottom:14px; }
.ig-dl { margin:0 0 14px; display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; } .ig-dl div { border-left:3px solid var(--em); padding-left:12px; } .ig-dl dt { font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); font-weight:650; } .ig-dl dd { margin:2px 0 0; font-size:1.0625rem; font-weight:650; color:var(--ink); }
.ig-chips { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; } .ig-chips small { width:100%; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); font-weight:650; }
.ig-chips span { padding:5px 12px; border-radius:5px; background:var(--mint); color:#0b5b49; font-size:.875rem; font-weight:650; } .ig-chips .s { background:#fdf1dc; color:#8a5a06; } .ig-chips .h { background:#fde7ea; color:#a3202f; }
.ig-conf-h { display:flex; justify-content:space-between; font-weight:650; margin-bottom:8px; color:var(--ink); } .ig-conf-h b { color:#8a5a06; }
.ig-meter { height:10px; background:#e2ece8; border-radius:2px; overflow:hidden; } .ig-meter i { display:block; height:100%; background:linear-gradient(90deg,#e0b455,#e6a340); }
.ig-conf p { margin:10px 0 14px!important; font-size:.9375rem!important; padding:10px 12px; background:#fdf6e6; border-left:3px solid #e0b455; border-radius:4px; color:var(--ink)!important; }
.ig-src { list-style:none; margin:0; padding:0; display:grid; gap:8px; } .ig-src li { margin:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; padding:10px 12px; background:var(--mint-l); border:1px solid #d3e6de; border-radius:6px; } .ig-src b { font-size:.9375rem; } .ig-src span { grid-column:1; font-size:.875rem; color:var(--mute); } .ig-src em { grid-row:1 / 3; grid-column:2; align-self:center; font-style:normal; font-size:.8125rem; font-weight:700; padding:3px 10px; border-radius:4px; background:#fff; border:1px solid #cfe1d9; color:#0b5b49; }
.ig-boundary { display:flex; gap:14px; align-items:flex-start; margin:22px 0 0!important; padding:18px 22px; background:#062832; border:1px solid #0f4654; border-left:4px solid #18c79b; border-radius:6px; font-size:1.0625rem!important; line-height:1.55!important; color:#c3d7d4!important; }
.ig-boundary svg { flex:none; width:26px; height:26px; fill:none; stroke:#18c79b; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; margin-top:2px; } .ig-boundary b { color:#fff; }
.fp-content .ig-boundary { margin-top:22px; }

/* ---------- 4. cross-chain ---------- */
.ig-xc-lane { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px; margin:0; padding:0; }
.ig-xn { position:relative; margin:0; padding:24px 20px 20px; background:var(--mint-l); border:1px solid #d3e6de; border-top:3px solid var(--em); border-radius:8px; display:flex; flex-direction:column; gap:6px; }
.ig-xn--mid { border-top-color:#e0b455; background:#fdf9ee; border-color:#eddcaa; } .ig-xn--end { border-top-color:#4c6fa5; }
.ig-xico { display:grid; place-items:center; width:48px; height:48px; border-radius:8px; background:#0a2a36; color:#18c79b; margin-bottom:8px; }
.ig-xn small { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--em); font-weight:700; } .ig-xn--mid small { color:#8a5a06; } .ig-xn--end small { color:#4c6fa5; }
.ig-xn h3 { font-size:1.25rem; letter-spacing:-.015em; margin:0; } .ig-xn code { font:.875rem ui-monospace,Consolas,monospace; color:var(--mute); }
.ig-xt { margin-top:10px; padding-top:12px; border-top:1px solid rgba(6,40,50,.12); display:grid; gap:4px; } .ig-xt span { display:flex; align-items:center; gap:8px; font-size:.875rem; color:var(--mute); } .ig-xt svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; } .ig-xt b { font-size:.9375rem; color:var(--ink); }
.ig-xa { position:absolute; right:-40px; top:44px; width:40px; display:flex; flex-direction:column; align-items:center; z-index:2; }
.ig-xa::before { content:'\2192'; font-size:1.375rem; color:var(--em); line-height:1; } .ig-xa b { position:absolute; top:26px; font-size:.75rem; letter-spacing:.04em; font-weight:700; color:#fff; background:var(--navy-2); padding:2px 8px; border-radius:4px; white-space:nowrap; }
.ig-xc-conv { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:34px 0 0; padding:0; }
.fp-content .ig-xc-conv { margin-top:34px; }
.ig-xc-conv li { margin:0; padding:18px 22px; background:#062832; border:1px solid #0f4654; border-radius:8px; } .ig-xc-conv small { display:block; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; margin-bottom:4px; } .ig-xc-conv b { color:#fff; font-size:1.25rem; }
.ig-confirm { display:flex; gap:12px; align-items:center; margin:22px 0 0!important; padding:16px 20px; background:#fdf6e6; border:1px solid #ecd49a; border-left:4px solid #e0b455; border-radius:6px; font-size:1rem!important; color:var(--ink)!important; } .ig-confirm svg { flex:none; width:22px; height:22px; fill:none; stroke:#8a5a06; stroke-width:1.8; }
.fp-content .ig-confirm { margin-top:22px; }

/* ---------- 5. timeline ---------- */
.ig-sync { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:16px; align-items:start; }
.ig-scrub { display:flex; align-items:center; gap:14px; margin-top:12px; padding:14px 16px; background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; }
.ig-play { flex:none; width:40px; height:40px; border-radius:50%; background:#18c79b; border:0; color:#03241c; font-size:.875rem; font-weight:700; cursor:pointer; } .ig-play:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.ig-scrub-track { flex:1; } .ig-ticks { display:flex; justify-content:space-between; margin-top:8px; font-size:.75rem; color:#8fb0b5; } .ig-ticks i { font-style:normal; }
.ig-scrub output { flex:none; min-width:78px; text-align:right; font-weight:700; color:#7ee8c8; font-size:.9375rem; }
.ig-evs { list-style:none; margin:0; padding:0; display:grid; gap:0; background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:8px 18px; counter-reset:e; }
.ig-evs li { margin:0; padding:13px 0 13px 24px; border-bottom:1px solid #16394a; font-size:.9375rem; color:#dcebe8; position:relative; display:grid; gap:3px; line-height:1.45; transition:opacity .2s; } .ig-evs li:last-child { border-bottom:0; }
.ig-evs li::before { content:''; position:absolute; left:0; top:19px; width:10px; height:10px; border-radius:50%; background:#18c79b; box-shadow:0 0 8px rgba(24,199,155,.7); } .ig-evs li.ig-t-off::before { background:#24485a; box-shadow:none; }
.ig-evs .m { font-size:.75rem; color:#8fb0b5; }
.ig-mets { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:20px 0 0; padding:0; }
.fp-content .ig-mets { margin-top:20px; }
.ig-mets li { margin:0; display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; padding:18px; background:#0a1c28; border:1px solid #1b3d4e; border-radius:8px; }
.ig-mico { display:grid; place-items:center; width:48px; height:48px; border-radius:8px; background:rgba(24,199,155,.12); border:1px solid rgba(24,199,155,.3); color:#18c79b; }
.ig-mets small { display:block; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; } .ig-mets b { display:block; color:#fff; font-size:1.375rem; letter-spacing:-.015em; margin:2px 0; } .ig-mets div > span { font-size:.875rem; color:#a9c2c4; }

/* ---------- 6. evidence workspace ---------- */
.ig-evw { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,2fr) minmax(0,1fr); gap:16px; align-items:start; }
.ig-ecol { display:grid; gap:16px; } .ig-ecol--wide { grid-template-columns:1fr 1fr; } .ig-ecol--wide .ig-ebox:nth-child(1), .ig-ecol--wide .ig-ebox:nth-child(3), .ig-ecol--wide .ig-ebox:nth-child(4) { grid-column:auto; } .ig-ecol--wide .ig-ebox:nth-child(3), .ig-ecol--wide .ig-ebox:nth-child(4) { grid-column:1 / -1; }
.ig-ebox { background:#fff; border:1px solid #cfe1d9; border-radius:8px; padding:18px 20px; box-shadow:0 26px 44px -38px rgba(6,40,50,.5); }
.ig-ebox h3 { font-size:.8125rem; letter-spacing:.12em; text-transform:uppercase; color:var(--em); margin:0 0 14px; font-weight:700; }
.ig-saved, .ig-pinned, .ig-act { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ig-saved li { margin:0; display:grid; grid-template-columns:10px minmax(0,1fr); gap:2px 10px; align-items:center; } .ig-saved b { font-size:.9375rem; color:var(--ink); } .ig-saved small { grid-column:2; font-size:.875rem; color:var(--mute); }
.ig-dot { width:10px; height:10px; border-radius:50%; background:var(--em); } .ig-dot--b { background:#4c6fa5; }
.ig-pinned li { margin:0; display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 12px; background:var(--mint-l); border:1px solid #d3e6de; border-radius:6px; }
.ig-pico { display:grid; place-items:center; width:36px; height:36px; border-radius:6px; background:#0a2a36; color:#18c79b; } .ig-pico svg { width:18px; height:18px; } .ig-pico--lg { width:48px; height:48px; border-radius:8px; } .ig-pico--lg svg { width:24px; height:24px; }
.ig-pinned b { display:block; font-size:.875rem; color:var(--ink); } .ig-pinned small { font-size:.875rem; color:var(--mute); } .ig-pinned em { font-style:normal; font-size:.75rem; color:var(--mute); font-family:ui-monospace,Consolas,monospace; }
.ig-snaps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; } .ig-snap { background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:10px; } .ig-snap svg { display:block; width:100%; height:auto; } .ig-snap small { display:block; margin-top:6px; font-size:.75rem; color:#a9c2c4; line-height:1.35; }
.ig-anotes { list-style:none; margin:0; padding:0; display:grid; gap:14px; } .ig-anotes li { margin:0; display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; } .ig-anotes b { font-size:.9375rem; color:var(--ink); } .ig-anotes b em { font-style:normal; font-weight:500; font-size:.8125rem; color:var(--mute); margin-left:8px; } .ig-anotes p { margin:2px 0 0!important; font-size:.9375rem!important; line-height:1.55!important; }
.ig-av { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#062832; color:#7ee8c8; font-size:.75rem; font-weight:700; } .ig-av--b { background:var(--em); color:#fff; }
.ig-srctab { width:100%; border-collapse:collapse; font-size:.9375rem; } .ig-srctab th { text-align:left; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); padding:0 10px 8px 0; border-bottom:1px solid var(--line); } .ig-srctab td { padding:10px 10px 10px 0; border-bottom:1px solid #eef3f1; color:var(--ink); } .ig-srctab tr:last-child td { border-bottom:0; } .ig-srctab td.m { font-size:.8125rem; color:var(--mute); }
.ig-act li { margin:0; font-size:.9375rem; color:var(--ink); padding-left:14px; border-left:2px solid var(--em); display:grid; gap:1px; } .ig-act .m { font-size:.75rem; color:var(--mute); }
.ig-pkg { background:linear-gradient(180deg,#062f3a,#062832); border:1px solid #0f4654; border-radius:8px; padding:22px; color:#dcebe8; box-shadow:0 40px 70px -46px rgba(3,30,38,.8); }
.ig-pkg-h { display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; align-items:center; margin-bottom:16px; } .ig-pkg small { display:block; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:#6fd6b4; font-weight:700; } .ig-pkg h3 { color:#fff; font-size:1.125rem; margin:2px 0 0; }
.ig-pkg ul { list-style:none; margin:0 0 16px; padding:0; display:grid; gap:10px; } .ig-pkg li { margin:0; display:flex; gap:10px; align-items:flex-start; font-size:.9375rem; line-height:1.45; } .ig-pkg li svg { flex:none; width:20px; height:20px; fill:none; stroke:#18c79b; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; margin-top:1px; }
.ig-pkg p { font-size:.9375rem!important; color:#a9c2c4!important; margin:0 0 18px!important; line-height:1.55!important; }
.ig-export { display:inline-flex; align-items:center; gap:10px; padding:11px 20px; background:#18c79b; border-radius:6px; color:#03241c; font-weight:700; font-size:.9375rem; } .ig-export svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- 7. scope builder ---------- */
.ig-conv { align-items:start; }
.ig-prep { list-style:none; margin:26px 0 0; padding:0; position:relative; } .fp-content .ig-prep { margin-top:26px; }
.ig-prep::before { content:''; position:absolute; left:17px; top:20px; bottom:20px; width:2px; background:repeating-linear-gradient(180deg,#7fbfa9 0 6px,transparent 6px 11px); }
.ig-prep li { position:relative; display:flex; align-items:center; gap:16px; padding:11px 0; margin:0; font-size:1.125rem; font-weight:600; color:var(--ink); } .ig-prep li span { position:relative; z-index:1; flex:none; width:36px; height:36px; border-radius:6px; background:var(--navy-2); color:#18c79b; display:grid; place-items:center; font:700 .9375rem ui-monospace,Consolas,monospace; }
.ig-prep-note { margin:14px 0 0!important; font-size:.9375rem!important; }
.ig-bgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ig-bc { background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; box-shadow:0 26px 44px -36px rgba(6,40,50,.5); transition:border-color .22s,box-shadow .22s; } .ig-bc:hover, .ig-bc:focus-within { border-color:#9fd0c1; box-shadow:0 30px 50px -32px rgba(0,110,90,.5); }
.ig-bc--wide { grid-column:1 / -1; }
.ig-bc-h { display:flex; align-items:center; gap:14px; padding:14px 18px; background:var(--mint-l); border-bottom:1px solid #dbe8e2; } .ig-bi { flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:8px; background:#0a2a36; color:#18c79b; }
.ig-bc-h small { display:block; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--em); font-weight:700; } .ig-bc-h h3 { font-size:1.125rem; line-height:1.25; margin:2px 0 0; }
.ig-bc-b { padding:16px 18px 18px; display:flex; flex-wrap:wrap; gap:8px; align-content:flex-start; }
.ig-chip { position:relative; cursor:pointer; } .ig-chip input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.ig-chip span { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border:1px solid #c5d8cf; border-radius:6px; background:#fff; color:var(--ink); font-size:.9375rem; font-weight:600; transition:background .16s,color .16s,border-color .16s; }
.ig-chip input:checked + span { background:var(--em); border-color:var(--em); color:#fff; } .ig-chip input:checked + span::before { content:'\2713'; font-size:.8125rem; } .ig-chip input:focus-visible + span { outline:3px solid var(--em); outline-offset:2px; } .ig-chip:hover span { border-color:var(--em); }
.ig-q { width:100%; padding:14px 16px; background:#062832; border-left:4px solid #18c79b; border-radius:6px; } .ig-q small { display:block; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:#6fd6b4; font-weight:700; margin-bottom:4px; } .ig-q p { margin:0!important; color:#eaf4f2!important; font-size:1.0625rem!important; line-height:1.5!important; }
.ig-chips-row { width:100%; display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
.ig-addrs { list-style:none; margin:0; padding:0; width:100%; display:grid; gap:8px; } .ig-addrs li { margin:0; display:flex; align-items:center; gap:12px; padding:10px 12px; background:var(--mint-l); border:1px solid #d3e6de; border-radius:6px; } .ig-addrs code { font:.9375rem ui-monospace,Consolas,monospace; color:var(--ink); } .ig-addrs em { margin-left:auto; font-style:normal; font-size:.8125rem; font-weight:700; color:var(--em); }
.ig-add { padding:8px 14px; border:1px dashed #86b9a8; border-radius:6px; color:var(--em); font-weight:650; font-size:.9375rem; }
.ig-dates { display:grid; grid-template-columns:1fr 1fr; gap:10px; width:100%; margin-bottom:12px; } .ig-dates span { padding:10px 14px; background:var(--mint-l); border:1px solid #d3e6de; border-radius:6px; font-weight:650; color:var(--ink); } .ig-dates small { display:block; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); font-weight:650; }
.ig-bc-b .ig-ctl { width:100%; margin:0 0 12px; } .ig-ctl-h { display:flex; justify-content:space-between; margin-bottom:8px; font-weight:650; font-size:.9375rem; color:var(--ink); } .ig-ctl-h b { color:var(--em); font-family:ui-monospace,Consolas,monospace; }
.ig-bc-b .ig-range { background:linear-gradient(90deg,var(--em) var(--p,50%),#d3dedb var(--p,50%)); } .fp-invest .ig-bc-b input.ig-range { background:linear-gradient(90deg,var(--em) var(--p,50%),#d3dedb var(--p,50%)); } .ig-bc-b .ig-range::-webkit-slider-thumb { border-color:var(--em); } .ig-bc-b .ig-range::-moz-range-thumb { border-color:var(--em); }
.ig-bfoot { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:16px; padding:20px 24px; background:linear-gradient(180deg,#062f3a,#062832); border:1px solid #0f4654; border-radius:8px; } .fp-content .ig-bfoot { margin-top:16px; }
.ig-bfoot b { display:block; color:#fff; font-size:1.125rem; } .ig-bfoot span { color:#a9c2c4; font-size:.9375rem; } .ig-bfoot .fp-btn { flex:none; background:var(--em-b); color:#03241c; border-color:var(--em-b); } .ig-bfoot .fp-btn:hover { background:#3fcaa4; color:#03241c; }

/* ---------- 8. confirmation ---------- */
.ig-q10 { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; padding:0; }
.ig-q10 li { margin:0; display:grid; grid-template-columns:52px minmax(0,1fr); gap:16px; padding:22px 22px; background:#fff; border:1px solid var(--line); border-left:4px solid #e0b455; border-radius:8px; transition:transform .22s,box-shadow .22s; } .ig-q10 li:hover { transform:translateY(-3px); box-shadow:0 26px 44px -34px rgba(138,90,6,.5); }
.ig-qi { display:grid; place-items:center; width:52px; height:52px; border-radius:8px; background:var(--mint); color:var(--em); border:1px solid #cfe6dd; }
.ig-q10 small { display:block; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#8a5a06; margin-bottom:4px; } .ig-q10 h3 { font-size:1.1875rem; line-height:1.25; letter-spacing:-.015em; margin:0 0 6px; } .ig-q10 p { font-size:1rem; line-height:1.55; margin:0; }
.ig-qnote { margin:22px 0 0!important; padding:16px 20px; background:#fdf6e6; border:1px solid #ecd49a; border-left:4px solid #e0b455; border-radius:6px; font-size:1rem!important; color:var(--ink)!important; } .fp-content .ig-qnote { margin-top:22px; }

/* ---------- 10. related chain ---------- */
.ig-chain { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:38px; margin:0; padding:0; }
.ig-cn { position:relative; margin:0; } .ig-cn:not(:last-child)::after { content:'\2192'; position:absolute; right:-30px; top:52px; width:22px; text-align:center; color:var(--em); font-size:1.375rem; z-index:2; }
.ig-cn > a, .ig-cn--start { position:relative; display:flex; flex-direction:column; height:100%; padding:28px 24px 24px; background:#fff; border:1px solid var(--line); border-top:3px solid var(--acc,var(--em)); border-radius:8px; text-decoration:none; color:var(--ink); transition:transform .22s,box-shadow .22s,border-color .22s; }
.ig-cn > a:hover { transform:translateY(-4px); box-shadow:0 28px 46px -30px color-mix(in srgb,var(--acc) 70%,#0a1f2c); border-color:color-mix(in srgb,var(--acc) 45%,#d3dedb); } .ig-cn > a:focus-visible { outline:3px solid var(--acc); outline-offset:3px; }
.ig-cn--start { background:linear-gradient(180deg,#062f3a,#062832); border-color:#0f4654; border-top-color:#18c79b; color:#fff; box-shadow:0 30px 56px -36px rgba(3,30,38,.8); }
.ig-cico2 { display:grid; place-items:center; width:52px; height:52px; border-radius:8px; margin-bottom:16px; background:color-mix(in srgb,var(--acc,#18c79b) 12%,#fff); color:var(--acc,var(--em)); border:1px solid color-mix(in srgb,var(--acc,#18c79b) 28%,#fff); } .ig-cn--start .ig-cico2 { background:rgba(24,199,155,.14); border-color:rgba(24,199,155,.4); color:#18c79b; }
.ig-cn small { display:block; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--acc,var(--em)); margin-bottom:6px; } .ig-cn--start small { color:#6fd6b4; }
.ig-cn h3 { font-size:1.3125rem; letter-spacing:-.02em; margin:0 0 10px; } .ig-cn--start h3 { color:#fff; } .ig-cn p { font-size:1rem; line-height:1.55; margin:0 0 14px; } .ig-cn--start p { color:#c3d7d4; }
.ig-cn--start em { margin-top:auto; align-self:flex-start; font-style:normal; font-size:.8125rem; font-weight:700; padding:5px 12px; border-radius:4px; background:rgba(24,199,155,.16); color:#7ee8c8; }
.ig-cl { margin:auto 0 16px; padding:12px 14px; background:var(--mint-l); border-left:3px solid var(--acc); border-radius:4px; font-size:.9375rem; color:var(--ink); } .ig-cl b { display:block; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--acc); margin-bottom:3px; }
.ig-more { font-weight:700; color:var(--acc); font-size:.9375rem; } .ig-more span { display:inline-block; transition:transform .2s; } .ig-cn > a:hover .ig-more span { transform:translateX(4px); }

/* ---------- 11. CTA ---------- */
.ig-cta { overflow:hidden; isolation:isolate; } .ig-cta > .fp-wrap { position:static; } .ig-cta .fp-wrap > *:not(.ig-cta-graph) { position:relative; z-index:1; }
.ig-cta-graph { position:absolute; right:-40px; top:50%; transform:translateY(-50%); width:min(720px,60%); z-index:0; pointer-events:none; opacity:.85; }
.ig-cta-graph .ig-svg { width:100%; } .ig-cta-graph .ig-n .c { stroke-width:1.5; } .ig-cta-graph .ig-n text { display:none; } .ig-cta-graph .ig-e path { stroke-width:1.3; opacity:.7; }

/* ---------- responsive ---------- */
@media(max-width:1100px) {
	.ig-body { grid-template-columns:1fr; } .ig-sync { grid-template-columns:1fr; }
	.ig-insp { grid-template-columns:1fr; } .ig-evw { grid-template-columns:1fr; } .ig-ecol--wide { grid-template-columns:1fr; } .ig-ecol--wide .ig-ebox { grid-column:auto!important; }
	.ig-xc-lane { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:44px; } .ig-xn:nth-child(2) .ig-xa { display:none; }
	.ig-chain { grid-template-columns:repeat(2,minmax(0,1fr)); } .ig-cn:nth-child(2)::after { display:none; }
	.ig-mets { grid-template-columns:repeat(2,minmax(0,1fr)); } .ig-cta-graph { opacity:.4; }
}
@media(max-width:900px) {
	.fp-invest .fp-hero-copy, .fp-invest .fp-hero-visual { grid-column:1 / -1; }
	.igh-main { grid-template-columns:1fr; } .ig-keep, .ig-q10, .ig-bgrid, .ig-xc-conv { grid-template-columns:1fr; } .ig-bfoot { flex-direction:column; align-items:flex-start; }
	.ig-path { display:grid; grid-template-columns:64px minmax(0,1fr); grid-template-rows:none; column-gap:18px; row-gap:0; }
	.ig-line { display:none; }
	.ig-stn { grid-column:1!important; grid-row:auto!important; justify-self:center; align-self:start; padding-top:8px; }
	.ig-pc { grid-column:2!important; grid-row:auto!important; align-self:start!important; margin-bottom:22px; } .ig-pc::after { display:none; }
	.ig-sico { width:48px; height:48px; } .ig-sico svg { width:22px; height:22px; }
}
@media(max-width:700px) {
	.ig-chain, .ig-xc-lane, .ig-mets { grid-template-columns:1fr; }
	.ig-xc-lane { row-gap:52px; } .ig-xa { right:auto; left:50%; top:auto; bottom:-46px; transform:translateX(-50%); } .ig-xa::before { content:'\2193'; } .ig-xa b { top:24px; } .ig-xn:nth-child(2) .ig-xa { display:flex; }
	.ig-chain { row-gap:36px; } .ig-cn:not(:last-child)::after { content:'\2193'; right:auto; left:50%; top:auto; bottom:-34px; transform:translateX(-50%); } .ig-cn:nth-child(2)::after { display:block; }
	.ig-toolbar { padding:12px; } .ig-zoom { margin-left:0; } .ig-body { padding:10px; } .ig-hint { display:none; }
	.ig-dl { grid-template-columns:1fr; } .ig-snaps { grid-template-columns:1fr 1fr; } .ig-acts { grid-template-columns:1fr; }
	.ig-cta-graph { display:none; } .ig-scrub { flex-wrap:wrap; }
	.igh-leg { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) { .fp-invest *, .fp-invest *::before { animation:none!important; } }
.ig-body .ig-canvas { display:flex; align-items:center; }
.ig-ecol--wide { grid-template-columns:1fr!important; } .ig-ecol--wide .ig-ebox { grid-column:auto!important; }
.ig-pinned li { grid-template-columns:36px minmax(0,1fr) auto; } .ig-pinned li div { min-width:0; } .ig-pinned small { display:block; }
