:root{--ink:#152325;--muted:#59696b;--accent:#286b68;--line:#dce5e4;--soft:#f1f6f5;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 'Helvetica Neue',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #55c9bc;outline-offset:5px}header{position:sticky;top:0;z-index:5;min-height:90px;background:#fffffff5;backdrop-filter:blur(14px);display:flex;align-items:center;padding:12px 5%;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center}.brand img{width:192px;height:64px;object-fit:contain}nav{display:flex;gap:34px;margin-left:auto;font-size:14px;font-weight:600}nav a{padding:10px 0}nav a:hover{color:var(--accent)}.languages{display:flex;gap:3px;background:var(--soft);padding:4px;border-radius:30px;margin-left:28px;align-items:center}.languages>span{display:none}.languages button{border:0;background:transparent;color:var(--muted);border-radius:24px;padding:7px 13px;font-size:14px}.languages button[aria-pressed=true]{background:var(--ink);color:white}.hero{display:grid;grid-template-columns:1.05fr 1fr;margin:24px 3% 0;border-radius:28px;background:var(--ink);color:white;overflow:hidden;min-height:620px}.hero-copy{padding:64px 9%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--accent);margin:0 0 22px}.hero .eyebrow{color:#a5d8ce}h1,h2{margin:0;font-weight:600;line-height:1.08;letter-spacing:-2.5px}h1{font-size:clamp(40px,4.6vw,72px)}.intro{color:#d0dddc;font-size:17px;max-width:425px;margin:25px 0 30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:56px;padding:15px 23px;border-radius:12px;font-size:15px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:#cef0e4;color:#173d36}.primary:hover{background:#aee4d1}.button span:last-child{font-size:24px;line-height:1}.hero-bottom{display:flex;align-items:center;gap:14px;margin-top:35px;font-size:14px;color:#d0dddc}.tiny-line{height:4px;width:4px;border-radius:50%;background:#8ea7a3}.hero-image{position:relative;min-width:0;overflow:hidden}.hero-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.hero-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#071512bd)}.photo-label{position:absolute;left:30px;bottom:30px;z-index:1;display:flex;flex-direction:column;color:white;gap:6px}.photo-label span:first-child{font-size:12px;letter-spacing:2px}.photo-label span:last-child{font-size:27px;font-weight:500;letter-spacing:-.6px}.image-index{position:absolute;right:24px;top:24px;background:#fffffff0;color:var(--ink);padding:8px 14px;border-radius:30px;font-size:12px;letter-spacing:1px}.rental-bar{display:flex;gap:12px;align-items:center;padding:22px 5%;font-size:14px}.rental-bar p{margin:0 auto 0 0;color:var(--muted)}.rental-bar a{padding:10px 18px;border:1px solid var(--line);border-radius:30px;font-weight:600}.rental-bar a:hover{background:var(--soft)}.property{padding:74px 5%;max-width:1540px;margin:auto}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}.section-top .eyebrow{margin:0}.pill{padding:7px 15px;border:1px solid var(--line);border-radius:30px;font-size:14px;white-space:nowrap}.property-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:end;margin-bottom:32px}h2{font-size:clamp(33px,3.6vw,52px);letter-spacing:-1.8px}.property-heading p{margin:0 0 18px;color:var(--muted);max-width:490px}.text-link{display:inline-flex;align-items:center;gap:28px;color:var(--accent);font-size:15px;font-weight:700;border-bottom:1px solid #9ebfba;padding-bottom:5px}.gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px;margin-bottom:35px}figure{margin:0;min-width:0;position:relative}.photo{width:100%;height:420px;display:block;padding:0;border:0;border-radius:18px;overflow:hidden;background:#dde5e2;position:relative}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo:hover img{transform:scale(1.04)}.expand{position:absolute;bottom:15px;right:15px;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--ink);font-size:24px;line-height:38px}.gallery .large img{object-position:50% 55%}figcaption{font-size:14px;color:var(--muted);padding:10px 3px 0}.rental-details{display:grid;grid-template-columns:.9fr 2fr;gap:36px;border:1px solid var(--line);padding:32px;border-radius:20px;background:#fff}.rate{padding:8px 28px 8px 0;border-right:1px solid var(--line)}.rate .eyebrow{margin-bottom:17px}.price{font-size:clamp(27px,2.7vw,40px);font-weight:600;letter-spacing:-1.4px;line-height:1.15;margin:0;overflow-wrap:anywhere}.price small{display:block;font-size:15px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:12px}.specifications dl{margin:0}.specifications dl>div{display:grid;grid-template-columns:135px 1fr;gap:18px;margin-bottom:16px}.specifications dt{font-size:14px;color:var(--muted)}.specifications dd{margin:0;font-size:16px}.specifications h3{font-size:16px;margin:25px 0 14px}.amenities{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.amenities li{font-size:14px;position:relative;padding-left:24px}.amenities li:before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:700}.availability{margin:20px 0 0;font-size:14px;color:var(--muted)}.shop-wrap{background:var(--soft);border-radius:32px;margin:0 3%}.shop-wrap .property{padding-left:3%;padding-right:3%}.shops{grid-template-columns:1.6fr 1fr 1fr}.shops .photo{height:340px}.contact{margin:48px 3% 0;padding:65px 5%;border-radius:28px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1.45fr 1fr;gap:50px;align-items:center}.contact .eyebrow{color:#a5d8ce}.contact h2{font-size:clamp(33px,3.5vw,50px)}.contact p:last-child{max-width:490px;margin-top:22px;color:#ccd9d7}.contact-action{display:flex;flex-direction:column;align-items:flex-start;justify-self:end;gap:12px}.light{background:#cef0e4;color:#173d36;margin-bottom:12px}.contact-action>span{font-size:14px;color:#d0dddc}.more-links{font-size:14px;text-decoration:underline;text-underline-offset:4px}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 5%;font-size:13px;color:var(--muted)}footer>span:nth-child(2){letter-spacing:1.5px;font-size:12px}dialog{border:0;border-radius:18px;padding:54px 24px 18px;background:#101b1d;color:white;width:min(94vw,1050px);max-height:95dvh;text-align:center}dialog::backdrop{background:#081315df;backdrop-filter:blur(7px)}dialog img{max-width:100%;max-height:74dvh;object-fit:contain;border-radius:8px}dialog p{font-size:14px;margin:10px 0 0}.close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:white;font-size:24px;padding:5px 12px}.skip{position:fixed;top:-100px;left:10px;background:#fff;color:#111;padding:10px;z-index:10}.skip:focus{top:10px}@media(max-width:1000px){.hero{min-height:580px}.hero-copy{padding:45px 8%}h1{font-size:46px}.property-heading{gap:6%}.photo{height:350px}.rental-details{grid-template-columns:1fr;gap:20px}.rate{border-right:0;border-bottom:1px solid var(--line);padding:0 0 23px}.price small{display:inline;margin-left:8px}.contact{gap:30px}.contact-action{justify-self:start}nav{gap:22px}.languages{margin-left:0}}@media(max-width:640px){html{scroll-padding-top:128px}header{padding:8px 5%;min-height:80px;gap:8px;flex-wrap:wrap}.brand img{width:153px;height:52px}.languages{margin-left:auto}nav{order:3;justify-content:center;gap:34px;width:100%;border-top:1px solid var(--line);font-size:14px}nav a{padding:5px 0}.hero{grid-template-columns:1fr;margin:14px 4% 0;border-radius:22px;min-height:auto}.hero-copy{padding:33px 7%}.hero .eyebrow{font-size:11px;letter-spacing:1.2px;margin-bottom:20px}h1{font-size:clamp(34px,9.6vw,46px);letter-spacing:-1.8px}.intro{font-size:16px;margin:20px 0 24px}.hero-bottom{font-size:13px;margin-top:25px;gap:12px}.hero-image{height:360px}.photo-label{left:22px;bottom:20px}.photo-label span:last-child{font-size:24px}.image-index{top:20px;right:20px}.button{min-height:54px;font-size:14px}.rental-bar{padding:20px 5% 0;gap:8px;flex-wrap:wrap}.rental-bar p{width:100%;margin-bottom:7px}.rental-bar a{font-size:14px;padding:8px 13px}.property{padding:49px 5%}.section-top{gap:8px}.eyebrow{font-size:11px;letter-spacing:1.3px}.pill{font-size:12px;padding:6px 11px}.property-heading{grid-template-columns:1fr;gap:20px;margin-bottom:26px}h2{font-size:34px;letter-spacing:-1.3px}.gallery,.shops{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:25px}.gallery .large{grid-column:1/-1}.photo{height:245px;border-radius:14px}.gallery .large .photo{height:370px}.shops .large .photo{height:230px}.shops .photo{height:245px}figcaption{font-size:13px}.rental-details{padding:23px 20px;border-radius:16px}.price{font-size:32px}.specifications dl>div{grid-template-columns:1fr;gap:3px;margin-bottom:18px}.specifications dd{font-size:16px}.amenities{grid-template-columns:1fr;gap:12px}.amenities li{font-size:15px}.shop-wrap{margin:0 3%;border-radius:24px}.shop-wrap .property{padding-left:5%;padding-right:5%}.contact{margin:30px 3% 0;padding:38px 7%;grid-template-columns:1fr;gap:25px;border-radius:24px}.contact h2{font-size:33px}.contact-action{width:100%}.contact-action .button{width:100%}footer{flex-wrap:wrap;font-size:12px;gap:10px}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}} 

/* Reversible entrance motion on both scroll directions. */
.scroll-reveal{opacity:0;transform:translateY(48px);transition:opacity .85s ease var(--reveal-delay,0ms),transform .95s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
html[data-scroll-direction="up"] .scroll-reveal:not(.revealed){transform:translateY(-48px)}
.gallery figure.scroll-reveal{transform:translateY(56px) scale(.94)}
html[data-scroll-direction="up"] .gallery figure.scroll-reveal:not(.revealed){transform:translateY(-56px) scale(.94)}
.scroll-reveal.revealed,.gallery figure.scroll-reveal.revealed,.scroll-reveal:focus-within{opacity:1;transform:translateY(0) scale(1)}
header{transition:box-shadow .3s ease,background .3s ease}header.scrolled{box-shadow:0 8px 30px #15232518;background:#fffffff2}
.hero-image>img{transform-origin:center;will-change:transform}
.motion-enabled .gallery .photo img{transform:translateY(var(--photo-drift,0px)) scale(1.12);transition:transform .22s ease-out}
.motion-enabled .gallery .photo:hover img{transform:translateY(var(--photo-drift,0px)) scale(1.17)}
.photo{transition:box-shadow .35s ease}.photo:hover{box-shadow:0 16px 32px #15232525}
.text-link span:last-child{transition:transform .25s ease}.text-link:hover span:last-child{transform:translate(4px,-4px)}
@media(max-width:640px){.scroll-reveal{transform:translateY(32px)}html[data-scroll-direction="up"] .scroll-reveal:not(.revealed){transform:translateY(-32px)}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1!important;transform:none!important;transition:none!important}.hero-image>img,.gallery .photo img{transform:none!important;will-change:auto;transition:none!important}}
@media print{.scroll-reveal{opacity:1!important;transform:none!important}}
