/* ==========================================================================
   Titan Robotics — components
   ========================================================================== */

/* --------------------------------------------------------------------------
   Buttons & links
   Contrast notes: cyan text is never used on white (2.4:1). Cyan buttons
   carry navy text (≥4.5:1 at button size/weight); navy buttons carry white.
   -------------------------------------------------------------------------- */

.titan-btn {
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.02rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.7rem 1.5rem;
	border-radius: var(--radius-sm);
	border: 2px solid transparent;
	cursor: pointer;
	transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.titan-btn:hover { transform: translateY(-2px); }

.titan-btn--cyan { background: var(--cyan); color: var(--navy-deep); }
.titan-btn--cyan:hover { background: #33c4e6; color: var(--navy-deep); }

.titan-btn--navy { background: var(--navy); color: var(--white); }
.titan-btn--navy:hover { background: var(--hero-gradient-2); color: var(--white); }

.titan-btn--ghost { background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.6); }
.titan-btn--ghost:hover { border-color: var(--white); color: var(--white); }

.titan-btn--outline { background: transparent; color: var(--navy); border-color: var(--navy); }
.section--navy .titan-btn--outline { color: var(--white); border-color: rgba(255, 255, 255, 0.6); }
.titan-btn__note { display: block; font-size: 0.65rem; letter-spacing: 0.02em; opacity: 0.85; text-transform: none; }

.titan-arrow-link {
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: var(--text-sm);
	text-decoration: none;
	color: var(--navy);
	border-bottom: 2px solid var(--cyan);
	padding-bottom: 0.15rem;
	margin-top: 0.5rem;
}
.titan-arrow-link:hover { color: var(--hero-gradient-4); }
.titan-arrow-link--cyan { color: var(--cyan); border-bottom-color: var(--cyan); }
.section--navy .titan-arrow-link { color: var(--white); }

/* --------------------------------------------------------------------------
   Placeholder system — on-brand, clearly labeled, never a blank grey box
   -------------------------------------------------------------------------- */

.titan-placeholder {
	position: relative;
	display: grid;
	place-content: center;
	gap: 0.4rem;
	min-height: 12rem;
	width: 100%;
	text-align: center;
	padding: 1.5rem;
	border: 2px dashed var(--cool-grey);
	border-radius: var(--radius);
	background:
		repeating-linear-gradient(45deg, rgba(139, 146, 171, 0.1) 0 14px, transparent 14px 28px),
		var(--tint);
	color: var(--ink-muted);
}
.titan-placeholder__badge {
	justify-self: center;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--navy);
	background: rgba(0, 180, 223, 0.18);
	border: 1px solid var(--cyan);
	border-radius: 99px;
	padding: 0.15rem 0.7rem;
}
.titan-placeholder__label { font-size: var(--text-sm); max-width: 22rem; }

.section--navy .titan-placeholder,
.home-hero .titan-placeholder {
	background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.06) 0 14px, transparent 14px 28px);
	border-color: rgba(255, 255, 255, 0.45);
	color: rgba(255, 255, 255, 0.85);
}
.section--navy .titan-placeholder__badge,
.home-hero .titan-placeholder__badge { color: var(--white); }

.titan-placeholder--logo { min-height: 0; padding: 1rem; }
.titan-placeholder--logo-slot { min-height: 7.5rem; padding: 1rem; }
.titan-placeholder--headshot { aspect-ratio: 1; min-height: 0; }
.titan-placeholder--video { aspect-ratio: 16 / 9; min-height: 0; }
.video-embed { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; box-shadow: 0 18px 40px rgba(26, 54, 104, 0.18); }
.video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* --------------------------------------------------------------------------
   Scroll reveal (progressive enhancement — content is visible without JS)
   -------------------------------------------------------------------------- */

.reveal.reveal--pending { opacity: 0; transform: translateY(18px); }
.reveal.reveal--visible { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }
@media (prefers-reduced-motion: reduce) {
	.reveal.reveal--pending { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   Cards: what-we-do, highlights, teasers, people, values, why-sponsor
   -------------------------------------------------------------------------- */

.whatwedo-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	margin-top: 2rem;
}
.whatwedo-card {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--radius);
	padding: 1.6rem 1.4rem;
}
.whatwedo-card h3 { color: var(--white); margin-top: 0.9rem; }
.whatwedo-card__icon { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: var(--radius-sm); background: rgba(0, 180, 223, 0.16); color: var(--cyan); }
.titan-icon { width: 1.6rem; height: 1.6rem; }

