/* ===========================
   CAMP CRAFT PAGE
   =========================== */

.ctc-main__title--camp {
  max-width: 960px;
}

/* ===========================
   SECTION 1: CAMP CRAFT HERO
   =========================== */

.ctc-camp-hero {
  position: relative;
  padding-block: 3.9rem 4.4rem;
  overflow: hidden;
}

.ctc-camp-hero__halo {
  position: absolute;
  inset-inline: 0;
  top: -25%;
  bottom: -30%;
  background:
    radial-gradient(circle at 10% 0, rgba(154, 199, 168, 0.2), transparent 60%),
    radial-gradient(circle at 85% 5%, rgba(244, 180, 34, 0.25), transparent 60%),
    radial-gradient(circle at 0 100%, rgba(57, 93, 72, 0.45), transparent 60%);
  opacity: 0.9;
  pointer-events: none;
}

.ctc-camp-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.6fr);
  gap: 2.6rem;
  align-items: center;
}

/* media column */

.ctc-camp-hero__media {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}

.ctc-camp-hero__photo {
  border-radius: 1.4rem;
  overflow: hidden;
}

.ctc-camp-hero__photo img {
  transform-origin: center;
  transition:
    transform 0.7s ease,
    filter 0.6s ease;
  filter: saturate(1.1) contrast(1.08);
}

.ctc-camp-hero__photo:hover img {
  transform: scale(1.06);
  filter: saturate(1.22) contrast(1.12);
}

.ctc-camp-hero__photo--main {
  max-width: 320px;
  box-shadow:
    0 20px 44px rgba(0, 0, 0, 0.96),
    0 0 0 1px rgba(154, 199, 168, 0.7);
}

.ctc-camp-hero__stack {
  display: flex;
  gap: 0.75rem;
}

.ctc-camp-hero__photo--small {
  max-width: 200px;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.9),
    0 0 0 1px rgba(244, 180, 34, 0.7);
}

/* text column */

.ctc-camp-hero__content {
  position: relative;
  padding: 2rem 2.2rem;
  border-radius: 2rem 2rem 1.7rem 1.7rem;
  background:
    linear-gradient(145deg, rgba(11, 18, 14, 0.96), rgba(15, 24, 19, 0.98)),
    radial-gradient(circle at 90% 0, rgba(244, 180, 34, 0.14), transparent 60%);
  border: 1px solid rgba(129, 156, 134, 0.9);
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.9);
}

.ctc-camp-hero__eyebrow {
  font-size: 0.82rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.6rem;
}

.ctc-camp-hero__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 2rem;
  margin: 0 0 1rem;
}

.ctc-camp-hero__text {
  margin: 0 0 0.85rem;
  color: var(--ctc-text-muted);
}

.ctc-camp-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.ctc-camp-hero__chip {
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: rgba(15, 24, 19, 0.98);
  border: 1px solid rgba(129, 156, 134, 0.9);
  font-size: 0.8rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 2: CAMP LAYERS RINGS
   =========================== */

.ctc-camp-layers {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 100% 0, rgba(244, 180, 34, 0.22), transparent 60%);
}

.ctc-camp-layers__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: center;
}

.ctc-camp-layers__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-camp-layers__text {
  margin: 0 0 0.9rem;
  color: var(--ctc-text-muted);
}

.ctc-camp-layers__list {
  margin: 0;
  padding: 0;
}

.ctc-camp-layers__item {
  margin: 0 0 0.6rem;
}

.ctc-camp-layers__term {
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.2rem;
}

.ctc-camp-layers__def {
  margin: 0;
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

.ctc-camp-layers__rings {
  position: relative;
  min-height: 240px;
}

.ctc-camp-layers__ring {
  position: absolute;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.96);
  border: 1px solid rgba(129, 156, 134, 0.9);
  background: #0b120e;
}

.ctc-camp-layers__ring img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ctc-camp-layers__ring--sleep {
  width: 240px;
  height: 240px;
  left: 0;
  top: 10%;
}

.ctc-camp-layers__ring--work {
  width: 210px;
  height: 210px;
  right: 4%;
  bottom: 0;
  transform: translateY(8%) rotate(-6deg);
}

