/* Reference-led editorial composition. Base controls and tour sheets stay in styles.css. */
:root{--paper:#fbf8f1;--ink:#202921;--green:#243b29}
.hero{height:565px}.hero-content{padding-top:134px}.hero h1{font-size:clamp(76px,7.5vw,118px)}.hero-hand{left:52%;top:51%;font-size:27px}.hero::after{height:30px;clip-path:polygon(0 57%,12% 72%,25% 45%,39% 64%,55% 43%,70% 61%,85% 38%,100% 55%,100% 100%,0 100%)}
.philosophy.section-pad{min-height:205px;padding:32px 8% 36px 18%;grid-template-columns:48% 1fr;gap:4%;position:relative;background:var(--paper);overflow:visible}.philosophy h2{font-size:clamp(45px,4.2vw,64px);line-height:.85;margin-top:11px}.philosophy>p{font-size:12px;line-height:1.6;max-width:535px;border-left:1px solid #bdb9ac;padding-left:38px;margin:0}.leaf{pointer-events:none;user-select:none}.philosophy-leaf{position:absolute;left:-9%;top:-50px;width:29%;transform:rotate(7deg);z-index:6;filter:drop-shadow(0 7px 6px #263a2224)}
.hero-topic{font:500 17px/1.2 var(--serif);margin:-12px 0 15px}.journeys{position:relative;background:var(--paper);overflow:visible}.bali-journey{height:505px;min-height:0;padding:0;display:block;background:var(--paper);position:relative;isolation:isolate;overflow:hidden}.bali-main{position:absolute;left:10%;top:0;width:88%;height:100%;object-fit:cover;object-position:center 52%;mask-image:linear-gradient(90deg,transparent 0%,#000 24%);z-index:0}.bali-journey:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(251,248,241,.85) 21%,rgba(251,248,241,.12) 47%,transparent 72%);z-index:1}.bali-copy{position:absolute;left:8%;top:47px;width:30%;padding:0;z-index:3}.bali-copy h2{font-size:clamp(76px,7vw,110px);margin:20px 0 2px}.bali-copy h3{font-size:clamp(30px,3.2vw,47px);white-space:nowrap}.bali-copy .description{max-width:340px}.bali-temple{position:absolute;left:61%;top:0;width:23%;height:90%;object-fit:cover;object-position:center;border:4px solid var(--paper);z-index:2}.bali-water{position:absolute;right:1.5%;bottom:30px;width:16%;height:39%;object-fit:cover;object-position:center 42%;border:4px solid var(--paper);z-index:3}.bali-hand{position:absolute;left:auto;right:2.5%;top:25px;color:#f9f5e9;z-index:4;font-size:25px;transform:rotate(-11deg)}.bali-leaf{position:absolute;left:-9%;bottom:-32%;width:30%;transform:rotate(160deg);z-index:4;filter:drop-shadow(0 4px 5px #0003)}.bali-journey::after{height:25px;clip-path:polygon(0 36%,15% 60%,29% 47%,44% 68%,58% 44%,73% 61%,86% 34%,100% 52%,100% 100%,0 100%)}
.karelia-journey{height:435px;min-height:0;display:block;overflow:hidden;position:relative;background:var(--paper);isolation:isolate}.karelia-main{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:0}.karelia-journey:before{content:'';position:absolute;top:0;bottom:0;left:37%;width:47%;background:linear-gradient(90deg,transparent 0%,rgba(251,248,241,.96) 30%,rgba(251,248,241,.95) 72%,transparent 100%);z-index:1}.karelia-copy{position:absolute;left:47%;top:37px;width:32%;padding:0;z-index:3}.karelia-copy h2{font-size:clamp(74px,6.6vw,105px);margin:7px 0 0}.karelia-copy h3{font-size:clamp(30px,3.2vw,45px)}.karelia-copy .description{max-width:350px}.karelia-person{position:absolute;right:2.5%;top:17px;width:15%;height:66%;object-fit:cover;object-position:center 30%;z-index:2;border:4px solid var(--paper)}.karelia-cabin{position:absolute;right:0;bottom:23px;width:15%;height:31%;object-fit:cover;z-index:3;border:4px solid var(--paper)}.karelia-hand{position:absolute;right:14.5%;bottom:25px;z-index:3;color:#fff;font-size:23px;text-shadow:0 1px 7px rgba(20,37,25,.65);transform:rotate(-10deg)}
.for-whom{height:300px;min-height:0;background:#1c3021;overflow:visible;isolation:isolate}.for-whom:before{content:'';position:absolute;left:0;right:0;top:-1px;height:22px;background:var(--paper);clip-path:polygon(0 0,100% 0,100% 55%,86% 42%,69% 65%,52% 39%,35% 67%,17% 43%,0 58%);z-index:3}.for-whom:after{content:'';position:absolute;left:0;right:0;top:auto;bottom:-1px;height:23px;background:var(--paper);transform:none;width:auto;opacity:1;clip-path:polygon(0 51%,16% 38%,32% 64%,48% 45%,65% 61%,81% 40%,100% 59%,100% 100%,0 100%);z-index:3}.for-whom-inner{padding:69px 8%;grid-template-columns:1fr 1fr;gap:6%}.for-whom h2{font-size:clamp(60px,5.7vw,86px);line-height:.85}.for-whom ul{font-size:13px;gap:8px}.for-whom-leaf{position:absolute;left:-4%;top:-24%;width:45%;height:135%;object-fit:contain;transform:rotate(12deg);opacity:.8;z-index:0;filter:brightness(.6) saturate(.8)}
.about.section-pad{height:315px;min-height:0;padding:0 8%;display:block;position:relative;background:var(--paper);overflow:hidden}.about-copy{position:absolute;left:8%;top:52px;width:46%;padding:0;z-index:3}.about h2{font-size:clamp(56px,5.2vw,79px);white-space:nowrap;margin-top:10px}.about-copy>p:not(.eyebrow){font-size:12px;line-height:1.52;max-width:485px;margin:12px 0}.about-copy .fact-note{font-size:10px;max-width:430px;color:#6f786a}.people-image{position:absolute;left:49%;top:0;width:39%;height:100%;object-fit:cover;object-position:63% center;mask-image:linear-gradient(90deg,transparent,#000 22%,#000 86%,transparent);z-index:1}.people-hand{position:absolute;right:4%;top:37%;z-index:4;font-size:26px;color:#686b59}.people-leaf{position:absolute;right:-10%;bottom:-45%;width:28%;transform:rotate(-35deg);z-index:4;opacity:.8}
.reviews.section-pad{min-height:310px;padding:42px 8% 36px;grid-template-columns:28% 1fr;gap:2%;align-items:start;position:relative}.reviews h2{font-size:clamp(49px,4.4vw,67px);margin-top:10px}.reviews-list{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:0}.review-entry{position:relative;min-width:0;padding:0 7px 0 0}.review-entry:not(:last-child):after{content:'';position:absolute;right:-12px;top:72px;bottom:14px;width:1px;background:#d9d5c9}.review-entry img{height:76px;width:76px;border-radius:50%;object-fit:cover;margin-bottom:12px}.review-entry p{font:400 19px/1.07 var(--serif);min-height:85px;margin-bottom:14px}.review-entry small{display:block;color:#798072;font-size:10px}.reviews-note{position:absolute;bottom:12px;left:36%;font-size:9px;color:#7a7b72;margin:0}
.steps.section-pad{min-height:265px;padding:35px 8% 42px;grid-template-columns:27% repeat(3,1fr);gap:2.5%;position:relative}.steps h2{font-size:clamp(50px,4.5vw,67px);margin-top:10px}.steps>div:first-child{grid-column:auto}.step{position:relative;padding:41px 0 0;border:0;z-index:2}.step span{font-size:67px}.step h3{font-size:22px;margin:13px 0 5px}.step p{font-size:11px;max-width:220px}.steps-path{position:absolute;top:93px;left:31%;width:62%;height:60px;z-index:0}.steps-path svg{width:100%;height:100%;fill:none;stroke:#917a61;stroke-width:1}
.faq.section-pad{min-height:365px;padding:0;display:grid;grid-template-columns:47% 53%;gap:0;background:var(--paper);position:relative;overflow:hidden}.faq-scene{position:relative;height:365px;overflow:hidden}.faq-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,241,.2),rgba(251,248,241,.8) 62%,var(--paper) 100%)}.faq-scene img{width:100%;height:100%;object-fit:cover;object-position:center 28%;opacity:.83}.faq-scene>div{position:absolute;right:5%;top:45px;z-index:1;width:55%}.faq h2{font-size:clamp(52px,4.8vw,74px);margin-top:12px}.faq-list{padding:42px 15% 30px 0;align-self:center}.faq details{font-size:12px}.faq summary{padding:15px 0}
.final-cta{height:370px;min-height:0;padding:0;position:relative;overflow:hidden;background:none}.final-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}.final-cta:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,237,218,.95) 0%,rgba(251,237,218,.75) 35%,rgba(251,237,218,.1) 67%,transparent 100%);z-index:1}.final-cta-copy{position:absolute;left:8%;top:55px;width:53%;z-index:2}.final-cta h2{font-size:clamp(53px,4.7vw,71px);line-height:.87;max-width:730px;margin:0 0 14px}.final-cta p:not(.hand){font-size:12px;max-width:450px;line-height:1.5}.final-actions{display:flex;gap:13px;align-items:center}.outline-btn{border:1px solid #716452;background:rgba(251,248,241,.22);padding:11px 21px;border-radius:4px;font-size:12px;min-height:43px}.final-cta small{margin-top:11px;font-size:9px}.final-hand{position:absolute;right:4%;top:35%;z-index:2;color:#fff9ee;font-size:26px;text-align:center}
footer{padding:28px 8%}
@media(max-width:900px){.hero{height:650px}.hero-content{padding-top:115px}.philosophy.section-pad{padding-left:12%}.bali-copy{left:5%;width:35%}.bali-temple{left:63%}.karelia-copy{left:43%;width:38%}.for-whom-inner{padding-inline:5%}.about-copy{left:5%;width:48%}.reviews.section-pad,.steps.section-pad{padding-inline:5%}.faq-list{padding-right:7%}}
@media(max-width:600px){.hero{height:675px}.hero-content{padding-top:112px}.hero h1{font-size:65px}.hero-hand{left:auto;top:auto;bottom:60px;font-size:21px}.philosophy.section-pad{min-height:235px;padding:42px 5% 30px;display:block}.philosophy-leaf{width:42%;left:-23%;top:-65px}.philosophy h2{font-size:49px}.philosophy>p{border:0;padding:0;font-size:11px;line-height:1.55;margin:20px 0 0}.bali-journey{height:720px;overflow:hidden}.bali-copy{left:5%;top:34px;width:80%;padding:0}.bali-copy h2{font-size:74px;margin:7px 0 0}.bali-copy h3{font-size:33px}.bali-copy .description{max-width:285px;font-size:11px}.bali-copy .date{font-size:16px}.bali-copy .journey-price{font-size:20px}.bali-main{left:0;top:340px;width:100%;height:360px;mask-image:none;object-position:71% center}.bali-journey:before{inset:245px 0 0;background:linear-gradient(180deg,var(--paper) 0%,rgba(251,248,241,.5) 24%,transparent 50%)}.bali-temple{left:63%;top:355px;width:31%;height:260px}.bali-water{right:0;bottom:30px;width:27%;height:170px}.bali-hand{top:auto;bottom:63px;right:28%;font-size:19px}.bali-leaf{left:-29%;bottom:-23%;width:75%;transform:rotate(156deg)}.karelia-journey{height:635px}.karelia-main{top:0;height:310px;object-position:20% center}.karelia-journey:before{left:0;top:260px;bottom:0;width:100%;background:linear-gradient(180deg,transparent 0%,var(--paper) 22%,var(--paper) 100%)}.karelia-copy{left:5%;top:325px;width:72%;padding:0}.karelia-copy h2{font-size:69px}.karelia-copy h3{font-size:32px}.karelia-copy .description{font-size:11px;max-width:250px}.karelia-person{right:0;top:330px;width:27%;height:200px}.karelia-cabin{display:none}.karelia-hand{display:none}.for-whom{height:auto;min-height:430px;overflow:hidden}.for-whom-inner{padding:56px 5%;display:block}.for-whom h2{font-size:52px}.for-whom ul{padding:30px 0 0;font-size:12px}.for-whom-leaf{width:83%;left:29%;top:-20%;height:auto;opacity:.3}.about.section-pad{height:555px;padding:0;overflow:hidden}.about-copy{left:5%;top:48px;width:88%}.about h2{font-size:51px;white-space:normal}.about-copy>p:not(.eyebrow){font-size:11px;max-width:340px}.about-copy .fact-note{font-size:9px}.people-image{left:0;top:260px;width:100%;height:295px;mask-image:linear-gradient(180deg,transparent,#000 18%)}.people-hand{right:4%;top:73%;font-size:20px;color:white}.people-leaf{display:none}.reviews.section-pad{min-height:0;padding:45px 5% 40px;display:block}.reviews h2{font-size:50px}.reviews-list{display:flex;overflow-x:auto;gap:20px;margin-top:24px;padding-bottom:16px;scroll-snap-type:x mandatory}.review-entry{min-width:67%;scroll-snap-align:start}.review-entry img{width:70px;height:70px}.review-entry p{font-size:20px;min-height:80px}.review-entry:not(:last-child):after{display:none}.reviews-note{position:static;margin-top:5px}.steps.section-pad{min-height:0;padding:40px 5% 50px;display:block}.steps h2{font-size:53px}.steps-path{display:none}.step{padding:16px 0 10px;border-bottom:1px solid #d5d1c5;margin:0}.step span{font-size:58px}.step h3{margin:7px 0 3px}.faq.section-pad{display:block;min-height:0}.faq-scene{height:250px}.faq-scene>div{right:5%;top:35px;width:58%}.faq h2{font-size:48px}.faq-list{padding:15px 5% 40px}.final-cta{height:560px}.final-cta>img{object-position:74% center}.final-cta:before{background:linear-gradient(180deg,rgba(251,237,218,.97),rgba(251,237,218,.76) 45%,transparent 83%)}.final-cta-copy{left:5%;top:45px;width:90%}.final-cta h2{font-size:47px;max-width:355px}.final-cta p:not(.hand){font-size:11px;max-width:300px}.final-hand{right:4%;top:auto;bottom:25px;font-size:19px}footer{padding:30px 5%}}
/* Visual correction pass 1: keep foreground copy clear while preserving collage depth. */
@media(min-width:901px){
.philosophy.section-pad{grid-template-columns:62% 1fr;gap:3%}.philosophy h2{font-size:57px}.philosophy-leaf{width:18%;left:-5%;top:-18px}
.bali-main{left:-12%;width:112%}.bali-temple{left:70%;width:20%}.bali-water{width:15%}.bali-leaf{left:-7%;bottom:-18%;width:18%;z-index:2}
.karelia-journey:before{left:40%;width:38%}.karelia-copy{left:46%;width:30%}
.about img.people-image{left:49%;top:0;width:39%;height:100%;object-fit:cover;object-position:62% center;mask-image:linear-gradient(90deg,transparent,#000 22%,#000 86%,transparent)}
.about img.people-leaf{right:-9%;left:auto;top:auto;bottom:-48%;width:17%;height:auto;object-fit:contain;mask-image:none;transform:rotate(-35deg)}
.about h2{font-size:67px}
.reviews h2{font-size:55px}
.steps-path{top:123px}
.final-cta-copy{left:8%;width:65%}.final-cta h2{font-size:57px;max-width:900px}
}
@media(max-width:900px) and (min-width:601px){.about img.people-image{left:49%;top:0;width:39%;height:100%;object-fit:cover}.about img.people-leaf{display:none}}
@media(max-width:600px){.philosophy-leaf{width:30%;left:-17%;top:-45px}.bali-leaf{left:-27%;bottom:-24%;width:56%;z-index:2}.bali-main{left:0;width:100%}.bali-temple{left:63%;width:31%}.about img.people-image{left:0;top:290px;width:100%;height:265px;object-fit:cover;object-position:center;mask-image:linear-gradient(180deg,transparent,#000 18%)}.about img.people-leaf{display:none}.about-copy{top:40px}.about h2{font-size:49px}.about-copy>p:not(.eyebrow){line-height:1.4}.about-copy .fact-note{max-width:335px}}
/* Visual correction pass 2: photographic FAQ, clearer captions and numbering. */
@media(min-width:901px){
.people-hand{right:2%;top:39%;font-size:23px;color:#5c614e;max-width:140px;text-align:center}
.step span{position:relative;z-index:2;background:var(--paper);padding:0 9px 0 0}
.reviews.section-pad:after{content:'';position:absolute;right:-6%;top:-50px;width:16%;height:220px;background:url('assets/botanical.png') center/contain no-repeat;transform:rotate(-48deg);pointer-events:none;opacity:.85}
.faq-scene img{object-position:38% center}
.bali-hand{right:2.8%;top:46px;text-shadow:0 1px 8px #2a3f2a9e}
}
@media(max-width:600px){.people-hand{right:4%;top:78%;font-size:20px;max-width:150px}.faq-scene img{object-position:24% center}.steps .step span{background:var(--paper)}}
@media(min-width:901px){.reviews.section-pad:after{right:0;width:11%}}
@media(min-width:901px){.reviews.section-pad{overflow:hidden}}
/* Persistent translucent navigation */
.site-header{position:fixed;top:0;left:0;right:0;width:100%;height:82px;padding:0 4%;z-index:15;background:rgba(251,248,241,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(39,53,40,.12);transition:background-color .2s ease}
.site-header .logo{font-size:33px}
.desktop-nav{font-size:13px;gap:31px}
.header-cta{font-size:13px;padding:14px 21px;min-height:46px}
@media(max-width:900px){.site-header{height:76px;padding-inline:5%}.site-header .logo{font-size:29px}.mobile-nav{top:76px}}
@media(max-width:600px){.site-header{height:70px}.site-header .logo{font-size:27px}.mobile-nav{top:70px}}
/* Mirror the desktop reviews composition horizontally. */
@media(min-width:901px){
.reviews.section-pad{grid-template-columns:1fr 28%}
.reviews-title{grid-column:2;grid-row:1;text-align:right}
.reviews-list{grid-column:1;grid-row:1}
.reviews-note{left:8%}
.reviews.section-pad:after{left:0;right:auto;transform:scaleX(-1) rotate(-48deg)}
}
@media(min-width:901px){
.reviews.section-pad:after{left:auto;right:0;top:auto;bottom:-38px;width:12%;height:155px;transform:scaleX(-1) rotate(-18deg);z-index:0}
.reviews-title,.reviews-list,.reviews-note{position:relative;z-index:1}
.reviews-note{position:absolute}
}
/* Let the reviews botanical accent cross into the next section without page-level x-scroll. */
html,body{overflow-x:clip}
@media(min-width:901px){
.reviews.section-pad{overflow:visible}
.reviews.section-pad:after{right:1.5%;bottom:-70px;width:11%;height:175px;transform:scaleX(-1) rotate(-18deg);transform-origin:bottom right}
}

/* Lower-page composition follows the approved photographic reference. */
@media(min-width:901px){
.faq.section-pad{grid-template-columns:51.5% 48.5%}
.faq-scene>div{right:8%;top:45px;width:52%}
.faq h2{font-size:62px;line-height:.85}
.faq-list{padding:38px 20% 26px 0}
.faq summary{padding:15px 0;font-size:13px}
.final-cta-copy{left:6.4%;top:58px;width:58%}
.final-cta h2{font-size:50px;line-height:.9;max-width:760px;margin-bottom:13px}
.final-cta p:not(.hand){font-size:14px;max-width:550px;line-height:1.5;margin-bottom:18px}
.final-actions .pill{min-width:230px;font-size:14px}
.final-actions .outline-btn{min-width:175px;font-size:14px}
.final-cta small{font-size:11px;margin-top:12px}
.final-hand{right:2.5%;top:49%;width:220px;text-align:center;font-size:24px;transform:rotate(-11deg)}
}
.faq-scene img{opacity:1;object-position:38% 60%}
.faq-scene:after{background:linear-gradient(90deg,rgba(251,248,241,.03) 0%,rgba(251,248,241,.12) 30%,rgba(251,248,241,.65) 65%,var(--paper) 100%)}
.faq-more{display:block;margin:15px 0 0 auto;padding:4px 0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--green);font-size:12px;cursor:pointer}
.faq-more span{margin-left:7px}
.final-cta>img{object-position:center 55%}
.final-cta:before{background:linear-gradient(90deg,rgba(251,237,218,.86) 0%,rgba(251,237,218,.62) 34%,rgba(251,237,218,.08) 66%,transparent 82%)}
.final-cta:after{content:'';position:absolute;top:-1px;left:0;right:0;height:12px;background:var(--paper);clip-path:polygon(0 0,100% 0,100% 52%,83% 72%,67% 42%,50% 66%,31% 38%,14% 64%,0 43%);z-index:3;pointer-events:none}
@media(max-width:900px){.faq-more{margin-right:0}}
@media(max-width:600px){.faq-scene>div{top:35px}.faq h2{font-size:48px}.final-cta h2{font-size:44px}.final-cta p:not(.hand){font-size:12px}.final-actions .pill,.final-actions .outline-btn{font-size:12px}.final-cta:before{background:linear-gradient(180deg,rgba(251,237,218,.97),rgba(251,237,218,.76) 45%,transparent 83%)}}

/* The photograph follows the FAQ row as answers expand. */
@media(min-width:601px){
.faq-scene{height:auto;min-height:365px;align-self:stretch}
.faq-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}

/* Mobile finishing pass: deliberate photo scale, softer pacing, and compact-phone fit. */
@media(max-width:600px){
  html{scroll-padding-top:100px}
  main section[id]{scroll-margin-top:100px}
  .site-header{height:66px}
  .site-header .logo{font-size:25px}
  .mobile-nav{top:66px;padding:23px 7%;gap:0}
  .mobile-nav a,.mobile-nav button{min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
  .mobile-nav button{border-bottom:0}

  .hero{height:min(735px,100svh);min-height:640px}
  .hero-photo:after{background:linear-gradient(180deg,rgba(251,248,241,.99) 0%,rgba(251,248,241,.93) 34%,rgba(251,248,241,.55) 65%,rgba(251,248,241,.08) 88%,transparent 100%)}
  .hero-content{padding-top:108px}
  .hero h1{font-size:clamp(56px,15vw,66px);line-height:.88;max-width:340px}
  .hero-copy{max-width:285px;line-height:1.6}
  .hero-actions{gap:13px}
  .hero-actions .pill{min-height:48px}
  .play-link{padding:5px 10px 5px 5px;border-radius:24px;background:var(--paper);box-shadow:0 3px 12px rgba(32,41,33,.1)}
  .hero-hand{bottom:38px}

  .philosophy.section-pad{padding-top:52px;padding-bottom:48px;min-height:0}
  .philosophy h2{font-size:clamp(43px,12.3vw,51px);line-height:.9;max-width:360px}
  .philosophy>p{max-width:350px;font-size:12px;line-height:1.65;margin-top:19px}

  .bali-journey{height:720px}
  .bali-copy{top:39px;width:90%;padding-right:3%}
  .bali-copy h2{font-size:clamp(69px,19vw,81px)}
  .bali-copy h3{font-size:clamp(29px,8.5vw,35px);white-space:normal;margin-bottom:10px}
  .bali-copy .date{font-size:15px;margin-bottom:12px}
  .bali-copy .date span{padding:0 5px}
  .bali-copy .description{font-size:12px;line-height:1.55;max-width:310px}
  .bali-copy .journey-price{margin-bottom:12px}
  .bali-copy .pill{min-height:47px}
  .bali-main{top:350px;height:345px;object-position:68% center}
  .bali-temple{top:365px;height:238px}
  .bali-water{height:151px;bottom:27px}
  .bali-hand{bottom:52px;right:29%;font-size:18px}

  .karelia-journey{height:680px}
  .karelia-main{height:300px;object-position:32% center}
  .karelia-copy{top:315px;width:75%}
  .karelia-copy h2{font-size:clamp(61px,18vw,74px)}
  .karelia-copy h3{font-size:clamp(28px,8.5vw,34px)}
  .karelia-copy .date{font-size:15px}
  .karelia-copy .description{font-size:12px;line-height:1.55;max-width:265px}
  .karelia-copy .pill{min-height:47px}
  .karelia-person{top:322px;height:190px}

  .for-whom-inner{padding-top:61px;padding-bottom:62px}
  .for-whom h2{font-size:clamp(47px,14vw,56px)}
  .for-whom ul{gap:12px;font-size:12px;line-height:1.5}
  .about.section-pad{height:auto;min-height:0;padding:0 0 0}
  .about-copy{position:relative;left:auto;top:auto;width:auto;padding:53px 5% 23px}
  .about h2{font-size:clamp(43px,12.7vw,52px)}
  .about-copy>p:not(.eyebrow){font-size:12px;line-height:1.6}
  .about-copy .fact-note{font-size:10px;line-height:1.5}
  .about img.people-image{position:relative;left:auto;top:auto;width:100%;height:clamp(280px,86vw,370px);object-position:58% center;mask-image:linear-gradient(180deg,transparent,#000 12%)}
  .people-hand{top:auto;bottom:20px;right:6%;max-width:150px;text-align:right}

  .reviews.section-pad{padding-top:54px;padding-bottom:42px}
  .reviews-list{gap:16px;margin-right:-5.5vw;padding-right:5.5vw}
  .review-entry{min-width:78%;padding-right:10px}
  .review-entry p{min-height:0;line-height:1.13}
  .review-entry small{line-height:1.5}
  .reviews-note{font-size:10px;line-height:1.5}

  .steps.section-pad{padding-top:51px;padding-bottom:55px}
  .step{display:grid;grid-template-columns:48px 1fr;column-gap:13px;align-items:start;padding:20px 0}
  .step span{grid-row:1 / span 2;font-size:47px;line-height:.9}
  .step h3{font-size:22px;margin:0 0 5px}
  .step p{font-size:12px;line-height:1.55;margin:0;max-width:340px}

  .faq-scene{height:clamp(255px,72vw,310px)}
  .faq-scene img{object-position:34% center}
  .faq-scene:after{background:linear-gradient(180deg,rgba(251,248,241,.1),rgba(251,248,241,.08) 55%,var(--paper) 100%)}
  .faq-scene>div{left:5%;right:auto;top:30px;width:82%}
  .faq h2{font-size:clamp(44px,13vw,53px);line-height:.9}
  .faq-list{padding-top:8px;padding-bottom:43px}
  .faq details{font-size:12px}
  .faq summary{min-height:55px;padding:12px 0;gap:12px;line-height:1.45}
  .faq summary:after{flex:none}
  .faq details p{font-size:12px;line-height:1.65;padding:0 10px 16px 0}
  .faq-more{min-height:44px}

  .final-cta{height:clamp(525px,150vw,600px)}
  .final-cta>img{object-position:68% center}
  .final-cta-copy{top:51px}
  .final-cta h2{font-size:clamp(40px,12.4vw,49px);line-height:.92}
  .final-cta p:not(.hand){font-size:12px;line-height:1.55}
  .final-actions{align-items:stretch;flex-direction:column;max-width:290px;gap:10px}
  .final-actions .pill,.final-actions .outline-btn{min-height:48px;font-size:12px}
  .final-cta small{font-size:10px}
  footer{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:34px 7% 37px;align-items:start}
  footer .logo{grid-column:1/-1;justify-self:center;margin-bottom:5px}
  footer nav{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:4px 0 0;text-align:center}
  footer nav a{min-height:38px;display:grid;place-items:center;border-bottom:1px solid rgba(32,41,33,.09)}
  footer p{grid-column:1/-1;text-align:center;line-height:1.6;margin-top:3px}

  .detail-hero{height:650px}
  .detail-hero h2{font-size:clamp(58px,17vw,70px)}
  .detail-intro img,.detail-feature img{height:clamp(230px,70vw,290px)}
  .detail-gallery{scroll-snap-type:x mandatory}
  .detail-gallery img{scroll-snap-align:center}
  .contact-panel{padding:66px 7% 40px}
  .contact-panel input,.contact-panel select,.contact-panel textarea{font-size:16px}
}
@media(max-width:370px){
  .hero{min-height:620px;height:100svh}
  .hero-content{padding-top:101px}
  .hero h1{font-size:56px}
  .hero .eyebrow,.eyebrow{letter-spacing:.19em;font-size:9px}
  .hero-actions .pill{padding-inline:14px;font-size:11px}
  .bali-journey{height:746px}
  .bali-copy{top:32px;width:94%}
  .bali-copy h2{font-size:68px}
  .bali-copy h3{font-size:28px}
  .bali-copy .description{max-width:270px}
  .bali-main{top:374px;height:345px}
  .bali-temple{top:386px;height:220px}
  .karelia-copy{width:78%}
  .karelia-person{height:168px;top:328px}
  .faq h2{font-size:44px}
  .final-cta h2{font-size:40px}
  .detail-hero h2{font-size:58px}
}
@media(max-width:900px) and (min-width:601px){
  .philosophy-leaf{width:19%;left:-10%;top:-22px;opacity:.24}
  .philosophy-heading,.philosophy>p{position:relative;z-index:1}
}
@media(max-width:700px) and (min-width:601px){
  .philosophy.section-pad{grid-template-columns:1fr;gap:18px;padding:40px 8% 44px}
  .philosophy h2{font-size:clamp(45px,7.8vw,54px);line-height:.88}
  .philosophy>p{border:0;padding:0;margin:0;font-size:12px;line-height:1.65;max-width:480px}
  .philosophy-leaf{width:17%;left:-8%;top:-15px}
}
@media(max-width:600px){
  .karelia-copy{width:80%}
  .karelia-copy h3{font-size:clamp(29px,7.8vw,34px);white-space:nowrap;max-width:none}
  .final-cta{height:clamp(610px,155vw,660px)}
  .final-cta:before{background:linear-gradient(180deg,rgba(251,237,218,.98) 0%,rgba(251,237,218,.95) 56%,rgba(251,237,218,.7) 82%,rgba(251,237,218,.28) 100%)}
  .final-actions .outline-btn{background:rgba(251,248,241,.95);color:var(--green);border-color:rgba(36,59,41,.55)}
  .final-cta small{color:var(--ink);font-size:11px}
}

/* Readable mobile copy with image sections that grow with their content. */
@media(max-width:600px){
  body{font-size:14px}
  .eyebrow{font-size:11px;letter-spacing:.18em}
  .hero-copy{font-size:15px;line-height:1.55;max-width:330px}
  .hero-topic{font-size:19px}
  .hero-actions .pill,.play-link{font-size:14px}
  .philosophy>p{font-size:15px;line-height:1.6;max-width:380px}
  .bali-journey{height:auto;padding-bottom:365px}
  .bali-copy{position:relative;left:auto;top:auto;width:100%;padding:39px 5% 22px}
  .bali-copy .description{font-size:14px;line-height:1.55;max-width:340px}
  .bali-copy .date{font-size:17px}
  .bali-copy .pill,.karelia-copy .pill{font-size:14px}
  .bali-main{top:auto;bottom:25px;height:345px}
  .bali-temple{top:auto;bottom:117px;height:238px}
  .bali-water{bottom:27px}
  .karelia-journey{height:auto;padding-top:300px}
  .karelia-copy{position:relative;left:auto;top:auto;width:100%;padding:23px 5% 48px}
  .karelia-copy .description{font-size:14px;line-height:1.55;max-width:340px}
  .karelia-copy .date{font-size:17px}
  .karelia-person{top:42px;right:5%;width:27%;height:210px}
  .for-whom ul{font-size:14px;line-height:1.55}
  .about-copy>p:not(.eyebrow){font-size:14px;line-height:1.6}
  .about-copy .fact-note{font-size:12px;line-height:1.55}
  .about .text-link{font-size:14px}
  .step p{font-size:14px;line-height:1.55}
  .faq details,.faq details p{font-size:14px}
  .faq-more{font-size:14px}
  .final-cta{height:auto;min-height:690px}
  .final-cta-copy{width:90%}
  .final-cta p:not(.hand){font-size:14px;line-height:1.55;max-width:340px}
  .final-actions .pill,.final-actions .outline-btn{font-size:14px}
  .final-cta small{font-size:12px}
  footer nav{font-size:13px}
  footer p{font-size:13px}
}
@media(max-width:370px){
  .hero{min-height:685px;height:auto}
  .hero-copy{font-size:14px}
  .hero .eyebrow,.eyebrow{font-size:10px}
  .hero-actions .pill{font-size:13px}
  .bali-copy{width:100%}
  .bali-copy .description{max-width:300px}
  .karelia-copy{width:100%}
  .karelia-copy h3{white-space:normal}
}

/* Footer contact details. */
footer{display:grid;grid-template-columns:minmax(185px,1.1fr) minmax(110px,.65fr) minmax(170px,.8fr) minmax(210px,1.1fr);align-items:start;gap:25px;padding-block:42px}
footer .footer-brand p{margin:12px 0 0;line-height:1.55;color:#687268}
footer .footer-nav,footer .footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:none;margin:0}
footer .footer-nav a,footer .footer-contacts a{font-size:13px;line-height:1.5}
footer .footer-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-style:normal}
footer .footer-contacts span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
footer .footer-legal a,footer .footer-legal button{font-size:11px;line-height:1.5}
footer .footer-contacts a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){
  footer{grid-template-columns:1fr 1fr;gap:28px 35px}
  footer .footer-brand{grid-column:1/-1}
}
@media(max-width:600px){
  footer{grid-template-columns:1fr;gap:24px;padding:36px 7% 42px;text-align:center}
  footer .footer-brand{grid-column:1;display:grid;justify-items:center}
  footer .footer-brand .logo{grid-column:auto;margin:0}
  footer .footer-brand p{grid-column:auto;margin:10px 0 0;font-size:13px}
  footer .footer-nav{display:grid;grid-column:1;grid-template-columns:1fr 1fr;gap:0 18px;align-items:stretch;width:100%;margin:0}
  footer .footer-nav a{min-height:38px;display:grid;place-items:center;border-bottom:1px solid rgba(32,41,33,.09);font-size:13px}
  footer .footer-contacts{grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;justify-items:center;border-top:1px solid var(--line);padding-top:21px}
  footer .footer-contacts span,footer .footer-contacts a[href^="tel:"]{grid-column:1/-1}
  footer .footer-contacts a{font-size:14px}
  footer .footer-legal{grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;width:100%;align-items:start;justify-items:center;border-top:1px solid var(--line);padding-top:21px;margin:0}
  footer .footer-legal a,footer .footer-legal button{font-size:12px;text-align:center}
}
