.block-case-study { overflow-x: clip; }
.block-case-study .project-detail { overflow: visible; padding-bottom: 10rem; }
.block-case-study .project-article,
.block-case-study .project-body { overflow: visible; }
.block-story { padding-top: clamp(3.5rem, 8vw, 7rem); }
.block-full-bleed {
  position: relative;
  left: 50%;
  width: min(90vw, 94rem);
  margin-left: max(-45vw, -47rem);
}
.block-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.5vw, 1.5rem);
}
.block-gallery figure { margin: 0; min-width: 0; }
.block-gallery-main { grid-column: 1 / -1; }
.block-gallery img { display: block; width: 100%; height: auto; border-radius: 0.75rem; }
.block-intro {
  margin-top: clamp(4.5rem, 10vw, 9rem);
  color: rgba(240, 244, 242, 0.72);
  text-align: center;
  font-size: clamp(0.75rem, 1.15vw, 1.12rem);
  line-height: 1.75;
}
.block-intro p { white-space: nowrap; }
.block-gallery-secondary { margin-top: clamp(4.5rem, 10vw, 9rem); }
.block-tattoo-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  margin-top: clamp(4.5rem, 10vw, 9rem);
}
.block-tattoo-gallery figcaption {
  margin-top: 1.5rem;
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  font-weight: 600;
  line-height: 1.75;
  text-align: center;
}
.block-intro p + p { margin-top: 1rem; }
.project-body .block-back { margin-top: clamp(4rem, 8vw, 7rem); }
.block-game-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 4vw, 4rem);
  row-gap: clamp(4.5rem, 8vw, 7rem);
  margin-top: clamp(4.5rem, 10vw, 9rem);
}
.block-animal-cards { margin-top: clamp(7rem, 13vw, 12rem); }
.block-dinosaur-cards {
  grid-template-columns: minmax(0, 1fr);
  row-gap: clamp(5rem, 9vw, 8rem);
  margin-top: clamp(7rem, 13vw, 12rem);
}
.block-dinosaur-intro {
  margin-top: clamp(6rem, 10vw, 9rem);
}
.block-dinosaur-intro + .block-dinosaur-cards {
  margin-top: clamp(3rem, 5vw, 4.5rem);
}
.block-game-card {
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: center;
  cursor: pointer;
  align-self: start;
  -webkit-tap-highlight-color: transparent;
}
.block-game-card:focus-visible { outline: 2px solid #00ff41; outline-offset: 8px; border-radius: 0.75rem; }
.block-card-stage { display: block; perspective: 1200px; }
.block-card-turn {
  display: grid;
  transform-style: preserve-3d;
  transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}
.block-card-turn img {
  grid-area: 1 / 1;
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.block-card-back { transform: rotateY(180deg); }
.block-game-card.is-flipped .block-card-turn { transform: rotateY(180deg); }
.block-card-captions {
  display: grid;
  margin-top: 1.5rem;
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  line-height: 1.75;
  font-weight: 600;
}
.block-card-captions > span { grid-area: 1 / 1; transition: opacity 180ms ease; }
.block-card-prefix { color: #00ff41; }
.block-caption-back { visibility: hidden; opacity: 0; }
.block-game-card.is-flipped .block-caption-front { visibility: hidden; opacity: 0; }
.block-game-card.is-flipped .block-caption-back { visibility: visible; opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .block-card-turn, .block-card-captions > span { transition: none; }
}
@media (max-width: 600px) {
  .block-game-cards { grid-template-columns: 1fr; row-gap: 3rem; }
  .block-tattoo-gallery { grid-template-columns: 1fr; gap: 3rem; }
}
@media (max-width: 760px) {
  .block-intro { font-size: 0.9rem; }
  .block-intro p { white-space: normal; }
}
