/*
 * World Cup page — custom CSS only (not in Athena / style.min.css)
 * Pair with worldcup-athena-body.html + worldcup-custom.js
 * Upload via Appearance > Additional CSS
 */

:root {
  --wc-gold: #FFC904;
  --wc-gold-dark: #6b4f00;
  --wc-gold-pale: #FFFBEA;
  --wc-ink: #1A1A1A;
  --wc-gray-dk: #444;
  --wc-gray-md: #666;
  --wc-gray-lt: #e2e2e2;
  --wc-ease: cubic-bezier(.22, 1, .36, 1);
}

/* ── Hero overlay + kicker ── */
.wc-hero .media-background-container { background-color: #0a1f0a; }
.wc-hero__inner {
  position: relative;
  z-index: 1;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(100deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .28) 48%, rgba(0, 0, 0, .55) 100%);
}
.wc-hero__kicker { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; flex-wrap: wrap; }
.wc-hero__kicker-label {
  font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  background: var(--wc-gold); color: #000; padding: .3rem .9rem;
}
.wc-hero__kicker-date {
  font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255, 255, 255, .65);
}
.wc-hero__h1 { font-size: clamp(2rem, 5.5vw, 4rem); line-height: 1.06; max-width: 22ch; margin-bottom: 1rem; text-shadow: 0 2px 20px rgba(0, 0, 0, .4); }
.wc-hero__h1 em { font-style: normal; color: var(--wc-gold); }
.wc-hero__byline { font-size: .9rem; opacity: .85; margin-bottom: 1.1rem; }
.wc-hero__lede { font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.75; max-width: 640px; opacity: .92; }

/* ── Section menu scrollspy active state ── */
.section-menu a.wc-active { color: var(--wc-gold) !important; }

/* ── Citable source box ── */
.wc-authority-box {
  border: 2px solid #000; padding: 1.4rem 1.6rem; margin: 1rem 0 2rem;
  display: grid; grid-template-columns: auto 1fr; gap: 1.25rem; align-items: center;
}
.wc-authority-box__badge {
  font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  background: var(--wc-gold); color: #000; padding: .5rem .85rem .4rem;
  white-space: nowrap; text-align: center; line-height: 1.2; align-self: start;
}
.wc-authority-box__badge svg { display: block; margin: 0 auto .35rem; }
.wc-authority-box p { font-size: .9rem; line-height: 1.65; color: var(--wc-gray-dk); margin: 0; }
@media (max-width: 600px) { .wc-authority-box { grid-template-columns: 1fr; } }

/* ── Stat cards (dark bg for gold numerals — AA contrast) ── */
.wc-stat-card { background: var(--wc-ink); border-top: 4px solid var(--wc-gold); padding: 1.25rem 1rem; text-align: center; height: 100%; }

/* ── Inline section photos ── */
.wc-feature-photo {
  max-width: 340px;
  overflow: hidden;
  border-top: 3px solid var(--wc-gold);
}
.wc-feature-photo img {
  width: 100%; display: block; aspect-ratio: 4 / 3;
  object-fit: cover; object-position: center;
}
@media (max-width: 767px) {
  .wc-feature-photo { max-width: 280px; }
  .wc-feature-photo img { aspect-ratio: 3 / 2; }
}
.wc-authority-section__bg img[src*="world-cup-bar2"] { object-position: center 42%; }
.wc-orlando-bg-zone__bg img[src*="world-cup-frank-badu-baiden-group"] { object-position: center 42%; }
.wc-stat-card__num { font-size: clamp(1.75rem, 4vw, 2.6rem); font-weight: 700; color: var(--wc-gold); line-height: 1; margin-bottom: .4rem; }
.wc-stat-card__label { font-size: .82rem; line-height: 1.45; color: rgba(255, 255, 255, .85); font-weight: 600; }

/* ── Authority section (Rosen campus bg) ── */
.wc-authority-section { position: relative; overflow: hidden; }
.wc-authority-section__bg .media-background-container { background-color: #000; }
.wc-authority-section__overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(105deg, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .82) 42%, rgba(0, 0, 0, .70) 100%);
}
.wc-authority-section__content { position: relative; z-index: 2; }

