/* Homepage editorial experience — intentionally isolated from other templates. */

.home-main {
  background: var(--color-bg);
}

.home-main h2 {
  font-size: clamp(2.5rem, 5vw, 5.4rem);
  font-weight: var(--fw-regular);
  line-height: 0.98;
}

.home-main h3 {
  font-weight: var(--fw-regular);
}

.home-kicker {
  margin-bottom: var(--space-sm);
  font-family: var(--font-body);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--color-accent-strong);
}

.home-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.75rem;
  padding-block: 0.65rem;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.home-text-link span {
  transition: transform var(--duration-base) var(--ease-out);
}

.home-text-link--light {
  color: var(--color-text-on-dark);
}

@media (hover: hover) and (pointer: fine) {
  .home-text-link:hover span {
    transform: translateX(0.28rem);
  }
}

/* 1. Arrival */
.home-cover {
  position: relative;
  min-height: min(58rem, calc(100svh - 4rem));
  overflow: hidden;
  color: var(--color-text-on-dark);
  background: #3d4736;
}

.home-cover__image,
.home-cover__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-cover__image {
  object-fit: cover;
  object-position: center center;
  background: #3d4736;
}

/* Cinematic anchors: desktop-only depth with restrained image overscan. */
@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
  .js .home-cover__image[data-parallax-media] {
    top: -4%;
    bottom: auto;
    height: 108%;
    max-width: none;
  }

  .js .home-migration__media img[data-parallax-media] {
    height: 112%;
    max-width: none;
    margin-top: -6%;
  }

  .js .home-planning__image[data-parallax-media] {
    top: -5%;
    bottom: auto;
    height: 110%;
    max-width: none;
  }

  .js [data-parallax-media] {
    transform: translate3d(0, 0, 0);
  }

  .js [data-parallax-root].is-parallax-active [data-parallax-media] {
    will-change: transform;
  }
}

.home-cover__scrim {
  background:
    linear-gradient(180deg, rgba(8, 14, 10, 0.06) 35%, rgba(8, 14, 10, 0.68) 100%),
    linear-gradient(90deg, rgba(8, 14, 10, 0.44) 0%, transparent 58%);
}

.home-cover__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  min-height: min(58rem, calc(100svh - 4rem));
  padding-block: clamp(4rem, 10vh, 7rem);
}

.home-cover__copy {
  max-width: 50rem;
}

.home-cover .home-kicker {
  color: #f0d2a0;
}

.home-cover h1 {
  max-width: 13ch;
  font-size: clamp(3.25rem, 7.8vw, 7.25rem);
  font-weight: var(--fw-regular);
  line-height: 0.91;
  color: #fffdf8;
}

.home-cover__copy > p:last-child {
  max-width: 31rem;
  margin-top: var(--space-md);
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1rem + 0.6vw, 1.55rem);
  line-height: 1.45;
  color: rgba(255, 253, 248, 0.88);
}

/* 2. A day on safari */
.home-day {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(22rem, 0.8fr);
  min-height: 46rem;
  background: #f0e8da;
}

.home-day__media {
  min-height: 46rem;
  overflow: hidden;
}

.home-day__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% center;
}

.home-day__copy {
  align-self: center;
  max-width: 35rem;
  padding: clamp(3rem, 7vw, 7rem) var(--gutter);
}

.home-day__copy h2 {
  margin-bottom: var(--space-lg);
  font-size: clamp(2.7rem, 4.6vw, 5rem);
}

.home-day__copy > p:not(.home-kicker) {
  color: var(--color-text-muted);
  line-height: var(--lh-relaxed);
}

.home-day__copy > p + p {
  margin-top: var(--space-sm);
}

.home-day__copy .home-text-link {
  margin-top: var(--space-lg);
}

/* 3. The wild — typographic fallback until documentary photography exists. */
.home-wild {
  background: #17261f;
  color: var(--color-text-on-dark);
}

.home-wild__media {
  height: clamp(28rem, 58vw, 50rem);
  overflow: hidden;
}

.home-wild__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% center;
}

.home-wild__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
  grid-template-areas:
    "kicker copy"
    "heading copy"
    "heading link";
  gap: var(--space-md) clamp(3rem, 8vw, 9rem);
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.home-wild .home-kicker {
  grid-area: kicker;
  align-self: end;
  color: #d8b77c;
}

.home-wild h2 {
  grid-area: heading;
  max-width: 9ch;
  color: #fffdf8;
}