.ctc-camp-layers__caption {
  position: absolute;
  inset-inline: 0;
  bottom: -1.8rem;
  font-size: 0.8rem;
  color: var(--ctc-text-muted);
  text-align: center;
}

/* ===========================
   SECTION 3: LIGHT & SHADOW STRIP
   =========================== */

.ctc-light-strip {
  padding-block: 3.4rem 4rem;
  background:
    radial-gradient(circle at 0 100%, rgba(57, 93, 72, 0.32), transparent 60%);
}

.ctc-light-strip__inner {
  position: relative;
}

.ctc-light-strip__header {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: 2rem;
}

.ctc-light-strip__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-light-strip__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

.ctc-light-strip__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.3rem;
  margin-top: 1.9rem;
}

.ctc-light-strip__card {
  padding: 0.9rem 0.95rem 1.05rem;
  border-radius: 1.3rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px solid rgba(129, 156, 134, 0.9);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.95);
}

.ctc-light-strip__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  margin-bottom: 0.6rem;
}

.ctc-light-strip__label {
  margin: 0 0 0.25rem;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ctc-light-strip__note {
  margin: 0;
  font-size: 0.84rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   RESPONSIVE 1–3
   =========================== */

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

  .ctc-camp-hero__media {
    order: 2;
    align-items: center;
  }

  .ctc-camp-hero__content {
    order: 1;
  }

  .ctc-camp-layers__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-camp-layers__rings {
    margin-top: 1.8rem;
  }

  .ctc-light-strip__row {
    grid-template-columns: repeat(3, minmax(0, 0.95fr));
  }
}

@media (max-width: 768px) {
  .ctc-camp-hero__content {
    padding: 1.7rem 1.6rem;
  }

  .ctc-camp-hero__photo--main {
    margin-inline: auto;
  }

  .ctc-camp-hero__stack {
    justify-content: center;
  }

  .ctc-camp-layers__ring--sleep,
  .ctc-camp-layers__ring--work {
    width: 210px;
    height: 210px;
  }

  .ctc-light-strip__row {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-light-strip__card {
    text-align: center;
  }
}

@media (max-width: 480px) {
  .ctc-camp-hero__content {
    padding: 1.5rem 1.4rem;
    border-radius: 1.7rem;
  }

  .ctc-camp-layers__ring--sleep {
    left: 4%;
  }

  .ctc-camp-layers__ring--work {
    right: 4%;
  }
}
/* ===========================
   SECTION 4: SLEEP RHYTHM TIMELINE
   =========================== */

.ctc-sleep-timeline {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 0 0, rgba(154, 199, 168, 0.22), transparent 60%);
}

.ctc-sleep-timeline__inner {
  position: relative;
}

.ctc-sleep-timeline__header {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: 2rem;
}

.ctc-sleep-timeline__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-sleep-timeline__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

.ctc-sleep-timeline__list {
  margin: 1.9rem 0 0;
  padding: 0;
  list-style: none;
  border-left: 2px solid rgba(244, 180, 34, 0.7);
}

.ctc-sleep-timeline__step {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.8fr);
  gap: 1.2rem;
  padding-left: 1.2rem;
  padding-block: 0.8rem;
  align-items: center;
}

.ctc-sleep-timeline__step::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 1.2rem;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, rgba(244, 180, 34, 0.95), rgba(154, 199, 168, 0.4));
  box-shadow: 0 0 0 1px rgba(11, 18, 14, 1);
}

.ctc-sleep-timeline__photo {
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.96);
}

.ctc-sleep-timeline__label {
  display: block;
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.2rem;
}

.ctc-sleep-timeline__note {
  margin: 0;
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 5: GEAR LANES GRID
   =========================== */

.ctc-gear-lanes {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 100% 10%, rgba(244, 180, 34, 0.22), transparent 60%);
}

.ctc-gear-lanes__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr);
  gap: 2.6rem;
  align-items: flex-start;
}

.ctc-gear-lanes__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-gear-lanes__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

.ctc-gear-lanes__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.ctc-gear-lanes__column {
  padding: 0.9rem 0.95rem 1.05rem;
  border-radius: 1.3rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px solid rgba(129, 156, 134, 0.9);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.95);
}

