.case-stage {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(430px, 1.15fr) minmax(220px, .72fr);
  grid-template-areas: "left center right";
  align-items: center;
  gap: clamp(20px, 3vw, 56px);
  width: min(1640px, 100%);
  min-height: calc(100svh - 122px);
  margin: 0 auto;
  padding: 20px clamp(26px, 4.5vw, 82px) 62px;
}
.case-stage::after {
  content: "";
  position: absolute;
  z-index: -5;
  left: 13%;
  right: 13%;
  bottom: 4%;
  height: 32%;
  background: radial-gradient(ellipse at center, rgba(167, 203, 39, .17), transparent 68%);
  filter: blur(14px);
  pointer-events: none;
}
.brand-word {
  position: absolute;
  z-index: -3;
  inset: 48% 1.5% auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #eae7da;
  font-family: var(--font-display);
  font-size: clamp(8rem, 19.5vw, 21rem);
  font-weight: 400;
  line-height: .68;
  letter-spacing: -.09em;
  transform: translateY(-50%);
  user-select: none;
  white-space: nowrap;
}
.brand-word__glow { position: relative; color: var(--acid); filter: drop-shadow(0 0 22px rgba(204, 242, 56, .72)) drop-shadow(0 0 78px rgba(204, 242, 56, .42)); }
.brand-word__glow::after { content: ""; position: absolute; inset: 18% 0; z-index: -1; border-radius: 50%; background: rgba(204, 242, 56, .42); filter: blur(34px); }

