@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--paper:#f8f5ee;--ink:#303d30;--green:#3e5039;--muted:#74786c;--line:#dcded2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}em{font-weight:400}h2{font-size:clamp(32px,3.3vw,49px);line-height:1.25;letter-spacing:-1.4px}p{color:var(--muted)}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--paper)}.brand{display:flex;gap:12px;align-items:center}.brand svg{width:49px;height:43px}.brand span{font:25px/1 'Playfair Display',Georgia,serif;letter-spacing:-.6px}.brand i{display:block;font-size:20px;padding-top:6px}.header nav{display:flex;gap:30px;align-items:center;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--green);color:white;padding:17px 25px;font-size:13px;transition:background .2s,transform .2s;border:1px solid transparent}.button:hover{background:#263b25;transform:translateY(-2px)}.button span{font-size:19px}.button.small{padding:12px 20px}.menu{display:none}.hero{margin:0 22px;position:relative;height:min(720px,75vw);min-height:560px;color:white;overflow:hidden}.hero>img{height:100%;object-position:50% 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,26,11,.63),rgba(12,26,11,.06) 90%),linear-gradient(0deg,rgba(12,26,11,.35),transparent 35%)}.hero-content{position:absolute;left:6.4%;top:21%;max-width:750px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;margin-bottom:24px;color:#6b795f}.eyebrow.light{color:#e1e6d6}.hero h1{font-size:clamp(45px,5.5vw,82px);line-height:1.14;letter-spacing:-2px}.hero h1 em{color:#ecead9}.hero-content>p:not(.eyebrow){color:#f3f1e8;margin:28px 0;font-size:16px;line-height:1.9}.cream{background:var(--paper);color:var(--ink)}.cream:hover{background:#e2e5d4}.hero-bottom{position:absolute;bottom:27px;left:6.4%;right:6.4%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.facts{display:flex;justify-content:space-between;gap:20px;max-width:1120px;margin:auto;padding:36px 35px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.facts b{font-family:'Playfair Display',Georgia,serif;font-size:23px;color:var(--ink);margin-right:9px;font-weight:400}.section{max-width:1210px;margin:auto;padding:105px 35px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.intro-photo{position:relative;padding-bottom:25px}.intro-photo img{height:535px}.photo-note{font:italic 19px 'Playfair Display',Georgia,serif;background:#ecebdf;padding:20px 24px;position:absolute;bottom:0;right:-25px;transform:rotate(-3deg)}.intro-copy h2{margin-bottom:30px}.intro-copy>p:not(.eyebrow){margin-bottom:20px}.text-link{display:inline-flex;gap:32px;font-size:13px;padding:10px 0;border-bottom:1px solid #7d8a6e;margin-top:16px}.comfort{padding-top:15px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:44px}.section-heading>p{font-size:13px;max-width:320px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.room-grid img{height:335px}.card-label{display:flex;justify-content:space-between;align-items:center;margin-top:21px}.card-label h3{font-size:25px}.card-label span{font-size:10px;color:#9d9e8c}.room-grid p{font-size:13px;margin-top:12px}.amenities{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:45px;padding:24px 0;font-size:12px}.amenities span::before{content:'✧';color:#7a8b62;margin-right:9px}.gallery-section{background:#eeeee4;padding:85px max(35px,calc((100vw - 1140px)/2))}.gallery{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:22px}.gallery button{padding:0;border:0;overflow:hidden;background:transparent}.gallery img{height:390px;transition:transform .4s}.gallery button:hover img{transform:scale(1.035)}.surroundings{display:grid;grid-template-columns:1fr 1.45fr;gap:85px}.surroundings>div>p:not(.eyebrow){margin-top:25px;max-width:340px}.trip-list a{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line);padding:24px 0}.trip-list a:last-child{border-bottom:1px solid var(--line)}.trip-list h3{font-size:24px}.trip-list p{font-size:12px}.trip-num{font-size:11px;color:#9c9f8d}.trip-list a>span:last-child{margin-left:auto;white-space:nowrap;font-size:11px}.booking{max-width:none;background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:85px max(35px,calc((100vw - 1140px)/2));align-items:center}.booking>div:first-child>p:not(.eyebrow){color:#d2d8c9;margin-top:25px;font-size:14px}.booking-card{background:var(--paper);padding:36px;color:var(--ink)}.booking-card .eyebrow{margin-bottom:8px}.price{font:46px 'Playfair Display',Georgia,serif;color:var(--ink)}.price span{font:13px 'DM Sans',sans-serif;color:var(--muted)}.booking-card>p:not(.price):not(.eyebrow){font-size:12px;margin-top:12px}.booking-card .button{display:flex;margin-top:23px}.booking-card details{font-size:12px;margin:20px 0 10px}.booking-card summary{cursor:pointer}.booking-card details p{margin:10px 0}.booking-card details a{text-decoration:underline}.booking-card small{font-size:10px;color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-email{font-size:clamp(17px,2vw,26px);border-bottom:1px solid var(--line);padding-bottom:12px;display:block}.phone{display:block;font-size:20px;margin:20px 0}.contact p{font-size:13px}footer{margin:0 5%;border-top:1px solid var(--line);padding:35px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}footer .footer-brand{font:24px 'Playfair Display',Georgia,serif}footer p{font-size:12px}footer>div{display:flex;gap:24px;font-size:11px}footer small{width:100%;font-size:10px;color:var(--muted);margin-top:10px}.lightbox{border:0;background:transparent;max-width:95vw;max-height:95vh;padding:35px;overflow:visible}.lightbox::backdrop{background:#172016ed}.lightbox img{max-height:83vh;width:auto;max-width:85vw;object-fit:contain}.close{position:absolute;right:0;top:-5px;background:transparent;color:white;font-size:36px;border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b18d48;outline-offset:5px}@media(min-width:1600px){.hero{max-width:1700px;margin:auto}}@media(max-width:1000px){.header nav{gap:15px}.header{padding:0 25px}.intro{gap:45px}.intro-photo img{height:470px}.room-grid img{height:270px}.surroundings{gap:40px}.booking,.contact{gap:45px}.gallery img{height:310px}}@media(max-width:760px){html{scroll-padding-top:20px}.header{height:85px}.brand span{font-size:21px}.brand i{font-size:17px}.brand svg{width:40px}.menu{display:block;border:1px solid var(--line);padding:7px 12px;background:transparent;color:var(--ink);font-size:12px}.header nav{display:none;position:absolute;top:85px;left:0;right:0;padding:25px;background:var(--paper);z-index:10;align-items:stretch}.header nav.open{display:flex;flex-direction:column}.hero{margin:0 10px;min-height:590px;height:78vh;max-height:760px}.hero>img{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#15231399,#15231325),linear-gradient(0deg,#15231366,transparent)}.hero-content{top:22%;left:7%;right:6%}.hero h1{font-size:49px;letter-spacing:-1.7px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.hero-content>p:not(.eyebrow){font-size:14px}.hero-bottom span:last-child{display:none}.hero-bottom{font-size:8px}.facts{display:grid;grid-template-columns:1fr 1fr;padding:25px;gap:18px;font-size:10px}.facts b{font-size:20px;display:block}.section{padding:65px 25px}.intro,.surroundings,.contact,.booking{grid-template-columns:1fr;gap:42px}.intro-photo{margin-right:15px}.intro-photo img{height:430px}.intro-copy h2{font-size:35px}.intro{gap:50px}.section-heading{display:block}.section-heading>p{margin-top:20px}.room-grid{grid-template-columns:1fr;gap:35px}.room-grid img{height:360px}.amenities{display:grid;grid-template-columns:1fr 1fr;font-size:11px}.gallery-section{padding:60px 25px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery button:first-child{grid-column:1/-1}.gallery img{height:260px}.gallery button:first-child img{height:300px}.trip-list a{gap:12px}.trip-list h3{font-size:21px}.trip-list p{font-size:11px}.trip-list a>span:last-child{font-size:10px}.booking{padding:60px 25px}.booking-card{padding:26px}.price{font-size:39px}.contact-email{font-size:20px}footer{margin:0 25px}footer>div{flex-wrap:wrap;gap:17px}h2{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


