/* Split photographs, warm space, and a different continuously moving nature drawing on each page. */
.hero.hero-split {
 display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
 gap:24px clamp(28px,4.5vw,64px);
 padding:24px max(var(--gutter),calc((100vw - var(--max))/2)) 42px;
 color:var(--text); background:var(--cream);
}
.hero.hero-split::after {display:none;}
.hero.hero-split .breadcrumbs {position:static;grid-column:1/-1;grid-row:1;width:100%;margin:0;padding:0;color:var(--muted);}
.hero.hero-split .breadcrumbs a {color:var(--muted);}
.hero.hero-split .hero-content {
 grid-column:1;grid-row:2;width:100%;max-width:none;min-height:0;margin:0;padding:16px 0;
 justify-content:center;
}
.hero.hero-split h1 {font-size:clamp(2.2rem,4.6vw,3.8rem);color:var(--charcoal);text-shadow:none;}
.hero.hero-split p {color:var(--text);text-shadow:none;}
.hero.hero-split .eyebrow {color:var(--olive)!important;}
.hero.hero-split .hero-media {
 position:relative;inset:auto;grid-column:2;grid-row:2;align-self:center;display:flex;justify-content:flex-end;
 width:100%;height:auto;aspect-ratio:auto!important;transform:none!important;
 background:transparent;box-shadow:none;border-radius:0;overflow:visible;will-change:auto;
}
.hero.hero-split .hero-media picture,
.page-head-photo .page-head-media picture {
 position:static;inset:auto;display:flex;align-items:center;justify-content:flex-end;width:100%;height:auto;
}
.hero.hero-split .hero-media img,
.page-head-photo .page-head-media img {
 position:static;inset:auto;display:block;width:auto;height:auto;max-width:100%;max-height:560px;
 aspect-ratio:auto;object-fit:contain;object-position:center;transform:none!important;animation:none!important;
 border-radius:var(--radius-l);box-shadow:var(--shadow);
}
.hero.hero-split .btn-ghost {color:var(--olive-dark);border-color:var(--sage);background:var(--paper);}
.hero.hero-split .btn-ghost:hover {background:var(--sage-soft);}
.hero.hero-split .play-link {color:var(--olive-dark);text-shadow:none;}
.hero.hero-split .play-link .pl {border-color:var(--sage);background:var(--sage-soft);color:var(--olive-dark);}
.hero.hero-split .hero-facts {color:var(--muted);}
.hero.hero-split .hero-facts li {color:var(--muted);}
.hero.hero-split .eyebrow,.hero.hero-split .hero-facts,.hero.hero-split .hero-facts li {text-shadow:none;}
.hero.hero-home.hero-split {padding-top:38px;padding-bottom:24px;}
.hero.hero-home.hero-split .hero-content,.hero.hero-home.hero-split .hero-media {grid-row:1;}
.hero-split + .booking-float {margin-top:0;padding-top:12px;}
.page-head-photo .page-head-media {display:flex;justify-content:flex-end;background:transparent;box-shadow:none;overflow:visible;border-radius:0;}
.page-head-photo .page-head-media figure {width:100%;margin:0;}
.page-head-copy .byline {font-size:.9rem;color:var(--muted);}
.room-heading {padding-block:32px 42px;}
.room-heading-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:clamp(28px,4.5vw,64px);align-items:center;}
.room-heading-copy {min-width:0;}
.room-heading-media {min-width:0;}
.room-heading-media .room-hero-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:10px;}
.room-heading-media .room-hero-grid figure:first-child {grid-row:auto;grid-column:1/-1;}
.room-heading-media .room-hero-grid figure:first-child img {aspect-ratio:auto;height:auto;object-fit:contain;}
.room-heading-media .room-hero-grid figure:not(:first-child) img {aspect-ratio:2/1;object-fit:cover;}
.property-intro-photo,.property-intro-photo img {height:auto!important;aspect-ratio:auto!important;object-fit:contain;}
.split-media:has(.property-intro-photo) {aspect-ratio:auto;height:auto;}
.page-nature-scene {width:clamp(190px,20vw,270px);max-width:100%;margin:20px 0 0;pointer-events:none;user-select:none;}
.page-nature-scene svg {display:block;width:100%;height:auto;overflow:visible;}
.page-nature-scene .scene-primary,.page-nature-scene .scene-secondary {transform-box:fill-box;transform-origin:center bottom;}
.center .page-nature-scene {margin-inline:auto;}
.page-nature-scene.scene-paused * {animation-play-state:paused!important;}

