.expedition-story {
  position: relative;
  isolation: isolate;
  background: var(--deep);
}

.hero {
  overflow: hidden;
  isolation: isolate;
  color: var(--white);
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: max(20px, calc((100vw - 1180px) / 2));
  min-height: 900px;
  padding-bottom: 235px;
  position: sticky;
  top: 0;
  z-index: 1;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(0, 28, 28, .96) 0%, rgba(0, 51, 51, .76) 43%, rgba(0, 51, 51, .08) 78%),
    url("assets/summit-hero.webp") center / cover no-repeat;
  transform: scale(1.035);
  animation: hero-breathe 18s ease-in-out infinite alternate;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, transparent 58%, rgba(0, 25, 25, .92) 100%);
}

.hero h1 {
  max-width: 960px;
  text-shadow: 0 3px 25px rgba(0, 20, 20, .18);
}

.hero h1 span,
.hero .eyebrow,
.hero .proof strong {
  color: var(--cyan);
}

.hero-copy {
  color: rgba(249, 251, 250, .88);
}

.hero .proof-avatars i {
  border-color: var(--deep);
}

.hero-mark {
  display: none;
}

.hero-profiles {
  position: relative;
  z-index: 2;
  min-height: 250px;
  margin-top: -190px;
  padding: 30px 0 26px;
  color: var(--white);
  background:
    linear-gradient(180deg, rgba(0, 34, 34, .18), rgba(0, 34, 34, .88)),
    url("assets/creator-basecamp.webp") center / cover no-repeat;
  border-radius: var(--r) var(--r) 0 0;
  box-shadow: 0 -22px 55px rgba(0, 31, 31, .22);
}

.hero-profiles .kicker {
  color: var(--cyan);
  text-align: left;
  margin: 0 0 18px;
}

.profile-marquee {
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.profile-marquee .marquee-track {
  gap: 14px;
}

.creator-chip {
  width: 255px;
  min-width: 255px;
  height: 82px;
  padding: 9px 16px 9px 9px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: var(--r);
  background: rgba(0, 51, 51, .54);
  backdrop-filter: blur(14px);
  transition: transform .3s cubic-bezier(.16, 1, .3, 1), background .3s;
}

.creator-chip:hover {
  transform: translateY(-4px);
  background: rgba(0, 128, 125, .72);
}

.creator-chip:active {
  transform: translateY(1px) scale(.98);
}

.creator-chip img {
  width: 62px;
  height: 62px;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
  background: var(--teal);
}

.creator-chip b,
.creator-chip small {
  display: block;
}

.creator-chip b {
  font-weight: 700;
}

.creator-chip small {
  max-width: 120px;
  margin-top: 3px;
  font-size: 10px;
  line-height: 1.25;
  color: rgba(255, 255, 255, .68);
}

.hero-profiles .placeholder-note {
  color: rgba(255, 255, 255, .6);
}

.problems {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  z-index: 3;
  margin-top: -24px;
  border-radius: 42px 42px 0 0;
  box-shadow: 0 -30px 70px rgba(0, 31, 31, .28);
  min-height: 1080px;
  color: var(--deep);
}

.problems::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(238, 238, 238, .68), rgba(238, 238, 238, .16) 43%, rgba(0, 51, 51, .38)),
    url("assets/paths-forward.webp") center / cover no-repeat;
  transform: scale(1.025);
  animation: landscape-drift 22s ease-in-out infinite alternate;
}

.problems::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(238, 238, 238, .88), transparent 68%);
}

.problems .section-heading {
  max-width: 900px;
}

.problems .section-heading h2 {
  max-width: 880px;
}

.problems .thought-grid {
  max-width: 920px;
  margin-top: 86px;
}

.problems .thought {
  min-height: 155px;
  border: 1px solid rgba(0, 51, 51, .18);
  background: rgba(249, 251, 250, .74);
  backdrop-filter: blur(13px);
  box-shadow: 0 16px 38px rgba(0, 51, 51, .1);
}

.problems .thought.dark {
  background: rgba(0, 51, 51, .9);
}

.problems .thought.accent {
  background: rgba(0, 204, 204, .88);
}

@keyframes hero-breathe {
  from { transform: scale(1.035) translate3d(0, 0, 0); }
  to { transform: scale(1.075) translate3d(-1.2%, -.6%, 0); }
}

@keyframes landscape-drift {
  from { transform: scale(1.025) translate3d(0, 0, 0); }
  to { transform: scale(1.065) translate3d(1%, -.5%, 0); }
}

@supports (animation-timeline: view()) {
  .hero > .eyebrow,
  .hero > h1,
  .hero > .hero-bottom {
    animation: hero-content-out linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 72%;
  }

  .hero::before {
    animation:
      hero-breathe 18s ease-in-out infinite alternate,
      hero-scene-out linear both;
    animation-timeline: auto, view();
    animation-range: normal, exit 0% exit 90%;
  }

  .hero-profiles {
    animation: basecamp-rise linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 45%;
  }

  .problems {
    animation: route-panel-rise linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 40%;
  }
}

@keyframes hero-content-out {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
  to {
    opacity: .08;
    transform: translate3d(0, -70px, 0) scale(.94);
    filter: blur(8px);
  }
}

@keyframes hero-scene-out {
  from {
    transform: scale(1.035) translate3d(0, 0, 0);
    filter: brightness(1);
  }
  to {
    transform: scale(1.18) translate3d(0, -2%, 0);
    filter: brightness(.62);
  }
}

