/* The closing sections step through the same dark arena material as the opening. */
.event-lockups {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1.45fr repeat(3, 1fr);
  margin: 0 0 clamp(40px, 6vw, 76px);
}

.event-mark {
  border-left: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  min-height: 96px;
  padding: 18px 22px;
}

.event-mark:first-child { border-left: 0; }
.event-mark img { display: block; height: auto; max-width: 172px; width: 100%; }
.event-mark strong { color: var(--cream); font-family: var(--mono); font-size: 23px; font-weight: 500; letter-spacing: .08em; line-height: 1; }
.event-mark span { color: #8f918e; font-family: var(--mono); font-size: 8px; letter-spacing: .08em; line-height: 1.4; }
.event-mark:not(.official-mark) strong { color: var(--gold); }

/* A dedicated image sequence gives the event material its own pause after the team introduction. */
.photo-journal {
  background: #0e1011;
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  color: var(--cream);
  padding: clamp(84px, 10vw, 150px) 0;
}

.photo-journal-inner {
  align-items: end;
  display: grid;
  gap: clamp(40px, 8vw, 120px);
  grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr);
}

.photo-journal-copy h2 {
  color: var(--cream);
  font-size: clamp(42px, 5.4vw, 76px);
  letter-spacing: 0;
  line-height: .98;
  margin: 0;
}

