/* IC360 design system v2 — scoped to .ic-fe. See docs/DESIGN_SYSTEM.md */
.ic-fe {
	--ic-ink: #0b1a2e;
	--ic-ink-2: #3b4a5f;
	--ic-mute: #56657a;
	--ic-bg: #f3f6fa;
	--ic-surface: #fff;
	--ic-line: #dbe3ec;
	--ic-navy: #081426;
	--ic-navy-2: #0f2540;
	--ic-accent: #0a7a9e;
	--ic-accent-2: #22d3ee;
	--ic-accent-ink: #06627f;
	--ic-warn: #b45309;
	--ic-r: 12px;
	--ic-shadow: 0 1px 2px rgba(8, 20, 38, .06), 0 6px 18px rgba(8, 20, 38, .06);
	--ic-shadow-up: 0 2px 4px rgba(8, 20, 38, .08), 0 14px 32px rgba(8, 20, 38, .12);
	--ic-ease: cubic-bezier(.2, .7, .2, 1);
	--ic-fast: 160ms;
	--ic-slow: 420ms;
	background: var(--ic-bg);
	color: var(--ic-ink);
}
.ic-fe .ic-page, .ic-fe .ic-home { color: var(--ic-ink); font-size: 16px; line-height: 1.55; }
.ic-fe .ic-page *, .ic-fe .ic-home * { box-sizing: border-box; }
.ic-fe #primary { width: 100%; max-width: none; margin: 0; padding: 0; }
.ic-fe .site-content .ast-container { max-width: none; padding: 0; display: block; }
.ic-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.ic-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ic-fe a:focus-visible, .ic-fe button:focus-visible, .ic-fe input:focus-visible, .ic-fe select:focus-visible { outline: 3px solid var(--ic-accent-2); outline-offset: 2px; }
.ic-fe h1, .ic-fe h2, .ic-fe h3 { color: inherit; letter-spacing: -.01em; margin: 0; }

/* Page header band */
.ic-pagehead { background: linear-gradient(135deg, var(--ic-navy) 0%, var(--ic-navy-2) 100%); color: #fff; padding: 28px 0 34px; position: relative; overflow: hidden; }
.ic-pagehead::after { content: ""; position: absolute; inset: 0; background: radial-gradient(600px 220px at 85% 0%, rgba(34, 211, 238, .18), transparent 70%); pointer-events: none; }
.ic-pagehead .ic-wrap { position: relative; z-index: 1; }
.ic-pagehead h1 { font-size: clamp(1.9rem, 4vw, 2.9rem); line-height: 1.1; margin: 6px 0 10px; }
.ic-pagehead__lead { max-width: 760px; color: #c6d4e6; font-size: 1.05rem; margin: 0 0 18px; }
.ic-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ic-accent-2); font-weight: 600; margin: 0; }

