@font-face{font-family:Newsreader;src:url('assets/fonts/NewsreaderDisplay-Regular.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:Newsreader;src:url('assets/fonts/NewsreaderDisplay-Italic.woff2') format('woff2');font-display:swap;font-weight:400;font-style:italic}
@font-face{font-family:Plex;src:url('assets/fonts/IBMPlexMono-Regular.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--chalk:#f2efe5;--charcoal:#262b27;--lake:#8ea6a4;--reed:#a9ab8e;--ember:#b8774e;--margin:5.2vw;--heat:0;--mist:0;--cool:0;--plunge-show:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--chalk);color:var(--charcoal);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--ember);color:var(--chalk)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--ember);outline-offset:7px}h1,h2,p,figure{margin:0}h1,h2{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.052em;line-height:.92}em{font-weight:400}img,video{display:block;width:100%;height:100%;object-fit:cover}figure{position:relative}figcaption,.eyebrow,.chapter-label,.small-note,.temperature,.lake-drawing>span,.landscape-footnote,.booking-details>div>span,.film-caption{font-family:Plex,monospace;font-size:10px;letter-spacing:.09em;line-height:1.5}figcaption{margin-top:12px;font-size:9px;letter-spacing:.045em}p{line-height:1.6}a,button{touch-action:manipulation}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--chalk);padding:12px}.skip-link:focus{top:20px}
.site-header{position:fixed;z-index:30;top:0;left:0;right:0;padding:24px var(--margin);display:flex;align-items:center;justify-content:space-between;transition:background .3s,color .3s,padding .3s;border-bottom:1px solid transparent}.site-header.is-scrolled{padding-top:16px;padding-bottom:16px;background:rgba(242,239,229,.95);border-color:#262b2718}.identity{font-family:Newsreader,Georgia,serif;font-size:34px;line-height:1;letter-spacing:-.05em}.identity span{display:block;margin-top:8px;font-family:Plex,monospace;font-size:8px;letter-spacing:.06em}.site-header nav{display:flex;gap:34px;align-items:center;font-size:12px}.nav-book{border-bottom:1px solid currentColor;padding:10px 0;display:flex;gap:36px;align-items:center}.nav-book span{font-size:20px}.nav-experience:hover,.nav-story:hover{opacity:.55}
.arrival{height:200svh;position:relative;background:var(--chalk)}.arrival-pin{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden}.hero-media{position:absolute;inset:0;transform-origin:50% 66%}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(242,239,229,.12),transparent 48%,rgba(13,24,16,.35))}.hero-media video{object-position:50% 60%}.arrival-copy{position:absolute;left:48%;top:19%;z-index:2;}.arrival-copy .eyebrow{margin-bottom:22px;font-size:10px}.arrival h1{font-size:clamp(70px,7.3vw,125px);line-height:.9}.arrival-bottom{position:absolute;bottom:48px;left:var(--margin);right:var(--margin);z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:28px;color:var(--chalk);}.arrival-bottom>p{font-size:13px;line-height:1.55}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:48px;padding:20px 26px;font-size:12px;line-height:1.2;transition:background .25s,color .25s;min-height:58px}.button span{font-size:22px;line-height:1}.button-light{background:var(--chalk);color:var(--charcoal)}.button-light:hover{background:var(--charcoal);color:var(--chalk)}.button-dark{background:var(--charcoal);color:var(--chalk)}.button-dark:hover{background:var(--ember)}.scroll-cue{justify-self:end;display:flex;gap:30px;align-items:center;font-family:Plex,monospace;font-size:9px}.scroll-cue>span:last-child{font-size:27px}.motion-control{position:absolute;z-index:4;right:18px;bottom:17px;width:30px;height:30px;background:transparent;border:1px solid #f2efe570;border-radius:50%;color:var(--chalk);font-size:11px}
.chapter-label{display:flex;justify-content:space-between;border-top:1px solid #262b2740;padding-top:16px;text-transform:uppercase;font-size:9px}.sauna{padding:45px var(--margin) 100px;position:relative;z-index:2;margin-top:-100svh;background:var(--chalk)}.sauna-heading{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;padding:70px 0 62px;gap:12%}.sauna h2{font-size:clamp(76px,8vw,128px)}.sauna h2 em{color:var(--ember)}.sauna-intro{max-width:300px;font-size:15px;line-height:1.65}.sauna-intro .small-note{display:block;margin-top:26px;font-size:9px}.sauna-spread{display:grid;grid-template-columns:16% 44% 12% 28%;grid-template-rows:auto 120px;position:relative;padding-bottom:45px}.sauna-main{grid-column:1/4;grid-row:1;aspect-ratio:16/10}.sauna-main video{object-position:45% 50%}.sauna-detail{grid-column:4;grid-row:1/3;width:91%;justify-self:end;align-self:end;transform:translateY(2px)}.sauna-detail img{aspect-ratio:4/5;height:auto}.sauna-detail figcaption{font-family:Newsreader,Georgia,serif;font-size:28px;letter-spacing:-.03em;margin-top:18px}.temperature{grid-column:1;grid-row:2;align-self:end;display:flex;align-items:center;gap:12px;height:80px;margin-top:48px}.temperature>span:first-child{font-size:8px;writing-mode:vertical-rl;transform:rotate(180deg)}.thermometer{position:relative;height:88px;width:18px;background:repeating-linear-gradient(to top,transparent 0 10px,#262b2740 10px 11px) right/7px 100% no-repeat}.thermometer:before{position:absolute;content:"";width:1px;height:100%;background:#262b2730;left:1px}.thermometer i{position:absolute;width:2px;bottom:0;left:1px;height:calc(12% + var(--heat)*80%);background:var(--ember)}.thermometer b{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--ember);bottom:-2px;left:-1px}.temperature-end{white-space:nowrap;font-size:8px;align-self:end;padding-bottom:8px}.sauna-aside{grid-column:2/4;grid-row:2;align-self:end;justify-self:center;font-family:Newsreader,Georgia,serif;font-size:32px;line-height:1.05;letter-spacing:-.03em;padding-top:40px}.sauna-aside em{color:var(--ember)}
.plunge{height:195svh;background:var(--lake);position:relative}.plunge-pin{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:var(--lake)}.plunge-water,.plunge-warm{position:absolute;inset:0}.plunge-water:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#152c2c55,transparent 65%),linear-gradient(0deg,#10222266,transparent 45%)}.plunge-water video{object-position:50% 55%}.plunge-warm{opacity:calc(1 - var(--cool));z-index:1;background:var(--charcoal)}.plunge-warm video{width:70%;margin-left:auto;object-position:center 54%}.plunge-warm:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--charcoal) 18%,transparent 65%)}.plunge-warm>p{position:absolute;z-index:2;left:var(--margin);top:40%;font-family:Newsreader,Georgia,serif;font-size:clamp(65px,7vw,110px);letter-spacing:-.05em;line-height:.95;color:var(--chalk)}.plunge-warm em{color:#d4b49b}.steam{position:absolute;inset:-10%;z-index:3;pointer-events:none;opacity:var(--mist);filter:blur(30px);transform:translateY(calc(var(--cool)*-6%));background:linear-gradient(180deg,rgba(242,239,229,.72),rgba(142,166,164,.68));mix-blend-mode:normal}.steam i{position:absolute;inset:0;border-radius:40%;background:radial-gradient(ellipse at 30% 75%,rgba(242,239,229,.9) 0,rgba(242,239,229,.55) 28%,transparent 63%);animation:steam-drift 12s ease-in-out infinite alternate}.steam i:nth-child(2){transform:rotate(120deg) scale(1.2);animation-delay:-5s;background:radial-gradient(ellipse at 60% 70%,#f2efe5d9,transparent 66%)}.steam i:nth-child(3){transform:rotate(240deg);animation-delay:-8s;opacity:.8}@keyframes steam-drift{from{translate:-4% 12%;scale:1}to{translate:6% -12%;scale:1.18}}.plunge-copy{position:absolute;z-index:4;top:22%;left:var(--margin);color:var(--chalk);opacity:var(--plunge-show);transform:translateY(calc((1 - var(--plunge-show))*22px))}.plunge-copy .eyebrow{margin-bottom:36px}.plunge-copy h2{font-size:clamp(90px,10.5vw,170px)}.plunge-description{font-size:14px;line-height:1.6;margin-top:28px}.plunge-bottom{position:absolute;bottom:42px;left:var(--margin);right:var(--margin);display:flex;justify-content:space-between;align-items:end;z-index:5;color:var(--chalk);opacity:var(--plunge-show)}.film-trigger{display:flex;align-items:center;gap:20px;border:0;border-top:1px solid #f2efe580;padding:20px 0 0;background:transparent;font-size:13px;text-align:left;min-width:260px}.film-trigger>span:last-child{margin-left:auto;font-size:22px}.film-trigger small{display:block;font-family:Plex,monospace;letter-spacing:.06em;font-size:8px;margin-top:7px}.play-icon{border:1px solid #f2efe575;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:10px;padding-left:2px}
.landscape{background:var(--chalk);padding:70px var(--margin) 100px}.landscape-spread{display:grid;grid-template-columns:55% 1fr;column-gap:9%;padding-top:70px}.landscape-title{grid-column:1/3;grid-row:1;z-index:2;padding:0 0 55px 14%}.landscape-title h2{font-size:clamp(80px,8.2vw,132px)}.landscape-title em{padding-left:12vw}.landscape-aerial{grid-column:1;grid-row:2/4;aspect-ratio:4/5}.landscape-aerial video{object-position:50% 50%}.landscape-story{grid-column:2;grid-row:2;align-self:center;padding-top:25px;font-size:14px;max-width:350px}.story-lead{font-size:18px;line-height:1.5}.lake-drawing{width:215px;margin:35px auto}.lake-drawing svg{display:block;width:100%;height:205px;overflow:visible}.lake-outline{stroke:var(--charcoal);stroke-width:2.8;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s ease}.lake-island{transition-delay:.7s}.lake-drawing.is-drawn .lake-outline{stroke-dashoffset:0}.lake-drawing>span{display:block;text-align:center;font-size:7px;margin-top:12px;letter-spacing:.04em}.story-signoff{font-family:Newsreader,Georgia,serif;font-size:27px;letter-spacing:-.03em;line-height:1.2;margin-top:26px}.landscape-footnote{grid-column:2;grid-row:3;align-self:end;padding-top:40px;display:flex;flex-direction:column;gap:14px;font-size:9px}.landscape-footnote>span:first-child{color:#606951}
.invitation{background:#e5e4d7;padding:45px var(--margin) 0}.invitation-main{text-align:center;padding:76px 0 50px}.invitation-kicker{font-family:Plex,monospace;font-size:9px;letter-spacing:.04em}.invitation h2{font-size:clamp(92px,10.5vw,175px);margin:32px 0}.invitation h2 em{color:#77877d}.invitation-main>p{font-size:14px;line-height:1.6}.booking-details{display:grid;grid-template-columns:repeat(4,1fr);max-width:1040px;margin:0 auto;border-top:1px solid #262b2740;border-bottom:1px solid #262b2740;padding:24px 0}.booking-details>div{padding:0 24px;border-right:1px solid #262b2740;text-align:center}.booking-details>div:last-child{border:0}.booking-details>div>span{font-size:8px}.booking-details p{font-family:Newsreader,Georgia,serif;font-size:27px;letter-spacing:-.025em;margin-top:7px;line-height:1.2}.booking-details small{font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:0}.booking-action{display:flex;flex-direction:column;align-items:center;gap:22px;margin:38px 0 78px}.booking-action>span{font-family:Newsreader,Georgia,serif;font-style:italic;font-size:22px;letter-spacing:-.03em}.booking-action .button{min-width:286px}footer{border-top:1px solid #262b2740;padding:30px 0 27px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;font-size:10px;line-height:1.7}.footer-wordmark{font-family:Newsreader,Georgia,serif;font-size:42px;letter-spacing:-.06em}footer>div span{opacity:.65}footer p{font-size:9px;opacity:.65;text-align:right}
.film-dialog{border:0;background:var(--charcoal);color:var(--chalk);padding:22px 30px;width:min(100vw - 40px,780px);max-width:none;max-height:95svh;overflow:auto}.film-dialog::backdrop{background:#121812ed;backdrop-filter:blur(7px)}.film-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;gap:20px;font-family:Newsreader,Georgia,serif;font-size:22px}.film-top button{background:none;border:0;display:flex;gap:18px;align-items:center;font-family:Arial,Helvetica,sans-serif;font-size:11px;padding:8px}.film-top button span{font-size:24px}.film-dialog video{height:min(72svh,700px);width:100%;object-fit:contain;background:#191d19}.film-caption{text-align:center;font-size:8px;margin-top:17px}
@media(min-width:1500px){.sauna,.landscape,.invitation{--margin:max(5.2vw,calc((100vw - 1450px)/2))}.sauna-spread{grid-template-rows:auto 160px}.landscape-story{font-size:16px}.story-lead{font-size:21px}.lake-drawing{width:250px;margin:50px auto}.lake-drawing svg{height:235px}}
@media(min-width:701px) and (max-width:1050px){:root{--margin:5vw}.site-header nav{gap:22px}.nav-story{display:none}.arrival-copy{left:34%;top:22%}.arrival h1{font-size:9vw}.arrival-bottom{grid-template-columns:1fr auto}.scroll-cue{display:none}.hero-media video{object-position:44% 50%}.sauna-heading{gap:6%;grid-template-columns:1.2fr 1fr}.sauna-intro{font-size:14px}.sauna-spread{grid-template-columns:16% 40% 15% 29%;grid-template-rows:auto 110px}.sauna-main{aspect-ratio:1.3}.temperature-end{display:none}.landscape-spread{grid-template-columns:52% 1fr;column-gap:7%}.landscape-title{padding-left:4%}.landscape-story{font-size:13px;padding-top:0}.story-lead{font-size:16px}.lake-drawing{margin:22px auto;width:170px}.lake-drawing svg{height:160px}.story-signoff{font-size:23px}.booking-details>div{padding:0 10px}.booking-details p{font-size:24px}.booking-details small{display:block;margin-top:5px}footer{grid-template-columns:1fr 1fr}footer p{grid-column:2;text-align:left}.plunge-warm video{width:85%}}
@media(max-width:700px){:root{--margin:6vw}html{scroll-padding-top:84px}.site-header{padding-top:22px;padding-bottom:18px}.identity{font-size:29px}.identity span{font-size:6px;letter-spacing:.04em;margin-top:7px}.site-header nav{font-size:10px}.nav-experience,.nav-story{display:none}.nav-book{gap:17px;padding:6px 0}.nav-book span{font-size:18px}.site-header.is-scrolled{padding-top:15px;padding-bottom:14px}.arrival{height:200svh}.arrival-pin{min-height:620px}.hero-media video{object-position:50% 50%}.hero-media:after{background:linear-gradient(180deg,#f2efe51a,transparent 45%,#10201866)}.arrival-copy{top:19%;left:var(--margin);right:var(--margin)}.arrival-copy .eyebrow{font-size:7px;margin-bottom:18px}.arrival h1{font-size:clamp(61px,14.8vw,100px);line-height:.92}.arrival-bottom{bottom:46px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px}.arrival-bottom>p{font-size:11px;width:100%}.arrival-bottom .button{padding:17px 20px;min-height:52px;gap:35px;font-size:11px}.scroll-cue{display:flex;margin:0 5px 8px 0}.scroll-cue>span:first-child{display:none}.scroll-cue>span:last-child{font-size:25px}.motion-control{bottom:12px;right:12px;width:26px;height:26px}.chapter-label{font-size:7px;padding-top:12px;letter-spacing:.04em}.sauna{padding-top:27px;padding-bottom:65px}.sauna-heading{display:flex;flex-direction:column;align-items:start;gap:30px;padding:50px 0 36px}.sauna h2{font-size:clamp(65px,16vw,108px);line-height:.94}.sauna-intro{font-size:13px;max-width:260px;margin-left:16%}.sauna-intro .small-note{font-size:7px;margin-top:18px}.sauna-spread{grid-template-columns:29% 35% 36%;grid-template-rows:auto 120px;padding-bottom:52px}.sauna-main{grid-column:1/4;grid-row:1;aspect-ratio:4/4.6;margin-right:13%}.sauna-main video{object-position:51% 50%}.sauna-main figcaption{font-size:7px;max-width:180px;margin-top:9px}.sauna-detail{grid-column:3;grid-row:1/3;width:126%;align-self:end;z-index:2;transform:translateY(-12px);padding:5px 0 0 5px;background:var(--chalk)}.sauna-detail figcaption{font-size:25px;margin-top:11px}.temperature{grid-column:1;grid-row:2;margin-top:20px;height:70px;gap:9px}.thermometer{height:66px}.temperature>span:first-child{font-size:6px}.temperature-end{display:none}.sauna-aside{grid-column:2;grid-row:2;font-size:20px;align-self:end;justify-self:start;transform:translateX(-8px);padding:0 0 2px;z-index:3}.plunge{height:190svh}.plunge-pin{min-height:620px}.plunge-warm video{width:100%;height:100%;object-position:54% center}.plunge-warm:after{background:linear-gradient(180deg,#262b2740,transparent 40%,#262b27b0)}.plunge-warm>p{top:auto;bottom:19%;font-size:17vw;color:var(--chalk)}.plunge-water video{object-position:57% center}.plunge-water:after{background:linear-gradient(180deg,#152c2c66,transparent 40%,#152c2c77)}.plunge-copy{top:18%;right:var(--margin)}.plunge-copy .eyebrow{font-size:8px;margin-bottom:25px}.plunge-copy h2{font-size:clamp(77px,20vw,130px)}.plunge-description{font-size:12px;margin-top:24px;max-width:220px}.plunge-bottom{bottom:35px;flex-direction:column;align-items:stretch;gap:24px}.plunge-bottom>.eyebrow{font-size:7px}.film-trigger{min-width:0;width:100%;padding-top:16px;gap:15px;font-size:12px}.film-trigger small{font-size:7px}.play-icon{width:35px;height:35px}.steam{filter:blur(20px)}.landscape{padding-top:32px;padding-bottom:62px}.landscape-spread{display:flex;flex-direction:column;padding-top:50px}.landscape-title{padding:0 0 34px}.landscape-title h2{font-size:clamp(60px,14.8vw,105px)}.landscape-title em{padding-left:6vw}.landscape-aerial{width:100%;aspect-ratio:4/5;order:1}.landscape-aerial figcaption{font-size:7px}.landscape-story{display:grid;grid-template-columns:1fr 1fr;max-width:none;gap:22px;order:2;padding-top:48px;font-size:12px;align-items:center}.story-lead{font-size:16px;grid-column:1/3;max-width:280px}.lake-drawing{grid-column:2;grid-row:2/4;width:100%;margin:0 0 0 10px}.lake-drawing svg{height:160px;width:100%}.lake-drawing>span{font-size:5px;margin-top:6px}.landscape-story>p:not(.story-lead):not(.story-signoff){grid-column:1;grid-row:2}.story-signoff{grid-column:1;grid-row:3;font-size:24px;margin:0}.landscape-footnote{order:3;font-size:7px;gap:0;flex-direction:row;justify-content:space-between;align-self:stretch;margin-top:32px;padding-top:20px;border-top:1px solid #262b2730}.invitation{padding-top:30px}.invitation-main{padding:52px 0 34px}.invitation-kicker{font-size:7px}.invitation h2{font-size:clamp(65px,16.9vw,112px);margin:28px 0;line-height:.94}.invitation-main>p{font-size:12px;max-width:295px;margin:0 auto}.desktop-break{display:none}.booking-details{grid-template-columns:1fr 1fr;padding:0}.booking-details>div{padding:19px 8px}.booking-details>div:nth-child(2){border-right:0}.booking-details>div:nth-child(-n+2){border-bottom:1px solid #262b2730}.booking-details>div>span{font-size:7px}.booking-details p{font-size:23px}.booking-details small{display:block;font-size:9px;margin-top:6px}.booking-action{margin:28px 0 50px;gap:18px}.booking-action .button{min-width:270px;padding:19px 23px;font-size:11px}.booking-action>span{font-size:20px}footer{grid-template-columns:1fr;gap:19px;padding:28px 0;font-size:10px}.footer-wordmark{font-size:42px}footer p{text-align:left;font-size:8px;padding-top:7px}.film-dialog{padding:15px;width:calc(100vw - 20px);max-height:95svh}.film-top{font-size:19px;padding-bottom:12px}.film-dialog video{height:74svh}.film-caption{font-size:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.arrival{height:100svh}.sauna{margin-top:0}.arrival-pin{position:relative}.arrival-copy,.arrival-bottom{transform:none!important;opacity:1!important}.arrival-wash{display:none}.hero-media{transform:none}.plunge{height:100svh}.plunge-pin{position:relative}.plunge-warm,.steam{display:none}.plunge-copy,.plunge-bottom{opacity:1;transform:none}.lake-outline{stroke-dashoffset:0}}
@media(min-width:701px){.sauna-detail{width:110%;padding:6px 0 0 6px;background:var(--chalk);z-index:2}}
/* The outdoor approach moves over the pinned arrival before the interior spread. */
.approach{position:relative;z-index:2;margin-top:-100svh;padding:45px var(--margin) 85px;background:var(--chalk)}
.approach-composition{position:relative;height:min(62vw,800px);max-width:1600px;margin:auto}
.approach figure{overflow:hidden}
.approach-aerial{position:absolute;left:6%;top:0;width:39%;aspect-ratio:4/5}
.approach-sauna{position:absolute;right:0;bottom:0;width:66%;aspect-ratio:1680/944;border:7px solid var(--chalk)}
.approach-sauna picture{display:block;width:100%;height:100%}
.approach video,.approach img{width:100%;height:100%;object-fit:cover}
.sauna{margin-top:0}
@media(max-width:700px){
  .approach{padding:28px var(--margin) 52px}
  .approach-composition{height:auto;display:flex;flex-direction:column;gap:16px}
  .approach-aerial{position:relative;left:auto;top:auto;width:82%}
  .approach-sauna{position:relative;right:auto;bottom:auto;width:100%;aspect-ratio:1680/944;border:0}
}
@media(prefers-reduced-motion:reduce){.approach{margin-top:0}}
/* A small heat detail within the established interior spread. */
.sauna-coals{position:absolute;z-index:3;left:5%;bottom:180px;width:15%;aspect-ratio:4/5;border:5px solid var(--chalk);background:var(--charcoal);overflow:hidden}
.sauna-coals video{width:100%;height:100%;object-fit:cover}
/* The teaser stays at the film's 4:5 proportion, so opening it feels continuous. */
.film-section{position:relative;background:var(--chalk);padding:100px var(--margin) 110px}
.film-section-inner{max-width:1450px;margin:auto;display:grid;grid-template-columns:1fr 34%;gap:12%;align-items:center;border-top:1px solid #262b2740;padding-top:62px}
.film-section-copy{align-self:center;padding-left:7%}
.film-section h2{font-size:clamp(60px,6vw,98px)}
.film-section h2 em{color:var(--ember)}
.film-section-link{display:flex;align-items:center;gap:8px;border:0;border-bottom:1px solid currentColor;background:transparent;padding:10px 0;margin-top:48px;font-size:12px}
.film-section-link span:first-child{font-family:Plex,monospace;font-size:9px}
.film-section-link span:last-child{margin-left:35px;font-size:21px;line-height:1}
.film-teaser{position:relative;display:block;width:100%;aspect-ratio:4/5;padding:0;border:0;background:var(--charcoal);overflow:hidden}
.film-teaser video{width:100%;height:100%;object-fit:cover;pointer-events:none}
.film-teaser-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;padding-left:3px;border:1px solid #f2efe5cc;border-radius:50%;background:#262b2740;color:var(--chalk);font-size:14px;transition:background .2s}
.film-teaser:hover .film-teaser-play{background:#262b27a0}
.film-dialog{width:min(calc(100vw - 30px),720px);background:transparent;overflow:hidden}
.film-dialog video{display:block;width:min(100%,58vh);height:auto;aspect-ratio:4/5;max-height:72svh;margin:auto;object-fit:contain;background:var(--charcoal)}
@media(max-width:700px){
  .sauna-coals{left:2%;bottom:155px;width:34%;border-width:4px}
  .film-section{padding:60px var(--margin) 68px}
  .film-section-inner{display:flex;flex-direction:column-reverse;align-items:stretch;gap:28px;padding-top:28px}
  .film-teaser{width:62%;align-self:flex-end}
  .film-teaser-play{width:44px;height:44px;font-size:10px}
  .film-section-copy{padding-left:0}
  .film-section h2{font-size:clamp(53px,13.5vw,86px)}
  .film-section-link{margin-top:24px;font-size:11px}
  .film-dialog video{width:100%;max-height:72svh}
}
@media(prefers-reduced-motion:reduce){.film-teaser-play{transition:none}}
/* The complete film takes over the teaser's frame in the page. */
.film-frame{position:relative;width:100%;aspect-ratio:4/5;background:var(--charcoal)}
.film-frame .film-teaser{width:100%;height:100%}
.inline-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease}
.film-frame.is-playing .inline-film{opacity:1;visibility:visible;pointer-events:auto}
.film-frame.is-playing .film-teaser{pointer-events:none}
.film-inline-close{position:absolute;z-index:2;top:12px;right:12px;display:flex;align-items:center;gap:10px;border:0;background:var(--chalk);color:var(--charcoal);padding:9px 12px;font-size:11px}
.film-inline-close span{font-size:20px;line-height:1}
.film-inline-close[hidden]{display:none}
@media(max-width:700px){.film-frame{width:62%;align-self:flex-end}.film-frame .film-teaser{width:100%}}
@media(prefers-reduced-motion:reduce){.inline-film{transition:none}}

/* The integrated steam sequence occupies the mobile sauna/plunge chapters. */
.ml-study{display:none}.sauna-anchor{display:block;height:0}
@media(max-width:700px){.ml-study{display:block}.sauna-desktop,.plunge-desktop{display:none}.site-header.is-study{opacity:0;pointer-events:none}}

.button[aria-disabled="true"]{cursor:pointer}
.button-light[aria-disabled="true"]:hover{background:var(--ember);color:var(--chalk)}

/* The land chapter now opens directly with the lake film and story. */
@media(min-width:701px){.landscape-aerial{grid-row:1/3}.landscape-story{grid-row:1}}

.ml-day .ml-day-map{display:block;width:100%;height:auto;aspect-ratio:416/520;overflow:hidden}

/* A quiet final page, shared by the desktop and mobile compositions. */
.invitation{background:var(--chalk)}
.editorial-footer{display:block;margin:0;padding:clamp(96px,11vw,176px) var(--margin) 32px;border:0;background:var(--chalk);color:var(--charcoal);font-family:Plex,monospace;line-height:1.45}
.editorial-footer-wordmark{display:block;width:max-content;max-width:100%;color:var(--ember);font-family:inherit;font-size:clamp(70px,9vw,154px);line-height:1;letter-spacing:-.075em;white-space:nowrap}
.editorial-footer-details{display:flex;justify-content:space-between;align-items:start;gap:40px;margin-top:42px}
.editorial-footer-details p{padding:0;margin:0;color:var(--charcoal);font-family:inherit;font-size:13px;line-height:1.65;letter-spacing:-.025em;text-align:left;opacity:1}
.editorial-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:17px;font-size:13px;letter-spacing:-.025em}
.editorial-footer-links>span{border:0;padding-bottom:0;text-decoration:none}
.editorial-footer-links>span span{margin-left:12px;opacity:1}
.editorial-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:clamp(100px,13vw,200px);padding-top:16px;border-top:1px solid #262b2733;font-size:10px;letter-spacing:-.015em}
.editorial-footer-bottom span,.editorial-footer>div span{opacity:1}
.editorial-footer-bottom span:last-child{opacity:.82}
@media(max-width:700px){.mobile-layout .editorial-footer{font-family:'L2 Plex',monospace}.mobile-layout .editorial-footer-links{font-size:calc(12*100cqw/414)}.mobile-layout .editorial-footer-bottom{line-height:1.4}}