.photo-journal-copy h2 em { color: var(--gold); font-style: normal; }
.photo-journal-copy > p:not(.eyebrow) { color: #aaa79f; line-height: 1.85; margin: 26px 0 0; max-width: 350px; }
.photo-journal-visual { min-width: 0; }

.photo-journal-frame {
  aspect-ratio: 16 / 10;
  background: #151718;
  border: 1px solid rgba(255,255,255,.14);
  overflow: hidden;
  position: relative;
}

.photo-journal-frame:after {
  background: linear-gradient(180deg, transparent 50%, rgba(4,5,6,.68));
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.photo-journal-frame > img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  opacity: 0;
  position: absolute;
  transition: opacity .8s var(--ease);
  width: 100%;
}

.photo-journal-frame > img.is-active { opacity: 1; }

.photo-journal-stamp {
  border: 1px solid rgba(255,255,255,.7);
  bottom: clamp(14px, 2vw, 28px);
  color: #fff;
  display: flex;
  flex-direction: column;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .09em;
  line-height: 1.08;
  padding: 9px;
  position: absolute;
  right: clamp(14px, 2vw, 28px);
  text-align: center;
  z-index: 1;
}

.photo-journal-stamp b { font-size: clamp(17px, 2vw, 22px); }
.photo-journal-stamp small { font-size: 7px; margin-top: 5px; }

.photo-journal-meta {
  border-top: 1px solid rgba(255,255,255,.18);
  display: flex;
  font-family: var(--mono);
  font-size: 9px;
  gap: 16px;
  justify-content: space-between;
  margin-top: 30px;
  padding-top: 12px;
}

.photo-journal-index { color: var(--orange); white-space: nowrap; }
.photo-journal-caption { color: #aaa79f; text-align: right; }

.honors {
  background: #101213;
  border-top-color: rgba(255, 255, 255, .1);
  color: var(--cream);
  position: relative;
}

.honors:before,
.faq-section:before,
.apply-section:before {
  background: linear-gradient(90deg, transparent, rgba(209, 173, 98, .58), transparent);
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.honors-heading h2 { color: var(--cream); }
.honors-heading>p:last-child,
.honor-row span,
.honor-row b { color: #96948c; }
.honor-row { border-color: rgba(255, 255, 255, .14); }
.honor-row strong { color: #f0eee7; }
.honor-feature { box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }

.faq-section {
  background: #171a1b;
  color: var(--cream);
  padding: clamp(90px, 12vw, 160px) 0;
  position: relative;
}

.faq-layout h2,
.faq-list summary { color: var(--cream); }
.faq-list,
.faq-list details { border-color: rgba(255, 255, 255, .14); }
.faq-list details p { color: #aaa9a1; }
.faq-list summary span { color: var(--orange); }
.faq-list details[open] { background: rgba(255, 255, 255, .025); }
.faq-list details { padding-left: 14px; padding-right: 14px; transition: background var(--motion-fast) ease; }

.apply-section {
  background: #0b0d0e;
  border-top-color: rgba(255, 255, 255, .1);
  padding: clamp(80px, 10vw, 140px) 0;
  position: relative;
}

.apply-section:before { background: linear-gradient(90deg, transparent 7%, var(--orange) 30%, var(--gold) 54%, transparent 86%); }
.apply-heading h2 { color: var(--cream); }
.apply-heading>p:not(.eyebrow) { color: #aaa79f; }
.apply-heading .button-dark {
  background: var(--orange);
  color: #130d0a;
  font-weight: 700;
  overflow: hidden;
  position: relative;
}

.apply-heading .button-dark:after {
  background: rgba(255,255,255,.34);
  content: '';
  height: 160%;
  left: -46%;
  position: absolute;
  top: -30%;
  transform: skewX(-24deg);
  transition: left var(--motion-base) var(--ease);
  width: 19%;
}

.apply-heading .button-dark:hover { background: #ff9364; transform: translateY(-2px); }
.apply-heading .button-dark:hover:after { left: 128%; }
.recruit-qr-card { background: #1a1d1e; border: 1px solid rgba(255,255,255,.13); box-shadow: none; position: relative; }
.recruit-qr-card:before { background: var(--orange); content: ''; height: 3px; left: -1px; position: absolute; right: 42%; top: -1px; }
.recruit-qr-card .recruit-qr { background: #f4f1e9; border-color: transparent; }
.recruit-qr-card .benefit-row { border-top-color: rgba(255,255,255,.12); }

@media (max-width: 900px) {
  .event-lockups { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 38px; }
  .event-mark { border-left: 0; min-height: 80px; padding: 15px 12px; }
  .event-mark:nth-child(2n) { border-left: 1px solid var(--line); }
  .event-mark:nth-child(n+3) { border-top: 1px solid var(--line); }
  .event-mark img { max-width: 132px; }
  .event-mark strong { font-size: 19px; }
  .honors, .faq-section, .apply-section { position: relative; }
  .faq-list details { padding-left: 10px; padding-right: 10px; }
  .recruit-qr-card:before { right: 30%; }

  .photo-journal-inner { gap: 42px; grid-template-columns: minmax(205px, .75fr) minmax(0, 1.25fr); }
}

@media (max-width: 700px) {
  .photo-journal { padding: 76px 0; }
  .photo-journal-inner { display: block; }
  .photo-journal-copy h2 { font-size: clamp(38px, 11.4vw, 54px); }
  .photo-journal-visual { margin-top: 32px; }
  .photo-journal-frame { aspect-ratio: 4 / 3; }
  .photo-journal-meta { font-size: 8px; margin-top: 24px; }
  .photo-journal-caption { max-width: 68%; }
}

@media (prefers-reduced-motion: reduce) {
  .apply-heading .button-dark:after { display: none; }
  .faq-list details { transition: none; }
}

/* Desktop chapters share one camera-like entrance rhythm while keeping each scene readable. */
@media (min-width: 901px) {
  :root {
    --scene-ease: cubic-bezier(.22, .75, .16, 1);
    --scene-duration: 1300ms;
  }

  html.fullpage-active { scroll-snap-type: y mandatory; }
  html.fullpage-active,
  html.fullpage-active body,
  html.fullpage-active .site-shell {
    min-height: 100%;
    width: 100%;
  }
  html.fullpage-active .fullpage-scene {
    width: 100%;
  }
  html.fullpage-active .fullpage-scene {
    min-height: 100svh;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  html.fullpage-active .fullpage-scene .scene-content {
    transition: opacity var(--scene-duration) var(--scene-ease), transform var(--scene-duration) var(--scene-ease), filter 700ms var(--scene-ease);
    transition-delay: 0ms;
    will-change: opacity, transform, filter;
  }

  html.fullpage-active .fullpage-scene:not(.is-scene-active) .scene-content {
    filter: blur(4px);
    opacity: .07;
    pointer-events: none;
    transform: translate3d(0, 40px, 0) scale(.986);
  }

  html.fullpage-active .fullpage-scene.is-scene-active .scene-content {
    filter: none;
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    transition-delay: calc(110ms + var(--scene-order, 0) * 115ms);
  }

  html.fullpage-active .hero.is-scene-active .hero-copy { transition-delay: 190ms; }
  html.fullpage-active .hero.is-scene-active .hero-hud { transition-delay: 420ms; }
  html.fullpage-active .fullpage-scene.is-scene-active .photo-journal-frame { box-shadow: 20px 24px 0 rgba(209,173,98,.1); }
}

.chapter-progress {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: fixed;
  right: clamp(14px, 2vw, 30px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 40;
}

.chapter-progress:before {
  background: rgba(255,255,255,.16);
  content: '';
  height: min(178px, 32vh);
  position: absolute;
  width: 1px;
  z-index: -1;
}

.chapter-progress button {
  align-items: center;
  background: #111314;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  color: #85827c;
  display: inline-flex;
  font-family: var(--mono);
  font-size: 0;
  height: 9px;
  justify-content: center;
  padding: 0;
  transition: background var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) var(--ease);
  width: 9px;
}

.chapter-progress button:hover,
.chapter-progress button:focus-visible { border-color: var(--gold); transform: scale(1.28); }
.chapter-progress button.is-active { background: var(--orange); border-color: var(--orange); box-shadow: 0 0 0 4px rgba(240,120,67,.13); transform: scale(1.18); }
.chapter-progress button span { display: none; }
.desktop-nav a.is-active { color: var(--orange); }

@media (max-width: 900px), (prefers-reduced-motion: reduce) {
  .chapter-progress { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .fullpage-scene .scene-content { transition: opacity 160ms ease !important; }
}
