.journey-hero {
  background:
    radial-gradient(circle at 78% 12%, rgba(56, 96, 126, 0.34), transparent 31rem),
    linear-gradient(118deg, #061623 0%, #0a263a 58%, #102d41 100%);
  color: var(--paper);
  overflow: hidden;
  position: relative;
}

.journey-hero::after {
  background: linear-gradient(90deg, transparent, rgba(222, 176, 79, 0.28), transparent);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.journey-hero-grid {
  display: grid;
  gap: 2.5rem;
  padding-top: 3rem;
}

.journey-hero-copy {
  padding-bottom: 0.25rem;
  position: relative;
  z-index: 1;
}

.journey-hero h1 {
  max-width: 9ch;
}

.journey-hero-kicker {
  color: var(--gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.3rem, 5vw, 2.15rem);
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin: -0.5rem 0 1.25rem;
}

.journey-hero-media {
  aspect-ratio: 0.78;
  border: 1px solid rgba(244, 210, 125, 0.42);
  border-bottom: 0;
  border-radius: 1.35rem 1.35rem 0 0;
  margin: 0;
  min-height: 27rem;
  overflow: hidden;
  position: relative;
}

.journey-hero-media::after {
  background: linear-gradient(180deg, rgba(3, 12, 19, 0.05), rgba(3, 12, 19, 0.88));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.journey-hero-media img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.journey-hero-media figcaption {
  bottom: 0;
  color: var(--paper);
  display: grid;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  gap: 0.12rem;
  left: 0;
  line-height: 1.18;
  padding: 1.35rem 1.25rem;
  position: absolute;
  right: 0;
  z-index: 1;
}

.journey-intent {
  background: var(--paper);
}

.journey-intent-grid,
.journey-heading-split,
.journey-closing-grid {
  display: grid;
  gap: 2.2rem;
}

.journey-intent-copy {
  max-width: 44rem;
}

.journey-intent-copy p,
.journey-heading-split > p,
.first-thirty-heading > p,
.journey-closing-grid p {
  font-size: 1.02rem;
  line-height: 1.72;
}

.journey-intent-copy p + p {
  color: #52616c;
  margin-bottom: 0;
}

.objective-wrap {
  margin-top: clamp(3.5rem, 9vw, 6.5rem);
}

.objective-grid {
  border-top: 1px solid var(--line-dark);
  counter-reset: objective;
  display: grid;
  gap: 0;
  list-style: none;
  margin: 1.65rem 0 0;
  padding: 0;
}

.objective-grid li {
  align-items: start;
  border-bottom: 1px solid var(--line-dark);
  display: grid;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.22rem, 4.8vw, 1.68rem);
  gap: 0.9rem;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  line-height: 1.18;
  padding: 1.1rem 0 1.25rem;
}

.objective-grid li::before {
  color: #9d751f;
  content: "0" counter(objective);
  counter-increment: objective;
  font-family: Inter, Avenir, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.65rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  padding-top: 0.32rem;
}

.first-thirty {
  background:
    radial-gradient(circle at 92% 6%, rgba(63, 105, 135, 0.42), transparent 27rem),
    var(--ink-raised);
  color: var(--paper);
  overflow: hidden;
  padding-block: clamp(4.8rem, 12vw, 8.5rem);
  position: relative;
}

.first-thirty::after {
  border: 1px solid rgba(222, 176, 79, 0.18);
  border-radius: 50%;
  content: "";
  height: 28rem;
  position: absolute;
  right: -18rem;
  top: -17rem;
  width: 28rem;
}

.first-thirty .shell,
.annual-journey .shell,
.pathway .shell {
  position: relative;
  z-index: 1;
}

.first-thirty-heading {
  max-width: 60rem;
}

.first-thirty-heading h2,
.journey-heading-split h2,
.pathway h2,
.journey-closing h2 {
  max-width: 11ch;
}

.first-thirty-heading > p {
  color: var(--mist);
  margin: 0;
  max-width: 31rem;
}

.first-thirty-grid,
.rhythm-card-grid,
.campaign-grid,
.pathway-copy ol {
  list-style: none;
  margin: 2.75rem 0 0;
  padding: 0;
}

.first-thirty-grid {
  border-top: 1px solid var(--line-light);
  display: grid;
}

.first-thirty-grid li {
  border-bottom: 1px solid var(--line-light);
  padding: 1.5rem 0 1.7rem;
}

.first-thirty-grid span,
.rhythm-card-grid span,
.campaign-grid span {
  color: var(--gold-light);
  display: block;
  font-size: 0.64rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}

.first-thirty-grid h3,
.rhythm-card-grid h3,
.campaign-grid h3 {
  color: var(--paper);
  font-size: 1.75rem;
  line-height: 1.02;
}

.first-thirty-grid p {
  color: var(--mist);
  line-height: 1.6;
  margin-bottom: 0.55rem;
  max-width: 19rem;
}

.first-thirty-grid p:nth-of-type(1) {
  color: var(--gold-light);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.04em;
}

.first-thirty-grid p:last-child {
  margin-bottom: 0;
}

.weekly-rhythm {
  background: var(--paper-deep);
}

.journey-heading-split > p {
  color: #52616c;
  margin: 0;
  max-width: 32rem;
}

.rhythm-card-grid {
  border-top: 1px solid var(--line-dark);
  display: grid;
}

.rhythm-card-grid li {
  border-bottom: 1px solid var(--line-dark);
  padding: 1.45rem 0 1.55rem;
}

.rhythm-card-grid span {
  color: #9d751f;
}

.rhythm-card-grid h3 {
  color: var(--ink);
}

.rhythm-card-grid p {
  color: #52616c;
  line-height: 1.62;
  margin-bottom: 0;
  max-width: 19rem;
}

.scripture-carry {
  border-left: 3px solid var(--gold);
  color: #52616c;
  line-height: 1.64;
  margin: 2.1rem 0 0;
  max-width: 37rem;
  padding-left: 1rem;
}

.scripture-carry strong {
  color: var(--ink);
}
