@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#142f3a;--muted:#526570;--cream:#fff4d8;--orange:#dcaa5c;--line:#dce3e5;--paper:#f6f8f8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #df9227;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15}h2{font-size:clamp(2.25rem,4vw,3.7rem);letter-spacing:-.035em}h3{font-size:1.55rem}em{font-weight:400}p+p{margin-top:1rem}.eyebrow{font-size:.75rem;letter-spacing:.17em;font-weight:700;margin-bottom:1.25rem}.section{max-width:1320px;margin:auto;padding:96px 64px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:36px}.section-heading>p{max-width:340px;color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);border:1px solid var(--ink);color:#fff;padding:15px 27px;border-radius:4px;font-size:.95rem;font-weight:600;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:#244b59;transform:translateY(-2px)}.button.cream{background:var(--cream);border-color:var(--cream);color:var(--ink)}.button.cream:hover{background:#ffe5ac}.button.small{padding:11px 19px;font-size:.875rem}.underlined{display:inline-block;border-bottom:1px solid currentColor;font-weight:500;padding-bottom:3px}.fine{font-size:.8125rem!important;color:var(--muted)}.fine a{text-decoration:underline}.skip{position:fixed;top:-100px;background:#fff;padding:16px;z-index:50}.skip:focus{top:0}.offer{background:var(--ink);color:#fff;padding:9px 20px;text-align:center;font-size:.8125rem;display:flex;justify-content:center;gap:22px}.offer strong{color:var(--cream);font-weight:500}.offer a{text-decoration:underline;text-underline-offset:3px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:white;gap:32px}.brand{font:1.55rem/1.3 var(--serif);white-space:nowrap}.brand span{display:block;font: .625rem/2 var(--sans);letter-spacing:.23em;margin-top:5px}nav{display:flex;align-items:center;gap:29px;font-size:.875rem}nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:6px}.menu{display:none}.hero{position:relative;min-height:660px;height:calc(100svh - 145px);max-height:850px;background:#1b3841;color:#fff;isolation:isolate;display:flex;align-items:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,37,.82),rgba(7,28,37,.12) 85%),linear-gradient(0deg,rgba(4,21,26,.7),transparent 25%);z-index:-1}.hero-content{padding:70px 8%;max-width:850px}.hero .eyebrow{color:var(--cream)}h1{font-size:clamp(3.6rem,6.5vw,6.5rem);letter-spacing:-.04em;line-height:1.08;margin-bottom:28px}h1 em{color:var(--cream)}.hero-content>p:not(.eyebrow){max-width:460px;font-size:1.1rem;color:#eff3f3}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:34px}.text-link{border-bottom:1px solid #a5b2b6;padding-bottom:3px;font-size:.925rem}.hero-bottom{position:absolute;bottom:26px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.12em}.hero-bottom span:last-child{letter-spacing:.02em;font-size:.875rem}.hero-bottom i{margin:0 12px}.trust{display:flex;justify-content:center;gap:0;border-bottom:1px solid var(--line);padding:30px 20px}.trust>a{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:18px;padding:0 48px;border-right:1px solid var(--line)}.trust>a:last-child{border:0}.trust strong{font-size:1rem}.trust strong span{font-size:.8rem}.trust small{grid-column:2;font-size:.75rem;color:var(--muted)}.airbnb{color:#ce354c;font-weight:700}.booking{color:#003580;font-weight:700}.google{color:#246b42;font-weight:700}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px}.intro-copy{padding-top:30px;color:var(--muted)}.intro-copy .underlined{margin-top:24px;color:var(--ink)}.gallery{padding-top:0}.photo-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.photo{padding:0;border:0;position:relative;overflow:hidden;border-radius:5px;text-align:left;background:var(--ink);height:235px}.photo-large{grid-row:span 2;height:484px}.photo img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.photo:hover img{transform:scale(1.04)}.photo:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,16,22,.75))}.photo>span{position:absolute;bottom:20px;left:22px;color:#fff;font:1.4rem var(--serif);z-index:1}.photo small{display:block;font:.625rem var(--sans);letter-spacing:.13em;margin-top:9px}.details{padding-top:40px}.amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 50px;margin-top:45px}.amenities article{border-top:1px solid var(--line);padding-top:22px}.feature-number{font-size:.75rem;color:#647b85;letter-spacing:.12em}.amenities h3{font-size:1.35rem;margin:17px 0 12px}.amenities p{font-size:.925rem;color:var(--muted)}.escape{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white}.escape>img{width:100%;height:100%;min-height:550px;object-fit:cover}.escape>div{padding:80px max(50px,9%);align-self:center}.escape .eyebrow{color:#e9c481}.escape h2{font-size:clamp(2.5rem,4vw,4rem)}.escape p:not(.eyebrow){color:#c5d4d9;margin:25px 0 30px;max-width:390px}.prices{display:grid;grid-template-columns:1fr .8fr;gap:110px}.prices>div>p{margin-top:24px;max-width:510px;color:var(--muted)}.prices .button{margin-top:25px}.price-list>div{display:flex;justify-content:space-between;align-items:baseline;padding:23px 0;border-bottom:1px solid var(--line)}.price-list>div:first-child{border-top:1px solid var(--line)}.price-list>div>span{font-size:1.05rem}.price-list strong{font:2rem var(--serif)}.price-list strong small{font:.75rem var(--sans);color:var(--muted);margin-right:5px}.price-list>p{font-size:.8rem}.winter{background:var(--ink);color:white;max-width:1192px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;padding:52px 58px;gap:80px;border-radius:6px}.winter h2{font-size:2.6rem}.winter .eyebrow{color:#e9c481}.winter p:not(.eyebrow){margin:20px 0 24px;color:#e0e9ec}.winter ul{padding-left:20px;font-size:.875rem;color:#d1dfe3;line-height:1.9}.winter .offer-terms>p{font-size:.8rem;color:#c3d2d7}.offer-terms h3{font-size:1.5rem}.review-controls{display:flex;gap:10px}.review-controls button,.gallery-caption button{background:transparent;border:1px solid var(--line);padding:9px 14px;font-size:.8rem;border-radius:3px}.review-controls button:hover{background:var(--paper)}.review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 22px;scrollbar-width:thin}.review{min-width:calc((100% - 40px)/3);flex:0 0 calc((100% - 40px)/3);padding:28px;background:var(--paper);border-radius:5px;scroll-snap-align:start;display:flex;flex-direction:column;border-top:3px solid #176748}.booking-review{border-color:#003580;background:#f1f5fb}.airbnb-review{border-color:#ce354c;background:#fff2f3}.review-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.875rem}.review-top strong{font-size:.8125rem}.review blockquote{margin:26px 0;font:1.4rem/1.5 var(--serif)}.review>p{margin-top:auto;font-size:.875rem;font-weight:600}.review>p span{display:block;font-size:.75rem;color:var(--muted);font-weight:400}.review h3{margin:30px 0 15px}.review .rating-copy{font-weight:400;margin:0 0 20px;color:var(--muted)}.review .underlined{font-size:.875rem;align-self:start;margin-top:auto}.reviews>.fine{margin-top:14px}.explore{background:#edf2f4;max-width:none;text-align:center}.explore-heading{max-width:800px;margin:auto}.explore-heading>p:last-child{max-width:630px;margin:25px auto;color:var(--muted)}.places{max-width:1192px;margin:50px auto 35px;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:left}.places span{font-size:.7rem;letter-spacing:.1em;color:var(--muted)}.places h3{margin:17px 0}.places p{font-size:.925rem;color:var(--muted)}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq>div>p:last-child{margin-top:25px;color:var(--muted)}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;padding:21px 36px 21px 0;list-style:none;position:relative;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;font-size:1.4rem;font-weight:400;top:14px}details[open] summary:after{content:'−'}details p{padding:0 30px 24px 0;color:var(--muted);font-size:.925rem}.final-cta{text-align:center;background:var(--ink);color:white;padding:80px 24px}.final-cta h2{font-size:clamp(2.8rem,5vw,4.8rem)}.final-cta .eyebrow{color:#e9c481}.final-cta .button{margin:30px 0 20px}.final-cta>p:last-child{font-size:.875rem;color:#c9d6db}.final-cta>p:last-child a{text-decoration:underline}footer{padding:60px 5% 26px;background:#0d232c;color:#d5e1e5}.footer-top{display:flex;justify-content:space-between;gap:35px}.footer-top address{font-style:normal;font-size:.8125rem;line-height:1.9}.footer-top>div{display:flex;flex-direction:column;font-size:.8125rem;gap:8px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:45px;padding-top:23px;border-top:1px solid #344a53;font-size:.75rem;color:#9db2bc}.mobile-book{display:none}dialog{border:0;background:#0c202a;color:#fff;max-width:min(1100px,96vw);width:100%;padding:50px 20px 15px;border-radius:5px}dialog::backdrop{background:#06161ee8}dialog>img{width:100%;height:70vh;object-fit:contain}.close-gallery{position:absolute;right:20px;top:10px;border:0;background:transparent;color:white;font-size:.875rem;padding:5px}.gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:15px}.gallery-caption p{font-size:.875rem;text-align:center}.gallery-caption button{color:white;border-color:#627782}
@media(min-width:1500px){.hero-content{padding-left:12%}}
@media(max-width:1100px){header{padding:0 28px}.brand{font-size:1.3rem}nav{gap:18px;font-size:.8rem}.section{padding:72px 36px}.trust>a{padding:0 27px}.photo-grid{grid-template-columns:1.1fr 1fr}.photo-large{grid-column:1;grid-row:span 2}.photo-grid .photo:nth-child(4),.photo-grid .photo:nth-child(5){height:260px}.intro{gap:40px}.prices{gap:60px}.winter{margin:0 36px;padding:45px;gap:45px}.review{min-width:44%;flex-basis:44%}.escape>div{padding:50px 36px}.faq{gap:45px}.gallery{padding-top:0}}
@media(max-width:760px){html{scroll-padding-top:25px}.offer{gap:8px;padding:9px 12px;font-size:.72rem}.offer>span{display:none}header{height:84px;padding:0 20px;position:relative;z-index:10}.brand{font-size:1.3rem}.brand span{font-size:.55rem}.menu{display:block;background:transparent;border:1px solid var(--line);border-radius:3px;padding:8px 12px;font-size:.8125rem}nav{display:none;position:absolute;left:0;right:0;top:84px;padding:24px;background:white;border-top:1px solid var(--line);box-shadow:0 15px 25px #142f3a18;align-items:stretch;font-size:1rem}nav.open{display:flex;flex-direction:column;gap:20px}.hero{min-height:570px;height:76svh;max-height:750px}.hero-image{object-position:61% center}.hero:after{background:linear-gradient(90deg,#0a2633bb,#0a263355),linear-gradient(0deg,#061922bb,transparent 50%)}.hero-content{padding:45px 25px 90px;max-width:580px}h1{font-size:clamp(3.2rem,12vw,4.8rem);line-height:1.1}.hero-content>p:not(.eyebrow){font-size:1rem;max-width:340px}.eyebrow{font-size:.68rem;letter-spacing:.14em}.hero-actions{gap:20px;flex-wrap:wrap}.hero-actions .text-link{font-size:.8125rem}.hero-bottom{bottom:25px;left:25px;right:25px;flex-direction:column;gap:8px;font-size:.6rem}.hero-bottom span:last-child{font-size:.75rem}.hero-bottom i{margin:0 8px}.trust{padding:23px 10px;justify-content:space-around;gap:6px}.trust>a{display:flex;flex-direction:column;padding:0 10px;gap:5px;text-align:center;flex:1}.trust>a>span{font-size:.75rem}.trust strong{font-size:.8rem}.trust strong span{font-size:.65rem}.trust small{font-size:.6rem;line-height:1.4}.section{padding:60px 24px}h2{font-size:2.4rem}.intro{grid-template-columns:1fr;gap:20px}.intro-copy{padding:0}.intro-copy .underlined{margin-top:20px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;font-size:.925rem}.gallery{padding-top:8px}.photo-grid{gap:10px;grid-template-columns:1fr 1fr}.photo-large{grid-column:span 2;grid-row:auto;height:320px}.photo{height:190px}.photo-grid .photo:nth-child(4),.photo-grid .photo:nth-child(5){height:190px}.photo>span{font-size:1.1rem;left:13px;bottom:15px}.photo small{font-size:.55rem;letter-spacing:.07em}.details{padding-top:10px}.amenities{grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:25px}.amenities h3{font-size:1.2rem;line-height:1.25}.amenities p{font-size:.875rem}.escape{grid-template-columns:1fr}.escape>img{min-height:0;height:330px}.escape>div{padding:45px 24px 55px}.escape h2{font-size:2.8rem}.prices{grid-template-columns:1fr;gap:32px}.price-list>div{padding:18px 0}.winter{margin:0 16px;padding:35px 24px;grid-template-columns:1fr;gap:35px}.winter h2{font-size:2.3rem}.winter .offer-terms{border-top:1px solid #45616c;padding-top:26px}.winter ul{margin-bottom:0}.review-controls{margin-top:24px}.review{min-width:88%;flex-basis:88%;padding:25px}.review blockquote{font-size:1.3rem}.reviews .fine{font-size:.75rem!important}.explore-heading h2{font-size:2.3rem}.places{grid-template-columns:1fr;gap:25px;margin:35px auto}.places article{border-top:1px solid #ccd6db;padding-top:23px}.places h3{margin:10px 0}.faq{grid-template-columns:1fr;gap:30px}.faq>div>p:last-child{margin-top:20px}.final-cta{padding:60px 24px}.footer-top{flex-direction:column;gap:30px}.footer-bottom{flex-direction:column;gap:8px}footer{padding:45px 24px 110px}.mobile-book{position:fixed;z-index:15;bottom:0;left:0;right:0;background:#fffffff5;backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:12px 18px max(12px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-book>span{font:1rem var(--serif)}.mobile-book small{display:block;font:.7rem var(--sans);color:var(--muted);margin-top:5px}dialog{padding:45px 12px 15px}dialog>img{height:60vh}.gallery-caption{gap:10px}.gallery-caption p{font-size:.75rem}.gallery-caption button{font-size:.7rem;padding:8px}.button{padding:13px 22px}.offer-terms p{margin-bottom:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.gallery-more{display:flex;align-items:center;gap:24px;margin-top:25px}.gallery-more p{font-size:.875rem;color:var(--muted)}.gallery-thumbs{display:flex;overflow-x:auto;gap:10px;margin-top:18px;padding:5px 3px 10px}.gallery-thumb{flex:0 0 80px;height:60px;border:2px solid transparent;border-radius:3px;padding:0;background:#1b3841;overflow:hidden}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-thumb[aria-pressed=true]{border-color:#f6d597}.gallery-thumb:hover{border-color:#a5bbc3}dialog>img{height:60vh}@media(max-width:760px){.gallery-more{flex-direction:column;align-items:start;gap:12px}.gallery-more p{font-size:.8rem}.gallery-thumb{flex-basis:65px;height:49px}dialog>img{height:50vh}}

/* Quiet, progressive motion: content remains available without JavaScript. */
.ev-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:25px}.ev-visual{position:relative;min-height:590px;height:100%;overflow:hidden;border-radius:6px;background:#e9edef}.ev-visual>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:37% center}.ev-photo-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#102c38e8);color:white;padding:65px 25px 25px;font-size:.7rem;letter-spacing:.13em}.ev-copy>p:not(.eyebrow){margin-top:24px;color:var(--muted)}.ev-copy h2{font-size:clamp(2.8rem,4.3vw,4.3rem)}.ev-copy h2 em{color:#277067}.ev-rate{display:flex;align-items:center;gap:28px;padding:23px 0;margin:25px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ev-rate>strong{font:3.25rem/1 var(--serif);color:#216458}.ev-rate>strong>span{display:block;font:.8rem var(--sans);margin-top:7px;color:var(--muted)}.ev-rate>div{font-weight:600;font-size:.95rem}.ev-rate small{display:block;color:var(--muted);font-size:.85rem;font-weight:400;margin-top:5px}.ev-facts{padding-left:20px;margin:24px 0;font-size:.9rem;color:var(--muted)}.ev-facts li{padding:4px 0}.ev-facts li::marker{color:#277067}.ev-copy>.fine{font-size:.75rem!important;margin-top:15px}.motion-ready .reveal-item{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal-item.is-visible{opacity:1;transform:none}.scroll-word{transition:color .2s ease;color:#71878a}.scroll-word.word-lit{color:var(--ink)}em .scroll-word.word-lit{color:#277067}.hero{overflow:hidden}.hero-image{will-change:transform}.photo img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}.gallery-image-arrive{animation:photo-arrive .35s ease-out}.gallery-thumb{transition:border-color .2s,opacity .2s}.gallery-thumb:hover{opacity:.8}@keyframes photo-arrive{from{opacity:.3;transform:scale(.988)}to{opacity:1;transform:scale(1)}}
@media(min-width:1101px){nav{gap:20px}}
@media(max-width:1100px){.ev-section{gap:40px}.ev-visual{min-height:610px}nav{gap:12px}}
@media(max-width:760px){.ev-section{grid-template-columns:1fr;gap:32px;padding-top:10px}.ev-visual{min-height:0;height:300px}.ev-visual>img{object-position:center}.ev-copy h2{font-size:3rem}.ev-copy .button{white-space:normal;text-align:center}.ev-photo-label{font-size:.6rem;padding:50px 20px 20px}.hero-image{will-change:auto}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal-item{opacity:1;transform:none;transition:none}.scroll-word{color:var(--ink)}em .scroll-word{color:#277067}.hero-image{transform:none!important;will-change:auto}.gallery-image-arrive{animation:none}}
@media(min-width:761px) and (max-width:1000px){header{position:relative;z-index:10}.menu{display:block;background:transparent;border:1px solid var(--line);border-radius:3px;padding:8px 14px;font-size:.875rem}nav{display:none;position:absolute;left:0;right:0;top:100px;padding:25px 36px;background:white;box-shadow:0 15px 25px #142f3a18;align-items:stretch;font-size:1rem}nav.open{display:flex;flex-direction:column;gap:20px}}

.arrival-perks{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding:30px 4.5%;background:#f1f5f4;border-bottom:1px solid var(--line)}.arrival-perks>div,.arrival-perks>a{display:flex;gap:12px;align-items:flex-start}.arrival-perks>div>span,.arrival-perks>a>span{font-size:1.5rem;line-height:1.4}.arrival-perks strong{display:block;font-size:.875rem;line-height:1.4;font-weight:600}.arrival-perks small{display:block;font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:5px}.arrival-perks>a:hover strong{text-decoration:underline;text-underline-offset:3px}@media(max-width:1100px){.arrival-perks{grid-template-columns:repeat(3,1fr);gap:24px;padding:28px 36px}}@media(max-width:760px){.arrival-perks{grid-template-columns:1fr 1fr;padding:24px 20px;gap:22px 16px}.arrival-perks>div:last-child{grid-column:1/-1}.arrival-perks strong{font-size:.8125rem}.arrival-perks small{font-size:.75rem}.arrival-perks>div>span,.arrival-perks>a>span{font-size:1.3rem}.arrival-perks>div,.arrival-perks>a{gap:9px}}

.alternative-booking{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 20px;margin:26px auto 0;padding-top:22px;border-top:1px solid #39545f;max-width:600px;font-size:.8125rem}.alternative-booking>span{color:#b8cbd2}.alternative-booking>a{padding:5px 0;border-bottom:1px solid #7193a1;font-weight:500}.alternative-booking>a:hover{border-color:#fff;color:white}.alternative-booking .airbnb-option{color:#ffc1c9}.alternative-booking .booking-option{color:#c7deff}.social-links{display:flex;flex-wrap:wrap;gap:18px;padding-top:12px;margin-top:6px;border-top:1px solid #344a53}.social-links>a{text-decoration:underline;text-underline-offset:4px}.social-links>a:hover{color:var(--cream)}@media(max-width:760px){.alternative-booking>span{flex-basis:100%}.alternative-booking{gap:10px 24px}}