.home-wild__inner > p:not(.home-kicker) {
  grid-area: copy;
  align-self: end;
  max-width: 32rem;
  font-size: var(--fs-md);
  line-height: var(--lh-relaxed);
  color: var(--color-text-on-dark-muted);
}

.home-wild .home-text-link {
  grid-area: link;
  justify-self: start;
  align-self: start;
}

/* 4. The Great Migration */
.home-migration {
  background: #e8dfd0;
}

.home-migration__media {
  height: clamp(24rem, 58vw, 48rem);
  overflow: hidden;
}

.home-migration__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}

.home-migration__copy {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.65fr);
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: clamp(4rem, 8vw, 7rem);
}

.home-migration__copy h2 {
  max-width: 8ch;
}

.home-migration__text {
  align-self: end;
  max-width: 35rem;
}

.home-migration__text p {
  color: var(--color-text-muted);
  line-height: var(--lh-relaxed);
}

.home-migration__text p + p {
  margin-top: var(--space-sm);
}

.home-migration__text .home-text-link {
  margin-top: var(--space-lg);
}

/* 5. Many Maras */
.home-areas {
  padding-block: clamp(5rem, 10vw, 9rem);
  background: #f8f4ec;
}

.home-areas__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.55fr);
  gap: var(--space-lg) clamp(3rem, 8vw, 8rem);
  align-items: end;
  margin-bottom: clamp(3rem, 7vw, 6rem);
}

.home-areas__intro .home-kicker,
.home-areas__intro h2 {
  grid-column: 1;
}

.home-areas__intro h2 {
  max-width: 11ch;
}

.home-areas__intro > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  color: var(--color-text-muted);
  line-height: var(--lh-relaxed);
}

.home-areas__anchor {
  display: block;
  aspect-ratio: 2 / 1;
  margin-bottom: var(--space-md);
  overflow: hidden;
}

.home-areas__anchor img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-areas__stories {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-md);
}

.home-area {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 23rem;
  padding: clamp(1.75rem, 4vw, 3.5rem);
  overflow: hidden;
}

.home-area--triangle,
.home-area--olare {
  grid-column: span 7;
}

.home-area--naboisho,
.home-area--north {
  grid-column: span 5;
}

.home-area--triangle {
  background: #d8c6a7;
}

.home-area--naboisho {
  background: #ccd2bd;
}

.home-area--north {
  background: #d9d0bd;
}

.home-area--olare {
  background: #b9c1ad;
}

.home-area__number {
  font-family: var(--font-display);
  font-size: clamp(4rem, 9vw, 8rem);
  line-height: 0.8;
  color: rgba(29, 43, 34, 0.13);
}

.home-area__copy {
  max-width: 31rem;
}

.home-area__copy h3 {
  font-size: clamp(2rem, 3.7vw, 3.5rem);
}

.home-area__copy p {
  max-width: 28rem;
  margin-top: var(--space-sm);
  color: #41463d;
}

.home-area__copy .home-text-link {
  margin-top: var(--space-md);
}

.home-areas__foot {
  margin-top: var(--space-lg);
  text-align: right;
}

/* 6. Life in camp */
.home-camp {
  padding-block: clamp(5rem, 10vw, 9rem);
  background: #ebe0cf;
}

.home-camp__layout {
  display: grid;
  grid-template-columns: minmax(19rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
}

.home-camp__copy {
  max-width: 35rem;
}

.home-camp__copy h2 {
  margin-bottom: var(--space-lg);
}

.home-camp__copy > p:not(.home-kicker) {
  color: var(--color-text-muted);
  line-height: var(--lh-relaxed);
}

.home-camp__copy > p + p {
  margin-top: var(--space-sm);
}

.home-camp__copy > .home-text-link {
  margin-top: var(--space-lg);
}

.home-camp__secondary-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  margin-top: var(--space-sm);
}

.home-camp__secondary-links a {
  min-height: 2.75rem;
  padding-block: 0.7rem;
  font-size: var(--fs-xs);
  color: var(--color-text-muted);
  text-underline-offset: 0.28rem;
}

.home-camp__media {
  position: relative;
  min-height: 43rem;
}

.home-camp__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-camp__figure figcaption {
  margin-top: var(--space-2xs);
  font-size: var(--fs-2xs);
  color: var(--color-text-muted);
}

.home-camp__figure--tent {
  position: absolute;
  inset: 0 16% 10% 0;
}

.home-camp__figure--lodge {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 46%;
  height: 43%;
  padding: var(--space-sm) 0 0 var(--space-sm);
  background: #ebe0cf;
}