.brand .original-logo{width:78px;height:65px;object-fit:contain}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand .original-logo{width:65px;height:55px;object-fit:contain}@media(max-width:760px){.brand .original-logo{width:58px;height:52px}}

.rules-page{max-width:900px;margin:40px auto 80px;padding:0 25px}.rules-page h1{font-size:48px;line-height:1.2;margin:20px 0 30px}.rules-page h3{font-size:25px;margin:30px 0 12px}.rules-page .section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase}.rules-page .rules-list>div{padding-bottom:25px;border-bottom:1px solid var(--line)}.rules-page ul{padding-left:22px}.rules-page li{margin:14px 0;color:var(--muted)}.rules-page p{margin:16px 0}.rules-page p:has(>br:only-child){display:none}@media(max-width:760px){.rules-page h1{font-size:36px}}
.header-socials{display:flex;gap:13px;font-size:11px;margin-left:auto;white-space:nowrap}.header nav{gap:21px}.full-gallery h1{font-size:clamp(34px,4vw,58px);line-height:1.2}.full-gallery{padding-top:55px}.gallery-description{margin:22px 0 45px}.photo-grid{columns:3;column-gap:24px}.photo-tile{display:block;break-inside:avoid;width:100%;margin:0 0 25px;padding:0;border:0;background:transparent;text-align:left;color:var(--ink)}.photo-tile img{width:100%;height:auto;transition:filter .2s}.photo-tile:hover img{filter:brightness(.9)}.photo-tile span{display:block;padding:12px 0;font-size:12px}.lightbox-info{display:flex;align-items:center;justify-content:space-between;gap:15px;color:white;margin-top:12px}.lightbox-info button{background:transparent;color:white;border:1px solid #ffffff66;padding:8px 18px}.lightbox-info p{color:white;font-size:12px;text-align:center}.lightbox:has(.lightbox-info) img{max-height:72vh}@media(max-width:1100px){.header{gap:15px}.header nav{gap:12px;font-size:11px}.header-socials{gap:8px;font-size:10px}}@media(max-width:760px){.header{padding:10px 15px;height:auto;min-height:100px;flex-wrap:wrap;gap:4px 10px}.header-socials{order:3;width:100%;justify-content:center;margin:0;gap:25px;font-size:11px}.header .menu{margin-left:auto}.header nav{top:110px;font-size:13px}.photo-grid{columns:2;column-gap:14px}.photo-tile{margin-bottom:16px}.photo-tile span{font-size:10px}.full-gallery{padding-top:40px}.lightbox{padding:25px 5px}.lightbox-info{gap:8px}.lightbox-info button{padding:7px 12px}.lightbox-info p{font-size:10px}}
.header .header-socials{margin-left:2px;margin-right:auto;gap:12px;order:0;width:auto;justify-content:flex-start}.header-socials a{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:36px}.header-socials svg{width:20px;height:20px;display:block}.header-socials a:hover{color:#72825c}.header .brand{flex-shrink:0}.header-socials a:focus-visible{outline-offset:2px}@media(max-width:760px){.header{flex-wrap:nowrap;min-height:85px;gap:10px}.header .header-socials{gap:4px;margin-left:0;margin-right:auto;order:0;width:auto}.header-socials svg{width:19px;height:19px}.header nav{top:85px}.header .brand{gap:7px}.header .brand span{font-size:19px}.header .brand i{font-size:16px}.header .brand .original-logo{width:45px}.header .menu{padding:6px 8px}.header:has(>.text-link){flex-wrap:wrap}.header>.text-link{font-size:11px}}
.contact-form{grid-column:1/-1;border-top:1px solid var(--line);padding-top:42px;margin-top:0;max-width:850px;width:100%;justify-self:center}.contact-form h3{font-size:32px;margin-bottom:12px}.contact-form>p{margin-bottom:25px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{display:block;font-size:12px;margin:0 0 8px;color:var(--ink)}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid #c9cebf;background:#fffdf8;color:var(--ink);font:inherit;padding:13px 15px;border-radius:0;margin-bottom:23px}.contact-form textarea{resize:vertical;min-height:150px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #75876c;outline-offset:2px}.contact-form .consent{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;line-height:1.7}.consent input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;margin:2px 0}.consent a{text-decoration:underline}.contact-form .form-note{font-size:11px;max-width:660px;margin-top:16px;margin-bottom:0;line-height:1.7}@media(max-width:760px){.form-fields{grid-template-columns:1fr;gap:0}.contact-form{padding-top:30px}.contact-form h3{font-size:28px}.contact-form input:not([type=checkbox]),.contact-form textarea{font-size:16px}.contact-form .button{width:100%}}
.page-heading{padding-top:55px;padding-bottom:40px}.page-heading h1{font-size:clamp(36px,4.5vw,64px);line-height:1.2;letter-spacing:-1.5px}.page-heading>p:last-child{margin-top:25px;max-width:700px}.page-heading+.intro,.page-heading+.contact{padding-top:35px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 60px;margin:40px 0}.detail-grid h3{font-size:25px;margin-bottom:12px}.detail-grid p{font-size:14px}.practical h2{margin-bottom:25px}.destination-banner{max-width:1140px;margin:auto;padding:0 25px}.destination-banner img{height:380px;object-position:center 65%}.destination-list{display:grid;grid-template-columns:1fr 1fr;gap:55px}.destination-list article{border-bottom:1px solid var(--line);padding-bottom:30px}.destination-list h2{font-size:32px;margin:12px 0 20px}.destination-list p{font-size:14px}.destination-list>.form-note{grid-column:1/-1}.privacy-page h2{font-size:25px;line-height:1.4;margin:30px 0 15px}.privacy-page h1{font-size:42px;line-height:1.25}.privacy-page ul{padding-left:22px}.header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}@media(max-width:760px){.detail-grid,.destination-list{grid-template-columns:1fr;gap:28px}.page-heading{padding-top:40px;padding-bottom:30px}.destination-banner img{height:260px}.privacy-page h1{font-size:34px}}
.reservation-system{padding-top:65px}.reservation-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.refresh-calendar{border:1px solid var(--line);padding:10px 15px;background:transparent;color:var(--ink);font-size:12px}#calendar-status{padding:20px 0;font-size:13px}.reservation-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);gap:38px;align-items:start}.calendar-panel{min-width:0}.calendar-nav{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:22px}.calendar-nav button{width:38px;height:38px;border:1px solid var(--line);background:transparent;color:var(--ink)}#calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:26px}.calendar-month h3{font-size:22px;margin-bottom:20px;text-transform:capitalize}.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday{font-size:10px;text-align:center;color:var(--muted);padding-bottom:8px}.day{border:1px solid var(--line);background:#fdfcf7;color:var(--ink);padding:9px 0;font-size:12px;aspect-ratio:1}.day:hover:not(:disabled){outline:2px solid var(--green)}.day.busy{background:#e9dbd3;text-decoration:line-through;color:#8e7469}.day.pending{background:#efe5bc;color:#827549}.day:disabled{cursor:not-allowed;opacity:.55}.day.selected{background:var(--green);color:white;text-decoration:none}.day.in-range{background:#dce4d3;color:var(--ink)}.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin:25px 0 12px;font-size:10px}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:12px;height:12px;background:#fff;border:1px solid var(--line)}.calendar-legend .legend-busy{background:#e9dbd3}.calendar-legend .legend-pending{background:#efe5bc}.calendar-legend .legend-selected{background:var(--green)}.reservation-summary{position:sticky;top:25px;border:1px solid var(--line);background:#eeeee4}.reservation-summary>img{height:180px}.reservation-summary>div{padding:25px}.reservation-summary h3{font-size:26px;line-height:1.3;margin-bottom:12px}.reservation-summary p{font-size:12px;margin:12px 0}.reservation-summary .eyebrow{font-size:9px}.reservation-fees{border-top:1px solid var(--line);margin-top:25px;padding-top:12px}#stay-summary{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}#stay-summary p:nth-child(4){font-size:18px;color:var(--ink)}#stay-summary small{font-size:10px;color:var(--muted);line-height:1.5;display:block}.booking-form{margin-top:40px}.booking-form select{width:100%;padding:14px;border:1px solid #c9cebf;background:#fffdf8;color:var(--ink);font:inherit;margin-bottom:23px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-result:not(:empty){border-left:3px solid #a67852;padding:14px 18px;background:#eee9df;margin:20px 0}.booking-result.success{border-color:var(--green);background:#e0e8d9}.booking-form button:disabled{opacity:.55;cursor:not-allowed;transform:none}@media(max-width:1000px){.reservation-layout{grid-template-columns:minmax(0,1fr) 280px;gap:25px}#calendar-months{grid-template-columns:1fr}.calendar-month:nth-child(2){display:none}}@media(max-width:760px){.reservation-top{display:block}.refresh-calendar{margin:20px 0 0}.reservation-layout{display:flex;flex-direction:column}.reservation-summary{position:static;width:100%;order:-1}.reservation-summary>img{display:none}.reservation-summary>div{padding:22px}.reservation-summary .reservation-fees{display:none}.calendar-panel{width:100%}.calendar-month h3{font-size:25px}.day{font-size:14px;padding:9px}.calendar-legend{gap:12px}.reservation-system{padding-top:45px}.booking-form select{font-size:16px}}
/* Stable, decoded image transitions in the photo viewer. */
.lightbox{padding:30px 8px 10px;overflow:visible}.lightbox[open]{animation:viewer-open .22s ease-out both}.lightbox[open]::backdrop{background:#101710ed;backdrop-filter:blur(7px);animation:backdrop-open .22s ease-out both}.photo-stage{position:relative;display:grid;place-items:center;width:min(85vw,1100px);height:min(72vh,780px);background:#182018;border-radius:7px;overflow:hidden}.photo-stage .lightbox-photo{position:absolute;inset:0;margin:auto;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.photo-enter{animation:photo-reveal .32s cubic-bezier(.2,.65,.3,1) both}.photo-stage .photo-leave{animation:photo-disappear .26s ease-out both}.photo-loading{z-index:3;position:absolute;display:flex;align-items:center;gap:10px;bottom:20px;left:50%;transform:translateX(-50%);background:#101710d9;border:1px solid #ffffff25;border-radius:30px;color:#f8f5ee;padding:10px 17px;font-size:12px;max-width:90%;width:max-content;animation:loading-reveal .18s .15s both;pointer-events:none}.photo-loading[hidden]{display:none}.photo-loading:before{content:'';width:14px;height:14px;flex-shrink:0;border:2px solid #ffffff35;border-top-color:#f8f5ee;border-radius:50%;animation:loading-spin .8s linear infinite}.photo-loading.load-error{border-radius:7px;animation:none;max-width:85%;text-align:center}.photo-loading.load-error:before{display:none}.lightbox.is-closing{animation:viewer-close .18s ease-in both}.lightbox.is-closing::backdrop{animation:backdrop-close .18s ease-in both}.lightbox .close{top:-12px;right:0;width:40px;height:40px;line-height:1;z-index:4}.lightbox-info{min-height:48px;margin-top:12px}.lightbox-info .caption{max-width:800px}@keyframes viewer-open{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viewer-close{to{opacity:0;transform:translateY(5px) scale(.99)}}@keyframes backdrop-open{from{opacity:0}to{opacity:1}}@keyframes backdrop-close{to{opacity:0}}@keyframes photo-reveal{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes photo-disappear{from{opacity:1}to{opacity:0}}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-reveal{from{opacity:0}to{opacity:1}}@media(max-width:760px){.photo-stage{width:90vw;height:70svh}.photo-loading{font-size:11px;padding:9px 13px}.lightbox{padding:30px 4px 8px}.lightbox-info .caption{font-size:10px}}@media(prefers-reduced-motion:reduce){.lightbox,.lightbox::backdrop,.photo-stage *, .lightbox.is-closing::backdrop{animation:none!important;transition:none!important}.photo-loading{opacity:1}}
.cms-preview-bar{position:sticky;top:0;z-index:1000;background:#3e5039;color:white;padding:12px 25px;font:12px/1.7 Arial,sans-serif;text-align:center}.cms-preview-bar a{text-decoration:underline}.cms-preview [data-cms-text]:hover,.cms-preview [data-cms-image]:hover{outline:2px dashed #b28b4e;outline-offset:3px;cursor:pointer}
.amenities [data-cms-text]::before{content:none}.header [data-cms-text]{font:inherit;letter-spacing:inherit}.cms-preview .photo-stage [data-cms-image]{cursor:default}
.price > [data-cms-text]{font:inherit;color:inherit}
.room-photo{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in}.room-photo::after{content:'⤢';position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f8f5eeeb;color:#303d30;font:24px/1 Arial,sans-serif;box-shadow:0 2px 12px #0002;transition:transform .2s}.room-photo:hover::after,.room-photo:focus-visible::after{transform:scale(1.1)}.room-photo:focus-visible{outline:3px solid #b18d48;outline-offset:4px}.room-photo img{transition:transform .3s}.room-photo:hover img{transform:scale(1.025)}@media(prefers-reduced-motion:reduce){.room-photo img,.room-photo::after{transition:none}}
:root{--site-header-height:100px;--cms-toolbar-height:0px}html{scroll-padding-top:calc(var(--site-header-height) + var(--cms-toolbar-height) + 16px)}.header{position:sticky;top:var(--cms-toolbar-height);z-index:900;box-shadow:0 3px 14px #24311d0d}.cms-preview .header{z-index:900}@media(max-width:760px){:root{--site-header-height:85px}}
.guest-faq{padding-top:70px;padding-bottom:70px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.faq-grid details{border-top:1px solid var(--line);padding:22px 0;align-self:start}.faq-grid summary{font-family:'Playfair Display',Georgia,serif;font-size:23px;line-height:1.4;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary::after{content:'+';font:20px Arial,sans-serif;color:#7b8c6b}.faq-grid details[open] summary::after{content:'−'}.faq-grid details p{margin-top:18px;font-size:14px;line-height:1.9}.guest-reviews{display:grid;grid-template-columns:1fr 1.25fr;gap:75px;align-items:center;border-top:1px solid var(--line)}.guest-reviews>div>p:not(.eyebrow){margin-top:25px;font-size:14px;max-width:350px}.review-quote{margin:0;padding:40px;background:#eceee2;border-radius:2px}.review-quote blockquote{margin:0}.review-quote blockquote p{font:italic 30px/1.5 'Playfair Display',Georgia,serif;color:var(--ink)}.review-quote figcaption{display:flex;flex-wrap:wrap;gap:5px 20px;margin:27px 0 15px;font-size:12px}.review-quote figcaption>span,.review-quote figcaption>a{font-size:11px;color:var(--muted)}.review-quote figcaption>a{width:100%;text-decoration:underline}.review-quote small{font-size:10px;color:var(--muted)}.destination-photo{margin:0 0 25px}.destination-photo img{width:100%;height:245px;object-fit:cover}.destination-photo figcaption{font-size:10px;color:var(--muted);margin-top:7px}.destination-list article:nth-child(2) .destination-photo img{object-fit:contain;background:#e6e9df}.stay-dates{font-size:15px!important;color:var(--ink);margin-bottom:20px!important}.stay-breakdown{margin:0}.stay-breakdown>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;font-size:12px;border-bottom:1px solid var(--line)}.stay-breakdown dt{color:var(--muted)}.stay-breakdown dd{margin:0;white-space:nowrap;color:var(--ink)}.stay-breakdown .stay-total{display:block;border:0;padding-top:23px}.stay-total dt{font-size:11px;letter-spacing:.5px}.stay-total dd{font:37px/1.4 'Playfair Display',Georgia,serif;margin-top:3px}.stay-extra-note{font-size:11px!important;line-height:1.7;background:#e5e8d9;padding:12px 14px}.stay-deposit{border-top:1px solid var(--line);padding-top:16px;margin:20px 0;font-size:12px}.stay-deposit p{font-size:11px!important;line-height:1.8}.reservation-fees[hidden]{display:none!important}.mobile-booking-bar{display:none}@media(max-width:760px){.faq-grid{grid-template-columns:1fr}.faq-grid summary{font-size:22px}.guest-faq{padding-top:55px;padding-bottom:50px}.guest-reviews{grid-template-columns:1fr;gap:30px}.review-quote{padding:26px}.review-quote blockquote p{font-size:26px}.destination-photo img{height:220px}.has-mobile-booking-bar{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.mobile-booking-bar{position:fixed;left:0;right:0;bottom:0;z-index:850;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px calc(13px + env(safe-area-inset-bottom));background:#f8f5eef5;backdrop-filter:blur(12px);border-top:1px solid #d2dac8;box-shadow:0 -4px 18px #26391a0d}.mobile-booking-bar>div{min-width:0}.mobile-booking-bar span{display:block;font-size:9px;color:var(--muted);line-height:1.5}.mobile-booking-bar strong{display:block;font-size:12px;font-weight:500;line-height:1.5;color:var(--ink)}.mobile-booking-bar a{background:var(--green);color:white;padding:12px 16px;font-size:11px;white-space:nowrap}.mobile-booking-bar.keyboard-active,.mobile-booking-bar.submit-visible{display:none}.cms-preview .mobile-booking-bar{display:none}.reservation-summary .reservation-fees{display:block}.stay-total dd{font-size:35px}}
.google-rating{display:inline-flex;flex-direction:column;gap:5px;margin-top:26px;padding:17px 21px;border:1px solid var(--line);border-radius:3px;text-decoration:none}.google-rating strong{font:27px/1.3 'Playfair Display',Georgia,serif}.google-rating strong span{font:14px Arial,sans-serif;letter-spacing:3px;color:#9c792f;vertical-align:middle;margin-left:9px}.google-rating>span{font-size:12px}.google-rating small{font-size:10px;color:var(--muted)}.review-carousel{min-width:0}.review-carousel .review-quote{margin:0 0 18px}.review-carousel-ready .review-quote{min-height:360px;margin:0;box-sizing:border-box;animation:review-appear .65s ease both;display:flex;flex-direction:column;justify-content:center}.review-carousel [hidden]{display:none!important}.review-carousel .review-source{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;margin-bottom:27px}.review-stars{color:#9c792f;letter-spacing:3px}.review-quote .review-summary{font:italic 28px/1.5 'Playfair Display',Georgia,serif;color:var(--ink);margin:0}.review-controls{display:flex;align-items:center;gap:12px;margin-top:20px}.review-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font:19px Arial,sans-serif;cursor:pointer}.review-controls button:hover{background:#e7eadc}.review-controls button:focus-visible,.google-rating:focus-visible{outline:2px solid var(--green);outline-offset:4px}.review-dots{display:flex;justify-content:center;gap:5px;flex:1}.review-dots button{width:30px;height:36px;border:0;border-radius:0}.review-dots button::after{content:'';width:6px;height:6px;border-radius:50%;background:#bec6b0;transition:transform .3s,background .3s}.review-dots button[aria-current=true]::after{background:var(--green);transform:scale(1.5)}.review-controls .review-pause{font-size:13px}.review-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.review-carousel-ready .review-quote figcaption{margin-top:24px}@keyframes review-appear{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@media(max-width:760px){.review-carousel-ready .review-quote{min-height:360px}.review-quote .review-summary{font-size:25px}.guest-reviews{gap:28px}.review-controls{gap:8px}.google-rating{margin-top:20px}}@media(prefers-reduced-motion:reduce){.review-carousel-ready .review-quote{animation:none}.review-dots button::after{transition:none}}
.guest-reviews .google-rating{display:flex;width:fit-content;max-width:100%;box-sizing:border-box}.guest-reviews .google-rating strong{display:block}

.reservation-test-note{margin:30px auto 0;max-width:1120px;width:90%;background:#f1ead7;border:1px solid #e4d9b9;padding:17px 22px;font-size:12px;line-height:1.8}.reservation-test-note p{margin:6px 0 0;font-size:12px}
.hero.hero-slider-ready{background:#203323}.hero.hero-slider-ready>.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;pointer-events:none}.hero.hero-slider-ready>.hero-slide.is-active{opacity:1;pointer-events:auto}.hero-slider-ready .hero-shade{z-index:1;background:linear-gradient(90deg,rgba(12,26,11,.7),rgba(12,26,11,.1) 95%),linear-gradient(0deg,rgba(12,26,11,.4),transparent 40%)}.hero-slider-ready .hero-content,.hero-slider-ready .hero-bottom{z-index:2}.hero-slider-controls{position:absolute;z-index:3;right:6.4%;bottom:64px;display:flex;align-items:center;gap:5px;padding:3px 9px;background:#172a20b8;border:1px solid #ffffff45;border-radius:30px;color:#fff;backdrop-filter:blur(8px)}.hero-slider-controls button{appearance:none;border:0;background:none;color:inherit;cursor:pointer;min-height:40px}.hero-slide-dot{width:28px;display:grid;place-items:center;padding:0}.hero-slide-dot::after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#ffffff70;transition:background .3s,transform .3s}.hero-slide-dot[aria-current=true]::after{background:#fff;transform:scale(1.4)}.hero-slide-pause{padding:0 10px;font-size:10px;letter-spacing:.02em}.hero-slide-caption{padding:0 7px;font-size:9px;letter-spacing:2px}.hero-slider-controls button:focus-visible{outline:2px solid #fff;outline-offset:1px;border-radius:20px}@media(max-width:760px){.hero-slider-controls{right:7%;bottom:22px}.hero-slider-ready .hero-content{top:18%}.hero-slider-ready .hero-bottom{display:none}}@media(prefers-reduced-motion:reduce){.hero.hero-slider-ready>.hero-slide,.hero-slide-dot::after{transition:none}}

@media(max-width:760px){.hero-slider-controls{gap:2px;padding-inline:7px;max-width:calc(100% - 28px)}.hero-slide-dot{width:18px;flex-shrink:0}.hero-slide-pause{font-size:9px;padding-inline:6px}.hero-slide-caption{font-size:8px;padding-inline:4px;white-space:nowrap}}

@media(max-width:360px){.hero.hero-slider-ready{min-height:700px;max-height:none}}

.booking-benefits{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 4%;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink)}.booking-benefits>span::before{content:'✓';color:var(--green);margin-right:9px}.booking-benefits a{font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:3px;white-space:nowrap}.booking-steps{display:flex;gap:30px;list-style:none;padding:0 0 24px;margin:20px 0 28px;border-bottom:1px solid var(--line)}.booking-steps li{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.booking-steps li>span{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--line);border-radius:50%;font-size:11px}.booking-steps li[aria-current=step]{color:var(--green);font-weight:600}.booking-steps li[aria-current=step]>span{background:var(--green);border-color:var(--green);color:#fff}.booking-form{margin-top:26px}.booking-form fieldset{border:0;padding:0;margin:0;min-width:0;scroll-margin-top:120px}.booking-form legend{font:28px/1.3 'Playfair Display',Georgia,serif;color:var(--ink);padding:0;margin-bottom:15px;scroll-margin-top:120px}.booking-step-help{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px}.booking-form #booking-phone{margin-bottom:24px}.booking-back{border:0;border-bottom:1px solid var(--line);background:none;color:var(--green);padding:9px 0;margin:0 0 25px;cursor:pointer;font:12px 'DM Sans',Arial,sans-serif}.booking-choice{background:#e9ecdf;border-left:3px solid var(--green);padding:14px 16px;font-size:12px;line-height:1.8;margin-bottom:12px}.optional{font-weight:400;font-size:10px;color:var(--muted);margin-left:7px}.booking-form .booking-reassurance{font-size:12px;line-height:1.8;color:var(--green);margin:15px 0 4px}.booking-form .button{width:100%;justify-content:space-between}.booking-trust{padding:12px 0;border-top:1px solid var(--line);line-height:1.8;color:var(--green)}.reservation-summary{top:115px}.reservation-system .stay-total dd{font-size:39px}.reservation-system .stay-extra-note{border-left:2px solid #b4a57b}.reservation-system .stay-deposit{background:#f7f6ef;padding:14px;margin-top:16px}.booking-steps li[aria-current=false]{font-weight:400}[hidden]{display:none!important}@media(max-width:760px){.booking-benefits{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:23px 6%;font-size:10px}.booking-benefits a{font-size:10px}.booking-steps{gap:16px;margin-top:15px}.booking-steps li{font-size:10px;gap:7px}.booking-steps li>span{width:25px;height:25px}.reservation-layout{display:flex;flex-direction:column}.reservation-summary{order:0}.reservation-summary>div{padding:22px}.booking-form legend{font-size:25px}.reservation-system .stay-total dd{font-size:34px}.reservation-summary>img{display:none}.booking-form fieldset{scroll-margin-top:105px}}

.booking-inline-price{background:#edf0e5;padding:18px 20px;margin:0 0 22px;border:1px solid #d9dfcf}.booking-inline-price span,.booking-inline-price strong,.booking-inline-price small{display:block}.booking-inline-price span{font-size:11px;color:var(--muted)}.booking-inline-price strong{font:31px/1.4 Georgia,serif;color:var(--ink);margin:6px 0}.booking-inline-price small{font-size:10px;line-height:1.8;color:var(--muted)}

@media(max-width:760px){.hero-content>.button{font-size:12px;line-height:1.4;padding:18px 20px;gap:16px;max-width:100%;white-space:nowrap}}

/* Scroll appearance matches the original site: 20px, 1.2s ease-out. */
.scroll-reveal{transition:opacity 1.2s ease-out,transform 1.2s ease-out}
.scroll-reveal-pending{opacity:0;transform:translateY(20px)}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal-pending{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.scroll-reveal,.scroll-reveal-pending{opacity:1!important;transform:none!important;transition:none!important}}

.cookie-notice[hidden]{display:none!important}.cookie-notice{position:fixed;z-index:90;left:20px;bottom:20px;width:min(410px,calc(100vw - 40px));padding:23px;background:#fffdf7;color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 40px #15231324;border-radius:8px}.cookie-notice h2{font-size:25px;letter-spacing:-.4px;line-height:1.2;margin:0 0 12px}.cookie-notice p{font-size:12px;line-height:1.75;color:#596351}.cookie-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:18px}.cookie-button{appearance:none;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:4px;padding:10px 22px;font:inherit;font-size:12px;min-height:42px;cursor:pointer}.cookie-secondary{background:transparent;color:var(--ink)}.cookie-details,.cookie-dialog>a{font-size:12px;text-decoration:underline;text-underline-offset:4px}.cookie-dialog{width:min(580px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:30px;background:var(--paper);color:var(--ink)}.cookie-dialog::backdrop{background:#17201699}.cookie-dialog h2{font-size:32px;margin-bottom:13px}.cookie-dialog>p{font-size:13px;line-height:1.8;margin:12px 0}.cookie-dialog dl{margin:22px 0}.cookie-dialog dl>div{padding:16px 0;border-top:1px solid var(--line)}.cookie-dialog dt{font-weight:600;font-size:14px}.cookie-dialog dd{margin:5px 0 0;font-size:12px}.cookie-dialog dd strong{font-size:11px;color:#40563b}.cookie-dialog dd p{font-size:12px;line-height:1.7;margin:5px 0 0}.cookie-dialog .cookie-actions{justify-content:flex-start}.cookie-settings-link{font-size:11px;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.cookie-notice{left:12px;bottom:82px;width:calc(100vw - 24px);padding:18px;max-height:calc(100dvh - 180px);overflow:auto}.cookie-dialog{padding:22px}.cookie-dialog h2{font-size:28px}}@media print{.cookie-notice,.cookie-dialog,.cookie-settings-link{display:none!important}}

.cookie-notice .cookie-actions{gap:10px}.cookie-notice .cookie-button{flex:1;min-width:155px;padding:10px 12px}.cookie-notice .cookie-details{flex-basis:100%;text-align:center}.cookie-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.cookie-dialog-header h2{font-size:30px;line-height:1.25}.cookie-close{border:0;background:transparent;color:var(--ink);font-size:28px;padding:0 7px;line-height:1;min-width:32px;min-height:32px}.cookie-category{padding:16px 0;border-top:1px solid var(--line)}.cookie-category h3{font:600 13px 'DM Sans',Arial,sans-serif;letter-spacing:0;line-height:1.5}.cookie-category p{font-size:12px;line-height:1.7;margin:6px 0 0}.cookie-toggle{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;cursor:pointer}.cookie-toggle input{appearance:auto;width:20px;height:20px;margin:0;accent-color:var(--green)}.cookie-dialog>.cookie-actions .cookie-button{flex:1;padding:10px 12px}@media(max-width:400px){.cookie-notice .cookie-button{min-width:120px}.cookie-dialog-header h2{font-size:25px}}
/* Compact confirmation after a successful reservation request. */
.reservation-layout.is-submitted{display:block;max-width:660px;margin:0 auto}
.reservation-layout.is-submitted>.reservation-summary{display:none}
.booking-form.has-submitted{margin-top:0}
.booking-result.success{padding:28px 30px;scroll-margin-top:20px;margin:0;border:1px solid var(--line);background:var(--paper,#f8f5ee)}
.booking-result.success h2{font-size:32px;line-height:1.2;margin:12px 0 18px}
.booking-result.success p{font-size:14px;margin:14px 0;line-height:1.65}
.booking-success-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e0e8d9;color:var(--green);font-size:23px}
.booking-result.success .booking-success-eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--muted);margin:14px 0 0}
.booking-success-note{padding:14px 16px;margin:18px 0;background:#fff;border:1px solid var(--line);font-size:13px;line-height:1.6}
.booking-result.success .booking-success-note p{font-size:13px;margin:3px 0 0}
.booking-result.success a{color:var(--green);text-decoration:underline}
@media(max-width:760px){.booking-result.success{padding:22px 20px;scroll-margin-top:16px}.booking-result.success h2{font-size:27px}.booking-result.success p{font-size:13px}.booking-success-note{padding:12px 14px}}
