/* "A Heritage of Wild Travel": edge-to-edge photo mosaic beside the brand story, revealed on scroll. */
.home-heritage { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); min-height: clamp(680px, 58vw, 900px); background: #F7F4ED; }

.home-heritage__media { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 6px; }
.home-heritage__photo { position: relative; min-height: 0; margin: 0; overflow: hidden; background: #231F20; }
.home-heritage__photo--main { grid-row: 1 / 3; }
.home-heritage__frame { position: absolute; inset: 0; }
.home-heritage__frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-heritage__photo--main img { object-position: 50% 62%; animation: home-heritage-drift 24s ease-in-out infinite alternate; }
.home-heritage__photo--protect img { object-position: center 55%; }
.home-heritage__photo--future img { object-position: 42% center; }
.home-heritage__photo::after { position: absolute; inset: 50% 0 0; background: linear-gradient(180deg, rgba(35, 31, 32, 0), rgba(35, 31, 32, .7)); pointer-events: none; content: ''; }
.home-heritage__photo figcaption { position: absolute; right: 1.5rem; bottom: 1.4rem; left: 1.5rem; z-index: 1; color: #FFFFFF; font-family: 'Poppins', sans-serif; font-size: .7rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.home-heritage__photo--main figcaption { bottom: 2rem; left: 2rem; font-size: .76rem; }

.home-heritage__copy { display: flex; align-items: center; padding: clamp(4rem, 7vw, 7.5rem) clamp(2rem, 6.5vw, 7rem); }
.home-heritage__content { max-width: 600px; }
.home-heritage__kicker { margin: 0; color: #3E6423; font-family: 'Poppins', sans-serif; font-size: .78rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; }
.home-stories .home-heritage .home-heritage__title { margin: 1.1rem 0 0; color: #231F20; font-family: 'Poppins', sans-serif !important; font-size: clamp(2.5rem, 4.3vw, 4.1rem) !important; font-weight: 700 !important; line-height: 1.04 !important; letter-spacing: -.035em; text-transform: none; }
.home-heritage__title em { display: block; color: #755431; font-style: normal; }
.home-heritage__lead { margin: 2rem 0 0; color: #231F20; font-family: 'Poppins', sans-serif; font-size: clamp(1.02rem, 1.2vw, 1.14rem); line-height: 1.8; }
.home-heritage__text { margin: 1.25rem 0 0; color: rgba(35, 31, 32, .72); font-family: 'Poppins', sans-serif; font-size: .97rem; line-height: 1.85; }
.home-heritage__cta { display: inline-flex; align-items: center; gap: 1rem; margin-top: 2.6rem; padding: .45rem .45rem .45rem 1.7rem; border-radius: 999px; background: #755431; color: #FFFFFF !important; font-family: 'Poppins', sans-serif; font-size: .76rem; font-weight: 600; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; box-shadow: 0 18px 34px -18px rgba(117, 84, 49, .85); transition: background .4s ease; }
.home-heritage__cta-icon { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 50%; background: #FFFFFF; color: #755431; transition: color .4s ease, transform .45s cubic-bezier(.2, .8, .2, 1); }
.home-heritage__cta-icon svg { width: 1.05rem; height: 1.05rem; }
.home-heritage__cta:hover, .home-heritage__cta:focus-visible { background: #3E6423; }
.home-heritage__cta:hover .home-heritage__cta-icon, .home-heritage__cta:focus-visible .home-heritage__cta-icon { color: #3E6423; transform: rotate(-45deg); }
.home-heritage__cta:focus-visible { outline: 3px solid #6B9A40; outline-offset: 4px; }

/* Scroll reveal. Hidden states apply only once the script arms the section, so content stays visible without JS. */
.home-heritage.is-armed [data-heritage-reveal] .home-heritage__photo { clip-path: inset(100% 0 0 0); }
.home-heritage.is-armed [data-heritage-reveal] .home-heritage__frame { transform: scale(1.3); }
.home-heritage.is-armed [data-heritage-reveal] figcaption { opacity: 0; transform: translateY(14px); }
.home-heritage.is-armed [data-heritage-reveal] .home-heritage__content > * { opacity: 0; transform: translateY(36px); }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__photo { clip-path: inset(0 0 0 0); transition: clip-path 1.4s cubic-bezier(.77, 0, .18, 1); }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__frame { transform: none; transition: transform 2.2s cubic-bezier(.2, .8, .2, 1); }
.home-heritage.is-armed [data-heritage-reveal].is-inview figcaption { opacity: 1; transform: none; transition: opacity .9s ease 1.2s, transform .9s ease 1.2s; }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__content > * { opacity: 1; transform: none; transition: opacity 1s ease, transform 1.1s cubic-bezier(.2, .8, .2, 1); }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__photo--protect,
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__photo--protect .home-heritage__frame { transition-delay: .2s; }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__photo--future,
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__photo--future .home-heritage__frame { transition-delay: .4s; }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__content > :nth-child(2) { transition-delay: .12s; }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__content > :nth-child(3) { transition-delay: .26s; }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__content > :nth-child(4) { transition-delay: .4s; }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__content > :nth-child(5) { transition-delay: .56s; }
.home-heritage.is-armed [data-heritage-reveal].is-inview .home-heritage__content > .home-heritage__cta { transition: opacity 1s ease .56s, transform 1.1s cubic-bezier(.2, .8, .2, 1) .56s, background .4s ease; }

@keyframes home-heritage-drift {
    from { transform: scale(1) translate3d(0, 0, 0); }
    to { transform: scale(1.1) translate3d(-1.5%, -2%, 0); }
}

@media (max-width: 1099px) {
    .home-heritage { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .home-heritage__copy { padding: 4.5rem 2.5rem; }
}
@media (max-width: 899px) {
    .home-heritage { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .home-heritage__media { height: clamp(520px, 92vw, 760px); }
    .home-heritage__copy { padding: 4rem 2rem 4.5rem; }
    .home-heritage__content { max-width: 640px; margin: 0 auto; }
}
@media (max-width: 599px) {
    .home-heritage__media { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: minmax(0, 1.35fr) minmax(0, 1fr); gap: 4px; height: 125vw; }
    .home-heritage__photo--main { grid-row: 1; grid-column: 1 / 3; }
    .home-heritage__photo figcaption { right: 1rem; bottom: 1rem; left: 1rem; font-size: .6rem; letter-spacing: .16em; }
    .home-heritage__photo--main figcaption { bottom: 1.25rem; left: 1.25rem; font-size: .68rem; }
    .home-heritage__copy { padding: 3.25rem 1.4rem 3.75rem; }
    .home-heritage__lead { margin-top: 1.5rem; font-size: 1rem; }
    .home-heritage__text { font-size: .93rem; }
    .home-heritage__cta { margin-top: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
    .home-heritage__photo--main img { animation: none; }
    .home-heritage__cta, .home-heritage__cta-icon { transition: none; }
}
