/* One landscape beneath all homepage content; only its light changes. */
.home-page { isolation: isolate; }
.forest-journey { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: #0b1c2b; }
.forest-journey > span { position: absolute; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; }
.forest-day { background-image: url('forest-day.webp'); }
.forest-sunset { background-image: url('forest-sunset.webp'); opacity: var(--forest-sunset, 0); }
.forest-night { background-image: url('forest-lanterns.webp'); opacity: var(--forest-night, 0); }
.forest-journey::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, #031422b3 0%, #03142299 55%, #03142255 100%); }
.home-page .premium-programs,
.home-page .premium-story,
.home-page .premium-organize { background: transparent; }
.home-page .hero { background: transparent; }
.home-page .hero-media,
.home-page .hero::after { -webkit-mask-image: linear-gradient(#000 calc(100% - 85px), transparent); mask-image: linear-gradient(#000 calc(100% - 85px), transparent); }
.home-page .hero::after { background: linear-gradient(0deg, #04142699, transparent 30%), linear-gradient(90deg, #030d1dcc 0%, #041123a6 28%, #05122640 55%, #040e1c08 100%); }
.home-page .premium-programs > .container,
.home-page .premium-story > .container,
.home-page .premium-organize > .container,
.home-page .site-footer > .container { text-shadow: 0 2px 12px #03142266; }
.home-page .program-card, .home-page .story-portrait, .home-page .button { text-shadow: none; }
.home-page .premium-programs { overflow: clip; }
/* Soft local shade keeps small copy readable when bright snow passes beneath it. */
.home-page .premium-programs .section-heading > div,
.home-page .premium-programs > .container > .fine-print,
.home-page .story-intro,
.home-page .story-benefits { position: relative; isolation: isolate; }
.home-page .premium-programs .section-heading > div::before,
.home-page .premium-programs > .container > .fine-print::before,
.home-page .story-intro::before,
.home-page .story-benefits::before { content: ''; position: absolute; inset: -12px -18px; z-index: -1; pointer-events: none; background: #03142299; filter: blur(22px); }
@media (max-width: 767px) {
  .forest-journey > span { background-position: 51% center; }
  .forest-journey::after { background: #03142299; }
  .home-page .hero::after { background: linear-gradient(0deg, #04142699, transparent 35%), linear-gradient(90deg, #030d1dd6, #041123b8 65%, #0512267a); }
}
