@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1DCA-1DFF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{color-scheme:light;--paper:#f7f6ef;--paper2:#eeefe5;--white:#fffef9;--forest:#18473d;--deep:#10372f;--ink:#183a32;--body:#53645d;--muted:#718078;--line:#d9ded5;--lime:#d7ef8b;--coral:#ed805b;--gold:#d3a43f;--maxw:1320px;--gutter:clamp(19px,5vw,76px);--sans:'DM Sans','Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:94px;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}figure,h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}::selection{background:var(--lime);color:var(--forest)}.wrap{width:min(100%,var(--maxw));margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(78px,9vw,132px)}.scroll-progress{position:fixed;z-index:1700;inset:0 0 auto;height:3px;pointer-events:none}.scroll-progress span{display:block;width:0;height:100%;background:var(--coral);transition:width .12s linear}.eyebrow{display:flex;align-items:center;gap:10px;color:#9a6b2d;font-size:.68rem;font-weight:700;letter-spacing:.15em;line-height:1.4;text-transform:uppercase}.live-dot{width:8px;height:8px;border-radius:50%;background:#6b9f68;box-shadow:0 0 0 4px #6b9f6822}.section-intro h2,.location-copy h2,.gallery-heading h2,.price-layout h2{margin-top:14px;font-size:clamp(2.65rem,5.7vw,5.2rem);font-weight:600;line-height:.99;letter-spacing:-.055em}.section-intro h2 strong,.location-copy h2 strong,.gallery-heading h2 strong,.price-layout h2 strong{color:#4f826c;font-weight:500}.section-intro>p:last-child{max-width:520px;margin-top:19px;color:var(--body);font-size:1rem;line-height:1.75}
/* Clear, bright hospitality identity */
#nav{position:sticky;z-index:1000;top:0;border-bottom:1px solid #d9ded58a;background:#f7f6efef;backdrop-filter:blur(18px);transition:box-shadow .25s}#nav.solid{box-shadow:0 8px 28px #1d38290c}.nav-in{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;color:var(--forest)}.brand img{width:38px;height:38px;object-fit:contain}.brand>span{display:grid;line-height:1}.brand b{font-size:1rem;letter-spacing:.18em}.brand small{margin-top:5px;font-size:.5rem;font-weight:600;letter-spacing:.25em}.nav-links{display:flex;align-items:center;gap:clamp(16px,2.7vw,36px)}.nav-links a{position:relative;padding-block:9px;color:#53645d;font-size:.76rem;font-weight:600}.nav-links a::after{position:absolute;right:0;bottom:2px;left:0;height:2px;border-radius:5px;background:var(--coral);content:'';transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav-links a:hover,.nav-links a.active{color:var(--forest)}.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:9px}.lang-toggle{min-width:43px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:var(--white);color:var(--forest);font-size:.68rem;font-weight:700;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:51px;padding:0 20px;border:1px solid var(--forest);border-radius:14px;background:var(--forest);color:#fffef9;font-size:.76rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{background:#245c4d;box-shadow:0 12px 26px #18473d25;transform:translateY(-2px)}.nav-cta{min-height:43px;padding-inline:18px!important;font-size:.7rem!important}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--forest);font-size:.78rem;font-weight:700}.text-link span,.btn span{transition:transform .2s}.text-link:hover span{transform:translateY(3px)}.btn:hover span{transform:translate(2px,-2px)}.burger{display:none;width:43px;height:43px;border:1px solid var(--line);border-radius:13px;background:var(--white);cursor:pointer}.burger span{display:block;width:17px;height:2px;margin:5px auto;border-radius:4px;background:var(--forest);transition:transform .2s}.burger.x span:first-child{transform:translateY(3.5px) rotate(45deg)}.burger.x span:last-child{transform:translateY(-3.5px) rotate(-45deg)}#mobile{position:fixed;z-index:1050;top:78px;right:0;left:0;display:grid;gap:2px;padding:10px var(--gutter) 22px;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:0 16px 36px #142d2518;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.22s}#mobile.open{opacity:1;visibility:visible;transform:none}#mobile>a{padding:13px 4px;border-bottom:1px solid var(--line);font-weight:600}#mobile .lang-toggle{margin-top:12px}.scrim{position:fixed;z-index:990;inset:78px 0 0;background:#15362c66;opacity:0;visibility:hidden;transition:.2s}.scrim.show{opacity:1;visibility:visible}
/* The view leads the story */
.hero{position:relative;overflow:hidden;padding:clamp(30px,5vw,65px) 0 0;background:radial-gradient(ellipse at 9% 3%,#f0e7c9,transparent 34%),var(--paper)}.hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(34px,6vw,85px)}.hero-copy{position:relative;z-index:2;padding:24px 0 33px}.hero h1{max-width:610px;margin:23px 0 19px;font-size:clamp(3.2rem,4.65vw,5.8rem);font-weight:600;line-height:.91;letter-spacing:-.075em}.hero h1 strong{color:#4c8a70;font-weight:500}.hero-lead{max-width:495px;color:var(--body);font-size:1rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:27px}.hero-price{display:flex;align-items:baseline;gap:10px;margin-top:31px}.hero-price strong{font-size:1.63rem;font-weight:700;letter-spacing:-.04em}.hero-price span,.hero-note{color:var(--muted);font-size:.75rem}.hero-note{margin-top:3px}.hero-photo{position:relative;isolation:isolate;min-width:0}.hero-photo img{width:100%;height:clamp(445px,50vw,675px);border-radius:28px 130px 28px 28px;object-fit:cover;box-shadow:0 24px 60px #264b371c}.hero-photo::after{position:absolute;z-index:0;inset:45% 0 0;border-radius:0 0 28px 28px;background:linear-gradient(0deg,#102d2578,transparent);content:'';pointer-events:none}.hero-photo figcaption{position:absolute;z-index:1;right:24px;bottom:21px;left:24px;display:flex;justify-content:space-between;gap:14px;color:white;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-shadow:0 1px 8px #0008}.hero-photo-stamp{position:absolute;z-index:2;top:20px;left:-20px;display:grid;gap:7px;min-width:112px;padding:14px 16px;border:1px solid #ffffffb0;border-radius:17px;background:#fffef0ed;box-shadow:0 12px 30px #183a3214;color:var(--forest);transform:rotate(-4deg)}.hero-photo-stamp span{font-size:.55rem;font-weight:700;letter-spacing:.14em}.hero-photo-stamp strong{font-size:.75rem;line-height:1.2}.fact-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:39px;border-top:1px solid var(--line)}.fact-row>div{display:flex;align-items:baseline;justify-content:center;gap:13px;padding:21px 10px 24px}.fact-row>div+div{border-left:1px solid var(--line)}.fact-row strong{font-size:1.08rem}.fact-row span{color:var(--muted);font-size:.74rem}
/* Rooms */
.apartment-section{background:var(--white)}.apartment-section .section-intro{display:grid;grid-template-columns:.8fr 1.2fr;align-items:end;column-gap:35px;margin-bottom:33px}.apartment-section .section-intro .eyebrow{grid-column:1/-1}.apartment-section .section-intro h2{margin:11px 0 0}.apartment-section .section-intro>p:last-child{max-width:470px;margin:0 0 5px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.room{position:relative;overflow:hidden;min-width:0;border-radius:21px;background:var(--paper2)}.room img{width:100%;height:clamp(270px,34vw,430px);object-fit:cover;transition:transform .6s}.room:hover img{transform:scale(1.035)}.room figcaption{position:absolute;right:12px;bottom:12px;left:12px;display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #ffffff90;border-radius:14px;background:#fffef0e8;color:var(--forest);backdrop-filter:blur(12px)}.room figcaption span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--lime);font-size:.59rem;font-weight:700}.room figcaption strong{font-size:.87rem}
/* Lush amenity panel, bright rate card */
.services-section{overflow:hidden;background:var(--forest);color:#fffef9}.services-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:65px;align-items:start}.services-section .eyebrow{color:var(--lime)}.services-section h2{margin-top:15px;font-size:clamp(2.8rem,5.4vw,5rem);font-weight:600;line-height:.98;letter-spacing:-.06em}.services-section h2 strong{color:var(--lime);font-weight:500}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0;padding:0;list-style:none}.amenities li{display:flex;align-items:flex-start;gap:13px;min-height:88px;padding:18px 15px;border:1px solid #ffffff26;border-radius:16px;background:#ffffff0c;color:#f7f7ed;font-size:.85rem;font-weight:600;line-height:1.45;transition:.2s}.amenities li:hover{border-color:#d7ef8b80;background:#ffffff14;transform:translateY(-2px)}.amenities li span{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:9px;background:var(--lime);color:var(--forest);font-size:.59rem;font-weight:700}.price-section{position:relative;overflow:hidden;padding:clamp(74px,9vw,122px) 0;background:linear-gradient(115deg,#f0e8d1,#f4ead2 52%,#f7d9c8)}.price-section::after{position:absolute;right:-80px;bottom:-180px;width:500px;height:500px;border:1px solid #e1886260;border-radius:50%;box-shadow:0 0 0 54px #fff2,0 0 0 112px #fff2;content:''}.price-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:65px}.price-layout .eyebrow{color:#a96642}.price-layout h2 strong{color:#b86647}.price-detail{max-width:530px;padding:29px;border:1px solid #fff9;border-radius:23px;background:#fffef1b8;box-shadow:0 15px 44px #94593910;backdrop-filter:blur(12px)}.price-number{display:flex;align-items:baseline;gap:11px}.price-number strong{font-size:clamp(2.5rem,5vw,4.2rem);letter-spacing:-.07em}.price-number span{color:var(--muted);font-size:.8rem}.price-detail p{max-width:390px;margin:10px 0 20px;color:var(--body);font-size:.86rem;line-height:1.72}.btn-light{border-color:#d39d49;background:#f0c562;color:#173b30}.btn-light:hover{background:#f7d477}
/* Gallery with eight distinct original photos */
.gallery-section{overflow:hidden;background:var(--paper)}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.gallery-heading>p{max-width:335px;margin-bottom:6px;color:var(--body);font-size:.88rem;line-height:1.75}.gallery-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:19px}.gallery-filter button{min-height:39px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--body);font-size:.68rem;font-weight:600;cursor:pointer;transition:.2s}.gallery-filter button:hover,.gallery-filter button.on{border-color:var(--forest);background:var(--forest);color:white}.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:145px;gap:11px}.gal figure{position:relative;overflow:hidden;min-width:0;border-radius:16px;background:var(--paper2);cursor:zoom-in}.gal figure:nth-child(1){grid-column:span 2;grid-row:span 2}.gal figure:nth-child(3){grid-row:span 2}.gal figure:nth-child(6),.gal figure:nth-child(8){grid-column:span 2}.gal figure img{width:100%;height:100%;object-fit:cover;transition:transform .55s,filter .4s}.gal figure:hover img{transform:scale(1.04);filter:saturate(1.08)}.gal figure::after{position:absolute;inset:40% 0 0;background:linear-gradient(0deg,#17362fa6,transparent);content:'';pointer-events:none}.gal figcaption{position:absolute;z-index:1;right:12px;bottom:11px;left:13px;display:flex;align-items:center;gap:8px;color:#fff;font-size:.71rem;font-weight:600}.gal figcaption span{color:var(--lime);font-size:.56rem;font-weight:700}.gal figcaption b{margin-left:auto;color:var(--lime)}.gal figure.hidden{display:none}
/* Neighbourhood and always-visible local map preview */
.location-section{overflow:hidden;background:var(--deep);color:#fffef9}.location-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:end}.location-section .eyebrow{color:var(--lime)}.location-copy h2{color:#fffef7}.location-copy h2 strong{color:#c9e985}.location-copy>p:not(.eyebrow){margin-top:14px;color:#c7d4c8;font-size:.81rem}.location-copy .text-link{margin-top:17px;color:var(--lime)}.nearby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.nearby-card{display:grid;align-content:start;min-height:139px;padding:15px 15px;border:1px solid #ffffff2b;border-radius:16px;background:#ffffff0c}.nearby-icon{display:grid;place-items:center;width:30px;height:30px;margin-bottom:12px;border-radius:10px;background:var(--lime);color:var(--forest);font-size:.87rem;font-weight:700}.nearby-card strong{font-size:1.24rem;line-height:1.1;letter-spacing:-.04em}.nearby-card>span:last-child{margin-top:5px;color:#b9c9be;font-size:.64rem}.location-details{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;border-block:1px solid #ffffff2c}.location-details>div{display:flex;align-items:flex-start;gap:12px;padding:20px 15px}.location-details>div+div{border-left:1px solid #ffffff2c}.detail-symbol{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#ffffff12;color:var(--lime);font-size:.75rem;font-weight:700}.location-details p{color:#c4d3c8;font-size:.71rem;line-height:1.7}.location-details p strong{color:#fffef6;font-size:.77rem}.map-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:25px;align-items:stretch;margin-top:42px}.map-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:22px 5px}.map-copy h3{margin-top:13px;font-size:clamp(2rem,3.5vw,3.4rem);font-weight:600;line-height:1.03;letter-spacing:-.05em}.map-copy>p:not(.eyebrow){max-width:340px;margin-top:14px;color:#bfd0c4;font-size:.78rem;line-height:1.75}.btn-map{margin-top:20px;border-color:var(--lime);background:var(--lime);color:var(--forest)}.btn-map:hover{background:#e4f7ae}.map-embed{position:relative;overflow:hidden;min-height:355px;border:1px solid #ffffff38;border-radius:22px;background:#eaf0e6;color:var(--forest)}.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:15px 17px 13px}.map-top,.map-bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px}.map-kicker,.map-scale{font-size:.56rem;font-weight:700;letter-spacing:.13em}.map-scale{color:#61776c}.map-art{position:absolute;inset:0;width:100%;height:100%}.map-art .map-label{fill:#365e50;font:700 16px var(--sans);letter-spacing:1.5px}.map-art .map-sub{fill:#58756a;font:700 10px var(--sans);letter-spacing:1.2px}.map-art .map-pin-title{fill:#18473d;font:700 12px var(--sans);letter-spacing:1px}.map-art .map-north{fill:#18473d;font:700 11px var(--sans)}.map-bottom{color:#536b60;font-size:.56rem}.map-bottom a{font-weight:700;text-decoration:underline;text-underline-offset:2px}.map-embed iframe{display:none;width:100%;height:100%;min-height:355px;border:0}.map-embed.has-map iframe{position:absolute;inset:0;z-index:3;display:block}.map-embed.has-map .map-placeholder{display:none}
/* Direct booking form */
.booking-section{background:var(--paper2)}.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(36px,7vw,95px)}.booking-copy{position:sticky;top:105px;padding-top:8px}.booking-copy h2{margin-top:14px;font-size:clamp(3rem,5.5vw,5.2rem);font-weight:600;line-height:.98;letter-spacing:-.06em}.booking-copy h2 em{color:#4e896f;font-style:normal}.booking-copy>p:not(.eyebrow){max-width:410px;margin-top:15px;color:var(--body);font-size:.9rem;line-height:1.75}.booking-contact{display:grid;gap:3px;margin-top:20px}.booking-contact span{color:var(--muted);font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.booking-contact a{width:fit-content;color:var(--forest);font-size:.94rem;font-weight:700}.book-card{padding:clamp(20px,4vw,32px);border:1px solid #d2dbd0;border-radius:23px;background:var(--white);box-shadow:0 22px 60px #183a3210}.book-card .top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px}.book-card .top h3{font-size:1.4rem;font-weight:700;letter-spacing:-.04em}.cur-tg{display:flex;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.cur-tg button{min-width:38px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.74rem;cursor:pointer}.cur-tg button.on{background:var(--forest);color:white}.lbl{display:block;margin:17px 0 8px;color:#6d7e74;font-size:.6rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#fffef9;color:var(--body);font-size:.66rem;font-weight:600;cursor:pointer;transition:.2s}.chip:hover,.chip.on{border-color:#5e9577;background:#e7f0df;color:var(--forest)}.two{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{position:relative;margin-top:11px}.field input,.field textarea{width:100%;min-height:57px;padding:20px 13px 7px;border:1px solid #d6ddd5;border-radius:11px;outline:0;background:#fffefb;color:var(--ink);font-size:.79rem;transition:.2s}.field textarea{min-height:95px;resize:vertical}.field input:focus,.field textarea:focus{border-color:#5e9577;box-shadow:0 0 0 3px #5e95771c}.field label{position:absolute;top:8px;left:13px;color:#78867f;font-size:.57rem;pointer-events:none}.stepper{display:flex;align-items:center;justify-content:space-between;min-height:49px;padding:3px;border:1px solid #d6ddd5;border-radius:12px;background:#fffefb}.stepper button{width:42px;height:40px;border:0;border-radius:9px;background:var(--paper);color:var(--forest);font-size:1.1rem;cursor:pointer}.stepper button:hover{background:#e5eddc}.stepper button.off{opacity:.45}.stepper .val{display:grid;justify-items:center;color:var(--forest);font-weight:700;line-height:1.05}.stepper .val small{margin-top:3px;color:var(--muted);font-size:.58rem;font-weight:500}.summary{margin:15px 0;padding:14px;border:1px solid #e0e5dc;border-radius:12px;background:#f4f6ef;color:var(--body);font-size:.73rem}.sum-row{display:flex;justify-content:space-between;gap:15px;margin:5px 0}.sum-total{padding-top:9px;border-top:1px solid #d8e0d4}.terms{display:flex;align-items:flex-start;gap:9px;margin:14px 0;color:var(--body);font-size:.67rem;line-height:1.6}.terms input{flex:0 0 17px;width:17px;height:17px;margin:2px 0 0;accent-color:var(--forest)}.terms a{text-decoration:underline;text-underline-offset:2px}.btn--block{width:100%;justify-content:space-between;margin-top:4px;border-color:var(--coral);background:var(--coral);color:#182f29}.btn--block:hover{background:#f0926f}.trusts{display:flex;justify-content:space-between;gap:8px;margin-top:15px}.trusts span{display:flex;align-items:center;gap:5px;color:#66786d;font-size:.57rem;font-weight:600}.trusts svg{flex:0 0 auto;color:#4d866b}
/* Useful details and footer */
.rules-section{background:var(--white)}.rules-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.rules-section .eyebrow{color:#9a6b2d}.rules-section h2{margin-top:14px;font-size:clamp(3rem,5.7vw,5.2rem);font-weight:600;line-height:.96;letter-spacing:-.06em}.rules-section h2 em{color:#4e896f;font-style:normal}.rules-list details{border-top:1px solid var(--line)}.rules-list details:last-child{border-bottom:1px solid var(--line)}.rules-list summary{display:flex;align-items:center;justify-content:space-between;min-height:64px;font-size:.89rem;font-weight:700;cursor:pointer;list-style:none}.rules-list summary::-webkit-details-marker{display:none}.rules-list summary::after{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#dfeae0;color:var(--forest);content:'+';transition:transform .2s}.rules-list details[open] summary::after{transform:rotate(45deg)}.rules-list details p{max-width:690px;padding:0 40px 20px 0;color:var(--body);font-size:.8rem;line-height:1.8}.footer-main{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;align-items:center;gap:26px;padding-block:30px}footer{background:var(--deep);color:#eaf0e7}.brand-footer{color:#fffef4}.brand-footer img{filter:brightness(0) invert(1)}.footer-main>p,.footer-main>a:not(.brand){color:#d1ddd3;font-size:.7rem;line-height:1.8}.footer-main>a:not(.brand):hover{color:var(--lime)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:16px;border-top:1px solid #ffffff2a;color:#b5c7bb;font-size:.63rem}.footer-bottom>div{display:flex;gap:22px}.footer-action,.footer-bottom a{padding:0;border:0;background:none;color:inherit;font-size:inherit;cursor:pointer}.footer-action:hover,.footer-bottom a:hover{color:var(--lime)}
/* Consent, gallery viewer and contextual booking */
.cookie-banner{position:fixed;z-index:1300;inset:auto 20px 20px;display:grid;grid-template-columns:minmax(200px,1fr) auto;align-items:center;gap:22px;max-width:1060px;margin-inline:auto;padding:20px 22px;border:1px solid #b9cbb9;border-radius:19px;background:#fffef7f7;box-shadow:0 18px 70px #183a3226;backdrop-filter:blur(15px)}.cookie-copy h2{margin-top:3px;font-size:1.5rem;line-height:1.05}.cookie-copy>p:last-child{max-width:590px;margin-top:8px;color:var(--body);font-size:.7rem}.cookie-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.cookie-actions .btn{min-height:41px;padding:0 12px;font-size:.64rem}.cookie-actions #cookie-required{border-color:var(--line);background:transparent;color:var(--forest)}.btn-outline{border-color:var(--line);background:var(--white);color:var(--forest)}.consent-backdrop{position:fixed;z-index:1400;inset:0;display:grid;place-items:center;padding:19px;background:#173a31a8;backdrop-filter:blur(7px)}.consent-dialog{position:relative;width:min(100%,620px);max-height:min(88vh,800px);overflow:auto;padding:clamp(23px,5vw,39px);border:1px solid #d4dfd0;border-radius:23px;background:var(--white);box-shadow:0 28px 90px #06191245}.consent-dialog h2{max-width:450px;margin-top:13px;font-size:clamp(2.35rem,6vw,3.7rem);line-height:.98;letter-spacing:-.055em}.consent-intro{margin:16px 0 20px;color:var(--body);font-size:.76rem;line-height:1.7}.consent-option{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--line)}.consent-option strong{font-size:.8rem}.consent-option p{margin-top:3px;color:var(--body);font-size:.67rem}.consent-option small{color:var(--muted);font-size:.63rem}.consent-disabled{opacity:.65}.switch{position:relative;width:42px;height:24px}.switch input{position:absolute;width:1px;height:1px;opacity:0}.switch span{position:absolute;inset:0;border:1px solid var(--line);border-radius:99px;background:#e8ebe3;cursor:pointer}.switch span::after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 1px 4px #0002;content:'';transition:transform .2s}.switch input:checked+span{border-color:#579071;background:#579071}.switch input:checked+span::after{transform:translateX(18px)}.switch input:focus-visible+span{outline:2px solid var(--coral);outline-offset:3px}.consent-footer{display:flex;justify-content:space-between;gap:11px;margin-top:20px}.consent-footer #consent-save-required{border-color:var(--line);background:transparent;color:var(--forest)}.consent-close{position:absolute;top:15px;right:16px;display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--line);border-radius:11px;background:var(--paper);font-size:1.2rem;cursor:pointer}#toast{position:fixed;z-index:1500;right:20px;bottom:20px;display:flex;align-items:flex-start;gap:10px;max-width:350px;padding:14px;border:1px solid var(--line);border-left:4px solid #4e896f;border-radius:13px;background:var(--white);box-shadow:0 12px 36px #183a3225;transform:translateY(160%);transition:transform .3s}#toast.show{transform:none}#toast>svg{flex:0 0 auto;color:#4e896f}#toast b{font-size:.78rem}#toast p{margin-top:3px;color:var(--body);font-size:.7rem}.tx{cursor:pointer}.lightbox{position:fixed;z-index:1600;inset:0;display:flex;align-items:center;justify-content:center;padding:42px;background:#12352eef;opacity:0;visibility:hidden;transition:.22s}.lightbox.open{opacity:1;visibility:visible}.lightbox .box{max-width:min(88vw,1000px);max-height:78vh}.lightbox .box img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:14px}.lightbox .x,.lightbox .prev,.lightbox .next{position:absolute;display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff6e;border-radius:12px;background:#ffffff14;color:white;font-size:1.1rem;cursor:pointer}.lightbox .x{top:22px;right:22px}.lightbox .prev{left:20px}.lightbox .next{right:20px}.lightbox-meta{position:absolute;bottom:18px;display:flex;gap:17px;color:white;font-size:.73rem}.quick-book{position:fixed;z-index:950;right:max(18px,calc((100vw - var(--maxw))/2 + var(--gutter)));bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(375px,calc(100vw - 36px));padding:12px 14px;border:1px solid #ffffff4d;border-radius:16px;background:#18473df2;box-shadow:0 12px 35px #10372f45;color:white;opacity:0;visibility:hidden;transform:translateY(13px);transition:.25s;backdrop-filter:blur(15px)}.quick-book.show{opacity:1;visibility:visible;transform:none}.quick-book-copy{display:flex;min-width:0;flex-direction:column;line-height:1.2}.quick-book-copy small{color:#d4e3ce;font-size:.55rem}.quick-book-rate{margin-top:3px;color:white;font-size:1.04rem;font-weight:700;white-space:nowrap}.quick-book-rate span{color:#d4e3ce;font-size:.6rem;font-weight:400}.quick-book-action{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;background:var(--lime);color:var(--forest);font-size:.63rem;font-weight:700}.quick-book-action b{transition:transform .2s}.quick-book:hover .quick-book-action b{transform:translate(2px,-2px)}#btt{position:fixed;z-index:800;right:19px;bottom:19px;display:grid;place-items:center;width:41px;height:41px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--forest);box-shadow:0 5px 17px #183a3212;opacity:0;visibility:hidden;transition:.2s;cursor:pointer}#btt.show{opacity:1;visibility:visible}
/* Smooth, restrained motion and strong focus states */
[data-reveal]{opacity:0;transform:translateY(13px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}[data-reveal].is-visible{opacity:1;transform:none}.hero-photo[data-reveal]{transform:translateY(12px) scale(.99)}.hero-photo[data-reveal].is-visible{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,.gal figure:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
@media(max-width:1020px){.nav-links{gap:14px}.nav-links a{font-size:.69rem}.nav-in{gap:16px}.hero-grid{grid-template-columns:.9fr 1.1fr;gap:30px}.hero h1{font-size:clamp(3.5rem,7.2vw,5.7rem)}.location-intro{gap:30px}.booking-grid{gap:34px}.footer-main{grid-template-columns:1fr 1fr}.cookie-banner{grid-template-columns:1fr;gap:14px}.cookie-actions{justify-content:flex-start}}
@media(max-width:760px){html{scroll-padding-top:72px}.nav-in{min-height:68px}.brand img{width:34px;height:34px}.nav-links,.nav-cta{display:none!important}.nav-actions{margin-left:auto}.burger{display:block}#mobile{top:68px}.scrim{top:68px}.hero{padding-top:19px}.hero-grid{grid-template-columns:1fr;gap:23px}.hero-copy{padding:15px 0 0}.hero h1{margin:17px 0 13px;font-size:clamp(3rem,11vw,5rem)}.hero-lead{font-size:.89rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:20px}.hero-photo{grid-row:2}.hero-photo img{height:clamp(300px,85vw,525px);border-radius:19px 75px 19px 19px}.hero-photo-stamp{top:13px;left:-5px;min-width:100px;padding:10px 12px}.hero-photo figcaption{right:14px;bottom:14px;left:14px;font-size:.54rem}.fact-row{margin-top:24px}.fact-row>div{display:grid;justify-items:center;gap:3px;padding:14px 5px 16px;text-align:center}.fact-row strong{font-size:.95rem}.fact-row span{font-size:.58rem}.apartment-section .section-intro{grid-template-columns:1fr;gap:0;margin-bottom:21px}.apartment-section .section-intro h2{font-size:clamp(2.7rem,9.8vw,4.2rem)}.apartment-section .section-intro>p:last-child{margin-top:13px}.room-grid{display:flex;overflow-x:auto;gap:11px;margin-right:calc(-1*var(--gutter));padding:0 var(--gutter) 8px 0;scroll-snap-type:x mandatory;scrollbar-width:none}.room-grid::-webkit-scrollbar{display:none}.room{flex:0 0 min(82vw,390px);scroll-snap-align:start}.room img{height:clamp(315px,98vw,455px)}.services-layout{grid-template-columns:1fr;gap:25px}.services-section h2{font-size:clamp(2.8rem,9.8vw,4.4rem)}.amenities{gap:8px}.amenities li{min-height:80px;padding:12px 10px;font-size:.72rem}.amenities li span{flex-basis:27px;height:27px}.price-layout{grid-template-columns:1fr;gap:24px}.price-layout h2,.gallery-heading h2{font-size:clamp(2.9rem,9.7vw,4.3rem)}.price-detail{padding:21px}.gallery-heading{align-items:flex-start;flex-direction:column;gap:11px;margin-bottom:19px}.gallery-heading>p{max-width:530px}.gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:110px;gap:8px}.gal figure:nth-child(1){grid-column:span 2;grid-row:span 2}.gal figure:nth-child(3){grid-row:span 2}.gal figure:nth-child(6),.gal figure:nth-child(8){grid-column:span 2}.gal figcaption{right:8px;bottom:8px;left:9px;font-size:.64rem}.location-intro{grid-template-columns:1fr;gap:21px}.location-copy h2{font-size:clamp(2.9rem,9.8vw,4.4rem)}.nearby-grid{gap:7px}.nearby-card{min-height:120px;padding:11px 9px}.nearby-card strong{font-size:1.08rem}.nearby-card>span:last-child{font-size:.56rem}.nearby-icon{width:27px;height:27px;margin-bottom:10px}.location-details{grid-template-columns:1fr;margin-top:25px}.location-details>div{padding:13px 2px}.location-details>div+div{border-top:1px solid #ffffff2c;border-left:0}.map-layout{grid-template-columns:1fr;gap:14px;margin-top:26px}.map-copy{padding:0}.map-copy h3{font-size:2.35rem}.map-copy>p:not(.eyebrow){max-width:520px}.map-embed,.map-embed iframe{min-height:315px}.map-embed{border-radius:17px}.booking-grid{grid-template-columns:1fr;gap:22px}.booking-copy{position:static}.booking-copy h2{font-size:clamp(2.9rem,9.8vw,4.4rem)}.booking-copy>p:not(.eyebrow){margin-top:10px}.booking-contact{display:inline-grid;margin:15px 19px 0 0}.book-card{padding:19px;border-radius:18px}.rules-layout{grid-template-columns:1fr;gap:21px}.rules-section h2{font-size:clamp(3rem,9.8vw,4.4rem)}.footer-main{grid-template-columns:1fr 1fr;gap:16px 12px;padding-block:25px}.footer-main .brand{grid-column:1/-1}.footer-main>p,.footer-main>a:not(.brand){font-size:.63rem}.footer-bottom{align-items:flex-start;font-size:.56rem}.footer-bottom>div{flex-direction:column;align-items:flex-end;gap:8px;text-align:right}.cookie-banner{inset:auto 8px calc(8px + env(safe-area-inset-bottom,0px));gap:11px;padding:14px;border-radius:16px}.cookie-copy h2{font-size:1.28rem}.cookie-copy>p:last-child{font-size:.63rem;line-height:1.48}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cookie-actions #cookie-required{grid-column:1;grid-row:1}.cookie-actions #cookie-accept{grid-column:2;grid-row:1}.cookie-actions #cookie-settings{grid-column:1/-1;grid-row:2}.cookie-actions .btn{width:100%;min-height:38px;padding-inline:7px;font-size:.6rem}.quick-book{right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));left:8px;width:auto;gap:9px;padding:9px 10px;border-radius:14px}.quick-book-copy small{font-size:.5rem}.quick-book-rate{font-size:.97rem}.quick-book-rate span{font-size:.55rem}.quick-book-action{gap:5px;padding:9px;font-size:.57rem}#btt{right:11px;bottom:calc(76px + env(safe-area-inset-bottom,0px));width:36px;height:36px}.lightbox{padding:13px}.lightbox .box,.lightbox .box img{max-width:94vw;max-height:72vh}.lightbox .prev{left:8px}.lightbox .next{right:8px}.lightbox .x{top:11px;right:11px}.consent-option{grid-template-columns:1fr auto;gap:8px}.consent-option>small{grid-column:1/-1}.consent-footer{flex-direction:column-reverse}.consent-footer .btn{width:100%}}
@media(max-width:430px){:root{--gutter:16px}.hero h1{font-size:clamp(2.75rem,10.8vw,3.7rem)}.eyebrow{font-size:.58rem;letter-spacing:.12em}.hero-actions .btn{min-height:47px;padding-inline:15px}.hero-actions .text-link{font-size:.69rem}.fact-row strong{font-size:.86rem}.fact-row span{font-size:.53rem}.amenities li{font-size:.67rem}.gallery-filter{gap:5px}.gallery-filter button{min-height:35px;padding-inline:10px;font-size:.61rem}.nearby-card{padding:10px 7px}.nearby-card strong{font-size:.98rem}.nearby-card>span:last-child{font-size:.51rem}.two{gap:7px}.field input,.field textarea{padding-inline:10px}.field label{left:10px}.trusts{flex-wrap:wrap;justify-content:flex-start}.trusts span{font-size:.55rem}.map-embed,.map-embed iframe{min-height:280px}.map-placeholder{padding:12px 10px 10px}.map-kicker,.map-scale{font-size:.47rem}.map-bottom{font-size:.5rem}.map-art .map-label{font-size:13px}.map-art .map-sub{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
.cookie-actions .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:760px){.map-embed{height:auto;min-height:0;aspect-ratio:1.8}.map-embed iframe{height:100%;min-height:0}}
@media(max-width:430px){.map-art .map-label{font-size:27px}.map-art .map-sub{font-size:18px}.map-art .map-pin-title{font-size:25px}.map-art .map-north{font-size:22px}}