@keyframes basecamp-rise {
  from {
    opacity: 0;
    transform: translate3d(0, 110px, 0) scale(.97);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes route-panel-rise {
  from {
    transform: translate3d(0, 140px, 0) scale(.965);
    border-radius: 90px 90px 0 0;
  }
  to {
    transform: translate3d(0, 0, 0) scale(1);
    border-radius: 42px 42px 0 0;
  }
}

/* Stitch the canoe scene directly beneath the shared foreground's center notch. */
.problems {
  margin-top: -294px;
}

@media (max-width: 760px) {
  .problems {
    margin-top: -220px;
  }
}

/* The bridge controls the physical handoff in normal flow. */
.landscape-bridge {
  margin-bottom: -350px;
}

@media (max-width: 760px) {
  .landscape-bridge {
    margin-bottom: -270px;
  }
}

/* Henry / guide chapter */
.guide-about { position: relative; overflow: hidden; color: var(--white); background: linear-gradient(90deg,rgba(0,35,37,.82),rgba(0,48,46,.68)),url("assets/henry-forest-floor.png?v=79") center center/cover no-repeat; }
.guide-about::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 18% 42%,rgba(0,204,204,.12),transparent 32%),linear-gradient(180deg,rgba(0,31,34,.14),rgba(0,31,34,.5)); }
.guide-about .about-grid { position:relative; z-index:1; grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr); gap:clamp(56px,8vw,110px); }
.henry-portrait-card { min-height:640px; position:relative; overflow:visible; border:1px solid rgba(255,255,255,.28); background:#032f32; }
.henry-portrait-card::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 54%,rgba(0,27,30,.72) 100%); }
.henry-portrait-card>img { width:100%; height:100%; min-height:640px; display:block; object-fit:cover; filter:saturate(.78) contrast(1.04); }
.portrait-label { position:absolute; z-index:1; left:20px; bottom:18px; font-size:9px; font-weight:700; letter-spacing:.16em; color:rgba(255,255,255,.65); }
.impact-sticker { position:absolute; z-index:2; right:-40px; top:auto; bottom:72px; width:194px; min-height:220px; padding:22px 20px; display:flex; flex-direction:column; justify-content:center; transform:rotate(4deg); background:#ffc14a; color:#073f3b; border-radius:48% 52% 46% 54%/44% 50% 50% 56%; box-shadow:0 22px 50px rgba(0,23,26,.32); text-align:center; }
.impact-sticker span { font-size:9px; font-weight:800; line-height:1.25; letter-spacing:.12em; }
.impact-sticker strong { font-size:48px; line-height:.92; letter-spacing:-.07em; }
.impact-sticker i { width:38px; height:1px; margin:13px auto; background:currentColor; opacity:.48; }
.guide-about .about-copy .kicker { color:var(--cyan); }
.guide-about .about-copy h2 { max-width:650px; font-size:clamp(48px,5.2vw,76px); }
.guide-about .about-copy h2 span { color:#ffc14a; }
.guide-about .about-copy>p:not(.kicker):not(.about-placeholder) { max-width:610px; color:rgba(255,255,255,.78); font-size:18px; }
.henry-links { display:flex; flex-wrap:wrap; gap:8px; margin:34px 0 28px; }
.henry-links a { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-width:132px; padding:10px 12px; border:1px solid rgba(255,255,255,.3); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; transition:color .2s,background .2s; }
.henry-links a:hover { color:var(--deep); background:var(--cyan); }
.guide-about .text-link { color:white; }
.about-placeholder { margin-top:18px; font-size:9px!important; color:rgba(255,255,255,.38)!important; }

@media (max-width:900px) {
  .guide-about .about-grid { grid-template-columns:1fr; }
  .henry-portrait-card { width:min(84%,520px); min-height:560px; }
  .henry-portrait-card>img { min-height:560px; }
  .impact-sticker { right:-28px; bottom:58px; }
}
@media (max-width:600px) {
  .guide-about .about-grid { gap:72px; }
  .henry-portrait-card { width:calc(100% - 24px); min-height:460px; }
  .henry-portrait-card>img { min-height:460px; }
  .impact-sticker { width:148px; min-height:172px; right:-10px; top:auto; bottom:34px; padding:18px 14px; }
  .impact-sticker strong { font-size:38px; }
  .henry-links { display:grid; grid-template-columns:1fr; }
}

/* Interactive creator stories */
.testimonial-showcase {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--white);
  background:
    linear-gradient(90deg, rgba(0, 28, 34, .96) 0%, rgba(0, 48, 48, .88) 58%, rgba(0, 38, 42, .72) 100%),
    url("assets/how-it-works-pool.png") center 68% / cover no-repeat;
}

.testimonial-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(360px, 2fr);
  gap: clamp(46px, 6vw, 90px);
  align-items: stretch;
}

.featured-story {
  min-height: 590px;
  display: flex;
  flex-direction: column;
  padding: 10px 0 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.story-portrait-backdrop {
  position: absolute;
  z-index: 0;
  width: min(72%, 560px);
  height: 112%;
  right: 0;
  bottom: -9%;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  opacity: .18;
  filter: grayscale(1) contrast(1.08);
  -webkit-mask-image: radial-gradient(ellipse 72% 70% at 60% 50%, #000 0%, #000 48%, rgba(0,0,0,.72) 63%, transparent 100%);
  mask-image: radial-gradient(ellipse 72% 70% at 60% 50%, #000 0%, #000 48%, rgba(0,0,0,.72) 63%, transparent 100%);
  transition: opacity .35s ease;
}
.featured-story > :not(.story-portrait-backdrop) { position: relative; z-index: 1; }

.featured-story .kicker { color: var(--cyan); }
.story-rule { width: 64px; height: 1px; margin: 32px 0 54px; background: rgba(255,255,255,.42); }

.featured-story blockquote {
  max-width: 720px;
  margin: 0;
  font-size: clamp(32px, 3.25vw, 51px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.045em;
  text-wrap: balance;
  color: #fff;
  text-shadow: 0 2px 16px rgba(0,22,25,.9), 0 1px 2px rgba(0,22,25,.95);
}

.story-person { display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 46px; }
.story-person img { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; border: 1px solid rgba(255,255,255,.5); }
.story-person strong, .story-person span { display: block; }
.story-person strong { font-size: 16px; }
.story-person span { margin-top: 2px; font-size: 12px; color: rgba(255,255,255,.62); }
.story-socials { display: flex; gap: 8px; margin: 22px 0 0 72px; }
.story-socials a { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; font-size: 10px; font-weight: 700; transition: background .2s, color .2s; }
.story-socials a:hover { background: var(--cyan); color: var(--deep); }
.story-socials svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.story-socials svg path, .story-socials .social-dot { fill: currentColor; stroke: none; }
.story-placeholder { margin: 18px 0 0 72px; font-size: 9px; color: rgba(255,255,255,.35); }

.creator-posters { align-self: center; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; height: 320px; min-height: 0; }
.creator-poster { position: relative; min-width: 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.28); border-radius: 0; background: #052f32; color: white; font: inherit; text-align: left; cursor: pointer; transition: border-color .25s, transform .25s; }
.creator-poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,25,29,.04) 28%, rgba(0,25,29,.92) 100%); }
.creator-poster img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.72) contrast(1.02); transition: transform .45s, filter .3s; }
.creator-poster:hover img, .creator-poster.is-active img { transform: scale(1.035); filter: saturate(1) contrast(1.04); }
.creator-poster.is-active { border-color: var(--cyan); }
.creator-poster:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.poster-copy { position: absolute; z-index: 1; left: 14px; right: 10px; bottom: 16px; }
.poster-copy small, .poster-copy strong, .poster-copy em { display: block; }
.poster-copy small { margin-bottom: 10px; color: var(--cyan); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.poster-copy strong { font-size: clamp(17px, 1.45vw, 23px); line-height: 1; letter-spacing: -.035em; }
.poster-copy em { margin-top: 7px; color: rgba(255,255,255,.58); font-size: 10px; font-style: normal; }
.poster-progress { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.22); }
.poster-progress i { display: block; width: 0; height: 100%; background: #fff; }
.creator-poster.is-active .poster-progress i { animation: creator-progress 5s linear forwards; }
@keyframes creator-progress { to { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
  .creator-poster.is-active .poster-progress i { width: 100%; animation: none; }
}

@media (max-width: 900px) {
  .testimonial-showcase { padding-block: 96px; }
  .testimonial-layout { grid-template-columns: 1fr; gap: 52px; }
  .featured-story { min-height: 520px; }
  .creator-posters { height: 310px; min-height: 0; }
}

@media (max-width: 600px) {
  .testimonial-showcase { padding-block: 84px; background-position: center bottom; }
  .featured-story { min-height: 500px; }
  .featured-story blockquote { font-size: clamp(29px, 8.5vw, 38px); }
  .story-rule { margin: 24px 0 38px; }
  .creator-posters { display: flex; height: 320px; min-height: 0; overflow-x: auto; gap: 10px; padding-bottom: 8px; scroll-snap-type: x mandatory; }
  .creator-poster { flex: 0 0 72%; scroll-snap-align: start; }
  .story-portrait-backdrop { width: 88%; height: 95%; right: -12%; opacity: .14; }
}

@media (max-width: 760px) {
  .hero {
    min-height: 980px;
    padding-inline: 14px;
    padding-bottom: 235px;
  }

  .hero::before {
    background:
      linear-gradient(180deg, rgba(0, 35, 35, .92) 0%, rgba(0, 51, 51, .68) 48%, rgba(0, 30, 30, .92) 100%),
      url("assets/summit-hero.webp") 64% center / cover no-repeat;
  }

  .hero h1 {
    font-size: clamp(45px, 12.2vw, 58px);
  }

  .hero-profiles {
    min-height: 235px;
    margin-top: -195px;
    padding-top: 25px;
    border-radius: 0;
  }

  .profile-marquee {
    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  }

  .creator-chip {
    width: 230px;
    min-width: 230px;
  }

  .problems {
    min-height: 1280px;
    padding-top: 90px;
    margin-top: -12px;
    border-radius: 28px 28px 0 0;
  }

  .problems::before {
    background:
      linear-gradient(180deg, rgba(238, 238, 238, .82), rgba(238, 238, 238, .18) 50%, rgba(0, 51, 51, .45)),
      url("assets/paths-forward.webp") 64% center / cover no-repeat;
  }

  .problems::after {
    background: linear-gradient(180deg, rgba(238, 238, 238, .72), transparent 64%);
  }

  .problems .thought-grid {
    margin-top: 58px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero::before,
  .problems::before {
    animation: none;
  }

  .hero > .eyebrow,
  .hero > h1,
  .hero > .hero-bottom,
  .hero-profiles,
  .problems {
    animation: none;
    filter: none;
    transform: none;
  }
}

/* Layered guide hero: background, middle ground, and foreground move independently. */
.hero {
  position: relative;
  top: auto;
  min-height: 900px;
  background: var(--deep);
}

.hero::before {
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(90deg, rgba(0, 35, 35, .96) 0%, rgba(0, 51, 51, .78) 35%, rgba(0, 51, 51, .08) 66%),
    linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 35, 35, .18));
  transform: none;
  animation: none;
}

.hero::after {
  z-index: 3;
  background: linear-gradient(180deg, transparent 57%, rgba(0, 32, 32, .7) 86%, rgba(0, 26, 26, .95) 100%);
}

.hero-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
}

