/* Forest editorial system: original line art and calm, photo-led chapters. */
body main .fe-mark{display:block;width:56px;height:56px;flex:none;color:var(--forest-art,#987548);margin:0 0 24px;pointer-events:none}
body main .fe-mark-branch{width:86px;height:46px}
body main .fe-rule{display:flex;align-items:center;gap:24px;margin:42px 0;color:var(--forest-art,#987548)}
body main .fe-rule>span{height:1px;flex:1;background:var(--forest-art-line,#bda68b);transform-origin:left}
body main .fe-rule>span:last-child{transform-origin:right}
body main .fe-rule .fe-mark{width:32px;height:32px;margin:0}
body main .fe-heading{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:68px;align-items:end;margin-bottom:34px}
body main .fe-heading h2{font:400 clamp(36px,3.3vw,49px)/1.08 'EB Garamond',serif;letter-spacing:0;margin:0;color:var(--forest-heading)}
body main .fe-heading>p{font:400 16px/1.75 Manrope,sans-serif;max-width:490px;margin:0;padding:0 0 4px}
body main .fe-finale{width:100%;max-width:1256px;margin:0 auto;padding:10px 28px 64px}
body main .fe-finale-photo{overflow:hidden;background:var(--forest-surface)}
body main .fe-finale-photo img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center 51%}
body main .fe-finale figcaption{font:400 29px/1.2 'EB Garamond',serif;color:var(--forest-heading);margin-top:20px;text-align:right}
/* Zone pages: a deliberate opening, then the experience, the house and the offer. */
body #forest-zone-landing .fzr-opening{row-gap:80px;column-gap:58px}
body #forest-zone-landing .fzp-intro h1{font-size:clamp(46px,4.6vw,66px);line-height:1.02;max-width:540px;margin-bottom:24px}
body #forest-zone-landing .fzp-intro>p:not(.fz-location){max-width:460px;font-size:18px;line-height:1.7}
body #forest-zone-landing .fzp-hero-cost{border:0;padding-top:4px;margin-top:22px}
body #forest-zone-landing .fzp-hero-track img{aspect-ratio:5/4}
body #forest-zone-landing :is(.fzr-story-copy,.fzh-story-copy){padding-left:32px;max-width:520px}
body #forest-zone-landing :is(.fzr-story-copy,.fzh-story-copy) h2{font-size:46px;line-height:1.08;max-width:450px}
body #forest-zone-landing .fzr-story-copy>p{line-height:1.75}
body #forest-zone-landing .fzr-story-media img{aspect-ratio:4/3}
body #forest-zone-landing .fzp-value{margin-top:80px;gap:58px;padding:52px 0 0;border-top:1px solid var(--forest-line)}
body #forest-zone-landing .fzp-value-copy{padding:0 30px 0 0}
body #forest-zone-landing .fzp-value-copy h2{font-size:48px;line-height:1.08;max-width:430px}
body #forest-zone-landing .fzp-value-copy>p{line-height:1.75;max-width:455px}
body #forest-zone-landing .fzp-value>figure{padding-top:34px}
body #forest-zone-landing .fzp-value>figure img{aspect-ratio:4/3}
body #forest-zone-landing .fzp-catalog{margin-top:70px;padding-top:48px;border-top:1px solid var(--forest-line)}
body #forest-zone-landing .fzp-catalog .fe-heading .fzg-pricing-intro{font-size:15px;line-height:1.75;margin:0;max-width:470px}
body #forest-zone-landing .fzp-gallery-head{margin-bottom:36px}
body #forest-zone-landing .fzp-gallery-head .fzp-gallery-intro{font-size:15px;line-height:1.75;margin:0;max-width:450px}
body #forest-zone-landing .fzp-gallery{column-gap:28px;row-gap:42px;align-items:start}
body #forest-zone-landing .fzp-gallery>figure:nth-child(3n + 2){padding-top:42px}
body #forest-zone-landing .fzp-gallery>figure>a{display:block;overflow:hidden}
body #forest-zone-landing .fzp-zone-link{font:400 25px/1.18 'EB Garamond',serif;align-items:baseline}
body #forest-zone-landing .fzp-zone-link svg{width:17px;height:17px}
body #forest-zone-landing .fzp-contact{margin-top:64px;background:var(--forest-surface);border:0;padding:48px;align-items:center;gap:60px}
body #forest-zone-landing .fzp-contact h2{font-size:46px;max-width:450px;line-height:1.08}
body #forest-zone-landing .fzp-contact-side{padding-left:36px;border-left:1px solid var(--forest-line)}
body #forest-zone-landing .fzp-contact>div>p{font-size:15px}
/* Programs retain different price units, but share the same editorial hierarchy. */
body #forest-massage .fm-story-copy::after,body #forest-retreat .fr-final .fr-wrap>div:first-child::after{content:none}
body #forest-massage .fm-story{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-block:64px;gap:64px}
body #forest-massage .fm-story-copy{grid-column:2;grid-row:1;padding-left:24px}
body #forest-massage .fm-story-media{grid-column:1;grid-row:1}
body #forest-massage .fm-story h2{font-size:47px;line-height:1.08}
body #forest-massage .fm-room-track img{aspect-ratio:4/3}
body #forest-massage .fm-programs{padding-top:56px}
body #forest-massage .fe-finale{max-width:1040px}
body #forest-massage .fe-finale-photo img{aspect-ratio:5/2;object-position:50% 56%}
body #forest-retreat .fe-retreat-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding:28px 0 18px}
body #forest-retreat .fe-retreat-story h2{font-size:47px;line-height:1.08}
body #forest-retreat .fe-retreat-story p{font-size:16px;line-height:1.75;max-width:490px}
body #forest-retreat .fe-retreat-story p+p{margin-top:18px}
body #forest-retreat .fr-programs{border:0;padding-top:18px}
body #forest-retreat .fr-program{padding-block:46px}
body #forest-retreat .fr-value{padding-right:28px}
body #forest-retreat .fr-action{background:var(--forest-surface);padding:28px}
body #forest-retreat .fr-jump{margin-block:24px 8px}
body #forest-weekend .fw-programs{padding-top:34px}
body #forest-weekend .fw-program{align-items:center;padding-block:58px}
body #forest-weekend .fw-program:nth-of-type(even) .fw-media{grid-column:2;grid-row:1}
body #forest-weekend .fw-program:nth-of-type(even) .fw-program-body{grid-column:1;grid-row:1}
body #forest-weekend .fw-program h2{font-size:48px}
body #forest-weekend .fw-gallery img{aspect-ratio:4/5}
body :is(#forest-massage .fm-final,#forest-retreat .fr-final,#forest-weekend .fw-final){padding-block:60px}
/* Space overview: photographs form pairs with an intentional vertical rhythm. */
body #forest-space-overview .fso-heading{margin-bottom:28px}
body #forest-space-overview .fso-grid{column-gap:56px;row-gap:50px;align-items:start}
body #forest-space-overview .fso-zone:nth-child(even){padding-top:64px}
body #forest-space-overview .fso-zone-copy{padding-top:24px}
body #forest-space-overview .fso-zone-copy h3{font-size:38px;line-height:1.1}
body #forest-space-overview .fso-zone-copy p{max-width:470px;font-size:15px;line-height:1.75}
body #forest-space-overview .fso-finish{background:var(--forest-surface);border:0;padding:46px;gap:60px;margin-top:70px}
body #forest-space-overview .fso-finish h2{font-size:46px;line-height:1.08}
/* Useful pages keep information close to the action. */
body #forest-pricing .fp-hero{gap:56px;margin-bottom:36px}
body #forest-pricing .fp-hero h1{font-size:52px;line-height:1.06}
body #forest-pricing .fp-hero .fe-mark{width:68px;height:36px;margin-bottom:18px}
body #forest-pricing .fp-hero-photo img{aspect-ratio:4/3}
body #forest-contacts{padding-top:56px}
body #forest-contacts .fc-eyebrow{display:none}
body #forest-contacts .fc-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}
body #forest-contacts .fc-lead{max-width:410px;margin:0 0 4px;font:400 31px/1.2 'EB Garamond',serif;color:var(--forest-heading)}
body #forest-contacts .fc-photo{padding-top:20px}
body #forest-contacts .fc-photo img{aspect-ratio:4/3}
body #order .fe-mark{width:68px;height:36px;margin-bottom:14px}
body #order .fe-booking-contact{font:400 14px/1.7 Manrope,sans-serif;text-align:left;border-top:1px solid var(--forest-line);padding-top:22px;margin:28px 0 0;color:var(--forest-muted)}
body #order .fe-booking-contact a{white-space:nowrap}
@media(max-width:1000px){
 body main .fe-heading{gap:34px}
 body #forest-zone-landing .fzr-opening{column-gap:34px;row-gap:50px}
 body #forest-zone-landing :is(.fzr-story-copy,.fzh-story-copy){padding-left:0}
 body #forest-zone-landing .fzp-value{gap:34px}
 body #forest-zone-landing .fzp-value-copy{padding:0}
 body #forest-zone-landing .fzp-contact{padding:32px;gap:32px}
 body #forest-space-overview .fso-grid{column-gap:32px}
 body #forest-massage .fm-story{gap:36px}
 body #forest-massage .fm-story-copy{padding-left:0}
 body #forest-retreat .fr-value{padding-right:0}
}
@media(max-width:767px){
 body #forest-weekend .fw-program:nth-of-type(even) .fw-media,body #forest-weekend .fw-program:nth-of-type(even) .fw-program-body{grid-column:auto;grid-row:auto}
 body #forest-weekend .fw-gallery img{aspect-ratio:4/3}
 body #forest-contacts .fc-intro{display:block}
 body #forest-contacts .fc-lead{font-size:27px;margin-top:18px}
 body #forest-contacts .fc-photo{padding-top:0}
}
@media(max-width:650px){
 body #forest-zone-landing[data-fzg-mobile-hero] .fzg-hero-backdrop::after{background:linear-gradient(180deg,rgba(18,29,23,.64) 0%,rgba(18,29,23,.38) 22%,transparent 48%,transparent 74%,rgba(18,29,23,.5) 100%)}
 body.admin-bar #forest-zone-landing[data-fzg-mobile-hero] .fzg-hero-stage{grid-template-rows:minmax(520px,calc(100svh - 98px)) auto}
 body.forest-native-ui.admin-bar main [id]{scroll-margin-top:128px}
 body main .fe-mark{width:44px;height:44px;margin-bottom:18px}
 body main .fe-mark-branch{width:70px;height:38px}
 body main .fe-heading{display:block;margin-bottom:26px}
 body main .fe-heading h2{font-size:36px;line-height:1.08}
 body main .fe-heading>p{font-size:15px;line-height:1.7;margin-top:18px;padding:0}
 body main .fe-rule{margin:30px 0;gap:18px}
 body main .fe-finale{padding:0 0 36px}
 body main .fe-finale-photo img{aspect-ratio:3/2}
 body main .fe-finale figcaption{text-align:left;font-size:26px;max-width:360px;margin:18px 20px 0}
 body #forest-zone-landing .fzr-opening{gap:26px}
 body #forest-zone-landing .fzp-intro h1{font-size:44px;line-height:1.05;margin-bottom:20px}
 body #forest-zone-landing .fzp-intro>p:not(.fz-location){font-size:17px;line-height:1.65}
 body #forest-zone-landing .fzp-hero-cost{margin-top:20px;padding:0}
 body #forest-zone-landing .fzp-hero-track img{aspect-ratio:4/3}
 body #forest-zone-landing :is(.fzr-story-copy,.fzh-story-copy){padding:6px 0 0}
 body #forest-zone-landing :is(.fzr-story-copy,.fzh-story-copy) h2{font-size:35px}
 body #forest-zone-landing .fzp-value{margin-top:38px;padding-top:34px;gap:24px}
 body #forest-zone-landing .fzp-value-copy h2{font-size:36px}
 body #forest-zone-landing .fzp-value>figure{padding-top:0}
 body #forest-zone-landing .fzp-catalog{margin-top:38px;padding-top:34px}
 body #forest-zone-landing .fzp-catalog .fe-heading .fzg-pricing-intro{margin-top:18px}
 body #forest-zone-landing .fzp-gallery-head .fzp-gallery-intro{margin-top:18px}
 body #forest-zone-landing .fzp-gallery{column-gap:14px;row-gap:26px}
 body #forest-zone-landing .fzp-gallery>figure:nth-child(3n + 2){padding-top:0}
 body #forest-zone-landing .fzp-zone-link{font-size:23px;line-height:1.15}
 body #forest-zone-landing .fzp-zone-link svg{width:14px;height:14px;flex-shrink:0}
 body #forest-zone-landing .fzp-contact{margin-top:36px;padding:28px 22px;gap:28px}
 body #forest-zone-landing .fzp-contact h2{font-size:36px}
 body #forest-zone-landing .fzp-contact-side{padding:22px 0 0;border-left:0;border-top:1px solid var(--forest-line)}
 body #forest-zone-landing[data-fzg-mobile-hero] .fzp-intro h1{font-size:46px;line-height:1.02}
 body #forest-zone-landing[data-fzg-mobile-hero] .fzg-hero-stage .fzp-hero-cost{margin:0 24px 28px;padding:0}
 body #forest-massage .fm-story{display:flex;flex-direction:column;gap:26px;padding-block:36px}
 body #forest-massage .fm-story-media{width:100%}
 body #forest-massage .fm-story h2{font-size:36px}
 body #forest-massage .fm-programs{padding-top:34px}
 body #forest-massage .fe-finale-photo img{aspect-ratio:3/2}
 body #forest-retreat .fe-retreat-story{grid-template-columns:1fr;gap:24px;padding:0}
 body #forest-retreat .fe-retreat-story h2{font-size:36px}
 body #forest-retreat .fe-retreat-story p{font-size:15px}
 body #forest-retreat .fr-action{padding:24px}
 body #forest-retreat .fr-program{padding-block:30px}
 body #forest-weekend .fw-programs{padding-top:18px}
 body #forest-weekend .fw-program{padding-block:34px}
 body #forest-weekend .fw-program h2{font-size:38px}
 body :is(#forest-massage .fm-final,#forest-retreat .fr-final,#forest-weekend .fw-final){padding-block:40px}
 body #forest-space-overview .fso-grid{row-gap:38px}
 body #forest-space-overview .fso-zone:nth-child(even){padding-top:0}
 body #forest-space-overview .fso-zone-copy{padding-top:18px}
 body #forest-space-overview .fso-zone-copy h3{font-size:33px}
 body #forest-space-overview .fso-finish{margin-top:38px;padding:28px 22px;gap:24px}
 body #forest-space-overview .fso-finish h2{font-size:36px}
 body #forest-pricing .fp-hero{gap:22px;margin-bottom:28px}
 body #forest-pricing .fp-hero h1{font-size:39px}
 body #forest-pricing .fp-hero .fe-mark{width:60px;height:32px;margin-bottom:14px}
 body #forest-contacts{padding-top:32px}
}
@media(prefers-reduced-motion:reduce){body main .fe-ink path{stroke-dashoffset:0!important}body main .fe-rule>span{transform:none!important}}