/* 7. The seasons */
.home-seasons {
  padding-block: clamp(5rem, 10vw, 9rem);
  background: #dce1d4;
}

.home-seasons__head {
  display: flex;
  justify-content: space-between;
  gap: var(--space-xl);
  align-items: end;
}

.home-seasons__head h2 {
  max-width: 11ch;
}

.home-seasons__head > p {
  max-width: 20rem;
  color: var(--color-text-muted);
}

.home-seasons__media {
  display: block;
  aspect-ratio: 16 / 9;
  margin-top: clamp(3rem, 6vw, 5rem);
  overflow: hidden;
}

.home-seasons__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-seasons__rhythm {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-block: var(--space-xl) var(--space-lg);
  border-top: 1px solid rgba(31, 48, 38, 0.35);
}

.home-season {
  min-height: 16rem;
  padding: var(--space-lg) var(--space-md) var(--space-lg) 0;
  border-right: 1px solid rgba(31, 48, 38, 0.18);
}

.home-season + .home-season {
  padding-left: var(--space-md);
}

.home-season:last-child {
  border-right: 0;
}

.home-season::before {
  content: "";
  display: block;
  width: 2.75rem;
  height: 0.3rem;
  margin-bottom: var(--space-xl);
  background: var(--season-color, var(--color-primary));
}

.home-season--jan { --season-color: #ad8a56; }
.home-season--mar { --season-color: #54704f; }
.home-season--jul { --season-color: #a75b32; }
.home-season--nov { --season-color: #6c8062; }

.home-season dt {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  color: var(--color-primary-strong);
}

.home-season dd {
  margin-top: var(--space-sm);
  color: var(--color-text-muted);
}

/* 8. Ways into the Mara */
.home-pathways {
  padding-block: clamp(5rem, 10vw, 9rem);
  background: #f8f4ec;
}

.home-pathways__head {
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.home-pathways__head h2 {
  max-width: 10ch;
}

.home-pathways__head > p:last-child {
  margin-top: var(--space-md);
  color: var(--color-text-muted);
}

.home-pathways__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
  gap: clamp(2rem, 5vw, 5rem);
}

.home-pathways__lead {
  position: relative;
  min-height: 40rem;
  overflow: hidden;
  background: var(--color-primary-strong);
}

.home-pathways__lead::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 38%, rgba(8, 14, 10, 0.82) 100%);
}

.home-pathways__lead-media,
.home-pathways__lead-media picture,
.home-pathways__lead-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.home-pathways__lead-media img {
  object-fit: cover;
  object-position: 52% center;
  transition: transform var(--duration-slow) var(--ease-out);
}

.home-pathways__lead-copy {
  position: absolute;
  z-index: 1;
  left: clamp(1.5rem, 4vw, 3.5rem);
  right: clamp(1.5rem, 4vw, 3.5rem);
  bottom: clamp(1.5rem, 4vw, 3.5rem);
  color: var(--color-text-on-dark);
}

.home-pathways__lead-copy .home-kicker {
  color: #f0d2a0;
}

.home-pathways__lead-copy h3 {
  max-width: 15ch;
  font-size: clamp(2rem, 4vw, 4rem);
  color: #fff;
}

.home-pathways__lead-copy .home-text-link {
  margin-top: var(--space-md);
}

@media (hover: hover) and (pointer: fine) {
  .home-pathways__lead:hover .home-pathways__lead-media img {
    transform: scale(1.025);
  }
}

.home-pathways__index {
  display: grid;
  align-content: start;
  border-top: 1px solid var(--color-border);
}

.home-pathways__index a {
  display: grid;
  grid-template-columns: minmax(9rem, 0.7fr) minmax(0, 1fr);
  gap: var(--space-md);
  min-height: 5.25rem;
  padding-block: var(--space-md);
  text-decoration: none;
  border-bottom: 1px solid var(--color-border);
}

.home-pathways__index span {
  font-family: var(--font-display);
  font-size: var(--fs-md);
  color: var(--color-primary-strong);
}

.home-pathways__index small {
  color: var(--color-text-muted);
  line-height: 1.5;
}

.home-pathways__index a:hover span {
  color: var(--color-accent-strong);
}

.home-pathways__foot {
  display: flex;
  justify-content: space-between;
  gap: var(--space-xl);
  align-items: end;
  margin-top: var(--space-xl);
}

.home-duration {
  max-width: 40rem;
}

.home-duration > p {
  margin-bottom: var(--space-xs);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.home-duration > div {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-md);
}

.home-duration a {
  min-height: 2.75rem;
  padding-block: 0.7rem;
  font-size: var(--fs-sm);
  text-underline-offset: 0.28rem;
}

/* 9. Before you go */
.home-guides {
  padding-block: clamp(5rem, 10vw, 9rem);
  background: #fffdf8;
}

.home-guides__layout {
  display: grid;
  grid-template-columns: minmax(18rem, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(3rem, 9vw, 10rem);
  align-items: start;
}

.home-guides__head {
  position: sticky;
  top: 7rem;
}

.home-guides__head h2 {
  max-width: 7ch;
}

.home-guides__head > p:last-child {
  margin-top: var(--space-md);
  color: var(--color-text-muted);
}

.home-guides__index {
  border-top: 1px solid var(--color-border);
}

.home-guides__index a {
  display: grid;
  grid-template-columns: minmax(12rem, 0.8fr) minmax(0, 1fr);
  gap: var(--space-lg);
  min-height: 6rem;
  padding-block: var(--space-lg);
  text-decoration: none;
  border-bottom: 1px solid var(--color-border);
}

.home-guides__index span {
  display: flex;
  gap: var(--space-md);
  align-items: baseline;
}

.home-guides__index b {
  font-family: var(--font-body);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-medium);
  color: var(--color-accent-strong);
}

.home-guides__index strong {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-regular);
  color: var(--color-primary-strong);
}

.home-guides__index small {
  color: var(--color-text-muted);
  line-height: 1.5;
}

.home-guides__index a:hover strong {
  color: var(--color-accent-strong);
}

/* 10. Planning — typographic fallback until a real closing image exists. */
.home-planning {
  position: relative;
  min-height: min(46rem, 78svh);
  overflow: hidden;
  background: #122019;
  color: var(--color-text-on-dark);
}

.home-planning__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
}

