@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#faf9f6;--white:#fff;--ink:#22231f;--dim:#686960;--line:#e4e2da;--sage:#e9ebe4;--sand:#f0eee7;--olive:#646b53;--gold:#b2a485;--forest:#303c31;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.043em;line-height:1.17}h1 em,h2 em{font-weight:400;font-style:italic}h1{font-size:clamp(3rem,5.25vw,5.8rem)}h2{font-size:clamp(2.7rem,4.65vw,4.75rem)}:focus-visible{outline:3px solid #b38b48;outline-offset:4px}::selection{background:#d7d9c6;color:#202421}
.skip-link{position:fixed;left:18px;top:12px;z-index:9999;transform:translateY(-150%);background:var(--ink);color:white;padding:12px 20px;border-radius:12px}.skip-link:focus{transform:translateY(0)}
.site-header{height:94px;position:relative;z-index:20;padding:0 clamp(24px,5vw,84px);background:#fff;display:flex;justify-content:space-between;align-items:center;gap:28px;border-bottom:1px solid #eeeeea}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-symbol{font-family:Georgia,serif;font-size:42px;line-height:1;letter-spacing:-.18em;color:#303a31;font-style:italic}.brand-symbol span{color:#b4a280;font-size:30px}.brand-word{font-size:12px;font-weight:700;letter-spacing:.19em;line-height:1.3}.brand-word small{display:block;font-size:9px;font-weight:500;letter-spacing:.27em;color:#757972;margin-top:4px}.desktop-nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,31px);font-size:12px;font-weight:600}.desktop-nav a{white-space:nowrap;transition:color .2s}.desktop-nav a:hover{color:var(--olive)}.header-side{display:flex;align-items:center;gap:19px}.lang-switch{font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px}.lang-switch a{opacity:.5}.lang-switch a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:6px}.lang-switch span{color:#c5c4bb}.btn-pill{min-height:52px;border-radius:99px;padding:14px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;font-size:12px;letter-spacing:.008em;font-weight:700;line-height:1.25;transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap}.btn-pill:hover{transform:translateY(-2px)}.btn-black{background:var(--ink);color:#fff}.btn-black:hover{background:#46483d;box-shadow:0 6px 22px #1112}.btn-light{background:#fff;color:var(--ink)}.btn-light:hover{background:#edece4}.btn-pill .arrow{font-size:16px;font-weight:500;line-height:1}.header-book{min-height:43px;padding:10px 18px;gap:16px;font-size:11px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:700;font-size:11px;color:var(--olive);line-height:1.4}.text-link{font-size:13px;font-weight:700;display:inline-flex;gap:15px;align-items:center}.text-link span{font-size:18px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero{display:grid;grid-template-columns:minmax(0,49%) minmax(0,51%);background:#fff;min-height:min(780px,calc(100vh - 94px));max-height:920px}.hero-content{padding:clamp(34px,4.8vw,85px) clamp(25px,5vw,95px) clamp(46px,6vw,90px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-trust{display:flex;gap:12px;margin-bottom:clamp(26px,3.1vw,51px);width:100%}.trust-tile{border:1px solid var(--line);border-radius:14px;padding:11px 18px 10px;min-width:143px;display:flex;flex-direction:column;background:#fff}.trust-top{font-size:9px;font-weight:700;letter-spacing:.09em;color:#575b54;display:flex;align-items:center;gap:7px}.trust-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff5a60}.trust-dot.dot-gold{background:#175fbd}.trust-tile strong{font-family:var(--serif);font-size:25px;letter-spacing:-.055em;font-weight:500;line-height:1.35;margin-top:3px}.trust-tile strong span{font-family:var(--sans);font-size:12px;color:#888;letter-spacing:0}.trust-tile small{font-size:10px;color:#787b72;letter-spacing:.01em}.hero h1{max-width:640px;margin:15px 0 26px}.hero-intro{color:#575b54;font-size:clamp(14px,1.18vw,17px);max-width:515px;line-height:1.9}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:32px 0 42px}.hero-facts{display:flex;gap:16px 21px;flex-wrap:wrap;font-size:11px;font-weight:700;color:#72766b}.hero-facts span{position:relative}.hero-facts span+span:before{content:'·';position:absolute;left:-13px;color:#aaaca4}.hero-media{position:relative;min-height:620px;overflow:hidden;background:#e5e2db}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease}.hero-slide.is-current{opacity:1;visibility:visible;z-index:1}.hero-photo{height:100%;width:100%;object-fit:cover;object-position:center;filter:saturate(.92)}.hero-slide:after{content:'';position:absolute;bottom:0;left:0;right:0;height:22%;background:linear-gradient(transparent,rgba(0,0,0,.26))}.hero-slide figcaption{position:absolute;bottom:34px;left:40px;right:150px;z-index:3;color:#fff;display:flex;gap:16px;font-size:13px;justify-content:space-between;text-shadow:0 1px 10px #0008}.hero-slide figcaption span{opacity:.83}.carousel-controls{position:absolute;right:33px;bottom:28px;display:flex;gap:6px;z-index:5}.carousel-controls button{border:1px solid #fff8;border-radius:100%;color:#fff;width:43px;height:43px;background:#0004;backdrop-filter:blur(8px);font-size:20px;transition:background .2s}.carousel-controls button:hover{background:#0009}
.section-shell{width:min(1320px,calc(100% - 120px));margin:0 auto}.section-lead h2,.section-heading h2,.faq-heading h2,.location-copy h2{margin-top:14px;max-width:720px}.about{padding:125px 0 100px;display:grid;grid-template-columns:52% 1fr;column-gap:8%}.about-content>p{font-size:17px;line-height:2;color:#5f655c;max-width:585px}.about-details{border-top:1px solid var(--line);margin-top:39px}.about-details div{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 0;font-size:13px}.about-details span{color:#77796f}.about-details strong{font-size:13px;text-align:right;font-weight:600}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:38px}.section-heading>div{max-width:735px}.section-heading>p{max-width:340px;color:#696b64;font-size:15px;line-height:1.8}.gallery{padding:55px 0 130px}.photo-grid{display:grid;grid-template-columns:1.13fr .95fr .95fr;grid-template-rows:260px 260px;gap:14px}.photo-tile{position:relative;border:0;border-radius:17px;overflow:hidden;padding:0;background:#e3e0d6;min-width:0;isolation:isolate}.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.photo-tile:hover img{transform:scale(1.04)}.photo-tile-1{grid-row:span 2}.photo-tile-4{grid-row:span 1}.photo-open{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--ink);width:38px;height:38px;font-size:18px;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}.photo-tile:hover .photo-open,.photo-tile:focus-visible .photo-open{opacity:1;transform:translateY(0)}
.amenities{padding:0 0 140px}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.amenity{background:#f0f0eb;min-height:150px;border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;font-size:14px;font-weight:600}.amenity-ic{display:grid;place-items:center;background:#fff;width:46px;height:46px;border-radius:50%}.amenity-ic svg{width:25px;height:25px;stroke:#5a6655}.location-panel{background:#e9ece5;padding:0 5%;scroll-margin-top:0}.location-inner{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:auto;min-height:570px}.location-copy{padding:80px clamp(25px,5vw,94px) 80px clamp(0px,3.1vw,45px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.location-copy h2{margin:14px 0 26px}.location-copy>p:not(.eyebrow){font-size:16px;line-height:1.95;color:#5d675d;max-width:480px;margin-bottom:33px}.location-visual{display:flex;align-items:stretch;padding:40px 0 40px 35px}.place-art{background:#687766;position:relative;overflow:hidden;color:#fff;flex:1;min-height:475px;border-radius:18px;padding:37px;display:flex;flex-direction:column;justify-content:space-between}.place-art:before,.place-art:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;width:520px;height:520px;left:40%;top:-140px}.place-art:after{width:800px;height:800px;left:20%;top:-300px}.place-overline{font-size:11px;font-weight:700;letter-spacing:.17em}.place-monogram{font-family:Georgia,serif;font-size:clamp(8rem,19vw,17rem);letter-spacing:-.16em;line-height:1;text-align:center;z-index:1;color:#d4d9ce;font-style:italic}.place-monogram span{color:#c2c7aa}.place-art>div{display:flex;flex-direction:column;gap:6px;z-index:1}.place-small{letter-spacing:.16em;font-size:10px;font-weight:700}.place-art strong{font-family:var(--serif);font-weight:400;font-size:26px}.place-desc{font-size:13px;opacity:.85}
.booking-section{padding:125px 0 135px}.section-heading.centered{flex-direction:column;align-items:center;text-align:center;gap:18px}.section-heading.centered>div{max-width:830px}.section-heading.centered>p{max-width:610px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1010px;margin:48px auto 0}.booking-card{background:#fff;border:1px solid #ecebe7;border-radius:23px;padding:39px;display:flex;flex-direction:column;align-items:flex-start;min-height:360px}.platform-icon{width:55px;height:55px;border-radius:16px;display:grid;place-items:center;background:#ffe6e5;color:#ef565c;font-weight:800;font-size:28px;margin-bottom:27px}.platform-icon.booking-b{background:#e3edff;color:#166bd2}.booking-card-note{font-size:10px;letter-spacing:.18em;font-weight:700;color:#75786f}.booking-card h3,.booking-card h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3vw,40px);letter-spacing:-.04em;margin:5px 0 12px}.booking-card p{font-size:15px;line-height:1.85;color:#6f726a;max-width:365px;margin-bottom:28px}.booking-card .btn-pill{margin-top:auto}
.faq-section{padding:25px 0 150px;display:grid;grid-template-columns:.9fr 1.1fr;gap:8%}.faq-list{border-top:1px solid var(--line)}.faq-row{border-bottom:1px solid var(--line);padding:0}.faq-row summary{padding:24px 4px 24px 0;display:flex;align-items:center;justify-content:space-between;gap:22px;cursor:pointer;list-style:none;font-size:16px;font-weight:600}.faq-row summary::-webkit-details-marker{display:none}.faq-row summary svg{width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:1.4;flex:none;transition:transform .2s}.faq-row[open] summary svg{transform:rotate(45deg)}.faq-row p{padding:0 65px 24px 0;color:#686b64;max-width:600px;font-size:14px;line-height:1.9}.last-cta{background:var(--forest);color:white;text-align:center;padding:105px 20px 120px}.last-inner{max-width:800px;margin:auto}.last-cta .eyebrow{color:#c4cdba}.last-cta h2{margin:16px 0 20px}.last-cta p:not(.eyebrow){color:#d5dcd1;max-width:590px;margin:0 auto 30px;font-size:16px}.site-footer{background:#26332b;color:#fbfdfa;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;padding:65px max(5%,calc((100% - 1320px)/2)) 35px;border-top:1px solid #ffffff25}.footer-brand{display:block;font-size:20px;letter-spacing:.14em;font-weight:700}.footer-brand span{display:block;font-size:10px;letter-spacing:.24em;color:#bfcaba;margin-top:5px}.site-footer p,.footer-address{font-size:13px;line-height:1.9;color:#cad3c8;margin-top:15px}.site-footer nav{display:flex;flex-direction:column;gap:10px;font-size:13px}.site-footer nav a:hover{text-decoration:underline}.site-footer small{grid-column:1/-1;color:#acb6ad;border-top:1px solid #ffffff21;padding-top:28px;font-size:11px}.mobile-bar{display:none}.lightbox{position:fixed;inset:0;z-index:500;background:#171b18f2;display:none;align-items:center;justify-content:center;padding:20px}.lightbox[aria-hidden="false"]{display:flex}.lightbox-content{width:min(1200px,100%);height:min(800px,95vh);display:grid;grid-template-columns:55px 1fr 55px;align-items:center;position:relative}.lightbox figure{grid-column:2;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.lightbox figure img{max-height:74vh;max-width:100%;object-fit:contain}.lightbox figcaption{color:#fff;font-size:13px;margin-top:12px;text-align:center}.lightbox button{color:#fff;background:#fff2;border:1px solid #ffffff55;width:43px;height:43px;border-radius:100%;font-size:25px;display:grid;place-items:center}.lightbox-close{position:absolute;right:1px;top:0}.lightbox-prev{grid-column:1;grid-row:1}.lightbox-next{grid-column:3;grid-row:1}.booking-body{min-height:100vh}.booking-landing{padding:85px 30px 125px;min-height:calc(100vh - 94px - 240px)}.booking-landing-head{max-width:825px;text-align:center;margin:0 auto}.booking-landing-head h1{font-size:clamp(3rem,5vw,5rem);margin:18px 0 20px}.booking-landing-head>p:not(.eyebrow){font-size:16px;line-height:1.9;color:#6d716b;max-width:670px;margin:auto}.booking-landing .booking-grid{margin-top:58px}.booking-landing-foot{text-align:center;margin-top:46px}
@media(max-width:1140px){.desktop-nav{gap:13px;font-size:11px}.hero-content{padding:35px 35px}.hero-trust{margin-bottom:30px}.hero h1{font-size:clamp(2.85rem,5vw,4.4rem)}.section-shell{width:calc(100% - 76px)}.about{column-gap:5%}}
@media(max-width:900px){.site-header{height:78px;padding:0 25px}.desktop-nav{display:none}.hero{min-height:unset;grid-template-columns:1fr 1fr}.hero-content{padding:35px 26px}.hero-media{min-height:595px}.hero-trust{gap:7px}.trust-tile{min-width:unset;flex:1;padding:9px}.trust-tile strong{font-size:21px}.hero h1{font-size:clamp(2.6rem,5vw,4rem)}.hero-actions{gap:17px;margin:24px 0 28px}.about{padding:85px 0}.section-shell{width:calc(100% - 48px)}.photo-grid{grid-template-rows:210px 210px}.amenity{min-height:132px;padding:18px}.location-inner{min-height:490px}.location-copy{padding:40px 20px 40px 0}.location-visual{padding:30px 0 30px 15px}.place-art{padding:22px;min-height:405px}.booking-section{padding:100px 0}.faq-section{gap:6%;padding-bottom:110px}.site-footer{padding:60px 30px 30px}}
@media(max-width:700px){html{scroll-padding-top:80px}.site-header{height:76px;padding:0 21px}.brand-symbol{font-size:38px}.brand-word{font-size:11px}.brand-word small{font-size:8px}.header-side{gap:15px}.header-book{display:none}.hero{display:flex;flex-direction:column;max-height:none}.hero-content{padding:38px 25px 37px}.hero-trust{margin-bottom:25px}.trust-tile{max-width:160px}.hero h1{font-size:clamp(2.9rem,10.5vw,4.1rem);margin:13px 0 17px}.hero-intro{font-size:14px;line-height:1.8}.hero-actions{margin:22px 0 24px}.hero-facts{font-size:10px;gap:9px 18px}.hero-media{min-height:0;height:430px}.hero-slide figcaption{bottom:22px;left:24px;right:125px}.carousel-controls{bottom:15px;right:17px}.section-shell{width:calc(100% - 42px)}.about{grid-template-columns:1fr;gap:30px;padding:83px 0 73px}.about-content>p{font-size:15px;line-height:1.85}.section-heading{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:25px}.section-heading>p{max-width:100%;font-size:14px}.gallery{padding:24px 0 83px}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,170px);gap:9px}.photo-tile{border-radius:13px}.photo-tile-1{grid-row:span 2}.photo-tile-2{grid-row:span 2}.amenities{padding-bottom:85px}.amenity-grid{grid-template-columns:repeat(2,1fr);gap:9px}.amenity{min-height:125px;padding:17px;font-size:13px}.location-panel{padding:0 21px}.location-inner{grid-template-columns:1fr}.location-copy{padding:75px 0 30px}.location-copy>p:not(.eyebrow){font-size:14px}.location-visual{padding:10px 0 65px}.place-art{min-height:360px}.place-monogram{font-size:12rem}.booking-section{padding:90px 0}.booking-grid{grid-template-columns:1fr;gap:14px;margin-top:32px}.booking-card{min-height:310px;padding:30px}.faq-section{grid-template-columns:1fr;gap:28px;padding:15px 0 90px}.faq-row summary{font-size:14px;padding:20px 2px 20px 0}.faq-row p{padding:0 24px 20px 0}.last-cta{padding:80px 20px 95px}.site-footer{grid-template-columns:1fr 1fr;gap:25px;padding:48px 25px 95px}.site-footer>div:first-child{grid-column:1/-1}.site-footer small{margin-top:12px}.mobile-bar{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:9px;left:0;right:0;bottom:0;height:74px;background:#fff;padding:10px 16px calc(10px + env(safe-area-inset-bottom));z-index:30;border-top:1px solid #deded8;box-shadow:0 -4px 22px #0000000b}.mobile-bar>a:not(.btn-pill){font-size:11px;font-weight:700}.mobile-bar .btn-pill{padding:10px 13px;min-height:43px;font-size:11px;gap:10px}.mobile-bar .arrow{font-size:13px}.lightbox-content{grid-template-columns:35px 1fr 35px}.lightbox button{width:32px;height:32px;font-size:20px}.booking-landing{padding:70px 24px 80px}.booking-landing-head h1{font-size:clamp(2.8rem,10vw,4.5rem)}}
@media(max-width:370px){.mobile-bar>a:not(.btn-pill):nth-of-type(2){display:none}.hero-trust{gap:6px}.trust-tile{padding:7px}.hero h1{font-size:2.7rem}.section-shell{width:calc(100% - 36px)}.hero-media{height:360px}.photo-grid{grid-template-rows:repeat(4,145px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Maps are loaded only after an explicit click, avoiding third-party requests on page load. */
.map-panel{position:relative;flex:1;overflow:hidden;border-radius:18px;min-height:475px;background:#61745e;color:#fff;isolation:isolate}
.map-placeholder{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;min-height:475px;height:100%;padding:31px;background:radial-gradient(ellipse at 65% 33%,#9fb39b70,transparent 43%),linear-gradient(142deg,#536c58 0%,#6f806e 57%,#374d3c 100%)}
.map-placeholder:before{content:"";position:absolute;inset:12% -35%;pointer-events:none;opacity:.25;background:repeating-linear-gradient(17deg,transparent 0 85px,#fff 86px 87px,transparent 88px 175px),repeating-linear-gradient(94deg,transparent 0 110px,#fff 111px 112px,transparent 113px 200px)}
.map-placeholder-top,.map-placeholder-bottom,.map-preview-center{z-index:1;position:relative}
.map-placeholder-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.map-placeholder .place-small{opacity:.85}
.map-preview-center{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin:18px 0}
.map-illustration{display:flex;align-items:center;justify-content:center;background:#faf9f5;border:7px solid #faf9f533;box-shadow:0 10px 35px #1d352555;border-radius:50%;width:95px;height:95px;font-size:65px;line-height:1;color:#546a54}
.map-preview-center strong{font-family:var(--serif);font-weight:500;font-size:clamp(39px,5vw,65px);letter-spacing:-.04em;line-height:1.3}
.map-preview-center>span:last-child{letter-spacing:.12em;text-transform:uppercase;font-size:10px}
.map-placeholder-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.map-placeholder-bottom>p:not(.map-privacy){font-size:13px;line-height:1.5}
.map-placeholder-bottom .map-load{margin-top:7px;font-size:13px;white-space:normal;text-align:left}
.map-privacy{font-size:11px;line-height:1.4;color:#e4eee4;max-width:360px}
.map-panel iframe{width:100%;height:100%;position:absolute;inset:0;border:0;display:none;background:#e9ece5}
.map-panel.is-loaded iframe{display:block}
.map-panel.is-loaded .map-placeholder{display:none}
@media (max-width:900px){.map-panel,.map-placeholder{min-height:405px}}
@media (max-width:700px){.map-panel,.map-placeholder{min-height:390px}.map-placeholder{padding:24px}.map-placeholder-top{flex-direction:column;align-items:flex-start;gap:8px}.map-preview-center strong{font-size:47px}}
@media (prefers-reduced-motion:reduce){.map-panel *{scroll-behavior:auto}}


/* v4: focused gallery, interactive map invitation, booking-card refinement */
.amenity{gap:13px;justify-content:flex-start;min-height:168px}
.amenity-featured{background:#e7ede5;box-shadow:inset 0 0 0 1px #d8e0d2}
.amenity-copy{display:flex;flex-direction:column;gap:5px}
.amenity-copy strong{font-size:14px;font-weight:650;line-height:1.3}
.amenity-copy small{font-weight:400;font-size:12px;line-height:1.55;color:#627165}
.amenity-featured .amenity-copy strong{color:#263c31}
.map-preview-center{margin:12px 0;gap:12px}
.map-illustration{width:83px;height:83px;border-width:5px;box-shadow:0 10px 35px #1d352555}
.map-illustration svg{width:43px;height:43px}
.map-location-label{font-weight:700;font-size:11px;letter-spacing:.19em;color:#eaf1e4}
.map-preview-center strong{font-family:var(--serif);font-size:clamp(24px,3.5vw,42px);line-height:1.1;letter-spacing:-.03em}
.map-preview-center>span:not(.map-illustration):last-of-type{font-size:12px;letter-spacing:.06em;text-transform:none}
.map-load-primary{margin-top:12px;white-space:normal;text-align:center;min-height:48px}
.map-placeholder-bottom{gap:8px}
.booking-landing{padding-top:62px;padding-bottom:82px;min-height:0}
.booking-landing-head h1{margin:12px 0 16px}
.booking-landing .booking-grid{margin-top:34px;max-width:940px;gap:16px}
.booking-landing .booking-card{min-height:260px;padding:28px 32px;border-radius:18px}
.booking-landing .platform-icon{height:43px;width:43px;font-size:23px;border-radius:12px;margin-bottom:12px}
.booking-landing .booking-card h2{margin:4px 0 7px}
.booking-landing .booking-card p{margin:0 0 17px;line-height:1.65}
.booking-landing-foot{margin-top:26px}
@media(max-width:900px){.amenity{min-height:162px}.map-preview-center strong{font-size:30px}}
@media(max-width:700px){.amenity{min-height:157px;padding:15px}.amenity-copy strong{font-size:13px}.amenity-copy small{font-size:11px}.map-preview-center strong{font-size:clamp(22px,6vw,30px)}.map-illustration{height:72px;width:72px}.map-illustration svg{width:36px;height:36px}.map-placeholder{min-height:435px}.booking-landing{padding:45px 20px 70px}.booking-landing .booking-grid{margin-top:26px}.booking-landing .booking-card{min-height:245px;padding:24px}.booking-landing .booking-card h2{font-size:31px}.booking-landing-foot{margin-top:23px}}
/* Prevent long translated amenity labels from widening the 320 px grid. */
.amenity-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}
.amenity{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v5: independent photo orbit / grid views + opt-in map component */
[hidden]{display:none!important}
body.lightbox-open{overflow:hidden}
.gallery-view-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px}
.gallery-tools-title{font-size:11px;font-weight:750;letter-spacing:.17em;text-transform:uppercase;color:#696a60}
.gallery-view-buttons{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px;border-radius:999px;border:1px solid #dddcd4;background:#f0eee9;padding:5px}
.gallery-view-button{border:0;border-radius:999px;padding:10px 17px;background:transparent;color:#5b5d53;font-size:12px;font-weight:700;line-height:1.3}
.gallery-view-button.is-selected{background:#303c31;color:#fff;box-shadow:0 2px 10px #1d2f241d}
.gallery-view-button:focus-visible{outline-offset:3px}
.orbit-gallery{margin:0 0 8px;border-radius:18px;overflow:hidden;border:1px solid #e0ddd4;background:#f1eee7}
.orbit-stage{height:clamp(355px,39vw,565px);position:relative;overflow:hidden;perspective:1250px;perspective-origin:50% 51%;touch-action:pan-y;isolation:isolate;outline-offset:-5px;background:radial-gradient(ellipse at 52% 40%,#f9f7f2 2%,#eeece6 69%,#e6e5dd 100%)}
.orbit-stage:after{position:absolute;z-index:0;content:'';inset:auto 13% 15%;height:48px;border-radius:100%;background:#59685923;filter:blur(23px);pointer-events:none}
.orbit-grid-decoration{position:absolute;inset:11% 18% 14%;border:1px solid #a49e9029;border-radius:50%;pointer-events:none;transform:scaleX(1.17)}
.orbit-grid-decoration:after{content:'';position:absolute;inset:18%;border:1px dashed #aba39430;border-radius:50%}
.orbit-chip{position:absolute;top:25px;left:29px;color:#4d554b;z-index:3;font-size:12px;letter-spacing:.12em;font-weight:700;border:1px solid #c8c7be80;border-radius:999px;padding:8px 12px;background:#fffffff0}
.orbit-chip-sparkle{color:#a4997a}
.orbit-ring{position:absolute;inset:0;z-index:2;transform-style:preserve-3d;transition:transform .68s cubic-bezier(.25,.72,.2,1)}
.orbit-card{position:absolute;left:50%;top:50%;width:clamp(166px,19.8vw,255px);height:clamp(230px,26.5vw,350px);padding:0;border:0;border-radius:13px;background:#ddd6c9;box-shadow:0 18px 52px #192d2438;overflow:hidden;backface-visibility:hidden;transform-style:preserve-3d;cursor:pointer;transition:box-shadow .35s,filter .35s}
.orbit-card:not(.is-active){filter:saturate(.74) brightness(.94)}
.orbit-card.is-active{box-shadow:0 27px 60px #192d2445}
.orbit-card img{width:100%;height:100%;object-fit:cover;display:block}
.orbit-card-number{position:absolute;left:12px;bottom:12px;padding:6px 11px;background:#faf9f0ec;color:#323a32;border-radius:100px;font-size:12px;font-weight:800;line-height:1}
.orbit-controls{padding:14px 20px 10px;display:flex;align-items:center;justify-content:center;gap:18px}
.orbit-nav{background:#fff;border:1px solid #c9c9bd;border-radius:50%;width:46px;height:46px;font-size:24px;line-height:1;color:#27362f;display:grid;place-items:center}
.orbit-nav:hover{background:#e1e7df}
.orbit-status{min-width:210px;max-width:470px;text-align:center;font-size:12px;font-weight:600;color:#4a554c;line-height:1.5}
.orbit-help{text-align:center;padding:0 18px 18px;color:#6a6d62;font-size:11px;line-height:1.5}
.map-panel.is-loaded{border-radius:18px}
.map-toolbar{position:absolute;top:16px;right:16px;left:16px;z-index:4;display:flex;justify-content:flex-end;gap:8px;pointer-events:none}
.map-toolbar a,.map-toolbar button{pointer-events:auto;cursor:pointer;border:1px solid #dfded4;color:#24392a;background:#fffffff0;padding:12px 13px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.3;box-shadow:0 2px 16px #0002}
.map-toolbar a:hover,.map-toolbar button:hover{background:#f0f3ed}
@media(max-width:700px){
  .gallery-view-tools{flex-direction:column;align-items:flex-start;gap:11px}
  .gallery-view-buttons{max-width:100%}
  .gallery-view-button{font-size:11px;padding:9px 13px}
  .orbit-gallery{border-radius:13px}
  .orbit-stage{height:360px}
  .orbit-card{width:158px;height:223px;border-radius:11px}
  .orbit-status{min-width:130px;max-width:210px;font-size:11px}
  .orbit-controls{gap:12px;padding:13px 9px 8px}
  .orbit-nav{height:43px;width:43px;flex:0 0 43px}
  .orbit-chip{top:14px;left:15px}
  .map-toolbar{justify-content:center;left:8px;right:8px;top:12px;gap:6px}
  .map-toolbar a,.map-toolbar button{font-size:11px;padding:10px 11px}
}
@media(prefers-reduced-motion:reduce){.orbit-ring,.orbit-card{transition:none!important}}
