/* Interior-page editorial system. The approved homepage remains isolated in homepage.css. */

.interior-page {
  --interior-rule: rgba(21, 47, 38, 0.2);
  --interior-paper: #f8f4ec;
  background: var(--color-surface);
}

.interior-page main {
  overflow: clip;
}

.interior-page .breadcrumbs {
  padding-block: 0.85rem;
  font-size: var(--fs-2xs);
  letter-spacing: 0.04em;
}

.interior-page .hero {
  min-height: clamp(30rem, 64vh, 43rem);
  display: grid;
  align-items: end;
  isolation: isolate;
  background: var(--color-surface-deep);
}

.interior-page .hero__scene,
.interior-page .hero__scrim {
  position: absolute;
  inset: 0;
}

.interior-page .hero__scene img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--interior-hero-position, center);
  background: transparent;
}

.interior-page .hero__scrim {
  background:
    linear-gradient(90deg, rgba(9, 25, 19, 0.82) 0%, rgba(9, 25, 19, 0.56) 44%, rgba(9, 25, 19, 0.12) 76%),
    linear-gradient(0deg, rgba(9, 25, 19, 0.62) 0%, transparent 58%);
}

.interior-page .hero > .container {
  width: 100%;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.interior-page .hero__content {
  width: 100%;
  min-width: 0;
  max-width: 51rem;
  padding-block: clamp(4rem, 8vw, 7rem);
}

.interior-page .hero__eyebrow,
.interior-page .eyebrow {
  letter-spacing: 0.16em;
}

.interior-page .hero h1 {
  max-width: 12ch;
  font-size: clamp(3rem, 6.8vw, 6.75rem);
  line-height: 0.94;
  text-wrap: balance;
}

.interior-page .hero__lede {
  max-width: 42rem;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  line-height: 1.55;
}

.interior-page .hero__meta {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.32);
}

.interior-page .section {
  padding-block: clamp(4.25rem, 8vw, 7.5rem);
}

.interior-page .section + .section:not(.section--alt):not(.section--deep) {
  border-top: 1px solid var(--interior-rule);
}

.interior-page .section--alt {
  background: var(--interior-paper);
}