.highlights-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	margin-top: 2rem;
}
.highlight-card {
	background: var(--white);
	border: 1px solid var(--tint-border);
	border-radius: var(--radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.highlight-card__media { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.highlight-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.highlight-card:hover .highlight-card__img { transform: scale(1.04); }
.highlight-card__body { padding: 1.1rem 1.2rem 1.3rem; }
.highlight-card__body h3 { font-size: 1.15rem; margin-bottom: 0.4rem; }
.highlight-card__body p { font-size: var(--text-sm); color: var(--ink-muted); margin: 0; }
.highlight-card__tag {
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--navy);
	background: var(--tint);
	border-left: 3px solid var(--cyan);
	padding: 0.15rem 0.6rem;
	margin: 0 0 0.6rem;
}

.teaser-card {
	background: var(--tint);
	border-radius: var(--radius);
	padding: 2rem;
}

.people-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 1.5rem;
}
.people-grid--three { grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); max-width: 60rem; margin: 0 auto; }
.person-card {
	background: var(--white);
	border: 1px solid var(--tint-border);
	border-radius: var(--radius);
	padding: 1.25rem;
	text-align: center;
}
.person-card__photo { margin-bottom: 1rem; }
.person-card__name { margin-bottom: 0.15rem; font-size: 1.2rem; }
.person-card__role {
	font-family: var(--font-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: var(--text-xs);
	color: var(--hero-gradient-4);
	margin-bottom: 0.6rem;
}
.person-card__bio { font-size: var(--text-sm); color: var(--ink-muted); margin: 0; }

.values-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	margin-top: 2rem;
}
.value-card {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--radius);
	padding: 1.5rem 1.3rem;
}
.value-card h3 { color: var(--white); font-size: 1.2rem; margin: 0.8rem 0 0.4rem; }
.value-card p { font-size: var(--text-sm); margin: 0; }
.value-card__icon { display: inline-grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: var(--radius-sm); background: rgba(0, 180, 223, 0.16); color: var(--cyan); }

.why-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}
.why-card {
	background: var(--tint);
	border-radius: var(--radius);
	padding: 1.7rem 1.5rem;
	border-top: 3px solid var(--cyan);
}
.why-card__icon { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: var(--radius-sm); background: var(--navy); color: var(--cyan); }
.why-card h3 { margin-top: 0.9rem; }
.why-card p { font-size: var(--text-sm); color: var(--ink-muted); margin: 0; }