.home-planning__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-planning::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8, 14, 10, 0.78) 0%, rgba(8, 14, 10, 0.5) 38%, rgba(8, 14, 10, 0.08) 72%),
    linear-gradient(0deg, rgba(8, 14, 10, 0.34) 0%, transparent 45%);
}

.home-planning::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 26%;
  height: 1px;
  background: rgba(240, 210, 160, 0.18);
}

.home-planning__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: min(46rem, 78svh);
  padding-block: var(--space-3xl);
}

.home-planning .home-kicker {
  color: #d8b77c;
}

.home-planning h2 {
  max-width: 10ch;
  color: #fffdf8;
}

.home-planning__inner > p:not(.home-kicker) {
  max-width: 35rem;
  margin-top: var(--space-lg);
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  line-height: 1.5;
  color: var(--color-text-on-dark-muted);
}

.home-planning .btn {
  margin-top: var(--space-lg);
}

.home-planning small {
  margin-top: var(--space-md);
  color: var(--color-text-on-dark-muted);
}

@media (max-width: 1100px) {
  .home-day {
    grid-template-columns: minmax(0, 1.2fr) minmax(21rem, 0.8fr);
  }

  .home-camp__layout {
    gap: var(--space-xl);
  }

  .home-camp__media {
    min-height: 35rem;
  }
}

@media (max-width: 899px) {
  .home-main h2 {
    font-size: clamp(2.45rem, 8vw, 4.4rem);
  }

  .home-day,
  .home-migration__copy,
  .home-areas__intro,
  .home-camp__layout,
  .home-pathways__layout,
  .home-guides__layout {
    grid-template-columns: 1fr;
  }

  .home-day {
    min-height: 0;
  }

  .home-day__media {
    min-height: 0;
    aspect-ratio: 16 / 11;
  }

  .home-day__copy {
    max-width: 42rem;
    padding: var(--space-2xl) var(--gutter);
  }

  .home-wild__inner {
    grid-template-columns: 1fr;
    grid-template-areas: "kicker" "heading" "copy" "link";
    align-content: center;
    gap: var(--space-md);
  }

  .home-wild__inner > p:not(.home-kicker) {
    margin-top: var(--space-lg);
  }

  .home-migration__copy {
    gap: var(--space-xl);
  }

  .home-areas__intro .home-kicker,
  .home-areas__intro h2,
  .home-areas__intro > p:last-child {
    grid-column: 1;
    grid-row: auto;
  }

  .home-areas__intro > p:last-child {
    max-width: 35rem;
  }

  .home-area--triangle,
  .home-area--olare,
  .home-area--naboisho,
  .home-area--north {
    grid-column: span 6;
  }

  .home-camp__copy {
    max-width: 42rem;
  }

  .home-camp__media {
    min-height: 42rem;
  }

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

  .home-season:nth-child(2) {
    border-right: 0;
  }

  .home-season:nth-child(n + 3) {
    border-top: 1px solid rgba(31, 48, 38, 0.18);
  }

  .home-pathways__lead {
    min-height: 36rem;
  }

  .home-guides__head {
    position: static;
    margin-bottom: var(--space-xl);
  }
}

