/* ===========================
   SESSIONS PAGE SPECIFIC STYLES
   =========================== */

/* немного меняем заголовок страницы */

.ctc-main__title--sessions {
  max-width: 900px;
}

/* ===========================
   SECTION 1: SESSIONS HERO
   =========================== */

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

.ctc-sessions-hero__backdrop {
  position: absolute;
  inset-inline: 0;
  top: -20%;
  bottom: -30%;
  background:
    radial-gradient(circle at 8% 0, rgba(154, 199, 168, 0.18), transparent 60%),
    radial-gradient(circle at 100% 10%, rgba(244, 180, 34, 0.28), transparent 60%),
    radial-gradient(circle at 0 100%, rgba(57, 93, 72, 0.4), transparent 60%);
  opacity: 0.9;
  pointer-events: none;
}

.ctc-sessions-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-sessions-hero__media {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}

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

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

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

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

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

.ctc-sessions-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.6);
}

/* TEXT COLUMN */

.ctc-sessions-hero__content {
  position: relative;
  padding: 2rem 2.2rem;
  border-radius: 2rem 2rem 1.6rem 1.6rem;
  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%);
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.9);
  border: 1px solid rgba(129, 156, 134, 0.9);
}

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

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

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

.ctc-sessions-hero__chips {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.55rem;
  margin-top: 1.1rem;
}

.ctc-sessions-hero__chip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.7rem;
  row-gap: 0.1rem;
  align-items: baseline;
  padding: 0.55rem 0.85rem;
  border-radius: 1.1rem;
  background: rgba(15, 24, 19, 0.96);
  border: 1px dashed rgba(129, 156, 134, 0.9);
}

.ctc-sessions-hero__chip-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--ctc-accent-soft);
}

.ctc-sessions-hero__chip-note {
  font-size: 0.88rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 2: LENGTH LADDER
   =========================== */

.ctc-length-ladder {
  padding-block: 3.4rem 3.9rem;
  background:
    radial-gradient(circle at 0 100%, rgba(57, 93, 72, 0.3), transparent 65%);
}

.ctc-length-ladder__inner {
  position: relative;
}

.ctc-length-ladder__header {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: 2rem;
}

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

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

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

.ctc-length-ladder__card {
  position: relative;
  padding: 0.9rem 0.95rem 1rem;
  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-length-ladder__card--short {
  transform: translateY(8px);
}

.ctc-length-ladder__card--daynight {
  transform: translateY(-6px);
}

.ctc-length-ladder__card--weekend {
  transform: translateY(10px);
}

.ctc-length-ladder__photo {
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 0.6rem;
}

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

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

/* ===========================
   SECTION 3: WATER TYPE WEAVE
   =========================== */

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

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

.ctc-water-weave__title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.9rem;
  margin: 0 0 0.9rem;
}

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

.ctc-water-weave__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ctc-water-weave__tag {
  padding: 0.35rem 0.8rem;
  border-radius: 1.1rem;
  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);
}

/* images */

.ctc-water-weave__images {
  position: relative;
  min-height: 230px;
}

.ctc-water-weave__photo {
  position: absolute;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.95);
}

.ctc-water-weave__photo--river {
  left: 0;
  top: 10%;
  max-width: 240px;
  border: 1px solid rgba(154, 199, 168, 0.7);
}

.ctc-water-weave__photo--lake {
  right: 2%;
  bottom: 2%;
  max-width: 240px;
  border: 1px solid rgba(244, 180, 34, 0.8);
  transform: rotate(-4deg);
}

/* ===========================
   RESPONSIVE (1–3)
   =========================== */

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

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

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

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

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

  .ctc-water-weave__images {
    margin-top: 1.2rem;
  }
}

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

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

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

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

  .ctc-water-weave__images {
    min-height: 210px;
  }

  .ctc-water-weave__photo--river,
  .ctc-water-weave__photo--lake {
    max-width: 220px;
  }
}

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

  .ctc-water-weave__photo--river {
    left: 4%;
  }

  .ctc-water-weave__photo--lake {
    right: 4%;
  }
}
/* ===========================
   SECTION 4: RIVER OVERNIGHT BLUEPRINT
   =========================== */

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

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

