@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--forest:#102b22;--forest-light:#193c30;--cream:#faf3df;--gold:#ddc18a;--muted:#c3cfc5;--line:#e6d8b72c;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--forest);color:var(--cream);font:16px/1.65 var(--sans)}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:500}img{display:block;max-width:100%}button img{pointer-events:none}svg{display:block;width:28px;height:28px}em{font-weight:400;color:var(--gold)}[hidden]{display:none!important}.wrap{width:88%;max-width:1320px;margin-inline:auto}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold)}h2{font:500 clamp(42px,4.6vw,68px)/1.03 var(--serif);letter-spacing:-.025em}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:52px;padding:14px 24px;border:1px solid var(--cream);border-radius:2px;background:var(--cream);color:var(--forest);font-size:14px;font-weight:600;line-height:1.4;transition:background .2s,color .2s}.button:hover{background:var(--gold);border-color:var(--gold)}.button>span{font-size:19px;font-weight:400}.button.outline{background:transparent;color:var(--cream);border-color:#e5d8bc88}.button.outline:hover{background:var(--cream);color:var(--forest)}.text-link{display:inline-flex;align-items:center;gap:35px;background:none;padding:10px 0 6px;border-bottom:1px solid currentColor;font-size:14px;font-weight:500}.text-link:hover{color:var(--gold)}.skip-link{position:fixed;z-index:30;top:8px;left:8px;transform:translateY(-150%);padding:10px 16px;background:var(--cream);color:var(--forest)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:10;background:#102b22f5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{width:90%;max-width:1380px;margin:auto;display:flex;align-items:center;gap:32px;min-height:98px}.brand{display:flex;align-items:center;gap:12px;font:500 27px/1.1 var(--serif);white-space:nowrap}.brand .pine{width:24px;height:36px;color:var(--gold)}.brand small{display:block;margin-top:7px;font:500 11px/1.4 var(--sans);letter-spacing:.13em;text-transform:uppercase}.site-header nav{display:flex;gap:28px;align-items:center;margin-left:auto}.site-header nav a{font-size:14px;padding:10px 0}.site-header nav a:hover{color:var(--gold)}.header-book{font-size:13px;min-height:46px;padding:10px 18px;gap:22px}.menu-toggle{display:none}
.hero{padding-top:56px}.hero-heading{display:grid;grid-template-columns:1.45fr 1fr;align-items:end;gap:45px;padding-bottom:38px}.hero h1{font:500 clamp(64px,6.5vw,100px)/.94 var(--serif);letter-spacing:-.035em;margin-top:20px}.hero-intro{padding:0 0 3px 20px}.hero-intro>p{font:400 24px/1.35 var(--serif);margin-bottom:23px}.hero-location{display:block;font-size:12px;color:var(--muted);margin-top:15px}.hero-photograph{display:block;position:relative;width:100%;height:clamp(360px,38vw,540px);background:var(--forest-light);overflow:hidden;padding:0;border-radius:3px}.hero-photograph>img{width:100%;height:100%;object-fit:cover;object-position:52% 36%;transition:transform .8s}.hero-photograph:hover>img{transform:scale(1.02)}.photo-label{position:absolute;bottom:22px;right:24px;background:var(--cream);color:var(--forest);padding:10px 18px;font-size:13px;display:flex;gap:24px;align-items:center;box-shadow:0 4px 20px #0002}.stay-facts{display:grid;grid-template-columns:repeat(4,1fr);padding:32px 0;border-bottom:1px solid var(--line)}.stay-facts>div{display:flex;align-items:center;justify-content:center;gap:18px;border-right:1px solid var(--line)}.stay-facts>div:last-child{border:0}.stay-facts strong{font:400 48px/1 var(--serif);color:var(--gold)}.stay-facts span{font-size:14px;color:var(--muted)}.private-stay svg{width:35px;height:35px;color:var(--gold)}.private-stay>span:last-child{line-height:1.5}
.cabin-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:18px 10%;padding:84px 0 76px}.cabin-intro>.eyebrow{grid-column:1/-1}.cabin-intro>div{max-width:490px;align-self:center}.cabin-intro>div p{color:var(--muted);margin-bottom:16px;line-height:1.8}.cabin-intro .text-link{margin-top:8px}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{font-size:clamp(42px,4vw,60px)}.section-heading>.button{flex:none}.gallery-section{padding:12px 0 92px}.property-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 20px}.photo-card{grid-column:span 2;display:block;text-align:left;background:transparent;padding:0;min-width:0}.photo-card:nth-child(-n+2){grid-column:span 3}.trail-photo{position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:3px;height:clamp(240px,24vw,335px);background:var(--forest-light)}.trail-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s,transform .7s}.trail-photo img:first-child,.trail-photo img.is-active{opacity:1}.trail-photo:has(.is-active) img:not(.is-active){opacity:0}.photo-card:hover .trail-photo img{transform:scale(1.015)}.photo-caption{display:flex;align-items:center;justify-content:space-between;padding-top:17px;gap:15px}.photo-caption>span:first-child{display:flex;gap:12px;align-items:baseline}.photo-caption small{color:var(--gold);font-size:12px;letter-spacing:.1em}.photo-caption strong{font:500 clamp(24px,2.2vw,33px)/1.1 var(--serif)}.photo-open{border:1px solid var(--line);width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-size:16px;flex:none}
.wellness-section{background:var(--cream);color:var(--forest);padding:88px 0;color-scheme:light}.wellness-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center}.wellness-section .eyebrow,.reviews-section .eyebrow{color:#7b622e}.wellness-section em,.reviews-section em{color:#426750}.wellness-copy h2{margin-top:16px}.wellness-copy>p:not(.eyebrow){margin-top:25px;color:#496053;line-height:1.8}.amenities-list{margin:28px 0 20px}.amenities-list>div{padding:14px 0;border-top:1px solid #193c3026;display:grid;grid-template-columns:1fr 1.1fr;gap:15px}.amenities-list dt{font-size:15px;font-weight:600}.amenities-list dd{font-size:14px;color:#52675b}.wellness-photo{padding:0;background:var(--forest);position:relative;overflow:hidden;align-self:stretch;min-height:590px;max-height:800px}.wellness-photo img{width:100%;height:100%;object-fit:cover;object-position:64% 50%;position:absolute;inset:0}.wellness-photo>span{position:absolute;left:0;right:0;bottom:0;padding:60px 25px 22px;background:linear-gradient(transparent,#091e17b8);color:var(--cream);font-size:13px;text-align:left}.wellness-section .text-link:hover{color:#58713e}
.outdoors-section{padding:90px 0;display:grid;grid-template-columns:.9fr 1fr;gap:10%;align-items:center}.outdoors-photo{padding:0;background:var(--forest-light);height:500px;overflow:hidden;border-radius:2px}.outdoors-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}.outdoors-section h2{margin-top:17px;font-size:clamp(43px,4.3vw,62px)}.outdoors-section>div>p:not(.eyebrow){color:var(--muted);margin-top:24px;line-height:1.8;max-width:470px}.outdoor-details{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:25px 0 23px}.outdoor-details span{border-top:1px solid var(--line);padding:12px 0;font-size:14px;color:var(--muted)}
.reviews-section{background:var(--cream);color:var(--forest);padding:72px 0}.review-intro{font-size:15px;line-height:1.8;color:#52675b;max-width:290px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:40px}.guest-review{border-top:1px solid #173e3038;padding-top:24px}.review-stars{font-size:14px;letter-spacing:.14em;color:#8a6d35}.guest-review blockquote{font:500 25px/1.3 var(--serif);margin:20px 0 26px}.guest-review figcaption{display:flex;gap:15px;align-items:center;font-size:13px}.guest-review figcaption>span{color:#66786c}.guest-review strong{font-size:14px}
.nearby-section{width:88%;max-width:1320px;margin:0 auto;padding:65px 0;display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:70px;border-bottom:1px solid var(--line)}.nearby-heading .eyebrow{margin-bottom:15px}.nearby-heading h2{font:500 42px/1.05 var(--serif)}.nearby-heading>p:not(.eyebrow){display:none}.attraction-carousel{min-width:0}.attraction-slider{height:205px;position:relative;overflow:hidden;border-radius:2px}.attraction-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s;pointer-events:none}.attraction-slide.is-active{opacity:1}.attraction-slide img{width:100%;height:100%;object-fit:cover}.attraction-slide:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#061c18c9)}.attraction-slide figcaption{position:absolute;bottom:17px;left:22px;right:22px;z-index:1;font:500 28px/1.1 var(--serif);color:var(--cream)}.slideshow-controls{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.slideshow-dots,.slideshow-actions{display:flex;align-items:center;gap:6px}.slideshow-dots button{width:35px;height:36px;background:transparent;display:grid;place-items:center;padding:10px}.slideshow-dots button:before{content:'';width:6px;height:6px;border-radius:4px;background:#7e9786}.slideshow-dots button[aria-current=true]:before{width:20px;background:var(--gold)}.slideshow-actions button{min-width:36px;height:36px;padding:0 12px;background:#ffffff0a;border-radius:50%;font-size:22px}.slideshow-actions .slideshow-pause{font-size:12px;border-radius:20px}.slideshow-actions button:hover{background:#ffffff20}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.closing-section{padding:83px 0 90px;text-align:center}.closing-section h2{font-size:clamp(50px,6vw,86px);margin-top:19px}.closing-section>p:not(.eyebrow){color:var(--muted);margin:23px 0}.closing-section>.button{min-width:215px}.site-footer{border-top:1px solid var(--line);padding-top:32px;padding-bottom:30px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.site-footer nav{display:flex;gap:25px;margin-left:auto;align-items:center}.site-footer nav a,.site-footer nav button{font-size:13px;background:transparent;padding:5px 0}.site-footer>p{width:65%;font-size:12px;color:#9db2a3;margin-top:10px}.site-footer .credits{margin-left:auto;font-size:12px;color:#9db2a3}.mobile-booking{display:none}.noscript{padding:20px;background:var(--cream);color:var(--forest)}
.gallery-dialog{width:min(1140px,94vw);max-height:90svh;padding:0;border:1px solid #e5d8bc33;border-radius:6px;background:var(--cream);color:var(--forest);box-shadow:0 20px 100px #0008;color-scheme:light}.gallery-dialog::backdrop,.lightbox::backdrop{background:#061812e8}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px 20px;gap:18px}.dialog-header .eyebrow{color:#58705b;font-size:12px}.dialog-header h2{font:500 40px/1.1 var(--serif);margin-top:7px}.dialog-book{background:var(--forest);color:var(--cream);border-color:var(--forest);font-size:13px;margin-left:auto}.dialog-book:hover{background:#294f3c;color:var(--cream)}.icon-button{background:transparent;color:inherit;border-radius:50%;font-size:32px;width:44px;height:44px;line-height:1;flex:none}.icon-button:hover{background:#7772}.gallery-browse{padding:0 30px 18px}.gallery-browse .button{background:var(--forest);color:var(--cream);border-color:var(--forest);font-size:13px;min-height:46px}.gallery-status{padding:0 30px 18px;font-size:14px;color:#52675b}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 30px 30px}.gallery-tile{background:#fffdf6;border-radius:3px;overflow:hidden;text-align:left;padding:0;color:var(--forest)}.gallery-tile img{width:100%;height:210px;object-fit:cover;background:#d4d9cc}.gallery-tile span{display:block;padding:12px 14px;font-size:14px;line-height:1.4;min-height:64px}.lightbox{border:1px solid var(--line);padding:18px 24px;background:#071b14;color:var(--cream);width:min(1400px,98vw);height:94svh;max-width:none;max-height:none;border-radius:6px;overflow:hidden}.lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;justify-content:space-between;align-items:center;flex:none;font-size:14px}.lightbox-main{display:flex;align-items:center;justify-content:center;gap:15px;flex:1;min-height:0}.lightbox figure{margin:0;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.lightbox figure img{max-width:100%;max-height:calc(100% - 52px);width:auto;height:auto;object-fit:contain}.lightbox figcaption{text-align:center;margin-top:12px;font-size:14px;flex:none}.photo-arrow{width:44px;height:54px;font-size:40px;border-radius:3px;background:#ffffff13;flex:none}.photo-arrow:hover{background:#ffffff30}.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;flex:none;font-size:13px;color:var(--muted)}.lightbox-bottom a:not(.button){text-decoration:underline;text-underline-offset:4px}.viewer-book{font-size:13px;padding:10px 18px;min-height:46px}
@media(min-width:1600px){.hero-heading{padding-top:10px}.hero h1{font-size:108px}}
@media(max-width:1100px){.header-inner{gap:20px;width:92%}.brand{font-size:24px}.brand small{font-size:10px}.site-header nav{gap:18px}.site-header nav a{font-size:13px}.header-book{gap:14px;padding:10px 13px;font-size:12px}.hero-intro{padding-left:0}.hero h1{font-size:78px}.wellness-inner{gap:7%}.wellness-photo{min-height:630px}.amenities-list>div{display:block}.amenities-list dd{margin-top:4px}.reviews-grid{gap:25px}.guest-review blockquote{font-size:24px}.site-footer nav{gap:18px}}
@media(max-width:850px){.wrap,.nearby-section{width:90%}.site-header nav{gap:14px}.header-book{display:none}.hero{padding-top:42px}.hero-heading{gap:28px;grid-template-columns:1.3fr 1fr}.hero h1{font-size:67px}.hero-intro>p{font-size:22px}.hero-intro .button{font-size:13px;padding:13px 17px;gap:20px}.hero-photograph{height:360px}.cabin-intro{gap:16px 7%;padding:65px 0}.property-grid{gap:25px 15px}.trail-photo{height:230px}.photo-caption strong{font-size:25px}.photo-caption small{display:none}.photo-open{width:27px;height:27px}.wellness-section{padding:65px 0}.wellness-inner{grid-template-columns:1fr 1fr}.wellness-copy h2{font-size:54px}.outdoors-section{gap:7%;padding:65px 0}.outdoors-section h2{font-size:47px}.outdoors-photo{height:475px}.section-heading{gap:20px}.section-heading>.button{gap:15px;font-size:12px;padding:12px 16px}.reviews-grid{gap:20px}.guest-review blockquote{font-size:23px}.review-intro{display:none}.nearby-section{gap:35px}.nearby-heading h2{font-size:36px}.site-footer .brand{font-size:23px}.site-footer nav{gap:14px}}
@media(max-width:650px){html{scroll-padding-top:85px}body{padding-bottom:84px}.wrap,.nearby-section{width:88%}.header-inner{width:88%;min-height:78px;gap:16px}.brand{font-size:25px}.brand small{font-size:10px;letter-spacing:.12em}.brand .pine{width:20px;height:31px}.menu-toggle{display:flex;margin-left:auto;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:transparent}.menu-toggle span{height:1px;background:var(--cream);width:23px}.site-header nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--forest);padding:15px 6% 22px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:12px 0;font-size:16px}.hero{padding-top:34px}.hero-heading{display:block;padding-bottom:28px}.hero .eyebrow{font-size:11px;letter-spacing:.14em}.hero h1{font-size:clamp(58px,15vw,82px);margin-top:16px}.hero-intro{padding:0;margin-top:23px}.hero-intro>p{font-size:23px;margin-bottom:21px}.hero-intro .button{font-size:14px;min-height:50px;padding:13px 22px}.hero-location{display:none}.hero-photograph{height:320px;width:calc(100% + 13.64%);margin-left:-6.82%;border-radius:0}.hero-photograph>img{object-position:59% 50%}.photo-label{right:18px;bottom:18px;padding:9px 14px;font-size:12px;gap:18px}.stay-facts{grid-template-columns:1fr 1fr;padding:22px 0;gap:22px 0}.stay-facts>div{gap:14px;justify-content:flex-start;padding-left:18px}.stay-facts>div:nth-child(even){border-right:0}.stay-facts strong{font-size:39px}.stay-facts span{font-size:13px}.private-stay svg{width:30px}.cabin-intro{display:block;padding:48px 0}.cabin-intro>.eyebrow{margin-bottom:17px}.cabin-intro h2{font-size:50px}.cabin-intro>div{margin-top:24px}.cabin-intro>div p{font-size:16px}.section-heading{display:block;margin-bottom:24px}.section-heading .button{margin-top:24px;font-size:14px}.section-heading h2{font-size:46px}.gallery-section{padding:10px 0 50px}.property-grid{grid-template-columns:1fr;gap:27px}.photo-card,.photo-card:nth-child(-n+2){grid-column:1}.trail-photo{height:clamp(240px,76vw,350px)}.photo-caption{padding-top:13px}.photo-caption strong{font-size:29px}.photo-caption small{display:inline}.photo-open{width:32px;height:32px}.wellness-section{padding:47px 0}.wellness-inner{display:flex;flex-direction:column;gap:35px;align-items:stretch}.wellness-copy h2{font-size:57px}.wellness-copy>p:not(.eyebrow){margin-top:22px}.amenities-list>div{display:grid;grid-template-columns:1fr 1.1fr}.amenities-list dd{margin-top:0}.wellness-photo{min-height:360px;height:360px;max-height:none;order:-1}.wellness-photo img{object-position:60% 50%}.outdoors-section{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:50px 0}.outdoors-photo{height:360px}.outdoors-section h2{font-size:49px}.outdoor-details{gap:0 20px}.reviews-section{padding:48px 0}.reviews-section h2{font-size:45px}.reviews-grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.guest-review blockquote{font-size:27px;margin-bottom:20px}.nearby-section{display:block;padding:44px 0 35px}.nearby-heading h2{font-size:37px}.attraction-carousel{margin-top:23px}.attraction-slider{height:195px}.attraction-slide figcaption{font-size:25px}.slideshow-actions button{min-width:40px;height:40px}.closing-section{padding:48px 0 52px}.closing-section h2{font-size:57px}.closing-section .eyebrow{font-size:11px;max-width:250px;margin:auto}.site-footer{padding-top:30px;gap:24px}.site-footer nav{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:13px 28px;width:100%}.site-footer nav a,.site-footer nav button{text-align:left;font-size:14px;padding:4px 0}.site-footer>p{width:auto;flex:1;font-size:11px;margin:0}.site-footer .credits{font-size:11px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;background:#102b22f7;border-top:1px solid #decaa744;backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:15px;padding:12px 6%;padding-bottom:max(12px,env(safe-area-inset-bottom))}.mobile-booking>span{font:400 20px/1.05 var(--serif)}.mobile-booking strong{font-weight:500}.mobile-booking .button{padding:11px 16px;font-size:13px;min-height:46px;gap:20px}.gallery-dialog{width:96vw;max-height:93svh}.dialog-header{padding:21px 18px 16px;flex-wrap:wrap;gap:12px}.dialog-header>div{flex:1;min-width:200px}.dialog-header h2{font-size:34px}.dialog-book{order:3;width:100%;margin:0}.dialog-header .icon-button{margin-left:auto}.gallery-browse{padding:0 18px 16px}.gallery-browse .button{width:100%}.gallery-status{padding:0 18px 16px;font-size:13px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px;padding:0 18px 22px}.gallery-tile img{height:150px}.gallery-tile span{font-size:12px;padding:10px;min-height:64px}.lightbox{width:100vw;height:100svh;border-radius:0;padding:12px}.lightbox-main{gap:4px}.photo-arrow{width:30px;height:48px;font-size:34px}.lightbox figcaption{font-size:13px}.lightbox-bottom{gap:10px}.viewer-book{font-size:12px;padding:10px 12px;min-height:44px}.lightbox-bottom a:not(.button){font-size:11px;max-width:95px}.lightbox figure img{max-height:calc(100% - 75px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
