.shooters-page {
  overflow: hidden;
}

.shooters-page .section {
  position: relative;
}

.shooters-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
  color: #4e596d;
  font-size: 0.875rem;
  line-height: 1.43;
}

.shooters-breadcrumb > * {
  min-width: 0;
}

.shooters-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 54fr) minmax(0, 46fr);
  align-items: center;
  gap: clamp(var(--space-6), 5vw, var(--space-9));
}

.shooters-hero__copy,
.shooters-hero__media {
  min-width: 0;
  width: 100%;
}

.shooters-hero__copy {
  max-width: 40.625rem;
}

.shooters-hero__copy > :last-child,
.shooters-hero__media > :last-child {
  margin-block-end: 0;
}

.shooters-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
  max-width: 27.5rem;
}

.shooters-hero__actions > * {
  min-width: 0;
}

.shooters-hero__annotation {
  margin: 0;
  color: #087f90;
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.43;
}

.shooters-hero__media {
  border: var(--border-dark);
  border-radius: var(--radius-control);
  overflow: hidden;
  background: var(--colour-midnight-950);
}

.shooters-hero__media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: right center;
}

.shooters-hero__media figcaption {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  background: var(--colour-midnight-950);
  color: var(--colour-paper-200);
}

.shooters-collection__panel,
.shooters-verified__panel,
.shooters-continue__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.shooters-collection__intro {
  min-width: 0;
  width: 100%;
}

.shooters-collection__intro > :last-child {
  margin-block-end: 0;
}

.shooters-collection__intro h2,
.shooters-verified__heading h2,
.shooters-continue__heading h2 {
  color: var(--colour-white);
}

.shooters-collection__field-note {
  width: min(100%, 42.5rem);
  border-inline-start-color: var(--colour-magenta-400);
}

.shooters-collection__field-note p {
  margin: 0;
}

.shooters-collection__cards {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
  gap: var(--space-5);
  width: 100%;
}

.shooters-collection__cards > * {
  min-width: 0;
  width: 100%;
}

.shooters-variation-card,
.shooters-quick-note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border-radius: var(--radius-control);
}

.shooters-variation-card > *,
.shooters-quick-note > * {
  min-width: 0;
  margin: 0;
}

.shooters-variation-card {
  border: 1px solid var(--colour-cyan-400);
  background: var(--colour-paper-50);
  color: var(--colour-ink-950);
}

.shooters-quick-note {
  border-inline-start: 4px solid var(--colour-magenta-400);
  background: rgba(11, 18, 38, 0.58);
  color: var(--colour-paper-50);
}

.shooters-quick-note h3 {
  color: var(--colour-white);
}

.shooters-variation-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 600;
}

.shooters-variation-list > li {
  min-width: 0;
  padding: var(--space-2);
  border: var(--border-light);
}

.shooters-survival__lead {
  width: min(100%, 45rem);
  min-width: 0;
}

.shooters-waypoint-square {
  width: 0.75rem;
  height: 0.75rem;
  flex: 0 0 0.75rem;
  background: var(--colour-arcade-yellow-400);
}

.shooters-survival__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  margin-top: var(--space-6);
}

.shooters-survival__cards > * {
  min-width: 0;
  width: 100%;
}

.shooters-survival-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-height: 100%;
  padding: var(--space-5);
  border: var(--border-light);
  border-radius: var(--radius-control);
  background: var(--colour-paper-50);
}

.shooters-survival-card > * {
  min-width: 0;
  margin: 0;
}

.shooters-survival-card--space {
  border-top: 4px solid var(--colour-orange-400);
}

.shooters-survival-card--screen {
  border-top: 4px solid var(--colour-cyan-400);
}

.shooters-survival-card--still {
  border-top: 4px solid var(--colour-magenta-400);
}

.shooters-note-number,
.shooters-route-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  border-radius: var(--radius-label);
  background: var(--colour-midnight-950);
  color: var(--colour-paper-50);
  font-family: var(--font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.shooters-card-cue {
  margin-top: auto;
  color: #4e596d;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.43;
}

.shooters-pattern__grid {
  display: grid;
  grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
  align-items: start;
  gap: clamp(var(--space-6), 5vw, var(--space-9));
}

.shooters-pattern__copy,
.shooters-pattern__media {
  min-width: 0;
  width: 100%;
}

.shooters-pattern__copy {
  max-width: 38.125rem;
}

.shooters-pattern__support {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: var(--border-light);
}

.shooters-pattern__support > * {
  min-width: 0;
  margin: 0;
}

.shooters-pattern__media {
  max-width: 32.5rem;
  justify-self: end;
}

.shooters-pattern__media img {
  width: 100%;
  aspect-ratio: 1;
  border: var(--border-dark);
  object-fit: cover;
}

.shooters-controls__opening {
  width: min(100%, 41.25rem);
  min-width: 0;
}

.shooters-controls__field-note {
  border-inline-start-color: var(--colour-cyan-400);
}

.shooters-controls__field-note p {
  margin: 0;
}

.shooters-controls__checks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  margin-top: var(--space-6);
}