.ctc-gear-lanes__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  margin-bottom: 0.6rem;
}

.ctc-gear-lanes__label {
  margin: 0 0 0.25rem;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ctc-gear-lanes__note {
  margin: 0;
  font-size: 0.84rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 6: KETTLE MOMENTS PANEL
   =========================== */

.ctc-kettle-moments {
  padding-block: 3.5rem 4rem;
  background:
    radial-gradient(circle at 0 100%, rgba(57, 93, 72, 0.32), transparent 60%);
}

.ctc-kettle-moments__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr);
  gap: 2.6rem;
  align-items: center;
}

.ctc-kettle-moments__media {
  position: relative;
  min-height: 230px;
}

.ctc-kettle-moments__photo {
  position: absolute;
  border-radius: 1.3rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.96);
}

.ctc-kettle-moments__photo--steam {
  top: 0;
  left: 0;
  max-width: 230px;
  border: 1px solid rgba(154, 199, 168, 0.8);
}

.ctc-kettle-moments__photo--cup {
  right: 6%;
  bottom: 0;
  max-width: 240px;
  border: 1px solid rgba(244, 180, 34, 0.8);
  transform: rotate(-4deg);
}

.ctc-kettle-moments__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-kettle-moments__text {
  margin: 0 0 1rem;
  color: var(--ctc-text-muted);
}

.ctc-kettle-moments__rows {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.6rem;
}

.ctc-kettle-moments__row {
  padding: 0.55rem 0.9rem;
  border-radius: 1.1rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px dashed rgba(129, 156, 134, 0.9);
}

.ctc-kettle-moments__label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.2rem;
}

.ctc-kettle-moments__note {
  margin: 0;
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   RESPONSIVE 4–6
   =========================== */

@media (max-width: 1024px) {
  .ctc-sleep-timeline__step {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-gear-lanes__grid,
  .ctc-kettle-moments__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-gear-lanes__columns {
    grid-template-columns: repeat(3, minmax(0, 0.95fr));
  }

  .ctc-kettle-moments__media {
    margin-bottom: 1.6rem;
  }
}

@media (max-width: 768px) {
  .ctc-gear-lanes__columns {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-gear-lanes__column {
    text-align: center;
  }

  .ctc-kettle-moments__media {
    min-height: 220px;
  }

  .ctc-kettle-moments__photo--steam,
  .ctc-kettle-moments__photo--cup {
    max-width: 220px;
  }
}

@media (max-width: 480px) {
  .ctc-kettle-moments__photo--steam {
    left: 4%;
  }

  .ctc-kettle-moments__photo--cup {
    right: 4%;
  }
}
/* ===========================
   SECTION 7: TACKLE TRAY MOSAIC
   =========================== */

.ctc-tray-mosaic {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 100% 0, rgba(244, 180, 34, 0.22), transparent 60%);
}

.ctc-tray-mosaic__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: center;
}

.ctc-tray-mosaic__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-tray-mosaic__text {
  margin: 0 0 1rem;
  color: var(--ctc-text-muted);
}

.ctc-tray-mosaic__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ctc-tray-mosaic__list li + li {
  margin-top: 0.55rem;
}

.ctc-tray-mosaic__label {
  display: block;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
}

.ctc-tray-mosaic__note {
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

.ctc-tray-mosaic__media {
  position: relative;
  min-height: 240px;
}

.ctc-tray-mosaic__tile {
  position: absolute;
  border-radius: 1.3rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.96);
  border: 1px solid rgba(129, 156, 134, 0.9);
}

.ctc-tray-mosaic__tile--rigs {
  top: 0;
  left: 0;
  max-width: 230px;
}

.ctc-tray-mosaic__tile--leads {
  top: 26%;
  right: 2%;
  max-width: 240px;
  transform: rotate(-5deg);
  border-color: rgba(244, 180, 34, 0.8);
}

.ctc-tray-mosaic__tile--bits {
  bottom: 0;
  left: 10%;
  max-width: 210px;
  transform: rotate(4deg);
}

/* ===========================
   SECTION 8: CLOTHING RAIL COLUMN
   =========================== */

.ctc-clothing-rail {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 0 100%, rgba(57, 93, 72, 0.32), transparent 60%);
}