.interior-page .section-head {
  max-width: 52rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.interior-page .section-head h2 {
  max-width: 17ch;
  font-size: clamp(2.25rem, 4.5vw, 4.75rem);
  line-height: 1.02;
  text-wrap: balance;
}

.interior-page .section-head .lede {
  max-width: 44rem;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.7;
}

.interior-page .prose--editorial {
  max-width: 47rem;
  font-size: clamp(1.05rem, 1.25vw, 1.18rem);
  line-height: 1.78;
}

.interior-page .prose--editorial > h2 {
  margin-top: clamp(3.75rem, 7vw, 6.5rem);
  font-size: clamp(2rem, 3.6vw, 3.65rem);
  line-height: 1.08;
}

.interior-page .prose--editorial > h3 {
  margin-top: 2.75rem;
  font-size: clamp(1.4rem, 2vw, 2rem);
}

.interior-page .card--flush {
  border: 0;
  border-top: 1px solid var(--interior-rule);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.interior-page .card--flush .card__body {
  padding-inline: 0;
}

.interior-page .pathway {
  min-height: 10rem;
  border: 0;
  border-top: 1px solid var(--interior-rule);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding-inline: 0;
}

.interior-page .pathway:hover {
  transform: translateY(-2px);
  border-color: var(--color-accent);
}

.interior-page .pathway__label {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2vw, 2rem);
}

.interior-page .callout {
  border-radius: 0;
  border-width: 0 0 0 2px;
  box-shadow: none;
}

.interior-page .pull-quote {
  padding-block: clamp(2rem, 5vw, 4rem);
  border-block: 1px solid var(--interior-rule);
}

.interior-page .pull-quote p {
  font-size: clamp(2rem, 4.5vw, 4rem);
  line-height: 1.08;
}

.interior-page .editorial-card {
  border-radius: 0;
  border-inline: 0;
  padding: clamp(2rem, 5vw, 4rem) 0;
}

.family-itinerary .hero {
  min-height: clamp(34rem, 72vh, 48rem);
}

.family-itinerary .hero h1 {
  max-width: 10ch;
}

.family-itinerary .stat-row {
  border-block: 1px solid var(--interior-rule);
}

.family-itinerary .stat {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.family-itinerary .day-timeline {
  gap: 0;
}

.family-itinerary .day {
  position: relative;
  padding: clamp(2rem, 5vw, 4rem) 0 clamp(2rem, 5vw, 4rem) clamp(4.5rem, 9vw, 8rem);
  border: 0;
  border-top: 1px solid var(--interior-rule);
  border-radius: 0;
  background: transparent;
}

.family-itinerary .day__label {
  position: absolute;
  top: clamp(2rem, 5vw, 4rem);
  left: 0;
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.75rem);
}

.family-destination {
  --interior-hero-position: center 55%;
}

.family-destination .hero,
.family-editorial .hero,
.family-season .hero {
  min-height: clamp(36rem, 76vh, 50rem);
}

.family-practical .hero,
.family-tool .hero,
.family-legal .hero,
.family-about .hero {
  min-height: auto;
  background:
    radial-gradient(circle at 82% 20%, rgba(180, 116, 52, 0.2), transparent 32%),
    var(--color-surface-deep);
}

.family-practical .hero__scene,
.family-practical .hero__scrim,
.family-tool .hero__scene,
.family-tool .hero__scrim,
.family-legal .hero__scene,
.family-legal .hero__scrim,
.family-about .hero__scene,
.family-about .hero__scrim {
  display: none;
}

.family-practical .hero__content,
.family-tool .hero__content,
.family-legal .hero__content,
.family-about .hero__content {
  max-width: 58rem;
  padding-block: clamp(4.5rem, 9vw, 8rem);
}

.family-practical .hero h1,
.family-tool .hero h1,
.family-legal .hero h1,
.family-about .hero h1 {
  max-width: 14ch;
}

.family-practical .data-table {
  font-variant-numeric: tabular-nums;
}

.family-practical .data-table th {
  background: var(--color-surface-deep);
  color: var(--color-text-on-dark);
}

.family-stay .card__media img,
.family-commercial .card__media img,
.family-editorial .card__media img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.family-hub .hero__content {
  max-width: 56rem;
}

@media (max-width: 639px) {
  .interior-page .hero {
    min-height: clamp(32rem, 78svh, 42rem);
  }

  .interior-page .hero__scrim {
    background: linear-gradient(0deg, rgba(9, 25, 19, 0.88) 0%, rgba(9, 25, 19, 0.42) 66%, rgba(9, 25, 19, 0.08) 100%);
  }

  .interior-page .hero__content {
    padding-block: 3.75rem;
  }

  .interior-page .hero h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(2.5rem, 12vw, 3.5rem);
    line-height: 0.98;
    text-wrap: wrap;
    overflow-wrap: normal;
  }

  .interior-page .hero__lede {
    font-size: 1rem;
  }

  .interior-page .hero__actions {
    align-items: stretch;
  }

  .interior-page .hero__actions .btn {
    width: 100%;
  }

  .interior-page .hero__meta {
    display: grid;
    gap: 0.45rem;
  }

  .interior-page .section {
    padding-block: 4rem;
  }

  .interior-page .section-head h2 {
    font-size: clamp(2.15rem, 11vw, 3.3rem);
  }

  .family-itinerary .day {
    padding-left: 0;
  }

  .family-itinerary .day__label {
    position: static;
    margin-bottom: 0.75rem;
  }

  .family-practical .hero,
  .family-tool .hero,
  .family-legal .hero,
  .family-about .hero {
    min-height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .interior-page .pathway:hover {
    transform: none;
  }
}

/* Full interior corrective pass: family grammars, not one repeated page template. */
.interior-page {
  --interior-paper: #f5f0e6;
  --interior-paper-cool: #edf0e9;
  --interior-ink: #10271f;
  --interior-rust: #a85f34;
}

.interior-page .section + .section:not(.section--alt):not(.section--deep) {
  border-top: 0;
}

.interior-page .section--alt {
  background: var(--interior-paper-cool);
}

.interior-page .section-head {
  margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.interior-page .section-head--center {
  margin-inline: auto;
}

.interior-page .section-head--center h2,
.interior-page .section-head--center .lede {
  margin-inline: auto;
}

.interior-page .grid > .card,
.interior-page .grid > .pathway {
  position: relative;
}

.interior-page .grid > .card:not(.card--dark),
.interior-page .grid > .pathway {
  border: 0;
  border-top: 1px solid var(--interior-rule);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.interior-page .grid > .card:not(.card--dark) .card__body {
  padding-inline: 0;
}

.interior-page .card--dark {
  border-radius: 0;
}

.interior-page .faq-list {
  border-top: 1px solid var(--interior-rule);
}

.interior-page .faq-item {
  border: 0;
  border-bottom: 1px solid var(--interior-rule);
  border-radius: 0;
  background: transparent;
}

.interior-page .faq-item > summary {
  padding-inline: 0;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.interior-page .faq-item__answer {
  padding-inline: 0;
}

.interior-page .section--deep {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.interior-page .section--deep::before,
.interior-page .section--deep::after {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
}

.interior-page .section--deep::after {
  z-index: -1;
  background: rgba(7, 22, 16, 0.82);
}

.family-commercial .section--deep::before {
  background: url("/assets/images/editorial/interior/safari-vehicle-across-mara-plains.jpg") center 58% / cover no-repeat;
}

.family-itinerary .section--deep::before {
  background: url("/assets/images/editorial/interior/safari-vehicle-crossing-open-grassland.jpg") center 56% / cover no-repeat;
}

.family-destination .section--deep::before {
  background: url("/assets/images/editorial/maasai-mara-dawn.jpg") center 60% / cover no-repeat;
}

.family-editorial .section--deep::before {
  background: url("/assets/images/editorial/interior/wildlife-in-green-mara-landscape.jpg") center 54% / cover no-repeat;
}

.family-season:not(.season-prototype) .section--deep::before {
  background: url("/assets/images/editorial/migration-on-the-plains.jpg") center 48% / cover no-repeat;
}

.family-stay .section--deep::before {
  background: url("/assets/images/editorial/tented-camp-atmosphere.jpg") center 56% / cover no-repeat;
}

.family-commercial .section--deep,
.family-itinerary .section--deep,
.family-destination .section--deep,
.family-editorial .section--deep,
.family-season:not(.season-prototype) .section--deep,
.family-stay .section--deep {
  min-height: clamp(34rem, 68svh, 50rem);
  display: grid;
  align-items: end;
  padding-block: clamp(5rem, 10vw, 8rem);
}

.family-commercial .section--deep::after,
.family-itinerary .section--deep::after,
.family-destination .section--deep::after,
.family-editorial .section--deep::after,
.family-season:not(.season-prototype) .section--deep::after,
.family-stay .section--deep::after {
  background:
    linear-gradient(90deg, rgba(5, 18, 13, 0.9) 0%, rgba(5, 18, 13, 0.56) 52%, rgba(5, 18, 13, 0.16) 100%),
    linear-gradient(0deg, rgba(5, 18, 13, 0.6) 0%, transparent 60%);
}

/* Destination pages: broad landscapes and open, asymmetric reading. */
.family-destination .hero {
  min-height: clamp(42rem, 88svh, 61rem);
}

.family-destination .hero__content {
  max-width: 62rem;
  padding-bottom: clamp(4rem, 9vw, 8rem);
}

.family-destination .hero h1 {
  max-width: 10ch;
  font-size: clamp(3.75rem, 7.7vw, 7.75rem);
}

@media (min-width: 900px) {
  .family-destination main > .section:nth-of-type(2) .section-head,
  .family-editorial main > .section:nth-of-type(2) .section-head,
  .family-season:not(.season-prototype) main > .section:nth-of-type(2) .section-head {
    max-width: none;
    display: grid;
    grid-template-columns: minmax(8rem, 0.42fr) minmax(0, 1.58fr);
    gap: 0.75rem clamp(3rem, 8vw, 8rem);
    align-items: start;
  }

  .family-destination main > .section:nth-of-type(2) .section-head .eyebrow,
  .family-editorial main > .section:nth-of-type(2) .section-head .eyebrow,
  .family-season:not(.season-prototype) main > .section:nth-of-type(2) .section-head .eyebrow {
    grid-column: 1;
    padding-top: 0.6rem;
  }

  .family-destination main > .section:nth-of-type(2) .section-head h2,
  .family-destination main > .section:nth-of-type(2) .section-head .lede,
  .family-editorial main > .section:nth-of-type(2) .section-head h2,
  .family-editorial main > .section:nth-of-type(2) .section-head .lede,
  .family-season:not(.season-prototype) main > .section:nth-of-type(2) .section-head h2,
  .family-season:not(.season-prototype) main > .section:nth-of-type(2) .section-head .lede {
    grid-column: 2;
  }
}

.family-destination .grid > .card,
.family-destination .grid > .pathway {
  min-height: 14rem;
  padding-top: 1.5rem;
}

/* Editorial guides: magazine pacing with quieter prose and decisive interludes. */
.family-editorial .hero {
  min-height: clamp(40rem, 84svh, 57rem);
}

.family-editorial .hero__content {
  max-width: 60rem;
}

.family-editorial .prose--editorial {
  margin-left: clamp(0rem, 8vw, 8rem);
}

.family-editorial .pull-quote {
  width: min(100%, 64rem);
  margin-inline: auto;
  padding-block: clamp(3rem, 7vw, 6rem);
  border-block-color: rgba(21, 47, 38, 0.34);
}

.family-editorial .pull-quote p {
  max-width: 22ch;
  font-size: clamp(2rem, 4vw, 3.75rem);
  font-style: normal;
}

.family-editorial .editorial-card {
  border-block: 1px solid var(--interior-rule);
  border-inline: 0;
  background: transparent;
}

.family-editorial .grid > .card:nth-child(even) {
  margin-top: clamp(0rem, 6vw, 5rem);
}

/* Safari pages: desire first, commercial choices set into the journey. */
.family-commercial .hero {
  min-height: clamp(42rem, 88svh, 59rem);
}

.family-commercial .hero__content {
  max-width: 58rem;
}

.family-commercial .hero h1 {
  max-width: 9ch;
  font-size: clamp(3.6rem, 7.2vw, 7.25rem);
}

.family-commercial .stat-row {
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.34);
}

.family-commercial .grid > .card,
.family-commercial .grid > .pathway {
  min-height: 15rem;
  padding-top: 1.75rem;
}

.family-commercial .split {
  gap: clamp(3rem, 8vw, 9rem);
}

/* Itineraries: the vertical line carries the traveller through each day. */
.family-itinerary .hero {
  min-height: clamp(42rem, 86svh, 58rem);
}

.family-itinerary .day-timeline {
  position: relative;
}

.family-itinerary .day-timeline::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(1.25rem, 3vw, 2.5rem);
  width: 1px;
  content: "";
  background: var(--interior-rule);
}

.family-itinerary .day {
  min-height: clamp(18rem, 34vw, 28rem);
  margin-left: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(3rem, 6vw, 5.5rem) clamp(1rem, 3vw, 3rem) clamp(3rem, 6vw, 5.5rem) clamp(5rem, 10vw, 10rem);
}

.family-itinerary .day:nth-child(even) {
  background: linear-gradient(90deg, rgba(237, 240, 233, 0.76), transparent 88%);
}

.family-itinerary .day__label {
  left: clamp(1.25rem, 3vw, 3rem);
  color: var(--interior-rust);
}

/* Seasons: warmer dry-season paper and greener alternating chapters. */
.family-season:not(.season-prototype) {
  --interior-paper: #f3eadb;
  --interior-paper-cool: #e8eee5;
}

.family-season:not(.season-prototype) .hero {
  min-height: clamp(42rem, 88svh, 59rem);
}

.family-season:not(.season-prototype) .section:nth-of-type(odd):not(.section--deep) {
  background: linear-gradient(120deg, rgba(243, 234, 219, 0.68), rgba(232, 238, 229, 0.46));
}

/* Stay pages: closer, more intimate proportions. */
.family-stay .hero {
  min-height: clamp(40rem, 82svh, 55rem);
}

.family-stay .card__media img {
  aspect-ratio: 4 / 5;
}

.family-stay .grid > .card:nth-child(3n + 2) {
  margin-top: clamp(0rem, 7vw, 6rem);
}

.family-stay .split {
  gap: clamp(3rem, 9vw, 10rem);
}

/* Practical, tools, legal and about: useful first, polished through hierarchy. */
.family-practical .hero__content,
.family-tool .hero__content,
.family-legal .hero__content,
.family-about .hero__content {
  padding-block: clamp(4rem, 7vw, 6.5rem);
}

.family-practical .hero h1,
.family-tool .hero h1,
.family-legal .hero h1,
.family-about .hero h1 {
  font-size: clamp(2.8rem, 5.5vw, 5.4rem);
}

.family-practical .section,
.family-tool .section,
.family-legal .section,
.family-about .section {
  padding-block: clamp(3.5rem, 6vw, 6rem);
}

.family-practical .section-head h2,
.family-tool .section-head h2,
.family-legal .section-head h2,
.family-about .section-head h2 {
  font-size: clamp(2rem, 3.5vw, 3.5rem);
}

.family-practical .callout,
.family-tool .callout {
  padding: 1.5rem 0 1.5rem clamp(1rem, 3vw, 2rem);
  background: transparent;
}

.family-practical .pull-quote p,
.family-tool .pull-quote p,
.family-legal .pull-quote p,
.family-about .pull-quote p {
  max-width: 30ch;
  font-size: clamp(1.65rem, 3vw, 2.75rem);
  font-style: normal;
}

.family-practical .table-scroll,
.family-tool .table-scroll {
  border-block: 1px solid var(--interior-rule);
}

.family-practical .data-table th,
.family-tool .data-table th {
  background: var(--interior-ink);
}

.family-practical .data-table td,
.family-tool .data-table td {
  background: rgba(255, 255, 255, 0.42);
}

/* Hubs read as publication indexes, with strong sequencing but no UI instructions. */
.family-hub main {
  counter-reset: hub-card;
}

.family-hub .grid > .card,
.family-hub .grid > .pathway {
  counter-increment: hub-card;
  min-height: clamp(13rem, 21vw, 19rem);
  padding-top: 3.25rem;
}

.family-hub .grid > .card::before,
.family-hub .grid > .pathway::before {
  position: absolute;
  top: 1rem;
  left: 0;
  content: counter(hub-card, decimal-leading-zero);
  color: var(--interior-rust);
  font-family: var(--font-display);
  font-size: 0.9rem;
  letter-spacing: 0.12em;
}

.family-hub .grid > .card:hover,
.family-hub .grid > .pathway:hover {
  border-top-color: var(--interior-rust);
}

@media (max-width: 639px) {
  .interior-page .section {
    padding-block: 3.75rem;
  }

  .interior-page .section-head {
    margin-bottom: 2.5rem;
  }

  .interior-page .section-head h2,
  .family-destination .section-head h2,
  .family-editorial .section-head h2,
  .family-commercial .section-head h2,
  .family-itinerary .section-head h2,
  .family-season .section-head h2,
  .family-stay .section-head h2 {
    max-width: 100%;
    font-size: clamp(2.05rem, 10.5vw, 3.15rem);
    line-height: 1.02;
  }

  .family-destination .hero,
  .family-editorial .hero,
  .family-commercial .hero,
  .family-itinerary .hero,
  .family-season:not(.season-prototype) .hero,
  .family-stay .hero {
    min-height: clamp(37rem, 84svh, 47rem);
  }

  .family-destination .hero h1,
  .family-commercial .hero h1 {
    max-width: 100%;
    font-size: clamp(2.65rem, 12vw, 3.75rem);
  }

  .family-editorial .prose--editorial {
    margin-left: 0;
  }

  .family-editorial .grid > .card:nth-child(even),
  .family-stay .grid > .card:nth-child(3n + 2) {
    margin-top: 0;
  }

  .family-itinerary .day-timeline::before {
    left: 0;
  }

  .family-itinerary .day {
    min-height: auto;
    margin-left: 0;
    padding: 2.75rem 0;
    background: transparent;
  }

  .family-itinerary .day:nth-child(even) {
    background: transparent;
  }

  .family-itinerary .day__label {
    position: static;
  }

  .family-hub .grid > .card,
  .family-hub .grid > .pathway {
    min-height: auto;
    padding-block: 3.25rem 2rem;
  }

  .family-commercial .section--deep,
  .family-itinerary .section--deep,
  .family-destination .section--deep,
  .family-editorial .section--deep,
  .family-season:not(.season-prototype) .section--deep,
  .family-stay .section--deep {
    min-height: 38rem;
    padding-block: 4rem;
  }

  .family-commercial .section--deep::after,
  .family-itinerary .section--deep::after,
  .family-destination .section--deep::after,
  .family-editorial .section--deep::after,
  .family-season:not(.season-prototype) .section--deep::after,
  .family-stay .section--deep::after {
    background: linear-gradient(0deg, rgba(5, 18, 13, 0.94) 0%, rgba(5, 18, 13, 0.5) 72%, rgba(5, 18, 13, 0.16) 100%);
  }
}

/* Seasons prototype: intentionally scoped until the interior visual language is approved. */
.season-prototype {
  --season-ink: #10271f;
  --season-ivory: #f4efe5;
  --season-rust: #a85f34;
}

.season-prototype main {
  position: relative;
}

.season-prototype .breadcrumbs {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 50%;
  width: min(100% - 2rem, var(--container-max));
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.76);
}

.season-prototype .breadcrumbs a {
  color: #fff;
}

.season-prototype .season-hero {
  min-height: min(54rem, calc(100svh - 4rem));
  align-items: end;
}

.season-prototype .season-hero .hero__scene img {
  object-position: center 54%;
}

.season-prototype .season-hero .hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 20, 15, 0.78) 0%, rgba(7, 20, 15, 0.48) 43%, rgba(7, 20, 15, 0.06) 74%),
    linear-gradient(0deg, rgba(7, 20, 15, 0.7) 0%, transparent 58%);
}