/* Breadcrumbs */
.ic-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 14px; padding: 0; font-size: .85rem; color: #9fb3cc; }
.ic-crumbs li + li::before { content: "/"; margin-right: 6px; opacity: .6; }
.ic-crumbs a { color: #c6d4e6; text-decoration: none; }
.ic-crumbs a:hover { color: #fff; text-decoration: underline; }

/* Stats */
.ic-statsrow { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.ic-statsrow--inline { max-width: 720px; margin-top: 8px; }
.ic-stat { background: var(--ic-surface); border: 1px solid var(--ic-line); border-radius: var(--ic-r); padding: 16px 18px; box-shadow: var(--ic-shadow); display: flex; flex-direction: column; gap: 2px; }
.ic-pagehead .ic-stat { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); box-shadow: none; }
.ic-stat__value { font-size: 2rem; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.ic-pagehead .ic-stat__value { color: #fff; }
.ic-stat__label { font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ic-mute); }
.ic-pagehead .ic-stat__label { color: #9fb3cc; }
.ic-home .ic-statsrow { margin-top: -34px; position: relative; z-index: 3; }

/* Chips, badges */
.ic-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px; font-size: .8rem; text-decoration: none; background: #eaf3f8; color: var(--ic-accent-ink); border: 1px solid #cfe4ee; transition: background var(--ic-fast), transform var(--ic-fast); }
.ic-chip--country { background: #eef1f8; color: #34467a; border-color: #d6dcef; }
.ic-chip:hover { background: #dcecf4; transform: translateY(-1px); }
.ic-chip b { font-weight: 600; opacity: .75; }
.ic-chip--onDark { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .22); color: #e6f4fa; }
.ic-chip--onDark:hover { background: rgba(255, 255, 255, .18); }
.ic-badge { display: inline-block; padding: 3px 10px; border-radius: 6px; font-size: .72rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; background: #fff3e0; color: var(--ic-warn); }
.ic-badge--type { background: #e3f4ea; color: #12633a; }
.ic-badge--evidence-fact { background: #e3f4ea; color: #12633a; }
.ic-badge--evidence-company_stated { background: #e8f0fb; color: #1d4e9e; }
.ic-badge--evidence-third_party { background: #efe9fb; color: #5b2ea6; }
.ic-badge--evidence-ai_inferred { background: #fff3e0; color: var(--ic-warn); }
.ic-pagehead .ic-badge--type { background: rgba(255, 255, 255, .14); color: #fff; }

/* Buttons, links, forms */
.ic-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--ic-accent); color: #fff; border: 1px solid var(--ic-accent); border-radius: 10px; padding: 10px 18px; font-weight: 600; font-size: .95rem; text-decoration: none; cursor: pointer; transition: transform var(--ic-fast) var(--ic-ease), box-shadow var(--ic-fast); }
.ic-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(14, 143, 184, .35); color: #fff; }
.ic-btn--ghost { background: transparent; color: var(--ic-accent-ink); border-color: var(--ic-accent); }
.ic-btn--ghost:hover { background: #eaf6fb; color: var(--ic-accent-ink); box-shadow: none; }
.ic-btn--block { display: flex; width: 100%; margin-bottom: 10px; }
.ic-link { color: var(--ic-accent-ink); font-weight: 600; text-decoration: none; }
.ic-link:hover { text-decoration: underline; }
.ic-body { padding-top: 28px; padding-bottom: 56px; }
.ic-h2 { font-size: 1.4rem; margin: 30px 0 14px; }
.ic-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; background: var(--ic-surface); border: 1px solid var(--ic-line); border-radius: var(--ic-r); padding: 14px; box-shadow: var(--ic-shadow); }
.ic-field { display: flex; flex-direction: column; gap: 4px; min-width: 150px; }
.ic-field--grow { flex: 1 1 220px; }
.ic-field--actions { flex-direction: row; gap: 8px; min-width: 0; }
.ic-field label { font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ic-mute); font-weight: 600; }
.ic-field input, .ic-field select { height: 42px; border: 1px solid var(--ic-line); border-radius: 8px; padding: 0 12px; background: #fff; color: var(--ic-ink); font-size: .95rem; width: 100%; }
.ic-resultcount { margin: 16px 2px 12px; color: var(--ic-mute); font-size: .9rem; }

/* Grids and cards */
.ic-grid { display: grid; gap: 18px; }
.ic-grid--companies { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.ic-grid--terms { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.ic-grid--people { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.ic-card { position: relative; background: var(--ic-surface); border: 1px solid var(--ic-line); border-radius: var(--ic-r); padding: 18px; box-shadow: var(--ic-shadow); display: flex; flex-direction: column; gap: 12px; transition: transform var(--ic-slow) var(--ic-ease), box-shadow var(--ic-slow) var(--ic-ease), border-color var(--ic-fast); overflow: hidden; }
.ic-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(34, 211, 238, .14), transparent 60%); opacity: 0; transition: opacity var(--ic-slow); pointer-events: none; }
.ic-card:hover { transform: translateY(-3px); box-shadow: var(--ic-shadow-up); border-color: #b9d9e6; }
.ic-card:hover::before { opacity: 1; }
.ic-card__head { display: flex; gap: 12px; align-items: center; }
.ic-card__mono { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--ic-navy-2), var(--ic-accent)); letter-spacing: .02em; }
.ic-card__mono--lg { width: 76px; height: 76px; font-size: 1.6rem; border-radius: 18px; }
.ic-card__logo img { width: 46px; height: 46px; object-fit: contain; border-radius: 10px; }
.ic-card h3 { font-size: 1.05rem; line-height: 1.25; }
.ic-card h3 a { color: var(--ic-ink); text-decoration: none; }
.ic-card h3 a::after { content: ""; position: absolute; inset: 0; }
.ic-card__where { margin: 2px 0 0; font-size: .85rem; color: var(--ic-mute); }
.ic-card__desc { margin: 0; color: var(--ic-ink-2); font-size: .92rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ic-card__tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ic-card__tags a { position: relative; z-index: 2; }
.ic-card__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: .85rem; }
.ic-card__domain { color: var(--ic-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ic-card--term { text-decoration: none; color: var(--ic-ink); gap: 6px; min-height: 120px; }
.ic-card__kicker { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ic-accent-ink); font-weight: 600; }
.ic-card__termname { font-size: 1.15rem; font-weight: 700; }
.ic-card__count { margin-top: auto; color: var(--ic-mute); font-size: .9rem; }
.ic-card__count strong { color: var(--ic-ink); font-size: 1.1rem; }
.ic-card__src { margin: 0; font-size: .8rem; color: var(--ic-mute); }

/* Panels */
.ic-panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.ic-panel { background: var(--ic-surface); border: 1px solid var(--ic-line); border-radius: var(--ic-r); padding: 18px; box-shadow: var(--ic-shadow); }
.ic-panel h2 { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ic-mute); margin-bottom: 12px; }
.ic-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ic-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ic-bars li { display: grid; grid-template-columns: 110px 1fr 28px; gap: 10px; align-items: center; font-size: .9rem; }
.ic-bars__bar { height: 8px; border-radius: 99px; background: #e6edf4; position: relative; overflow: hidden; }
.ic-bars__bar::after { content: ""; position: absolute; inset: 0; width: var(--w); background: linear-gradient(90deg, var(--ic-accent), var(--ic-accent-2)); border-radius: 99px; transform-origin: left; animation: ic-grow var(--ic-slow) var(--ic-ease) both; }
@keyframes ic-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* Pagination, empty */
.ic-pager { margin-top: 28px; }
.ic-pager ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; justify-content: center; }
.ic-pager a, .ic-pager span { display: inline-block; min-width: 40px; text-align: center; padding: 8px 12px; border: 1px solid var(--ic-line); border-radius: 8px; background: #fff; color: var(--ic-ink); text-decoration: none; }
.ic-pager .current { background: var(--ic-navy); color: #fff; border-color: var(--ic-navy); }
.ic-empty { text-align: center; padding: 56px 20px; background: var(--ic-surface); border: 1px dashed var(--ic-line); border-radius: var(--ic-r); }
.ic-empty__title { font-weight: 700; font-size: 1.15rem; margin: 0 0 6px; }
.ic-empty__text { margin: 0; color: var(--ic-mute); }

/* Search */
.ic-search { position: relative; display: flex; gap: 8px; max-width: 760px; background: #fff; border-radius: 14px; padding: 8px; box-shadow: 0 10px 40px rgba(0, 0, 0, .25); }
.ic-search input { flex: 1; border: 0; background: transparent; font-size: 1.05rem; padding: 10px 12px; color: var(--ic-ink); min-width: 0; outline: none; }
.ic-search button { background: var(--ic-accent); color: #fff; border: 0; border-radius: 10px; padding: 0 22px; font-weight: 600; cursor: pointer; }
.ic-search__hint { display: none; align-items: center; gap: 4px; color: var(--ic-mute); font-size: .75rem; padding-right: 6px; }
.ic-search__hint kbd, .ic-cmd kbd { border: 1px solid var(--ic-line); border-bottom-width: 2px; border-radius: 5px; padding: 1px 6px; background: #f6f8fb; font: inherit; color: var(--ic-ink-2); }
@media (min-width: 900px) { .ic-search__hint { display: inline-flex; } }

/* Home */
.ic-hero { background: radial-gradient(900px 400px at 80% 0%, #10375f 0%, transparent 70%), linear-gradient(160deg, var(--ic-navy) 0%, #0b1f38 100%); color: #fff; padding: 72px 0 84px; position: relative; overflow: hidden; }
.ic-hero__net { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .7; }
.ic-net__lines path { fill: none; stroke: rgba(34, 211, 238, .28); stroke-width: 1.2; stroke-dasharray: 6 10; animation: ic-flow 14s linear infinite; }
.ic-net__nodes circle { fill: var(--ic-accent-2); filter: drop-shadow(0 0 6px rgba(34, 211, 238, .9)); animation: ic-pulse 3.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.ic-net__nodes circle:nth-child(2n) { animation-delay: -1.4s; }
@keyframes ic-flow { to { stroke-dashoffset: -160; } }
@keyframes ic-pulse { 0%, 100% { opacity: .55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.5); } }
.ic-hero__inner { position: relative; z-index: 2; }
.ic-hero h1 { font-size: clamp(2.2rem, 6vw, 4rem); line-height: 1.05; margin: 12px 0 14px; font-weight: 800; }
.ic-hero__lead { font-size: clamp(1.05rem, 2vw, 1.3rem); color: #c6d4e6; max-width: 680px; margin: 0 0 26px; }
.ic-hero__quick { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 18px 0 0; color: #9fb3cc; font-size: .9rem; }
.ic-live { width: 8px; height: 8px; border-radius: 50%; background: #34d399; box-shadow: 0 0 0 0 rgba(52, 211, 153, .6); animation: ic-live 2.2s infinite; display: inline-block; margin-right: 8px; }
@keyframes ic-live { 0% { box-shadow: 0 0 0 0 rgba(52, 211, 153, .55); } 70% { box-shadow: 0 0 0 9px rgba(52, 211, 153, 0); } 100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); } }
.ic-block { padding-top: 44px; }
.ic-block__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.ic-block__head h2 { font-size: 1.5rem; display: flex; align-items: center; }
.ic-feed { list-style: none; margin: 0; padding: 0; background: var(--ic-surface); border: 1px solid var(--ic-line); border-radius: var(--ic-r); box-shadow: var(--ic-shadow); }
.ic-feed li { display: grid; grid-template-columns: minmax(160px, 1.2fr) 2fr auto; gap: 14px; padding: 13px 18px; border-top: 1px solid var(--ic-line); align-items: center; }
.ic-feed li:first-child { border-top: 0; }
.ic-feed a { font-weight: 600; color: var(--ic-ink); text-decoration: none; }
.ic-feed a:hover { color: var(--ic-accent-ink); }
.ic-feed__meta, .ic-feed__time { color: var(--ic-mute); font-size: .88rem; }
.ic-chain { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0; align-items: stretch; }
.ic-chain li { position: relative; flex: 1 1 160px; background: var(--ic-surface); border: 1px solid var(--ic-line); border-radius: var(--ic-r); padding: 18px; margin-right: 34px; display: flex; flex-direction: column; gap: 4px; box-shadow: var(--ic-shadow); }
.ic-chain li:last-child { margin-right: 0; }
.ic-chain li:not(:last-child)::after { content: ""; position: absolute; left: 100%; top: 50%; width: 34px; height: 2px; background: repeating-linear-gradient(90deg, var(--ic-accent) 0 6px, transparent 6px 10px); background-size: 20px 2px; animation: ic-line 1.4s linear infinite; }
@keyframes ic-line { to { background-position: 20px 0; } }
.ic-chain span { font-size: 1.8rem; font-weight: 700; color: var(--ic-accent-ink); font-variant-numeric: tabular-nums; }
.ic-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; background: linear-gradient(135deg, var(--ic-navy), var(--ic-navy-2)); color: #fff; padding: 30px; border-radius: 16px; }
.ic-cta h2 { font-size: 1.5rem; margin-bottom: 6px; }
.ic-cta p { margin: 0; color: #c6d4e6; max-width: 640px; }
.ic-home { padding-bottom: 56px; }

/* Company profile */
.ic-profile__id { display: flex; gap: 20px; align-items: center; }
.ic-profile__id h1 { margin: 0 0 4px; }
.ic-profile__where { margin: 0 0 10px; color: #c6d4e6; }
.ic-profile__logo img { width: 84px; height: 84px; object-fit: contain; background: #fff; border-radius: 16px; padding: 8px; }
.ic-profile__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; padding-top: 26px; padding-bottom: 56px; align-items: start; }
.ic-tabs { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 1px solid var(--ic-line); margin-bottom: 18px; }
.ic-tabs a { padding: 10px 14px; text-decoration: none; color: var(--ic-ink-2); font-weight: 600; border-bottom: 3px solid transparent; }
.ic-tabs a:hover, .ic-tabs a:focus-visible { color: var(--ic-accent-ink); border-color: var(--ic-accent); }
.ic-section { margin-bottom: 30px; }
.ic-section h2 { font-size: 1.35rem; margin-bottom: 12px; }
.ic-lead { font-size: 1.15rem; color: var(--ic-ink); margin: 0 0 14px; }
.ic-prose p { color: var(--ic-ink-2); }
.ic-profile__side { position: sticky; top: calc(var(--ic-hdr-h, 64px) + 16px); display: grid; gap: 16px; grid-column: 2; grid-row: 1; }
.ic-profile__main { grid-column: 1; grid-row: 1; }
.ic-facts { margin: 0; display: grid; gap: 12px; }
.ic-facts dt { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ic-mute); }
.ic-facts dd { margin: 2px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.ic-facts a { color: var(--ic-accent-ink); }
.ic-provenance { font-size: .8rem; color: var(--ic-mute); margin: 14px 0 0; }
.ic-panel--cta h2 { margin-bottom: 12px; }

/* Command palette */
.ic-cmd { position: fixed; inset: 0; z-index: 99999; display: none; align-items: flex-start; justify-content: center; padding: 12vh 16px 16px; background: rgba(8, 20, 38, .6); backdrop-filter: blur(4px); }
.ic-cmd[data-open="true"] { display: flex; animation: ic-fade var(--ic-fast) ease-out; }
@keyframes ic-fade { from { opacity: 0; } to { opacity: 1; } }
.ic-cmd__box { width: 100%; max-width: 620px; background: #fff; border-radius: 16px; box-shadow: 0 30px 80px rgba(0, 0, 0, .4); overflow: hidden; color: var(--ic-ink); }
.ic-cmd__input { width: 100%; border: 0; border-bottom: 1px solid var(--ic-line); padding: 18px 20px; font-size: 1.1rem; outline: none; }
.ic-cmd__list { max-height: 52vh; overflow: auto; margin: 0; padding: 6px; list-style: none; }
.ic-cmd__group { padding: 10px 12px 4px; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ic-mute); }
.ic-cmd__item a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 8px; color: var(--ic-ink); text-decoration: none; }
.ic-cmd__item a[aria-selected="true"], .ic-cmd__item a:hover { background: #eaf6fb; }
.ic-cmd__item small { color: var(--ic-mute); }
.ic-cmd__foot { padding: 8px 14px; border-top: 1px solid var(--ic-line); font-size: .75rem; color: var(--ic-mute); display: flex; gap: 14px; }

/* News and search */
.ic-tabs a[aria-current="page"] { color: var(--ic-accent-ink); border-color: var(--ic-accent); }
.ic-pagehead .ic-search { margin-top: 10px; }

/* Responsive */
@media (max-width: 960px) {
	.ic-profile__layout { grid-template-columns: 1fr; }
	.ic-profile__side, .ic-profile__main { grid-column: auto; grid-row: auto; }
	.ic-profile__side { position: static; }
	.ic-feed li { grid-template-columns: 1fr auto; }
	.ic-feed__meta { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 640px) {
	.ic-hero { padding: 44px 0 64px; }
	.ic-profile__id { flex-direction: column; align-items: flex-start; }
	.ic-search { flex-direction: column; }
	.ic-search button { padding: 12px; }
	.ic-chain li { margin-right: 0; margin-bottom: 30px; flex-basis: 100%; }
	.ic-chain li:not(:last-child)::after { left: 50%; top: 100%; width: 2px; height: 30px; background: repeating-linear-gradient(180deg, var(--ic-accent) 0 6px, transparent 6px 10px); animation: none; }
	.ic-bars li { grid-template-columns: 90px 1fr 24px; }
	.ic-field { flex: 1 1 100%; }
	.ic-fe .ic-grid--companies { grid-template-columns: 1fr; }
}

/* Reduced motion: keep state, drop movement */
@media (prefers-reduced-motion: reduce) {
	.ic-fe *, .ic-fe *::before, .ic-fe *::after { animation: none !important; transition: none !important; }
	.ic-card:hover { transform: none; }
}

/* Network */
.ic-net { margin-top: 30px; }
.ic-net__legend { display: flex; gap: 14px; list-style: none; margin: 0; padding: 0; font-size: .8rem; color: var(--ic-mute); }
.ic-net__legend li::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; background: var(--ic-accent); }
.ic-net__legend .is-company::before { background: #64748b; }
.ic-net__legend .is-country::before { background: #7c6fd6; }
.ic-net__stage { background: linear-gradient(160deg, var(--ic-navy), #0b1f38); border-radius: var(--ic-r); padding: 10px; overflow: hidden; box-shadow: var(--ic-shadow); }
.ic-net__svg { display: block; width: 100%; height: auto; opacity: 0; transition: opacity var(--ic-slow); }
.ic-net__svg.is-ready { opacity: 1; }
.ic-net__line { fill: none; stroke: rgba(34, 211, 238, .38); transition: stroke var(--ic-fast), opacity var(--ic-fast); }
.ic-net__hit { fill: none; stroke: transparent; stroke-width: 14; cursor: pointer; }
.ic-net__svg.is-active .ic-net__edge:not(.is-on) .ic-net__line { opacity: .08; }
.ic-net__edge.is-on .ic-net__line { stroke: var(--ic-accent-2); stroke-dasharray: 5 7; animation: ic-flow 2.2s linear infinite; filter: drop-shadow(0 0 4px rgba(34, 211, 238, .8)); }
.ic-net__node rect { fill: #10294a; stroke: rgba(34, 211, 238, .55); stroke-width: 1.2; transition: fill var(--ic-fast), stroke var(--ic-fast); }
.ic-net__node.is-company rect { stroke: rgba(148, 163, 184, .7); }
.ic-net__node.is-country rect { stroke: rgba(167, 155, 245, .8); }
.ic-net__node text { fill: #e6f0fb; font-size: 12px; pointer-events: none; font-family: inherit; }
.ic-net__node { cursor: pointer; outline: none; }
.ic-net__node.is-focus rect { fill: #14406b; stroke-width: 2; }
.ic-net__svg.is-active .ic-net__node:not(.is-on) { opacity: .28; }
.ic-net__node.is-on rect, .ic-net__node:focus rect { stroke: #fff; filter: drop-shadow(0 0 6px rgba(34, 211, 238, .9)); }
.ic-net__node:focus-visible rect { stroke: #fff; stroke-width: 3; }
.ic-net__explain { margin: 10px 2px 0; font-size: .92rem; color: var(--ic-ink-2); min-height: 1.5em; }
.ic-net__note { margin: 2px; font-size: .8rem; color: var(--ic-mute); }
.ic-net__table { margin-top: 10px; }
.ic-net__table summary { cursor: pointer; color: var(--ic-accent-ink); font-weight: 600; }
.ic-net__table table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: .88rem; background: var(--ic-surface); }
.ic-net__table th, .ic-net__table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--ic-line); vertical-align: top; }
.ic-net__table a { color: var(--ic-accent-ink); }
@media (max-width: 640px) { .ic-net__table table { display: block; overflow-x: auto; } }

/* Since-last-visit, pulse, intelligence panels, extension shells */
.ic-since { background: #eaf6fb; border: 1px solid #bfe0ee; border-radius: var(--ic-r); padding: 14px 18px; margin: 18px auto 0; }
.ic-since[hidden] { display: none; }
.ic-since ul { margin: 6px 0 0 18px; padding: 0; }
.ic-since a { color: var(--ic-accent-ink); font-weight: 600; }
.ic-feed__type { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ic-accent-ink); font-weight: 600; display: block; }
.ic-recent { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ic-recent li { display: flex; justify-content: space-between; gap: 10px; font-size: .92rem; border-bottom: 1px solid var(--ic-line); padding-bottom: 8px; }
.ic-recent a { color: var(--ic-ink); text-decoration: none; font-weight: 600; }
.ic-recent span { color: var(--ic-mute); white-space: nowrap; }
.ic-avail { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.ic-avail div { border: 1px solid var(--ic-line); border-radius: 10px; padding: 10px 12px; background: var(--ic-surface); }
.ic-avail b { display: block; font-size: 1.4rem; }
.ic-avail span { font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ic-mute); }
.ic-fresh { font-size: .85rem; color: var(--ic-mute); margin: 0; }
.ic-scope { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ic-scope li { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }

/* Header: see includes/header.php (compact, persistent, site-wide). */

.ic-skip:focus { position: static; width: auto; height: auto; clip: auto; display: inline-block; margin: 0 0 8px; padding: 6px 10px; background: #fff; border: 2px solid var(--ic-accent); border-radius: 6px; }

.ic-net__node text.is-small { font-size: 10.5px; }
/* Neutralise the theme's boxed article styling inside IC360 views. */
.ic-fe .ic-page.ast-article-single, .ic-fe .ic-page.ast-article-post, .ic-fe .ic-profile { background: transparent !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; }
.ic-fe.ast-separate-container #primary { padding: 0 !important; margin: 0 !important; }
.ic-fe.ast-separate-container .site-main > .ic-page { background: transparent; }
@media (max-width: 640px) { .ic-net__stage { padding: 6px; } .ic-wrap { padding: 0 14px; } }

.ic-news-rel { margin-top: 28px; padding: 18px; border: 1px solid var(--ic-line, #dbe3ec); border-radius: 12px; background: #f6f9fc; }
.ic-news-rel h2 { font-size: 1rem; margin: 0 0 10px; }

/* Touch targets: comfortable minimum size for IC360 controls on touch devices (WCAG 2.2 target size). */
@media (pointer: coarse) {
	.ic-chip { min-height: 36px; padding: 6px 13px; }
	.ic-link { display: inline-flex; align-items: center; min-height: 40px; }
	.ic-crumbs a { display: inline-block; padding: 8px 2px; }
	.ic-tabs a { min-height: 44px; display: inline-flex; align-items: center; }
	.ic-pager a, .ic-pager span { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
	.ic-net__table summary { padding: 10px 0; }
}

/* Network domains, live statistics, people, building states */
.ic-statsrow--domains { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.ic-stat--domain { min-height: 112px; }
.ic-stat__note { font-size: .78rem; color: var(--ic-mute); }
.ic-stat__value--building { font-size: 1.35rem; display: inline-flex; align-items: center; gap: 8px; color: var(--ic-ink-2); }
.ic-pagehead .ic-stat__note { color: #9fb3cc; }
.ic-pagehead .ic-stat__value--building { color: #e6f0fb; }
.ic-dot { width: 9px; height: 9px; border-radius: 50%; background: #f59e0b; display: inline-block; margin-right: 8px; animation: ic-live 2.4s infinite; box-shadow: 0 0 0 0 rgba(245, 158, 11, .5); }
.ic-stat__value--building .ic-dot { margin-right: 0; }
.ic-statsnote { font-size: .8rem; color: var(--ic-mute); margin: 10px auto 0; }
.ic-hero__pills { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 16px 0 0; padding: 0; }
.ic-hero__pills li { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: #c6d4e6; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; padding: 4px 12px; }
.ic-grid--domains { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.ic-domain { text-decoration: none; color: var(--ic-ink); gap: 6px; min-height: 160px; }
.ic-domain.is-building { background: #f8fafc; border-style: dashed; }
.ic-domain__state { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ic-accent-ink); display: inline-flex; align-items: center; }
.ic-domain.is-building .ic-domain__state { color: #8a5a00; }
.ic-domain__name { font-size: 1.1rem; font-weight: 700; }
.ic-domain__blurb { font-size: .86rem; color: var(--ic-ink-2); }
.ic-domain__count { margin-top: auto; font-size: .9rem; color: var(--ic-mute); }
.ic-domain__count strong { color: var(--ic-ink); font-size: 1.1rem; }
.ic-block__lead { margin: -6px 0 16px; color: var(--ic-ink-2); }
.ic-h3 { font-size: 1rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ic-mute); margin: 18px 0 10px; }
.ic-building { background: var(--ic-surface); border: 1px dashed #e0b25a; border-radius: var(--ic-r); padding: 22px; }
.ic-building h2 { font-size: 1.3rem; margin-bottom: 8px; display: flex; align-items: center; }
.ic-building--inline { padding: 16px 18px; }
.ic-building--inline p { margin: 0; }
.ic-building__steps { margin: 12px 0 16px 18px; color: var(--ic-ink-2); }
.ic-card--person h3 a { color: var(--ic-ink); text-decoration: none; }
.ic-card--person h3 a::after { content: ""; position: absolute; inset: 0; }
.ic-card--person .ic-card__where a { position: relative; z-index: 2; color: var(--ic-accent-ink); }
.ic-quote { margin: 12px 0 0; padding: 10px 12px; border-left: 3px solid var(--ic-accent); background: #f3f8fb; color: var(--ic-ink-2); font-size: .88rem; }
.ic-cta__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ic-btn--onDark { color: #fff; border-color: rgba(255, 255, 255, .6); }
.ic-btn--onDark:hover { background: rgba(255, 255, 255, .12); color: #fff; }

/* Three-level scale: intelligence network / evidence review / public profiles */
.ic-scalerow { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-top: -34px; position: relative; z-index: 3; }
.ic-scalerow--single { margin-top: 12px; max-width: 560px; }
.ic-scale { background: var(--ic-surface); border: 1px solid var(--ic-line); border-radius: var(--ic-r); padding: 18px 20px; box-shadow: var(--ic-shadow); color: var(--ic-ink); }
.ic-pagehead .ic-scale { box-shadow: none; }
.ic-scale__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.ic-scale h3 { font-size: 1.05rem; margin: 0; }
.ic-scale__pill { display: inline-flex; align-items: center; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--ic-accent-ink); }
.ic-scale__levels { margin: 0; display: grid; gap: 6px; }
.ic-scale__levels > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-top: 1px solid var(--ic-line); padding-top: 6px; }
.ic-scale__levels > div:first-child { border-top: 0; padding-top: 0; }
.ic-scale__levels dt { font-size: .85rem; color: var(--ic-ink-2); }
.ic-scale__levels dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; font-size: 1.25rem; }
.ic-scale__levels .is-network dd { font-size: 1.75rem; }
.ic-scale__levels .is-public dd { color: var(--ic-accent-ink); }
.ic-scale__bar { display: flex; height: 10px; border-radius: 99px; overflow: hidden; background: #e6edf4; margin: 14px 0 8px; }
.ic-scale__bar span { display: block; height: 100%; min-width: 0; }
.ic-scale__bar .is-public { background: var(--ic-accent); min-width: 4px; }
.ic-scale__bar .is-review { background: #e0a23b; }
.ic-scale__bar .is-rest { background: #b9c4d1; }
.ic-scale__bar .is-public[style*="width:0%"], .ic-scale__bar .is-review[style*="width:0%"] { display: none; }
.ic-scale__legend { display: flex; flex-wrap: wrap; gap: 4px 14px; list-style: none; margin: 0; padding: 0; font-size: .75rem; color: var(--ic-mute); }
.ic-scale__legend li::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; background: #b9c4d1; }
.ic-scale__legend .is-public::before { background: var(--ic-accent); }
.ic-scale__legend .is-review::before { background: #e0a23b; }
.ic-scale__growth { margin: 10px 0 0; font-size: .82rem; color: var(--ic-ink-2); }
.ic-scale__note { margin: 6px 0 0; font-size: .8rem; color: var(--ic-mute); }
.ic-glossary { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px 24px; margin: 18px auto 0; font-size: .85rem; }
.ic-glossary dt { font-weight: 700; color: var(--ic-ink); }
.ic-glossary dd { margin: 2px 0 0; color: var(--ic-ink-2); }
.ic-domain.is-collecting { background: #fffaf0; border-style: dashed; border-color: #e0b25a; }
.ic-domain.is-collecting .ic-domain__state { color: #8a5a00; }
.ic-home .ic-statsrow--domains { margin-top: 14px; }
@media (max-width: 640px) { .ic-scalerow { margin-top: -28px; grid-template-columns: 1fr; } .ic-scale__levels dd { font-size: 1.15rem; } .ic-scale__levels .is-network dd { font-size: 1.5rem; } }

/* Lifecycle strip: Building > Collection > Evidence review > Public */
.ic-stages { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 4px 0 14px; padding: 0; font-size: .78rem; }
.ic-stages li { padding: 4px 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .25); color: #9fb3cc; }
.ic-stages li:not(:last-child)::after { content: ""; }
.ic-stages .is-done { color: #c6d4e6; background: rgba(255, 255, 255, .06); }
.ic-stages .is-done::before { content: "\2713  "; }
.ic-stages .is-now { color: #081426; background: var(--ic-accent-2); border-color: var(--ic-accent-2); font-weight: 700; }

/* Active filters */
.ic-active { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 12px 0 0; padding: 0; }
.ic-active .ic-chip { background: #fff; border-color: var(--ic-accent); color: var(--ic-accent-ink); }
.ic-active .ic-chip:hover { background: #eaf6fb; }
.ic-pager .current { font-weight: 700; }