.wc-cred-list { display: flex; flex-direction: column; gap: .65rem; margin-bottom: 2rem; }
.wc-cred {
  display: grid; grid-template-columns: 2.6rem 1fr; gap: .75rem; align-items: start;
  padding: .75rem; background: rgba(255, 255, 255, .06); border-left: 3px solid var(--wc-gold);
}
.wc-cred__rank { font-size: 1.3rem; font-weight: 700; color: var(--wc-gold); line-height: 1; text-align: center; padding-top: .1rem; }
.wc-cred__body strong { display: block; font-size: .85rem; font-weight: 600; color: #fff; letter-spacing: .03em; text-transform: uppercase; margin-bottom: .2rem; }
.wc-cred__body span { font-size: .8rem; color: rgba(255, 255, 255, .62); line-height: 1.45; }

.wc-expert-card { background: rgba(255, 255, 255, .06); border-top: 3px solid var(--wc-gold); padding: 1.1rem; height: 100%; }
.wc-expert-card__av {
  width: 42px; height: 42px; border-radius: 50%; background: var(--wc-gold);
  display: grid; place-items: center; margin-bottom: .65rem;
}
.wc-expert-card__av span { font-size: 1rem; font-weight: 700; color: #000; }
.wc-expert-card h3 { color: #fff; margin-bottom: .1rem; }
.wc-expert-card__role {
  font-size: .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
  color: var(--wc-gold); margin-bottom: .55rem; display: block; line-height: 1.35;
}
.wc-expert-card p { font-size: .82rem; line-height: 1.6; color: rgba(255, 255, 255, .62); }

/* ── Inline expert callouts ── */
.wc-inline-expert {
  display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: start;
  margin: 1.75rem 0; padding: 1.1rem 1.25rem; background: #F5F5F5; border-left: 4px solid var(--wc-gold);
}
.bg-faded .wc-inline-expert,
.jumbotron.bg-faded .wc-inline-expert { background: #fff; }
.wc-inline-expert__av {
  width: 42px; height: 42px; border-radius: 50%; background: #000;
  display: grid; place-items: center; flex-shrink: 0;
}
.wc-inline-expert__av span { font-size: .95rem; font-weight: 700; color: var(--wc-gold); }
.wc-inline-expert h4 { margin-bottom: .1rem; }
.wc-inline-expert__role {
  font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
  color: var(--wc-gray-md); margin-bottom: .5rem; display: block;
}
.wc-inline-expert blockquote { font-size: .92rem; line-height: 1.7; color: var(--wc-gray-dk); font-style: italic; margin: 0; }
.wc-inline-expert--dark { background: rgba(0, 0, 0, .45); border-left-color: var(--wc-gold); }
.wc-inline-expert--dark h4 { color: #fff; }
.wc-inline-expert--dark .wc-inline-expert__role { color: var(--wc-gold); }
.wc-inline-expert--dark .wc-inline-expert__av { background: var(--wc-gold); }
.wc-inline-expert--dark .wc-inline-expert__av span { color: #000; }
.wc-inline-expert--dark blockquote { color: rgba(255, 255, 255, .82); }
@media (max-width: 560px) { .wc-inline-expert { grid-template-columns: 1fr; } }

/* ── Workforce mini cards (gold top border on Athena card) ── */
.wc-mini-card .card-block { border-top: 4px solid var(--wc-gold); }

/* ── Alumni band ── */
.wc-alumni-band { background: var(--wc-ink); position: relative; overflow: hidden; }
.wc-alumni-band::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: repeating-linear-gradient(135deg, rgba(255, 201, 4, .025) 0px, rgba(255, 201, 4, .025) 1px, transparent 1px, transparent 40px);
}
.wc-alumni-band .container { position: relative; z-index: 1; }
.wc-alumni-band__kicker {
  display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; background: var(--wc-gold); color: #000; padding: .3rem .9rem;
}
.wc-alumni-card {
  background: rgba(255, 255, 255, .06); border-top: 3px solid var(--wc-gold);
  display: flex; flex-direction: column; overflow: hidden; height: 100%;
}
.wc-alumni-card__photo-wrap {
  width: 100%; height: 220px; overflow: hidden; flex-shrink: 0;
  background: rgba(0, 0, 0, .15);
}
.wc-alumni-card__photo-wrap .wc-alumni-card__photo {
  width: 100%; height: 100%; display: block;
  object-fit: cover; object-position: center 30%;
}
.wc-alumni-card__photo-wrap:has(img[src*="IzzyAngel"]) .wc-alumni-card__photo { object-position: 20% 38%; }
.wc-alumni-card__photo-wrap:has(img[src*="Brendon-Boseja"]) .wc-alumni-card__photo {
  object-position: center 26%; transform: scale(1.06); transform-origin: center 28%;
}
.wc-alumni-card__photo-wrap:has(img[src*="Taylor_Culver"]) .wc-alumni-card__photo {
  object-position: center 18%; transform: scale(1.22); transform-origin: center 22%;
}
.wc-alumni-card__photo-wrap:has(img[src*="Daniel-Garzon"]) .wc-alumni-card__photo { object-position: 18% 36%; }
.wc-alumni-card__photo-wrap:has(img[src*="William-Mendez"]) .wc-alumni-card__photo {
  object-position: center 24%; transform: scale(1.12); transform-origin: center 26%;
}
.wc-alumni-card__photo-wrap .wc-alumni-card__photo--initials {
  width: 100%; height: 100%; background: rgba(255, 201, 4, .15);
  display: flex; align-items: center; justify-content: center;
}
.wc-alumni-card__photo--initials span { font-size: 2rem; font-weight: 700; color: var(--wc-gold); }
.wc-alumni-card__body { padding: 1rem; display: flex; flex-direction: column; gap: .2rem; flex: 1; }
.wc-alumni-card__name { font-size: 1rem; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: .03em; line-height: 1.15; }
.wc-alumni-card__deg { font-size: .75rem; color: rgba(255, 255, 255, .5); line-height: 1.4; margin-bottom: .2rem; }
.wc-alumni-card__role-label { font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wc-gold); margin-top: .15rem; }
.wc-alumni-card__role { font-size: .8rem; color: rgba(255, 255, 255, .75); line-height: 1.4; }
.wc-alumni-card__location { font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .4); margin-top: .3rem; }
.wc-alumni-card__quote {
  font-size: .82rem; font-style: italic; line-height: 1.6; color: rgba(255, 255, 255, .65);
  margin-top: .5rem; padding-top: .5rem; border-top: 1px solid rgba(255, 255, 255, .1);
}
.wc-alumni-cta { margin-top: 2rem; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .12); }

/* ── Tech cards ── */
.wc-tech-card { background: #fff; border: 1px solid var(--wc-gray-lt); border-top: 4px solid var(--wc-gold); padding: 1.35rem; height: 100%; }
.wc-tech-card__header { display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; }
.wc-tech-card__icon { font-size: 1.3rem; line-height: 1; flex-shrink: 0; }
.wc-tech-card p { margin-bottom: .65rem; }
.wc-tech-card__tag {
  font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--wc-gold-dark); border-left: 2px solid var(--wc-gold); padding-left: .5rem; display: block;
}

/* ── Partner logo strip ── */
.wc-partner-strip { padding: 1.5rem 0 2rem; border-top: 1px solid var(--wc-gray-lt); border-bottom: 1px solid var(--wc-gray-lt); margin-bottom: 1.5rem; }
.wc-partner-strip__label { font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--wc-gray-md); margin-bottom: 1.1rem; }
.wc-partner-logos {
  display: flex; align-items: center; flex-wrap: nowrap; justify-content: space-between;
  gap: clamp(.5rem, 1.5vw, 1.5rem); width: 100%;
}
.wc-partner-logo {
  display: flex; align-items: center; justify-content: center;
  flex: 1 1 0; min-width: 0; opacity: .72; transition: opacity .2s;
}
.wc-partner-logo:hover { opacity: 1; }
.wc-partner-logo img { display: block; height: 50px; width: auto; max-width: 100%; object-fit: contain; }
@media (max-width: 767px) {
  .wc-partner-logo img { height: 36px; }
}

/* ── Numbered process list (theme park lessons) ── */
.wc-process-list { counter-reset: wc-step; margin: 0; padding: 0; list-style: none; }
.wc-process-list__item {
  counter-increment: wc-step; display: grid; grid-template-columns: auto 1fr;
  gap: 1.25rem; align-items: start; padding: 1.25rem 0; border-top: 3px solid var(--wc-gold);
}
.wc-process-list__item::before {
  content: counter(wc-step, decimal-leading-zero); font-size: 1.4rem; font-weight: 700;
  color: #000; min-width: 2.4rem; line-height: 1.2;
}
@media (max-width: 767px) { .wc-process-list__item { grid-template-columns: 1fr; } .wc-process-list__item::before { margin-bottom: -.5rem; } }

/* ── Culture cards ── */
.wc-culture-card { padding: 1.25rem; border-left: 4px solid var(--wc-gold); background: #fff; height: 100%; }

/* ── Orlando section ── */
.wc-orlando-section { background: #000; }
.wc-orlando-bg-zone { position: relative; overflow: hidden; padding: clamp(3.5rem, 7vw, 5.5rem) 0 clamp(2.5rem, 5vw, 4rem); }
.wc-orlando-bg-zone__bg .media-background-container { background-color: #000; }
.wc-orlando-bg-zone__overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, .50) 0%, rgba(0, 0, 0, .62) 45%, rgba(0, 0, 0, .88) 72%, #000 100%);
}
.wc-orlando-bg-zone__content { position: relative; z-index: 2; }
.wc-orlando-bg-zone .wc-stat-card { background: rgba(255, 255, 255, .07); }
.wc-orlando-map-zone { padding: 0 0 clamp(2.5rem, 6vw, 4.5rem); }

/* ── Proximity diagram (replaces Leaflet map for Athena) ── */
.wc-proximity { position: relative; margin-top: 1.5rem; }
.wc-proximity__hub {
  background: var(--wc-gold); color: #000; padding: 1.1rem 1.5rem; margin-bottom: 1.25rem;
  border-radius: 2px; display: flex; flex-direction: column; gap: .15rem;
}
.wc-proximity__hub-tag { font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .75; }
.wc-proximity__hub strong { font-size: 1.05rem; text-transform: uppercase; letter-spacing: .02em; }
.wc-proximity__hub span { font-size: .82rem; opacity: .85; }
.wc-proximity__node {
  background: rgba(255, 255, 255, .06); border-top: 3px solid var(--wc-gold);
  padding: 1rem 1.1rem; height: 100%; display: flex; flex-direction: column; gap: .25rem;
}
.wc-proximity__node-label { font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wc-gold); }
.wc-proximity__node strong { font-size: .92rem; color: #fff; text-transform: uppercase; letter-spacing: .02em; line-height: 1.3; }
.wc-proximity__node-dist { font-size: .78rem; color: rgba(255, 255, 255, .55); margin-top: .2rem; }
.wc-proximity__node--wc { border-top-color: #4a9eff; }
.wc-proximity__node--wc .wc-proximity__node-label { color: #4a9eff; }

/* ── Contact band ── */
.wc-contact-band { position: relative; overflow: hidden; }
.wc-contact-band::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: linear-gradient(110deg, transparent 0%, transparent 35%, rgba(255, 201, 4, .06) 45%, rgba(255, 201, 4, .11) 50%, rgba(255, 201, 4, .06) 55%, transparent 65%, transparent 100%);
  background-size: 200% 100%; animation: wc-shimmer 5s linear infinite;
}
.wc-contact-band > * { position: relative; z-index: 1; }
@keyframes wc-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

.wc-research-box { border: 1px solid rgba(255, 255, 255, .18); padding: 1.5rem; }
.wc-research-list { list-style: none; margin: 0; padding: 0; }
.wc-research-list li {
  font-size: .88rem; color: rgba(255, 255, 255, .78); padding: .4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .08); position: relative; padding-left: 1.1rem;
}
.wc-research-list li:last-child { border-bottom: none; }
.wc-research-list li::before { content: '\2022'; position: absolute; left: 0; color: var(--wc-gold); font-weight: 700; }

.wc-link-block { border-top: 3px solid var(--wc-gold); padding: 1.25rem 0; }

/* ── Citations ── */
.wc-cit-list { counter-reset: wc-cite; list-style: none; padding: 0; max-width: 840px; }
.wc-cit-list li {
  counter-increment: wc-cite; position: relative; padding-left: 2.6rem;
  line-height: 1.8; color: var(--wc-gray-dk); margin-bottom: 1rem;
}
.wc-cit-list li::before {
  content: counter(wc-cite); position: absolute; left: 0; top: .05rem;
  font-weight: 700; font-size: .95rem; color: var(--wc-gold-dark);
}
.wc-hub-link { margin-top: 2rem; padding: 1rem 1.25rem; background: #fff; border-left: 4px solid var(--wc-gold); }

@media (prefers-reduced-motion: reduce) {
  .wc-contact-band::before { animation: none !important; }
}