.season-prototype .season-hero .hero__content {
  max-width: 61rem;
  padding-block: clamp(7rem, 13vw, 10rem) clamp(4rem, 7vw, 6rem);
}

.season-prototype .season-hero h1 {
  max-width: 10ch;
  font-size: clamp(3.5rem, 7vw, 7.25rem);
}

.season-prototype .season-hero .hero__lede {
  max-width: 46rem;
}

.season-prototype .season-intro {
  padding-block: clamp(5.5rem, 10vw, 9rem);
}

.season-prototype .season-intro__grid {
  display: grid;
  grid-template-columns: minmax(15rem, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}

.season-prototype .season-intro__head {
  position: sticky;
  top: 2rem;
}

.season-prototype .season-intro__head h2 {
  max-width: 9ch;
  margin-top: 0.75rem;
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 0.98;
}

.season-prototype .season-review {
  max-width: 24rem;
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--interior-rule);
  color: var(--color-text-muted);
  font-size: var(--fs-xs);
}

.season-prototype .season-intro__copy {
  max-width: 48rem;
  font-size: clamp(1.08rem, 1.4vw, 1.25rem);
}

.season-prototype .season-note {
  grid-column: 2;
  margin: 0;
  padding: 1.5rem 0 0;
  border-width: 1px 0 0;
  border-color: var(--season-rust);
  background: transparent;
}