.case-center {
  position: relative;
  grid-area: center;
  align-self: stretch;
  display: grid;
  place-items: center;
  min-height: min(780px, calc(100svh - 145px));
}
.evidence-orb {
  position: absolute;
  z-index: -2;
  top: 47%;
  left: 50%;
  width: clamp(270px, 28vw, 470px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 46%, rgba(229, 255, 118, .94) 0 11%, rgba(204, 242, 56, .66) 29%, rgba(204, 242, 56, .24) 51%, transparent 72%);
  box-shadow: 0 0 90px rgba(204, 242, 56, .45), 0 0 190px rgba(115, 145, 28, .28);
  transform: translate(-50%, -50%);
}
.evidence-pouch { position: absolute; z-index: 2; top: 49%; left: 50%; width: min(100%, 610px); transform: translate(-50%, -50%); pointer-events: none; }
.evidence-pouch img { width: 100%; max-height: calc(100svh - 178px); object-fit: contain; filter: drop-shadow(0 28px 20px rgba(0, 0, 0, .5)) drop-shadow(0 0 28px rgba(204, 242, 56, .18)); }
.evidence-tag {
  position: absolute;
  z-index: 5;
  top: 15%;
  right: 5%;
  display: grid;
  min-width: 92px;
  padding: 11px 12px;
  border: 1px solid rgba(226, 223, 188, .42);
  background: rgba(38, 39, 27, .88);
  color: #dcd7b8;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .4);
  transform: rotate(5deg);
  text-align: center;
}
.evidence-tag span { font-size: .58rem; letter-spacing: .2em; }
.evidence-tag strong { font-family: var(--font-display); font-size: 1.55rem; font-weight: 400; }
.seal-button {
  position: absolute;
  z-index: 12;
  left: 50%;
  bottom: 0;
  min-width: min(310px, 82vw);
  min-height: 62px;
  padding: 0 28px;
  border: 1px solid var(--acid-hot);
  border-radius: 999px;
  background: var(--acid);
  color: #101405;
  box-shadow: 0 0 42px rgba(204, 242, 56, .38);
  font-family: var(--font-display);
  font-size: clamp(1rem, 2vw, 1.35rem);
  text-transform: uppercase;
  transform: translateX(-50%);
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.seal-button:hover { background: var(--acid-hot); box-shadow: 0 0 58px rgba(204, 242, 56, .55); transform: translateX(-50%) translateY(-2px); }
.case-status { position: absolute; z-index: 12; left: 50%; bottom: 12px; display: none; align-items: center; gap: 9px; margin: 0; color: var(--acid); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transform: translateX(-50%); white-space: nowrap; }
body[data-seal-state="unlocked"] .seal-button { display: none; }
body[data-seal-state="unlocked"] .case-status { display: flex; }

.scan-beam { position: absolute; z-index: 8; top: 28%; left: 2%; right: 2%; height: 2px; opacity: 0; background: linear-gradient(90deg, transparent, var(--acid) 18%, var(--acid-hot) 50%, var(--acid) 82%, transparent); box-shadow: 0 0 16px var(--acid), 0 0 34px rgba(204, 242, 56, .55); pointer-events: none; }
body[data-seal-state="opening"] .scan-beam { animation: scan-open .72s ease-in-out both; }
body[data-seal-state="opening"] .evidence-pouch { animation: pouch-release .72s ease-in-out both; }
@keyframes scan-open { 0% { opacity: 0; transform: translateY(-70px); } 15%, 80% { opacity: 1; } 100% { opacity: 0; transform: translateY(340px); } }
@keyframes pouch-release { 42% { transform: translate(-50%, -50%) scale(1.015); filter: brightness(1.13); } }

.file-column { position: relative; z-index: 7; display: grid; gap: clamp(18px, 3vh, 34px); }
.file-column--left { grid-area: left; }
.file-column--right { grid-area: right; }
.file-card {
  position: relative;
  display: block;
  overflow: visible;
  min-height: clamp(110px, 16vh, 160px);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #070a07;
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .25);
  transition: border-color .25s ease, transform .25s ease, filter .25s ease, opacity .25s ease;
}
.file-card img { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; filter: grayscale(.45) saturate(.56) brightness(.48) contrast(1.12); }
.file-card__wash { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(105deg, rgba(2, 4, 2, .92) 0%, rgba(2, 4, 2, .26) 66%, rgba(118, 146, 29, .09)); }
.file-card__title, .file-card__meta, .file-card__lock { position: absolute; z-index: 2; }
.file-card__title { top: 15px; left: 17px; color: var(--acid); font-size: clamp(.95rem, 1.4vw, 1.15rem); font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.file-card__meta { left: 17px; bottom: 14px; color: rgba(236, 233, 216, .76); font-size: .74rem; letter-spacing: .075em; text-transform: uppercase; }
.file-card__lock { top: 15px; right: 15px; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(205, 243, 57, .46); border-radius: 50%; background: rgba(4, 7, 4, .88); color: var(--acid); box-shadow: 0 0 14px rgba(205, 243, 57, .1); }
.file-card__lock::before { display: none; }
.file-card__lock::after {
  content: "";
  position: static;
  width: 17px;
  height: 17px;
  background: currentColor;
  -webkit-mask: var(--card-icon) center / contain no-repeat;
  mask: var(--card-icon) center / contain no-repeat;
}
#play { --card-icon: url("/img/evidence/icons/gamepad-2.svg"); }
#origin { --card-icon: url("/img/evidence/icons/orbit.svg"); }
#sightings { --card-icon: url("/img/evidence/icons/eye.svg"); }
#signal-jam { --card-icon: url("/img/evidence/icons/trophy.svg"); }
#comms { --card-icon: url("/img/evidence/icons/radio-tower.svg"); }
#bootenomics { --card-icon: url("/img/evidence/icons/coins.svg"); }
.file-card::after { content: ""; position: absolute; top: 50%; width: clamp(22px, 5vw, 82px); height: 1px; background: linear-gradient(90deg, var(--line), transparent); pointer-events: none; }
.file-column--left .file-card::after { left: calc(100% + 1px); }
.file-column--right .file-card::after { right: calc(100% + 1px); transform: scaleX(-1); }
.file-card:hover, .file-card:focus-visible { z-index: 2; border-color: var(--acid-hot); filter: brightness(1.08) saturate(1.06); transform: translateY(-3px); box-shadow: 0 18px 44px rgba(0, 0, 0, .48), 0 0 24px rgba(205, 243, 57, .12); }
.file-card:hover .file-card__lock, .file-card:focus-visible .file-card__lock {
  border-color: rgba(241, 255, 177, .95);
  background: var(--acid);
  color: #070a04;
  box-shadow: 0 0 0 3px rgba(205, 243, 57, .11), 0 0 24px rgba(205, 243, 57, .42);
}
.js body[data-seal-state="sealed"] .file-card { opacity: .72; filter: saturate(.7); }
.js body[data-seal-state="sealed"] .file-card:hover, .js body[data-seal-state="sealed"] .file-card:focus-visible { opacity: 1; filter: brightness(1.08) saturate(.92); }
#play .file-card__lock { animation: play-icon-pulse 3.4s ease-in-out infinite; }
body[data-seal-state="unlocked"] .file-card { animation: file-release .38s ease-out both; }
body[data-seal-state="unlocked"] .file-card:nth-child(2) { animation-delay: .05s; }
body[data-seal-state="unlocked"] .file-card:nth-child(3) { animation-delay: .1s; }
@keyframes file-release { from { opacity: .55; transform: translateY(7px); } }
@keyframes play-icon-pulse {
  0%, 100% { border-color: rgba(205, 243, 57, .42); box-shadow: 0 0 10px rgba(205, 243, 57, .1); }
  50% { border-color: rgba(226, 255, 101, .9); box-shadow: 0 0 0 3px rgba(205, 243, 57, .08), 0 0 22px rgba(205, 243, 57, .32); }
}

.stage-disclaimer { position: absolute; z-index: 20; left: 50%; bottom: 9px; width: min(860px, 92vw); margin: 0; color: rgba(167, 173, 155, .62); font-size: .65rem; letter-spacing: .02em; text-align: center; transform: translateX(-50%); }

@media (max-width: 1180px) {
  .case-stage { grid-template-columns: minmax(190px, .75fr) minmax(380px, 1.15fr) minmax(190px, .75fr); gap: 22px; padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 920px) {
  .case-stage { grid-template-columns: 1fr 1fr; grid-template-areas: "center center" "left right"; gap: 16px; min-height: auto; padding: 8px 16px 58px; }
  .case-center { min-height: 60svh; }
  .brand-word { top: 28svh; font-size: 26vw; }
  .evidence-pouch { width: min(70vw, 480px); }
  .evidence-pouch img { max-height: 56svh; }
  .evidence-tag { top: 13%; right: 20%; transform: scale(.8) rotate(5deg); }
  .evidence-orb { width: min(44vw, 360px); }
  .seal-button { min-height: 56px; bottom: 5px; }
  .file-column { gap: 14px; }
  .file-card { min-height: 145px; }
  .file-card::after { display: none; }
  .stage-disclaimer { position: static; width: 90%; margin: -36px auto 12px; transform: none; }
}
@media (max-width: 640px) {
  .case-stage { grid-template-columns: 1fr 1fr; grid-template-areas: "center center" "left right"; gap: 10px; padding: 0 10px 58px; }
  .case-center { min-height: 54svh; }
  .brand-word { top: 25svh; left: 0; right: 0; font-size: 27vw; }
  .evidence-pouch { top: 47%; width: min(79vw, 410px); }
  .evidence-pouch img { max-height: 51svh; }
  .evidence-orb { top: 45%; width: 58vw; }
  .evidence-tag { top: 10%; right: 8%; transform: scale(.65) rotate(5deg); }
  .seal-button { min-width: 220px; min-height: 52px; font-size: .95rem; bottom: 4px; }
  .case-status { bottom: 15px; font-size: .65rem; letter-spacing: .08em; }
  .file-column { gap: 10px; }
  .file-card { min-height: 124px; border-radius: 13px; }
  .file-card__title { top: 12px; left: 12px; }
  .file-card__meta { left: 12px; right: 8px; bottom: 10px; font-size: .58rem; }
  .file-card__lock { top: 10px; right: 10px; transform: scale(.84); }
  .stage-disclaimer { margin-top: -42px; padding-bottom: env(safe-area-inset-bottom); }
}
@media (max-width: 360px) {
  .case-stage { grid-template-columns: 1fr; grid-template-areas: "center" "left" "right"; }
}