.shooters-controls__checks > * {
  min-width: 0;
  width: 100%;
}

.shooters-control-check {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-height: 100%;
  padding: var(--space-5);
  border-radius: var(--radius-control);
  background: var(--colour-midnight-900);
  color: var(--colour-paper-50);
}

.shooters-control-check > * {
  min-width: 0;
  margin: 0;
}

.shooters-control-check h3 {
  color: var(--colour-white);
}

.shooters-control-check .route-label {
  color: var(--colour-paper-200);
}

.shooters-control-check--objective {
  border-top: 4px solid var(--colour-cyan-400);
}

.shooters-control-check--session {
  border-top: 4px solid var(--colour-green-400);
}

.shooters-control-check--caution {
  border-top: 4px solid var(--colour-orange-400);
}

.shooters-route__heading {
  width: min(100%, 40.625rem);
  min-width: 0;
}

.shooters-route__waypoints {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
}

.shooters-route__waypoints > * {
  min-width: 0;
  width: 100%;
}

.shooters-route-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-height: 100%;
  padding: var(--space-5);
  border: var(--border-light);
  border-radius: var(--radius-control);
  background: var(--colour-paper-50);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.shooters-route-card > * {
  min-width: 0;
  margin: 0;
}

.shooters-route-card--magenta {
  border-top: 4px solid var(--colour-magenta-400);
}

.shooters-route-card--orange {
  border-top: 4px solid var(--colour-orange-400);
}

.shooters-route-card--cyan {
  border-top: 4px solid var(--colour-cyan-400);
}

.shooters-route-card--yellow {
  border-top: 4px solid var(--colour-arcade-yellow-400);
}

.shooters-route-card--magenta .shooters-route-number {
  background: var(--colour-magenta-400);
}

.shooters-route-card--orange .shooters-route-number {
  background: var(--colour-orange-400);
}

.shooters-route-card--cyan .shooters-route-number {
  background: var(--colour-cyan-400);
  color: var(--colour-midnight-950);
}

.shooters-route-card--yellow .shooters-route-number {
  background: var(--colour-arcade-yellow-400);
  color: var(--colour-midnight-950);
}

.shooters-route-card:hover {
  box-shadow: var(--shadow-floating);
  transform: translateY(-2px);
}

.shooters-assumptions__intro {
  width: min(100%, 40.625rem);
  min-width: 0;
}

.shooters-assumptions__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  margin-top: var(--space-6);
}

.shooters-assumptions__cards > * {
  min-width: 0;
  width: 100%;
}

.shooters-assumption-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-height: 100%;
  padding: var(--space-5);
  border: var(--border-light);
  border-radius: var(--radius-control);
  background: var(--colour-paper-50);
}

.shooters-assumption-card > * {
  min-width: 0;
  margin: 0;
}

.shooters-caution-label {
  display: inline-block;
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--colour-magenta-400);
  border-radius: var(--radius-label);
  color: #8b285d;
  font-family: var(--font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.34;
  text-transform: uppercase;
}

.shooters-verified__heading,
.shooters-continue__heading {
  min-width: 0;
  width: 100%;
}

.shooters-verified__platforms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
}

.shooters-verified__platforms > * {
  min-width: 0;
  width: 100%;
}

.shooters-platform-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-height: 100%;
  padding: var(--space-5);
  border: 1px solid rgba(57, 198, 216, 0.72);
  border-radius: var(--radius-control);
  background: rgba(11, 18, 38, 0.62);
  color: var(--colour-paper-50);
}

.shooters-platform-card > * {
  min-width: 0;
  margin: 0;
}

.shooters-platform-card h3 {
  color: var(--colour-white);
}

.shooters-platform-card code {
  overflow-wrap: anywhere;
}

.shooters-verified__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  width: 100%;
  padding: var(--space-5);
  border-radius: var(--radius-control);
  background: var(--colour-paper-50);
  color: var(--colour-ink-950);
}

