/* ============================================================
   Team Page Template (/team/)

   Single-column layout (no sidebar TOC). Mirror of About/RGI
   visual conventions but body width is narrower (~1080px) since
   no sidebar reserves space.

   - Hero pattern: badge + pulse dot + radial gradient
   - Ticker: bg #F8FAFC, label first / value second
   - Section heads: 36px numbered box + title + desc
   - Callouts: SVG icons + .gc-team__callout-title block
   - 0 !important, full [data-theme="dark"] coverage
   - Breakpoints: 1100 / 900 / 700
   ============================================================ */

.gc-team {
	background: var(--gc-bg);
}

/* ============================================================
   HERO
   ============================================================ */

.gc-team__hero {
	background: var(--gc-bg);
	position: relative;
	overflow: hidden;
}

.gc-team__hero::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	background: radial-gradient(ellipse 60% 80% at 100% 50%, rgba(0, 198, 174, 0.05) 0%, transparent 60%);
	pointer-events: none;
}

.gc-team__hero-content {
	max-width: 1280px;
	margin: 0 auto;
	padding: 56px 32px 36px;
	position: relative;
	z-index: 1;
}

.gc-team__hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 14px;
	background: var(--gc-primary-soft, #E6FAF7);
	border: 0.5px solid rgba(0, 198, 174, .3);
	color: var(--gc-primary-dark, #00A894);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.gc-team__hero-badge-dot {
	width: 6px;
	height: 6px;
	background: #00A894;
	border-radius: 50%;
	flex-shrink: 0;
	animation: gc-team-pulse 2s ease-in-out infinite;
}

@keyframes gc-team-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%      { opacity: 0.5; transform: scale(0.85); }
}

.gc-team__hero-title {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: clamp(32px, 4.5vw, 44px);
	font-weight: 700;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -0.025em;
	line-height: 1.1;
	margin: 0 0 14px;
	max-width: 780px;
}

