:root{--paper:#f6f3eb;--ink:#25372f;--muted:#5b695e;--ochre:#8a6325;--line:#d9d9ca;--forest:#263d32;--white:#fffdf8;--sans:'Avenir Next',Avenir,'Segoe UI',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}img{display:block;max-width:100%;height:auto}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.07}h2{font-size:clamp(40px,4.2vw,64px)}h1 span,h1 em,h2 span,h2 em{display:block}h1 em,h2 em{font-weight:400;color:var(--ochre)}h3{font-size:16px;line-height:1.4;font-weight:600}p{max-width:65ch}::selection{background:#e2c591;color:#263d32}:focus-visible{outline:3px solid #bc8c38;outline-offset:5px}.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}.skip-link{position:fixed;z-index:200;left:20px;top:15px;background:var(--forest);color:white;padding:10px 20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.site-header{height:104px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(246,243,235,.97);z-index:30;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{height:62px;width:62px;object-fit:contain;border-radius:50%;mix-blend-mode:multiply}.brand>span{font-size:15px;font-weight:600;letter-spacing:.13em;line-height:1.5}.brand-sub{display:block;font-size:11px;font-weight:400;letter-spacing:.36em}.desktop-nav{display:flex;gap:30px;font-size:13px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--ochre);transition:right .25s}.desktop-nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:22px}.language-label select{background:transparent;border:0;cursor:pointer;padding:7px 2px;font-size:12px;letter-spacing:.08em}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--forest);color:var(--white);padding:16px 26px;min-height:54px;font-size:13px;font-weight:500;line-height:1.35;transition:background .2s,transform .2s}.button:hover{background:#3b5243;transform:translateY(-2px)}.button.small{padding:12px 18px;min-height:44px;font-size:12px}.button.light{background:var(--paper);color:var(--forest)}.button.light:hover{background:#eadfc8}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;border-bottom:1px solid currentColor;padding:0 0 6px;line-height:1.6}.text-link:hover{color:var(--ochre)}.menu-button{display:none;width:38px;height:40px;padding:7px}.menu-button span{display:block;height:1.5px;background:var(--ink);margin:7px 0;transition:transform .2s}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 6%;border-bottom:1px solid var(--line)}.mobile-nav a{display:block;padding:12px 0;font-size:17px}.hero{display:grid;grid-template-columns:44% 56%;max-width:1920px;margin:0 auto;min-height:650px}.hero-copy{padding:77px 9% 40px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:600;line-height:1.6;text-transform:uppercase;margin-bottom:24px}.dot{width:7px;height:7px;background:var(--ochre);display:inline-block;border-radius:50%;margin-right:9px}.hero h1{font-size:clamp(55px,5.65vw,87px);margin-bottom:28px}.hero-intro{font-size:15px;max-width:350px;line-height:1.9;color:var(--muted);margin-bottom:31px}.hero-photo-link{margin-top:20px}.hero-bottom{display:flex;align-items:center;gap:14px;margin-top:55px}.hero-bottom .line{display:block;width:32px;height:1px;background:var(--ochre)}.hero-bottom p{font-size:10px;letter-spacing:.04em;color:var(--muted)}.hero-visual{position:relative;min-width:0;overflow:hidden;background:#b1b18c;min-height:650px}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,31,24,.08) 50%,rgba(15,31,24,.5))}.image-kicker,.image-note,.image-gallery-link{position:absolute;z-index:1;color:white}.image-kicker{top:29px;left:32px;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.16em;text-shadow:0 1px 10px #263d32}.image-kicker .icon{width:18px;height:18px}.image-note{left:40px;bottom:42px}.image-note span{font-size:9px;letter-spacing:.22em}.image-note p{font-family:var(--serif);font-size:35px;letter-spacing:-.02em;line-height:1.3;margin-top:10px;font-style:italic}.image-gallery-link{right:32px;bottom:43px;background:rgba(255,255,255,.17);backdrop-filter:blur(6px);padding:11px 17px;display:flex;align-items:center;gap:10px;font-size:12px;border:1px solid #ffffff6b}.image-gallery-link .icon{width:17px;height:17px}.facts{display:grid;grid-template-columns:repeat(3,1fr) 1.6fr;padding:32px 5.3%;border-bottom:1px solid var(--line);max-width:1920px;margin:auto}.facts>div{display:flex;align-items:center;justify-content:center;gap:15px;border-right:1px solid var(--line)}.facts>div:last-child{border:0}.facts strong{font-size:32px;font-family:var(--serif);font-weight:400;line-height:1}.facts span{font-size:12px;letter-spacing:.03em}.facts .icon{width:31px;height:31px}.section-wrap{padding:108px 6.5%;max-width:1512px;margin:auto}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin-bottom:60px}.intro-body{padding-top:25px;max-width:460px}.intro-body p{font-size:15px;line-height:1.9}.intro-body .muted{color:var(--muted);font-size:13px;margin-top:18px}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin:0 0 56px;padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.amenities .icon{color:var(--ochre);width:30px;height:30px;margin-bottom:17px}.amenities h3{font-size:14px;font-weight:500;margin-bottom:9px}.amenities p{font-size:12px;color:var(--muted);line-height:1.8}.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:290px 260px;gap:16px;scroll-margin-top:125px}.photo{position:relative;overflow:hidden;padding:0;grid-column:span 3;color:white}.photo-wide{grid-column:span 7;grid-row:span 2}.photo-tall{grid-column:span 5}.photo:not(.photo-wide):not(.photo-tall){grid-column:span 2}.photo:last-child{grid-column:span 3!important}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.photo:hover img{transform:scale(1.035)}.photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(22,34,25,.55))}.photo-label{position:absolute;bottom:22px;left:24px;right:24px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;text-align:left;line-height:1.4}.photo-label .icon{width:18px;height:18px}.gallery-footer{display:flex;justify-content:space-between;align-items:center;padding-top:22px;gap:24px}.gallery-footer p{font-family:var(--serif);font-size:20px;font-style:italic;color:var(--muted)}.area-section{display:grid;grid-template-columns:48% 52%;background:#eaece1;max-width:1920px;margin:auto}.area-visual{position:relative;min-height:770px;overflow:hidden}.area-visual img{width:100%;height:100%;object-fit:cover;object-position:45% 50%;position:absolute}.area-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(22,34,25,.6))}.area-photo-label{position:absolute;bottom:42px;left:42px;right:24px;color:white;z-index:1}.area-photo-label span{font-size:10px;letter-spacing:.2em;display:block;margin-bottom:10px}.area-photo-label strong{font-family:var(--serif);font-size:31px;font-weight:400;font-style:italic}.area-copy{padding:72px 12% 64px 11%;align-self:center}.area-copy h2{font-size:clamp(40px,4vw,60px);margin-bottom:23px}.area-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.85}.area-distances{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #cbd1bf;padding:23px 0;margin:30px 0 23px;gap:20px}.area-distances strong{font-size:25px;font-weight:400;font-family:var(--serif);display:block;line-height:1.3}.area-distances span{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:19px;border-bottom:1px solid #cbd1bf}.tabs button{font-size:11px;padding:12px 0;border-bottom:2px solid transparent;line-height:1.5}.tabs button[aria-selected=true]{border-color:var(--ochre);color:var(--ochre)}.tab-panel{padding:23px 0 26px;min-height:205px}.route-label{font-size:9px;letter-spacing:.13em;color:var(--ochre)}.tab-panel h3{font-size:16px;margin:10px 0}.tab-panel p{font-size:12px;color:var(--muted);line-height:1.85}.practical-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-block:100px}.practical-intro>p:not(.eyebrow){color:var(--muted);font-size:14px;margin:25px 0}.practical-intro>.text-link{margin-top:10px}.faq{border-top:1px solid var(--line);padding-top:0}.faq details{border-bottom:1px solid var(--line);padding:0}.faq summary{cursor:pointer;list-style:none;font-size:14px;font-weight:500;padding:22px 35px 22px 0;position:relative;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;top:19px;font-size:21px;font-weight:300;color:var(--ochre)}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;color:var(--muted);line-height:1.85;padding:0 26px 24px 0}.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:86px 9%;background:var(--forest);color:var(--paper);max-width:1920px;margin:auto}.booking-copy{padding-top:25px;max-width:540px}.booking-copy .eyebrow{color:#d7bd83}.booking-copy h2{font-size:clamp(40px,3.9vw,62px)}.booking-copy h2 em{color:#ddc18d}.booking-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#cbd2c5;margin:27px 0;max-width:410px}.booking-copy .button{margin-top:4px}.booking-address{display:flex;align-items:center;gap:13px;margin-top:50px;color:#cbd2c5}.booking-address p{font-size:12px}.booking-form-wrap{background:var(--paper);color:var(--ink);padding:38px 40px;max-width:480px;width:100%;justify-self:end}.form-eyebrow{font-size:9px;letter-spacing:.18em;color:var(--ochre);font-weight:600}.booking-form-wrap h3{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:-.03em;margin-top:6px}.form-note{font-size:12px;color:var(--muted);margin:7px 0 24px}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form label{display:block;margin-bottom:16px;font-size:11px;font-weight:500}form label>span{display:block;margin-bottom:7px}form input,form select{background:transparent;border:1px solid #7d887a;width:100%;padding:12px 10px;min-height:47px;border-radius:0;font-size:12px;max-width:100%;min-width:0;color-scheme:light}form select{cursor:pointer}.stay-summary{font-size:11px;color:var(--muted);margin:2px 0 21px;min-height:19px}.form-button{width:100%;font-size:12px;padding:15px 14px;gap:12px}.form-button .icon{width:20px;height:20px}.form-disclaimer{font-size:10px;line-height:1.75;color:var(--muted);margin-top:14px}.form-error{font-size:12px;color:#a33823;margin:0 0 18px}.contact-link{font-size:11px;margin-top:22px}footer{padding:52px 6.5% 24px;display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:1512px;margin:auto}.footer-brand>span{font-family:var(--serif);font-size:26px;letter-spacing:-.03em}.footer-brand p{font-size:12px;color:var(--muted);margin-top:5px}.footer-links{display:flex;justify-content:flex-end;align-items:center;gap:24px;font-size:11px}.footer-links a:hover{color:var(--ochre)}.footer-legal{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;font-size:9px;letter-spacing:.07em;color:var(--muted)}.lightbox{padding:0;background:#142219;color:var(--paper);border:0;width:min(1140px,96vw);max-width:96vw;height:min(860px,92vh);max-height:92vh;overflow:hidden}.lightbox[open]{display:flex;flex-direction:column}.lightbox::backdrop{background:rgba(10,21,14,.88);backdrop-filter:blur(5px)}.lightbox-close{position:absolute;right:15px;top:15px;z-index:2;color:white;width:44px;height:44px;background:rgba(0,0,0,.55);display:grid;place-items:center;border:1px solid #ffffff5c}.lightbox-image{min-height:0;flex:1;padding:28px;display:flex;justify-content:center;align-items:center}.lightbox-image img{width:100%;height:100%;object-fit:contain}.lightbox-bar{padding:15px 28px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.lightbox-bar p{font-size:14px}.lightbox-bar span{font-size:11px;color:#aebbad}.lightbox-controls{display:flex;gap:12px}.lightbox-controls button{border:1px solid #778575;color:var(--paper);width:46px;height:46px;font-size:22px}.lightbox-controls button:hover{background:#ffffff15}[hidden]{display:none!important}
@media(min-width:1600px){.hero-copy{padding-left:15%}.hero-visual{min-height:760px}.hero h1{font-size:94px}.hero-intro{font-size:17px;max-width:400px}.hero-bottom{margin-top:70px}.area-copy{padding-right:16%}}
@media(max-width:1150px){.desktop-nav{gap:19px;font-size:12px}.site-header{gap:16px;padding-inline:4%}.brand>span{font-size:13px}.brand img{width:52px;height:52px}.header-actions{gap:15px}.hero-copy{padding-left:10%;padding-right:7%}.hero h1{font-size:61px}.hero-visual,.hero{min-height:620px}.image-note{left:27px;bottom:88px}.image-gallery-link{bottom:26px;left:27px;right:auto}.section-wrap{padding-inline:5%}.amenities{gap:22px}.area-copy{padding:55px 8%}.area-visual{min-height:760px}.gallery{grid-template-rows:240px 220px}.photo-label{left:16px;right:16px;font-size:11px}.booking-section{gap:6%;padding:70px 6%}.booking-form-wrap{padding:32px}.booking-copy h2{font-size:48px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-button{display:block}.hero h1{font-size:53px}.hero-copy{padding-top:50px}.hero-intro{font-size:13px}.hero-visual,.hero{min-height:570px}.hero-bottom{margin-top:35px}.facts{padding:27px 3%}.facts span{font-size:10px}.facts strong{font-size:28px}.facts>div{gap:10px}.section-wrap{padding-block:75px}.section-intro{gap:6%;margin-bottom:42px}.intro-body p{font-size:13px}.amenities{grid-template-columns:repeat(2,1fr);gap:30px 45px;padding-block:28px;margin-bottom:35px}.gallery{grid-template-rows:230px 200px;gap:12px}.photo-wide{grid-column:span 7}.gallery-footer p{font-size:17px}.gallery-footer .text-link{font-size:11px}.area-section{grid-template-columns:1fr 1fr}.area-visual{min-height:750px}.area-copy{padding:50px 8%}.area-copy h2{font-size:41px}.tabs{gap:13px}.tabs button{font-size:10px}.area-photo-label{left:25px}.area-photo-label strong{font-size:26px}.area-distances{gap:12px}.area-distances strong{font-size:23px}.practical-section{gap:7%}.practical-intro h2{font-size:41px}.booking-section{gap:5%;padding:60px 5%}.booking-copy h2{font-size:42px}.booking-form-wrap{padding:28px 25px}.booking-form-wrap h3{font-size:27px}.booking-copy .button{font-size:11px;padding:16px 18px;gap:16px}.footer-links{gap:16px}}
@media(max-width:760px){html{scroll-padding-top:78px}.site-header{height:78px;padding-inline:5%;gap:8px}.brand{gap:9px}.brand img{height:45px;width:45px}.brand>span{font-size:11px}.brand-sub{font-size:9px}.header-actions{gap:9px}.header-book{display:none}.language-label select{font-size:11px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:44px 7% 36px;display:block}.hero h1{font-size:clamp(53px,10vw,76px);margin-bottom:21px}.hero .eyebrow{margin-bottom:18px}.hero-intro{font-size:14px;max-width:440px;line-height:1.85;margin-bottom:24px}.hero .button{min-height:49px;font-size:12px;padding:14px 22px}.hero-photo-link{margin:0 0 0 20px;font-size:12px}.hero-bottom{margin-top:26px}.hero-visual{min-height:440px;height:56vw;max-height:600px}.hero-visual>img{object-position:50% 55%}.image-kicker{top:20px;left:25px}.image-note{bottom:28px;left:25px}.image-note p{font-size:30px}.image-gallery-link{bottom:29px;right:24px;left:auto;padding:10px 12px;font-size:10px}.facts{grid-template-columns:1fr 1fr;row-gap:23px;padding:26px 6%}.facts>div{justify-content:flex-start;gap:14px;padding-left:13%;min-height:31px}.facts>div:nth-child(2){border:0}.facts>div:nth-child(3){border-right:1px solid var(--line)}.facts span{font-size:11px}.facts>div:last-child{padding-left:13%}.facts .icon{width:28px;height:28px}.facts>div:last-child span{max-width:115px;line-height:1.4}.section-wrap{padding:62px 7%}.section-intro{display:block;margin-bottom:35px}.section-intro .eyebrow{margin-bottom:17px}h2{font-size:43px}.intro-body{padding-top:23px;max-width:none}.intro-body p{font-size:14px}.intro-body .muted{font-size:12px;margin-top:13px}.amenities{gap:28px 22px}.amenities h3{font-size:13px}.amenities p{font-size:11px}.amenities .icon{width:27px;height:27px;margin-bottom:13px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 210px 210px;gap:10px}.photo-wide{grid-column:1/-1;grid-row:span 1}.photo-tall{grid-column:1/-1}.photo:not(.photo-wide):not(.photo-tall),.photo:last-child{grid-column:span 1!important}.photo-label{bottom:16px;left:16px;right:16px}.gallery-footer{display:block;padding-top:20px}.gallery-footer p{font-size:18px;margin-bottom:13px}.gallery-footer .text-link{font-size:12px}.area-section{display:flex;flex-direction:column}.area-visual{min-height:0;height:420px;order:2}.area-copy{padding:58px 7%}.area-copy h2{font-size:45px}.area-copy>p:not(.eyebrow){font-size:14px}.area-distances{margin-block:26px}.area-distances strong{font-size:27px}.area-distances span{font-size:12px}.tabs{gap:26px}.tabs button{font-size:12px}.tab-panel{min-height:0;padding-bottom:25px}.tab-panel p{font-size:13px}.tab-panel h3{font-size:17px}.area-photo-label{left:26px;bottom:30px}.area-photo-label strong{font-size:29px}.practical-section{display:block}.practical-intro h2{font-size:43px}.practical-intro>p:not(.eyebrow){margin:22px 0}.practical-intro>.text-link{margin-top:0}.faq{margin-top:34px}.faq summary{font-size:14px;padding-block:20px}.booking-section{display:block;padding:58px 7%}.booking-copy{padding:0;max-width:none}.booking-copy h2{font-size:46px}.booking-copy>p:not(.eyebrow){font-size:14px;max-width:none;margin:22px 0}.booking-copy .button{font-size:12px}.booking-address{margin-top:28px}.booking-form-wrap{max-width:none;padding:30px 25px;margin-top:36px}.booking-form-wrap h3{font-size:30px}form input,form select{font-size:16px;padding:11px 9px}.form-button{font-size:12px}.form-disclaimer{font-size:11px}footer{padding:38px 7% 22px;display:block}.footer-links{justify-content:flex-start;margin:24px 0;gap:23px;flex-wrap:wrap}.footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:9px 24px;font-size:8px}.lightbox-image{padding:10px}.lightbox{height:min(720px,88vh)}.lightbox-bar{padding:15px 17px 20px}.lightbox-bar p{font-size:12px}.lightbox-controls button{width:42px;height:42px}.lightbox-close{top:10px;right:10px}}
@media(max-width:380px){.hero h1{font-size:49px}.hero-photo-link{margin-left:14px;font-size:11px}.hero-visual{min-height:350px}.image-note p{font-size:25px}.image-gallery-link{right:16px;bottom:25px}.facts>div{padding-left:7%}.facts>div:last-child{padding-left:7%}.tabs{gap:18px}.tabs button{font-size:11px}.booking-copy h2{font-size:39px}.date-row{gap:10px}.booking-form-wrap{padding:27px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.prepared-request{font-size:11px;margin-top:17px;line-height:1.5}.form-error[hidden]{display:none}
/* Complete amenities and booking pages */
.page-intro{padding-block:66px 48px}.page-intro h1{font-size:clamp(54px,5.2vw,78px)}.page-intro .page-lead{font-size:15px;color:var(--muted);margin-top:24px;max-width:610px;line-height:1.85}.section-jumps{display:flex;gap:28px;padding:23px 0 0;margin-top:30px;border-top:1px solid var(--line);font-size:12px}.section-jumps a:hover{color:var(--ochre)}.feature-story{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding-block:48px}.feature-story.reversed{grid-template-columns:1fr 1.1fr}.feature-story.reversed .feature-image{order:2}.feature-image{overflow:hidden;min-width:0}.feature-image img{width:100%;height:450px;object-fit:cover}.feature-copy h2{font-size:clamp(36px,3.4vw,51px);margin-bottom:24px}.feature-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.85}.feature-list{padding:0;margin:24px 0 0;list-style:none}.feature-list li{display:flex;gap:12px;align-items:flex-start;padding:8px 0;font-size:12px;line-height:1.7}.feature-list .icon{width:17px;height:17px;color:var(--ochre);margin-top:3px}.room-strip{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-block:15px 35px}.room-strip figure{margin:0}.room-strip img{height:280px;width:100%;object-fit:cover}.room-strip figcaption{font-size:11px;color:var(--muted);padding-top:10px}.comfort-section{padding-block:55px 75px}.comfort-section h2{font-size:46px}.comfort-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-block:1px solid var(--line);margin:36px 0 20px;padding-block:28px}.comfort-grid h3{font-size:14px}.comfort-grid .feature-list{margin-top:13px}.small-note{font-size:11px;color:var(--muted);line-height:1.8}.page-cta{background:var(--forest);color:var(--paper);padding:55px 7%;display:flex;justify-content:space-between;align-items:center;gap:30px}.page-cta h2{font-size:38px}.booking-page-intro{display:grid;grid-template-columns:1.45fr 1fr;gap:10%;align-items:center}.booking-teaser{position:relative}.booking-teaser img{width:100%;height:230px;object-fit:cover}.booking-teaser span{display:block;font-family:var(--serif);font-style:italic;font-size:17px;margin-top:9px;color:var(--muted)}.booking-workspace{padding-block:10px 60px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,1fr);gap:5%}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:13px}.calendar-heading>div{display:flex;gap:13px;align-items:center}.calendar-heading h2{font-family:var(--sans);font-size:17px;font-weight:500;letter-spacing:-.01em}.step-number{color:var(--ochre);font-family:var(--serif);font-size:23px;line-height:1}.calendar-heading .text-link{font-size:11px;white-space:nowrap}.calendar-guidance{font-size:12px;color:var(--muted);margin-bottom:20px;min-height:20px}.calendar-panel{background:var(--white);border:1px solid var(--line);padding:20px 24px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:16px}.calendar-toolbar button{border:1px solid var(--line);width:36px;height:36px;font-size:19px;color:var(--forest)}.calendar-toolbar button:disabled{opacity:.3}.calendar-toolbar select{border:0;background:transparent;font-size:13px;font-weight:500;padding:5px;max-width:220px;cursor:pointer}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:30px;min-height:265px}.month-title{font-family:var(--serif);font-size:20px;letter-spacing:-.02em;text-transform:capitalize;margin-bottom:16px}.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekdays{font-size:9px;color:var(--muted);text-align:center;margin-bottom:9px}.month-grid .calendar-blank{min-height:34px}.day{position:relative;min-width:0;aspect-ratio:1;display:grid;place-items:center;font-size:11px;padding:0;border:1px solid transparent;isolation:isolate;background:#eef1e6;color:var(--forest);min-height:30px}.day:hover:not(:disabled){border-color:var(--ochre)}.day:disabled{cursor:default}.day.unavailable,.day.full_day_booking{background:#eeeae5;color:#b0aaa0;text-decoration:line-through}.day.from_today_unavailable{background:transparent;color:#b3b5ac}.day.sunday:not(.selected):not(.in-range){background:#f5f3ee;color:#939b90}.day.check_in{background:linear-gradient(135deg,#eef1e6 50%,#ddd9d1 50%)}.day.check_out{background:linear-gradient(135deg,#ddd9d1 50%,#eef1e6 50%)}.day.selected{background:var(--forest)!important;color:white!important;border-color:var(--forest);text-decoration:none}.day.in-range{background:#d4dec8!important;color:var(--forest);text-decoration:none}.day.preview{background:#e3dbc7!important;color:var(--forest)}.day.pending{border-bottom:2px solid var(--ochre)}.calendar-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:24px;font-size:9px;color:var(--muted)}.calendar-legend>span{display:flex;align-items:center;gap:6px}.calendar-legend i{display:inline-block;width:12px;height:12px;border:1px solid #d3d5c8}.legend-free{background:#eef1e6}.legend-booked{background:#ddd9d1}.legend-turnover{background:linear-gradient(135deg,#eef1e6 50%,#ddd9d1 50%)}.calendar-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:18px;padding-top:13px;font-size:10px;color:var(--muted)}.calendar-bottom button{text-decoration:underline;color:var(--ochre);font-size:10px;padding:3px}.calendar-bottom button:disabled{opacity:.5}.calendar-error{font-size:12px;color:#9c3b2c;margin-top:14px}.calendar-footnote{font-size:10px;color:var(--muted);margin-top:17px;line-height:1.8}.booking-details{margin-top:35px}.stay-options{display:grid;grid-template-columns:1fr 1.7fr;gap:25px;border-top:1px solid var(--line);padding-top:20px}.stay-options>label:first-child>span{display:block;font-size:11px;margin-bottom:8px}.stay-options select{width:100%;border:1px solid #7d887a;background:transparent;font-size:14px;padding:9px 12px;cursor:pointer}.charge-option{display:flex;align-items:center;gap:12px}.charge-option input{accent-color:var(--forest);width:18px;height:18px;flex-shrink:0}.charge-option strong{font-size:12px;font-weight:500;display:block}.charge-option small{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5}.included-strip{padding:24px;margin-top:27px;background:#eaece1}.included-strip h3{font-size:13px;margin-bottom:6px}.included-strip p{font-size:11px;color:var(--muted);line-height:1.8}.stay-card{align-self:start;background:var(--white);border:1px solid var(--line);position:sticky;top:124px}.stay-card>img{height:150px;object-fit:cover;width:100%}.stay-card-body{padding:27px}.stay-card .eyebrow{font-size:9px;margin-bottom:10px}.stay-card h2{font-size:30px;line-height:1.1;margin-bottom:23px}.selected-date-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-bottom:15px;border-bottom:1px solid var(--line)}.selected-date-summary>div:last-child{padding-left:15px;border-left:1px solid var(--line)}.selected-date-summary span{font-size:10px;color:var(--muted);display:block}.selected-date-summary strong{font-size:12px;font-weight:500;display:block;margin-top:5px;line-height:1.7}.selected-date-summary small{font-size:9px;color:var(--muted)}#summary-nights{margin-top:13px}.price-summary{margin:20px 0 24px}.price-summary>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:15px}.price-summary>div:first-child>span{font-size:12px}.price-summary>div:first-child>strong{font-family:var(--serif);font-weight:400;font-size:27px}.price-summary>p{font-size:10px;color:var(--muted);margin:5px 0 16px;min-height:17px}.price-row{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:8px}.stay-card .button{width:100%;font-size:12px;gap:8px}a[aria-disabled=true]{opacity:.4;cursor:default;pointer-events:none}.stay-card .text-link{font-size:10px;margin-top:21px;line-height:1.7}.terms-section{padding-block:55px 65px;background:#eaece1;max-width:none}.terms-section h2{font-size:40px}.terms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:35px 0 30px}.terms-grid h3{font-size:14px;margin-bottom:12px}.terms-grid p{font-size:12px;color:var(--muted);line-height:1.85}
@media(max-width:1100px){.calendar-months{gap:17px}.calendar-panel{padding:19px 16px}.booking-workspace{gap:4%;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}.day{font-size:10px;min-height:27px}.stay-card-body{padding:22px}.comfort-grid{grid-template-columns:repeat(2,1fr)}.feature-image img{height:380px}}
@media(max-width:900px){.booking-workspace{display:block}.stay-card{position:static;margin-top:35px;display:grid;grid-template-columns:1fr 1.5fr}.stay-card>img{height:100%;min-height:350px}.calendar-months{gap:30px}.day{font-size:12px;min-height:35px}.feature-story{gap:6%}.feature-copy h2{font-size:36px}.feature-image img{height:410px}.feature-list li{font-size:11px}.page-cta h2{font-size:32px}.booking-page-intro{gap:6%}.booking-teaser img{height:210px}.booking-page-intro h1{font-size:55px}}
@media(max-width:760px){.page-intro{padding-block:42px 36px}.page-intro h1{font-size:clamp(45px,9vw,64px)}.page-intro .page-lead{font-size:14px;margin-top:21px}.section-jumps{gap:16px;flex-wrap:wrap;font-size:11px;margin-top:24px;padding-top:19px}.feature-story,.feature-story.reversed{display:flex;flex-direction:column;gap:30px;padding-block:25px}.feature-story.reversed .feature-image{order:0}.feature-image{width:100%}.feature-image img{height:330px}.feature-copy h2{font-size:38px}.feature-copy>p:not(.eyebrow){font-size:14px}.feature-list li{font-size:12px}.feature-copy .eyebrow{margin-bottom:16px}.room-strip{gap:12px;padding-block:15px 20px}.room-strip img{height:210px}.room-strip figcaption{font-size:10px}.comfort-section{padding-block:45px 55px}.comfort-section h2{font-size:39px}.comfort-grid{gap:26px 20px;margin-top:28px}.comfort-grid h3{font-size:13px}.comfort-grid .feature-list li{font-size:11px}.page-cta{display:block;padding:40px 7%}.page-cta h2{font-size:35px;margin-bottom:25px}.booking-page-intro{display:block}.booking-teaser{display:none}.booking-workspace{padding-top:0;padding-bottom:45px}.calendar-panel{padding:17px 14px}.calendar-months{display:block;min-height:270px}.calendar-month[data-second]{display:none}.month-title{font-size:22px;margin-bottom:18px}.day{font-size:13px;min-height:35px;max-height:50px}.weekdays{font-size:10px}.weekdays,.month-grid{gap:4px}.calendar-legend{font-size:9px;gap:11px}.calendar-guidance{font-size:12px}.calendar-footnote{font-size:10px}.calendar-heading h2{font-size:17px}.stay-options{gap:16px;grid-template-columns:1fr 1.9fr}.charge-option{gap:8px}.stay-options select{font-size:16px}.stay-card{display:block}.stay-card>img{height:180px;min-height:0}.stay-card-body{padding:25px}.stay-card h2{font-size:34px}.selected-date-summary strong{font-size:13px}.stay-card .button{font-size:13px}.stay-card .text-link{font-size:11px}.terms-section{padding-block:45px}.terms-section h2{font-size:35px}.terms-grid{display:block;margin-top:28px}.terms-grid>div{margin-bottom:25px}.terms-grid p{font-size:13px}.terms-grid h3{font-size:15px}}
.request-dialog{width:min(640px,94vw);max-height:90vh;padding:38px;border:0;background:var(--paper);color:var(--ink)}.request-dialog::backdrop{background:#152d20c4;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:10px;right:17px;font-size:28px;color:var(--ink)}.request-dialog h2{font-size:39px;margin:12px 0 20px}.request-intro{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:20px}.request-stay{font-size:12px;background:#eaece1;padding:15px;margin-bottom:25px;line-height:1.9}.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.request-dialog textarea{width:100%;min-height:90px;margin-top:8px;padding:12px;border:1px solid #7d887a;background:transparent;resize:vertical;font:inherit;font-size:13px}.terms-check{display:flex;align-items:center;gap:12px;margin-top:20px}.terms-check input{width:18px;min-height:18px;padding:0;accent-color:var(--forest);flex-shrink:0}.terms-check>span{margin:0;font-size:12px}.request-dialog .text-link{font-size:11px;margin-bottom:20px}.request-dialog .button{width:100%;margin-top:12px}.request-dialog .button:disabled{opacity:.5;transform:none}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#request-reference{font-size:14px;line-height:1.9}#request-success{padding:40px 0}.price-breakdown{border-top:1px solid var(--line);padding-top:14px;margin-top:15px;font-size:10px;color:var(--muted)}.price-breakdown>div{display:flex;justify-content:space-between;gap:15px;margin-bottom:7px}
@media(max-width:600px){.request-dialog{padding:30px 23px}.request-dialog h2{font-size:32px}.request-fields{display:block}.request-dialog input,.request-dialog textarea{font-size:16px}}
.day.checkout-only{background:#eef1e6;color:var(--ink);text-decoration:none}