.hero-layer-background {
  z-index: 0;
  background: url("assets/hero-background.webp") center / cover no-repeat;
  transform: scale(1.03);
  animation: hero-background-float 22s ease-in-out infinite alternate;
}

.hero-layer-midground {
  z-index: 1;
  object-fit: cover;
  object-position: center bottom;
  transform: scale(1.045) translate3d(0, 2%, 0);
  transform-origin: center bottom;
  animation: hero-midground-float 16s ease-in-out infinite alternate;
}

.hero-layer-guide {
  z-index: 2;
  inset: auto -14% 0 auto;
  width: min(100%, 1250px);
  height: auto;
  object-fit: contain;
  object-position: right bottom;
  transform: scale(1.03) translate3d(1.5%, 1%, 0);
  transform-origin: center bottom;
  animation: hero-guide-float 11s ease-in-out infinite alternate;
}

.hero > .eyebrow,
.hero > h1,
.hero > .hero-bottom {
  position: relative;
  z-index: 4;
  animation: none;
  filter: none;
}

.hero h1 {
  max-width: 820px;
  font-size: clamp(54px, 6.6vw, 92px);
}

.hero-bottom {
  grid-template-columns: .9fr 1.1fr;
}

.hero-action {
  align-self: end;
}

@keyframes hero-background-float {
  from { transform: scale(1.03) translate3d(0, 0, 0); }
  to { transform: scale(1.07) translate3d(-.7%, -.4%, 0); }
}

@keyframes hero-midground-float {
  from { transform: scale(1.045) translate3d(0, 2%, 0); }
  to { transform: scale(1.075) translate3d(-1%, 1.2%, 0); }
}

@keyframes hero-guide-float {
  from { transform: scale(1.03) translate3d(1.5%, 1%, 0); }
  to { transform: scale(1.045) translate3d(1.9%, .25%, 0); }
}