@media (max-width: 1080px) {
	.whatwedo-grid, .highlights-grid, .values-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.whatwedo-grid, .highlights-grid, .values-grid { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Welcome / media blocks
   -------------------------------------------------------------------------- */

.home-welcome__media, .robot-intro__media, .impact-outreach-teaser__media { margin: 0; }
.home-welcome__img, .robot-intro__img, .impact-outreach-teaser__img {
	border-radius: var(--radius);
	box-shadow: 0 18px 40px rgba(26, 54, 104, 0.18);
}

/* --------------------------------------------------------------------------
   Sponsors
   -------------------------------------------------------------------------- */

.sponsor-grid {
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
.home-sponsors__logos .sponsor-grid { grid-template-columns: repeat(2, 1fr); margin-top: 0; }
@media (max-width: 700px) { .sponsor-grid, .home-sponsors__logos .sponsor-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { .sponsor-grid, .home-sponsors__logos .sponsor-grid { grid-template-columns: 1fr; } }

.tier-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	margin-top: 2rem;
	align-items: stretch;
}
@media (max-width: 1080px) { .tier-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .tier-grid { grid-template-columns: 1fr; } }

.tier-card {
	display: flex;
	flex-direction: column;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--radius);
	padding: 1.6rem 1.4rem;
}
.tier-card--featured { border-color: var(--cyan); box-shadow: 0 0 0 1px var(--cyan); }
.tier-card__flag {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--navy-deep);
	background: var(--cyan);
	border-radius: 99px;
	padding: 0.15rem 0.7rem;
	align-self: flex-start;
	margin: 0 0 0.8rem;
}
.tier-card__name { color: var(--white); font-size: 1.5rem; margin-bottom: 0.2rem; }
.tier-card__threshold { color: var(--cyan); font-weight: 600; font-size: var(--text-sm); margin-bottom: 1rem; }
/* align-content: start keeps benefit rows packed at the top of the card
   instead of the grid stretching them apart to fill the flex-grow height
   (the bug flagged in Revision Batch 2 — tall cards were spacing their
   bullets out instead of stacking them normally). */
.tier-card__benefits { margin: 0 0 1.4rem; padding: 0; list-style: none; display: grid; gap: 0.6rem; align-content: start; font-size: var(--text-sm); flex-grow: 1; }
.tier-card__benefits li { padding-left: 1.3rem; position: relative; color: rgba(255, 255, 255, 0.88); }
.tier-card__benefits li::before {
	content: "";
	position: absolute;
	left: 0; top: 0.45em;
	width: 0.55rem; height: 0.55rem;
	background: var(--cyan);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* align-items: center (not stretch) + no multi-line note span inside any
   button keeps every button in this row the same height. */
.become-sponsor__actions { display: flex; align-items: center; gap: 0.9rem; flex-wrap: wrap; margin-top: 1.4rem; }

/* --------------------------------------------------------------------------
   Awards accordion
   -------------------------------------------------------------------------- */

.awards-accordion { display: grid; gap: 0.9rem; margin-top: 1.5rem; }
.awards-era { border: 1px solid var(--tint-border); border-radius: var(--radius); background: var(--white); overflow: hidden; }
.awards-era__heading { margin: 0; }
.awards-era__toggle {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 1rem;
	background: none;
	border: 0;
	padding: 1.1rem 1.3rem;
	cursor: pointer;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.3rem;
	color: var(--navy);
	text-align: left;
}
.awards-era__toggle:hover { background: var(--tint); }
.awards-era__label { flex-grow: 1; }
.awards-era__count { font-size: var(--text-xs); font-family: var(--font-body); font-weight: 500; color: var(--ink-muted); text-transform: uppercase; letter-spacing: 0.1em; }
.awards-era__chevron {
	width: 0.6rem; height: 0.6rem;
	border-right: 2px solid var(--cyan);
	border-bottom: 2px solid var(--cyan);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	flex-shrink: 0;
}
.awards-era.is-open .awards-era__chevron { transform: rotate(225deg); }
.awards-era__panel { border-top: 1px solid var(--tint-border); }
.awards-era__scroll { overflow-x: auto; }

.awards-table { width: 100%; border-collapse: collapse; min-width: 34rem; }
.awards-table th, .awards-table td { text-align: left; padding: 0.8rem 1.3rem; font-size: var(--text-sm); border-bottom: 1px solid var(--tint-border); vertical-align: top; }
.awards-table thead th {
	font-family: var(--font-display);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: var(--text-xs);
	color: var(--ink-muted);
	background: var(--tint);
}
.awards-table tbody tr:last-child td { border-bottom: 0; }
.awards-table__year { font-family: var(--font-display); font-weight: 700; color: var(--navy); font-size: 1.05rem; white-space: nowrap; }

/* --------------------------------------------------------------------------
   Demographics charts
   -------------------------------------------------------------------------- */

.demo-charts {
	display: grid;
	grid-template-columns: minmax(14rem, 1fr) 2fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-top: 2rem;
	align-items: start;
}
@media (max-width: 820px) { .demo-charts { grid-template-columns: 1fr; } }

.demo-chart { margin: 0; background: var(--white); border: 1px solid var(--tint-border); border-radius: var(--radius); padding: 1.5rem; }
.demo-chart__title { font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; color: var(--navy); margin-bottom: 1rem; }
.demo-chart__note { font-family: var(--font-body); font-weight: 400; font-size: var(--text-xs); color: var(--ink-muted); }

.demo-chart__donut-wrap { position: relative; max-width: 13rem; margin: 0 auto; }
.demo-donut { width: 100%; transform: rotate(0deg); }
.demo-donut__ring { stroke: var(--tint); }
.demo-donut__seg--rookie { stroke: var(--cyan); }
.demo-donut__seg--veteran { stroke: var(--navy); }
.demo-donut__center {
	position: absolute; inset: 0;
	display: grid; place-content: center;
	text-align: center;
	margin: 0;
	line-height: 1.1;
}
.demo-donut__center strong { font-family: var(--font-display); font-weight: 700; font-size: 1.9rem; color: var(--navy); }
.demo-donut__center span { font-size: var(--text-xs); color: var(--ink-muted); text-transform: uppercase; letter-spacing: 0.1em; }

.demo-legend { list-style: none; margin: 1.2rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; font-size: var(--text-sm); }
.demo-swatch { display: inline-block; width: 0.85rem; height: 0.85rem; border-radius: 3px; vertical-align: -1px; margin-right: 0.35rem; }
.demo-swatch--navy { background: var(--navy); }
.demo-swatch--cyan { background: var(--cyan); }
.demo-swatch--grey { background: var(--cool-grey); }

.demo-bars { display: grid; gap: 1.1rem; }
.demo-bars__row { display: grid; gap: 0.3rem; }
.demo-bars__label { font-size: var(--text-sm); font-weight: 600; color: var(--navy); }
.demo-bars__track { display: flex; gap: 2px; height: 2.1rem; }
.demo-bars__seg { display: grid; place-content: center; border-radius: 3px; min-width: 0.5rem; }
.demo-bars__seg--navy { background: var(--navy); }
.demo-bars__seg--cyan { background: var(--cyan); }
.demo-bars__seg--grey { background: var(--cool-grey); }
.demo-bars__seg i {
	font-style: normal;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.85rem;
	color: var(--white);
}
.demo-bars__seg--cyan i { color: var(--navy-deep); }

.demo-headline {
	grid-column: 1 / -1;
	background: var(--navy);
	border-radius: var(--radius);
	padding: 1.8rem 2rem;
	text-align: center;
}
.demo-headline__label { color: var(--cool-grey); font-size: var(--text-sm); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.4rem; }
.demo-headline__value { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.8rem, 1.4rem + 2vw, 3rem); color: var(--white); margin: 0; }
.demo-headline__arrow { color: var(--cool-grey); margin: 0 0.4rem; }
.demo-headline__now { color: var(--cyan); }

.demo-table { grid-column: 1 / -1; background: var(--white); border: 1px solid var(--tint-border); border-radius: var(--radius); padding: 0.4rem 1rem; }
.demo-table summary { cursor: pointer; font-weight: 600; color: var(--navy); padding: 0.6rem 0; }
.demo-table__scroll { overflow-x: auto; padding-bottom: 0.6rem; }
.demo-table table { width: 100%; border-collapse: collapse; min-width: 28rem; }
.demo-table th, .demo-table td { text-align: left; padding: 0.55rem 0.8rem; font-size: var(--text-sm); border-bottom: 1px solid var(--tint-border); }
.demo-table__note { font-size: var(--text-xs); color: var(--ink-muted); margin: 0.8rem 0 0.2rem; }

/* --------------------------------------------------------------------------
   Team structure & subteams
   -------------------------------------------------------------------------- */

.structure-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 2rem 0 1.5rem; }
@media (max-width: 700px) { .structure-grid { grid-template-columns: 1fr; } }
.structure-col__division {
	font-size: 1.1rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--hero-gradient-4);
	border-bottom: 2px solid var(--cyan);
	padding-bottom: 0.4rem;
}
.structure-col__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.structure-chip {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	background: var(--white);
	border: 1px solid var(--tint-border);
	border-radius: var(--radius-sm);
	padding: 0.75rem 1rem;
	font-weight: 600;
	color: var(--navy);
}
.structure-chip__icon { display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: var(--radius-sm); background: var(--tint); color: var(--hero-gradient-4); flex-shrink: 0; }
.structure-chip__icon .titan-icon { width: 1.25rem; height: 1.25rem; }

