/**
 * Single iHub Company Profile — single-ihub_company.php
 *
 * Layout: article (main) + sticky sidebar (320px), 2-col grid.
 * Sections: hero card, article body (post_content), company news (3 cards),
 * RGI Score (game providers only), intro CTA mailto, author card.
 * Sidebar: Quick Information, RGI Mini (game providers only), Related.
 *
 * RGI tier palette is driven by a single CSS-variable contract:
 *   --tier         tier accent (badge text, icon, ring fill)
 *   --tier-soft    tier accent background tint
 *   --tier-b       tier accent border colour
 *   --tier-percent score percentage for conic-gradient ring (0–100)
 *
 * The 5 tier modifier classes (.gc-co__rgi--exceptional, --great,
 * --average, --concern, --poor) and their mini-widget twins set these
 * variables. Adding a 6th tier in the future = add one block to both
 * sets and update gc_ihub_rgi_tier_from_passes() in helpers.
 */


/* ════════════════════════════════════════════════════════════════════
   SMOOTH ANCHOR SCROLL + HEADER OFFSET
   Modern browsers natively respect scroll-padding-top when jumping
   to an in-page anchor. Combined with scroll-behavior: smooth, this
   gives smooth animation that lands BELOW the sticky site header.

   This CSS file only loads on single-ihub_company pages, so the
   global html rules are scoped to that view.

   JS fallback in template (with data-cfasync="false" to bypass
   Cloudflare Rocket Loader) guarantees behaviour even if CSS is
   blocked or scroll-behavior support is missing.
   ════════════════════════════════════════════════════════════════════ */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 120px;
}


/* ════════════════════════════════════════════════════════════════════
   SCOPE — apply layout styles only on single ihub_company body class
   ════════════════════════════════════════════════════════════════════ */