.season-prototype .season-chapter {
  padding-block: clamp(5rem, 9vw, 9rem);
  background: var(--season-ivory);
}

.season-prototype .season-chapter__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, 0.7fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.season-prototype .season-figure {
  margin: 0;
}

.season-prototype .season-figure img {
  width: 100%;
  height: clamp(31rem, 58vw, 48rem);
  object-fit: cover;
  object-position: 42% center;
}

.season-prototype .season-figure figcaption {
  max-width: 38rem;
  margin-top: 0.75rem;
  color: var(--color-text-muted);
  font-size: var(--fs-xs);
}

.season-prototype .season-chapter__copy h2 {
  max-width: 10ch;
  margin-top: 0.8rem;
  font-size: clamp(2.5rem, 5vw, 5.25rem);
  line-height: 0.98;
}

.season-prototype .season-quote {
  margin: clamp(2.5rem, 6vw, 5rem) 0 0;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(16, 39, 31, 0.26);
}

.season-prototype .season-quote p {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.2vw, 2.2rem);
  line-height: 1.25;
}

.season-prototype .season-quote cite {
  display: block;
  margin-top: 1rem;
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  font-style: normal;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.season-prototype .season-migration {
  position: relative;
  min-height: clamp(38rem, 82svh, 58rem);
  display: grid;
  align-items: end;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: var(--season-ink);
}

.season-prototype .season-migration::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6, 18, 13, 0.78) 0%, rgba(6, 18, 13, 0.26) 56%, transparent 78%),
    linear-gradient(0deg, rgba(6, 18, 13, 0.62) 0%, transparent 55%);
}