.subteam-list { display: grid; gap: 2rem; margin-top: 2rem; }
.subteam-row {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: clamp(1.2rem, 3vw, 2.5rem);
	align-items: center;
	background: var(--white);
	border: 1px solid var(--tint-border);
	border-radius: var(--radius);
	overflow: hidden;
}
.section:not(.section--tint) .subteam-row { background: var(--tint); border: 0; }
.subteam-row:nth-child(even) { grid-template-columns: 1.2fr 1fr; }
.subteam-row:nth-child(even) .subteam-row__media { order: 2; }
/* Uniform photo sizing across all subteam rows: same aspect box, cover crop. */
.subteam-row__media { margin: 0; aspect-ratio: 4 / 3; align-self: center; width: 100%; }
.subteam-row__img { width: 100%; height: 100%; object-fit: cover; }
.subteam-row__media--component { aspect-ratio: auto; padding: 1.4rem; }
.subteam-row__body { padding: 1.6rem 1.6rem 1.6rem 0.4rem; }
.subteam-row:nth-child(even) .subteam-row__body { padding: 1.6rem 0.4rem 1.6rem 1.6rem; }
.subteam-row__icon { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: var(--radius-sm); background: var(--navy); color: var(--cyan); margin-bottom: 0.7rem; }
@media (max-width: 700px) {
	.subteam-row, .subteam-row:nth-child(even) { grid-template-columns: 1fr; }
	.subteam-row:nth-child(even) .subteam-row__media { order: 0; }
	.subteam-row__body, .subteam-row:nth-child(even) .subteam-row__body { padding: 0 1.4rem 1.5rem; }
}

/* --------------------------------------------------------------------------
   Robot pages
   -------------------------------------------------------------------------- */

.process-steps {
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	counter-reset: step;
}
@media (max-width: 1000px) { .process-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .process-steps { grid-template-columns: 1fr; } }

.process-step { background: var(--white); border: 1px solid var(--tint-border); border-radius: var(--radius); overflow: hidden; }
.process-step__media { margin: 0; aspect-ratio: 16 / 10; }
.process-step__img { width: 100%; height: 100%; object-fit: cover; }
.process-step__body { padding: 1.2rem 1.3rem 1.4rem; position: relative; }
.process-step__num {
	position: absolute;
	top: -1.4rem; right: 1rem;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 2.6rem;
	color: var(--cyan);
	background: var(--navy);
	line-height: 1;
	padding: 0.3rem 0.55rem;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 0.5rem), calc(100% - 0.5rem) 100%, 0 100%);
}
.process-step__body h3 { margin-bottom: 0.35rem; }
.process-step__body p { font-size: var(--text-sm); color: var(--ink-muted); margin: 0; }

.gallery-teaser { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.6rem 0 1rem; }
@media (max-width: 600px) { .gallery-teaser { grid-template-columns: 1fr; } }
.gallery-teaser__item { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius); }
.gallery-teaser__img { width: 100%; height: 100%; object-fit: cover; }

.facts-list { display: grid; gap: 0.7rem; margin: 1.4rem 0; }
.facts-list > div {
	display: grid;
	grid-template-columns: 11rem 1fr;
	gap: 0.8rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--tint-border);
}
@media (max-width: 480px) { .facts-list > div { grid-template-columns: 1fr; gap: 0.15rem; } }
.facts-list dt {
	font-family: var(--font-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: var(--text-xs);
	color: var(--ink-muted);
	padding-top: 0.2rem;
}
.facts-list dd { margin: 0; font-weight: 500; }

.current-season__media { display: grid; gap: 1rem; }
.current-season__primary, .current-season__secondary { margin: 0; }
.current-season__img { border-radius: var(--radius); width: 100%; }
.current-season__media figcaption { font-size: var(--text-xs); color: var(--ink-muted); margin-top: 0.4rem; }

.tech-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2rem; }
@media (max-width: 1000px) { .tech-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .tech-grid { grid-template-columns: 1fr; } }
.tech-card { margin: 0; background: var(--white); border: 1px solid var(--tint-border); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; }
.tech-card__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.tech-card .titan-placeholder { border-radius: 0; border-left: 0; border-right: 0; border-top: 0; flex-grow: 1; }
.tech-card figcaption { padding: 0.8rem 1.1rem; font-size: var(--text-sm); font-weight: 600; color: var(--navy); }