.ctc-clothing-rail__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.7fr);
  gap: 2.6rem;
  align-items: center;
}

.ctc-clothing-rail__media {
  position: relative;
  min-height: 260px;
}

.ctc-clothing-rail__photo {
  position: absolute;
  border-radius: 1.3rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.96);
}

.ctc-clothing-rail__photo--base {
  left: 0;
  top: 8%;
  max-width: 220px;
  border: 1px solid rgba(154, 199, 168, 0.8);
}

.ctc-clothing-rail__photo--mid {
  right: 4%;
  top: 0;
  max-width: 230px;
  border: 1px solid rgba(129, 156, 134, 0.9);
  transform: rotate(-4deg);
}

.ctc-clothing-rail__photo--shell {
  right: 10%;
  bottom: 0;
  max-width: 220px;
  border: 1px solid rgba(244, 180, 34, 0.8);
  transform: rotate(3deg);
}

.ctc-clothing-rail__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-clothing-rail__text {
  margin: 0 0 1rem;
  color: var(--ctc-text-muted);
}

.ctc-clothing-rail__rows {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.6rem;
}

.ctc-clothing-rail__row {
  padding: 0.55rem 0.9rem;
  border-radius: 1.1rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px dashed rgba(129, 156, 134, 0.9);
}

.ctc-clothing-rail__label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.2rem;
}

.ctc-clothing-rail__note {
  margin: 0;
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 9: SOUND CURTAIN STRIP
   =========================== */

.ctc-sound-curtain {
  padding-block: 3.4rem 4rem;
  background:
    radial-gradient(circle at 100% 0, rgba(244, 180, 34, 0.22), transparent 60%);
}

.ctc-sound-curtain__inner {
  position: relative;
}

.ctc-sound-curtain__header {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: 2rem;
}

.ctc-sound-curtain__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-sound-curtain__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

.ctc-sound-curtain__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.3rem;
  margin-top: 1.9rem;
}

.ctc-sound-curtain__card {
  padding: 0.9rem 0.95rem 1.05rem;
  border-radius: 1.3rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px solid rgba(129, 156, 134, 0.9);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.95);
}

.ctc-sound-curtain__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  margin-bottom: 0.6rem;
}

.ctc-sound-curtain__label {
  margin: 0 0 0.25rem;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ctc-sound-curtain__note {
  margin: 0;
  font-size: 0.84rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   RESPONSIVE 7–9
   =========================== */

@media (max-width: 1024px) {
  .ctc-tray-mosaic__grid,
  .ctc-clothing-rail__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-tray-mosaic__media,
  .ctc-clothing-rail__media {
    margin-top: 1.8rem;
  }

  .ctc-sound-curtain__row {
    grid-template-columns: repeat(3, minmax(0, 0.95fr));
  }
}

@media (max-width: 768px) {
  .ctc-tray-mosaic__media,
  .ctc-clothing-rail__media {
    min-height: 220px;
  }

  .ctc-tray-mosaic__tile--rigs,
  .ctc-tray-mosaic__tile--leads,
  .ctc-tray-mosaic__tile--bits,
  .ctc-clothing-rail__photo--base,
  .ctc-clothing-rail__photo--mid,
  .ctc-clothing-rail__photo--shell {
    max-width: 220px;
  }

  .ctc-sound-curtain__row {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-sound-curtain__card {
    text-align: center;
  }
}

@media (max-width: 480px) {
  .ctc-tray-mosaic__tile--rigs {
    left: 4%;
  }

  .ctc-tray-mosaic__tile--leads {
    right: 4%;
  }

  .ctc-clothing-rail__photo--base {
    left: 4%;
  }

  .ctc-clothing-rail__photo--shell {
    right: 4%;
  }
}
/* ===========================
   SECTION 10: BANK SEATING MAP
   =========================== */

.ctc-seating-map {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 0 0, rgba(154, 199, 168, 0.22), transparent 60%);
}

.ctc-seating-map__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: center;
}

.ctc-seating-map__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-seating-map__text {
  margin: 0 0 1rem;
  color: var(--ctc-text-muted);
}

.ctc-seating-map__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ctc-seating-map__list li + li {
  margin-top: 0.55rem;
}

.ctc-seating-map__label {
  display: block;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
}

.ctc-seating-map__note {
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

.ctc-seating-map__media {
  position: relative;
  min-height: 240px;
}

.ctc-seating-map__photo {
  position: absolute;
  border-radius: 1.3rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.96);
  border: 1px solid rgba(129, 156, 134, 0.9);
}

.ctc-seating-map__photo--main {
  top: 4%;
  left: 0;
  max-width: 260px;
}

.ctc-seating-map__photo--bucket {
  right: 4%;
  top: 22%;
  max-width: 220px;
  border-color: rgba(244, 180, 34, 0.8);
  transform: rotate(-5deg);
}

.ctc-seating-map__photo--stool {
  left: 12%;
  bottom: 0;
  max-width: 210px;
  transform: rotate(4deg);
}

/* ===========================
   SECTION 11: STORAGE LADDER PANEL
   =========================== */

.ctc-storage-ladder {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 100% 10%, rgba(244, 180, 34, 0.22), transparent 60%);
}