@media (max-width:759px) {
 .hero.hero-split {grid-template-columns:minmax(0,1fr);gap:22px;padding-top:22px;padding-bottom:28px;}
 .hero.hero-split .hero-content {grid-column:1;grid-row:2;padding:0;}
 .hero.hero-split .hero-media {grid-column:1;grid-row:3;justify-content:center;}
 .hero.hero-split .hero-media picture,.page-head-photo .page-head-media picture {justify-content:center;}
 .hero.hero-split .hero-media img,.page-head-photo .page-head-media img {max-height:430px;border-radius:var(--radius);}
 .hero.hero-home.hero-split {padding-top:28px;}
 .hero.hero-home.hero-split .hero-content {grid-row:1;}
 .hero.hero-home.hero-split .hero-media {grid-row:2;}
 .hero.hero-split h1 {font-size:clamp(2.15rem,8vw,3rem);}
 .room-heading-layout {grid-template-columns:minmax(0,1fr);gap:24px;}
 .page-nature-scene {width:185px;margin-top:14px;}
}
@media (prefers-reduced-motion:reduce) {
 .page-nature-scene * {animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:1!important;}
 .page-nature-scene .scene-primary,.page-nature-scene .scene-secondary {transform:none!important;}
}

@media (prefers-reduced-motion: no-preference) {
[data-page-scene="404"].scene-active .scene-primary {animation: tn-404-rise 12s ease-in-out infinite both;}
[data-page-scene="404"].scene-active .scene-secondary {animation: tn-404-sway 18s ease-in-out infinite both;}
@keyframes tn-404-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-404-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="about"].scene-active .scene-primary {animation: tn-about-rise 12s ease-in-out infinite both;}
[data-page-scene="about"].scene-active .scene-secondary {animation: tn-about-sway 18s ease-in-out infinite both;}
@keyframes tn-about-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-about-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="about-our-philosophy"].scene-active .scene-primary {animation: tn-about-our-philosophy-rise 12s ease-in-out infinite both;}
[data-page-scene="about-our-philosophy"].scene-active .scene-secondary {animation: tn-about-our-philosophy-sway 18s ease-in-out infinite both;}
@keyframes tn-about-our-philosophy-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-about-our-philosophy-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="apply"].scene-active .scene-primary {animation: tn-apply-rise 12s ease-in-out infinite both;}
[data-page-scene="apply"].scene-active .scene-secondary {animation: tn-apply-sway 18s ease-in-out infinite both;}
@keyframes tn-apply-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-apply-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="apply-thanks"].scene-active .scene-primary {animation: tn-apply-thanks-rise 12s ease-in-out infinite both;}
[data-page-scene="apply-thanks"].scene-active .scene-secondary {animation: tn-apply-thanks-sway 18s ease-in-out infinite both;}
@keyframes tn-apply-thanks-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-apply-thanks-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="before-you-come"].scene-active .scene-primary {animation: tn-before-you-come-rise 12s ease-in-out infinite both;}
[data-page-scene="before-you-come"].scene-active .scene-secondary {animation: tn-before-you-come-sway 18s ease-in-out infinite both;}
@keyframes tn-before-you-come-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-before-you-come-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="book"].scene-active .scene-primary {animation: tn-book-rise 12s ease-in-out infinite both;}
[data-page-scene="book"].scene-active .scene-secondary {animation: tn-book-sway 18s ease-in-out infinite both;}
@keyframes tn-book-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-book-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="booking-confirmed"].scene-active .scene-primary {animation: tn-booking-confirmed-rise 12s ease-in-out infinite both;}
[data-page-scene="booking-confirmed"].scene-active .scene-secondary {animation: tn-booking-confirmed-sway 18s ease-in-out infinite both;}
@keyframes tn-booking-confirmed-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-booking-confirmed-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="chiang-mai-weather-retreat-seasons"].scene-active .scene-primary {animation: tn-chiang-mai-weather-retreat-seasons-rise 12s ease-in-out infinite both;}
[data-page-scene="chiang-mai-weather-retreat-seasons"].scene-active .scene-secondary {animation: tn-chiang-mai-weather-retreat-seasons-sway 18s ease-in-out infinite both;}
@keyframes tn-chiang-mai-weather-retreat-seasons-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-chiang-mai-weather-retreat-seasons-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="contact"].scene-active .scene-primary {animation: tn-contact-rise 12s ease-in-out infinite both;}
[data-page-scene="contact"].scene-active .scene-secondary {animation: tn-contact-sway 18s ease-in-out infinite both;}
@keyframes tn-contact-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-contact-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="contact-thanks"].scene-active .scene-primary {animation: tn-contact-thanks-rise 12s ease-in-out infinite both;}
[data-page-scene="contact-thanks"].scene-active .scene-secondary {animation: tn-contact-thanks-sway 18s ease-in-out infinite both;}
@keyframes tn-contact-thanks-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-contact-thanks-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="experience-daily-life"].scene-active .scene-primary {animation: tn-experience-daily-life-rise 12s ease-in-out infinite both;}
[data-page-scene="experience-daily-life"].scene-active .scene-secondary {animation: tn-experience-daily-life-sway 18s ease-in-out infinite both;}
@keyframes tn-experience-daily-life-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-experience-daily-life-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="experience"].scene-active .scene-primary {animation: tn-experience-rise 12s ease-in-out infinite both;}
[data-page-scene="experience"].scene-active .scene-secondary {animation: tn-experience-sway 18s ease-in-out infinite both;}
@keyframes tn-experience-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-experience-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="experience-nature"].scene-active .scene-primary {animation: tn-experience-nature-rise 12s ease-in-out infinite both;}
[data-page-scene="experience-nature"].scene-active .scene-secondary {animation: tn-experience-nature-sway 18s ease-in-out infinite both;}
@keyframes tn-experience-nature-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-experience-nature-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="faq"].scene-active .scene-primary {animation: tn-faq-rise 12s ease-in-out infinite both;}
[data-page-scene="faq"].scene-active .scene-secondary {animation: tn-faq-sway 18s ease-in-out infinite both;}
@keyframes tn-faq-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-faq-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="getting-here"].scene-active .scene-primary {animation: tn-getting-here-rise 12s ease-in-out infinite both;}
[data-page-scene="getting-here"].scene-active .scene-secondary {animation: tn-getting-here-sway 18s ease-in-out infinite both;}
@keyframes tn-getting-here-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-getting-here-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="guest-stories"].scene-active .scene-primary {animation: tn-guest-stories-rise 12s ease-in-out infinite both;}
[data-page-scene="guest-stories"].scene-active .scene-secondary {animation: tn-guest-stories-sway 18s ease-in-out infinite both;}
@keyframes tn-guest-stories-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-guest-stories-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="home"].scene-active .scene-primary {animation: tn-home-rise 12s ease-in-out infinite both;}
[data-page-scene="home"].scene-active .scene-secondary {animation: tn-home-sway 18s ease-in-out infinite both;}
@keyframes tn-home-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-home-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="journal-best-time-to-visit-chiang-mai-for-a-retreat"].scene-active .scene-primary {animation: tn-journal-best-time-to-visit-chiang-mai-for-a-retreat-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-best-time-to-visit-chiang-mai-for-a-retreat"].scene-active .scene-secondary {animation: tn-journal-best-time-to-visit-chiang-mai-for-a-retreat-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-best-time-to-visit-chiang-mai-for-a-retreat-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-journal-best-time-to-visit-chiang-mai-for-a-retreat-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="journal-how-long-should-i-stay"].scene-active .scene-primary {animation: tn-journal-how-long-should-i-stay-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-how-long-should-i-stay"].scene-active .scene-secondary {animation: tn-journal-how-long-should-i-stay-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-how-long-should-i-stay-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-journal-how-long-should-i-stay-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="journal"].scene-active .scene-primary {animation: tn-journal-rise 12s ease-in-out infinite both;}
[data-page-scene="journal"].scene-active .scene-secondary {animation: tn-journal-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-journal-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="journal-solo-travel-retreat-chiang-mai"].scene-active .scene-primary {animation: tn-journal-solo-travel-retreat-chiang-mai-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-solo-travel-retreat-chiang-mai"].scene-active .scene-secondary {animation: tn-journal-solo-travel-retreat-chiang-mai-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-solo-travel-retreat-chiang-mai-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-journal-solo-travel-retreat-chiang-mai-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="journal-what-a-retreat-day-is-really-like"].scene-active .scene-primary {animation: tn-journal-what-a-retreat-day-is-really-like-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-what-a-retreat-day-is-really-like"].scene-active .scene-secondary {animation: tn-journal-what-a-retreat-day-is-really-like-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-what-a-retreat-day-is-really-like-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-journal-what-a-retreat-day-is-really-like-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="journal-yoga-retreat-for-beginners-thailand"].scene-active .scene-primary {animation: tn-journal-yoga-retreat-for-beginners-thailand-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-yoga-retreat-for-beginners-thailand"].scene-active .scene-secondary {animation: tn-journal-yoga-retreat-for-beginners-thailand-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-yoga-retreat-for-beginners-thailand-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-journal-yoga-retreat-for-beginners-thailand-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="plan-your-visit"].scene-active .scene-primary {animation: tn-plan-your-visit-rise 12s ease-in-out infinite both;}
[data-page-scene="plan-your-visit"].scene-active .scene-secondary {animation: tn-plan-your-visit-sway 18s ease-in-out infinite both;}
@keyframes tn-plan-your-visit-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-plan-your-visit-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="property"].scene-active .scene-primary {animation: tn-property-rise 12s ease-in-out infinite both;}
[data-page-scene="property"].scene-active .scene-secondary {animation: tn-property-sway 18s ease-in-out infinite both;}
@keyframes tn-property-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-property-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="retreat-activities"].scene-active .scene-primary {animation: tn-retreat-activities-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-activities"].scene-active .scene-secondary {animation: tn-retreat-activities-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-activities-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-retreat-activities-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="retreat-daily-schedule"].scene-active .scene-primary {animation: tn-retreat-daily-schedule-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-daily-schedule"].scene-active .scene-secondary {animation: tn-retreat-daily-schedule-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-daily-schedule-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-retreat-daily-schedule-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="retreat-food"].scene-active .scene-primary {animation: tn-retreat-food-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-food"].scene-active .scene-secondary {animation: tn-retreat-food-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-food-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-retreat-food-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="retreat-how-long-to-stay"].scene-active .scene-primary {animation: tn-retreat-how-long-to-stay-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-how-long-to-stay"].scene-active .scene-secondary {animation: tn-retreat-how-long-to-stay-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-how-long-to-stay-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-retreat-how-long-to-stay-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="retreat"].scene-active .scene-primary {animation: tn-retreat-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat"].scene-active .scene-secondary {animation: tn-retreat-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-retreat-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="retreat-meditation"].scene-active .scene-primary {animation: tn-retreat-meditation-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-meditation"].scene-active .scene-secondary {animation: tn-retreat-meditation-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-meditation-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-retreat-meditation-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="retreat-yoga"].scene-active .scene-primary {animation: tn-retreat-yoga-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-yoga"].scene-active .scene-secondary {animation: tn-retreat-yoga-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-yoga-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-retreat-yoga-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="right-now"].scene-active .scene-primary {animation: tn-right-now-rise 12s ease-in-out infinite both;}
[data-page-scene="right-now"].scene-active .scene-secondary {animation: tn-right-now-sway 18s ease-in-out infinite both;}
@keyframes tn-right-now-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-right-now-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="stay-bamboo-bungalow"].scene-active .scene-primary {animation: tn-stay-bamboo-bungalow-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-bamboo-bungalow"].scene-active .scene-secondary {animation: tn-stay-bamboo-bungalow-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-bamboo-bungalow-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-stay-bamboo-bungalow-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="stay-bamboo-house"].scene-active .scene-primary {animation: tn-stay-bamboo-house-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-bamboo-house"].scene-active .scene-secondary {animation: tn-stay-bamboo-house-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-bamboo-house-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-stay-bamboo-house-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="stay-earth-house"].scene-active .scene-primary {animation: tn-stay-earth-house-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-earth-house"].scene-active .scene-secondary {animation: tn-stay-earth-house-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-earth-house-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-stay-earth-house-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="stay"].scene-active .scene-primary {animation: tn-stay-rise 12s ease-in-out infinite both;}
[data-page-scene="stay"].scene-active .scene-secondary {animation: tn-stay-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-stay-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="stay-nature-tent"].scene-active .scene-primary {animation: tn-stay-nature-tent-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-nature-tent"].scene-active .scene-secondary {animation: tn-stay-nature-tent-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-nature-tent-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-stay-nature-tent-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="stay-rose-house"].scene-active .scene-primary {animation: tn-stay-rose-house-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-rose-house"].scene-active .scene-secondary {animation: tn-stay-rose-house-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-rose-house-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-stay-rose-house-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="stay-triangle-house"].scene-active .scene-primary {animation: tn-stay-triangle-house-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-triangle-house"].scene-active .scene-secondary {animation: tn-stay-triangle-house-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-triangle-house-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-stay-triangle-house-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="stay-wooden-cottage"].scene-active .scene-primary {animation: tn-stay-wooden-cottage-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-wooden-cottage"].scene-active .scene-secondary {animation: tn-stay-wooden-cottage-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-wooden-cottage-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-stay-wooden-cottage-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="team"].scene-active .scene-primary {animation: tn-team-rise 12s ease-in-out infinite both;}
[data-page-scene="team"].scene-active .scene-secondary {animation: tn-team-sway 18s ease-in-out infinite both;}
@keyframes tn-team-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-team-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="ttc-curriculum"].scene-active .scene-primary {animation: tn-ttc-curriculum-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-curriculum"].scene-active .scene-secondary {animation: tn-ttc-curriculum-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-curriculum-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-ttc-curriculum-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="ttc-daily-schedule"].scene-active .scene-primary {animation: tn-ttc-daily-schedule-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-daily-schedule"].scene-active .scene-secondary {animation: tn-ttc-daily-schedule-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-daily-schedule-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-ttc-daily-schedule-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="ttc-dates-prices"].scene-active .scene-primary {animation: tn-ttc-dates-prices-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-dates-prices"].scene-active .scene-secondary {animation: tn-ttc-dates-prices-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-dates-prices-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-ttc-dates-prices-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="ttc-faq"].scene-active .scene-primary {animation: tn-ttc-faq-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-faq"].scene-active .scene-secondary {animation: tn-ttc-faq-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-faq-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-ttc-faq-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="ttc"].scene-active .scene-primary {animation: tn-ttc-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc"].scene-active .scene-secondary {animation: tn-ttc-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-ttc-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="ttc-is-this-for-me"].scene-active .scene-primary {animation: tn-ttc-is-this-for-me-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-is-this-for-me"].scene-active .scene-secondary {animation: tn-ttc-is-this-for-me-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-is-this-for-me-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-ttc-is-this-for-me-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="ttc-teachers"].scene-active .scene-primary {animation: tn-ttc-teachers-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-teachers"].scene-active .scene-secondary {animation: tn-ttc-teachers-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-teachers-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-ttc-teachers-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="what-to-bring"].scene-active .scene-primary {animation: tn-what-to-bring-rise 12s ease-in-out infinite both;}
[data-page-scene="what-to-bring"].scene-active .scene-secondary {animation: tn-what-to-bring-sway 18s ease-in-out infinite both;}
@keyframes tn-what-to-bring-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-what-to-bring-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}

}

