/* Shared layout and interaction system. Loaded after page styles. */
:root{--content-width:1240px;--action:#c3c8a4;--action-rule:#8c9674}
.shell,.header-inner{width:min(var(--content-width),calc(100% - 80px))}
.header-inner{min-height:96px;gap:24px}.brand,.brand img{width:230px}
body .text-link{display:inline-flex;align-items:center;gap:12px;max-width:100%;min-height:44px;margin-top:26px;padding:8px 0;border:0;border-bottom:1px solid var(--action-rule);border-radius:0;background:transparent;color:var(--action);font:500 14px/1.5 var(--sans);letter-spacing:.015em;text-align:left;text-decoration:none;transition:color .18s,border-color .18s,background-color .18s}
body .text-link strong{font-weight:inherit}
body .light-section .text-link{color:#4c5837;border-color:#6b7754}
body .book-button,body .text-link.experience-booking,body .text-link[data-destination="BOOKING_URL"]{padding:12px 20px;border:1px solid var(--action-rule);background:transparent;color:var(--paper);font:500 14px/1.5 var(--sans);letter-spacing:.015em;min-height:46px;border-radius:0}
body .light-section .text-link[data-destination="BOOKING_URL"]{color:var(--ink)}
body .text-link:not([aria-disabled]):hover{color:var(--paper);border-color:var(--paper)}
body .light-section .text-link:not([aria-disabled]):hover{color:#20291c;border-color:#20291c}
body .book-button:not([aria-disabled]):hover,body .experience-booking:not([aria-disabled]):hover{background:#414832;color:var(--paper)}
body .nav-link{font:500 14px/1.5 var(--sans);letter-spacing:.045em;padding-block:8px;border-bottom:1px solid transparent}
body nav .nav-link[aria-current="page"]{color:var(--action);border-bottom:1px solid var(--action-rule);text-decoration:none;padding-bottom:8px}
body a:focus-visible,body button:focus-visible{outline:2px solid var(--action-rule);outline-offset:5px}
body .pending{cursor:not-allowed}
.forest-hero,.method-opening{width:min(var(--content-width),calc(100% - 80px))}
@media(min-width:801px){
.forest-hero{margin-top:20px;gap:16px;margin-bottom:40px}.forest-hero-main{min-height:0}.forest-hero-copy{padding:32px;max-width:none}.forest-hero-copy h1,.experience-intro h1,.method-hero h1{font-size:clamp(2.8rem,3.5vw,3.8rem);line-height:1.04;margin-bottom:22px}.forest-hero-copy p{font-size:16px;line-height:1.65}.forest-hero-copy p+p{margin-top:18px}.forest-hero-support{gap:16px;position:relative}.forest-hero-support figure{position:relative}.forest-hero-support img{position:absolute;inset:0}.forest-hero-main{min-height:min(640px,calc(100svh - 136px))}
.experience-hero{gap:36px;padding-block:20px 40px}.experience-intro{padding-block:12px}.experience-intro .eyebrow{margin-bottom:16px}.experience-intro .experience-deck{font-size:1.5rem;margin-bottom:20px}.experience-intro p{line-height:1.65}.experience-intro p+p{margin-top:18px}.experience-bridge{position:relative}.experience-bridge img{position:absolute;inset:0;height:100%;min-height:0;max-height:none;width:100%}
.method-hero{padding:42px;min-height:460px;display:flex;align-items:center}.method-hero>div{width:65%;max-width:730px}.method-hero .method-label{margin-bottom:16px}
}
.method-context{padding-block:44px 60px}.method-context>div{max-width:78ch}.method-context p{color:var(--muted)}
@media(min-width:801px) and (max-height:800px){.forest-hero-copy{padding:24px 28px}.forest-hero-copy h1,.experience-intro h1{font-size:clamp(2.6rem,3.1vw,3.3rem)}.forest-hero-copy p,.experience-intro p{line-height:1.55}.forest-hero-copy .text-link{margin-top:18px}.experience-intro .experience-deck{font-size:1.35rem;margin-bottom:16px}}
@media(max-width:800px){.shell,.header-inner{width:calc(100% - 40px)}.forest-hero,.method-opening{width:calc(100% - 32px)}.header-inner{min-height:90px}.brand,.brand img{width:220px}.method-context{padding-block:32px 44px}}
@media(prefers-reduced-motion:reduce){body .text-link{transition:none}}

/* Requested homepage text emphasis and closing action. */
.why-copy .conditions-line{font:400 16px/1.9 var(--sans);color:#3d4438;margin-top:1.3rem}
.behind-band-copy .behind-statement em{color:#c3c8a4;font-style:italic}
.home-closing{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:50px 64px;border-top:1px solid var(--rule)}
.home-closing h2{font-size:clamp(2rem,3vw,3rem);max-width:760px}
.home-closing .text-link{margin-top:0;flex-shrink:0}
@media(max-width:800px){.home-closing{flex-direction:column;align-items:flex-start;gap:24px;padding-block:40px 48px}.home-closing h2{font-size:2.4rem}}

/* Experience: narrower portrait hero and text-only closing invitation. */
@media(min-width:801px){.experience-hero{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:48px}.experience-bridge{width:100%;max-width:440px;justify-self:end}.experience-intro p{max-width:60ch}}
.experience-closing{display:block;border-top:1px solid var(--rule)}.experience-closing>div{max-width:780px}.experience-closing h2{max-width:750px}

/* Keep logo and navigation visible while preserving normal document flow. */
.site-header{position:sticky;top:0;z-index:15;background:var(--ink)}
html{scroll-padding-top:126px}
@media(max-width:1200px){.site-header{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}}