.ctc-storage-ladder__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.7fr);
  gap: 2.6rem;
  align-items: center;
}

.ctc-storage-ladder__media {
  position: relative;
  min-height: 240px;
}

.ctc-storage-ladder__photo {
  position: absolute;
  border-radius: 1.3rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.96);
}

.ctc-storage-ladder__photo--pockets {
  top: 0;
  left: 0;
  max-width: 230px;
  border: 1px solid rgba(154, 199, 168, 0.8);
}

.ctc-storage-ladder__photo--crate {
  bottom: 0;
  right: 4%;
  max-width: 230px;
  border: 1px solid rgba(244, 180, 34, 0.8);
  transform: rotate(-4deg);
}

.ctc-storage-ladder__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-storage-ladder__text {
  margin: 0 0 1rem;
  color: var(--ctc-text-muted);
}

.ctc-storage-ladder__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ctc-storage-ladder__step {
  padding-block: 0.45rem;
  border-bottom: 1px dashed rgba(68, 93, 78, 0.7);
}

.ctc-storage-ladder__step:last-child {
  border-bottom: none;
}

.ctc-storage-ladder__step-label {
  display: block;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.2rem;
}

.ctc-storage-ladder__step-note {
  margin: 0;
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 12: SHARED CAMP ETIQUETTE
   =========================== */

.ctc-shared-etiquette {
  padding-block: 3.4rem 4rem;
  background:
    radial-gradient(circle at 0 100%, rgba(57, 93, 72, 0.32), transparent 60%);
}

.ctc-shared-etiquette__header {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: 2rem;
}

.ctc-shared-etiquette__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-shared-etiquette__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

.ctc-shared-etiquette__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.3rem;
  margin-top: 1.9rem;
}

.ctc-shared-etiquette__card {
  padding: 0.9rem 0.95rem 1.05rem;
  border-radius: 1.3rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px solid rgba(129, 156, 134, 0.9);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.95);
  text-align: center;
}

.ctc-shared-etiquette__avatar {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 0.6rem;
  border: 1px solid rgba(244, 180, 34, 0.8);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.95);
}

