.retreat-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:100vh;min-height:100svh;padding:140px var(--gutter) 70px}
.retreat-background{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:70% 70%}
.retreat-hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(241,235,228,.65),transparent 24%)}
.retreat-panel{width:min(620px,55%);padding:clamp(26px,3vw,46px);border:1px solid rgba(241,235,228,.55);border-radius:10px;background:rgba(241,235,228,.87);backdrop-filter:blur(5px)}
.retreat-page .retreat-panel h1{font-size:clamp(2.8rem,4.5vw,4.8rem);line-height:1.08;margin:0 0 24px;letter-spacing:-.02em;overflow-wrap:anywhere}
.retreat-intro{font-size:clamp(1.1rem,1.4vw,1.3rem);line-height:1.45;margin:0 0 12px}
.retreat-detail{font-size:1rem;line-height:1.5;margin:0;color:var(--dark-green)}
.retreat-facts{list-style:none;padding:20px 0;margin:24px 0;border-block:1px solid var(--rule);display:grid;gap:12px;color:var(--dark-green)}
.retreat-facts li{display:flex;align-items:center;gap:12px;font-size:.95rem;line-height:1.35}
.retreat-facts svg{width:23px;height:23px;flex:0 0 23px;color:var(--green)}
.retreat-actions{display:flex;flex-wrap:wrap;gap:10px}
.retreat-actions .button{min-height:54px;padding:14px 20px;max-width:100%;font-size:.95rem;line-height:1.3;text-decoration:none}
html[lang=fi] .retreat-page .retreat-panel h1{font-size:clamp(2.6rem,4.3vw,4.6rem);line-height:1.3}
@media(max-width:1000px){.retreat-panel{width:min(620px,70%)}}
@media(max-width:640px){.retreat-hero{align-items:flex-start;padding:100px 5vw 230px;min-height:100svh}.retreat-background{object-position:77% bottom}.retreat-panel{width:100%;padding:24px 21px;background:rgba(241,235,228,.9)}.retreat-page .retreat-panel h1{font-size:clamp(2rem,9vw,3.5rem);margin-bottom:20px}.retreat-actions{display:grid;grid-template-columns:minmax(0,1fr)}.retreat-actions .button{width:100%}html[lang=fi] .retreat-page .retreat-panel h1{font-size:clamp(2rem,9vw,3.5rem)}.retreat-facts{margin-block:20px;padding-block:18px}}

.retreat-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);padding:clamp(55px,6vw,110px) var(--gutter);max-width:1920px;margin-inline:auto;scroll-margin-top:24px;align-items:stretch}
.retreat-overview-copy{min-width:0;align-self:center}
.retreat-page .retreat-overview h2{font-size:clamp(2.5rem,4vw,4.6rem);line-height:1.1;margin:0 0 26px;overflow-wrap:anywhere}
.retreat-overview-intro{font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.6}
.retreat-overview-intro p{margin:0 0 14px}
.retreat-overview-lead{font-weight:bold;color:var(--dark-green)}
.retreat-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.retreat-highlight{border:1px solid var(--rule);border-radius:8px;padding:20px;min-width:0}
.retreat-highlight svg{display:block;width:30px;height:30px;color:var(--green);margin-bottom:12px}
.retreat-highlight h3{font-size:1.3rem;line-height:1.25;margin:0 0 10px;letter-spacing:0;overflow-wrap:anywhere}
.retreat-highlight p{font-size:.93rem;line-height:1.5;color:var(--dark-green);margin:0}
.retreat-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.15fr 1fr;gap:14px;min-height:680px}
.retreat-photo-grid img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:8px}
.retreat-photo-cabin{grid-column:1/-1;object-position:center}
.retreat-photo-fire{object-position:center 65%}
.retreat-photo-snowshoeing{object-position:center 65%}
html[lang=fi] .retreat-page .retreat-overview h2{font-size:clamp(2.4rem,3.6vw,4.2rem);line-height:1.3}
@media(max-width:1000px){.retreat-overview{grid-template-columns:minmax(0,1fr)}.retreat-photo-grid{min-height:0;height:800px;max-height:110vw}.retreat-overview-copy{max-width:850px}}
@media(max-width:600px){.retreat-overview{padding-inline:5vw}.retreat-page .retreat-overview h2{font-size:clamp(2rem,9vw,3rem)}html[lang=fi] .retreat-page .retreat-overview h2{font-size:clamp(2rem,8vw,3rem)}.retreat-highlights{grid-template-columns:minmax(0,1fr)}.retreat-highlight{padding:18px}.retreat-photo-grid{height:540px;max-height:none;gap:10px}}

/* A continuous choice of wilderness, not separate packages. */
.retreat-wilderness{padding:clamp(55px,6vw,100px) var(--gutter);background:#e8e3da;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,90px);align-items:center;scroll-margin-top:24px}
.wilderness-copy{min-width:0;max-width:740px}
.wilderness-copy .wilderness-eyebrow{font-family:Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:.07em;font-size:.9rem;color:var(--green);margin:0 0 18px}
.wilderness-copy h2{font-size:clamp(2.3rem,3.5vw,4rem);line-height:1.12;margin:0 0 26px;overflow-wrap:anywhere}
.wilderness-copy>p{font-size:clamp(1rem,1.15vw,1.2rem);line-height:1.6;margin:0 0 18px}
.wilderness-continuum{list-style:none;padding:22px 0;margin:30px 0 0;border-block:1px solid var(--rule);display:flex;gap:14px;align-items:center;color:var(--green)}
.wilderness-continuum li{display:flex;gap:14px;align-items:center;font-family:Anton,Impact,sans-serif;font-size:clamp(1rem,1.35vw,1.5rem);line-height:1.35;min-width:0;overflow-wrap:anywhere}
.wilderness-arrow{font-family:Georgia,serif;font-size:1.5rem;font-weight:400}
.wilderness-action{margin:0;min-width:0}
.wilderness-action img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
@media(max-width:1000px){.retreat-wilderness{grid-template-columns:minmax(0,1fr)}.wilderness-copy{max-width:800px}.wilderness-continuum{justify-content:flex-start;gap:24px}.wilderness-continuum li{gap:24px;font-size:1.4rem}}
@media(max-width:600px){.retreat-wilderness{padding-inline:5vw}.wilderness-copy h2{font-size:clamp(2rem,8vw,3rem)}.wilderness-continuum{gap:10px;justify-content:space-between}.wilderness-continuum li{font-size:clamp(.95rem,3.7vw,1.2rem);gap:10px}.wilderness-arrow{font-size:1.1rem}.wilderness-action img{border-radius:8px}}
@media(max-width:380px){.wilderness-continuum{flex-direction:column;align-items:flex-start;gap:10px}.wilderness-continuum li{font-size:1.1rem}.wilderness-arrow{transform:rotate(90deg)}}