.ctc-river-blueprint__media {
  position: relative;
  min-height: 260px;
}

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

.ctc-river-blueprint__photo--map {
  left: 4%;
  top: 10%;
  max-width: 260px;
  border: 1px solid rgba(154, 199, 168, 0.8);
}

.ctc-river-blueprint__photo--tip {
  right: 0;
  top: 0;
  max-width: 220px;
  border: 1px solid rgba(244, 180, 34, 0.8);
  transform: rotate(-4deg);
}

.ctc-river-blueprint__photo--bivvy {
  right: 8%;
  bottom: 0;
  max-width: 230px;
  border: 1px solid rgba(129, 156, 134, 0.9);
  transform: rotate(3deg);
}

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

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

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

.ctc-river-blueprint__steps li + li {
  margin-top: 0.55rem;
}

.ctc-river-blueprint__step-tag {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--ctc-accent-soft);
}

.ctc-river-blueprint__step-note {
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 5: STILLWATER 24H FRAME
   =========================== */

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

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

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

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

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

.ctc-still-frame__band {
  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-still-frame__band-label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.15rem;
}

.ctc-still-frame__band-note {
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

.ctc-still-frame__images {
  position: relative;
  min-height: 230px;
}

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

.ctc-still-frame__photo--day {
  top: 6%;
  left: 0;
  max-width: 240px;
  border: 1px solid rgba(154, 199, 168, 0.8);
}

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

/* ===========================
   SECTION 6: WEEKEND CAMP LOOP
   =========================== */

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

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

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

.ctc-weekend-loop__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

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

.ctc-weekend-loop__stage {
  padding: 0.9rem 1rem 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-weekend-loop__stage--one {
  transform: translateY(8px);
}

.ctc-weekend-loop__stage--two {
  transform: translateY(-8px);
}

.ctc-weekend-loop__stage--three {
  transform: translateY(10px);
}

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

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

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

/* ===========================
   RESPONSIVE (4–6)
   =========================== */

@media (max-width: 1024px) {
  .ctc-river-blueprint__grid,
  .ctc-still-frame__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-river-blueprint__media,
  .ctc-still-frame__images {
    margin-bottom: 1.6rem;
  }

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

@media (max-width: 768px) {
  .ctc-river-blueprint__media,
  .ctc-still-frame__images {
    min-height: 220px;
  }

  .ctc-river-blueprint__photo--map,
  .ctc-river-blueprint__photo--tip,
  .ctc-river-blueprint__photo--bivvy,
  .ctc-still-frame__photo--day,
  .ctc-still-frame__photo--night {
    max-width: 220px;
  }

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

  .ctc-weekend-loop__stage--one,
  .ctc-weekend-loop__stage--two,
  .ctc-weekend-loop__stage--three {
    transform: none;
  }
}

@media (max-width: 480px) {
  .ctc-river-blueprint__photo--map {
    left: 2%;
  }

  .ctc-river-blueprint__photo--tip {
    right: 2%;
  }

  .ctc-still-frame__photo--day {
    left: 4%;
  }

  .ctc-still-frame__photo--night {
    right: 4%;
  }
}
/* ===========================
   SECTION 7: ROD SPREAD RIBBON
   =========================== */

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

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

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

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

.ctc-rod-ribbon__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ctc-rod-ribbon__tag {
  padding: 0.35rem 0.8rem;
  border-radius: 1.1rem;
  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);
}

.ctc-rod-ribbon__ribbon {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ctc-rod-ribbon__item {
  position: relative;
  padding: 0.85rem 0.95rem 0.95rem;
  border-radius: 1.3rem;
  background: rgba(15, 24, 19, 0.98);
  border: 1px solid rgba(129, 156, 134, 0.9);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.95);
}

.ctc-rod-ribbon__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  margin-bottom: 0.55rem;
}

.ctc-rod-ribbon__label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.6rem;
  row-gap: 0.1rem;
  align-items: baseline;
}

.ctc-rod-ribbon__label-key {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
}

.ctc-rod-ribbon__label-note {
  font-size: 0.86rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 8: CAMP FOOTPRINTS
   =========================== */

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

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

.ctc-camp-footprints__images {
  position: relative;
  min-height: 230px;
}

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

.ctc-camp-footprints__photo--lean {
  left: 0;
  top: 8%;
  max-width: 240px;
  border: 1px solid rgba(154, 199, 168, 0.8);
}

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

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

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

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

.ctc-camp-footprints__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-footprints__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-footprints__note {
  margin: 0;
  font-size: 0.9rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 9: SESSION CLOCKS
   =========================== */

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

.ctc-session-clocks__inner {
  position: relative;
}

.ctc-session-clocks__header {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: 2rem;
}

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

.ctc-session-clocks__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

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

.ctc-session-clocks__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-session-clocks__dial {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 0.6rem;
  border: 1px solid rgba(244, 180, 34, 0.8);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.95);
}

.ctc-session-clocks__dial img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

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

/* ===========================
   RESPONSIVE (7–9)
   =========================== */

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

  .ctc-rod-ribbon__ribbon {
    margin-top: 1.4rem;
  }

  .ctc-camp-footprints__images {
    margin-bottom: 1.6rem;
  }

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

@media (max-width: 768px) {
  .ctc-camp-footprints__images {
    min-height: 220px;
  }

  .ctc-camp-footprints__photo--lean,
  .ctc-camp-footprints__photo--full {
    max-width: 220px;
  }

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

  .ctc-session-clocks__card {
    text-align: center;
  }
}

@media (max-width: 480px) {
  .ctc-camp-footprints__photo--lean {
    left: 4%;
  }

  .ctc-camp-footprints__photo--full {
    right: 4%;
  }
}
/* ===========================
   SECTION 10: FEED PATTERNS GRID
   =========================== */

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

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

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

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

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

.ctc-feed-patterns__mode {
  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-feed-patterns__mode-label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.15rem;
}

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

.ctc-feed-patterns__media {
  position: relative;
  min-height: 240px;
}

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

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

.ctc-feed-patterns__photo--heavy {
  top: 26%;
  right: 0;
  max-width: 250px;
  border: 1px solid rgba(244, 180, 34, 0.8);
  transform: rotate(-4deg);
}

.ctc-feed-patterns__photo--mould {
  bottom: 0;
  left: 10%;
  max-width: 210px;
  border: 1px solid rgba(129, 156, 134, 0.9);
  transform: rotate(3deg);
}

/* ===========================
   SECTION 11: REST WINDOWS
   =========================== */

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

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

.ctc-rest-windows__media {
  position: relative;
  min-height: 260px;
}

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

.ctc-rest-windows__photo--sunrise {
  left: 0;
  top: 6%;
  max-width: 240px;
  border: 1px solid rgba(154, 199, 168, 0.8);
}

.ctc-rest-windows__photo--mug {
  right: 0;
  top: 0;
  max-width: 210px;
  border: 1px solid rgba(129, 156, 134, 0.9);
  transform: rotate(-4deg);
}

.ctc-rest-windows__photo--night {
  right: 6%;
  bottom: 0;
  max-width: 240px;
  border: 1px solid rgba(244, 180, 34, 0.8);
  transform: rotate(3deg);
}

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

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

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

.ctc-rest-windows__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-rest-windows__label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.2rem;
}

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

/* ===========================
   SECTION 12: NIGHT ADJUSTMENT STRIP
   =========================== */

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

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

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

.ctc-night-adjust__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

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

.ctc-night-adjust__card {
  position: relative;
  padding: 1.1rem 1.05rem 1.1rem;
  border-radius: 1.4rem;
  background: radial-gradient(circle at 0 0, rgba(244, 180, 34, 0.16), 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);
  overflow: hidden;
}

.ctc-night-adjust__crosshair {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ctc-night-adjust__crosshair::before,
.ctc-night-adjust__crosshair::after {
  content: "";
  position: absolute;
  background: radial-gradient(circle, rgba(154, 199, 168, 0.4), transparent 70%);
  opacity: 0.5;
}

.ctc-night-adjust__crosshair::before {
  width: 1px;
  inset-block: 10%;
  left: 50%;
  transform: translateX(-50%);
}

.ctc-night-adjust__crosshair::after {
  height: 1px;
  inset-inline: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.ctc-night-adjust__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  margin-bottom: 0.7rem;
}

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

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

/* ===========================
   RESPONSIVE (10–12)
   =========================== */

@media (max-width: 1024px) {
  .ctc-feed-patterns__grid,
  .ctc-rest-windows__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-feed-patterns__media,
  .ctc-rest-windows__media {
    margin-top: 1.6rem;
  }

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

@media (max-width: 768px) {
  .ctc-feed-patterns__media,
  .ctc-rest-windows__media {
    min-height: 220px;
  }

  .ctc-feed-patterns__photo--light,
  .ctc-feed-patterns__photo--heavy,
  .ctc-feed-patterns__photo--mould,
  .ctc-rest-windows__photo--sunrise,
  .ctc-rest-windows__photo--mug,
  .ctc-rest-windows__photo--night {
    max-width: 220px;
  }

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

  .ctc-night-adjust__card {
    text-align: center;
  }
}

@media (max-width: 480px) {
  .ctc-feed-patterns__photo--light {
    left: 4%;
  }

  .ctc-feed-patterns__photo--heavy {
    right: 4%;
  }

  .ctc-rest-windows__photo--sunrise {
    left: 4%;
  }

  .ctc-rest-windows__photo--night {
    right: 4%;
  }
}
/* ===========================
   SECTION 13: WEATHER LANES COLUMN
   =========================== */

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

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

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

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

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

.ctc-weather-lanes__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-weather-lanes__label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.2rem;
}

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

.ctc-weather-lanes__totem {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

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

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

.ctc-weather-lanes__tile-note {
  margin: 0;
  font-size: 0.86rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 14: SNAG PLAN STRIP
   =========================== */

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

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

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

.ctc-snag-plan__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

.ctc-snag-plan__lanes {
  margin-top: 1.9rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.ctc-snag-plan__lane {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr);
  gap: 1rem;
  align-items: center;
  padding: 0.8rem 0.95rem;
  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-snag-plan__lane--two {
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
}

.ctc-snag-plan__lane--two .ctc-snag-plan__photo {
  order: 2;
}

.ctc-snag-plan__lane--two .ctc-snag-plan__copy {
  order: 1;
}

.ctc-snag-plan__photo {
  border-radius: 1.1rem;
  overflow: hidden;
}

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

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

/* ===========================
   SECTION 15: SESSION INDEX CLOSER
   =========================== */

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

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

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

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

.ctc-session-index__cta {
  margin-top: 1.2rem;
}

.ctc-session-index__media {
  position: relative;
}

.ctc-session-index__photo {
  border-radius: 1.3rem;
  overflow: hidden;
}

.ctc-session-index__photo--main {
  max-width: 280px;
  margin-left: auto;
  box-shadow:
    0 20px 44px rgba(0, 0, 0, 0.96),
    0 0 0 1px rgba(154, 199, 168, 0.7);
}

.ctc-session-index__strip {
  position: absolute;
  left: 0;
  bottom: -0.8rem;
  display: flex;
  gap: 0.6rem;
}

.ctc-session-index__photo--small {
  max-width: 130px;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.95),
    0 0 0 1px rgba(244, 180, 34, 0.7);
}

/* ===========================
   RESPONSIVE (13–15)
   =========================== */

@media (max-width: 1024px) {
  .ctc-weather-lanes__grid,
  .ctc-session-index__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-session-index__media {
    margin-top: 1.4rem;
    justify-self: center;
  }

  .ctc-session-index__photo--main {
    margin-left: 0;
  }
}

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

  .ctc-snag-plan__lane--two {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-snag-plan__lane--two .ctc-snag-plan__photo,
  .ctc-snag-plan__lane--two .ctc-snag-plan__copy {
    order: unset;
  }

  .ctc-session-index__strip {
    position: static;
    margin-top: 0.8rem;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .ctc-weather-lanes__tile {
    padding: 0.75rem 0.8rem;
  }

  .ctc-session-index__photo--main {
    max-width: 260px;
  }

  .ctc-session-index__photo--small {
    max-width: 120px;
  }
}
/* ===========================
   SECTION 16: SESSION CHECKLIST PANEL
   =========================== */

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

.ctc-session-checklist__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.5fr);
  gap: 2.6rem;
  align-items: flex-start;
}

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

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

.ctc-session-checklist__pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.4rem;
}

.ctc-session-checklist__pill {
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(129, 156, 134, 0.9);
  background: rgba(15, 24, 19, 0.98);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ctc-text-muted);
}

.ctc-session-checklist__panel {
  padding: 1rem 1.1rem;
  border-radius: 1.5rem;
  background:
    linear-gradient(150deg, rgba(11, 18, 14, 0.98), 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-session-checklist__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ctc-session-checklist__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.7rem;
  align-items: flex-start;
  padding-block: 0.4rem;
}

.ctc-session-checklist__item + .ctc-session-checklist__item {
  border-top: 1px dashed rgba(68, 93, 78, 0.7);
  margin-top: 0.2rem;
}

.ctc-session-checklist__mark {
  width: 18px;
  height: 18px;
  margin-top: 0.15rem;
  border-radius: 6px;
  background:
    radial-gradient(circle at 30% 30%, rgba(244, 180, 34, 0.9), rgba(154, 199, 168, 0.4));
  box-shadow: 0 0 0 1px rgba(11, 18, 14, 1);
}

.ctc-session-checklist__item-label {
  display: block;
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ctc-accent-soft);
  margin-bottom: 0.15rem;
}

.ctc-session-checklist__item-note {
  margin: 0;
  font-size: 0.88rem;
  color: var(--ctc-text-muted);
}

/* ===========================
   SECTION 17: MICRO TWEAKS BOARD
   =========================== */

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

.ctc-micro-tweaks__header {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: 2rem;
}

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

.ctc-micro-tweaks__text {
  margin: 0;
  color: var(--ctc-text-muted);
}

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

.ctc-micro-tweaks__note {
  position: relative;
  padding: 0.85rem 0.95rem 0.9rem;
  border-radius: 1.2rem;
  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-micro-tweaks__note--angle {
  transform: rotate(-1.5deg);
}

.ctc-micro-tweaks__note--clip {
  transform: rotate(1.5deg);
}

.ctc-micro-tweaks__note--sound {
  transform: rotate(-2deg);
}

.ctc-micro-tweaks__note--feed {
  transform: rotate(1.2deg);
}

.ctc-micro-tweaks__note--margin {
  transform: rotate(-1.2deg);
}

.ctc-micro-tweaks__note--notes {
  transform: rotate(1.8deg);
}

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

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

/* ===========================
   SECTION 18: SESSIONS OUTRO MAP
   =========================== */

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

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

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

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

.ctc-sessions-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-sessions-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-sessions-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-sessions-outro__link:hover,
.ctc-sessions-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–18)
   =========================== */

@media (max-width: 1024px) {
  .ctc-session-checklist__grid,
  .ctc-sessions-outro__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctc-sessions-outro__map {
    margin-top: 1.3rem;
  }

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

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

  .ctc-micro-tweaks__note {
    transform: none;
  }

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

@media (max-width: 480px) {
  .ctc-session-checklist__panel {
    padding: 0.9rem 0.85rem;
  }

  .ctc-sessions-outro__map {
    padding: 1rem;
  }
}
/* Спрятать H1 на странице sessions визуально, оставить для ботa/скринридеров */
.ctc-main__title--sessions {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