/* October 20: fuller photographs remain in their own grid column. */
.hero.hero-split .hero-media img,
.page-head-photo .page-head-media img {
 width:min(100%,calc(560px * var(--tn-photo-ratio,1.5)));
}
@media (max-width:759px) {
 .hero.hero-split .hero-media img,
 .page-head-photo .page-head-media img {
  width:min(100%,calc(430px * var(--tn-photo-ratio,1.5)));
 }
}
@media (min-width:960px) {
 .hero.hero-split {
  grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);
  column-gap:clamp(28px,3.4vw,48px);
  padding-inline:max(var(--gutter),calc((100vw - 1280px)/2));
 }
 .page-head-photo .page-head-layout,.room-heading .room-heading-layout {
  max-width:1344px;
  grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);
  column-gap:clamp(28px,3.4vw,48px);
 }
}

/* Fuller drawings occupy their own space, separate from copy and controls. */
.page-nature-scene {width:clamp(300px,31vw,440px);margin-top:24px;padding:8px 10px 6px;}
.page-nature-scene svg {overflow:visible;}
.page-nature-scene .scene-primary:nth-of-type(even) {animation-delay:-3s;animation-direction:reverse;}
.page-nature-scene .scene-secondary:nth-of-type(even) {animation-delay:-4.5s;animation-direction:reverse;}