.season-prototype .season-migration__figure {
  position: absolute;
  z-index: -2;
  inset: 0;
  margin: 0;
}

.season-prototype .season-migration__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}

.season-prototype .season-migration__layout {
  width: 100%;
  padding-block: clamp(4rem, 8vw, 7rem);
}

.season-prototype .season-migration__copy {
  max-width: 40rem;
  margin: 0;
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
}

.season-prototype .season-migration__copy .editorial-card__eyebrow,
.season-prototype .season-migration__copy .editorial-card__copy {
  color: rgba(255, 255, 255, 0.82);
}

.season-prototype .season-migration__copy .editorial-card__title {
  max-width: 10ch;
  font-size: clamp(2.75rem, 5.5vw, 5.75rem);
  line-height: 0.98;
}

.season-prototype .season-migration__copy .editorial-card__cta {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.58);
}

.season-prototype .season-knowledge {
  padding-block: clamp(5.5rem, 10vw, 9rem);
}

.season-prototype .season-knowledge__head {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  column-gap: clamp(2rem, 8vw, 8rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.season-prototype .season-knowledge__head .eyebrow {
  grid-column: 1 / -1;
}

.season-prototype .season-knowledge__head h2 {
  margin-top: 0.75rem;
  font-size: clamp(2.75rem, 5vw, 5rem);
}

.season-prototype .season-knowledge__head > p:last-child {
  max-width: 36rem;
  margin: 0 0 0.5rem;
  color: var(--color-text-muted);
  font-size: clamp(1rem, 1.3vw, 1.15rem);
}

.season-prototype .season-knowledge .table-scroll {
  margin-inline: calc(50% - 50vw);
  padding-inline: max(1rem, calc((100vw - var(--container-max)) / 2));
}

.season-prototype .season-knowledge .data-table {
  border-block: 1px solid var(--interior-rule);
}

.season-prototype .season-knowledge .data-table th {
  background: var(--season-ink);
  color: #fff;
}

.season-prototype .season-knowledge__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(3rem, 8vw, 8rem);
  margin-top: clamp(4.5rem, 9vw, 8rem);
}

.season-prototype .season-knowledge__columns h3,
.season-prototype .season-misconceptions h3 {
  max-width: 13ch;
  margin-bottom: 1.5rem;
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  line-height: 1.05;
}

.season-prototype .season-knowledge__columns li,
.season-prototype .season-misconceptions li {
  padding-block: 1rem;
  border-top: 1px solid var(--interior-rule);
}

.season-prototype .season-misconceptions {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: clamp(3rem, 8vw, 8rem);
  margin-top: clamp(5rem, 10vw, 9rem);
  padding-top: clamp(3rem, 6vw, 5rem);
  border-top: 1px solid var(--interior-rule);
}

.season-prototype .season-green {
  position: relative;
  min-height: clamp(43rem, 88svh, 62rem);
  display: grid;
  align-items: end;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: var(--season-ink);
}

.season-prototype .season-green::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 24, 16, 0.78) 0%, rgba(5, 24, 16, 0.25) 56%, transparent 82%);
}

