:root{--bg:#faf7f2;--surface:#fff;--surface-alt:#f2ece3;--ink:#1c1c1a;--ink-soft:#5b5650;--aegean:#1e6e8c;--aegean-deep:#14516a;--terracotta:#c8794f;--terracotta-deep:#a85f3a;--olive:#8a9a5b;--stone:#d9cbb8;--line:#e7e0d6;--shadow:0 10px 40px rgba(28,28,26,.08);--shadow-lg:0 24px 70px rgba(28,28,26,.14);--accent:var(--terracotta);--accent-deep:var(--terracotta-deep);--accent-soft:rgba(200,121,79,.12);--accent-glow:rgba(200,121,79,.28);--accent-glow-2:rgba(200,121,79,.36);--r-card:16px;--r-img:16px;--r-pill:999px;--r-btn:999px;--maxw:1200px;--gutter:clamp(20px,5vw,56px);--section-y:clamp(4rem,8vw,7rem);--font-display:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-body:"Inter","Mulish",system-ui,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.05rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.01em}h1{font-size:clamp(2.5rem,5vw,4.6rem)}h2{font-size:clamp(2rem,3.5vw,3rem)}h3{font-size:1.5rem}p{margin:0;text-wrap:pretty}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y)}.section--alt{background:var(--surface-alt)}.eyebrow{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--aegean);font-weight:600;margin:0 0 .9rem}.section--alt .eyebrow{color:var(--accent-deep)}.sec-head{max-width:640px;margin-bottom:clamp(2.2rem,4vw,3.4rem)}.sec-head.center{margin-inline:auto;text-align:center}.sec-head h2{margin-bottom:.9rem}.sec-head .underline{width:54px;height:2px;background:var(--accent);margin-top:1.4rem;border-radius:2px}.sec-head.center .underline{margin-inline:auto}.sec-head .lede{color:var(--ink-soft);font-size:1.08rem}.btn{--pad-y:.82rem;--pad-x:1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;line-height:1;padding:var(--pad-y) var(--pad-x);border-radius:var(--r-btn);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.btn svg{width:17px;height:17px;flex:none}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 8px 22px var(--accent-glow)}.btn--primary:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 14px 32px var(--accent-glow-2)}.btn--secondary{background:var(--aegean);color:#fff}.btn--secondary:hover{background:var(--aegean-deep);transform:translateY(-2px)}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--stone)}.btn--ghost:hover{border-color:var(--ink);transform:translateY(-2px)}.btn--light{background:hsla(0,0%,100%,.14);color:#fff;border-color:hsla(0,0%,100%,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn--light:hover{background:hsla(0,0%,100%,.24);transform:translateY(-2px)}.btn--sm{--pad-y:.6rem;--pad-x:1rem;font-size:.82rem}.btn--block{width:100%}.btn--platform{background:var(--surface);color:var(--ink-soft);border-color:var(--line);font-weight:500;font-size:.82rem;--pad-y:.58rem;--pad-x:.9rem}.btn--platform:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow)}.btn--platform .ico-airbnb{color:#ff385c}.btn--platform .ico-booking{color:#1a4da8}.btn--platform.on-dark{background:hsla(0,0%,100%,.1);color:#fff;border-color:hsla(0,0%,100%,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn--platform.on-dark:hover{background:hsla(0,0%,100%,.2)}.btn--platform.on-dark .ico-airbnb,.btn--platform.on-dark .ico-booking{color:#fff}.platform-row{display:flex;flex-wrap:wrap;gap:.55rem}.ulink{position:relative;color:var(--aegean);font-weight:600;font-size:.92rem;display:inline-flex;align-items:center;gap:.4rem}.ulink:after{content:"";position:absolute;left:0;bottom:-3px;height:1.5px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.ulink:hover:after{transform:scaleX(1)}.ulink svg{width:15px;height:15px;transition:transform .3s var(--ease)}.ulink:hover svg{transform:translateX(3px)}.ph{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(30,110,140,.1),rgba(200,121,79,.08)),repeating-linear-gradient(45deg,rgba(28,28,26,.022) 0 14px,transparent 14px 28px),var(--surface-alt)}.ph:after{content:attr(data-label);position:absolute;inset:auto 0 0 0;padding:.7rem .9rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);opacity:.65}.ph:before{content:"";position:absolute;top:50%;left:50%;width:38px;height:38px;transform:translate(-50%,-50%);opacity:.28;background:no-repeat 50%/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1C1A' stroke-width='1.2'><rect x='3' y='4' width='18' height='16' rx='2'/><circle cx='8.5' cy='9.5' r='1.6'/><path d='M3 17l5-4 4 3 4-4 5 5'/></svg>")}.nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.15rem var(--gutter);transition:transform .45s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease),padding .4s var(--ease)}.nav.scrolled{background:hsla(38,44%,96%,.82);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 1px 0 var(--line);padding-block:.8rem}.nav.hidden{transform:translateY(-110%)}.brand{display:flex;flex-direction:column;line-height:1;z-index:2}.brand b{font-family:var(--font-display);font-size:1.5rem;font-weight:600;letter-spacing:.01em;color:var(--ink);white-space:nowrap}.brand span{font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-soft);margin-top:.28rem}.nav.on-hero:not(.scrolled) .brand b{color:#fff}.nav.on-hero:not(.scrolled) .brand span{color:hsla(0,0%,100%,.8)}.nav-links{display:flex;align-items:center;gap:1.35rem}.nav-links a{font-size:.88rem;font-weight:500;color:var(--ink-soft);position:relative;transition:color .2s;white-space:nowrap}.nav-links a:after{content:"";position:absolute;left:0;bottom:-5px;height:1.5px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{transform:scaleX(1)}.nav-links a.current{color:var(--ink)}.nav-links a.current:after{transform:scaleX(1)}.nav.on-hero:not(.scrolled) .nav-links a{color:hsla(0,0%,100%,.92)}.nav.on-hero:not(.scrolled) .nav-links a.current{color:#fff}.mobile-menu a.current{color:var(--accent)}.section--top{padding-top:calc(var(--section-y) + 72px)}.cta-band{background:var(--surface-alt)}.cta-inner{text-align:center;max-width:640px;margin-inline:auto}.cta-inner h2{margin-bottom:1rem}.cta-inner .cta-sub{color:var(--ink-soft);font-size:1.08rem}.cta-inner .cta-actions{gap:.8rem;margin-top:1.8rem}.cta-inner .cta-actions,.cta-inner .cta-platforms{display:flex;justify-content:center;flex-wrap:wrap}.cta-inner .cta-platforms{gap:.55rem;margin-top:1rem}.nav-right{display:flex;gap:1rem}.lang,.nav-right{align-items:center}.lang{display:inline-flex;gap:.1rem;font-size:.82rem;font-weight:600}.lang button{background:none;border:0;cursor:pointer;color:var(--ink-soft);padding:.25rem .4rem;font:inherit;font-weight:600;border-radius:6px;transition:color .2s}.lang button.active{color:var(--ink)}.lang .sep{color:var(--stone)}.nav.on-hero:not(.scrolled) .lang button{color:hsla(0,0%,100%,.7)}.nav.on-hero:not(.scrolled) .lang button.active{color:#fff}.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}.nav-toggle svg{width:26px;height:26px;stroke:var(--ink)}.nav.on-hero:not(.scrolled) .nav-toggle svg{stroke:#fff}.mobile-menu{position:fixed;inset:0;z-index:99;background:hsla(38,44%,96%,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}.mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu a{font-family:var(--font-display);font-size:2rem;color:var(--ink)}.mobile-menu .lang{margin-top:1rem;font-size:1rem}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}.hero-bg,.hero-bg img{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}.hero-bg img.show{opacity:1}.hero[data-motion=on] .hero-bg img.show{animation:kenburns 20s ease-out forwards}.hero-slide-ph{opacity:0}.hero-slide-ph.show{opacity:1}@keyframes kenburns{0%{transform:scale(1.04)}to{transform:scale(1.16)}}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,38,.32),rgba(20,30,38,.04) 32%,rgba(20,30,38,.16) 62%,rgba(15,24,32,.74))}.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin-inline:auto;padding:0 var(--gutter) clamp(3.5rem,8vh,6rem);color:#fff}.hero-inner .eyebrow{color:hsla(0,0%,100%,.9)}.hero-inner h1{color:#fff;max-width:16ch;text-shadow:0 2px 30px rgba(0,0,0,.25)}.hero-inner .hero-sub{color:hsla(0,0%,100%,.92);font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:46ch;margin-top:1.4rem}.hero-ctas{gap:.8rem;margin-top:2.2rem;align-items:center}.hero-ctas,.hero-platforms{display:flex;flex-wrap:wrap}.hero-platforms{gap:.55rem}.hero-scroll{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:2;color:hsla(0,0%,100%,.7)}.hero-scroll svg{width:26px;height:26px;animation:bob 2.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}.hero-dots{position:absolute;right:var(--gutter);bottom:clamp(3.5rem,8vh,6rem);z-index:3;display:flex;flex-direction:column;gap:.6rem}.hero-dots button{width:9px;height:9px;border-radius:50%;border:1px solid hsla(0,0%,100%,.7);background:transparent;cursor:pointer;padding:0;transition:background .25s,transform .25s}.hero-dots button.active{background:#fff;transform:scale(1.25)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(2rem,5vw,4.5rem);gap:clamp(2rem,5vw,4.5rem);align-items:center}.intro-copy .stats{display:flex;gap:2.2rem;margin-top:2.4rem}.intro-copy .stat b{font-family:var(--font-display);font-size:2.6rem;font-weight:600;color:var(--accent);display:block;line-height:1}.intro-copy .stat span{font-size:.82rem;color:var(--ink-soft);display:block;margin-top:.4rem;max-width:12ch}.intro-copy p+p{margin-top:1.1rem}.intro-media{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;grid-gap:1rem;gap:1rem;height:clamp(360px,42vw,540px)}.intro-media .m1{grid-row:1/3}.intro-media .frame{position:relative;border-radius:var(--r-img);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--stone)}.intro-media .frame img{width:100%;height:100%;object-fit:cover}.intro-media .ph{width:100%;height:100%}.villa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:clamp(1.4rem,2.4vw,2rem);gap:clamp(1.4rem,2.4vw,2rem)}.villa-card{background:var(--surface);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.villa-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.villa-media{position:relative;aspect-ratio:4/3;overflow:hidden}.villa-media .ph,.villa-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.villa-card:hover .villa-media img{transform:scale(1.06)}.villa-media .tag{position:absolute;top:.9rem;left:.9rem;background:hsla(0,0%,100%,.92);color:var(--accent-deep);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .7rem;border-radius:var(--r-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.villa-body{padding:1.4rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;flex:1 1}.villa-body h3{font-size:1.6rem}.villa-body .tagline{color:var(--ink-soft);font-size:.92rem;margin-top:-.4rem}.villa-feats{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.2rem 0;border-block:1px solid var(--line);padding-block:.9rem}.villa-feats li{list-style:none;display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-soft)}.villa-feats svg{width:16px;height:16px;color:var(--aegean);flex:none}.villa-price{display:flex;align-items:baseline;justify-content:space-between}.villa-price .from{font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.villa-price b{font-family:var(--font-display);font-size:1.4rem;color:var(--ink);font-weight:600}.villa-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:auto}.villa-actions .platform-row{width:100%}.villa-actions .platform-row .btn{flex:1 1}.amen-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:1rem;gap:1rem}.amen-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:1.6rem 1.2rem;display:flex;flex-direction:column;gap:.9rem;align-items:flex-start;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}.amen-item:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--stone)}.amen-item .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--aegean)}.amen-item .ic svg{width:22px;height:22px}.amen-item span{font-size:.92rem;font-weight:500}.loc-grid{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:clamp(2rem,4vw,3.5rem);gap:clamp(2rem,4vw,3.5rem);align-items:center}.loc-map{position:relative;aspect-ratio:4/3;border-radius:var(--r-img);overflow:hidden;border:1px solid var(--stone);box-shadow:var(--shadow)}.loc-map iframe{width:100%;height:100%;border:0;filter:saturate(.9)}.loc-addr{display:flex;align-items:flex-start;gap:.7rem;color:var(--ink-soft);margin:1.2rem 0 1.6rem}.loc-addr svg{width:20px;height:20px;color:var(--accent);flex:none;margin-top:.2rem}.dist-list{display:flex;flex-direction:column;gap:0;margin-top:1.8rem}.dist-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--line)}.dist-row:first-child{border-top:1px solid var(--line)}.dist-row .l{display:flex;align-items:center;gap:.7rem;font-size:.95rem}.dist-row .l svg{width:18px;height:18px;color:var(--olive);flex:none}.dist-row .t{font-size:.85rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(1.2rem,2vw,1.6rem);gap:clamp(1.2rem,2vw,1.6rem)}.explore-card{position:relative;aspect-ratio:3/4;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--stone)}.explore-card .ph,.explore-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.explore-card:hover .ph,.explore-card:hover img{transform:scale(1.05)}.explore-card .grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(15,24,32,.78))}.explore-card .cap{position:absolute;inset:auto 0 0 0;padding:1.4rem;color:#fff;transform:translateY(8px);transition:transform .45s var(--ease)}.explore-card:hover .cap{transform:translateY(0)}.explore-card .cap h3{color:#fff;font-size:1.35rem}.explore-card .cap p{color:hsla(0,0%,100%,.85);font-size:.85rem;line-height:1.55;margin-top:.4rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s var(--ease),opacity .4s var(--ease),margin .4s}.explore-card:hover .cap p{max-height:6em;opacity:1;margin-top:.5rem}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(1.4rem,2.4vw,2rem);gap:clamp(1.4rem,2.4vw,2rem)}.review-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:2rem 1.8rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem}.review-card .stars{display:flex;gap:.15rem;color:var(--accent)}.review-card .stars svg{width:18px;height:18px}.review-card blockquote{margin:0;font-family:var(--font-display);font-size:1.3rem;line-height:1.4;color:var(--ink)}.review-card .who{display:flex;align-items:center;gap:.7rem;margin-top:auto}.review-card .who .av{width:38px;height:38px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);display:grid;place-items:center;font-weight:700;font-size:.9rem}.review-card .who b{font-size:.92rem;font-weight:600}.review-card .who span{font-size:.8rem;color:var(--ink-soft);display:block}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;grid-gap:clamp(2rem,5vw,4.5rem);gap:clamp(2rem,5vw,4.5rem)}.contact-info p.invite{color:var(--ink-soft);margin:1rem 0 1.8rem}.contact-info .ci-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.8rem}.contact-info .ci{display:flex;align-items:center;gap:.9rem}.contact-info .ci .ic{width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--aegean);flex:none}.contact-info .ci .ic svg{width:19px;height:19px}.contact-info .ci small{display:block;font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.contact-info .ci b{font-weight:600;font-size:1rem}.contact-info .also{font-size:.78rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;margin:1.6rem 0 .8rem}.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(1.6rem,3vw,2.4rem);box-shadow:var(--shadow)}.field{margin-bottom:1.1rem}.field label{display:block;font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-bottom:.45rem}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:.95rem;color:var(--ink);padding:.8rem .95rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--aegean);box-shadow:0 0 0 3px rgba(30,110,140,.12)}.field textarea{resize:vertical;min-height:110px}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#c0492f;box-shadow:0 0 0 3px rgba(192,73,47,.1)}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.1rem;gap:1.1rem}.form-ok{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-deep);border-radius:12px;padding:1.5rem;text-align:center;font-weight:500}.footer{background:var(--ink);color:hsla(0,0%,100%,.72);padding-block:clamp(3rem,6vw,4.5rem) 2rem}.footer .wrap{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-gap:2.5rem;gap:2.5rem}.footer .brand b{color:#fff}.footer .brand span{color:hsla(0,0%,100%,.55)}.footer .f-tag{margin:1.2rem 0;font-size:.92rem;max-width:34ch;line-height:1.7}.footer .f-family{font-size:.8rem;color:hsla(0,0%,100%,.5)}.footer .f-family b{color:var(--stone);font-weight:600}.footer h4{font-family:var(--font-body);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:hsla(0,0%,100%,.45);margin:0 0 1.1rem;font-weight:600}.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.footer ul a{font-size:.92rem;color:hsla(0,0%,100%,.72);transition:color .2s}.footer ul a:hover{color:#fff}.footer .socials{display:flex;gap:.7rem}.footer .socials a{width:40px;height:40px;border:1px solid hsla(0,0%,100%,.2);border-radius:50%;display:grid;place-items:center;transition:background .2s,border-color .2s}.footer .socials a:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.4)}.footer .socials svg{width:19px;height:19px}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.12);margin-top:3rem;padding-top:1.6rem;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:hsla(0,0%,100%,.5)}.footer-bottom,.wa-float{display:flex;align-items:center}.wa-float{position:fixed;right:22px;bottom:22px;z-index:90;gap:.6rem}.wa-float .wa-btn{width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 26px rgba(37,211,102,.42);transition:transform .3s var(--ease)}.wa-float .wa-btn svg{width:30px;height:30px;color:#fff}.wa-float[data-motion=on] .wa-btn{animation:wapulse 2.8s ease-in-out infinite}@keyframes wapulse{0%,to{box-shadow:0 8px 26px rgba(37,211,102,.42)}50%{box-shadow:0 8px 26px rgba(37,211,102,.42),0 0 0 12px rgba(37,211,102,0)}}.wa-float .wa-tip{background:var(--surface);color:var(--ink);font-size:.82rem;font-weight:500;padding:.55rem .85rem;border-radius:var(--r-pill);box-shadow:var(--shadow);white-space:nowrap;opacity:0;transform:translateX(8px);transition:opacity .35s,transform .35s;pointer-events:none}.wa-float .wa-tip.show,.wa-float:hover .wa-tip{opacity:1;transform:translateX(0)}.lightbox{position:fixed;inset:0;z-index:200;background:rgba(12,18,22,.94);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:90vw;max-height:86vh;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.5)}.lightbox .lb-ph{width:min(86vw,1100px);aspect-ratio:3/2;border-radius:8px}.lb-close,.lb-nav{position:absolute;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.25);color:#fff;cursor:pointer;border-radius:50%;display:grid;place-items:center;transition:background .2s}.lb-close{top:22px;right:22px;width:46px;height:46px}.lb-nav{top:50%;transform:translateY(-50%);width:52px;height:52px}.lb-nav.prev{left:22px}.lb-nav.next{right:22px}.lb-close:hover,.lb-nav:hover{background:hsla(0,0%,100%,.22)}.lb-close svg,.lb-nav svg{width:22px;height:22px}.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:hsla(0,0%,100%,.8);font-size:.85rem;letter-spacing:.1em}.gallery{column-count:3;column-gap:clamp(1rem,2vw,1.4rem)}.gallery .g-item{page-break-inside:avoid;break-inside:avoid;margin-bottom:clamp(1rem,2vw,1.4rem);border-radius:var(--r-img);overflow:hidden;cursor:pointer;position:relative;border:1px solid var(--stone);box-shadow:var(--shadow)}.gallery .g-item .ph,.gallery .g-item img{width:100%;display:block;transition:transform .7s var(--ease)}.gallery .g-item:hover .ph,.gallery .g-item:hover img{transform:scale(1.05)}.gallery .g-item .zoom{position:absolute;inset:0;background:rgba(20,30,38,0);display:grid;place-items:center;transition:background .3s}.gallery .g-item .zoom svg{width:30px;height:30px;color:#fff;opacity:0;transform:scale(.7);transition:opacity .3s,transform .3s}.gallery .g-item:hover .zoom{background:rgba(20,30,38,.18)}.gallery .g-item:hover .zoom svg{opacity:1;transform:scale(1)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in,body.no-motion .reveal{opacity:1;transform:none}body.no-motion .reveal{transition:none}body.no-motion .hero[data-motion] .hero-bg img.show,body.no-motion .wa-float .wa-btn{animation:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero .hero-bg img.show,.wa-float .wa-btn{animation:none!important}}@media (max-width:1024px){.amen-grid{grid-template-columns:repeat(3,1fr)}.explore-grid,.review-grid,.villa-grid{grid-template-columns:repeat(2,1fr)}.gallery{column-count:2}}@media (max-width:1000px){.nav-links{display:none}.nav-toggle{display:block}}@media (max-width:860px){.contact-grid,.intro-grid,.loc-grid{grid-template-columns:1fr}.intro-media{height:380px}.footer .wrap{grid-template-columns:1fr 1fr}.footer .brand-col{grid-column:1/-1}}@media (max-width:600px){.explore-grid,.review-grid,.villa-grid{grid-template-columns:1fr}.amen-grid{grid-template-columns:repeat(2,1fr)}.gallery{column-count:1}.field-row{grid-template-columns:1fr}.intro-copy .stats{gap:1.4rem;flex-wrap:wrap}.footer .wrap{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}.hero-dots{display:none}.lb-nav.prev{left:8px}.lb-nav.next{right:8px}}