/* Travella's fieldbook: native scroll, real photographs, no runtime CDN. */
.scroll-home{--journey:0;--hero-progress:0;position:relative;isolation:isolate}
.hero-journey{position:relative;background:var(--forest)}
.scroll-hero{padding-top:60px;padding-bottom:85px;gap:clamp(38px,5vw,85px);min-height:760px;overflow:hidden;isolation:isolate}
.scroll-hero .hero-copy{align-self:center;padding-top:0;z-index:5}
.scroll-hero h1{font-size:clamp(4rem,6.25vw,7.8rem);max-width:780px;line-height:.99;letter-spacing:-.06em}
.scroll-hero .hero-stage{margin:10px 24px 22px 0;perspective:1600px;transition:none;max-width:none;align-self:center;z-index:2}
.scroll-hero .hero-frame{padding:9px 9px 0;box-shadow:0 14px 38px #101c1633;transform:rotate(-4deg) rotateY(-11deg);transform-origin:50% 50%}
.scroll-hero .hero-image-wrap{height:clamp(390px,48vw,590px)}
.scroll-hero .hero-image-wrap>img{animation:none;transform:scale(1.08);object-position:36% 50%}
.scroll-hero .hero-image-caption{padding:15px 8px;font-size:9px;font-weight:600}
.depth-sheet{position:absolute;inset:0;background:var(--sage);transform:translate(20px,23px) rotate(2deg);z-index:0}
.field-coordinate{position:absolute;left:0;right:0;top:-35px;display:flex;justify-content:space-between;gap:20px;font:9px/1.4 var(--body);letter-spacing:.13em;color:var(--sage)}
.scroll-hero .field-stamp{right:-36px;bottom:20px;padding:25px 25px 22px;transform:rotate(8deg);border:1px solid var(--forest);box-shadow:4px 5px 0 var(--forest);z-index:4}
.field-specimen{position:absolute;width:165px;padding:9px;background:var(--cream);color:var(--forest);bottom:-28px;left:-46px;transform:rotate(8deg);box-shadow:0 8px 22px #101c1633;z-index:3}
.field-specimen>span{display:block;font-size:7px;line-height:1.5;letter-spacing:.11em;text-align:center;padding:1px 0 7px}
.field-specimen>span:last-child{padding:8px 0 0}
.field-specimen>div{height:110px;overflow:hidden}
.field-specimen img{width:100%;height:100%;object-fit:cover}
.field-particles{position:absolute;inset:0;pointer-events:none;z-index:4;opacity:.63;transform:translateY(calc(var(--hero-progress) * -45px))}
.field-particles canvas{display:block;width:100%;height:100%;pointer-events:none}
.hero-scroll-meta{position:absolute;inset:auto var(--gutter) 24px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:var(--sage);font-size:9px;letter-spacing:.12em;z-index:6}
.hero-scroll-meta .scroll-note{position:static;display:flex;align-items:center;gap:30px;color:var(--cream);font-size:11px;letter-spacing:0;min-height:28px}
.hero-scroll-meta .scroll-note>span{font-size:24px;display:inline-block}
.scene-counter{font-size:10px;letter-spacing:.1em}
.scene-counter b{font-size:23px;font-weight:400;color:var(--cream);display:inline-block;min-width:35px}
.hero-scene-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green);z-index:7}
.hero-scene-line span{display:block;width:100%;height:100%;transform:scaleX(var(--hero-progress));transform-origin:left;background:var(--orange)}
.journey-progress{display:none;position:fixed;inset:0 0 auto;height:3px;background:transparent;z-index:45;pointer-events:none}
.journey-progress>span{display:block;width:100%;height:100%;transform:scaleX(var(--journey));transform-origin:left;background:var(--orange)}
.scroll-active .journey-progress{display:block}
.chapter-rail{display:none}
.scroll-chapter{position:relative;scroll-margin-top:36px}
.why-sticky h2{margin-bottom:34px}
.field-trail{max-width:245px;margin-top:55px;color:var(--muted);font-size:9px;letter-spacing:.12em}
.trail-track{position:relative;height:1px;background:var(--line);margin:25px 0;width:100%}
.trail-track>span{position:absolute;inset:0;background:var(--green);transform:scaleX(var(--chapter-progress,0));transform-origin:left}
.trail-track:before,.trail-track:after{content:'';position:absolute;top:-3px;width:7px;height:7px;border:1px solid var(--green);border-radius:50%;background:var(--cream)}
.trail-track:after{right:0;background:var(--orange)}
.trail-track i{display:block;position:absolute;top:-5px;left:calc(var(--chapter-progress,0) * (100% - 10px));width:11px;height:11px;background:var(--green);border-radius:50%}
.trail-end{display:block;text-align:right}
.scroll-home .why-right{perspective:1200px}
.scroll-home .promise-row{padding:28px 0;align-items:flex-start;position:relative;transform-origin:50% 90%;gap:24px}
.scroll-home .promise-row>div{flex:1}
.scroll-home .promise-symbol{font-size:30px;color:var(--green);line-height:1.15;margin-left:12px;display:block}
.scroll-home .promise-row h3{font-size:30px}
.scroll-home .why-right .lead{max-width:530px;margin-bottom:45px}
.scroll-home .section-label{margin-bottom:60px}
.scroll-home .card-grid{perspective:1500px;gap:40px 28px}
.scroll-home .card-image{isolation:isolate}
.scroll-home .card-image:after{content:'';position:absolute;inset:11px;border:1px solid #fcf9f24d;pointer-events:none;opacity:0;transition:opacity .3s}
.scroll-home .card-image:hover:after,.scroll-home .card-image:focus-visible:after{opacity:1}
.scroll-home .experience-card{transform-origin:50% 75%;backface-visibility:hidden}
.scroll-home .card-open{transition:background .2s,transform .25s}
.scroll-home .card-image:hover .card-open{background:var(--cream);transform:translate(-6px,-6px)}
.scroll-home .who-photo>img{height:116%;top:-8%;object-fit:cover}
.scroll-home .who-section{overflow:hidden;min-height:680px}
.scroll-home .who-copy{position:relative;z-index:2}
.scroll-home .who-copy .eyebrow:before{content:'';width:28px;height:1px;background:var(--sage);display:inline-block;vertical-align:middle;margin-right:15px}
.scroll-home .who-copy h2{font-size:clamp(3.4rem,5.3vw,6.3rem)}
.scroll-home .image-note{z-index:2}
.scroll-home .safari-section .experience-card:nth-child(3n + 2),.scroll-home .stay-section .experience-card:nth-child(3n + 2){padding-top:55px}
.scroll-home .safari-section .experience-card:nth-child(3n),.scroll-home .stay-section .experience-card:nth-child(3n){padding-top:110px}
.scroll-home .journal-section .experience-card:nth-child(2n){padding-top:35px}
.scroll-home .journal-section .card-image{aspect-ratio:1.4;height:auto}
.scroll-home .journal-section .section-heading{margin-bottom:55px}
.scroll-home .faq-section{padding-bottom:110px}

@media(min-width:1100px) and (min-height:760px){
  .scroll-active .hero-journey{height:175svh;min-height:1320px}
  .scroll-active .scroll-hero{position:sticky;top:0;height:100svh;min-height:760px;max-height:1100px}
  .scroll-active .scroll-hero .hero-copy{transform:translate3d(0,calc(var(--hero-progress) * -30px),0)}
  .scroll-active .scroll-hero .hero-frame{will-change:transform;transform:translate3d(calc(var(--hero-progress) * -14px),calc(var(--hero-progress) * -24px),0) rotateY(calc(-11deg + var(--hero-progress) * 18deg)) rotateZ(calc(-4deg + var(--hero-progress) * 6deg)) scale(calc(.98 + var(--hero-progress) * .06))}
  .scroll-active .scroll-hero .hero-image-wrap>img{transform:translate3d(calc(var(--hero-progress) * -8px),calc(var(--hero-progress) * 13px),0) scale(calc(1.11 - var(--hero-progress) * .055))}
  .scroll-active .depth-sheet{transform:translate3d(calc(20px + var(--hero-progress) * 12px),calc(23px + var(--hero-progress) * 30px),0) rotate(calc(2deg - var(--hero-progress) * 5deg))}
  .scroll-active .field-specimen{transform:translate3d(calc(var(--hero-progress) * 32px),calc(var(--hero-progress) * -110px),70px) rotate(calc(8deg - var(--hero-progress) * 17deg))}
  .scroll-active .scroll-hero .field-stamp{transform:translate3d(calc(var(--hero-progress) * 13px),calc(var(--hero-progress) * 35px),90px) rotate(calc(8deg - var(--hero-progress) * 11deg))}
  .scroll-active .why-sticky{position:sticky;top:80px;align-self:start}
  .scroll-home .why-section{padding-top:110px;padding-bottom:120px}
  .scroll-home .promise-row{padding:42px 0;min-height:145px}
  .scroll-home .why-grid{gap:clamp(70px,9vw,150px)}
  .scroll-active .chapter-rail{display:flex;position:fixed;z-index:24;right:17px;top:50%;transform:translateY(-50%);flex-direction:column;gap:7px;opacity:0;pointer-events:none;transition:opacity .25s}
  .scroll-active .chapter-rail.rail-visible{opacity:1;pointer-events:auto}
  .chapter-rail>a{display:flex;align-items:center;justify-content:flex-end;gap:10px;position:relative;min-height:25px;min-width:25px}
  .chapter-rail>a>span:last-child{position:absolute;right:24px;white-space:nowrap;font-size:10px;line-height:1.4;background:var(--forest);color:var(--cream);padding:7px 10px;opacity:0;transform:translateX(4px);transition:opacity .2s,transform .2s;pointer-events:none}
  .chapter-rail>a:hover>span:last-child,.chapter-rail>a:focus-visible>span:last-child{opacity:1;transform:none}
  .chapter-dot{display:block;width:5px;height:5px;background:var(--green);border-radius:50%;border:1px solid var(--cream);transition:transform .2s,background .2s}
  .chapter-rail .active .chapter-dot{transform:scale(1.7);background:var(--orange)}
  .scroll-active .depth-ready{transform:translate3d(0,calc((1 - var(--card-progress,0)) * 58px),0) rotateX(calc((1 - var(--card-progress,0)) * 8deg));transition:none}
  .scroll-active .depth-ready.visible{transform:translate3d(0,calc((1 - var(--card-progress,0)) * 58px),0) rotateX(calc((1 - var(--card-progress,0)) * 8deg))}
  .scroll-active .promise-row.depth-ready{transform:translate3d(calc((1 - var(--card-progress,0)) * 24px),0,0) rotateY(calc((1 - var(--card-progress,0)) * -8deg))}
  .scroll-active .who-photo>img{transform:translate3d(0,calc((var(--chapter-progress,.5) - .5) * 64px),0)}
}
@media(min-width:1650px){.scroll-hero{padding-left:max(var(--gutter),calc((100vw - 1510px)/2));padding-right:max(var(--gutter),calc((100vw - 1510px)/2));gap:100px}.scroll-hero .hero-image-wrap{height:640px}.scroll-home .section{padding-left:max(var(--gutter),calc((100vw - 1510px)/2));padding-right:max(var(--gutter),calc((100vw - 1510px)/2))}}
@media(max-width:1099px),(max-height:759px){.scroll-hero{min-height:680px;padding-top:48px}.scroll-hero h1{font-size:clamp(3.4rem,6.1vw,6rem)}.scroll-hero .hero-stage{margin-right:15px}.scroll-hero .hero-image-wrap{height:430px}.field-specimen{width:130px;left:-25px;bottom:-22px}.field-specimen>div{height:82px}.scroll-hero .field-stamp{right:-20px;padding:18px}.field-coordinate{font-size:8px}.hero-scroll-meta>span:first-child{font-size:8px}.scroll-home .section-label{margin-bottom:42px}.scroll-home .who-section{min-height:0}}
@media(max-width:850px){.scroll-hero{gap:38px}.scroll-hero .hero-image-wrap{height:380px}.scroll-hero h1{font-size:clamp(3.2rem,6.8vw,4.8rem)}.field-specimen{display:none}.scroll-hero .field-stamp{padding:15px 16px;right:-15px;bottom:-18px}.scroll-hero .field-stamp strong{font-size:26px}.scroll-hero .hero-image-caption{font-size:7px}.hero-scroll-meta>span:first-child{display:none}.scroll-home .promise-row h3{font-size:25px}.scroll-home .promise-symbol{font-size:25px}.field-trail{max-width:200px}.scroll-home .card-grid{gap:30px 20px}.scroll-home .safari-section .experience-card:nth-child(3n + 2),.scroll-home .stay-section .experience-card:nth-child(3n + 2){padding-top:28px}.scroll-home .safari-section .experience-card:nth-child(3n),.scroll-home .stay-section .experience-card:nth-child(3n){padding-top:55px}}
@media(max-width:600px){.scroll-hero{min-height:0;padding:33px var(--gutter) 82px;gap:48px}.scroll-hero h1{font-size:clamp(3.4rem,12.7vw,5rem);letter-spacing:-.06em}.scroll-hero .hero-stage{width:88%;margin:0 auto 0}.scroll-hero .hero-image-wrap{height:330px}.scroll-hero .hero-frame{transform:rotate(-3deg);padding:7px 7px 0}.scroll-hero .hero-image-caption{padding:12px 3px;font-size:7px}.scroll-hero .field-stamp{right:-22px;bottom:-12px;padding:14px 17px}.scroll-hero .field-stamp strong{font-size:27px}.field-coordinate{font-size:7px;top:-24px;letter-spacing:.06em}.depth-sheet{transform:translate(10px,15px) rotate(2deg)}.hero-scroll-meta{bottom:20px;gap:12px}.hero-scroll-meta .scroll-note{font-size:10px;gap:14px}.scene-counter{font-size:8px}.scene-counter b{font-size:19px;min-width:27px}.field-particles{opacity:.45}.scroll-home .section-label{margin-bottom:35px}.why-sticky h2{margin-bottom:0}.field-trail{display:none}.scroll-home .promise-row{gap:18px;padding:25px 0}.scroll-home .promise-symbol{font-size:23px;margin-left:0}.scroll-home .promise-row h3{font-size:26px}.scroll-home .safari-section .experience-card:nth-child(n),.scroll-home .stay-section .experience-card:nth-child(n),.scroll-home .journal-section .experience-card:nth-child(n){padding-top:0}.scroll-home .card-grid{gap:38px}.scroll-home .who-copy h2{font-size:49px}.scroll-home .who-photo{min-height:380px}.scroll-home .journal-section .section-heading{margin-bottom:30px}.scroll-home .faq-section{padding-bottom:65px}.scroll-chapter{scroll-margin-top:15px}.scroll-home .experience-card.reveal{transition:opacity .5s,transform .5s}.scroll-home .experience-card.reveal:not(.visible){transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){.hero-journey{height:auto!important;min-height:0!important}.scroll-hero{position:relative!important;height:auto!important;max-height:none!important}.field-particles,.journey-progress,.chapter-rail,.hero-scene-line,.scene-counter{display:none!important}.scroll-home .hero-copy,.scroll-home .hero-frame,.scroll-home .hero-image-wrap>img,.scroll-home .depth-sheet,.scroll-home .field-stamp,.scroll-home .field-specimen,.scroll-home .depth-ready,.scroll-home .who-photo>img{transform:none!important}.scroll-home .why-sticky{position:static!important}}
html.reduce-motion .hero-journey{height:auto!important;min-height:0!important}html.reduce-motion .scroll-hero{position:relative!important;height:auto!important;max-height:none!important}html.reduce-motion .field-particles,html.reduce-motion .journey-progress,html.reduce-motion .chapter-rail,html.reduce-motion .hero-scene-line,html.reduce-motion .scene-counter{display:none!important}html.reduce-motion .scroll-home .hero-copy,html.reduce-motion .scroll-home .hero-frame,html.reduce-motion .scroll-home .hero-image-wrap>img,html.reduce-motion .scroll-home .depth-sheet,html.reduce-motion .scroll-home .field-stamp,html.reduce-motion .scroll-home .field-specimen,html.reduce-motion .scroll-home .depth-ready,html.reduce-motion .scroll-home .who-photo>img{transform:none!important}html.reduce-motion .scroll-home .why-sticky{position:static!important}
@media print{.hero-journey{height:auto!important;min-height:0!important}.scroll-hero{position:relative!important;height:auto!important;max-height:none!important}.field-particles,.chapter-rail,.journey-progress,.hero-scene-line,.hero-scroll-meta,.field-specimen,.depth-sheet{display:none!important}.scroll-home .why-sticky{position:static!important}.scroll-home .hero-stage{break-inside:avoid}.scroll-home .experience-card{break-inside:avoid}.scroll-home .experience-card:nth-child(n){padding-top:0!important}}
/* The v6 palette balance: warm ivory and sage, with forest for contrast. */
.scroll-hero{background:var(--cream);color:var(--forest)}
.scroll-hero .eyebrow{color:var(--green)}
.scroll-hero .hero-subtitle{color:var(--muted)}
.scroll-hero .text-link{color:var(--forest);border-color:var(--green)}
.scroll-hero .hero-footnote p{color:var(--muted)}
.scroll-hero .short-line{background:var(--green)}
.scroll-hero .hero-frame{background:var(--cream);border:1px solid #d4a37377;box-shadow:0 14px 35px #1b2a1e12}
.scroll-hero .field-coordinate{color:var(--green)}
.hero-scroll-meta{color:var(--muted)}
.hero-scroll-meta .scroll-note,.hero-scroll-meta .scene-counter b{color:var(--forest)}
.hero-scene-line{background:var(--line)}
.hero-journey{background:var(--cream)}
.scroll-home .trip-bar{background:var(--sage);border-color:#344e4144}
.scroll-home .trip-bar a{border-color:#344e4144}
.scroll-home .trip-bar .trip-cta{background:var(--orange)}
.scroll-home .safari-section{background:#edf0e6}
.scroll-home .journal-section{background:#efe5d5}

/* Smaller screens keep natural document flow with a lighter scroll response. */
@media(max-width:1099px),(max-height:759px){
 .scroll-active .scroll-hero .hero-frame{transform:rotate(calc(-3deg + var(--hero-progress) * 5deg)) translate3d(0,calc(var(--hero-progress) * -18px),0)}
 .scroll-active .scroll-hero .hero-image-wrap>img{transform:translate3d(0,calc(var(--hero-progress) * 10px),0) scale(1.08)}
 .scroll-active .scroll-hero .field-stamp{transform:rotate(calc(8deg - var(--hero-progress) * 9deg)) translate3d(0,calc(var(--hero-progress) * 16px),0)}
}
html.reduce-motion .scroll-hero .hero-frame,html.reduce-motion .scroll-hero .hero-image-wrap>img,html.reduce-motion .scroll-hero .field-stamp{transform:none!important}
@media(prefers-reduced-motion:reduce){.scroll-hero .hero-frame,.scroll-hero .hero-image-wrap>img,.scroll-hero .field-stamp{transform:none!important}}


/* Homepage booking shortcut beneath the two discovery actions. */
.scroll-home .hero-book-now{
  margin-top:16px;
  min-width:180px;
  background:var(--forest);
  border-color:var(--forest);
  color:var(--cream);
  box-shadow:4px 4px 0 var(--orange);
}
.scroll-home .hero-book-now:hover{
  background:var(--green);
  border-color:var(--green);
  color:var(--cream);
}
@media(max-width:600px){
  .scroll-home .hero-book-now{margin-top:14px;min-width:160px}
}