.season-prototype .season-green__picture {
  position: absolute;
  z-index: -2;
  inset: 0;
}

.season-prototype .season-green__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.season-prototype .season-green__layout {
  width: 100%;
  padding-block: clamp(4rem, 8vw, 7rem);
}

.season-prototype .season-green__copy {
  max-width: 42rem;
  margin: 0;
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
}

.season-prototype .season-green__copy .editorial-card__eyebrow,
.season-prototype .season-green__copy .editorial-card__copy {
  color: rgba(255, 255, 255, 0.82);
}

.season-prototype .season-green__copy .editorial-card__title {
  max-width: 12ch;
  font-size: clamp(2.75rem, 5.5vw, 5.75rem);
  line-height: 0.98;
}

.season-prototype .season-green__copy .editorial-card__cta {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.58);
}

.season-prototype .season-faq {
  padding-block: clamp(5.5rem, 10vw, 9rem);
  background: var(--season-ivory);
}

.season-prototype .season-faq__grid {
  display: grid;
  grid-template-columns: minmax(15rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}

.season-prototype .season-faq__head {
  position: sticky;
  top: 2rem;
}

.season-prototype .season-faq__head h2 {
  max-width: 10ch;
  margin-top: 0.75rem;
  font-size: clamp(2.5rem, 4.8vw, 4.75rem);
  line-height: 1;
}

.season-prototype .season-faq .faq-list {
  margin: 0;
}

.season-prototype .season-faq .faq-item {
  border-width: 1px 0 0;
  border-radius: 0;
  background: transparent;
}

.season-prototype .season-faq .faq-item:last-child {
  border-bottom: 1px solid var(--interior-rule);
}

.season-prototype .season-faq .faq-item summary {
  padding: 1.4rem 0;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.8vw, 1.65rem);
}

