/* One edition identity in hero, feature-tile and short-card placements. */
.challenge-identity {
  container-type:inline-size;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-width:0;
  min-height:var(--occasion-hero-height);
  padding:var(--space-6);
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  grid-template-areas:"copy art" "footer footer";
  gap:var(--space-5) var(--space-4);
  color:var(--text-strong);
  background:var(--occasion-surface);
}
.challenge-identity::before {
  content:""; position:absolute; inset:0; z-index:-2; pointer-events:none;
  background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--occasion-second-light) 38%,transparent),transparent 68%),
    radial-gradient(ellipse at 65% 55%,color-mix(in srgb,var(--occasion-light) 24%,transparent),transparent 68%);
}
.challenge-identity::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.09;
  background:url("/assets/pitch/pitch-centre-82b5ec48.svg") 90% 50% / cover no-repeat;
}
.challenge-identity__scene { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right bottom; z-index:-3; pointer-events:none; }
.challenge-identity--scenic::before {
  background:linear-gradient(90deg,var(--occasion-surface),color-mix(in srgb,var(--occasion-surface) 70%,transparent) 42%,transparent 76%),
    linear-gradient(0deg,color-mix(in srgb,var(--occasion-surface) 90%,transparent),color-mix(in srgb,var(--occasion-surface) 65%,transparent) 18%,transparent 42%);
}
.challenge-identity--scenic::after { display:none; }
.challenge-identity__copy { grid-area:copy; align-self:center; min-width:0; position:relative; z-index:1; }
.challenge-identity__copy .page-head { margin:0; }
.challenge-identity__copy .page-head__actions { display:none; }
.challenge-identity__eyebrow { color:var(--occasion-accent); font:var(--type-caption); font-weight:var(--weight-bold); letter-spacing:var(--tracking-label); margin:0 0 var(--space-5); }
.challenge-identity__title {
  font-family:var(--font-display); font-size:var(--occasion-display); font-weight:var(--weight-display);
  line-height:var(--occasion-display-line); letter-spacing:var(--occasion-display-tracking); color:var(--occasion-ink); text-wrap:balance;
}
.challenge-identity__tagline { margin:var(--space-4) 0 0; max-width:32ch; color:var(--text-on-hero); font:var(--type-body); text-wrap:pretty; }
.challenge-identity__art { grid-area:art; position:relative; display:flex; align-items:center; justify-content:center; min-width:0; height:var(--occasion-art-height); padding-bottom:var(--space-5); }
.challenge-identity__pairing { display:flex; align-items:center; justify-content:center; gap:var(--space-3); position:relative; z-index:1; }
.challenge-identity__pairing > .team-crest { flex:none; transform:rotate(-6deg); }
.challenge-identity__pairing > .team-crest:last-of-type { transform:rotate(6deg); }
.challenge-identity__versus { color:var(--occasion-accent); font:var(--type-label); }
.challenge-identity--international::after { display:none; }
.challenge-identity__art-caption { position:absolute; bottom:0; inset-inline:0; text-align:center; font:var(--type-caption); color:var(--occasion-accent); letter-spacing:var(--tracking-label); }
.challenge-identity--scenic .challenge-identity__art-caption {
  inset-inline:auto;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:100%;
  padding:var(--space-1) var(--space-2);
  border-radius:var(--radius-sm);
  color:var(--occasion-ink);
  background:color-mix(in srgb,var(--occasion-surface) 94%,transparent);
}
.challenge-identity__illustration { display:block; width:100%; height:100%; max-width:100%; object-fit:contain; transform:scale(1.12); }
.challenge-identity--trophy .challenge-identity__art { height:var(--occasion-trophy-stage); }
.challenge-identity--scenic.challenge-identity--trophy .challenge-identity__art::before {
  content:""; position:absolute; bottom:var(--space-6); width:45%; height:var(--space-3); pointer-events:none;
  background:radial-gradient(ellipse,var(--surface-scrim),transparent 72%);
}
.challenge-identity--scenic.challenge-identity--trophy .challenge-identity__illustration { position:relative; }
.challenge-identity--tile.challenge-identity--scenic .challenge-identity__art::before,
.challenge-identity--short.challenge-identity--scenic .challenge-identity__art::before { bottom:0; }
.challenge-identity__footer { grid-area:footer; display:flex; align-items:end; justify-content:space-between; gap:var(--space-4); position:relative; z-index:1; min-width:0; }
.challenge-identity__terms { display:flex; flex-direction:column; gap:var(--space-1); font:var(--type-caption); color:var(--text-on-hero); margin:0; }
.challenge-identity__terms.facts { flex-direction:row; align-items:center; gap:var(--space-4); }
.challenge-identity__top { grid-area:top; display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); position:relative; z-index:1; min-width:0; }
.challenge-identity__top .challenge-identity__eyebrow { margin:0; }
.challenge-identity--topfacts { grid-template-areas:"top top" "copy art" "footer footer"; }
.challenge-identity--topfacts:not(:has(.challenge-identity__footer)) { grid-template-areas:"top top" "copy art"; }
.challenge-identity__terms strong { font:var(--type-label); color:var(--text-strong); }
.challenge-identity--tile { container-type:inline-size; min-height:var(--occasion-tile-height); padding:var(--space-5); grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:var(--space-4); }
.challenge-identity--tile .challenge-identity__eyebrow { margin-bottom:var(--space-3); }
.challenge-identity__tile-title { font:var(--type-h2); font-size:var(--occasion-title-compact); color:var(--occasion-ink); text-wrap:balance; overflow-wrap:anywhere; }
.challenge-identity--tile .challenge-identity__art { height:var(--occasion-art-feature); padding:0; }
.challenge-identity--tile .challenge-identity__pairing { gap:var(--space-1); }
.challenge-identity--tile .challenge-identity__pairing > .team-crest { --crest-size:var(--occasion-crest-feature) !important; }
.challenge-identity--tile .challenge-identity__art-caption { display:none; }
.challenge-identity--tile .challenge-identity__tagline { font:var(--type-label); }
/* Featured cards lead with the occasion and its action; full previews keep the editorial copy. */
.challenge-identity--feature { padding:var(--card-pad); }
.challenge-identity--feature .challenge-identity__eyebrow { margin-bottom:var(--space-4); }
.challenge-identity--feature .challenge-identity__copy > .caption { margin-top:var(--space-3); }
.challenge-identity--feature .challenge-identity__terms { display:flex; }
.challenge-identity--short {
  min-height:var(--occasion-short-height); padding:var(--space-4); gap:var(--space-2) var(--space-3);
  grid-template-columns:minmax(0,1fr) var(--occasion-art-short); grid-template-areas:"copy art" "footer art";
  text-decoration:none;
}
.challenge-identity--short .challenge-identity__copy { align-self:end; }
.challenge-identity--short .challenge-identity__eyebrow { margin-bottom:var(--space-2); }
.challenge-identity--short .challenge-identity__tile-title { font-size:var(--occasion-title-short); line-height:var(--occasion-short-line); }
.challenge-identity--short .challenge-identity__footer { align-self:start; }
.challenge-identity--short .challenge-identity__terms { display:flex; }
.challenge-identity[href]:hover { box-shadow:inset 0 0 0 2px var(--occasion-accent), var(--shadow-card); }
.challenge-identity--short .challenge-identity__art { height:var(--occasion-art-short); padding:0; }
.challenge-identity--short .challenge-identity__art-caption { display:none; }
.challenge-identity--short .challenge-identity__pairing { gap:var(--space-1); }
.occasion-context:not(.occasion-context--quiet) {
  --surface-rail:var(--occasion-rail); --surface-page:var(--occasion-canvas);
  background:radial-gradient(ellipse 85% 44% at 90% 0,color-mix(in srgb,var(--occasion-light) 11%,transparent),transparent),var(--surface-page);
}
.occasion-label { display:flex; align-items:center; gap:var(--space-2); font:var(--type-label); color:var(--occasion-accent); }
.occasion-editions { display:flex; flex-wrap:wrap; gap:var(--space-2); border-bottom:var(--border-width) solid var(--border-subtle); padding-bottom:var(--space-3); }
.occasion-editions__link { display:inline-flex; align-items:center; min-height:var(--tap-min); padding:var(--space-2) var(--space-3); font:var(--type-caption); color:var(--text-muted); border-radius:var(--radius-sm); }
.occasion-editions__link:hover { background:var(--surface-raised); color:var(--text-strong); }
.occasion-editions__link[aria-current=page] { color:var(--text-accent); background:var(--surface-accent-soft); }
.occasion-review-bar { display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--space-2); }
.challenge-preview-grid, .challenge-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-5); }
.challenge-preview-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-5); align-items:start; }
.challenge-preview-layout > * { min-width:0; }
.challenge-preview-compact { max-width:var(--layout-compact); }
@media (max-width: 959px) {
  .challenge-preview-grid, .challenge-feature-grid { grid-template-columns:minmax(0,1fr); }
  .challenge-identity__pairing > .team-crest { --crest-size:128px !important; }
  .challenge-identity--short .challenge-identity__pairing > .team-crest { --crest-size:48px !important; }
}
@media (max-width: 600px) {
  .challenge-identity--scenic::before {
    background:linear-gradient(180deg,color-mix(in srgb,var(--occasion-surface) 96%,transparent),color-mix(in srgb,var(--occasion-surface) 85%,transparent) 35%,transparent 62%,color-mix(in srgb,var(--occasion-surface) 88%,transparent) 78%,var(--occasion-surface));
  }
  .challenge-identity--tile.challenge-identity--scenic::before,
  .challenge-identity--short.challenge-identity--scenic::before {
    background:linear-gradient(90deg,var(--occasion-surface),color-mix(in srgb,var(--occasion-surface) 78%,transparent) 45%,transparent);
  }
  .occasion-editions { flex-wrap:nowrap; overflow-x:auto; }
  .occasion-editions__link { white-space:nowrap; flex:none; }
  .occasion-editions__link[aria-current=page] { order:-1; }
  .challenge-identity { grid-template-columns:minmax(0,1fr); grid-template-areas:"copy" "art" "footer"; padding:var(--space-5); gap:var(--space-5); }
  .challenge-identity__title { overflow-wrap:anywhere; }
  .challenge-identity--topfacts { grid-template-areas:"top" "copy" "art" "footer"; }
  .challenge-identity--topfacts:not(:has(.challenge-identity__footer)) { grid-template-areas:"top" "copy" "art"; }
  .challenge-identity__eyebrow { margin-bottom:var(--space-4); }
  .challenge-identity__art { height:var(--occasion-art-mobile); padding-bottom:0; }
  .challenge-identity__pairing > .team-crest { --crest-size:var(--occasion-crest-mobile) !important; }
  .challenge-identity__art-caption { display:none; }
  .challenge-identity--trophy .challenge-identity__art { height:var(--occasion-trophy-mobile); }
  .challenge-identity__footer { align-items:start; flex-direction:column; }
  .challenge-identity--feature { padding:var(--card-pad); gap:var(--space-4); }
  .challenge-identity--feature .challenge-identity__art { height:calc(var(--space-8) * 2); }
  .challenge-identity--feature .challenge-identity__eyebrow { margin-bottom:var(--space-3); }
  .challenge-identity--tile { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"copy copy" "footer art"; }
  .challenge-identity--tile .challenge-identity__art { width:var(--occasion-art-feature); height:var(--occasion-art-feature); }
  .challenge-identity--tile .challenge-identity__footer { flex-direction:column; align-items:start; }
  .challenge-identity--short { grid-template-columns:minmax(0,1fr) var(--occasion-art-short); grid-template-areas:"copy art" "footer art"; padding:var(--space-4); gap:var(--space-2) var(--space-3); }
  .challenge-identity--short .challenge-identity__art { height:var(--occasion-art-short); }
  .challenge-identity--short .challenge-identity__pairing > .team-crest { --crest-size:var(--occasion-crest-short) !important; }
  .challenge-identity--short .challenge-identity__eyebrow { margin-bottom:var(--space-2); }
}