/* --------------------------------------------------------------------------
   Gallery grid + lightbox
   -------------------------------------------------------------------------- */

.gallery-grid {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 0.9rem;
}
.gallery-grid__tile {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.gallery-grid__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.3s ease; }
.gallery-grid__tile:hover .gallery-grid__img { transform: scale(1.05); }

.titan-lightbox {
	position: fixed;
	inset: 0;
	z-index: 300;
	background: rgba(10, 20, 40, 0.92);
	display: grid;
	place-items: center;
	padding: 2.5rem;
}
.titan-lightbox[hidden] { display: none; }
.titan-lightbox__img { max-width: min(92vw, 70rem); max-height: 82vh; width: auto; height: auto; border-radius: var(--radius-sm); box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5); }
.titan-lightbox__btn {
	position: absolute;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: var(--white);
	width: 2.8rem; height: 2.8rem;
	border-radius: 50%;
	cursor: pointer;
	font-size: 1.3rem;
	line-height: 1;
	display: grid;
	place-items: center;
}
.titan-lightbox__btn:hover { background: rgba(0, 180, 223, 0.35); }
.titan-lightbox__close { top: 1.2rem; right: 1.2rem; }
.titan-lightbox__prev { left: 1.2rem; top: 50%; transform: translateY(-50%); }
.titan-lightbox__next { right: 1.2rem; top: 50%; transform: translateY(-50%); }
.titan-lightbox__caption { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,0.85); font-size: var(--text-sm); max-width: 80vw; text-align: center; }

/* --------------------------------------------------------------------------
   Seasons
   -------------------------------------------------------------------------- */

.season-list { display: grid; gap: 2rem; }
.season-card {
	display: grid;
	grid-template-columns: 1.1fr 1.4fr;
	background: var(--white);
	border: 1px solid var(--tint-border);
	border-radius: var(--radius);
	overflow: hidden;
}
@media (max-width: 700px) { .season-card { grid-template-columns: 1fr; } }
.season-card__media { display: block; min-height: 15rem; }
.season-card__img { width: 100%; height: 100%; object-fit: cover; }
.season-card__body { padding: 1.6rem 1.8rem; }
.season-card__year {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--hero-gradient-4);
	letter-spacing: 0.14em;
	font-size: var(--text-sm);
	text-transform: uppercase;
	margin-bottom: 0.2rem;
}
.season-card__title { margin-bottom: 0.7rem; }
.season-card__title a { text-decoration: none; }
.season-card__facts { display: flex; gap: 2rem; margin: 0 0 0.8rem; }
.season-card__facts dt { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-muted); }
.season-card__facts dd { margin: 0; font-weight: 600; color: var(--navy); }
.season-card__awards { margin: 0 0 0.8rem; padding: 0; list-style: none; display: grid; gap: 0.4rem; font-size: var(--text-sm); color: var(--ink-muted); }
.season-single__img { border-radius: var(--radius); width: 100%; }
.season-single__awards { margin: 0.5rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.5rem; font-size: var(--text-sm); }

/* --------------------------------------------------------------------------
   Impact stat band
   -------------------------------------------------------------------------- */

.stat-band {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin-top: 2.2rem;
}
@media (max-width: 900px) { .stat-band { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .stat-band { grid-template-columns: 1fr; } }
.stat-band__item { text-align: center; padding: 1.4rem 1rem; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--radius); background: rgba(255, 255, 255, 0.05); }
.stat-band__value {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.6rem, 1.2rem + 2vw, 2.8rem);
	color: var(--cyan);
	line-height: 1.05;
	margin-bottom: 0.3rem;
	overflow-wrap: anywhere;
}
.stat-band__label { font-size: var(--text-sm); color: rgba(255, 255, 255, 0.85); margin: 0; }
.stat-band__source-note {
	background: rgba(0, 180, 223, 0.12);
	border: 1px dashed var(--cyan);
	border-radius: var(--radius-sm);
	padding: 0.8rem 1.1rem;
	font-size: var(--text-sm);
	max-width: 46rem;
}