@media (max-width: 760px) {
  .hero {
    min-height: 980px;
  }

  .hero::before {
    background:
      linear-gradient(180deg, rgba(0, 42, 42, .9) 0%, rgba(0, 51, 51, .48) 45%, rgba(0, 40, 40, .22) 64%, rgba(0, 29, 29, .84) 100%),
      linear-gradient(90deg, rgba(0, 38, 38, .72), transparent 90%);
  }

  .hero-layer-background {
    background-position: 62% center;
  }

  .hero-layer-midground {
    width: 175%;
    max-width: none;
    left: -48%;
    object-position: 60% bottom;
  }

  .hero-layer-guide {
    inset: auto -28% 0 auto;
    width: 185%;
    height: auto;
    max-width: none;
    object-position: right bottom;
    opacity: .94;
  }

  .hero h1 {
    max-width: 355px;
    font-size: clamp(44px, 11.7vw, 55px);
  }

  .hero-copy {
    max-width: 330px;
  }

  .hero-bottom {
    grid-template-columns: 1fr;
  }

  .hero-action {
    justify-self: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-layer-background,
  .hero-layer-midground,
  .hero-layer-guide {
    animation: none;
  }
}

/* Illustrated journey: mountain overlook to river passage */
.expedition-story {
  background: #061f2b;
}

.hero {
  min-height: max(900px, 100svh);
  padding-bottom: 260px;
  background: #082839;
}

.hero::before {
  background:
    linear-gradient(90deg, rgba(4, 25, 39, .84) 0%, rgba(4, 28, 40, .56) 37%, transparent 68%),
    linear-gradient(180deg, rgba(0, 16, 30, .08) 52%, rgba(3, 25, 35, .92) 100%),
    url("assets/mountain-journey.png") center / cover no-repeat;
  transform: scale(1.035);
  animation: mountain-breathe 20s ease-in-out infinite alternate;
}

.hero::after {
  background:
    linear-gradient(180deg, transparent 48%, rgba(3, 25, 35, .18) 68%, rgba(3, 25, 35, .96) 100%),
    radial-gradient(circle at 73% 27%, rgba(255, 184, 75, .13), transparent 22%);
}

.hero-layer {
  display: none;
}

.hero h1 {
  max-width: 780px;
  font-size: clamp(56px, 6.3vw, 92px);
}

.hero h1 span,
.hero .eyebrow,
.hero .proof strong {
  color: #f6c154;
}

.hero-profiles {
  z-index: 4;
  min-height: 176px;
  margin-top: -190px;
  padding: 18px 0 20px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.hero-profiles .kicker {
  margin-bottom: 12px;
  color: rgba(255, 255, 255, .8);
  letter-spacing: .16em;
}

.profile-marquee {
  padding-block: 2px 8px;
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}

.profile-marquee .marquee-track {
  gap: 9px;
}

.creator-chip {
  width: 166px;
  min-width: 166px;
  height: 62px;
  padding: 5px 9px 5px 5px;
  gap: 9px;
  border-radius: 999px;
  border-color: rgba(255, 255, 255, .28);
  background: rgba(5, 30, 43, .24);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 22px rgba(0, 15, 29, .12);
}

.creator-chip:hover {
  background: rgba(7, 50, 60, .62);
}

.creator-chip img {
  width: 50px;
  height: 50px;
  border: 2px solid rgba(255, 255, 255, .66);
}

.creator-chip span {
  min-width: 0;
}

.creator-chip b {
  overflow: hidden;
  font-size: 12px;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.creator-chip small {
  margin-top: 4px;
  font-size: 9px;
  letter-spacing: .035em;
  color: rgba(255, 255, 255, .7);
}

.hero-profiles .placeholder-note {
  margin-top: 4px;
  font-size: 10px;
  color: rgba(255, 255, 255, .48);
}

.problems {
  z-index: 5;
  min-height: 1120px;
  margin-top: -2px;
  padding-top: 150px;
  color: #f8f2e6;
  border-radius: 48px 48px 0 0;
  box-shadow: 0 -30px 80px rgba(1, 18, 27, .4);
}

.problems::before {
  inset: -7% 0;
  background:
    linear-gradient(90deg, rgba(2, 24, 34, .91) 0%, rgba(3, 31, 42, .69) 35%, rgba(3, 31, 42, .08) 70%),
    linear-gradient(180deg, rgba(4, 31, 41, .26), transparent 45%, rgba(3, 27, 37, .8) 100%),
    url("assets/canoe-river.png") center / cover no-repeat;
  transform: scale(1.08) translate3d(0, 5%, 0);
  animation: river-drift 20s ease-in-out infinite alternate;
}

.problems::after {
  background:
    linear-gradient(180deg, rgba(2, 25, 35, .28), transparent 45%, rgba(2, 24, 34, .76)),
    radial-gradient(circle at 25% 15%, rgba(246, 193, 84, .14), transparent 32%);
}

.problems .section-heading {
  max-width: 720px;
}

.problems .section-heading .kicker {
  color: #67e0db;
}

.problems .section-heading h2,
.problems .section-heading p {
  color: #fffaf0;
  text-shadow: 0 3px 28px rgba(0, 14, 24, .35);
}

.problems .section-heading h2 span {
  color: #f6c154;
}

.problems .thought-grid {
  max-width: 850px;
  margin-top: 74px;
}

.problems .thought {
  min-height: 132px;
  color: #f8f2e6;
  border-color: rgba(255, 255, 255, .2);
  background: rgba(5, 37, 48, .56);
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 36px rgba(0, 15, 24, .2);
}

.problems .thought.dark {
  background: rgba(4, 28, 41, .82);
}

.problems .thought.accent {
  color: #032c35;
  background: rgba(93, 220, 211, .88);
}

@keyframes mountain-breathe {
  from { transform: scale(1.035) translate3d(0, 0, 0); }
  to { transform: scale(1.075) translate3d(-.8%, -.5%, 0); }
}

@keyframes river-drift {
  from { transform: scale(1.08) translate3d(0, 5%, 0); }
  to { transform: scale(1.12) translate3d(.7%, 3.5%, 0); }
}

@supports (animation-timeline: view()) {
  .hero::before {
    animation: mountain-parallax linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 100%;
  }

  .hero-profiles {
    animation: profiles-drift linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 100%;
  }

  .problems::before {
    animation: river-arrival linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 70%;
  }
}

@keyframes mountain-parallax {
  from { transform: scale(1.035) translate3d(0, 0, 0); filter: saturate(1); }
  to { transform: scale(1.14) translate3d(0, -5%, 0); filter: saturate(.82) brightness(.72); }
}

@keyframes profiles-drift {
  from { transform: translate3d(0, 0, 0); opacity: 1; }
  to { transform: translate3d(0, -80px, 0); opacity: .15; }
}

@keyframes river-arrival {
  from { transform: scale(1.2) translate3d(0, 11%, 0); }
  to { transform: scale(1.08) translate3d(0, 5%, 0); }
}

@media (max-width: 760px) {
  .hero {
    min-height: 920px;
    padding-bottom: 240px;
  }

  .hero::before {
    background:
      linear-gradient(180deg, rgba(3, 25, 38, .74) 0%, rgba(3, 25, 38, .25) 48%, rgba(3, 25, 38, .94) 100%),
      url("assets/mountain-journey.png") 63% center / cover no-repeat;
  }

  .hero h1 {
    max-width: 390px;
    font-size: clamp(43px, 11.5vw, 56px);
  }

  .hero-profiles {
    min-height: 168px;
    margin-top: -174px;
  }

  .creator-chip {
    width: 152px;
    min-width: 152px;
  }

  .problems {
    min-height: 1240px;
    padding-top: 110px;
    border-radius: 32px 32px 0 0;
  }

  .problems::before {
    background-position: 58% center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero::before,
  .hero-profiles,
  .problems::before {
    animation: none !important;
  }
}

/* Continuous landscape pair */
.hero::before {
  background:
    linear-gradient(90deg, rgba(3, 28, 39, .9) 0%, rgba(4, 37, 45, .52) 38%, transparent 66%),
    linear-gradient(180deg, rgba(0, 18, 30, .02) 55%, rgba(3, 48, 43, .34) 82%, rgba(4, 58, 47, .72) 100%),
    url("assets/mountain-river-connected.png") center / cover no-repeat;
}

.hero::after {
  background: linear-gradient(180deg, transparent 58%, rgba(4, 55, 46, .08) 76%, rgba(5, 61, 49, .62) 100%);
}

.landscape-bridge {
  position: relative;
  z-index: 6;
  height: 48px;
  margin-top: -14px;
  margin-bottom: -38px;
  background: #073f37;
  clip-path: polygon(0 24%, 8% 18%, 17% 27%, 28% 14%, 39% 24%, 50% 10%, 61% 22%, 73% 13%, 84% 25%, 92% 17%, 100% 23%, 100% 100%, 0 100%);
  transform: translateZ(0);
}

.problems {
  min-height: 1050px;
  margin-top: 0;
  padding-top: 118px;
  border-radius: 0;
  background: #073f37;
  box-shadow: none;
}

.problems::before {
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3, 52, 46, .86) 0%, rgba(3, 49, 44, .47) 38%, rgba(3, 49, 44, .04) 72%),
    linear-gradient(180deg, #073f37 0%, rgba(7, 63, 55, .9) 7%, transparent 26%, rgba(2, 35, 38, .38) 100%),
    url("assets/canoe-river-connected.png") center top / cover no-repeat;
  transform: scale(1.04) translate3d(0, 0, 0);
}

.problems::after {
  background: linear-gradient(180deg, rgba(7, 63, 55, .28), transparent 30%, rgba(2, 33, 37, .42));
}

.problems .thought-grid {
  max-width: 820px;
  margin-top: 68px;
}

.problems .thought {
  min-height: 124px;
}

@supports (animation-timeline: view()) {
  .landscape-bridge {
    animation: bridge-rise linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 42%;
  }

  .problems::before {
    animation: connected-river-arrival linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 72%;
  }
}

@keyframes bridge-rise {
  from { transform: translate3d(0, 105px, 0) scaleY(.82); }
  to { transform: translate3d(0, -26px, 0) scaleY(1.04); }
}

@keyframes connected-river-arrival {
  from { transform: scale(1.11) translate3d(0, 8%, 0); }
  to { transform: scale(1.04) translate3d(0, 0, 0); }
}

@media (max-width: 760px) {
  .hero::before {
    background:
      linear-gradient(180deg, rgba(3, 28, 39, .72) 0%, rgba(3, 28, 39, .2) 48%, rgba(5, 61, 49, .72) 100%),
      url("assets/mountain-river-connected.png") 64% center / cover no-repeat;
  }

  .landscape-bridge {
    height: 44px;
    margin-top: -12px;
    margin-bottom: -34px;
  }

  .problems {
    min-height: 1100px;
    padding-top: 110px;
  }

  .problems::before {
    background-position: 61% top;
  }
}

@media (prefers-reduced-motion: reduce) {
  .landscape-bridge {
    animation: none !important;
  }
}

/* True multi-plane parallax composition */
.hero {
  background: #063746;
}

.hero::before {
  content: none;
}

.hero::after {
  z-index: 3;
  background:
    linear-gradient(90deg, rgba(3, 28, 39, .86) 0%, rgba(3, 34, 42, .48) 39%, transparent 67%),
    linear-gradient(180deg, transparent 58%, rgba(5, 61, 49, .1) 78%, rgba(5, 61, 49, .58) 100%);
}

.hero-depth,
.river-depth {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
}

.hero-depth {
  object-fit: cover;
  object-position: center;
}

.hero-depth-background {
  z-index: 0;
  transform: scale(1.055) translate3d(0, -12%, 0);
}

.hero-depth-midground {
  z-index: 1;
  transform: scale(1.02) translate3d(0, 10%, 0);
  transform-origin: center bottom;
}

.hero-profiles {
  z-index: 8;
}

.landscape-bridge {
  z-index: 7;
  overflow: visible;
  clip-path: none;
  background: #073f37;
}

.landscape-bridge > img {
  position: absolute;
  right: 0;
  bottom: 190px;
  left: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  transform-origin: center bottom;
}

.problems {
  isolation: isolate;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 84%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 84%, transparent 100%);
  background: #073f37;
}

.problems::before {
  content: none;
}

.problems::after {
  z-index: 3;
  background:
    linear-gradient(90deg, rgba(3, 52, 46, .84) 0%, rgba(3, 49, 44, .45) 37%, transparent 70%),
    linear-gradient(180deg, rgba(7, 63, 55, .32), transparent 34%, rgba(2, 33, 37, .32));
}

.problems > .container {
  position: relative;
  z-index: 4;
}

.river-depth {
  object-fit: cover;
  object-position: center top;
}

.river-depth-background {
  z-index: 0;
  transform: scale(1.035);
}

.river-depth-midground {
  z-index: 1;
  transform: scale(1.05) translate3d(0, -20%, 0);
  transform-origin: center bottom;
}

.river-depth-foreground {
  z-index: 2;
  transform: scale(1.055) translate3d(0, 6%, 0);
  transform-origin: center bottom;
}

@supports (animation-timeline: view()) {
  .hero-depth-background {
    animation: hero-far-plane linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 100%;
  }

  .hero-depth-midground {
    animation: hero-middle-plane linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 100%;
  }

  .landscape-bridge > img {
    animation: shared-foreground-plane linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 72%;
  }

  .river-depth-background {
    animation: river-far-plane linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 75%;
  }

  .river-depth-midground {
    animation: river-middle-plane linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 78%;
  }

  .river-depth-foreground {
    animation: river-near-plane linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 82%;
  }
}

@supports (animation-timeline: scroll()) {
  .hero > .eyebrow,
  .hero > h1,
  .hero > .hero-bottom {
    animation: hero-copy-clear linear both;
    animation-timeline: scroll(root);
    animation-range: 0 480px;
  }
}

/* Reveal the mountain by lowering the near depth planes 50%. */
.hero-depth-midground {
  transform: translate3d(0, 62%, 0) scale(1.005);
}

.landscape-bridge > img {
  transform: translate3d(0, 50%, 0) scale(1.01);
}

@keyframes hero-middle-plane-proportional {
  from { transform: translate3d(0, 62%, 0) scale(1.005); }
  to { transform: translate3d(0, 46%, 0) scale(1.055); }
}

@keyframes shared-terrain-rise {
  from { transform: translate3d(0, 60%, 0) scale(1.01); }
  to { transform: translate3d(0, -40%, 0) scale(1.07); }
}

.problems {
  min-height: 1500px;
  padding-top: 580px;
}

@media (max-width: 760px) {
  .problems {
    min-height: 1500px;
    padding-top: 500px;
  }
}

/* Authoritative alignment pass — keep these declarations last in the cascade. */
.hero h1 {
  max-width: none;
}

.hero h1 .hero-line {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

.hero h1 .hero-line-one { color: var(--white); }
.hero h1 .hero-line-two { color: #f6c154; }

.hero-depth-background {
  transform: translate3d(-2%, -13%, 0) scaleX(1.03) scaleY(1.3);
  transform-origin: center bottom;
}

.hero-depth-midground {
  transform: translate3d(-8%, 37%, 0) scale(1.005);
  transform-origin: center bottom;
}

.river-depth-midground {
  transform: translate3d(-8%, -8%, 0) scale(1.05);
  transform-origin: center bottom;
}

@keyframes hero-far-plane-proportional {
  from { transform: translate3d(-2%, -13%, 0) scaleX(1.03) scaleY(1.3); }
  to { transform: translate3d(-2.5%, -16%, 0) scaleX(1.06) scaleY(1.34); }
}

@keyframes hero-middle-plane-proportional {
  from { transform: translate3d(-8%, 37%, 0) scale(1.005); }
  to { transform: translate3d(-8%, 21%, 0) scale(1.055); }
}

@media (max-width: 760px) {
  .hero h1 {
    max-width: calc(100vw - 40px);
    font-size: clamp(39px, 11.2vw, 54px);
  }

  .river-depth-midground {
    transform: translate3d(-5%, -8%, 0) scale(1.05);
  }
}

@keyframes route-panel-rise {
  from {
    transform: translate3d(0, 140px, 0) scale(1);
    border-radius: 0;
  }
  to {
    transform: translate3d(0, 0, 0) scale(1);
    border-radius: 0;
  }
}

/* Final hero composition: fixed two-line title and one shared river axis. */
.hero h1 {
  max-width: none;
}

.hero h1 .hero-line {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

.hero h1 .hero-line-one {
  color: var(--white);
}

.hero h1 .hero-line-two {
  color: #f6c154;
}

/* Raise the distant peak to the supplied redline without moving the near planes. */
.hero-depth-background {
  transform: translate3d(-2%, -13%, 0) scaleX(1.03) scaleY(1.3);
  transform-origin: center bottom;
}

/* The first river reveal begins at the lower fifth and points into the center notch. */
.hero-depth-midground {
  transform: translate3d(-8%, 50%, 0) scale(1.005);
  transform-origin: center bottom;
}

/* Continue that same centerline underneath the shared rocks and into the canoe scene. */
.river-depth-midground {
  transform: translate3d(-8%, -8%, 0) scale(1.05);
  transform-origin: center bottom;
}

@keyframes hero-far-plane-proportional {
  from { transform: translate3d(-2%, -13%, 0) scaleX(1.03) scaleY(1.3); }
  to { transform: translate3d(-2.5%, -16%, 0) scaleX(1.06) scaleY(1.34); }
}

@keyframes hero-middle-plane-proportional {
  from { transform: translate3d(-8%, 50%, 0) scale(1.005); }
  to { transform: translate3d(-8%, 34%, 0) scale(1.055); }
}

@media (max-width: 760px) {
  .hero h1 {
    max-width: calc(100vw - 40px);
    font-size: clamp(39px, 11.2vw, 54px);
  }

  .hero-depth-midground {
    transform: translate3d(-5%, 50%, 0) scale(1.005);
  }

  .river-depth-midground {
    transform: translate3d(-5%, -8%, 0) scale(1.05);
  }
}

@keyframes hero-copy-clear {
  from { opacity: 1; transform: translate3d(0, 0, 0); }
  to { opacity: 0; transform: translate3d(0, -70px, 0); }
}

@keyframes hero-far-plane {
  from { transform: scale(1.055) translate3d(0, -12%, 0); }
  to { transform: scale(1.09) translate3d(0, -15%, 0); }
}

@keyframes hero-middle-plane {
  from { transform: scale(1.02) translate3d(0, 10%, 0); }
  to { transform: scale(1.075) translate3d(0, -5%, 0); }
}

@keyframes shared-foreground-plane {
  from { transform: scale(1.015) translate3d(0, 9%, 0); }
  to { transform: scale(1.075) translate3d(0, -15%, 0); }
}

@keyframes river-far-plane {
  from { transform: scale(1.08) translate3d(0, 4%, 0); }
  to { transform: scale(1.035) translate3d(0, 0, 0); }
}

@keyframes river-middle-plane {
  from { transform: scale(1.12) translate3d(0, -10%, 0); }
  to { transform: scale(1.05) translate3d(0, -20%, 0); }
}

@keyframes river-near-plane {
  from { transform: scale(1.16) translate3d(0, 22%, 0); }
  to { transform: scale(1.055) translate3d(0, 6%, 0); }
}

@media (max-width: 760px) {
  .hero-depth {
    width: 170%;
    max-width: none;
    left: -62%;
    object-position: 64% center;
  }

  .landscape-bridge > img {
    width: 175%;
    max-width: none;
    left: -55%;
  }

  .river-depth {
    width: 170%;
    max-width: none;
    left: -62%;
    object-position: 62% top;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-depth,
  .landscape-bridge > img,
  .river-depth {
    animation: none !important;
  }
}

/* Quiet interface, unified illustration palette */
.nav-wrap {
  top: 0;
  padding-top: 14px;
  background: transparent;
}

.nav {
  height: 68px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
}

.nav-links {
  gap: 30px;
  margin-right: 28px;
  font-size: 13px;
  letter-spacing: .025em;
}

.nav-links a {
  padding: 8px 0 6px;
  border-bottom: 1px solid transparent;
}

.nav-links a:hover {
  color: var(--white);
  border-color: rgba(255, 255, 255, .7);
}

.nav .button-dark {
  color: #073f37;
  background: #fff;
}

.button {
  border-radius: 0;
  box-shadow: none;
  transition: transform .2s ease, opacity .2s ease;
}

.button:hover {
  box-shadow: none;
  opacity: .9;
}

.hero-bottom {
  align-items: start;
}

.hero-action {
  align-self: start;
  margin-top: 0;
}

.hero-depth,
.river-depth,
.landscape-bridge > img {
  filter: saturate(.88) contrast(1.06);
}

.hero-depth-background {
  transform: translate3d(0, -3%, 0) scaleX(1.055) scaleY(1.3);
  transform-origin: center bottom;
}

.landscape-bridge {
  background:
    linear-gradient(rgba(7, 63, 55, .04), rgba(7, 63, 55, .04)),
    url("assets/river-layer-background.png") center top / cover no-repeat;
}

.problems {
  margin-top: -1px;
}

.thought,
.testimonial,
.mini-quote,
.portrait,
.package,
.popular {
  border-radius: 4px;
}

.outcome-icon {
  border-radius: 0;
}

@supports (animation-timeline: view()) {
  .hero-depth-background {
    animation-name: hero-far-plane-tall;
  }
}

@keyframes hero-far-plane-tall {
  from { transform: translate3d(0, -3%, 0) scaleX(1.055) scaleY(1.3); }
  to { transform: translate3d(0, -6%, 0) scaleX(1.09) scaleY(1.34); }
}

@media (max-width: 760px) {
  .nav-wrap {
    top: 0;
    padding-top: 8px;
  }

  .nav {
    padding: 0;
  }

  .hero-bottom {
    gap: 20px;
  }

  .hero-action {
    justify-self: start;
    margin-top: 0;
  }
}

/* Unified hero rail and extended terrain handoff */
.button {
  border-radius: 10px;
}

.hero {
  min-height: max(900px, 100svh);
  padding-bottom: 210px;
  position: sticky;
  top: 0;
  z-index: auto;
  isolation: auto;
}

.hero-depth {
  object-position: center bottom;
}

.hero-depth-background {
  transform: translate3d(-2%, -2%, 0) scaleX(1.03) scaleY(1.3);
}

.hero-depth-midground {
  transform: translate3d(0, 12%, 0) scale(1.005);
}

.hero-profiles {
  position: absolute;
  right: 0;
  top: calc(max(900px, 100svh) - 172px);
  bottom: auto;
  left: 0;
  z-index: 8;
  width: 100%;
  min-height: 154px;
  margin: 0;
  padding: 14px 0 12px;
  background: transparent;
  box-shadow: none;
  animation: none !important;
}

.hero-profiles .kicker {
  margin-bottom: 10px;
}

.hero-profiles .placeholder-note {
  margin-top: 2px;
}

.landscape-bridge {
  height: 260px;
  margin-top: -130px;
  margin-bottom: -200px;
  background: transparent;
  isolation: isolate;
}

.landscape-bridge::before {
  content: none;
}

.landscape-bridge > img {
  bottom: 0;
  z-index: 1;
}

.problems {
  min-height: 1160px;
  padding-top: 260px;
  overflow: visible;
}

.river-depth-midground {
  animation: none !important;
  top: -260px;
  height: calc(100% + 260px);
  transform: scale(1.05) translate3d(0, -8%, 0);
}

.river-depth-background {
  top: -260px;
  height: calc(100% + 260px);
}

@supports (animation-timeline: view()) {
  .hero-depth-background {
    animation-name: hero-far-plane-proportional;
  }

  .hero-depth-midground {
    animation-name: hero-middle-plane-proportional;
  }

  .landscape-bridge {
    animation: none;
  }

  .landscape-bridge > img {
    animation-name: shared-terrain-rise;
    animation-range: entry 0% cover 68%;
  }
}

@keyframes hero-far-plane-proportional {
  from { transform: translate3d(-2%, -2%, 0) scaleX(1.03) scaleY(1.3); }
  to { transform: translate3d(-2.5%, -6%, 0) scaleX(1.06) scaleY(1.34); }
}

@keyframes hero-middle-plane-proportional {
  from { transform: translate3d(0, 12%, 0) scale(1.005); }
  to { transform: translate3d(0, -4%, 0) scale(1.055); }
}

@keyframes shared-terrain-rise {
  from { transform: translate3d(0, 10%, 0) scale(1.01); }
  to { transform: translate3d(0, -19%, 0) scale(1.07); }
}

@media (max-width: 760px) {
  .hero {
    min-height: 960px;
    padding-bottom: 210px;
  }

  .hero-profiles {
    top: 790px;
    bottom: auto;
    min-height: 158px;
  }

  .landscape-bridge {
    height: 210px;
    margin-top: -105px;
    margin-bottom: -160px;
  }

  .landscape-bridge > img {
    bottom: 0;
  }

  .problems {
    min-height: 1200px;
    padding-top: 210px;
  }
}

@supports (animation-timeline: scroll()) {
  .hero > .eyebrow,
  .hero > h1,
  .hero > .hero-bottom {
    animation: hero-copy-clear linear both !important;
    animation-timeline: scroll(root) !important;
    animation-range: 0 420px !important;
  }
}

/* Final depth offset: both near hero planes sit 50% lower. */
.hero-depth-midground {
  transform: translate3d(0, 62%, 0) scale(1.005);
}

.landscape-bridge > img {
  transform: translate3d(0, 50%, 0) scale(1.01);
}

@keyframes hero-middle-plane-proportional {
  from { transform: translate3d(0, 62%, 0) scale(1.005); }
  to { transform: translate3d(0, 46%, 0) scale(1.055); }
}

@keyframes shared-terrain-rise {
  from { transform: translate3d(0, 60%, 0) scale(1.01); }
  to { transform: translate3d(0, 31%, 0) scale(1.07); }
}

.problems {
  min-height: 1500px;
  padding-top: 580px;
}

@keyframes shared-terrain-rise {
  from { transform: translate3d(0, 60%, 0) scale(1.01); }
  to { transform: translate3d(0, -40%, 0) scale(1.07); }
}

@media (max-width: 760px) {
  .problems {
    min-height: 1500px;
    padding-top: 500px;
  }
}

/* Authoritative alignment pass — keep these declarations last in the cascade. */
.hero h1 {
  max-width: none;
}

.hero h1 .hero-line {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

.hero h1 .hero-line-one { color: var(--white); }
.hero h1 .hero-line-two { color: #f6c154; }

.hero-depth-background {
  transform: translate3d(-2%, -13%, 0) scaleX(1.03) scaleY(1.3);
  transform-origin: center bottom;
}

.hero-depth-midground {
  transform: translate3d(-8%, 50%, 0) scale(1.005);
  transform-origin: center bottom;
}

.river-depth-midground {
  transform: translate3d(-8%, -8%, 0) scale(1.05);
  transform-origin: center bottom;
}

@keyframes hero-far-plane-proportional {
  from { transform: translate3d(-2%, -13%, 0) scaleX(1.03) scaleY(1.3); }
  to { transform: translate3d(-2.5%, -16%, 0) scaleX(1.06) scaleY(1.34); }
}

@keyframes hero-middle-plane-proportional {
  from { transform: translate3d(-8%, 50%, 0) scale(1.005); }
  to { transform: translate3d(-8%, 34%, 0) scale(1.055); }
}

@media (max-width: 760px) {
  .hero h1 {
    max-width: calc(100vw - 40px);
    font-size: clamp(39px, 11.2vw, 54px);
  }

  .river-depth-midground {
    transform: translate3d(-5%, -8%, 0) scale(1.05);
  }
}

/* Water appears at 80% of the hero and the next panel rises without side gutters. */
.hero-depth-midground {
  transform: translate3d(-8%, 37%, 0) scale(1.005);
}

@keyframes hero-middle-plane-proportional {
  from { transform: translate3d(-8%, 37%, 0) scale(1.005); }
  to { transform: translate3d(-8%, 21%, 0) scale(1.055); }
}

@keyframes route-panel-rise {
  from {
    transform: translate3d(0, 140px, 0) scale(1);
    border-radius: 0;
  }
  to {
    transform: translate3d(0, 0, 0) scale(1);
    border-radius: 0;
  }
}

/* Stitch the canoe scene directly beneath the shared foreground's center notch. */
.problems {
  margin-top: -150px;
}

@media (max-width: 760px) {
  .problems {
    margin-top: -112px;
  }
}

/* Final physical handoff: bridge flow meets the first visible river frame. */
.landscape-bridge {
  margin-bottom: -350px;
}

@media (max-width: 760px) {
  .landscape-bridge {
    margin-bottom: -270px;
  }
}
/* Final offer architecture: the ongoing advisory is deliberately dominant;
   the scholarship reads as a selective, lower-intensity path. */
.packages {
  position: relative;
  isolation: isolate;
  color: #f7fbf5;
}

.packages::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 84% 22%, rgba(0, 204, 194, .13), transparent 29%),
    linear-gradient(135deg, #052f2e 0%, #073e38 52%, #032827 100%);
}

.packages .section-heading {
  max-width: 880px;
  margin-bottom: 72px;
}

.packages .section-heading .kicker { color: #53d7cf; }
.packages .section-heading h2 { color: #f7fbf5; }
.packages .section-heading h2 span { color: #ffc34d; }
.packages .section-heading > p:last-child { color: rgba(247, 251, 245, .72); }

.packages .package-grid {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(520px, 1.28fr);
  gap: 18px;
  max-width: none;
  margin: 0;
  align-items: stretch;
}

.packages .package {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 38px;
  border: 1px solid rgba(247, 251, 245, .2);
  border-radius: 4px;
  background: rgba(3, 36, 35, .54);
  color: #f7fbf5;
  box-shadow: none;
  backdrop-filter: blur(8px);
}

.packages .package-advisory {
  padding: 52px 54px;
  border-color: rgba(83, 215, 207, .46);
  background:
    linear-gradient(145deg, rgba(0, 51, 51, .97), rgba(0, 87, 76, .93)),
    #003333;
  box-shadow: 0 30px 80px rgba(0, 16, 17, .24);
}

.packages .package-label {
  margin: 0;
  color: #53d7cf;
}

.packages .package h3 {
  max-width: 680px;
  margin: 22px 0 20px;
  font-size: clamp(34px, 4.2vw, 62px);
  line-height: .95;
}

.packages .package-scholarship h3 {
  font-size: clamp(30px, 3vw, 42px);
}

.packages .best-for {
  min-height: 0;
  max-width: 680px;
  margin: 0;
  color: rgba(247, 251, 245, .76);
  font-size: 17px;
  line-height: 1.45;
}

.packages .best-for strong { color: inherit; font-weight: 500; }

.packages .price {
  margin: 8px 0 28px;
  color: #ffc34d;
  font-size: clamp(48px, 5.4vw, 76px);
}

.packages .price small {
  color: #f7fbf5;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.packages .popular {
  top: 30px;
  right: 30px;
  border: 1px solid rgba(247, 251, 245, .28);
  border-radius: 999px;
  background: transparent;
  color: #f7fbf5;
}

.packages .package-includes {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 34px;
  color: #53d7cf;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.packages .package-includes::after {
  content: "";
  height: 1px;
  flex: 1;
  background: rgba(247, 251, 245, .18);
}

.packages .package ul {
  padding: 16px 0 0;
  margin: 0;
  border: 0;
}

.packages .package li {
  position: relative;
  padding: 11px 0 11px 25px;
  border-bottom: 1px solid rgba(247, 251, 245, .1);
  color: rgba(247, 251, 245, .82);
  font-size: 15px;
  line-height: 1.35;
}

.packages .package li::before {
  content: "↗";
  position: absolute;
  left: 0;
  color: #53d7cf;
}

.packages .package li.package-highlight {
  margin: 5px 0;
  padding: 15px 18px 15px 42px;
  border: 0;
  background: #ffc34d;
  color: #073a35;
  font-weight: 700;
}

.packages .package li.package-highlight::before {
  left: 17px;
  color: #073a35;
}

.packages .package-caveat {
  margin: auto 0 0;
  padding-top: 26px;
  color: rgba(247, 251, 245, .48);
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .packages .package-grid {
    grid-template-columns: 1fr;
  }

  .packages .package-advisory {
    grid-row: 1;
  }
}

@media (max-width: 760px) {
  .packages .section-heading { margin-bottom: 46px; }
  .packages .package,
  .packages .package-advisory { padding: 30px 24px; }
  .packages .popular { position: static; align-self: flex-start; margin-bottom: 22px; }
  .packages .package h3,
  .packages .package-scholarship h3 { font-size: 38px; }
  .packages .price { font-size: 50px; }
}

/* Final conversion moment: same forest, amber, thin-line and rounded-button
   language as the journey above—without introducing a new visual system. */
.final-cta {
  padding: 128px 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(0, 204, 194, .12), transparent 32%),
    #033836;
  color: #f7fbf5;
  text-align: left;
}

.final-cta-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 90px;
  align-items: end;
}

.final-cta .kicker {
  margin: 0 0 24px;
  color: #53d7cf;
}

.final-cta h2 {
  margin: 0;
  max-width: 780px;
  color: #f7fbf5;
  font-size: clamp(60px, 7.4vw, 108px);
  line-height: .86;
}

.final-cta h2 span { color: #ffc34d; }

.final-cta-action {
  padding: 0 0 4px 30px;
  border-left: 1px solid rgba(247, 251, 245, .24);
}

.final-cta .final-cta-action p {
  max-width: 450px;
  margin: 0 0 30px;
  color: rgba(247, 251, 245, .76);
  font-size: 18px;
  line-height: 1.55;
}

.final-cta-button {
  min-width: 210px;
  border: 1px solid rgba(247, 251, 245, .55);
  border-radius: 999px;
  background: rgba(2, 42, 41, .5);
  color: #f7fbf5;
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.final-cta-button:hover {
  border-color: #ffc34d;
  background: #ffc34d;
  color: #073a35;
}

.final-cta .final-cta-action small {
  margin-top: 16px;
  color: rgba(247, 251, 245, .48);
}

.final-orbit { display: none; }

.expedition-footer {
  position: relative;
  min-height: 560px;
  padding: 0;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(2, 28, 29, .05) 35%, rgba(2, 24, 25, .88) 82%, #021c1d 100%),
    url("assets/footer-expedition-route.png?v=94") center center / cover no-repeat;
  color: #f7fbf5;
}

.footer-content {
  position: absolute;
  right: 0;
  bottom: 28px;
  left: 0;
  display: grid;
  grid-template-columns: 1.1fr .8fr 1.1fr;
  gap: 38px;
  align-items: end;
  padding-top: 28px;
  border-top: 1px solid rgba(247, 251, 245, .28);
}

.footer-brand-group .brand img { width: 150px; }
.footer-brand-group > p {
  max-width: 250px;
  margin: 15px 0 0;
  color: rgba(247, 251, 245, .66);
  font-size: 13px;
}

.footer-socials {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.footer-socials a {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid rgba(247, 251, 245, .18);
  color: #f7fbf5;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.footer-socials a:hover { color: #ffc34d; }

.footer-contact {
  text-align: right;
}

.footer-contact span {
  display: block;
  margin-bottom: 8px;
  color: #53d7cf;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
}

.footer-contact a {
  color: #f7fbf5;
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 600;
}

.footer-meta {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid rgba(247, 251, 245, .12);
}

.footer .footer-meta p {
  width: auto;
  margin: 0;
  color: rgba(247, 251, 245, .4);
  font-size: 10px;
}

@media (max-width: 900px) {
  .final-cta-layout { grid-template-columns: 1fr; gap: 48px; }
  .final-cta-action { max-width: 580px; padding-left: 24px; }
  .footer-content { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: 2; text-align: right; }
}

@media (max-width: 760px) {
  .final-cta { padding: 92px 0; }
  .final-cta h2 { font-size: 56px; }
  .final-cta-action { padding-left: 20px; }
  .expedition-footer {
    min-height: 700px;
    background-position: 62% center;
  }
  .footer-content {
    bottom: 20px;
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .footer-socials { max-width: none; }
  .footer-contact { grid-column: auto; text-align: left; }
  .footer-meta { gap: 20px; }
}

/* Featured testimonial portrait: a true circular focal field at every size. */
.story-portrait-backdrop {
  top: 50%;
  right: 0;
  bottom: auto;
  width: min(72%, 560px);
  height: auto;
  aspect-ratio: 1 / 1;
  transform: translateY(-50%);
  border-radius: 50%;
  -webkit-mask-image: radial-gradient(circle at center, #000 0%, #000 50%, rgba(0, 0, 0, .72) 66%, transparent 100%);
  mask-image: radial-gradient(circle at center, #000 0%, #000 50%, rgba(0, 0, 0, .72) 66%, transparent 100%);
}

@media (max-width: 600px) {
  .story-portrait-backdrop {
    right: -12%;
    width: 88%;
    height: auto;
  }
}

/* Henry's supplied portrait: keep his face and hat comfortably in frame. */
.henry-portrait-card > img {
  object-position: 50% 34%;
}

/* Creator stories: seven-second desktop rhythm and a free-scrolling mobile rail. */
.creator-poster.is-active .poster-progress i {
  animation-duration: 7s;
}

.creator-poster:first-child img,
#active-avatar {
  object-position: 50% 25%;
}

.story-socials a {
  width: auto;
  height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border-radius: 999px;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.story-socials a[hidden] {
  display: none;
}

@media (max-width: 600px) {
  .creator-posters {
    display: flex;
    height: 320px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 12px;
    scroll-snap-type: none;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .82) rgba(255, 255, 255, .18);
    -webkit-overflow-scrolling: touch;
  }

  .creator-posters::-webkit-scrollbar { height: 3px; }
  .creator-posters::-webkit-scrollbar-track { background: rgba(255, 255, 255, .18); }
  .creator-posters::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .9); }

  .creator-poster {
    flex: 0 0 min(76vw, 270px);
    scroll-snap-align: none;
  }

  .creator-poster .poster-progress i {
    width: 100%;
    animation: none !important;
    opacity: .28;
  }

  .creator-poster.is-active .poster-progress i { opacity: 1; }
}
/* Keep the Creator Consult palette stable regardless of browser light/dark preference. */
:root {
  color-scheme: only light;
  --mist: #eeeeee !important;
  --white: #f9fbfa !important;
  --line: rgba(0, 51, 51, .16) !important;
}

@media (prefers-color-scheme: dark) {
  body { color: var(--deep); }
  .hero-copy { color: #fff !important; -webkit-text-fill-color: #fff !important; }
  .thought { color: var(--deep); }
  .thought.dark { background: var(--deep); color: var(--white); }
  .package:not(.featured) { color: var(--deep); }
  .packages .package-scholarship h3 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
  .trust .kicker, .client { color: var(--deep); }
  .metrics span { color: var(--deep); }
  .button-outline { color: inherit; }
  .placeholder-note { color: inherit; }
}