@media (max-width: 639px) {
  .home-cover,
  .home-cover__inner {
    min-height: clamp(37rem, 82svh, 48rem);
  }

  .home-cover__image {
    object-position: 58% center;
  }

  .home-cover__scrim {
    background: linear-gradient(180deg, rgba(8, 14, 10, 0.02) 28%, rgba(8, 14, 10, 0.8) 100%);
  }

  .home-cover__inner {
    padding-bottom: var(--space-2xl);
  }

  .home-cover h1 {
    max-width: 9ch;
    font-size: clamp(3.25rem, 16vw, 5.2rem);
  }

  .home-day__media {
    aspect-ratio: 4 / 3;
  }

  .home-day__media img {
    object-position: 53% center;
  }

  .home-day__copy {
    padding-block: var(--space-xl) var(--space-2xl);
  }

  .home-wild__media {
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .home-wild__media img {
    object-position: 50% center;
  }

  .home-wild__inner {
    padding-block: var(--space-xl) var(--space-2xl);
  }

  .home-wild h2 {
    max-width: 8ch;
  }

  .home-migration__media {
    height: auto;
    aspect-ratio: 16 / 10;
  }

  .home-migration__copy {
    padding-block: var(--space-xl) var(--space-2xl);
  }

  .home-areas,
  .home-camp,
  .home-seasons,
  .home-pathways,
  .home-guides {
    padding-block: var(--space-2xl);
  }

  .home-areas__stories {
    grid-template-columns: 1fr;
  }

  .home-areas__anchor {
    aspect-ratio: 4 / 5;
  }

  .home-area--triangle,
  .home-area--olare,
  .home-area--naboisho,
  .home-area--north {
    grid-column: 1;
  }

  .home-area {
    min-height: 19rem;
  }

  .home-areas__foot {
    text-align: left;
  }

  .home-camp__media {
    display: grid;
    gap: var(--space-lg);
    min-height: 0;
  }

  .home-camp__figure--tent,
  .home-camp__figure--lodge {
    position: static;
    inset: auto;
    width: 100%;
    height: auto;
    padding: 0;
    background: transparent;
  }

  .home-camp__figure img {
    aspect-ratio: 4 / 3;
  }

  .home-seasons__head {
    display: block;
  }

  .home-seasons__head > p {
    margin-top: var(--space-md);
  }

  .home-seasons__media {
    aspect-ratio: 4 / 5;
    margin-top: var(--space-xl);
  }

  .home-seasons__rhythm {
    grid-template-columns: 1fr;
  }

  .home-season,
  .home-season + .home-season {
    min-height: 0;
    padding: var(--space-lg) 0;
    border-right: 0;
    border-top: 1px solid rgba(31, 48, 38, 0.18);
  }

  .home-season:first-child {
    border-top: 0;
  }

  .home-season::before {
    margin-bottom: var(--space-md);
  }

  .home-pathways__lead {
    min-height: 32rem;
  }

  .home-pathways__lead-media img {
    object-position: center;
  }

  .home-pathways__index a,
  .home-guides__index a {
    grid-template-columns: 1fr;
    gap: var(--space-2xs);
  }

  .home-pathways__foot {
    display: block;
  }

  .home-duration {
    margin-top: var(--space-xl);
  }

  .home-duration > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--space-md);
  }

  .home-guides__index a {
    padding-block: var(--space-md);
  }

  .home-planning {
    min-height: 0;
  }

  .home-planning::before,
  .home-planning::after {
    display: none;
  }

  .home-planning__media {
    position: relative;
    inset: auto;
    aspect-ratio: 4 / 5;
  }

  .home-planning__image {
    position: static;
    width: 100%;
    height: 100%;
    object-position: center;
  }

  .home-planning__inner {
    min-height: 32rem;
    background: #122019;
  }

  .home-planning .btn {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .home-cover h1 {
    font-size: 3.1rem;
  }

  .home-area {
    min-height: 17rem;
    padding: var(--space-md);
  }

  .home-pathways__lead {
    min-height: 29rem;
  }

  .home-pathways__lead-copy h3 {
    font-size: 1.85rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-text-link span,
  .home-pathways__lead-media img {
    transition: none;
  }
}