.ctc-shared-etiquette__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ctc-shared-etiquette__label {
  margin: 0 0 0.25rem;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ctc-shared-etiquette__note {
  margin: 0;
  font-size: 0.84rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   RESPONSIVE 10–12
   =========================== */

@media (max-width: 1024px) {
  .ctc-seating-map__grid,
  .ctc-storage-ladder__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-seating-map__media,
  .ctc-storage-ladder__media {
    margin-top: 1.8rem;
  }

  .ctc-shared-etiquette__row {
    grid-template-columns: repeat(3, minmax(0, 0.95fr));
  }
}

@media (max-width: 768px) {
  .ctc-seating-map__media,
  .ctc-storage-ladder__media {
    min-height: 220px;
  }

  .ctc-seating-map__photo--main,
  .ctc-seating-map__photo--bucket,
  .ctc-seating-map__photo--stool,
  .ctc-storage-ladder__photo--pockets,
  .ctc-storage-ladder__photo--crate {
    max-width: 220px;
  }

  .ctc-shared-etiquette__row {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .ctc-seating-map__photo--main {
    left: 4%;
  }

  .ctc-seating-map__photo--bucket {
    right: 4%;
  }

  .ctc-storage-ladder__photo--pockets {
    left: 4%;
  }

  .ctc-storage-ladder__photo--crate {
    right: 4%;
  }
}
/* ===========================
   SECTION 13: WEATHER SHELL STACK
   =========================== */

.ctc-weather-shell {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 100% 0, rgba(244, 180, 34, 0.22), transparent 60%);
}

.ctc-weather-shell__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: center;
}

.ctc-weather-shell__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-weather-shell__text {
  margin: 0 0 1rem;
  color: var(--ctc-text-muted);
}

.ctc-weather-shell__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ctc-weather-shell__list li + li {
  margin-top: 0.55rem;
}

.ctc-weather-shell__label {
  display: block;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
}

.ctc-weather-shell__note {
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

.ctc-weather-shell__stack {
  position: relative;
  min-height: 260px;
}

.ctc-weather-shell__tile {
  position: absolute;
  border-radius: 1.3rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.96);
  border: 1px solid rgba(129, 156, 134, 0.9);
}

.ctc-weather-shell__tile--wind {
  top: 0;
  left: 0;
  max-width: 240px;
}

.ctc-weather-shell__tile--rain {
  right: 4%;
  top: 24%;
  max-width: 230px;
  border-color: rgba(244, 180, 34, 0.8);
  transform: rotate(-5deg);
}

.ctc-weather-shell__tile--sun {
  left: 12%;
  bottom: 0;
  max-width: 220px;
  transform: rotate(4deg);
}

/* ===========================
   SECTION 14: CAMP SAFETY POCKETS
   =========================== */

.ctc-camp-safety {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 0 100%, rgba(57, 93, 72, 0.32), transparent 60%);
}

.ctc-camp-safety__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.7fr);
  gap: 2.6rem;
  align-items: center;
}

.ctc-camp-safety__media {
  position: relative;
  min-height: 240px;
}

.ctc-camp-safety__photo {
  position: absolute;
  border-radius: 1.3rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.96);
}

.ctc-camp-safety__photo--water {
  top: 4%;
  left: 0;
  max-width: 230px;
  border: 1px solid rgba(154, 199, 168, 0.8);
}

.ctc-camp-safety__photo--firstaid {
  bottom: 0;
  right: 4%;
  max-width: 230px;
  border: 1px solid rgba(244, 180, 34, 0.8);
  transform: rotate(-4deg);
}

.ctc-camp-safety__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-camp-safety__text {
  margin: 0 0 1rem;
  color: var(--ctc-text-muted);
}

.ctc-camp-safety__rows {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.6rem;
}

.ctc-camp-safety__row {
  padding: 0.55rem 0.9rem;
  border-radius: 1.1rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px dashed rgba(129, 156, 134, 0.9);
}

.ctc-camp-safety__label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.2rem;
}

.ctc-camp-safety__note {
  margin: 0;
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 15: CAMP JOURNAL CLOSER
   =========================== */

.ctc-camp-journal {
  padding-block: 3.4rem 4.2rem;
  background:
    radial-gradient(circle at 0 0, rgba(154, 199, 168, 0.22), transparent 60%);
}

.ctc-camp-journal__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: center;
}

.ctc-camp-journal__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 2rem;
  margin: 0 0 0.8rem;
}

.ctc-camp-journal__text {
  margin: 0 0 0.9rem;
  color: var(--ctc-text-muted);
}

.ctc-camp-journal__cta {
  margin-top: 1.2rem;
}

.ctc-camp-journal__media {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: flex-end;
}

.ctc-camp-journal__photo {
  border-radius: 1.3rem;
  overflow: hidden;
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.96),
    0 0 0 1px rgba(129, 156, 134, 0.7);
}

