:root{--pine:#232625;--deep:#181b1b;--paper:#202323;--ink:#f3f2ec;--muted:#b4b9b5;--brass:#edbe71;--line:#ffffff20;--serif:Archivo,Arial,sans-serif}body{background:#202323;color:#f3f2ec}h1,h2{font-family:Archivo,Arial,sans-serif;font-weight:500;letter-spacing:-.065em;line-height:1.07}h2{font-size:clamp(2.5rem,4.4vw,4.3rem)}h1 em,h2 em,.footer-invite em{font-style:normal;color:#a4aea5}.eyebrow{color:#bfc7ba;font-size:11px;letter-spacing:.12em}.eyebrow.light{color:#ecede2}.button{border-radius:4px;font-weight:500}.button.brass{color:#222822;background:linear-gradient(110deg,#f4cc88,#e9b35c);border:1px solid #ffe2ac66}.button:hover{background:#ffdc9b}.text-link{color:#f2f0e5;border-color:#ffffff40}.text-link:hover{color:#edbe71}header{top:24px;left:24px;right:24px;border:0;background:transparent}.nav{min-height:84px;padding-inline:42px;max-width:none}.brand-name{font-size:16px;line-height:1.2;letter-spacing:.02em;font-weight:600}.brand-place{font-size:10px}.links>a{font-size:13px}.links .nav-book{border-color:#ffffff70;background:#ffffff0c;backdrop-filter:blur(12px);border-radius:2px}.hero{margin:24px;min-height:790px;height:calc(100svh - 48px);max-height:1120px;isolation:isolate;overflow:hidden;align-items:flex-start;border:1px solid #ffffff18}.hero-photo{height:112%;top:-6%;object-position:center 64%;will-change:transform}.hero-shade{background:linear-gradient(180deg,#13202136 0%,#14212310 35%,#080f19a8 72%,#080e16 100%),linear-gradient(90deg,#13202840,transparent 75%)}.hero-content{padding:160px 42px 0;max-width:none}.hero-content .eyebrow{margin-bottom:26px}.hero h1{font-size:clamp(6rem,12.6vw,13rem);line-height:.87;font-weight:500;letter-spacing:-.085em;color:#fff;max-width:100%}.hero h1>span{display:block}.hero-bottom{padding-inline:42px;bottom:42px;max-width:none;align-items:flex-end;gap:32px;letter-spacing:0}.hero-caption{max-width:380px;padding-bottom:8px}.hero-caption p{font-size:17px;line-height:1.65;color:#ecede9}.hero-caption>a{display:inline-flex;align-items:center;gap:24px;font-size:12px;color:#d6dcd8;margin-top:30px;min-height:44px}.hero-caption>a span{font-size:20px}.hero-reservation{width:320px;flex-shrink:0;padding:24px;background:linear-gradient(130deg,#ffffff25,#b8c8d811);border:1px solid #ffffff36;box-shadow:0 16px 50px #0002,inset 0 1px 0 #ffffff16;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:white}.reservation-place{font-size:12px;color:#e0e2df;margin-bottom:15px}.hero-reservation h2{font-size:27px;letter-spacing:-.04em;line-height:1.16}.reservation-specs{display:flex;gap:0;margin-top:20px;font-size:12px;color:#e1e6e2}.reservation-specs>span{padding-inline:12px;border-right:1px solid #ffffff40}.reservation-specs>span:first-child{padding-left:0}.reservation-specs>span:last-child{border:0}.reservation-note{font-size:12px;line-height:1.6;color:#d2d9d5;margin-top:22px;margin-bottom:18px}.hero-reservation .button{width:100%;min-height:48px;font-size:13px}.intro{padding-top:112px;column-gap:100px}.intro-copy p{color:#b4bdb6}.intro-copy p:first-child{color:#e4e7df;font-size:20px}.facts{padding-block:28px}.facts strong{font-family:Archivo;font-size:34px;font-weight:400;letter-spacing:-.05em}.facts span{color:#aab5ad}.gallery-section{padding-top:30px}.gallery{gap:14px;grid-template-columns:1.65fr 1fr 1fr;grid-template-rows:250px 250px}.gallery a{border-radius:9px}.gallery img{transition:transform 900ms cubic-bezier(.2,.65,.2,1),filter 900ms}.gallery a:hover img{transform:scale(1.045);filter:brightness(1.08)}.gallery-note{color:#9fa99f}.experience{margin:0 24px;background:#282c2a;border:1px solid #ffffff14;border-radius:10px;overflow:hidden}.experience-image{overflow:hidden}.experience-image img{height:110%;top:-5%;will-change:transform}.experience-copy h2{font-size:clamp(2.6rem,4vw,4rem)}.experience-copy>p:not(.eyebrow){color:#b9c2b9}.amenities>div>span{color:#e7bd7d}.amenities h3{font-size:15px}.amenities p{color:#afb9ae}.image-label{background:#16202166;backdrop-filter:blur(15px)}.booking-section{background:#202323;padding-top:110px}.booking-intro{color:#d1d8d0}.booking-intro span{color:#a9b2a7}.ratecards{border-color:#ffffff25}.rate{border-color:#ffffff25}.lbl{color:#b6c0af}.amt{font-family:Archivo;font-size:32px;color:#f4f2e9;letter-spacing:-.04em}.amt small{color:#b1b9ab;letter-spacing:0}.rate-note p{color:#adb8a9}.calbox{background:#2b302d;border-color:#ffffff20;color:#eff0e7;border-radius:9px}.calhead button{border-color:#ffffff30;color:#e6eddf}.cal th{color:#b4beac}.cal button{color:#e3e8da}.cal button:hover:not(:disabled){background:#48523f}.cal button:disabled{color:#839079}.cal button.booked{background:repeating-linear-gradient(-45deg,transparent 0 4px,#40473b 4px 6px);color:#9ba58e}.cal button.inrange{background:#62583d}.cal button.checkin,.cal button.checkout{background:#edbe71;color:#24291e}.callegend{border-color:#ffffff20;color:#b3beaa}.legend-booked{background:repeating-linear-gradient(-45deg,#2b302d 0 3px,#68725e 3px 5px);border-color:#68725e}.legend-selected{background:#edbe71}.updatedNote,.calendar-help{color:#aab6a0}.quote{background:linear-gradient(130deg,#373d38,#282e2a);border:1px solid #ffffff25;border-radius:9px}.quote h3{font-family:Archivo;font-size:25px;letter-spacing:-.045em}.hint{color:#bdc8b8}.qrow.total{font-size:19px}.price-details{color:#aebbab}.location-copy>p:not(.eyebrow){color:#b4beb2}.distances dt{color:#a8b6a5}.distances dd{color:#e7ebdf}.location-visual{overflow:hidden;border-radius:9px}.location-visual img{height:110%;top:-5%;will-change:transform}.arrival p:not(.eyebrow){color:#aebaab}.arrival h3{color:#edf0e6}footer{background:#181b1b}.footer-invite{font-family:Archivo;letter-spacing:-.065em;font-size:clamp(3.8rem,6.5vw,6.5rem);font-weight:400}.footer-invite em{color:#e7bc7b}.footer-contact p{font-size:14px}.footer-bottom{color:#9da99a}.mobile-book{background:#202523ed}.lb{background:#121817f7}
/* Reveal runs only after intersection; content stays visible if scripting is unavailable. */
.reveal.is-entering{animation:lodge-reveal .85s cubic-bezier(.2,.7,.2,1) both}@keyframes lodge-reveal{from{opacity:.35;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-content{animation:hero-arrive 1s cubic-bezier(.2,.7,.2,1) both}.hero-reservation{animation:hero-arrive 1.2s .12s cubic-bezier(.2,.7,.2,1) both}@keyframes hero-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-content{padding-top:170px}.hero h1{font-size:clamp(10rem,12vw,14rem)}.hero-bottom{bottom:50px}}
@media(max-width:1150px){.hero{min-height:800px}.hero-content{padding-top:150px}.hero h1{font-size:clamp(6rem,13vw,10rem)}.gallery{grid-template-rows:200px 200px}.intro{column-gap:50px}.experience-copy{padding:54px 32px}}
@media(max-width:800px){header{top:14px;left:14px;right:14px}.nav{padding-inline:26px}.hero{margin:14px;min-height:850px;height:auto}.hero-content{padding:145px 26px 0}.hero h1{font-size:clamp(5.8rem,15vw,8rem)}.hero-content .eyebrow{font-size:10px;letter-spacing:.1em}.hero-bottom{padding-inline:26px;bottom:30px;gap:24px}.hero-caption p{font-size:15px}.hero-reservation{width:285px;padding:22px}.hero-reservation h2{font-size:25px}.links{top:84px;left:-1px;right:-1px;background:#1c2524f7;backdrop-filter:blur(20px)}.intro{padding-top:76px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:340px 180px 180px}.gallery a:first-child{grid-column:1/-1;grid-row:auto}.experience{margin:0 14px}.experience-copy{padding:54px 28px}.booking-section{padding-top:75px}.location-visual{min-height:440px}.footer-invite{font-size:clamp(3.5rem,8vw,5.5rem)}}
@media(max-width:560px){header{top:8px;left:8px;right:8px}.nav{padding-inline:20px;min-height:76px}.links{top:75px}.hero{margin:8px;min-height:0;height:auto;display:block;padding-bottom:24px}.hero-content{padding:132px 20px 40px;animation-duration:.8s}.hero h1{font-size:clamp(4.5rem,18vw,6.5rem);line-height:.91;letter-spacing:-.075em}.hero-content .eyebrow{max-width:25em;font-size:10px;line-height:1.7;margin-bottom:23px}.hero-photo{object-position:48% center;height:100%;top:0;will-change:auto}.hero-shade{background:linear-gradient(180deg,#14242533,#121c2230 20%,#080f19a8 56%,#080e16 100%)}.hero-bottom{position:relative;bottom:auto;display:flex;flex-direction:column;align-items:stretch;padding-inline:20px;gap:28px}.hero-caption{padding-bottom:0}.hero-caption p{font-size:14px;line-height:1.7}.hero-caption>a{margin-top:6px;font-size:12px;min-height:40px}.hero-reservation{width:100%;padding:20px;background:linear-gradient(130deg,#ffffff20,#b8c8d80a)}.hero-reservation h2{font-size:23px}.hero-reservation h2 br{display:none}.reservation-place{font-size:11px;margin-bottom:10px}.reservation-specs{margin-top:15px;font-size:12px}.reservation-note{margin-top:16px;margin-bottom:15px;font-size:12px}.hero-reservation .button{min-height:46px}.intro{padding-top:65px}.intro h2,h2{font-size:clamp(2.4rem,9.5vw,3.3rem)}.intro-copy p:first-child{font-size:18px}.facts strong{font-size:29px}.facts span{font-size:11px}.gallery{grid-template-rows:270px 145px 145px;gap:8px}.gallery a{border-radius:5px}.experience{margin-inline:8px}.experience-copy{padding:44px 20px}.experience-copy h2{font-size:2.6rem}.experience-image{min-height:340px}.amenities{gap:26px 20px}.amenities h3{font-size:15px}.booking-section{padding-top:65px}.rate:last-child{border-color:#ffffff25}.lbl{font-size:10px}.calbox,.quote{border-radius:6px}.location-visual{min-height:350px}.footer-invite{font-size:3.8rem}.footer-invite>span{margin-left:16px}.hero-content,.hero-reservation{animation-name:hero-arrive}.experience-image img,.location-visual img{height:100%;top:0;will-change:auto}}
@media(prefers-reduced-motion:reduce){.hero-content,.hero-reservation,.reveal.is-entering{animation:none!important;transform:none!important}.hero-photo,.experience-image img,.location-visual img{transform:none!important;will-change:auto}}

.location-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;border-radius:inherit}

/* Quiet, text-only actions. */
.button{justify-content:center}.calhead button{width:auto;min-width:64px;padding:10px 12px;border-radius:4px;font-size:12px}.lb .prev,.lb .next{width:auto;min-width:76px;padding:10px 14px;border-radius:4px;font-size:13px}.gallery a:after{display:none}

/* Use the supplied artwork, cropping only its surrounding whitespace in layout. */
.logo-crop{display:block;position:relative;width:142px;aspect-ratio:920/545;overflow:hidden;mix-blend-mode:screen}.logo-crop img{position:absolute;width:136.31%;max-width:none;height:auto;left:-18.15%;top:-63.3%;filter:grayscale(1) invert(1) contrast(1.18)}.brand{padding-block:5px}.footer-logo{padding:0!important;margin-bottom:14px}.footer-logo .logo-crop{width:230px}.nav{min-height:106px}@media(max-width:800px){.nav{min-height:92px}.links{top:91px}.logo-crop{width:128px}}@media(max-width:560px){.nav{min-height:87px}.links{top:86px}.logo-crop{width:118px}.footer-logo .logo-crop{width:210px}}
/* Give the red entry door a more central position in the hero crop. */
.hero-photo{object-position:38% 64%}
@media(max-width:800px){.hero-photo{object-position:35% center}}
@media(max-width:560px){.hero-photo{object-position:34% center}}

/* Convert the original pale background to alpha; preserve the exact logo artwork. */
.logo-crop{mix-blend-mode:normal;background:transparent}.logo-crop img{filter:url("#transparent-logo")}

/* Text navigation brand; the supplied logo anchors the hero. */
.brand-name{font-size:15px;letter-spacing:.13em;line-height:1.4}.nav{min-height:84px}.hero h1.hero-logo{margin:0;line-height:1;width:fit-content}.hero-logo .logo-crop{width:clamp(300px,39vw,520px)}
@media(max-width:800px){.nav{min-height:84px}.links{top:83px}.brand-name{font-size:13px;letter-spacing:.1em}.hero-logo .logo-crop{width:clamp(280px,48vw,400px)}}
@media(max-width:560px){.nav{min-height:76px}.links{top:75px}.brand-name{font-size:12px;letter-spacing:.09em}.hero-logo .logo-crop{width:min(76vw,340px)}.hero-content{padding-bottom:35px}}
/* Align the navigation and hero on one consistent inset. */
.nav{min-height:80px;gap:24px}.brand{padding:0}.hero-content{padding-top:150px}.hero-content>.eyebrow{margin-bottom:24px}.hero h1.hero-logo{margin-left:-2px}.hero-logo .logo-crop{width:clamp(300px,34vw,460px)}
@media(min-width:1600px){.hero-content{padding-top:158px}}
@media(max-width:1150px){.hero-content{padding-top:144px}}
@media(max-width:800px){.nav{min-height:76px}.links{top:75px}.hero-content{padding-top:132px}.hero-content>.eyebrow{margin-bottom:22px}.hero-logo .logo-crop{width:clamp(280px,43vw,360px)}}
@media(max-width:560px){.nav{min-height:72px;gap:16px}.links{top:71px}.hero-content{padding-top:118px;padding-bottom:32px}.hero-content>.eyebrow{margin-bottom:18px;max-width:none;font-size:12px;letter-spacing:.06em}.hero-logo .logo-crop{width:min(72vw,300px)}.hero h1.hero-logo{margin-left:0}.hero-bottom{gap:24px}}
/* Compose the logo as a centered identity rather than a left-aligned headline. */
.hero{height:calc(100svh - 48px);min-height:760px;max-height:920px}.hero-content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:148px;padding-bottom:0}.hero-content>.eyebrow{order:2;margin:24px 0 0;letter-spacing:.14em;font-size:12px}.hero h1.hero-logo{margin:0;order:1}.hero-logo .logo-crop{width:clamp(300px,29vw,400px)}.hero-bottom{bottom:34px}.hero-caption{max-width:320px}.hero-reservation{width:300px;padding:22px}.hero-shade{background:linear-gradient(180deg,#101e2533 0%,#101c2638 35%,#080f1970 66%,#080e16ed 100%)}
@media(min-width:1600px){.hero-content{padding-top:148px}}
@media(max-width:1150px){.hero{min-height:780px;max-height:900px}.hero-content{padding-top:132px}.hero-logo .logo-crop{width:330px}}
@media(max-width:800px){.hero{height:auto;min-height:840px}.hero-content{padding-top:126px}.hero-logo .logo-crop{width:310px}.hero-content>.eyebrow{font-size:11px;letter-spacing:.1em;margin-top:22px}.hero-reservation{width:285px}}
@media(max-width:560px){.hero{height:auto;min-height:0;max-height:none}.hero-content{padding:118px 20px 38px}.hero-logo .logo-crop{width:min(72vw,300px)}.hero-content>.eyebrow{margin-top:20px;font-size:11px;letter-spacing:.08em;max-width:28em}.hero-bottom{bottom:auto;gap:24px}.hero-caption{max-width:none;text-align:center}.hero-caption>a{justify-content:center}.hero-reservation{width:100%;text-align:left}.hero-photo{object-position:34% center}}
/* Uniform gallery tiles at every screen size. */
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto}.gallery a,.gallery a:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3}.gallery img{width:100%;height:100%;object-fit:cover}
@media(max-width:800px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}}
@media(max-width:560px){.gallery{grid-template-columns:1fr;grid-template-rows:none}}

/* Simple mobile navigation; booking stays within page content. */
@media(max-width:800px){.menu-toggle{width:44px;height:44px;min-height:44px;padding:10px;border:0;background:transparent;justify-content:center;flex-shrink:0}.menu-toggle .hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:24px;height:24px}.hamburger i{display:block;width:24px;height:2px;background:currentColor;border-radius:1px}.hero-reservation{display:none}.hero{min-height:680px}.hero-bottom{justify-content:center}.hero-caption{text-align:center}}
@media(max-width:560px){.hero{min-height:0;padding-bottom:32px}.hero-bottom{gap:0}.hero-caption{padding-bottom:0}footer{padding-bottom:36px}}
/* Edge-to-edge hero, with a viewport-led height rather than a framed square. */
header{top:0;left:0;right:0}
.hero{margin:0;width:100%;border:0;border-radius:0;height:92svh;min-height:720px;max-height:920px}
@media(max-width:1150px){.hero{height:90svh;min-height:720px;max-height:900px}}
@media(max-width:800px){.hero{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:85svh;max-height:none;padding-bottom:0}.hero-content{flex-shrink:0;padding-top:120px;padding-bottom:36px}.hero-bottom{position:relative;bottom:auto;left:auto;right:auto;margin-top:auto;padding-bottom:36px;flex-shrink:0}.hero-caption{max-width:none}.hero-caption>a{justify-content:center}}
@media(max-width:560px){.hero{min-height:85svh;padding-bottom:0}.hero-content{padding:110px 22px 32px}.hero-bottom{padding:0 22px 30px}.hero-photo{object-position:34% center}}
/* Blend the photograph into the page while keeping foreground content crisp. */
.hero-shade{background:linear-gradient(180deg,rgba(16,30,37,.20) 0%,rgba(16,28,38,.22) 35%,rgba(8,15,25,.44) 62%,rgba(32,35,35,.76) 86%,#202323 100%)}
@media(max-width:560px){.hero-shade{background:linear-gradient(180deg,rgba(20,36,37,.20) 0%,rgba(18,28,34,.22) 28%,rgba(8,15,25,.60) 62%,rgba(32,35,35,.85) 88%,#202323 100%)}}

/* One swipeable photograph at a time on phones and tablets. */
.gallery .gallery-extra,.gallery-pagination{display:none}
@media(max-width:800px){.gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:5px}.gallery::-webkit-scrollbar{display:none}.gallery a,.gallery a:first-child,.gallery a.gallery-extra{display:block;flex:0 0 100%;width:100%;min-width:0;aspect-ratio:4/3;scroll-snap-align:start;scroll-snap-stop:always}.gallery img{width:100%;height:100%;object-fit:cover}.gallery-pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;font-size:12px;color:#bac4b5}.gallery-pagination button{min-height:44px;padding:8px 12px;border:0;background:transparent;color:#e8e9df;font-size:13px}.gallery-pagination button:disabled{opacity:.35}.gallery a:hover img{transform:none}}

/* Move from the gallery into useful amenities without repeating its photography on mobile. */
@media(max-width:800px){.experience-image{display:none}.experience{margin:0 28px;background:transparent;border:0;border-top:1px solid #ffffff20;border-radius:0}.experience-copy{padding:38px 0 12px}.experience-copy h2{font-size:clamp(2.4rem,7vw,3.4rem)}.experience-copy>.eyebrow{margin-bottom:16px}.experience-copy>p:not(.eyebrow){margin-top:18px}.amenities{margin-top:28px}.gallery-section{padding-bottom:36px}}
@media(max-width:560px){.experience{margin-inline:22px}.experience-copy{padding-top:32px}.gallery-section{padding-bottom:30px}}

/* Compact menu aligned to the hamburger, with readable booking action. */
@media(max-width:800px){.nav .links{left:auto;right:28px;top:72px;width:min(240px,calc(100vw - 44px));padding:10px;background:#202826f7;border:1px solid #ffffff28;border-radius:8px;box-shadow:0 12px 32px #0004;gap:0;max-height:calc(100svh - 90px);overflow-y:auto}.nav .links>a{display:flex;align-items:center;min-height:44px;padding:10px 14px;font-size:14px;line-height:1.4;color:#f3f2ec}.nav .links .nav-book{margin:6px 0 0;padding:11px 14px;border:0;border-radius:4px;background:#edbe71;color:#202823;justify-content:center}.nav .links .nav-book:hover{background:#f4cc88;color:#202823}}
@media(max-width:560px){.nav .links{right:20px;top:66px}}
/* A compact footer with a clear rhythm between heading, identity, and links. */
footer{padding-block:56px 28px}.footer-top{padding-bottom:32px;gap:36px}.footer-top>.footer-contact{gap:8px;padding-bottom:0}.footer-logo{margin-bottom:8px}.footer-logo .logo-crop{width:176px}.footer-contact>a:not(.footer-logo){display:inline-flex;align-items:center;min-height:44px;padding-block:8px}.footer-bottom{padding-top:20px}
@media(max-width:800px){footer{padding-block:44px 24px}.footer-top{gap:28px}.footer-invite{display:inline-block;font-size:clamp(2.75rem,7vw,4rem);line-height:1.08}.footer-top .eyebrow{margin-bottom:16px}.footer-logo .logo-crop{width:160px}}
@media(max-width:560px){.footer-top{gap:28px;padding-bottom:24px}.footer-contact{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:24px;row-gap:6px;min-width:0}.footer-logo,.footer-contact>span{grid-column:1/-1}.footer-logo{justify-self:start;margin-bottom:4px}.footer-logo .logo-crop{width:150px}.footer-contact>span{font-size:13px;margin-bottom:2px}.footer-contact>a:not(.footer-logo){font-size:14px}.footer-bottom{gap:10px;font-size:12px;line-height:1.6}.footer-bottom>a{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px}.footer-invite{font-size:clamp(2.75rem,10vw,3.5rem)}}
/* Balance the footer across the available width on phones and tablets. */
@media(max-width:800px){.footer-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}.footer-top>div:first-child{width:100%}.footer-contact,.footer-top>.footer-contact{display:grid;grid-template-columns:auto auto;justify-content:center;justify-items:center;align-items:center;column-gap:24px;row-gap:6px;min-width:0;width:100%;text-align:center}.footer-logo,.footer-contact>span{grid-column:1/-1}.footer-logo{justify-self:center}.footer-bottom{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.footer-bottom>a{align-self:center}}