.outreach-list { display: grid; gap: 2rem; }
.outreach-row {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: clamp(1.2rem, 3vw, 2.5rem);
	align-items: center;
	background: var(--white);
	border: 1px solid var(--tint-border);
	border-radius: var(--radius);
	overflow: hidden;
}
.outreach-row:nth-child(even) { grid-template-columns: 1.3fr 1fr; }
.outreach-row:nth-child(even) .outreach-row__media { order: 2; }
/* Uniform outreach photos: same aspect box, cover crop. */
.outreach-row__media { margin: 0; aspect-ratio: 3 / 2; align-self: center; width: 100%; }
.outreach-row__img { width: 100%; height: 100%; object-fit: cover; }
.outreach-row__body { padding: 1.6rem 1.6rem 1.6rem 0.2rem; }
.outreach-row:nth-child(even) .outreach-row__body { padding: 1.6rem 0.2rem 1.6rem 1.6rem; }
.outreach-row__body h2 { font-size: var(--h3); margin-bottom: 0.4rem; }
.outreach-row__body p { margin: 0; color: var(--ink-muted); }
@media (max-width: 700px) {
	.outreach-row, .outreach-row:nth-child(even) { grid-template-columns: 1fr; }
	.outreach-row:nth-child(even) .outreach-row__media { order: 0; }
	.outreach-row__body, .outreach-row:nth-child(even) .outreach-row__body { padding: 0 1.4rem 1.5rem; }
}

/* --------------------------------------------------------------------------
   Mission band
   -------------------------------------------------------------------------- */

.mission-band { padding: var(--section-pad) 1.25rem; text-align: center; }
.mission-band__statement { margin: 0; }
.mission-band__statement p {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.35rem, 1.1rem + 1.4vw, 2rem);
	line-height: 1.4;
	color: var(--white);
}
.mission-band__values-note { max-width: 40rem; margin: 1.5rem auto 0; color: rgba(255, 255, 255, 0.85); font-size: var(--text-sm); }
.mission-band__values-note a { color: var(--cyan); font-weight: 600; }

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */

.titan-form { max-width: 38rem; }
.titan-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 560px) { .titan-form__row { grid-template-columns: 1fr; } }
.titan-form__field { margin-bottom: 1.1rem; }
.titan-form__field label { display: block; font-weight: 600; font-size: var(--text-sm); color: var(--navy); margin-bottom: 0.3rem; }
.titan-form__req { color: var(--error); }
.titan-form__field input,
.titan-form__field select,
.titan-form__field textarea {
	width: 100%;
	font: inherit;
	color: var(--ink);
	padding: 0.65rem 0.8rem;
	border: 1.5px solid var(--cool-grey);
	border-radius: var(--radius-sm);
	background: var(--white);
}
.titan-form__field input:focus-visible,
.titan-form__field select:focus-visible,
.titan-form__field textarea:focus-visible { outline: var(--focus-ring); outline-offset: 1px; border-color: var(--cyan); }
.titan-form__field .is-invalid { border-color: var(--error); }
.titan-form__hp { position: absolute !important; left: -9999px; height: 1px; width: 1px; overflow: hidden; }
.titan-form__status { min-height: 1.5em; font-weight: 600; margin-top: 0.9rem; }
.titan-form__status.is-error { color: var(--error); }
.titan-form__status.is-success { color: var(--navy); }

.contact-info { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.9rem; }
.contact-layout__info {
	background: var(--tint);
	border-radius: var(--radius);
	padding: 1.8rem;
	position: sticky;
	top: 5.5rem;
}

/* ==========================================================================
   Revision 1 additions
   ========================================================================== */

/* --- Motion system: staggered reveals, scale-up, hover glow/tilt --- */

.reveal.reveal--pending { opacity: 0; transform: translateY(20px) scale(0.985); }
.reveal.reveal--visible {
	opacity: 1;
	transform: none;
	transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.2, 0.7, 0.3, 1);
	transition-delay: var(--reveal-delay, 0s);
}

.tilt { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.tilt:hover, .tilt:focus-within {
	transform: translateY(-4px) scale(1.015);
	box-shadow: 0 14px 40px rgba(0, 180, 223, 0.22), 0 4px 14px rgba(26, 54, 104, 0.18);
}
.section--navy .tilt:hover, .section--navy .tilt:focus-within {
	box-shadow: 0 14px 44px rgba(0, 180, 223, 0.3);
}
@media (prefers-reduced-motion: reduce) {
	.tilt, .tilt:hover { transform: none !important; transition: none; }
}

.parallax-media { will-change: transform; }

/* --- What We Do stat callouts --- */

.whatwedo-card__stat {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--cyan);
	margin: 0.2rem 0 0.6rem;
}

/* --- Sponsor grid: logo + name --- */

.sponsor-grid__item { display: grid; gap: 0.5rem; align-content: start; }
.sponsor-grid__name {
	margin: 0;
	text-align: center;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.98rem;
	color: var(--navy);
	line-height: 1.3;
}
.section--navy .sponsor-grid__name { color: var(--white); }

/* --- Worlds Qualifier badge (Awards page) --- */

.worlds-badge {
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.62rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--navy-deep);
	background: var(--cyan);
	border-radius: 99px;
	padding: 0.12rem 0.55rem;
	margin-left: 0.5rem;
	vertical-align: 2px;
	white-space: nowrap;
}

/* --- Leadership rows (4 / 4 / 3-centered) + mentors section --- */