/* A composed first impression: two clear headline lines, one action group, and a photo with its own animated landscape. */
.hero.hero-home.hero-split {align-items:center;padding-top:clamp(28px,4vw,56px);padding-bottom:32px;}
.hero.hero-home.hero-split .hero-content {align-self:center;padding:0;min-width:0;}
.hero.hero-home.hero-split h1 {font-size:clamp(2.65rem,4.75vw,4.25rem);line-height:1.12;letter-spacing:-.025em;max-width:none;}
.hero.hero-home.hero-split h1 {margin:0 0 24px;}
.home-hero-line {display:block;}
.hero.hero-home.hero-split h1 em {color:var(--terracotta-dark);font-weight:500;}
.hero.hero-home.hero-split .eyebrow {max-width:none;margin-bottom:20px;font-size:.73rem;letter-spacing:.13em;line-height:1.7;}
.hero.hero-home.hero-split .lead {max-width:43ch;font-size:clamp(1.05rem,1.4vw,1.18rem);line-height:1.7;margin-bottom:0;}
.home-hero-actions {margin-top:28px;}
.hero.hero-home.hero-split .home-hero-actions .btn-row {margin:0;gap:10px;}
.hero.hero-home.hero-split .home-hero-actions .btn {padding-inline:1.15em;}
.hero.hero-home.hero-split .home-hero-actions .play-link {margin-top:16px;font-size:.92rem;gap:10px;}
.hero.hero-home.hero-split .home-hero-actions .play-link .pl {width:34px;height:34px;}
.hero.hero-home.hero-split .hero-facts {margin-top:22px;font-size:.79rem;gap:8px 16px;}
.home-hero-visual {grid-column:2;grid-row:1;display:grid;gap:16px;min-width:0;align-self:center;}
.hero.hero-home.hero-split .home-hero-visual .hero-media {grid-column:auto;grid-row:auto;width:100%;}
.home-hero-visual .page-nature-scene {justify-self:center;width:min(90%,500px);margin:0;padding-block:10px 6px;}

