@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');
:root{--charcoal:#292725;--cream:#f5efe4;--ink:#302c27;--muted:#70685f;--line:#d8cfc2;--sand:#dfd2c0}*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b9874e;outline-offset:5px}.skip{position:absolute;left:20px;top:-80px;background:var(--cream);padding:12px;z-index:5}.skip:focus{top:10px}.header{height:104px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:Georgia,serif;font-size:39px;line-height:1;font-weight:400;letter-spacing:-2px}.brand-dot{color:#ad8050}nav{display:flex;align-items:center;gap:46px;font-size:14px}nav>a:first-child:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.nav-cta{padding:13px 21px;border:1px solid #9b8d7c}.nav-cta span{padding-left:25px}.hero{padding:40px 5.5% 0;background:var(--charcoal);color:var(--cream)}.hero-top,.hero-bottom{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:12px;font-weight:500;letter-spacing:2px;margin:0}.small-note{font:italic 17px Georgia,serif;color:#d5c8b6}.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:40px 0 47px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-3px;margin:0;line-height:1.02}h1{font-size:clamp(72px,8vw,120px)}em{font-weight:400;color:inherit}h1 em{color:#ddc7a4}.hero-copy{width:30%;padding-bottom:4px}.hero-copy p{font-size:18px;line-height:1.65;margin:0 0 25px;color:#e5d9ca}.button{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 24px;font-size:14px;font-weight:500;border:0;cursor:pointer}.cream{background:var(--cream);color:var(--charcoal);width:228px}.button:hover{background:#e0cbaa;color:var(--charcoal)}.visual{height:430px;background:#a49b8e;color:#48413a;position:relative;border:1px solid #c5b9a7;display:flex;align-items:center;justify-content:center}.visual:before{content:'';position:absolute;inset:17px;border:1px solid #75685455}.placeholder-inner{text-align:center;position:relative}.placeholder-cross{display:block;font-size:30px;font-weight:400;line-height:1;margin-bottom:25px}.placeholder-inner>span:last-of-type{font-size:12px;letter-spacing:3px}.placeholder-inner p{font:italic 20px Georgia,serif;margin:12px 0}.visual-footer{position:absolute;left:36px;right:36px;bottom:30px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px}.hero-bottom{padding:23px 0 26px;font-size:13px;color:#dfd2c0}.hero-bottom>a>span{margin-left:35px}.section{padding:100px 5.5%}.retreat{display:grid;grid-template-columns:25% 75%}.section-label{display:flex;align-items:center;gap:24px}.index{font-size:12px;color:#8a7964}.retreat>.section-label{align-self:start;padding-top:13px}h2{font-size:clamp(40px,4.4vw,65px);line-height:1.12;letter-spacing:-2px}.retreat-description{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin:34px 0 47px;max-width:900px}.retreat-description p{margin:0;color:var(--muted)}.retreat-description p:first-child{color:var(--ink);font-size:18px}.details{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);padding-top:27px;gap:24px}.detail-number{font:italic 19px Georgia,serif;color:#9b784c}h3{font-weight:500;margin:12px 0;font-size:18px}.details p{color:var(--muted);margin:0;font-size:14px;line-height:1.8}.inquiry{background:#ebe1d3;display:grid;grid-template-columns:1fr 1.1fr;gap:10%;border-top:1px solid var(--line)}.inquiry h2{margin:30px 0}.inquiry-intro>p{max-width:370px;color:var(--muted);margin:0 0 16px}.inquiry-note{display:flex;align-items:center;gap:20px;margin-top:38px}.inquiry-note>span{font-size:26px}.inquiry-note p{font:italic 20px/1.4 Georgia,serif;margin:0}.form-heading{border-bottom:1px solid #b8a994;padding-bottom:23px;margin-bottom:27px}.form-heading h3{font:30px Georgia,serif;margin:0 0 7px}.form-heading p{font-size:14px;color:var(--muted);margin:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{margin-bottom:21px}label{display:block;font-size:14px;margin-bottom:9px}label>span{color:var(--muted);font-size:12px}input,textarea{width:100%;border:1px solid #b8a994;border-radius:0;background:#f8f2e9;color:var(--ink);padding:13px 14px;font-size:14px;min-height:49px}input::placeholder,textarea::placeholder{color:#897b69;opacity:1}textarea{resize:vertical;min-height:115px}.green{background:var(--charcoal);color:var(--cream);width:100%}.form-footnote{font-size:12px;color:var(--muted);margin:13px 0 0}.form-status{font-size:14px;border-left:2px solid var(--charcoal);padding-left:12px}footer{padding:43px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:24px}footer .wordmark{font-size:32px}footer p{font:italic 16px Georgia,serif}footer>a:last-child{font-size:12px}footer>a:last-child span{margin-left:16px}@media(min-width:1600px){.header,.hero,.section,footer{padding-left:max(5.5%,calc((100vw - 1440px)/2));padding-right:max(5.5%,calc((100vw - 1440px)/2))}}@media(max-width:800px){.header{height:86px}nav{gap:20px}nav>a:first-child{display:none}.wordmark{font-size:33px}.nav-cta{padding:10px 12px}.nav-cta span{padding-left:12px}.small-note{display:none}.hero{padding-top:29px}.hero-heading{padding:30px 0 35px;gap:30px}.hero-copy{width:42%}.hero-copy p{font-size:15px}.cream{width:100%;padding:14px 17px}.visual{height:350px}.section{padding-top:65px;padding-bottom:65px}.retreat{grid-template-columns:1fr;gap:28px}.retreat-description{gap:24px}.inquiry{grid-template-columns:1fr;gap:42px}.inquiry-intro>p{max-width:550px}.inquiry-note{display:none}footer{flex-wrap:wrap}footer>a:last-child{width:100%}}@media(max-width:500px){.header,.hero,.section,footer{padding-left:22px;padding-right:22px}.hero-heading{display:block}h1{font-size:76px}.hero-copy{width:100%;margin-top:27px;display:flex;align-items:center;gap:20px}.hero-copy p{font-size:14px;margin:0;flex:1}.cream{width:143px;font-size:13px;gap:10px;padding:14px}.eyebrow{font-size:10px;letter-spacing:1.5px}.visual{height:310px}.visual-footer{left:29px;right:29px;font-size:8px}.visual-footer span:last-child{display:none}.placeholder-inner p{font-size:17px}.hero-bottom{font-size:12px}.hero-bottom>a>span{margin-left:13px}h2{font-size:40px}.retreat-description{grid-template-columns:1fr;gap:19px;margin:27px 0 35px}.details{gap:18px}.details h3{font-size:15px;line-height:1.4}.details p{font-size:12px}.field-row{grid-template-columns:1fr;gap:0}.inquiry h2{margin-top:25px}footer p{max-width:160px;font-size:14px}footer{gap:18px}.form-heading h3{font-size:27px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
/* Cinematic composition */
:root{--charcoal:#292725;--cream:#f5efe4;--gold:#c5a06b}
.header{position:absolute;inset:0 0 auto;z-index:3;min-height:112px;color:var(--cream);border-bottom:1px solid #eee9dc33}.brand-dot{color:var(--gold)}.nav-cta{border-color:#eee9dc88;background:#29272540}
.hero{position:relative;isolation:isolate;min-height:max(820px,100svh);display:flex;flex-direction:column;justify-content:center;padding:165px 7% 110px;overflow:hidden;background:#292725}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-fit:cover;object-position:58% center}.hero-shade{z-index:-1;background:linear-gradient(90deg,#1c1916cf,#1c191644 54%,#1c191611),linear-gradient(0deg,#161412e6,transparent 40%,transparent 72%,#16141288)}.hero-content{max-width:760px;padding:25px 0 60px}.hero .eyebrow{margin-bottom:32px;color:#e4d4bb}h1{font-size:clamp(80px,8.8vw,142px)}h1 em{color:#e3cba6}.hero-description{font-size:17px;line-height:1.85;margin:28px 0 32px;color:#f2e8da}.cream{width:235px;min-height:54px}.hero-bottom{position:absolute;bottom:30px;left:5.5%;right:5.5%;padding-top:23px;border-top:1px solid #eee9dc44}.hero-bottom>span{font-size:11px;letter-spacing:2px}
.section{padding:110px 7%}.retreat{grid-template-columns:23% 77%}.retreat-side{padding-top:12px}.side-word{display:block;font:22px/1.6 Georgia,serif;margin-top:130px;color:#897761}.side-word em{color:#755c40}h2{font-size:clamp(42px,4.5vw,72px)}.retreat h2 em{color:#927049}.lake-story{margin:0 0 45px}.lake-story img{width:100%;height:420px;object-fit:cover;display:block}.lake-story figcaption{display:flex;justify-content:space-between;align-items:center;padding-top:13px;color:var(--muted);font-size:12px}.lake-story figcaption span:first-child{font:italic 20px Georgia,serif;color:var(--ink)}
.inquiry{background:var(--charcoal);color:var(--cream);grid-template-columns:1fr 1fr;gap:10%;border-color:#96836a40}.inquiry .index{color:#c8a679}.inquiry .eyebrow{color:#dcc5a4}.inquiry h2{font-size:clamp(42px,4.2vw,65px)}.inquiry h2 em{color:#d5b68a}.inquiry-intro>p{color:#d9cfc0}.inquiry-note{color:#dfc8a6}.inquiry-note>span{color:var(--gold)}form{align-self:center}.form-heading{border-color:#d5bea140}.form-heading p,label>span{color:#d9cfc0}input,textarea{color:var(--cream);background:#ffffff05;border-color:#d5bea155;font-size:16px;min-height:52px}input::placeholder,textarea::placeholder{color:#c4b8a7}input:focus,textarea:focus{background:#ffffff09}.green{background:var(--cream);color:var(--charcoal);min-height:54px}.form-footnote{color:#c8bba8}.form-status{border-color:var(--gold)}footer{background:#201e1c;color:var(--cream);border-top:1px solid #d5bea125;padding-top:48px;padding-bottom:48px}.footer-notes p{margin:0 0 8px}.footer-notes small{font-size:12px;color:#bbab95}
@media(max-width:1000px){.retreat{grid-template-columns:1fr}.retreat-side{margin-bottom:34px}.side-word{display:none}.section{padding:80px 6%}.inquiry{gap:6%}.inquiry h2{font-size:45px}.field-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap}.footer-notes{margin-left:auto}footer>a:last-child{width:100%}}
@media(max-width:650px){.header{min-height:88px;height:auto;padding:22px}.wordmark{font-size:35px}nav{gap:0}nav>a:first-child{display:none}.nav-cta{font-size:12px;padding:10px 12px}.nav-cta span{padding-left:10px}.hero{min-height:max(790px,100svh);padding:160px 26px 110px;justify-content:flex-start}.hero-content{padding:20px 0 50px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#1c1916a8,#211a1438),linear-gradient(0deg,#171411ef,transparent 45%,#17141166)}h1{font-size:clamp(70px,17vw,102px);letter-spacing:-3px}.hero .eyebrow{font-size:11px;letter-spacing:1.5px;max-width:265px;line-height:1.9;margin-bottom:25px}.hero-description{font-size:15px;max-width:300px;margin:26px 0}.hero-description br{display:none}.cream{width:215px}.hero-bottom{bottom:24px;left:26px;right:26px;align-items:flex-end;gap:15px;padding-bottom:0}.hero-bottom>span{font-size:10px;letter-spacing:1.3px;max-width:160px}.hero-bottom a{font-size:12px;white-space:nowrap}.hero-bottom a span{margin-left:9px}.section{padding:66px 24px}h2{font-size:43px;letter-spacing:-1.5px}.retreat-description{grid-template-columns:1fr;gap:18px;margin:28px 0 32px}.lake-story img{height:370px}.lake-story figcaption{gap:20px}.lake-story figcaption span:first-child{font-size:19px}.lake-story figcaption span:last-child{max-width:130px;text-align:right}.details{gap:19px}.details h3{font-size:16px;line-height:1.4}.details p{font-size:14px}.inquiry{grid-template-columns:1fr;gap:40px}.inquiry h2{font-size:43px}.inquiry-note{display:none}.inquiry-intro>p{max-width:none}.form-heading h3{font-size:28px}footer{padding:35px 24px;display:block}footer .wordmark{display:inline-block;margin-bottom:22px}.footer-notes{margin-bottom:22px}.footer-notes p{font-size:16px;max-width:none}.footer-notes small{display:block;max-width:280px}footer>a:last-child{display:inline-block}.eyebrow{font-size:11px}}
@media(max-width:360px){.nav-cta span{display:none}.hero-bottom>span{max-width:130px}.details{grid-template-columns:1fr;gap:24px}.details p br{display:none}}
/* Scroll distance maps directly to the paused film timeline. */
.scroll-scene{height:500vh;height:500svh;position:relative;background:#292725}
.scroll-scene .hero{position:sticky;top:0;height:100vh;height:100svh;min-height:0;padding:130px 7% 90px;justify-content:center}
.scroll-scene .hero-image{object-position:center}
.scroll-scene .hero-content{padding:0;max-height:100%;position:relative}
.film-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#f5efe422}
.film-progress span{display:block;height:100%;background:#c5a06b;transform:scaleX(0);transform-origin:left}
.film-unavailable{height:100svh}
@media(max-width:650px){.scroll-scene .hero{padding:120px 26px 100px}.scroll-scene h1{font-size:clamp(64px,16vw,90px)}.scroll-scene .hero .eyebrow{margin-bottom:20px}.scroll-scene .hero-description{margin:22px 0}.scroll-scene .hero-bottom>span{max-width:170px}}
@media(max-height:650px){.scroll-scene .hero{padding-top:100px;padding-bottom:75px}.scroll-scene h1{font-size:clamp(48px,10vh,76px)}.scroll-scene .hero .eyebrow{margin-bottom:12px}.scroll-scene .hero-description{margin:12px 0;font-size:14px}.scroll-scene .hero-bottom{bottom:15px;padding-top:12px}.scroll-scene .cream{padding:10px 20px;min-height:44px}}
/* Quiet, one-time reveals for the story below the opening film. */
.scroll-reveal{opacity:1;transform:none;transition:opacity 750ms ease,transform 850ms cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.scroll-reveal.reveal-pending{opacity:0;transform:translateY(28px)}
.scroll-reveal:focus-within{opacity:1;transform:none;transition-delay:0ms}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal.reveal-pending{opacity:1;transform:none;transition:none}}
@media print{.scroll-reveal,.scroll-reveal.reveal-pending{opacity:1;transform:none;transition:none}}
/* Stillpine glass: warm materials, quiet depth, generous tourism layout. */
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:#f6f2eb;letter-spacing:-.015em}
html{scroll-padding-top:115px}
h1,h2,.form-heading h3{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-weight:600;letter-spacing:-.055em}
h1 em,h2 em{font-style:normal;font-weight:400}
.header{position:fixed;inset:18px 5% auto;min-height:68px;height:68px;padding:12px 24px;border:1px solid #ffffff55;border-radius:25px;color:#fff8ee;background:#302a24bf;box-shadow:0 12px 44px #100d1322,inset 0 1px 0 #ffffff55;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}
.wordmark{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:30px;font-weight:600;letter-spacing:-1.8px}nav{gap:28px}.nav-cta{border-radius:100px;background:#f5efe4e8;color:#302c27;border:1px solid #ffffffbb;padding:10px 18px;box-shadow:inset 0 1px 1px #fff,0 3px 10px #0001}
.button{border-radius:100px;min-height:54px;box-shadow:inset 0 1px 1px #ffffff77,0 7px 20px #00000010}.hero .cream{background:#f7f1e3df;border:1px solid #ffffffaa;backdrop-filter:blur(18px)}
.hero-content{max-width:900px}.scroll-scene h1{font-size:clamp(72px,8vw,128px);line-height:1.02}.hero .eyebrow{font-size:12px;letter-spacing:2px}
.section{padding:110px max(6%,calc((100vw - 1220px)/2))}.retreat{display:block}.retreat-side{margin:0 0 30px}.side-word,.retreat-side .index{display:none}.retreat-content>h2{max-width:800px;font-size:clamp(42px,5vw,74px)}.retreat-description{max-width:1000px;gap:65px;margin:35px 0 55px}.retreat-description p{font-size:17px;line-height:1.8}.retreat-description p:first-child{font-size:21px;line-height:1.6}
.lake-story{position:relative;margin-bottom:28px}.lake-story img{border-radius:32px;height:500px}.lake-story figcaption{position:absolute;bottom:24px;left:24px;right:24px;padding:18px 24px;border-radius:20px;color:#fff4e2;background:#29221ba8;border:1px solid #ffffff55;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.lake-story figcaption span:first-child{font-family:inherit;font-style:normal;color:#fff4e2;font-weight:500}
.details{border:0;padding:0;gap:22px}.details>div{padding:28px;border-radius:25px;border:1px solid #fff;background:linear-gradient(145deg,#fff9,#fff3);box-shadow:0 12px 35px #59452b09,inset 0 1px 1px #fff}.detail-number{font-family:inherit;font-style:normal;font-size:13px}.details h3{font-size:21px;letter-spacing:-.035em}.details p{font-size:15px}
.booking{position:relative;isolation:isolate;display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;background:radial-gradient(ellipse at 90% 20%,#b88c5044,transparent 65%),radial-gradient(ellipse at 0% 80%,#e4cda252,transparent 65%),#e7ddd0;align-items:center;overflow:hidden}.booking h2{font-size:clamp(42px,4.5vw,65px);line-height:1.08;margin:24px 0}.booking h2 em{color:#8a6438}.booking-copy>p:not(.eyebrow){color:#61564a;max-width:370px;line-height:1.8}.booking-tags{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}.booking-tags span{font-size:12px;padding:8px 13px;background:#fff7;border:1px solid #fff9;border-radius:100px}.booking-explainer{font-size:14px}
.glass-panel{--light-x:75%;--light-y:0%;position:relative;background:radial-gradient(450px circle at var(--light-x) var(--light-y),#ffffff80,transparent 80%),linear-gradient(135deg,#ffffffa6,#fff6);border:1px solid #ffffffe0;border-radius:32px;padding:36px;backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);box-shadow:0 24px 65px #4b362c19,inset 0 1px 1px #fff,inset 0 -1px 1px #ffffff88;color:#302c27}.booking .form-heading{border-color:#88725925;margin-bottom:25px}.booking .form-heading h3{font-size:31px;margin-top:12px}.booking .form-heading p,.booking label>span,.booking .form-footnote{color:#6c5c49}.booking input,.booking textarea{background:#ffffffa6;border-color:#9e8b7044;color:#302c27;color-scheme:light}.booking input::placeholder,.booking textarea::placeholder{color:#8a7a66}.booking input:focus,.booking textarea:focus{background:#ffffffe0}.booking textarea{min-height:100px}.booking .field-row{grid-template-columns:1fr 1fr;gap:16px}.booking-button{width:100%;background:#302c27;color:#f6eee1}.booking-button:hover{background:#4d4030;color:#fff6e8}
input,textarea{border-radius:14px;padding:14px 16px}label{font-size:13px;font-weight:500}.form-footnote{line-height:1.6}.inquiry{gap:75px}.inquiry h2{font-size:clamp(42px,4.5vw,62px)}.inquiry #inquiry-form{border:1px solid #ffffff25;border-radius:28px;padding:32px;background:linear-gradient(135deg,#ffffff0d,#ffffff03);box-shadow:inset 0 1px 0 #ffffff17}.inquiry .field-row{grid-template-columns:1fr 1fr;gap:16px}.inquiry input,.inquiry textarea{background:#ffffff08}.form-heading h3{font-size:28px}footer .wordmark{font-size:30px}
@media(max-width:1000px){.booking{gap:36px;grid-template-columns:1fr 1.15fr}.glass-panel{padding:26px}.booking .field-row,.inquiry .field-row{grid-template-columns:1fr;gap:0}.section{padding:80px 5%}.inquiry{gap:35px}.inquiry #inquiry-form{padding:24px}}
@media(max-width:750px){.header{inset:12px 14px auto;height:62px;min-height:62px;padding:10px 16px;border-radius:22px}.wordmark{font-size:26px}nav{gap:12px}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:12px;padding:9px 14px}.nav-cta span{padding-left:7px}.section{padding:65px 24px}.retreat-content>h2{font-size:43px}.retreat-description{grid-template-columns:1fr;gap:22px;margin:28px 0 35px}.retreat-description p:first-child{font-size:20px}.lake-story img{height:420px;border-radius:25px}.lake-story figcaption{left:14px;right:14px;bottom:14px;padding:15px;border-radius:17px}.details{grid-template-columns:1fr;gap:14px}.details>div{padding:24px}.details p br{display:none}.details h3{margin:8px 0}.booking,.inquiry{grid-template-columns:1fr;gap:34px}.booking h2,.inquiry h2{font-size:45px}.booking-copy>p:not(.eyebrow){max-width:none}.glass-panel{padding:26px 22px;border-radius:26px}.booking .field-row{grid-template-columns:1fr 1fr;gap:14px}.inquiry #inquiry-form{padding:25px 22px}.scroll-scene h1{font-size:clamp(64px,16vw,90px)}}
@media(max-width:420px){.booking .field-row{grid-template-columns:1fr;gap:0}.booking h2,.inquiry h2{font-size:39px}.lake-story figcaption span:first-child{font-size:17px}.lake-story figcaption span:last-child{font-size:11px}.section{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-transparency:reduce){.header{background:#302c27}.glass-panel{background:#f3eade}.lake-story figcaption{background:#302c27}}
/* Clear the frame while the visitor scrubs the opening film. */
.header{transition:transform 550ms cubic-bezier(.22,.68,.2,1),opacity 400ms ease,visibility 0s;will-change:transform,opacity}
.header.cinema-hidden{transform:translateY(calc(-100% - 28px)) scale(.97);opacity:0;visibility:hidden;pointer-events:none;transition:transform 550ms cubic-bezier(.22,.68,.2,1),opacity 350ms ease,visibility 0s 550ms}
@media(prefers-reduced-motion:reduce){.header,.header.cinema-hidden{transition:none}}
/* Masked lines reveal in sequence, then leave the frame for the film. */
.hero-line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.hero-line>.hero-reveal{display:block}
.hero-reveal{animation:hero-line-enter 1100ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--intro-delay,0ms)}
@keyframes hero-line-enter{from{opacity:0;transform:translateY(105%);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.scroll-scene .hero-content{opacity:1;transform:translateY(0);filter:blur(0);transition:opacity 650ms ease,transform 850ms cubic-bezier(.2,.65,.25,1),filter 650ms ease}
.scroll-scene .hero-content.hero-copy-exit{opacity:0;transform:translateY(-36px);filter:blur(8px);pointer-events:none}
.hero-reveal:focus-visible{animation:none}
@media(max-height:650px){.scroll-scene .hero-description{line-height:1.5}.scroll-scene .hero-content{padding:0}}
@media(prefers-reduced-motion:reduce){.hero-reveal{animation:none}.scroll-scene .hero-content{transition:none}.scroll-scene .hero-content.hero-copy-exit{transform:none;filter:none}}
/* Scroll-directed story beats over the same uninterrupted film. */
.film-caption{position:absolute;left:7%;right:7%;top:50%;transform:translateY(calc(-50% + 25px));opacity:0;visibility:hidden;pointer-events:none;filter:blur(8px);transition:opacity 500ms ease,transform 750ms cubic-bezier(.2,.65,.25,1),filter 600ms ease,visibility 0s 750ms;max-width:1050px;color:var(--cream)}
.film-caption.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%);filter:blur(0);transition-delay:0s}
.film-caption .eyebrow{margin-bottom:24px;color:#e4d4bb}.film-caption h2{font-size:clamp(56px,7.2vw,110px);line-height:1.06;letter-spacing:-.055em}.film-caption h2 span{display:block}.film-caption h2 em{color:#e3cba6;font-style:normal;font-weight:400}.caption-description{font-size:18px;line-height:1.8;margin:28px 0;color:#f2e8da}
.film-caption>*{opacity:0;transform:translateY(18px);transition:opacity 450ms ease,transform 650ms cubic-bezier(.2,.65,.25,1)}.film-caption.is-active>*{opacity:1;transform:none}.film-caption.is-active>h2{transition-delay:90ms}.film-caption.is-active>.caption-description{transition-delay:170ms}.film-caption.is-active>.button{transition-delay:230ms}
@media(max-width:650px){.film-caption{left:26px;right:26px}.film-caption h2{font-size:clamp(42px,10.5vw,68px)}.film-caption .eyebrow{font-size:10px;letter-spacing:1.5px}.caption-description{font-size:15px;margin:24px 0;max-width:320px}}
@media(max-height:650px){.film-caption h2{font-size:clamp(38px,9vh,65px)}.film-caption .eyebrow{margin-bottom:12px}.caption-description{margin:14px 0;font-size:14px}.film-caption{top:52%}}
@media(prefers-reduced-motion:reduce){.film-caption,.film-caption>*{transition:none;filter:none}.film-caption{transform:translateY(-50%)}.film-caption>*{transform:none}}
/* One persistent call to action, independent of every text scene. */
.scroll-scene .hero-fixed-cta{position:absolute;left:7%;bottom:120px;z-index:2;animation:none;transform:none;opacity:1;filter:none;transition:background-color 200ms ease;min-height:54px}
.scroll-scene .hero-content{margin-bottom:90px;transition:opacity 1000ms ease,transform 1200ms cubic-bezier(.22,.61,.36,1),filter 1000ms ease}
.scroll-scene .hero-content.hero-copy-exit{transform:translateY(-18px);filter:blur(4px)}
.film-caption{top:44%;transform:translateY(calc(-50% + 16px));filter:blur(4px);transition:opacity 1000ms ease,transform 1200ms cubic-bezier(.22,.61,.36,1),filter 1000ms ease,visibility 0s 1200ms}
.film-caption.is-active{transform:translateY(-50%);transition-delay:0s}
.film-caption>*{transform:translateY(10px);transition:opacity 850ms ease,transform 1100ms cubic-bezier(.22,.61,.36,1)}
.film-caption.is-active>h2{transition-delay:70ms}.film-caption.is-active>.caption-description{transition-delay:140ms}
.hero-reveal{animation-duration:1400ms;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
@media(max-width:650px){.scroll-scene .hero-fixed-cta{left:26px;bottom:115px}.scroll-scene .hero-content{margin-bottom:95px}.film-caption{top:43%}}
@media(max-height:650px){.scroll-scene .hero-fixed-cta{bottom:75px;min-height:44px}.scroll-scene .hero-content{margin-bottom:50px}.film-caption{top:43%}.scroll-scene .hero-description{margin:10px 0}}
@media(prefers-reduced-motion:reduce){.scroll-scene .hero-content,.film-caption,.film-caption>*,.scroll-scene .hero-fixed-cta{transition:none}.scroll-scene .hero-content.hero-copy-exit{transform:none;filter:none}.film-caption{filter:none;transform:translateY(-50%)}}