.people-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}
.people-row--centered {
	grid-template-columns: repeat(3, 1fr);
	max-width: calc(75% + 0.75rem);
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 1080px) {
	.people-row, .people-row--centered { grid-template-columns: repeat(2, 1fr); max-width: none; }
}
@media (max-width: 560px) {
	.people-row, .people-row--centered { grid-template-columns: 1fr; }
}

.mentors-lede { max-width: 40rem; }
.person-card--mentor { border: 0; }

/* --- About FIRST: six core values, three per row --- */

.values-grid--six { grid-template-columns: repeat(3, 1fr); max-width: 62rem; margin-left: auto; margin-right: auto; }
@media (max-width: 900px) { .values-grid--six { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .values-grid--six { grid-template-columns: 1fr; } }

/* --- Demographics (slim) --- */

.demo-charts--slim { grid-template-columns: minmax(15rem, 1fr) 1.6fr; align-items: stretch; }
@media (max-width: 820px) { .demo-charts--slim { grid-template-columns: 1fr; } }
.demo-headline--tall {
	grid-column: auto;
	display: grid;
	align-content: center;
	gap: 0.3rem;
}
.demo-headline__note { color: var(--cool-grey); font-size: var(--text-xs); margin: 0; }

/* --- Illinois members map --- */

.il-map__heading { margin-top: 3rem; }
.il-map {
	display: grid;
	grid-template-columns: minmax(15rem, 1fr) 1.3fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	margin-top: 1.5rem;
}
@media (max-width: 820px) { .il-map { grid-template-columns: 1fr; } }
.il-map__figure {
	margin: 0;
	background: var(--white);
	border: 1px solid var(--tint-border);
	border-radius: var(--radius);
	padding: 1.5rem;
}
.il-map__svg { width: 100%; max-width: 22rem; display: block; margin: 0 auto; }
.il-map__state {
	fill: var(--navy);
	stroke: var(--hero-gradient-5);
	stroke-width: 2;
	stroke-linejoin: round;
}
.il-map__dot {
	fill: var(--cyan);
	stroke: var(--white);
	stroke-width: 1.6;
	transition: r 0.15s ease;
}
.il-map__dot--multi { fill: var(--white); stroke: var(--cyan); stroke-width: 2.5; }
.il-map__pin:hover .il-map__dot { fill: var(--white); stroke: var(--cyan); }
.il-map__count {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 11px;
	fill: var(--navy);
	pointer-events: none;
}
.il-map__big {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.2rem);
	color: var(--navy);
	margin-bottom: 0.4rem;
}
.il-map__num { color: var(--hero-gradient-4); font-size: 1.25em; }
.il-map__note { color: var(--ink-muted); max-width: 30rem; }
.il-map__list {
	list-style: none;
	margin: 1.2rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
	gap: 0.45rem 1.2rem;
	font-size: var(--text-sm);
}
.il-map__list li { display: flex; align-items: center; gap: 0.5rem; }
.il-map__list-dot { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--cyan); flex-shrink: 0; }
.il-map__list-dot--multi { background: var(--white); border: 2px solid var(--cyan); }
.il-map__list-count { font-weight: 700; color: var(--hero-gradient-4); }

/* --- Instagram card + analytics ring (Relations subteam) --- */

.ig-block { display: grid; gap: 1.25rem; }
.ig-card {
	background: var(--white);
	border: 1px solid var(--tint-border);
	border-radius: var(--radius);
	padding: 1.4rem;
	box-shadow: 0 10px 30px rgba(26, 54, 104, 0.08);
}
.ig-card__head { display: flex; align-items: center; gap: 0.9rem; margin-bottom: 0.9rem; }
.ig-card__avatar {
	width: 3.6rem; height: 3.6rem;
	border-radius: 50%;
	border: 2px solid var(--cyan);
	background: var(--white);
	display: grid; place-items: center;
	overflow: hidden;
	flex-shrink: 0;
}
.ig-card__avatar img { width: 78%; height: 78%; object-fit: contain; }
.ig-card__handle { font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; color: var(--navy); margin: 0; }
.ig-card__name { font-size: var(--text-xs); color: var(--ink-muted); margin: 0; }
.ig-card__stats {
	list-style: none;
	margin: 0 0 0.9rem;
	padding: 0.6rem 0;
	border-top: 1px solid var(--tint-border);
	border-bottom: 1px solid var(--tint-border);
	display: flex;
	gap: 1.4rem;
	font-size: var(--text-sm);
	flex-wrap: wrap;
}
.ig-card__stats strong { font-family: var(--font-display); font-size: 1.05rem; color: var(--navy); }
.ig-card__bio p { margin: 0 0 0.25rem; font-size: var(--text-sm); }
.ig-card__follow {
	display: inline-block;
	margin-top: 0.8rem;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--navy-deep);
	background: var(--cyan);
	border-radius: var(--radius-sm);
	padding: 0.45rem 1rem;
}
.ig-card__follow:hover { background: #33c4e6; color: var(--navy-deep); }

.ig-ring { margin: 0; background: var(--white); border: 1px solid var(--tint-border); border-radius: var(--radius); padding: 1.2rem 1.4rem; }
.ig-ring__title { font-family: var(--font-display); font-weight: 700; color: var(--navy); margin-bottom: 0.8rem; }
.ig-ring__wrap { position: relative; max-width: 11rem; margin: 0 auto; }
.ig-ring__svg { width: 100%; display: block; }
.ig-ring__track { stroke: var(--tint); }
.ig-ring__seg--nonfollowers { stroke: var(--cyan); }
.ig-ring__seg--followers { stroke: var(--navy); }
.ig-ring__center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; margin: 0; line-height: 1.15; }
.ig-ring__center strong { font-family: var(--font-display); font-weight: 700; font-size: 1.45rem; color: var(--navy); }
.ig-ring__center span { font-size: var(--text-xs); color: var(--ink-muted); text-transform: uppercase; letter-spacing: 0.08em; }
.ig-ring__legend { justify-content: center; }