.shooters-verified__cta > * {
  min-width: 0;
}

.shooters-verified__cta > div {
  width: min(100%, 35rem);
}

.shooters-verified__cta h3,
.shooters-verified__cta p {
  margin: 0;
}

.shooters-verified__cta p {
  margin-top: var(--space-2);
}

.shooters-closing__copy {
  width: min(100%, 42.5rem);
  min-width: 0;
  margin-inline: auto;
}

.shooters-closing__copy blockquote {
  border-inline-start-color: var(--colour-magenta-400);
}

.shooters-independence-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-5);
  padding: var(--space-4);
  border: var(--border-light);
  border-radius: var(--radius-control);
  background: var(--colour-paper-200);
}

.shooters-independence-note > * {
  min-width: 0;
  margin: 0;
}

.shooters-independence-note p {
  font-size: 0.875rem;
  line-height: 1.43;
}

.shooters-continue__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
}

.shooters-continue__cards > * {
  min-width: 0;
  width: 100%;
}

.shooters-destination-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-height: 100%;
}

.shooters-destination-card > * {
  min-width: 0;
  margin: 0;
}

.shooters-destination-card a {
  margin-top: auto;
  font-family: var(--font-heading);
  font-weight: 700;
}

.shooters-continue__cta {
  align-self: flex-start;
}

@media (max-width: 1040px) {
  .shooters-route__waypoints {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .shooters-survival__cards,
  .shooters-assumptions__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shooters-survival__cards > :nth-child(3),
  .shooters-assumptions__cards > :nth-child(3) {
    grid-column: 1 / -1;
  }

  .shooters-controls__checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shooters-controls__checks > :nth-child(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 960px) {
  .shooters-controls__checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .shooters-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .shooters-hero__copy {
    max-width: 40.625rem;
  }

  .shooters-hero__media {
    max-width: 100%;
  }
}

@media (max-width: 840px) {
  .shooters-pattern__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .shooters-pattern__copy,
  .shooters-pattern__media {
    max-width: 38.125rem;
    justify-self: start;
  }
}

@media (max-width: 820px) {
  .shooters-verified__platforms {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .shooters-collection__cards,
  .shooters-continue__cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 699px) {
  .shooters-hero__grid,
  .shooters-pattern__grid {
    gap: var(--space-5);
  }

  .shooters-hero__copy h1 {
    font-size: clamp(2.25rem, 10vw, 2.5rem);
  }

  .shooters-hero__media figcaption {
    padding: var(--space-3);
  }

  .shooters-collection__panel,
  .shooters-verified__panel,
  .shooters-continue__panel {
    gap: var(--space-5);
  }

  .shooters-variation-card,
  .shooters-quick-note,
  .shooters-survival-card,
  .shooters-control-check,
  .shooters-route-card,
  .shooters-assumption-card,
  .shooters-platform-card {
    padding: var(--space-4);
  }

  .shooters-variation-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shooters-survival__cards,
  .shooters-controls__checks,
  .shooters-route__waypoints,
  .shooters-assumptions__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .shooters-survival__cards > :nth-child(3),
  .shooters-controls__checks > :nth-child(3),
  .shooters-assumptions__cards > :nth-child(3) {
    grid-column: auto;
  }

  .shooters-route__waypoints {
    position: relative;
    padding-left: var(--space-5);
  }

  .shooters-route__waypoints::before {
    position: absolute;
    top: var(--space-4);
    bottom: var(--space-4);
    left: 0.7rem;
    width: 1px;
    background: var(--colour-midnight-700);
    content: "";
  }

  .shooters-route-card {
    position: relative;
  }

  .shooters-route-card::before {
    position: absolute;
    top: 1.65rem;
    left: calc(var(--space-5) * -1 - 0.2rem);
    width: 0.7rem;
    height: 0.7rem;
    border: 2px solid var(--colour-paper-50);
    border-radius: 50%;
    background: var(--colour-midnight-950);
    content: "";
  }

  .shooters-verified__cta {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-4);
    padding: var(--space-4);
  }

  .shooters-verified__cta .button-link {
    width: 100%;
  }

  .shooters-closing__copy {
    width: 100%;
  }

  .shooters-continue__cta {
    width: 100%;
  }
}

@media (max-width: 359px) {
  .shooters-variation-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .shooters-route-card:hover {
    box-shadow: none;
    transform: none;
  }
}