.ctc-camp-journal__photo--notebook {
  max-width: 260px;
}

.ctc-camp-journal__photo--detail {
  max-width: 210px;
  transform: translateX(-6%) rotate(-4deg);
}

/* ===========================
   RESPONSIVE 13–15
   =========================== */

@media (max-width: 1024px) {
  .ctc-weather-shell__grid,
  .ctc-camp-safety__grid,
  .ctc-camp-journal__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-weather-shell__stack,
  .ctc-camp-safety__media,
  .ctc-camp-journal__media {
    margin-top: 1.6rem;
  }
}

@media (max-width: 768px) {
  .ctc-weather-shell__stack,
  .ctc-camp-safety__media {
    min-height: 220px;
  }

  .ctc-weather-shell__tile--wind,
  .ctc-weather-shell__tile--rain,
  .ctc-weather-shell__tile--sun,
  .ctc-camp-safety__photo--water,
  .ctc-camp-safety__photo--firstaid,
  .ctc-camp-journal__photo--notebook,
  .ctc-camp-journal__photo--detail {
    max-width: 220px;
  }

  .ctc-camp-journal__media {
    align-items: center;
  }
}

@media (max-width: 480px) {
  .ctc-weather-shell__tile--wind {
    left: 4%;
  }

  .ctc-weather-shell__tile--sun {
    left: 8%;
  }

  .ctc-camp-safety__photo--water {
    left: 4%;
  }

  .ctc-camp-safety__photo--firstaid {
    right: 4%;
  }
}
/* ===========================
   SECTION 16: CAMP PRINCIPLES BOARD
   =========================== */

.ctc-camp-principles {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 0 100%, rgba(57, 93, 72, 0.32), transparent 60%);
}

.ctc-camp-principles__header {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: 2rem;
}

.ctc-camp-principles__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.8rem;
}

.ctc-camp-principles__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

.ctc-camp-principles__grid {
  margin-top: 1.9rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.ctc-camp-principles__card {
  padding: 0.9rem 0.95rem 1rem;
  border-radius: 1.3rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px dashed rgba(129, 156, 134, 0.9);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.95);
}

.ctc-camp-principles__label {
  margin: 0 0 0.25rem;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ctc-accent-soft);
}

.ctc-camp-principles__note {
  margin: 0;
  font-size: 0.86rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 17: CAMP CRAFT OUTRO MAP
   =========================== */

.ctc-camp-outro {
  padding-block: 3.4rem 4.2rem;
  background:
    radial-gradient(circle at 100% 0, rgba(244, 180, 34, 0.22), transparent 60%);
}

.ctc-camp-outro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: flex-start;
}

.ctc-camp-outro__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 2rem;
  margin: 0 0 0.8rem;
}

.ctc-camp-outro__text {
  margin: 0 0 0.9rem;
  color: var(--ctc-text-muted);
}

.ctc-camp-outro__map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
  padding: 1.1rem 1.3rem;
  border-radius: 1.6rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px solid rgba(129, 156, 134, 0.9);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.96);
}

.ctc-camp-outro__column-title {
  margin: 0 0 0.5rem;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--ctc-accent-soft);
}

.ctc-camp-outro__link {
  display: inline-flex;
  margin-bottom: 0.35rem;
  font-size: 0.86rem;
  color: var(--ctc-text-muted);
  text-decoration: none;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  border: 1px solid transparent;
}

.ctc-camp-outro__link:hover,
.ctc-camp-outro__link:focus-visible {
  border-color: rgba(154, 199, 168, 0.9);
  color: var(--ctc-accent-soft);
  background: rgba(11, 18, 14, 0.96);
}

/* ===========================
   RESPONSIVE 16–17
   =========================== */

@media (max-width: 1024px) {
  .ctc-camp-principles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ctc-camp-outro__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-camp-outro__map {
    margin-top: 1.6rem;
  }
}

@media (max-width: 768px) {
  .ctc-camp-principles__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-camp-outro__map {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .ctc-camp-principles__card {
    padding-inline: 0.85rem;
  }

  .ctc-camp-outro__map {
    padding: 1rem;
  }
}