.season-prototype .season-faq .faq-item__answer {
  max-width: 43rem;
  padding: 0 2.5rem 1.5rem 0;
}

.season-prototype .season-related {
  grid-column: 2;
  padding-top: 1.5rem;
  border-top: 1px solid var(--season-rust);
}

.season-prototype .season-related ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}

.season-prototype .season-related a {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 1.4vw, 1.35rem);
}

.season-prototype .season-planning {
  position: relative;
  min-height: clamp(40rem, 82svh, 56rem);
  display: grid;
  align-items: end;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: var(--season-ink);
}

.season-prototype .season-planning__image,
.season-prototype .season-planning__scrim {
  position: absolute;
  inset: 0;
}

.season-prototype .season-planning__image {
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.season-prototype .season-planning__scrim {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(4, 15, 11, 0.84) 0%, rgba(4, 15, 11, 0.38) 54%, transparent 78%),
    linear-gradient(0deg, rgba(4, 15, 11, 0.65) 0%, transparent 58%);
}

.season-prototype .season-planning__layout {
  width: 100%;
  padding-block: clamp(4rem, 8vw, 7rem);
}

.season-prototype .season-planning__copy {
  max-width: 43rem;
  margin: 0;
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
}

.season-prototype .season-planning__copy .editorial-card__eyebrow,
.season-prototype .season-planning__copy .editorial-card__copy {
  color: rgba(255, 255, 255, 0.82);
}