/* --- Robot page: current-robot feature --- */

.robot-feature { position: relative; overflow: hidden; }
.robot-feature__bgword {
	position: absolute;
	top: 50%; right: -1rem;
	transform: translateY(-50%);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(9rem, 24vw, 20rem);
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 2px rgba(26, 54, 104, 0.08);
	pointer-events: none;
	user-select: none;
}
.robot-feature__grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
	position: relative;
}
@media (max-width: 820px) { .robot-feature__grid { grid-template-columns: 1fr; } }
.robot-feature__media { position: relative; }
.robot-feature__photo { margin: 0; }
.robot-feature__img {
	width: 100%;
	border-radius: var(--radius);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2.2rem), calc(100% - 2.2rem) 100%, 0 100%);
	box-shadow: 0 24px 60px rgba(26, 54, 104, 0.25);
}
.robot-feature__season-chip {
	position: absolute;
	left: -0.9rem; bottom: 1.6rem;
	margin: 0;
	background: var(--navy);
	color: var(--white);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.05;
	padding: 0.7rem 1.1rem;
	border-left: 4px solid var(--cyan);
	box-shadow: 0 10px 30px rgba(18, 39, 73, 0.4);
}
.robot-feature__season-chip span {
	display: block;
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--cyan);
}
.robot-feature__rule { display: block; width: 4.5rem; height: 4px; background: var(--cyan); margin: 0.2rem 0 1.1rem; }
.robot-feature__actions { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; margin-top: 0.6rem; }

/* --- Impact page --- */

.who-chips {
	list-style: none;
	margin: 1.6rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
}
.who-chip {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--navy);
	background: var(--tint);
	border: 1px solid var(--tint-border);
	border-left: 3px solid var(--cyan);
	border-radius: var(--radius-sm);
	padding: 0.5rem 1rem;
}

.stat-band--three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .stat-band--three { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .stat-band--three { grid-template-columns: 1fr; } }
.stat-band__subhead {
	color: var(--cyan);
	font-size: 1.05rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 2.6rem 0 0;
}
.stat-band__item--text { text-align: left; display: grid; align-content: center; gap: 0.3rem; }
.stat-band__mini-title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.2rem;
	color: var(--cyan);
	margin: 0;
}

.quote-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2rem; }
@media (max-width: 820px) { .quote-grid { grid-template-columns: 1fr; } }
.quote-card {
	margin: 0;
	background: var(--white);
	border: 1px solid var(--tint-border);
	border-left: 4px solid var(--cyan);
	border-radius: var(--radius);
	padding: 1.8rem;
}
.quote-card__text { font-size: var(--text-lg); line-height: 1.6; color: var(--ink); }
.quote-card__who { display: grid; gap: 0.1rem; }
.quote-card__who strong { font-family: var(--font-display); font-size: 1.05rem; color: var(--navy); }
.quote-card__who span { font-size: var(--text-sm); color: var(--ink-muted); }

.impact-closing { text-align: center; }
.impact-closing__line {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.6rem, 1.2rem + 2.2vw, 3rem);
	color: var(--navy);
	margin-bottom: 0.2rem;
}
.impact-closing__line span { color: var(--hero-gradient-4); font-size: 1.25em; }
.impact-closing__mission {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.1rem, 1rem + 0.8vw, 1.5rem);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--cyan);
	-webkit-text-stroke: 0.4px var(--hero-gradient-2);
	margin: 0;
}

/* Person cards stay light-styled even inside navy sections (mentors),
   otherwise the navy-section text/placeholder overrides go white-on-white. */
.section--navy .person-card { background: var(--white); }
.section--navy .person-card h3 { color: var(--navy); }
.section--navy .person-card p { color: var(--ink-muted); }
.section--navy .person-card .person-card__role { color: var(--hero-gradient-4); }
.section--navy .person-card .titan-placeholder {
	background:
		repeating-linear-gradient(45deg, rgba(139, 146, 171, 0.1) 0 14px, transparent 14px 28px),
		var(--tint);
	border-color: var(--cool-grey);
	color: var(--ink-muted);
}
.section--navy .person-card .titan-placeholder__badge { color: var(--navy); }