/* Solid mobile navigation and input-aware focus preserve a clear current-page indicator. */
@media(max-width:1079px) {
 .js .site-nav {background:var(--cream);}
 .site-nav a:focus:not(:focus-visible),.nav-toggle:focus:not(:focus-visible) {outline:none;}
}
@media(min-width:760px) and (max-width:959px) {
 .hero.hero-home.hero-split h1 {font-size:clamp(2.45rem,4.8vw,3rem);}
 .hero.hero-home.hero-split .home-hero-actions .btn-row {display:grid;justify-items:start;}
 .home-hero-visual .page-nature-scene {width:100%;}
}
@media(max-width:759px) {
 .page-nature-scene {width:min(100%,350px);margin-top:18px;padding:8px 10px;}
 .hero.hero-home.hero-split {gap:26px;padding-top:28px;padding-bottom:24px;}
 .hero.hero-home.hero-split h1 {font-size:clamp(2rem,8.6vw,3.2rem);margin-bottom:20px;line-height:1.15;}
 .hero.hero-home.hero-split .eyebrow {font-size:.68rem;margin-bottom:16px;}
 .hero.hero-home.hero-split .lead {font-size:1.05rem;line-height:1.65;max-width:44ch;}
 .home-hero-actions {margin-top:22px;}
 .hero.hero-home.hero-split .hero-facts {margin-top:18px;gap:7px 14px;}
 .home-hero-visual {grid-column:1;grid-row:2;gap:10px;}
 .home-hero-visual .page-nature-scene {width:min(100%,380px);margin:0;}
}
@media(max-width:369px) {
 .hero.hero-home.hero-split .home-hero-actions .btn-row {display:grid;}
 .hero.hero-home.hero-split .home-hero-actions .btn {width:100%;}
}

@media(max-width:759px) {
 .hero.hero-home.hero-split .home-hero-actions .btn-row {display:grid;}
 .hero.hero-home.hero-split .home-hero-actions .btn {width:100%;}
}
@media(max-width:1079px) {
 .site-nav .nav-cta .btn-primary {color:#fff;}
}

/* Cross-page transitions can be aborted by quick mobile navigation; scene loops stay independent. */
@media(max-width:1079px) {
 @view-transition {navigation:none;}
}
@media(prefers-reduced-motion:reduce) {
 @view-transition {navigation:none;}
}