.gc-co {
	background: var(--gc-bg);
	padding: 0 0 72px;

	--cat: var(--gc-primary, #00C6AE);
	--cat-dark: var(--gc-primary-dark, #00A894);
	--cat-soft: var(--gc-primary-soft, #E8FAF8);
	--cat-border: rgba(0, 198, 174, .22);

	--sh: 0 2px 12px rgba(13, 27, 62, .06);
}

/* Inline-icon helper (matches usage in template's <span class="gc-ic">) */
.gc-co .gc-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: currentColor;
}
.gc-co .gc-ic svg { width: 100%; height: 100%; display: block; }


/* ════════════════════════════════════════════════════════════════════
   BREADCRUMB
   ════════════════════════════════════════════════════════════════════ */
.gc-co__crumb {
	background: var(--gc-bg);
	padding: 18px 0 0;
}
.gc-co__crumb-in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 31px;
	font-size: 12.5px;
	color: var(--gc-text-light, #94A3B8);
}
.gc-co__crumb-in a {
	color: var(--cat-dark);
	font-weight: 600;
	text-decoration: none;
	transition: color .15s ease;
}
.gc-co__crumb-in a:hover { color: var(--cat); }
.gc-co__crumb-sep { margin: 0 6px; color: var(--gc-border, #E4EAF2); }


/* ════════════════════════════════════════════════════════════════════
   LAYOUT — main + sticky sidebar
   ════════════════════════════════════════════════════════════════════ */
.gc-co__layout-wrap {
	padding: 28px 0 0;
}
.gc-co__layout {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 31px;
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 32px;
	align-items: start;
}
.gc-co__main { min-width: 0; }
.gc-co__side {
	position: sticky;
	/* 120px = sticky site header height + small breathing gap.
	   Keeps the sidebar visible BELOW the header instead of behind it. */
	top: 120px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}


/* ════════════════════════════════════════════════════════════════════
   HERO CARD
   ════════════════════════════════════════════════════════════════════ */
.gc-co__hero {
	background: var(--gc-bg-soft);
	border: 1px solid var(--gc-border, #E4EAF2);
	border-radius: 14px;
	padding: 30px 32px;
	display: flex;
	align-items: center;
	gap: 24px;
	box-shadow: var(--sh);
	margin-bottom: 28px;
}
.gc-co__hero-logo {
	width: 94px;
	height: 94px;
	border-radius: 16px;
	background: var(--gc-bg-soft, #F8FAFC);
	border: 1px solid var(--gc-border, #E4EAF2);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(13, 27, 62, .04);
}
.gc-co__hero-logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 15px;
}
.gc-co__hero-logo-fallback {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 38px;
	font-weight: 800;
	color: var(--cat-dark);
}
.gc-co__hero-body { flex: 1; min-width: 0; }
.gc-co__hero-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--cat-soft);
	border: 1px solid var(--cat-border);
	color: var(--cat-dark);
	font-size: 10.5px;
	font-weight: 700;
	padding: 4px 11px;
	border-radius: 20px;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 9px;
}
.gc-co__hero-pill .gc-ic { width: 11px; height: 11px; }
.gc-co__hero-name {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 30px;
	font-weight: 800;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -.8px;
	line-height: 1.05;
	margin: 0 0 10px;
}
.gc-co__hero-tagline {
	font-size: 14.5px;
	color: var(--gc-text-muted, #64748B);
	line-height: 1.6;
	max-width: 560px;
	margin: 0;
}


/* ════════════════════════════════════════════════════════════════════
   ARTICLE BODY — styles the_content() output
   ════════════════════════════════════════════════════════════════════ */
.gc-co__article {
	margin-bottom: 32px;
}
.gc-co__article > * + * { margin-top: 14px; }
.gc-co__article h2 {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 22px;
	font-weight: 800;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -.5px;
	line-height: 1.25;
	margin-top: 32px;
	margin-bottom: 14px;
	scroll-margin-top: 24px;
}
.gc-co__article h2:first-child { margin-top: 0; }
.gc-co__article h3 {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 16px;
	font-weight: 700;
	color: var(--gc-navy, #0D1B3E);
	line-height: 1.3;
	margin-top: 22px;
	margin-bottom: 10px;
}
.gc-co__article p {
	font-size: 14.5px;
	color: var(--gc-text-muted, #64748B);
	line-height: 1.85;
}
.gc-co__article p strong { color: var(--gc-navy, #0D1B3E); font-weight: 700; }
.gc-co__article a {
	color: var(--cat-dark);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--cat-border);
	text-underline-offset: 3px;
	transition: text-decoration-color .15s ease;
}
.gc-co__article a:hover { text-decoration-color: var(--cat); }
.gc-co__article ul,
.gc-co__article ol {
	margin: 8px 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	list-style: none;
}
.gc-co__article li {
	font-size: 14px;
	color: var(--gc-text-muted, #64748B);
	line-height: 1.7;
	padding-left: 20px;
	position: relative;
}
.gc-co__article li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--cat);
}
.gc-co__article li strong { color: var(--gc-navy, #0D1B3E); font-weight: 700; }
.gc-co__article ol { counter-reset: gc-co-ol; }
.gc-co__article ol li::before {
	counter-increment: gc-co-ol;
	content: counter(gc-co-ol) '.';
	background: transparent;
	color: var(--cat-dark);
	font-weight: 700;
	font-size: 13px;
	top: 1px;
	width: auto;
	height: auto;
}
.gc-co__article blockquote {
	border-left: 3px solid var(--cat);
	padding: 4px 0 4px 18px;
	margin: 16px 0;
	color: var(--gc-navy, #0D1B3E);
	font-style: italic;
}
.gc-co__article img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}


/* ════════════════════════════════════════════════════════════════════
   COMPANY NEWS — 3-card grid
   ════════════════════════════════════════════════════════════════════ */
.gc-co__news { margin-bottom: 32px; }
.gc-co__news-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 18px;
	gap: 14px;
	flex-wrap: wrap;
}
.gc-co__news-head-left { flex: 1; min-width: 200px; }
.gc-co__news-eyebrow {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--cat-dark);
	margin-bottom: 6px;
}
.gc-co__news-title {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 20px;
	font-weight: 800;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -.4px;
	line-height: 1.2;
	margin: 0;
}
.gc-co__news-more {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--cat-dark);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: color .15s ease;
	text-decoration: none;
}
.gc-co__news-more:hover { color: var(--cat); }
.gc-co__news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.gc-co__news-card {
	background: var(--gc-bg-soft);
	border: 1px solid var(--gc-border, #E4EAF2);
	border-radius: 12px;
	overflow: hidden;
	transition: all .2s ease;
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}
.gc-co__news-card:hover {
	border-color: var(--cat);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(13, 27, 62, .08);
}
.gc-co__news-img {
	height: 130px;
	background: linear-gradient(135deg, #0D1B3E, #1A2F5E);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.gc-co__news-img img { width: 100%; height: 100%; object-fit: cover; }
.gc-co__news-body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}
.gc-co__news-cat {
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--cat-dark);
}
.gc-co__news-card-title {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -.2px;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 1;
}
.gc-co__news-date {
	font-size: 11px;
	color: var(--gc-text-light, #94A3B8);
	font-weight: 500;
	margin-top: auto;
	padding-top: 4px;
}


/* ════════════════════════════════════════════════════════════════════
   RGI SCORE SECTION — tier palette via CSS variables
   ════════════════════════════════════════════════════════════════════ */

/* Tier palettes — applied via modifier class on .gc-co__rgi root */
.gc-co__rgi--exceptional {
	--tier: #34D399;
	--tier-soft: #F4FBF7;
	--tier-b: rgba(52, 211, 153, .25);
}
.gc-co__rgi--great {
	--tier: #60A5FA;
	--tier-soft: #EFF6FF;
	--tier-b: rgba(96, 165, 250, .25);
}
.gc-co__rgi--average {
	--tier: #FACC15;
	--tier-soft: #FEFCE8;
	--tier-b: rgba(250, 204, 21, .30);
}
.gc-co__rgi--concern {
	--tier: #FB923C;
	--tier-soft: #FFF7ED;
	--tier-b: rgba(251, 146, 60, .25);
}
.gc-co__rgi--poor {
	--tier: #F87171;
	--tier-soft: #FDF6F6;
	--tier-b: rgba(248, 113, 113, .25);
}

.gc-co__rgi {
	background: var(--gc-bg, #FFFFFF);
	border: 1px solid var(--gc-border, #E4EAF2);
	border-radius: 16px;
	padding: 32px;
	margin-bottom: 32px;
	box-shadow: var(--sh);
}
.gc-co__rgi-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--gc-border-soft, #F0F4F9);
	flex-wrap: wrap;
}
.gc-co__rgi-head-left { flex: 1; min-width: 240px; }
.gc-co__rgi-eyebrow {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--cat-dark);
	margin-bottom: 8px;
}
.gc-co__rgi-title {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 22px;
	font-weight: 800;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -.5px;
	line-height: 1.25;
	margin: 0 0 6px;
}
.gc-co__rgi-sub {
	font-size: 13.5px;
	color: var(--gc-text-muted, #64748B);
	line-height: 1.6;
	margin: 0;
}
.gc-co__rgi-sub a {
	color: var(--cat-dark);
	font-weight: 600;
	border-bottom: 1px solid var(--cat-border);
	text-decoration: none;
}

/* Score ring */
.gc-co__rgi-score {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 18px;
}
.gc-co__rgi-ring {
	width: 108px;
	height: 108px;
	border-radius: 50%;
	background: conic-gradient(
		var(--tier) 0% var(--tier-percent, 0%),
		var(--gc-border, #E4EAF2) var(--tier-percent, 0%) 100%
	);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.gc-co__rgi-ring::before {
	content: '';
	position: absolute;
	inset: 7px;
	background: var(--gc-bg, #FFFFFF);
	border-radius: 50%;
}
.gc-co__rgi-ring-inner { position: relative; z-index: 1; text-align: center; }
.gc-co__rgi-num {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 32px;
	font-weight: 800;
	color: var(--gc-navy, #0D1B3E);
	line-height: 1;
}
.gc-co__rgi-num-suffix { font-size: 14px; color: var(--tier); font-weight: 700; }
.gc-co__rgi-tier { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.gc-co__rgi-tier-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: var(--tier-soft);
	color: var(--tier);
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 12px;
	font-weight: 800;
	padding: 5px 12px;
	border-radius: 6px;
	letter-spacing: .04em;
	border: 1px solid var(--tier-b);
}
.gc-co__rgi-tier-badge .gc-ic { width: 12px; height: 12px; }
.gc-co__rgi-tier-out { font-size: 11.5px; color: var(--gc-text-light, #94A3B8); font-weight: 500; }

/* Feature list — minimal 2-column, no cards */
.gc-co__rgi-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 48px;
	border-top: 1px solid var(--gc-border-soft, #F0F4F9);
}
.gc-co__rgi-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 4px;
	border-bottom: 1px solid var(--gc-border-soft, #F0F4F9);
	font-size: 14px;
	font-weight: 500;
	color: var(--gc-text, #1E293B);
	line-height: 1.4;
}
.gc-co__rgi-item-status {
	width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.gc-co__rgi-item-status .gc-ic { width: 18px; height: 18px; }
.gc-co__rgi-item-text { flex: 1; min-width: 0; }

.gc-co__rgi-item--pass .gc-co__rgi-item-status { color: #34D399; }
.gc-co__rgi-item--fail .gc-co__rgi-item-status { color: #F87171; }
.gc-co__rgi-item--fail .gc-co__rgi-item-text { color: var(--gc-text-muted, #64748B); }

.gc-co__rgi-item:nth-last-child(-n+2) { border-bottom: none; }

.gc-co__rgi-foot {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid var(--gc-border-soft, #F0F4F9);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	font-size: 12px;
	color: var(--gc-text-light, #94A3B8);
}
.gc-co__rgi-foot a {
	color: var(--cat-dark);
	font-weight: 700;
	font-size: 13px;
	text-decoration: none;
}


/* ════════════════════════════════════════════════════════════════════
   INTRO CTA — mailto card (full article column width)
   ════════════════════════════════════════════════════════════════════ */
.gc-co__intro {
	background: var(--gc-bg-soft);
	border: 1px solid var(--gc-border, #E4EAF2);
	border-radius: 16px;
	padding: 36px 32px;
	box-shadow: var(--sh);
	text-align: center;
}
.gc-co__intro-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--cat-dark);
	margin-bottom: 14px;
}
.gc-co__intro-eyebrow .gc-ic { width: 13px; height: 13px; }
.gc-co__intro-title {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 24px;
	font-weight: 800;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -.5px;
	line-height: 1.2;
	margin: 0 0 10px;
}
.gc-co__intro-sub {
	font-size: 14px;
	color: var(--gc-text-muted, #64748B);
	line-height: 1.7;
	max-width: 480px;
	margin: 0 auto 22px;
}
.gc-co__intro-btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: var(--cat);
	color: #fff;
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-weight: 700;
	font-size: 14px;
	padding: 13px 26px;
	border-radius: 10px;
	text-decoration: none;
	transition: all .2s ease;
}
.gc-co__intro-btn:hover {
	background: var(--cat-dark);
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(0, 198, 174, .32);
	color: #fff;
}
.gc-co__intro-btn .gc-ic { width: 15px; height: 15px; }


/* ════════════════════════════════════════════════════════════════════
   AUTHOR CARD
   ════════════════════════════════════════════════════════════════════ */
.gc-co__author {
	background: var(--gc-bg-soft, #F8FAFC);
	border: 1px solid var(--gc-border, #E4EAF2);
	border-radius: 14px;
	padding: 22px;
	display: flex;
	gap: 18px;
	align-items: flex-start;
	margin-top: 28px;
}
.gc-co__author-avatar {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--cat-dark), #0D1B3E);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-weight: 800;
	font-size: 18px;
	flex-shrink: 0;
	overflow: hidden;
}
.gc-co__author-avatar img { width: 100%; height: 100%; object-fit: cover; }
.gc-co__author-name {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 14px;
	font-weight: 800;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -.2px;
	margin-bottom: 2px;
}
.gc-co__author-role {
	font-size: 11.5px;
	color: var(--cat-dark);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: 8px;
}
.gc-co__author-bio { font-size: 13px; color: var(--gc-text-muted, #64748B); line-height: 1.65; }


/* ════════════════════════════════════════════════════════════════════
   SIDEBAR WIDGETS
   ════════════════════════════════════════════════════════════════════ */
.gc-co__widget {
	background: var(--gc-bg, #FFFFFF);
	border: 1px solid var(--gc-border, #E4EAF2);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: var(--sh);
}
.gc-co__widget-head {
	background: var(--gc-bg-soft, #F8FAFC);
	padding: 14px 18px;
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 11.5px;
	font-weight: 800;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: .1em;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid var(--gc-border, #E4EAF2);
}
.gc-co__widget-head .gc-ic { width: 15px; height: 15px; color: var(--cat-dark); }

/* Quick Information rows */
.gc-co__qi-row {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	padding: 13px 18px;
	border-bottom: 1px solid var(--gc-border-soft, #F0F4F9);
}
.gc-co__qi-row:last-child { border-bottom: none; }
.gc-co__qi-icon {
	width: 18px;
	height: 18px;
	color: var(--cat-dark);
	flex-shrink: 0;
	margin-top: 1px;
}
.gc-co__qi-icon .gc-ic { width: 100%; height: 100%; }
.gc-co__qi-lbl {
	font-size: 9.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--gc-text-light, #94A3B8);
	margin-bottom: 2px;
}
.gc-co__qi-val {
	font-size: 13px;
	font-weight: 600;
	color: var(--gc-navy, #0D1B3E);
	line-height: 1.4;
}
.gc-co__qi-val a {
	color: var(--cat-dark);
	text-decoration: none;
}
.gc-co__qi-val a:hover { text-decoration: underline; }

/* RGI mini — light card, tier-themed border + accents */
.gc-co__rgi-mini {
	background: var(--gc-bg, #FFFFFF);
	border: 1.5px solid var(--tier-b);
	border-radius: 12px;
	padding: 22px 18px;
	text-align: center;
	box-shadow: var(--sh);
	transition: all .2s ease;
	display: block;
	text-decoration: none;
}
.gc-co__rgi-mini:hover {
	transform: translateY(-2px);
	border-color: var(--tier);
}

/* RGI mini tier palette — applied via modifier */
.gc-co__rgi-mini--exceptional {
	--tier: #34D399;
	--tier-soft: #F4FBF7;
	--tier-b: rgba(52, 211, 153, .25);
}
.gc-co__rgi-mini--great {
	--tier: #60A5FA;
	--tier-soft: #EFF6FF;
	--tier-b: rgba(96, 165, 250, .25);
}
.gc-co__rgi-mini--average {
	--tier: #FACC15;
	--tier-soft: #FEFCE8;
	--tier-b: rgba(250, 204, 21, .30);
}
.gc-co__rgi-mini--concern {
	--tier: #FB923C;
	--tier-soft: #FFF7ED;
	--tier-b: rgba(251, 146, 60, .25);
}
.gc-co__rgi-mini--poor {
	--tier: #F87171;
	--tier-soft: #FDF6F6;
	--tier-b: rgba(248, 113, 113, .25);
}

.gc-co__rgi-mini-label {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--cat-dark);
	margin-bottom: 14px;
}
.gc-co__rgi-mini-ring {
	width: 78px;
	height: 78px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: conic-gradient(
		var(--tier) 0% var(--tier-percent, 0%),
		var(--gc-border, #E4EAF2) var(--tier-percent, 0%) 100%
	);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.gc-co__rgi-mini-ring::before {
	content: '';
	position: absolute;
	inset: 5px;
	background: var(--gc-bg, #FFFFFF);
	border-radius: 50%;
}
.gc-co__rgi-mini-ring-inner { position: relative; z-index: 1; text-align: center; }
.gc-co__rgi-mini-num {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 26px;
	font-weight: 800;
	color: var(--gc-navy, #0D1B3E);
	line-height: 1;
}
.gc-co__rgi-mini-num span { color: var(--tier); font-size: 12px; }
.gc-co__rgi-mini-tier {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: var(--tier-soft);
	color: var(--tier);
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 11px;
	font-weight: 800;
	padding: 4px 11px;
	border-radius: 5px;
	letter-spacing: .04em;
	border: 1px solid var(--tier-b);
	margin-bottom: 12px;
}
.gc-co__rgi-mini-tier .gc-ic { width: 10px; height: 10px; }
.gc-co__rgi-mini-cta {
	font-size: 11.5px;
	color: var(--gc-text-muted, #64748B);
	font-weight: 600;
}

/* Related companies */
.gc-co__rel-item {
	display: flex;
	gap: 11px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--gc-border-soft, #F0F4F9);
	transition: background .15s ease;
	align-items: center;
	text-decoration: none;
	color: inherit;
}
.gc-co__rel-item:hover {
	background: var(--gc-bg-soft, #F8FAFC);
}
.gc-co__rel-item:hover .gc-co__rel-name { color: var(--cat-dark, var(--gc-navy, #0D1B3E)); }
.gc-co__rel-item:last-child { border-bottom: none; }
.gc-co__rel-logo {
	width: 38px;
	height: 38px;
	border-radius: 8px;
	background: var(--gc-bg-soft, #F8FAFC);
	border: 1px solid var(--gc-border, #E4EAF2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 15px;
	font-weight: 800;
	color: var(--cat-dark);
	flex-shrink: 0;
	overflow: hidden;
}
.gc-co__rel-logo img { width: 100%; height: 100%; object-fit: cover; border-radius: 7px; }
.gc-co__rel-name {
	font-family: var(--gc-font-display, 'Sora', system-ui, sans-serif);
	font-size: 12.5px;
	font-weight: 700;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -.2px;
	margin-bottom: 1px;
}
.gc-co__rel-cat {
	font-size: 10.5px;
	color: var(--gc-text-light, #94A3B8);
	font-weight: 500;
}


/* ════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════════ */
@media (max-width: 980px) {
	.gc-co__layout {
		grid-template-columns: 1fr;
		display: flex;
		flex-direction: column;
		gap: 24px;
	}
	/* Flatten both columns so every block sits on one level for ordering. */
	.gc-co__main,
	.gc-co__side {
		display: contents;
	}
	.gc-co__side        { position: static; }
	.gc-co__news-grid   { grid-template-columns: repeat(2, 1fr); }

	/* Mobile reading order */
	.gc-co__hero              { order: 1; }
	.gc-co__rgi-mini          { order: 2; }
	.gc-co__article           { order: 3; }
	.gc-co__news              { order: 4; }
	.gc-co__rgi               { order: 5; }
	.gc-co__widget--quick     { order: 6; }
	.gc-co__intro             { order: 7; }
	.gc-co__widget--related   { order: 8; }
	.gc-co__author            { order: 9; }

	.gc-co__widget,
	.gc-co__rgi-mini {
		width: 100%;
		box-sizing: border-box;
	}

	/* Uniform spacing — kill per-block margins so only the layout gap
	   (24px) separates the flattened blocks. */
	.gc-co__hero,
	.gc-co__article,
	.gc-co__news,
	.gc-co__rgi,
	.gc-co__rgi-mini,
	.gc-co__intro,
	.gc-co__author,
	.gc-co__widget {
		margin-top: 0;
		margin-bottom: 0;
	}
}
@media (max-width: 600px) {
	.gc-co__layout-wrap { padding: 24px 0 0; }
	.gc-co              { padding-bottom: 56px; }
	.gc-co__crumb       { padding: 18px 0 0; }
	.gc-co__crumb-in,
	.gc-co__layout      { padding-left: 20px; padding-right: 20px; }
	.gc-co__hero        { flex-direction: column; text-align: center; padding: 24px; }
	.gc-co__rgi         { padding: 24px 20px; }
	.gc-co__rgi-grid    { grid-template-columns: 1fr; column-gap: 0; border-top: none; }
	.gc-co__rgi-item:nth-last-child(-n+2) { border-bottom: 1px solid var(--gc-border-soft, #F0F4F9); }
	.gc-co__rgi-item:last-child { border-bottom: none; }
	.gc-co__rgi-foot    { margin-top: 0; padding-top: 14px; }
	.gc-co__rgi-head    { flex-direction: column; align-items: flex-start; margin-bottom: 0; }
	.gc-co__news-grid   { grid-template-columns: 1fr; }
	.gc-co__intro       { padding: 28px 22px; }
}
/* ── Dark mode: tier badges (Exceptional, etc.) ──
   The light --tier-soft tint looks like a white block on dark. Swap to a
   subtle translucent tint of the tier colour so the badge blends in. */
[data-theme="dark"] .gc-co__rgi--exceptional .gc-co__rgi-tier-badge,
[data-theme="dark"] .gc-co__rgi-mini--exceptional .gc-co__rgi-mini-tier {
	background: rgba(52, 211, 153, 0.15);
	border-color: rgba(52, 211, 153, 0.35);
}
[data-theme="dark"] .gc-co__rgi--great .gc-co__rgi-tier-badge,
[data-theme="dark"] .gc-co__rgi-mini--great .gc-co__rgi-mini-tier {
	background: rgba(96, 165, 250, 0.15);
	border-color: rgba(96, 165, 250, 0.35);
}
[data-theme="dark"] .gc-co__rgi--average .gc-co__rgi-tier-badge,
[data-theme="dark"] .gc-co__rgi-mini--average .gc-co__rgi-mini-tier {
	background: rgba(234, 179, 8, 0.15);
	border-color: rgba(234, 179, 8, 0.35);
}
[data-theme="dark"] .gc-co__rgi-tier-badge,
[data-theme="dark"] .gc-co__rgi-mini-tier {
	background: rgba(255, 255, 255, 0.06);
}
/* ── Dark: logo plates blend into the card with only a subtle grey
      rounded border (no white plate) — matches the casino treatment. ── */
[data-theme="dark"] .gc-co__hero-logo,
[data-theme="dark"] .gc-co__rel-logo {
	background: transparent;
	border-color: var(--gc-border);
}