@font-face{font-family:Display;src:url('assets/display.woff') format('woff');font-weight:700;font-display:swap}@font-face{font-family:Maison;src:url('assets/serif.woff') format('woff');font-display:swap}@font-face{font-family:Maison;src:url('assets/serif-italic.woff') format('woff');font-style:italic;font-display:swap}
:root{--green:#263c32;--deep:#192c24;--cream:#f4f2e9;--lime:#e0ecad;--ink:#27362e;--line:#c8cbbd;--serif:Maison,Georgia,serif;--pad:7.2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.7 Arial,Helvetica,sans-serif}body.locked{overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button{border:0;background:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #819b46;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,h4,p,figure{margin:0}h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,68px);font-weight:400;line-height:1.05;letter-spacing:-1.8px}h2 em{font-weight:400}p+p{margin-top:20px}p{font-size:15px;line-height:1.8}::selection{background:var(--lime);color:var(--green)}.eyebrow,.section-kicker{font-size:10px;letter-spacing:1.6px;line-height:1.6;font-weight:500}.eyebrow{display:block;margin-bottom:25px}.section-pad{padding:100px var(--pad)}.section-kicker{display:flex;justify-content:space-between;gap:20px}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.header{height:90px;position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;z-index:20;color:white;padding:0 3.2vw;border-bottom:1px solid #ffffff45;transition:background .25s,color .25s,height .25s}.header.sticky{position:fixed;background:var(--cream);color:var(--green);height:76px;box-shadow:0 1px 0 #27362e22;animation:drop .25s ease}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:34px;height:44px;fill:none;stroke:currentColor;stroke-width:1.3}.brand>span{font:18px var(--serif);letter-spacing:.9px}.brand small{display:block;font:8px Arial;letter-spacing:2px;margin-top:7px}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:12px}.desktop-nav a,.desktop-nav button{padding:10px 0;border-bottom:1px solid transparent}.desktop-nav a:hover,.desktop-nav button:hover{border-color:currentColor}.header-actions{display:flex;align-items:center;gap:20px}.header-book{border:1px solid #ffffff99;padding:9px 18px;font-size:12px;display:flex;gap:25px;align-items:center}.sticky .header-book{border-color:var(--green)}.header-book:hover{background:var(--lime);color:var(--green);border-color:var(--lime)}.menu-toggle{display:none;width:28px;padding:4px 0}.menu-toggle span{display:block;height:1px;background:currentColor;margin:6px 0;transition:transform .2s}.mobile-menu{display:none}.hero{height:100svh;min-height:760px;max-height:1200px;position:relative;overflow:hidden;color:white;background:#48684f}.hero-image{position:absolute;inset:0;object-position:50% 63%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#071c234b 0%,transparent 45%,#102019aa 100%)}.hero-title{position:absolute;top:112px;left:3%;right:3%;text-align:center}.hero-title h1{font-family:Display,'Arial Narrow',sans-serif;font-size:17.3vw;letter-spacing:-.6vw;font-weight:700;line-height:.91}.hero-title p{font-size:13px;letter-spacing:5.6px;margin-top:3px}.hero-bottom{position:absolute;bottom:95px;left:var(--pad);right:var(--pad);display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.hero-bottom .eyebrow{font-size:9px;margin-bottom:16px;letter-spacing:2px}.hero-bottom p{font:clamp(34px,3.8vw,55px)/1.08 var(--serif);letter-spacing:-.8px}.hero-action{text-align:center;padding-bottom:4px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:19px 25px;font-size:12px;line-height:1.5;transition:background .2s,transform .2s}.button span{font-size:21px;line-height:1}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--lime);color:var(--deep)}.button-lime:hover{background:#edf5cc}.hero-note{display:block;font-size:10px;margin-top:14px;letter-spacing:.3px}.discover{position:absolute;bottom:25px;left:var(--pad);right:var(--pad);border-top:1px solid #ffffff55;display:flex;justify-content:space-between;padding-top:14px;font-size:9px;letter-spacing:2px}.discover span{font-size:22px;line-height:1}.intro{background:var(--green);color:var(--cream);padding-top:55px;padding-bottom:60px}.intro .section-kicker{color:#c8d1be}.intro-layout{display:grid;grid-template-columns:23% 1fr;align-items:center;padding:78px 0}.arch-mark{width:91px;height:128px;fill:none;stroke:#bfcda7;stroke-width:1.1;justify-self:center;opacity:.85}.intro h2{font-size:clamp(40px,4.7vw,70px)}.intro h2 em{color:#d8e4b9}.intro-copy{max-width:580px;color:#d6ded1;margin-top:27px;font-size:15px}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff30;padding-top:36px;gap:20px}.facts>div{display:flex;flex-direction:column;gap:3px}.facts strong{font:40px/1.2 var(--serif)}.facts strong small{font:18px var(--serif)}.facts span{font-size:11px;letter-spacing:.2px;color:#d3dbcc}.living{display:grid;grid-template-columns:55% 1fr;gap:8%;padding-top:120px;padding-bottom:120px;align-items:center}.living-pictures{position:relative;display:flex;align-items:flex-end;gap:18px;padding-bottom:22px}.photo{position:relative;display:block;padding:0;overflow:hidden;text-align:left;background:#d7d6c9;width:100%}.photo img{transition:transform .6s cubic-bezier(.2,.6,.2,1)}.photo:hover img{transform:scale(1.035)}.photo-plus{position:absolute;bottom:15px;right:15px;border:1px solid #ffffffaa;color:white;width:30px;height:30px;display:grid;place-items:center;opacity:0;transform:translateY(5px);transition:.2s;background:#21352e66}.photo:hover .photo-plus,.photo:focus-visible .photo-plus{opacity:1;transform:none}.portrait{width:63%;aspect-ratio:.69}.kitchen{width:37%;aspect-ratio:.65;margin-bottom:48px}.picture-caption{font-size:8px;letter-spacing:1.7px;position:absolute;bottom:0;left:0}.living-copy h2{margin-bottom:30px}.living-copy p{font-size:13px;line-height:1.85;color:#566154}.living-copy .eyebrow{font-size:9px;max-width:230px}.text-link{display:inline-flex;gap:40px;align-items:center;border-bottom:1px solid currentColor;padding:0 0 10px;font-size:12px;line-height:1.5}.text-link span{font-size:20px}.living-copy .text-link{margin-top:30px}.rooms{padding-top:80px;background:#eaece2}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:46px}.section-heading>p{max-width:305px;font-size:13px;color:#566154;margin-bottom:6px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room-photo{height:340px}.room-photo img{object-position:center 55%}.room-grid article:nth-child(2){padding-top:55px}.room-grid article:nth-child(3){padding-top:110px}.room-caption{display:flex;gap:14px;align-items:center;padding-top:16px}.room-caption>span{font-size:9px;opacity:.7}.room-caption h3{font:21px var(--serif)}.room-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:60px}.room-details summary{font-size:12px}.room-detail-content{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:10px 0 30px}.room-detail-content h4{font:23px var(--serif);margin-bottom:15px}.room-detail-content p{font-size:13px;color:#566154}.pool{display:grid;grid-template-columns:58% 42%;background:var(--green);color:var(--cream)}.pool-image{position:relative;min-height:700px}.pool-image>img{position:absolute;inset:0;object-position:45% 50%}.image-link{position:absolute;bottom:30px;left:30px;color:white;font-size:9px;letter-spacing:1.6px;border-bottom:1px solid white;padding-bottom:8px;background:#263c3277;padding:8px 12px;display:flex;gap:30px}.pool-copy{padding:80px 15% 70px 14%;align-self:center}.pool-copy h2{font-size:clamp(44px,5.7vw,84px);margin-bottom:30px}.pool-copy h2 em{color:#d8e4b9}.pool-copy p{font-size:13px;color:#d6ded1}.pool-copy .eyebrow{font-size:9px}.season{display:flex;gap:12px;align-items:center;margin-top:32px;padding-top:25px;border-top:1px solid #ffffff38;font-size:11px;line-height:1.6}.season-dot{width:8px;height:8px;border-radius:50%;background:var(--lime)}.season strong{font-weight:400;color:var(--lime)}.outside{display:grid;grid-template-columns:1fr 48%;align-items:center;gap:10%;padding-top:110px;padding-bottom:110px}.outside-text h2{font-size:clamp(35px,4vw,60px);margin-bottom:24px}.outside-text p{font-size:13px;max-width:330px}.outside-photo{aspect-ratio:1.05}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-top:30px}.amenities span{font-size:11px;border-top:1px solid var(--line);padding-top:10px}.history{background:#e2e5d6}.history-heading{text-align:center;margin-bottom:50px}.history-layout{display:grid;grid-template-columns:56% 1fr;gap:8%;align-items:center}.history-layout>.photo{aspect-ratio:1.35}.history-layout p{font-size:14px}.history-note{display:block;font-size:10px;line-height:1.7;margin-top:25px;padding-top:22px;border-top:1px solid #b8beac;color:#566154}.gallery-teaser .section-heading h2{font-size:clamp(36px,4vw,60px)}.mosaic{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:245px 245px;gap:16px}.mosaic-big{grid-row:span 2}.explore{background:var(--green);color:var(--cream);padding-top:48px;padding-bottom:55px}.explore .section-kicker{color:#bdcbb7}.explore-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:60px 0 55px}.explore-heading h2{font-size:clamp(44px,5.2vw,75px)}.explore-heading h2 em{color:#d8e4b9}.explore-heading p{max-width:330px;font-size:14px;color:#d3ddcf}.explore-list article{display:grid;grid-template-columns:40px 1fr 1.2fr 160px;align-items:center;gap:22px;border-top:1px solid #ffffff35;padding:29px 0}.explore-list article>span:first-child{font:18px var(--serif);color:#becbae}.explore-list h3{font:27px var(--serif);line-height:1.1}.explore-list p{font-size:12px;line-height:1.8;max-width:330px;color:#d3ddcf}.explore-tag{font-size:8px;letter-spacing:1px;text-align:right}.getting-here{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:35px;padding-top:35px;border-top:1px solid #ffffff35}.getting-here .eyebrow{margin-bottom:12px;font-size:9px}.getting-here p{font-size:12px;color:#d3ddcf}.getting-here strong{font-weight:400;color:white}.button-outline{border:1px solid #b8c4ab;color:var(--cream)}.button-outline:hover{background:#ffffff10}.practical{display:grid;grid-template-columns:42% 1fr;gap:8%;padding-top:110px;padding-bottom:110px}.practical h2{font-size:clamp(39px,4.1vw,62px)}.practical>div>p{margin-top:26px;font-size:13px;color:#566154}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:25px;align-items:center;list-style:none;cursor:pointer;padding:20px 0;font-size:13px;line-height:1.5}summary::-webkit-details-marker{display:none}summary>span{font-size:20px;line-height:1;transition:transform .2s;font-weight:400}details[open]>summary>span{transform:rotate(45deg)}.faq details p{padding:0 27px 24px 0;font-size:13px;color:#566154;line-height:1.8}.booking{position:relative;min-height:650px;display:grid;place-items:center;color:white;padding:90px 25px;text-align:center}.booking>img{position:absolute;inset:0;object-position:50% 60%}.booking-shade{position:absolute;inset:0;background:#14261eb3}.booking-content{z-index:1;position:relative}.booking .eyebrow{font-size:9px;letter-spacing:2px}.booking h2{font-size:clamp(60px,7.5vw,110px);line-height:.98}.booking p{margin:25px 0 30px;font-size:14px}.booking-question{display:block;font-size:11px;margin-top:23px;text-decoration:underline;text-underline-offset:5px}.booking-note{display:block;margin-top:32px;font-size:9px;color:#d6ded1}.footer{padding:60px var(--pad) 25px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;align-items:start;padding-bottom:45px}.footer-brand{font:55px/.95 Display;letter-spacing:-1px}.footer-brand small{display:block;font:9px Arial;letter-spacing:2px;margin-top:16px}.footer-top p{font:23px/1.25 var(--serif)}.footer-top div>span{font-size:9px;letter-spacing:.7px;display:block;margin-top:15px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:11px}.footer-links button{padding:0}.footer-links a:hover,.footer-links button:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;font-size:9px;color:#66705e}.mobile-book{display:none}dialog{border:0;padding:0;margin:0;color:var(--ink)}dialog::backdrop{background:#101e16bf;backdrop-filter:blur(5px)}.gallery-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;background:var(--cream);padding:45px 5vw;overscroll-behavior:contain}.gallery-header{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.gallery-header h2{font-size:46px}.gallery-header .eyebrow{margin-bottom:16px}.close{border:1px solid currentColor;border-radius:50%;width:42px;height:42px;padding:0;display:grid;place-items:center;font-size:27px;line-height:1;flex-shrink:0}.close:hover{background:#80808020}.gallery-filters{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.gallery-filters button{border:1px solid #aeb5a5;padding:8px 18px;font-size:12px}.gallery-filters button.active{background:var(--green);color:var(--cream);border-color:var(--green)}.gallery-status{font-size:11px;margin:20px 0;color:#5d6858}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px 18px;padding-bottom:35px}.gallery-item{padding:0;text-align:left}.gallery-item img{height:250px;transition:filter .2s}.gallery-item:hover img{filter:brightness(.9)}.gallery-item span{display:block;font-size:11px;line-height:1.5;padding-top:10px}.lightbox{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;background:#122019fa;color:white;overflow:hidden}.lightbox-top{position:absolute;top:22px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;z-index:2;font-size:11px;letter-spacing:1px}.lightbox figure{height:100%;padding:80px 90px 35px;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox figure img{height:calc(100% - 44px);object-fit:contain;max-width:1400px;min-height:0}.lightbox figcaption{font-size:12px;text-align:center;padding-top:20px;line-height:1.5;min-height:44px}.photo-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:28px;width:45px;height:60px;z-index:2}.photo-nav:hover{background:#ffffff15}.prev{left:20px}.next{right:20px}@keyframes drop{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@media(min-width:1600px){:root{--pad:max(7.2vw,calc((100vw - 1450px)/2))}.hero-title h1{font-size:min(17.3vw,277px)}.hero-title{top:125px}.hero-title p{font-size:17px}.living-copy p{font-size:15px}.room-photo{height:430px}}
@media(max-width:1050px){.desktop-nav{gap:18px}.header{padding:0 25px}.brand>span{font-size:16px}.brand small{font-size:7px}.hero{min-height:700px}.hero-title{top:130px}.hero-bottom{bottom:100px}.hero-title p{font-size:10px;letter-spacing:4px}.living{gap:6%;grid-template-columns:52% 1fr}.living-copy h2{font-size:44px}.living-copy p{font-size:12px}.pool-copy{padding:65px 12%}.pool-image{min-height:650px}.room-photo{height:280px}.room-caption h3{font-size:19px}.explore-list article{grid-template-columns:30px 1fr 1.1fr;gap:20px}.explore-tag{display:none}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item img{height:240px}.mosaic{grid-template-rows:200px 200px}.footer-brand{font-size:43px}}
@media(max-width:760px){:root{--pad:6vw}.section-pad{padding:70px var(--pad)}.header{height:78px;padding:0 6vw}.header.sticky{height:68px}.brand svg{height:37px;width:28px}.brand>span{font-size:15px}.brand small{font-size:6.5px;letter-spacing:1.45px}.desktop-nav{display:none}.header-book{font-size:10px;padding:7px 10px;gap:13px}.header-actions{gap:18px}.menu-toggle{display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header.menu-open{position:fixed;background:var(--green);color:white}.mobile-menu:not([hidden]){display:flex;position:fixed;inset:0;z-index:19;background:var(--green);color:var(--cream);padding:120px 8vw 50px;flex-direction:column;align-items:flex-start;gap:18px}.mobile-menu a,.mobile-menu button{font:36px var(--serif);padding:0}.hero{min-height:680px;height:100svh;max-height:950px}.hero-image{object-position:56% 60%}.hero-shade{background:linear-gradient(180deg,#18302b66 0%,#14291d05 42%,#14291dcc 100%)}.hero-title{top:116px;left:4%;right:4%}.hero-title h1{font-size:17.3vw;letter-spacing:-.7vw}.hero-title p{font-size:8px;letter-spacing:2.6px;margin-top:9px}.hero-bottom{bottom:100px;display:block}.hero-bottom .eyebrow{font-size:8px;letter-spacing:1.3px}.hero-bottom p{font-size:40px}.hero-action{text-align:left;margin-top:27px}.hero-action .button{font-size:12px;padding:16px 20px;gap:45px}.hero-note{font-size:9px;margin-top:12px}.discover{bottom:23px;padding-top:15px;font-size:8px}.intro{padding-top:30px;padding-bottom:35px}.section-kicker{font-size:8px;letter-spacing:1px}.intro-layout{grid-template-columns:1fr;padding:50px 0 40px}.arch-mark{display:none}.intro h2{font-size:39px;letter-spacing:-1.5px}.intro-copy{font-size:13px;line-height:1.85;margin-top:23px}.facts{grid-template-columns:1fr 1fr;gap:27px 15px;padding-top:27px}.facts strong{font-size:33px}.facts strong small{font-size:15px}.facts span{font-size:10px}.living{display:flex;flex-direction:column;gap:40px;padding-top:70px;padding-bottom:70px}.living-pictures{width:100%;gap:13px;order:2}.living-copy{order:1;width:100%}.living-copy .eyebrow{max-width:none;font-size:8px}.living-copy h2{font-size:46px;margin-bottom:25px}.living-copy p{font-size:13px}.living-copy .text-link{margin-top:23px}.living-pictures .portrait{aspect-ratio:.72}.kitchen{margin-bottom:30px}.picture-caption{font-size:7px}.photo-plus{opacity:1;transform:none;width:27px;height:27px;bottom:10px;right:10px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:40px}.section-heading>p{max-width:100%;margin-top:24px;font-size:13px}.eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:20px}.room-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;padding-bottom:17px;margin-right:calc(-1 * var(--pad));padding-right:var(--pad);scrollbar-width:thin}.room-grid article{flex:0 0 80%;scroll-snap-align:start}.room-grid article:nth-child(2),.room-grid article:nth-child(3){padding-top:0}.room-photo{height:340px}.room-caption h3{font-size:22px}.room-details{margin-top:25px}.room-details summary{font-size:12px}.room-detail-content{grid-template-columns:1fr;gap:25px;padding-top:10px}.pool{display:flex;flex-direction:column}.pool-image{min-height:0;height:430px;order:2}.pool-copy{padding:65px var(--pad);order:1}.pool-copy h2{font-size:54px;line-height:1.02}.pool-copy h2 br:nth-of-type(2){display:none}.pool-copy p{max-width:500px;font-size:13px}.pool-copy h2 em:before{content:' '}.season{margin-top:27px}.outside{grid-template-columns:1fr;gap:35px}.outside-text h2{font-size:41px}.outside-text p{max-width:100%}.outside-photo{aspect-ratio:1.05}.amenities{gap:15px;font-size:11px}.history-heading{text-align:left;margin-bottom:30px}.history-heading h2{font-size:38px}.history-layout{display:flex;flex-direction:column;gap:30px}.history-layout p{font-size:13px}.history-layout>.photo{aspect-ratio:1.25}.history-note{font-size:10px}.gallery-teaser .section-heading h2{font-size:38px}.gallery-teaser .text-link{margin-top:25px}.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px 180px;gap:10px}.mosaic-big{grid-column:span 2;grid-row:span 1}.mosaic-big img{object-position:center 40%}.explore{padding-top:32px;padding-bottom:45px}.explore .section-kicker>span:last-child{display:none}.explore-heading{display:block;margin:40px 0}.explore-heading h2{font-size:48px}.explore-heading p{font-size:13px;max-width:100%;margin-top:25px}.explore-list article{grid-template-columns:25px 1fr;gap:10px 18px;padding:24px 0}.explore-list article p{grid-column:2;max-width:100%}.explore-list article h3{font-size:26px}.getting-here{display:block;margin-top:15px}.getting-here .button{margin-top:25px;font-size:11px;padding:15px 20px}.practical{grid-template-columns:1fr;gap:35px}.practical h2{font-size:42px}.practical>div>p{font-size:13px}.faq summary{font-size:12px;padding:19px 0}.faq details p{font-size:12px}.booking{min-height:630px;padding:70px var(--pad)}.booking h2{font-size:65px}.booking .button{font-size:11px;gap:20px;padding:19px 20px}.booking-note{font-size:8px;max-width:290px;margin:28px auto 0}.booking-question{font-size:10px}.booking>img{object-position:55% center}.footer{padding:45px var(--pad) 90px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 20px;padding-bottom:35px}.footer-brand{font-size:53px;grid-column:span 2}.footer-top p{font-size:21px}.footer-top div>span{font-size:8px}.footer-links{font-size:10px}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:14px}.footer-bottom>span:nth-child(2){display:none}.mobile-book{display:flex;position:fixed;bottom:12px;left:6vw;right:6vw;z-index:15;align-items:center;justify-content:space-between;background:var(--lime);color:var(--deep);padding:14px 20px;font-size:12px;box-shadow:0 3px 20px #101d2533;transform:translateY(100px);transition:transform .25s}.mobile-book.shown{transform:translateY(0)}.mobile-book span{font-size:19px}.gallery-dialog{padding:26px 5vw}.gallery-header h2{font-size:31px;letter-spacing:-.8px}.gallery-header .eyebrow{font-size:7px}.gallery-header .close{width:34px;height:34px;font-size:24px}.gallery-filters{gap:8px;margin-top:25px}.gallery-filters button{font-size:10px;padding:7px 12px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.gallery-item img{height:210px}.gallery-item span{font-size:10px}.lightbox figure{padding:75px 12px 55px}.lightbox figure img{height:calc(100% - 70px)}.lightbox-top{left:20px;right:20px;top:20px}.lightbox figcaption{padding:25px 20px 0;font-size:11px;max-width:300px}.photo-nav{top:auto;bottom:20px;transform:none;width:44px;height:44px;background:#ffffff12;border:1px solid #ffffff77;font-size:22px}.prev{left:20px}.next{right:20px}}
@media(max-width:380px){.header-book{display:none}.hero-bottom p{font-size:36px}.intro h2{font-size:35px}.room-photo{height:290px}.gallery-item img{height:175px}.brand>span{font-size:14px}.hero{min-height:650px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.photo:hover img{transform:none}}

/* Composition des chambres et contact direct */
.room-composition{margin-top:55px;border-top:1px solid var(--line);padding-top:32px}
.room-composition-heading h3{font:32px/1.2 var(--serif)}
.room-composition-heading>p{font-size:12px;color:#566154;margin-top:12px}
.room-list{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:45px}
.room-list li{display:flex;gap:18px;border-top:1px solid var(--line);padding:23px 0}
.room-number{font:22px/1.2 var(--serif);color:#617058;flex:0 0 28px}
.room-list h4{font:23px/1.2 var(--serif);margin:0 0 10px}
.room-list p{font-size:12px;line-height:1.8;color:#566154}
.room-comfort{border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:#566154}
.booking-whatsapp{display:block;font-size:12px;margin-top:16px;color:#e5e9de}
.booking-contacts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:25px}
.booking-contacts a{font-size:14px;text-decoration:underline;text-underline-offset:5px}
.booking-terms{margin:30px auto 0;border-top:1px solid #ffffff50;padding-top:22px;max-width:620px}
.booking .booking-terms p{font-size:12px;line-height:1.8;color:#e5e9de;margin:0 0 14px}
.booking-terms strong{font-weight:600;color:#fff}
.faq a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.footer-links a{overflow-wrap:anywhere;max-width:100%}
@media(max-width:760px){.room-composition{margin-top:30px;padding-top:25px}.room-composition-heading h3{font-size:28px}.room-list{grid-template-columns:1fr;margin-top:25px}.room-list li{padding:20px 0;gap:14px}.room-list h4{font-size:23px}.room-list p{font-size:13px}.room-comfort{font-size:11px;line-height:1.8}.booking{padding:70px var(--pad);min-height:770px}.booking-whatsapp{font-size:11px}.booking-contacts{flex-direction:column;gap:15px}.booking-contacts a{font-size:14px}.booking .booking-terms p{font-size:11px}.booking .button{min-width:210px;justify-content:space-between}}
/* Reservation directe et galerie par espace. */
.room-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.room-pair article:nth-child(2){padding-top:45px}.room-pair .room-photo{height:430px}.room-pair .room-caption{padding-top:20px}.room-gallery-link{margin-top:15px;font-size:11px;gap:25px}.room-number{font:19px var(--serif);opacity:.6;padding-top:4px;flex:0 0 25px}.stay-conditions{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid #ffffff55;border-bottom:1px solid #ffffff55;padding:22px 0;margin:0 auto 28px;max-width:570px;text-align:left}.stay-conditions div{display:flex;flex-direction:column;gap:6px}.stay-conditions span{font-size:8px;letter-spacing:1.3px;color:#e0e5d9}.stay-conditions strong{font:24px/1.2 var(--serif)}.stay-conditions small{font-size:10px;color:#e0e5d9;line-height:1.5}.reserve-whatsapp{min-width:230px}.whatsapp-help{display:block;font-size:10px;line-height:1.7;color:#e4e8dc;margin-top:15px}.booking-contacts{display:flex;justify-content:center;gap:55px;margin-top:32px}.booking-contacts a{display:flex;flex-direction:column;gap:6px}.booking-contacts small{font-size:8px;letter-spacing:1.1px;color:#e0e5d9}.booking-contacts span{font-size:13px;text-decoration:underline;text-underline-offset:4px}.gallery-group{scroll-margin-top:25px}.gallery-group h3{font:30px/1.2 var(--serif);border-top:1px solid var(--line);padding-top:24px;margin:10px 0 22px}.gallery-group+.gallery-group{margin-top:20px}.gallery-group .gallery-grid{padding-bottom:20px}
@media(max-width:760px){.room-pair{display:grid;grid-template-columns:1fr;overflow:visible;margin-right:0;padding-right:0;padding-bottom:0;gap:38px}.room-pair article:nth-child(2){padding-top:0}.room-pair .room-photo{height:auto;aspect-ratio:.95}.room-pair article:first-child .room-photo{aspect-ratio:.8}.room-pair .room-caption h3{font-size:24px}.room-gallery-link{font-size:10px;gap:20px}.room-number{font-size:17px;flex-basis:22px}.stay-conditions{gap:20px;padding:20px 0;margin-bottom:25px}.stay-conditions strong{font-size:21px}.stay-conditions span{font-size:7px;letter-spacing:.8px}.stay-conditions small{font-size:9px}.booking-contacts{flex-direction:column;gap:20px;margin-top:28px}.booking-contacts span{font-size:13px}.booking-content{width:100%;max-width:570px}.booking .reserve-whatsapp{min-width:210px}.booking .whatsapp-help{font-size:9px}.gallery-group h3{font-size:25px}.gallery-group .gallery-grid{padding-bottom:12px}}