.gc-team__hero-accent {
	color: var(--gc-primary, #00C6AE);
}

.gc-team__hero-sub {
	font-size: 17px;
	line-height: 1.7;
	color: var(--gc-muted, #6b7280);
	max-width: 720px;
	margin: 0;
}

/* ============================================================
   HERO TICKER
   ============================================================ */

.gc-team__hero-ticker {
	background: #F8FAFC;
	border-top: 0.5px solid var(--gc-border, #e5e7eb);
	border-bottom: 0.5px solid var(--gc-border, #e5e7eb);
}

.gc-team__hero-ticker-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 16px 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 36px;
}

.gc-team__hero-stat {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	gap: 7px;
}

.gc-team__hero-stat-label {
	font-size: 11px;
	color: #9ca3af;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.gc-team__hero-stat-value {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 15px;
	font-weight: 600;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -0.01em;
}

/* ============================================================
   LAYOUT — single column, max-width 1080px
   ============================================================ */

.gc-team__layout {
	max-width: 1280px;
	margin: 0 auto;
	padding: 32px 32px 80px;
	display: flex;
	flex-direction: column;
	gap: 36px;
}

/* ============================================================
   SECTION HEAD
   ============================================================ */

.gc-team__section > * + * {
	margin-top: 16px;
}

.gc-team__sec-head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 0.5px solid var(--gc-border, #e5e7eb);
}

.gc-team__sec-num {
	width: 36px;
	height: 36px;
	border-radius: 9px;
	background: rgba(0, 198, 174, 0.10);
	color: var(--gc-primary-dark, #00A894);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.3px;
}

.gc-team__sec-title {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 22px;
	font-weight: 700;
	color: var(--gc-navy, #0D1B3E);
	margin: 0;
	letter-spacing: -0.01em;
	line-height: 1.25;
}

.gc-team__sec-desc {
	font-size: 13px;
	color: var(--gc-muted, #6b7280);
	margin: 4px 0 0;
	line-height: 1.55;
}

/* ============================================================
   CALLOUTS
   ============================================================ */

.gc-team__callout {
	border-radius: 10px;
	padding: 16px 20px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-size: 13.5px;
	line-height: 1.65;
}

.gc-team__callout--gold {
	background: rgba(245, 158, 11, 0.08);
	border: 0.5px solid rgba(245, 158, 11, 0.25);
	color: #92400E;
}

.gc-team__callout--gold svg {
	color: #B45309;
	flex-shrink: 0;
	margin-top: 1px;
}

.gc-team__callout--teal {
	background: rgba(0, 198, 174, 0.08);
	border: 0.5px solid rgba(0, 198, 174, 0.25);
	color: #04342C;
}

.gc-team__callout--teal svg {
	color: var(--gc-primary-dark, #00A894);
	flex-shrink: 0;
	margin-top: 1px;
}

.gc-team__callout-title {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 14px;
	font-weight: 700;
	display: block;
	margin-bottom: 4px;
	color: inherit;
}

.gc-team__callout a {
	color: inherit;
	font-weight: 600;
	border-bottom: 0.5px solid currentColor;
	text-decoration: none;
}

/* ============================================================
   INTRO PILLAR
   ============================================================ */

.gc-team__intro {
	background: var(--gc-bg-soft);
	border: 0.5px solid var(--gc-border, #e5e7eb);
	border-radius: 12px;
	padding: 26px 30px;
}

.gc-team__intro-eyebrow {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	color: var(--gc-primary-dark, #00A894);
	text-transform: uppercase;
	margin-bottom: 10px;
}

.gc-team__intro-title {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 22px;
	font-weight: 700;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -0.015em;
	line-height: 1.3;
	margin: 0 0 14px;
}

.gc-team__intro-accent {
	color: var(--gc-primary, #00C6AE);
}

.gc-team__intro-body {
	font-size: 14px;
	line-height: 1.75;
	color: #374151;
}

.gc-team__intro-body p {
	margin: 0 0 10px;
}

.gc-team__intro-body p:last-child {
	margin-bottom: 0;
}

/* ============================================================
   DEPARTMENT LEGEND
   ============================================================ */

.gc-team__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	padding: 12px 18px;
	background: #F8FAFC;
	border: 0.5px solid var(--gc-border, #e5e7eb);
	border-radius: 10px;
}

.gc-team__legend-tag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--gc-muted, #6b7280);
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	letter-spacing: 0.1px;
}

.gc-team__legend-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	flex-shrink: 0;
}

.gc-team__legend-dot--lead   { background: var(--gc-navy, #0D1B3E); }
.gc-team__legend-dot--edit   { background: var(--gc-primary, #00C6AE); }
.gc-team__legend-dot--comm   { background: #2563EB; }
.gc-team__legend-dot--ops    { background: #6366F1; }
.gc-team__legend-dot--junior { background: #F59E0B; }

/* ============================================================
   TEAM GRID
   ============================================================ */

.gc-team__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.gc-team__card {
	background: var(--gc-bg-soft);
	border: 0.5px solid var(--gc-border, #e5e7eb);
	border-radius: 12px;
	padding: 24px 26px 20px;
	display: flex;
	flex-direction: column;
	transition: all 180ms ease;
}

.gc-team__card:hover {
	border-color: rgba(0, 198, 174, 0.4);
	box-shadow: 0 6px 16px rgba(13, 27, 62, 0.05);
}

.gc-team__card-top {
	display: flex;
	gap: 14px;
	margin-bottom: 14px;
	align-items: flex-start;
}

.gc-team__avatar {
	width: 96px;
	height: 96px;
	border-radius: 10%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-weight: 800;
	font-size: 28px;
	color: #ffffff;
	flex-shrink: 0;
	letter-spacing: -0.3px;
}

.gc-team__avatar--photo {
	object-fit: cover;
	background: #F8FAFC;
}

.gc-team__avatar--lead   { background: linear-gradient(135deg, #0D1B3E, #1A2F5E); }
.gc-team__avatar--edit   { background: linear-gradient(135deg, var(--gc-primary, #00C6AE), var(--gc-primary-dark, #00A894)); }
.gc-team__avatar--comm   { background: linear-gradient(135deg, #2563EB, #1E40AF); }
.gc-team__avatar--ops    { background: linear-gradient(135deg, #6366F1, #4338CA); }
.gc-team__avatar--junior { background: linear-gradient(135deg, #F59E0B, #B45309); }

.gc-team__card-meta {
	flex: 1;
	min-width: 0;
}

.gc-team__card-name {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 15px;
	font-weight: 700;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -0.005em;
	line-height: 1.25;
	margin-bottom: 4px;
}

.gc-team__card-role {
	font-size: 12.5px;
	color: var(--gc-muted, #6b7280);
	line-height: 1.45;
	margin-bottom: 7px;
}

.gc-team__card-dept {
	display: inline-flex;
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 9.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	padding: 3px 9px;
	border-radius: 10px;
}

.gc-team__card-dept--lead   { background: rgba(13, 27, 62, 0.08);  color: var(--gc-navy, #0D1B3E); }
.gc-team__card-dept--edit   { background: rgba(0, 198, 174, 0.12); color: var(--gc-primary-dark, #00A894); }
.gc-team__card-dept--comm   { background: rgba(37, 99, 235, 0.10); color: #2563EB; }
.gc-team__card-dept--ops    { background: rgba(99, 102, 241, 0.10); color: #4338CA; }
.gc-team__card-dept--junior { background: rgba(245, 158, 11, 0.12); color: #92400E; }

.gc-team__card-bio {
	font-size: 12.5px;
	color: var(--gc-muted, #6b7280);
	line-height: 1.7;
	margin: 0 0 14px;
	flex: 1;
}

.gc-team__card-bio strong {
	color: var(--gc-navy, #0D1B3E);
	font-weight: 600;
}

.gc-team__card-socials {
	display: flex;
	gap: 7px;
	padding-top: 12px;
	border-top: 0.5px solid var(--gc-border, #e5e7eb);
	align-items: center;
}

.gc-team__card-profile {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--gc-teal, #00A894);
	text-decoration: none;
	transition: gap 150ms ease, color 150ms ease;
}

.gc-team__card-profile:hover {
	gap: 8px;
	color: var(--gc-teal-dark, #00897B);
}

.gc-team__soc {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: #F8FAFC;
	border: 0.5px solid var(--gc-border, #e5e7eb);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gc-muted, #6b7280);
	text-decoration: none;
	transition: all 150ms ease;
}

.gc-team__soc:hover {
	background: rgba(0, 198, 174, 0.08);
	border-color: rgba(0, 198, 174, 0.4);
	color: var(--gc-primary-dark, #00A894);
	transform: translateY(-1px);
}

.gc-team__soc svg {
	display: block;
}

/* ============================================================
   HIRING CARD — wide span-2 card with teal accents
   ============================================================ */

.gc-team__card--hiring {
	grid-column: span 2;
	background: linear-gradient(135deg, #ffffff 0%, rgba(0, 198, 174, 0.04) 100%);
	border: 1px solid rgba(0, 198, 174, 0.35);
	padding: 22px 26px;
	display: flex;
	align-items: center;
	gap: 22px;
	text-decoration: none;
	position: relative;
	overflow: hidden;
}

.gc-team__card--hiring::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 60% 80% at 100% 50%, rgba(0, 198, 174, 0.08) 0%, transparent 60%);
	pointer-events: none;
}

.gc-team__card--hiring:hover {
	border-color: rgba(0, 198, 174, 0.6);
	box-shadow: 0 8px 24px rgba(0, 198, 174, 0.12);
	transform: translateY(-1px);
}

.gc-team__card--hiring > * {
	position: relative;
	z-index: 1;
}

.gc-team__hiring-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--gc-primary, #00C6AE), var(--gc-primary-dark, #00A894));
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	flex-shrink: 0;
}

.gc-team__hiring-body {
	flex: 1;
	min-width: 0;
}

.gc-team__hiring-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(0, 198, 174, 0.15);
	color: var(--gc-primary-dark, #00A894);
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 10px;
	font-weight: 700;
	padding: 4px 11px;
	border-radius: 999px;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.9px;
}

.gc-team__hiring-badge-dot {
	width: 5px;
	height: 5px;
	background: var(--gc-primary-dark, #00A894);
	border-radius: 50%;
	flex-shrink: 0;
	animation: gc-team-pulse 2s ease-in-out infinite;
}

.gc-team__hiring-name {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 17px;
	font-weight: 700;
	color: var(--gc-navy, #0D1B3E);
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin-bottom: 3px;
}

.gc-team__hiring-role {
	font-size: 12.5px;
	color: var(--gc-muted, #6b7280);
	margin-bottom: 8px;
}

.gc-team__hiring-bio {
	font-size: 12.5px;
	color: #475569;
	line-height: 1.65;
	margin: 0;
}

.gc-team__hiring-cta {
	background: #0D1B3E;
	color: #ffffff;
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 12.5px;
	font-weight: 700;
	padding: 11px 18px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
	letter-spacing: -0.005em;
	transition: all 180ms ease;
}

.gc-team__card--hiring:hover .gc-team__hiring-cta {
	background: var(--gc-primary-dark, #00A894);
}

/* ============================================================
   03 — CTA ROW
   ============================================================ */

.gc-team__ctas {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.gc-team__cta-card {
	background: var(--gc-bg-soft);
	border: 0.5px solid var(--gc-border, #e5e7eb);
	border-radius: 10px;
	padding: 22px 24px;
	text-align: center;
	text-decoration: none;
	transition: all 180ms ease;
	display: flex;
	flex-direction: column;
}

.gc-team__cta-card:hover {
	border-color: rgba(0, 198, 174, 0.4);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(13, 27, 62, 0.05);
}

.gc-team__cta-name {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 15px;
	font-weight: 700;
	color: var(--gc-navy, #0D1B3E);
	margin-bottom: 7px;
	letter-spacing: -0.01em;
}

.gc-team__cta-desc {
	font-size: 12.5px;
	color: var(--gc-muted, #6b7280);
	line-height: 1.6;
	margin-bottom: 14px;
	flex: 1;
}

.gc-team__cta-link {
	font-family: var(--gc-font-display, 'Sora', sans-serif);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--gc-primary-dark, #00A894);
	letter-spacing: -0.005em;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1100px) {
	.gc-team__hero-content,
	.gc-team__hero-ticker-inner,
	.gc-team__layout {
		padding-left: 24px;
		padding-right: 24px;
	}
	.gc-team__layout {
		padding-top: 28px;
		padding-bottom: 60px;
	}
	.gc-team__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.gc-team__card--hiring {
		grid-column: span 2;
	}
}

@media (max-width: 900px) {
	.gc-team__hero-content {
		padding: 48px 24px 32px;
	}
	.gc-team__ctas {
		grid-template-columns: 1fr;
	}
	.gc-team__card--hiring {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	.gc-team__hiring-cta {
		align-self: flex-start;
	}
}

@media (max-width: 700px) {
	.gc-team__hero-content {
		padding: 40px 20px 28px;
	}
	.gc-team__hero-ticker-inner {
		padding: 14px 20px;
		gap: 22px;
	}
	.gc-team__layout {
		padding: 20px 16px 56px;
	}
	.gc-team__sec-title {
		font-size: 19px;
	}
	.gc-team__sec-num {
		width: 32px;
		height: 32px;
		font-size: 12px;
	}
	.gc-team__grid {
		grid-template-columns: 1fr;
	}
	.gc-team__card--hiring {
		grid-column: span 1;
	}
	.gc-team__intro {
		padding: 22px 22px;
	}
}

/* ============================================================
   DARK MODE
   ============================================================ */

[data-theme="dark"] .gc-team,
[data-theme="dark"] .gc-team__hero {
	background: var(--gc-bg);
}

[data-theme="dark"] .gc-team__hero-ticker {
	background: rgba(255, 255, 255, 0.03);
	border-color: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .gc-team__hero-title,
[data-theme="dark"] .gc-team__hero-stat-value,
[data-theme="dark"] .gc-team__sec-title,
[data-theme="dark"] .gc-team__intro-title,
[data-theme="dark"] .gc-team__card-name,
[data-theme="dark"] .gc-team__cta-name {
	color: #ffffff;
}

[data-theme="dark"] .gc-team__hero-sub,
[data-theme="dark"] .gc-team__sec-desc,
[data-theme="dark"] .gc-team__intro-body,
[data-theme="dark"] .gc-team__card-role,
[data-theme="dark"] .gc-team__card-bio,
[data-theme="dark"] .gc-team__cta-desc {
	color: rgba(255, 255, 255, 0.65);
}

[data-theme="dark"] .gc-team__hero-stat-label,
[data-theme="dark"] .gc-team__legend-tag {
	color: rgba(255, 255, 255, 0.5);
}

[data-theme="dark"] .gc-team__intro,
[data-theme="dark"] .gc-team__card,
[data-theme="dark"] .gc-team__cta-card,
[data-theme="dark"] .gc-team__legend {
	background: var(--gc-bg-soft);
	border-color: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .gc-team__soc {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.65);
}

[data-theme="dark"] .gc-team__soc:hover {
	background: rgba(0, 198, 174, 0.12);
	border-color: rgba(0, 198, 174, 0.4);
	color: var(--gc-primary, #00C6AE);
}

[data-theme="dark"] .gc-team__card-bio strong {
	color: #ffffff;
}

[data-theme="dark"] .gc-team__card-socials {
	border-top-color: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .gc-team__card--hiring {
	background: linear-gradient(135deg, #1E293B 0%, rgba(0, 198, 174, 0.06) 100%);
	border-color: rgba(0, 198, 174, 0.4);
}

[data-theme="dark"] .gc-team__hiring-name {
	color: #ffffff;
}

[data-theme="dark"] .gc-team__hiring-role,
[data-theme="dark"] .gc-team__hiring-bio {
	color: rgba(255, 255, 255, 0.7);
}

[data-theme="dark"] .gc-team__hiring-cta {
	background: var(--gc-primary, #00C6AE);
	color: #ffffff;
}

[data-theme="dark"] .gc-team__card--hiring:hover .gc-team__hiring-cta {
	background: var(--gc-primary-dark, #00A894);
	color: #ffffff;
}
/* ── Dark mode: gold callout — muted amber title, neutral body ── */
[data-theme="dark"] .gc-team__callout--gold {
	background: rgba(245, 158, 11, 0.06);
	border-color: rgba(245, 158, 11, 0.20);
	color: rgba(255, 255, 255, 0.78);
}
[data-theme="dark"] .gc-team__callout--gold .gc-team__callout-title {
	color: #FCD34D;
}
[data-theme="dark"] .gc-team__callout--gold svg {
	color: #FCD34D;
}

/* ── Dark mode: teal callout — teal title, neutral body ── */
[data-theme="dark"] .gc-team__callout--teal {
	background: rgba(0, 198, 174, 0.06);
	border-color: rgba(0, 198, 174, 0.20);
	color: rgba(255, 255, 255, 0.78);
}
[data-theme="dark"] .gc-team__callout--teal .gc-team__callout-title {
	color: #7DD3C8;
}
[data-theme="dark"] .gc-team__callout--teal svg {
	color: #7DD3C8;
}

/* ── Dark mode: hero eyebrow badge — match iHub (subtle teal pill) ── */
[data-theme="dark"] .gc-team__hero-badge {
	background: rgba(0, 198, 174, 0.08);
	border-color: rgba(0, 198, 174, 0.20);
	color: #7DD3C8;
}
[data-theme="dark"] .gc-team__hero-badge-dot {
	background: #7DD3C8;
}