.season-prototype .season-planning__copy .editorial-card__title {
  max-width: 10ch;
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: 0.98;
}

@media (max-width: 799px) {
  .season-prototype .season-intro__grid,
  .season-prototype .season-chapter__grid,
  .season-prototype .season-faq__grid {
    grid-template-columns: 1fr;
  }

  .season-prototype .season-intro__head,
  .season-prototype .season-faq__head {
    position: static;
  }

  .season-prototype .season-note,
  .season-prototype .season-related {
    grid-column: 1;
  }

  .season-prototype .season-knowledge__columns,
  .season-prototype .season-misconceptions {
    grid-template-columns: 1fr;
  }

  .season-prototype .season-related ul {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 639px) {
  .season-prototype .breadcrumbs {
    width: calc(100% - 2rem);
    overflow-x: auto;
    white-space: nowrap;
  }

  .season-prototype .season-hero {
    min-height: 43rem;
  }

  .season-prototype .season-hero .hero__scene img {
    object-position: 64% center;
  }

  .season-prototype .season-hero .hero__scrim {
    background: linear-gradient(0deg, rgba(7, 20, 15, 0.9) 0%, rgba(7, 20, 15, 0.48) 68%, rgba(7, 20, 15, 0.12) 100%);
  }

  .season-prototype .season-hero .hero__content {
    padding-block: 8rem 3rem;
  }

  .season-prototype .season-hero h1 {
    font-size: clamp(2.8rem, 13vw, 4rem);
  }

  .season-prototype .season-hero .article-byline {
    gap: 0.35rem 0.75rem;
  }

  .season-prototype .season-intro,
  .season-prototype .season-knowledge,
  .season-prototype .season-faq {
    padding-block: 4.5rem;
  }

  .season-prototype .season-intro__grid,
  .season-prototype .season-chapter__grid,
  .season-prototype .season-faq__grid {
    gap: 2.5rem;
  }

  .season-prototype .season-intro__head h2,
  .season-prototype .season-chapter__copy h2,
  .season-prototype .season-faq__head h2 {
    max-width: 11ch;
    font-size: clamp(2.35rem, 11vw, 3.35rem);
  }

  .season-prototype .season-chapter {
    padding-block: 1rem 4.5rem;
  }

  .season-prototype .season-chapter__grid {
    width: 100%;
  }

  .season-prototype .season-figure img {
    height: 31rem;
    object-position: 36% center;
  }

  .season-prototype .season-figure figcaption,
  .season-prototype .season-chapter__copy {
    padding-inline: 1rem;
  }

  .season-prototype .season-migration,
  .season-prototype .season-green,
  .season-prototype .season-planning {
    min-height: 46rem;
  }

  .season-prototype .season-migration::after,
  .season-prototype .season-green::after {
    background: linear-gradient(0deg, rgba(5, 20, 14, 0.9) 0%, rgba(5, 20, 14, 0.52) 55%, rgba(5, 20, 14, 0.06) 100%);
  }

  .season-prototype .season-migration__figure img {
    object-position: 52% center;
  }

  .season-prototype .season-green__picture img {
    object-position: 58% center;
  }

  .season-prototype .season-migration__copy .editorial-card__title,
  .season-prototype .season-green__copy .editorial-card__title,
  .season-prototype .season-planning__copy .editorial-card__title {
    max-width: 12ch;
    font-size: clamp(2.5rem, 11vw, 3.6rem);
  }

  .season-prototype .season-knowledge__head {
    display: block;
  }

  .season-prototype .season-knowledge__head h2 {
    margin-bottom: 1rem;
    font-size: clamp(2.4rem, 11vw, 3.5rem);
  }

  .season-prototype .season-knowledge .table-scroll {
    margin-inline: -1rem;
    padding-inline: 1rem;
  }

  .season-prototype .season-knowledge__columns {
    margin-top: 4rem;
  }

  .season-prototype .season-knowledge__columns h3,
  .season-prototype .season-misconceptions h3 {
    font-size: clamp(2rem, 9vw, 2.8rem);
  }

  .season-prototype .season-faq .faq-item summary {
    padding-block: 1.2rem;
    font-size: 1.25rem;
  }

  .season-prototype .season-planning__image {
    object-position: 58% center;
  }

  .season-prototype .season-planning__scrim {
    background: linear-gradient(0deg, rgba(4, 15, 11, 0.93) 0%, rgba(4, 15, 11, 0.52) 62%, rgba(4, 15, 11, 0.08) 100%);
  }
}
