/* Page skeleton */
body { margin: 0; font-family: Arial, sans-serif; background:#fff; color:#000; }
.container-narrow { margin: 0 auto; padding: 1rem 5rem; }
.section-rule { border: none; border-top: 1px solid #cfcfcf; margin: 0 0 1.25rem; }

.red-dot { width: 1.5rem; height: 1.5rem; background: #C14E42; border-radius: 50%; display: inline-block; margin-left: .5rem; }

.show-header { display:flex; align-items:flex-end; justify-content:space-between; padding-top: 2rem; }
.show-title { margin: 0; font-size: 1.8rem; font-weight: 800; text-transform: uppercase; }
.show-meta { font-weight: 800; color:#333; }

.show-text { padding: 1rem 5rem; }
.show-text .lead { font-size: 1.05rem; font-weight: 600; margin: 0 0 .5rem; }
.show-text .body { color:#222; line-height: 1.75; }

/* Carousel */
.carousel {
  position: relative;
  overflow: hidden;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  background: #f8f8f8;
}
.carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  transition: transform .35s ease;
  will-change: transform;
}
.slide {
  margin: 0;
  display: grid;
  place-items: center;
  background: #000;
}
.slide img {
  width: 100%;
  height: 600px;      /* adjust if needed */
  object-fit: cover;
  display: block;
}

/* Arrows */
.carousel-btn {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px;
  border: 2px solid #1b1b1b;
  background: #fff;
  color: #111;
  font: inherit;
  font-size: 22px;
  border-radius: 50%;
  display: grid; place-items: center;
  cursor: pointer;
}
.carousel-btn.prev { left: 12px; }
.carousel-btn.next { right: 12px; }
.carousel-btn:disabled { opacity: .4; cursor: default; }

/* Dots */
.carousel-dots {
  position: absolute;
  left: 0; right: 0; bottom: 10px;
  display: flex; gap: 6px; justify-content: center;
}
.dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(0,0,0,.25);
  cursor: pointer;
}
.dot.is-active { background: #11A9B3; border-color: #0a6066; }

/* Back link */
.back-row { padding: 1rem 5rem; }
.back-link { text-decoration: none; border-bottom: 1px solid #111; color: inherit; }

/* Responsive */
@media (max-width: 1200px) {
  .slide img { height: 520px; }
}
@media (max-width: 900px) {
  .container-narrow { padding: 0 1.25rem; }
  .slide img { height: 420px; }
}
@media (max-width: 600px) {
  .slide img { height: 320px; }
}
