@font-face{font-family:Libre Bodoni;src:url(/fonts/libre-bodoni-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Libre Bodoni;src:url(/fonts/libre-bodoni-italic-latin.woff2)format("woff2");font-style:italic;font-weight:400 700;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-italic-latin.woff2)format("woff2");font-style:italic;font-weight:100 900;font-display:swap}@font-face{font-family:Material Symbols Rounded;src:url(/fonts/material-symbols-rounded.woff2)format("woff2");font-style:normal;font-weight:200;font-display:block}:root{--paper:#f7f5ef;--cream:#ece8dc;--ink:#242923;--forest:#294b3a;--olive:#607057;--sand:#cdbd9e;--line:#24292326;--white:#fffdfa;--radius:26px;--serif:"Libre Bodoni", Georgia, serif;--sans:"Inter", ui-sans-serif, system-ui, sans-serif;--page-gutter:clamp(1rem,5vw,5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;overflow-x:clip}html:has(.property-lightbox[open]){scrollbar-gutter:auto;overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;padding-top:76px;font-size:16px;line-height:1.6;overflow-x:clip}body.menu-open{overflow:hidden}img{max-width:100%}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #cb8f45}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:.75rem 1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;font-weight:400;line-height:.98}h1{font-size:clamp(3.5rem,8vw,8rem)}h2{font-size:clamp(2.4rem,5vw,5.2rem)}h3{font-size:2rem}em{color:var(--olive);font-weight:400}.eyebrow{letter-spacing:.16em;text-transform:uppercase;margin-bottom:.9rem;font-size:.76rem;font-weight:700;display:block}.button{background:var(--forest);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:1.5rem;min-height:52px;padding:.8rem 1.25rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{background:#1e3e2f;transform:translateY(-2px)}.scroll-cue{animation:1.7s ease-in-out infinite scroll-cue;display:inline-block}@keyframes scroll-cue{0%,to{transform:translateY(-1px)}50%{transform:translateY(4px)}}.button-small{min-height:42px;padding:.55rem 1.1rem}.button-light{background:var(--white);color:var(--forest)}.site-header{z-index:30;border-bottom:1px solid var(--line);will-change:transform;background:#f7f5eff7;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;min-height:76px;padding:.75rem clamp(1rem,3vw,3rem);transition:transform .34s cubic-bezier(.22,.8,.3,1),background .3s,border-color .3s;display:flex;position:fixed;inset:0 0 auto}.site-header.is-hidden{transform:translateY(calc(-100% - 2px))}.brand{font-family:var(--serif);align-items:center;gap:.55rem;font-size:1.35rem;text-decoration:none;transition:opacity .2s;display:flex}.brand img{object-fit:contain;width:42px;height:42px}.desktop-nav,.desktop-destinations{align-items:center;gap:clamp(.8rem,2vw,2rem);display:flex}.desktop-secondary{border-left:1px solid var(--line);align-items:center;margin-left:clamp(.2rem,.8vw,.8rem);padding-left:clamp(1rem,1.8vw,1.8rem);display:flex}.desktop-nav a,.lang-switch{font-size:.82rem;text-decoration:none}.header-actions{align-items:center;gap:.8rem;display:flex}.lang-switch{font-weight:800;transition:opacity .2s}.menu-toggle{z-index:60;border:1px solid var(--line);width:46px;height:46px;color:var(--ink);background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;transition:color .22s,border-color .22s,transform .22s;display:none;position:relative}.menu-toggle:hover{transform:scale(1.04)}.menu-toggle-lines{width:20px;height:14px;transition:transform .42s cubic-bezier(.22,.8,.3,1);display:block;position:relative}.menu-toggle-lines i{background:currentColor;border-radius:2px;width:20px;height:1.5px;transition:transform .36s cubic-bezier(.22,.8,.3,1),opacity .18s,top .36s;position:absolute;left:0}.menu-toggle-lines i:first-child{top:0}.menu-toggle-lines i:nth-child(2){top:6px}.menu-toggle-lines i:nth-child(3){top:12px}.menu-toggle[aria-expanded=true]{color:#fff;border-color:#ffffff73}.menu-toggle[aria-expanded=true] .menu-toggle-lines{transform:rotate(180deg)}.menu-toggle[aria-expanded=true] .menu-toggle-lines i:first-child{top:6px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-lines i:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle[aria-expanded=true] .menu-toggle-lines i:nth-child(3){top:6px;transform:rotate(-45deg)}.mobile-menu{--menu-origin-x:calc(100vw - 38px);--menu-origin-y:38px;z-index:40;background:var(--forest);color:#fff;clip-path:circle(0 at var(--menu-origin-x) var(--menu-origin-y));flex-direction:column;padding:1.5rem;transition:clip-path .48s cubic-bezier(.72,0,.2,1);display:flex;position:fixed;inset:0}.mobile-menu[hidden]{display:none}.mobile-menu.is-open{clip-path:circle(150vmax at var(--menu-origin-x) var(--menu-origin-y))}.mobile-menu-top{min-height:46px;font-family:var(--serif);opacity:0;align-items:center;font-size:1.4rem;transition:opacity .24s .2s,transform .3s .2s;display:flex;transform:translateY(-8px)}.mobile-menu.is-open .mobile-menu-top{opacity:1;transform:none}.mobile-menu nav{flex-direction:column;flex:1;min-height:0;margin-top:clamp(2rem,7vh,4.5rem);display:flex}.mobile-menu-primary,.mobile-menu-secondary{flex-direction:column;display:flex}.mobile-menu-secondary{border-top:1px solid #fff6;margin-top:auto;padding-top:.65rem}.mobile-menu nav a{font-family:var(--serif);opacity:0;border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font-size:clamp(1.8rem,8vw,3rem);line-height:1.1;text-decoration:none;transition:opacity .24s,transform .32s cubic-bezier(.22,.8,.3,1);display:flex;transform:translateY(16px)}.mobile-menu-secondary a{padding:.85rem 0;font-size:clamp(1.55rem,6.5vw,2.35rem)}.mobile-menu.is-open nav a{opacity:1;transform:none}.mobile-menu.is-open .mobile-menu-primary a:first-child{transition-delay:.16s}.mobile-menu.is-open .mobile-menu-primary a:nth-child(2){transition-delay:.2s}.mobile-menu.is-open .mobile-menu-primary a:nth-child(3){transition-delay:.24s}.mobile-menu.is-open .mobile-menu-primary a:nth-child(4){transition-delay:.28s}.mobile-menu.is-open .mobile-menu-secondary a:first-child{transition-delay:.34s}.mobile-menu.is-open .mobile-menu-secondary a:nth-child(2){transition-delay:.38s}.mobile-menu.is-link-closing nav a{opacity:0;transition-duration:.12s;transition-delay:0s;transform:translateY(-10px)}.material-symbols-rounded{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";direction:ltr;font-family:Material Symbols Rounded;font-style:normal;font-weight:200;line-height:1}.menu-link-icon{opacity:.82;flex:none;width:auto;height:auto;font-size:1.18em}body.menu-open .site-header{z-index:50;background:0 0;border-color:#0000;width:100%;position:fixed;inset:0 0 auto;transform:none}body.menu-open .site-header .brand,body.menu-open .site-header .desktop-nav,body.menu-open .site-header .lang-switch,body.menu-open .site-header .desktop-contact{opacity:0;pointer-events:none}.home-hero{min-height:calc(100vh - 76px);padding:clamp(2.5rem,5vw,5.5rem) var(--page-gutter);grid-template-columns:minmax(0,1120px);justify-content:center;align-items:center;display:grid;overflow:hidden}.hero-copy{max-width:1050px}.hero-copy h1{margin-bottom:1.75rem}.hero-copy p{color:#4d534c;max-width:590px;margin-bottom:2rem;font-size:clamp(1.05rem,1.5vw,1.25rem)}.photo-placeholder{color:#435044;text-align:center;background:linear-gradient(145deg,#dedacc,#c9cfbf);flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:260px;padding:1.5rem;display:flex;position:relative;overflow:hidden}.photo-placeholder:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #2a49382e;position:absolute;inset:12px}.photo-placeholder img{object-fit:contain;opacity:.38;width:66px;height:50px}.photo-placeholder>span:not(.photo-number){letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:700;position:relative}.photo-number{font-family:var(--serif);font-size:1.2rem;position:absolute;top:1rem;left:1rem}.destinations-section,.apartments-section{padding:clamp(5rem,9vw,9rem) clamp(1rem,5vw,5rem)}.section-heading{margin-bottom:2.5rem}.split-heading{grid-template-columns:1.3fr .7fr;align-items:end;gap:2rem;display:grid}.split-heading h2{margin-bottom:0}.split-heading>p{color:#5b605a;max-width:440px}.destinations-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.home-destinations{min-height:calc(100vh - 76px);padding-top:clamp(2rem,4vw,3.75rem)}.home-destinations .section-heading{margin-bottom:clamp(1.5rem,3vw,2.5rem)}.home-destinations .section-heading h1{margin-bottom:0;font-size:clamp(3.2rem,5.8vw,6.3rem)}.home-destinations .destinations-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.25vw,1.25rem)}.home-destinations .destination-card{background:var(--forest);min-width:0;position:relative}.home-destinations .destination-card>a{aspect-ratio:9/16;color:#fff;display:block;position:relative;overflow:hidden}.home-destinations .destination-image{aspect-ratio:auto;position:absolute;inset:0}.home-destinations .destination-image img{filter:saturate(.82)contrast(1.03)brightness(.94)sepia(.06)}.home-destinations .destination-image:before{content:"";z-index:1;pointer-events:none;background:#243a2d1a;position:absolute;inset:0}.home-destinations .destination-image:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000 50%,#0a120db8 100%);position:absolute;inset:0}.home-destinations .destination-copy{z-index:3;isolation:isolate;text-shadow:0 2px 14px #000000b8;justify-content:flex-end;padding:clamp(1rem,2vw,1.75rem);position:absolute;inset:0}.home-destinations .destination-copy>*{z-index:1;position:relative}.home-destinations .destination-copy h2{margin-bottom:.65rem;font-size:clamp(1.8rem,2.5vw,3rem)}.home-destinations .destination-copy p{color:#fffc;margin-bottom:0;font-size:.88rem;line-height:1.45}.home-destinations .card-link{color:#fff;text-shadow:0 1px 8px #000000e6;padding-top:1.15rem;font-size:.78rem}.home-destinations .card-link span{color:#fff;font-size:inherit;text-shadow:inherit}.destination-card{border-radius:var(--radius);background:var(--white);overflow:hidden}.destination-card a{min-height:0;color:inherit;grid-template-columns:1fr 1fr;text-decoration:none;display:grid}.destination-card .photo-placeholder{aspect-ratio:9/16;min-height:0}.destination-image{aspect-ratio:9/16;min-height:0;overflow:hidden}.destination-image img{object-fit:cover;width:100%;height:100%;min-height:0;transition:transform .45s;display:block}.destination-card:hover .destination-image img{transform:scale(1.025)}.destination-copy{flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,3vw,3rem);display:flex}.destination-copy h2{margin-bottom:1rem;font-size:clamp(2.2rem,4vw,4.2rem)}.destination-copy p{color:#5c625b}.card-link{margin-top:auto;padding-top:2rem;font-size:.9rem;font-weight:700}.destination-card.sea .photo-placeholder{background:linear-gradient(145deg,#cad8d3,#aebfbe)}.destination-card.sand .photo-placeholder{background:linear-gradient(145deg,#dfd6c3,#cdbd9e)}.destination-card.mountain .photo-placeholder{background:linear-gradient(145deg,#d4d4c5,#aeb6a5)}.is-pending{cursor:default}.welcome-strip{background:var(--forest);color:#fff;border-radius:32px;grid-template-columns:auto 1.1fr .9fr auto;align-items:center;gap:clamp(1.5rem,4vw,4rem);margin:0 clamp(1rem,3vw,3rem) 3rem;padding:clamp(2rem,5vw,4.5rem);display:grid}.welcome-strip>img{filter:invert();opacity:.85}.welcome-strip h2{margin-bottom:0;font-size:clamp(2.2rem,4vw,4.5rem)}.welcome-strip p{color:#ffffffbf;margin-bottom:0}.site-footer{border-top:1px solid var(--line);color:#555b54;grid-template-columns:1.2fr repeat(3,1fr);gap:2rem;padding:3rem clamp(1rem,5vw,5rem);font-size:.86rem;display:grid}.site-footer p{color:var(--ink);margin-bottom:.25rem;font-weight:700}.site-footer a{text-decoration:none}.site-footer address{font-style:normal}.site-footer>div:last-child{flex-direction:column;align-items:flex-start;display:flex}.site-footer>div:last-child>a{align-items:center;min-height:28px;padding-block:.25rem;display:inline-flex}.footer-brand{align-items:center;gap:1rem;display:flex}.footer-brand div{flex-direction:column;display:flex}.footer-brand strong{font-family:var(--serif);color:var(--ink);font-size:1.35rem}.guide-hero{padding:clamp(3rem,6vw,5.5rem) var(--page-gutter) clamp(3rem,5vw,5rem);background:var(--cream)}.guide-hero .breadcrumb{margin-bottom:clamp(2rem,5vw,4rem)}.guide-hero h1{max-width:1050px;margin:0 0 1.5rem;font-size:clamp(3.5rem,7vw,7rem)}.guide-hero>p{color:#50584f;max-width:720px;font-size:clamp(1.05rem,1.6vw,1.28rem)}.guide-section{padding:clamp(4rem,8vw,8rem) var(--page-gutter)}.guide-section+.guide-section{border-top:1px solid var(--line)}.guide-toggle{padding-top:0;padding-bottom:0}.guide-toggle-summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1rem,3vw,2.5rem);min-height:clamp(130px,15vw,190px);padding:clamp(2rem,4vw,3.5rem) 0;list-style:none;display:grid}.guide-toggle-summary::-webkit-details-marker{display:none}.guide-toggle-summary:focus-visible{outline:2px solid var(--forest);outline-offset:6px;border-radius:4px}.guide-toggle-number{color:var(--olive);font-family:var(--serif);align-self:start;font-size:1rem}.guide-toggle-summary h2{max-width:900px;margin:.4rem 0 0;font-size:clamp(2.4rem,5vw,5.2rem);line-height:.98;transition:color .25s,transform .35s cubic-bezier(.22,.8,.3,1)}.guide-toggle-summary:hover h2{color:var(--forest);transform:translate(.16em)}.guide-toggle-mark{border:1px solid var(--line);border-radius:50%;width:52px;height:52px;transition:background .3s,border-color .3s,transform .4s cubic-bezier(.22,.8,.3,1);position:relative}.guide-toggle-mark:before,.guide-toggle-mark:after{content:"";background:var(--forest);width:17px;height:1.5px;transition:transform .35s,background .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.guide-toggle-mark:after{transform:translate(-50%,-50%)rotate(90deg)}.guide-toggle[open] .guide-toggle-mark{background:var(--forest);border-color:var(--forest);transform:rotate(180deg)}.guide-toggle[open] .guide-toggle-mark:before,.guide-toggle[open] .guide-toggle-mark:after{background:#fff}.guide-toggle[open] .guide-toggle-mark:after{transform:translate(-50%,-50%)rotate(0)}.guide-toggle-body{height:auto;overflow:hidden}.guide-toggle-inner{padding:0 0 clamp(4rem,7vw,7rem)}.guide-toggle-intro{color:#565d55;max-width:680px;margin:0 0 clamp(2rem,4vw,3.5rem);font-size:1.05rem}.guide-section-heading{grid-template-columns:1.2fr .8fr;align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.guide-section-heading h2{max-width:820px;margin:0}.guide-section-heading>p{color:#565d55;max-width:520px;margin:0}.restaurant-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.restaurant-card{border-radius:var(--radius);background:var(--white);min-width:0;overflow:hidden}.restaurant-photo{aspect-ratio:16/10;background:#d7d5ca;margin:0;position:relative;overflow:hidden}.restaurant-photo img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.restaurant-card:hover .restaurant-photo img{transform:scale(1.025)}.restaurant-photo figcaption{color:#fff;backdrop-filter:blur(7px);background:#141b16b8;border-radius:999px;padding:.28rem .5rem;font-size:.65rem;position:absolute;bottom:.65rem;right:.65rem}.restaurant-photo figcaption a{color:inherit;text-decoration:none}.restaurant-copy{padding:1.5rem}.restaurant-meta{flex-wrap:wrap;gap:.45rem;display:flex}.restaurant-meta span{background:var(--cream);color:var(--forest);border-radius:999px;padding:.35rem .55rem;font-size:.7rem;font-weight:750}.restaurant-copy h3{margin:1.25rem 0 .85rem;font-size:clamp(1.8rem,2.5vw,2.6rem)}.restaurant-copy>p{color:#565d55;min-height:5.2em}.guide-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.4rem;display:flex}.guide-actions a{border:1px solid var(--line);min-height:42px;color:var(--forest);border-radius:999px;align-items:center;gap:.35rem;padding:.55rem .75rem;font-size:.74rem;font-weight:750;text-decoration:none;display:inline-flex}.guide-actions a:first-child{background:var(--forest);color:#fff}.guide-actions .material-symbols-rounded{font-size:1.05rem}.delivery-panel{border-radius:var(--radius);background:var(--forest);color:#fff;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(2.5rem,5vw,4rem);padding:clamp(1.5rem,3vw,2.4rem);display:grid}.delivery-heading h3{color:#fff;margin:.55rem 0 .75rem;font-size:clamp(2rem,3vw,3.2rem)}.delivery-heading .eyebrow,.delivery-heading p{color:#ffffffbf}.delivery-heading p{max-width:460px;margin:0}.delivery-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.delivery-card{background:#ffffff1a;border:1px solid #ffffff29;border-radius:20px;grid-template-columns:auto 1fr;gap:1rem;min-width:0;padding:1.25rem;display:grid}.delivery-icon{background:var(--cream);width:46px;height:46px;color:var(--forest);border-radius:50%;flex:none;place-items:center;font-size:1.5rem;display:grid}.delivery-note{color:#ffffffad;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:750}.delivery-copy h4{color:#fff;font-family:var(--serif);margin:.3rem 0 .55rem;font-size:1.55rem;font-weight:500}.delivery-copy p{color:#ffffffc2;margin:0;font-size:.88rem}.delivery-card .guide-actions{margin-top:1rem}.delivery-card .guide-actions a{color:#fff;border-color:#ffffff40;min-height:38px;padding:.45rem .65rem;font-size:.68rem}.delivery-card .guide-actions a:first-child{background:var(--cream);color:var(--forest)}.visit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.visit-card{border-radius:var(--radius);background:var(--cream);min-width:0;overflow:hidden}.visit-photo{aspect-ratio:4/3;background:#d7d5ca;margin:0;position:relative;overflow:hidden}.visit-photo img,.activity-photo img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.visit-card:hover .visit-photo img,.activity-card:hover .activity-photo img{transform:scale(1.025)}.visit-photo figcaption,.activity-photo figcaption{color:#fff;backdrop-filter:blur(7px);background:#141b16b8;border-radius:999px;padding:.26rem .48rem;font-size:.61rem;position:absolute;bottom:.6rem;right:.6rem}.visit-copy{flex-direction:column;min-height:285px;padding:1.5rem;display:flex}.visit-copy>div{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.visit-number{color:var(--olive);font-family:var(--serif);font-size:1.25rem}.visit-place,.activity-detail{color:#646b63;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:750}.visit-card h3{margin:1.6rem 0 .75rem;font-size:clamp(1.8rem,2.6vw,2.65rem)}.visit-card p{color:#565d55;margin:0 0 1.3rem}.visit-card a,.activity-card a{color:var(--forest);margin-top:auto;font-size:.8rem;font-weight:750}.activity-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.activity-card{border-radius:var(--radius);background:var(--white);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-width:0;display:grid;overflow:hidden}.activity-photo{background:#d7d5ca;min-height:360px;margin:0;position:relative;overflow:hidden}.activity-copy{flex-direction:column;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.activity-copy>.material-symbols-rounded{color:var(--forest);margin-bottom:1.25rem;font-size:2.3rem}.activity-card h3{margin:1rem 0;font-size:clamp(2rem,3.5vw,3.5rem)}.activity-card p{color:#565d55}.producer-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.producer-card{border-radius:var(--radius);background:var(--cream);grid-template-columns:auto 1fr;gap:clamp(1.25rem,3vw,2.5rem);min-width:0;padding:clamp(1.5rem,3vw,2.5rem);display:grid}.producer-icon{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;font-size:2rem;display:grid}.producer-type{color:var(--olive);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:750}.producer-copy h3{margin:.7rem 0 .85rem;font-size:clamp(2rem,3.2vw,3.2rem)}.producer-copy>p{color:#565d55}.destination-hero{grid-template-columns:1.2fr .8fr;min-height:calc(100vh - 76px);display:grid}.destination-visual{padding:1rem 0 1rem 1rem}.destination-visual .photo-placeholder{border-radius:22px;min-height:calc(100vh - 108px)}.destination-visual{position:relative}.destination-visual>picture{display:block}.destination-visual img{object-fit:cover;border-radius:22px;width:100%;height:calc(100vh - 108px);min-height:650px;display:block}.image-context{color:var(--forest);letter-spacing:.04em;background:#fffdfaeb;border-radius:999px;margin:0;padding:.65rem .9rem;font-size:.74rem;font-weight:800;position:absolute;bottom:2rem;left:2rem}.destination-intro{align-self:center;padding:clamp(3rem,7vw,7rem)}.destination-intro h1{margin:1rem 0 1.5rem}.destination-intro p{color:#545b53;max-width:540px;font-size:1.1rem}.breadcrumb{color:#60665f;margin-bottom:4rem;font-size:.8rem;text-decoration:none;display:block}.resort-features{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0 clamp(1rem,5vw,5rem);display:grid}.resort-features>div{border-right:1px solid var(--line);padding:3rem 2rem}.resort-features>div:last-child{border:0}.resort-features>div>span{font-family:var(--serif);color:var(--olive)}.resort-features h2{margin:2rem 0 .75rem;font-size:2.1rem}.resort-features p{color:#596058;margin:0}.apartment-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.apartment-card{cursor:pointer;background:#edeae1;border-radius:22px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.apartment-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1d2b201f}.apartment-card:focus-within{outline-offset:3px;outline:3px solid #cb8f45}.apartment-card a:after{content:"";z-index:1;position:absolute;inset:0}.apartment-card a:focus-visible{outline:0}.apartment-card .photo-placeholder,.apartment-card-image{aspect-ratio:4/3;width:100%;min-height:0;position:relative;overflow:hidden}.apartment-card-image img{object-fit:cover;width:100%;height:100%;display:block}.apartment-card>div:last-child{padding:1.5rem}.apartment-card h3{margin:.4rem 0;font-size:2.25rem}.apartment-card p{color:#5a615a;min-height:3.2em}.apartment-card a{font-weight:700}.apartment-card>div>span:last-child{color:#777d77;font-size:.88rem}.apartment-title{padding:clamp(2.5rem,5vw,5rem) var(--page-gutter) clamp(2rem,4vw,3.5rem)}.apartment-title .breadcrumb{margin-bottom:1.35rem}.apartment-title h1{margin:.15rem 0 0;font-size:clamp(3.5rem,6vw,6.8rem)}.apartment-title .intro{color:#565d55;max-width:780px;margin-top:1.75rem;font-size:1.1rem}.property-cin{color:#535b52;letter-spacing:.02em;margin:.8rem 0 0;font-size:.85rem}.property-cin strong{color:var(--ink);font-weight:700}.property-gallery{position:relative}.property-gallery--hero{padding:clamp(1rem,2vw,1.5rem) var(--page-gutter) 0}.property-gallery-grid{gap:.55rem;display:grid;overflow:hidden}.property-gallery--hero .property-gallery-grid{border-radius:24px;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr 1fr;height:min(68vh,690px);min-height:460px}.property-gallery--hero.property-gallery--single .property-gallery-grid{height:min(68vh,690px);display:block}.property-gallery--single .property-gallery-item{width:100%;height:100%}.property-gallery-item{cursor:zoom-in;background:#d9d8cf;border:0;min-width:0;padding:0;position:relative;overflow:hidden}.property-gallery-item picture{width:100%;height:100%;display:block}.property-gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.22,.8,.3,1),filter .3s;display:block}.property-gallery-item:hover img{filter:brightness(.94);transform:scale(1.025)}.property-gallery-main{grid-row:1/3}.property-gallery--hero .property-gallery-item:nth-child(n+6),.gallery-mobile-counter{display:none}.gallery-show-all{color:var(--ink);background:#fffdfaf0;border:1px solid #24292333;border-radius:10px;align-items:center;gap:.45rem;padding:.65rem .9rem;font-size:.78rem;font-weight:750;display:flex;position:absolute;bottom:1rem;right:1rem;box-shadow:0 4px 18px #141c161f}.gallery-show-all .material-symbols-rounded{font-size:1.15rem}body.lightbox-open{overflow:hidden}.property-lightbox{color:#fff;opacity:0;background:#171b18;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;transition:opacity .18s;overflow:hidden}.property-lightbox::backdrop{background:#171b18}.property-lightbox[open]{opacity:1;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;display:grid}.property-lightbox.is-closing{opacity:0}.lightbox-toolbar{z-index:2;background:linear-gradient(#0c0f0db8,#0000);align-items:center;min-height:72px;padding:1rem 1.25rem;display:flex;position:absolute;inset:0 0 auto}.property-lightbox button{color:#fff;cursor:pointer;background:#14191573;border:1px solid #ffffff61;border-radius:50%;place-items:center;width:46px;height:46px;padding:0;display:grid}.lightbox-prev{margin-left:1rem}.lightbox-next{margin-right:1rem}.lightbox-stage{justify-content:center;align-items:center;width:100%;min-width:0;height:100dvh;min-height:0;margin:0;padding:72px 1rem 64px;display:flex;position:relative;overflow:hidden}.lightbox-stage,.lightbox-stage *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.lightbox-photo-wrap{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.lightbox-stage img{object-fit:contain;pointer-events:none;width:100%;height:100%;min-height:0;display:block}.lightbox-stage img[data-lightbox-image]{z-index:1;position:relative}.lightbox-stage img.lightbox-outgoing{pointer-events:none;position:absolute;inset:0}.lightbox-common-pill{z-index:2;color:#fff;white-space:nowrap;backdrop-filter:blur(8px);background:#121914c7;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:.4rem;padding:.48rem .72rem;font-size:.74rem;font-weight:750;display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.lightbox-common-pill[hidden]{display:none}.lightbox-common-pill .material-symbols-rounded{font-size:1.1rem}.lightbox-meta{z-index:2;text-align:center;color:#ffffffc7;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:2.8rem;font-size:.84rem;display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem}.lightbox-counter{color:#fff;font-weight:750}.apartment-content{padding:0 var(--page-gutter) clamp(2rem,4vw,4rem);grid-template-columns:minmax(0,1fr) minmax(330px,.42fr);align-items:start;gap:clamp(3rem,6vw,7rem);display:grid}.house-rules{padding:0 var(--page-gutter) clamp(6rem,10vw,10rem)}.house-rules details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.house-rules summary{cursor:pointer;min-height:82px;font-family:var(--serif);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;font-size:clamp(1.6rem,3vw,2.25rem);list-style:none;display:flex}.house-rules summary::-webkit-details-marker{display:none}.house-rules-toggle{border:1px solid var(--line);width:38px;height:38px;font-family:var(--sans);border-radius:50%;flex:none;place-items:center;font-size:1.25rem;transition:transform .2s;display:grid}.house-rules details[open] .house-rules-toggle{transform:rotate(45deg)}.house-rules-content{color:#505850;max-width:760px;padding:0 0 2rem}.house-rules-content ul{margin:0;padding-left:1.25rem;line-height:1.7}.house-rules-content li+li{margin-top:.6rem}.pool-season{color:#505850;margin:1rem 0 1.5rem}.apartment-main,.request-column{min-width:0}.apartment-main>section{border-top:1px solid var(--line);padding:4rem 0}.apartment-main h2{max-width:760px;font-size:clamp(2.4rem,4vw,4.5rem)}.apartment-main>section>p{color:#555c54;max-width:720px;font-size:1.06rem}.pending-facts{background:var(--line);border:1px solid var(--line);border-radius:18px;grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);gap:1px;max-width:780px;margin-top:2.5rem;display:grid;overflow:hidden}.pending-facts>span{background:var(--white);flex-direction:column;padding:1.3rem;display:flex}.pending-facts strong{color:var(--olive);margin-top:.25rem;font-size:.82rem}.bed-breakdown{flex-wrap:wrap;gap:.55rem 1.1rem;margin-top:.75rem;display:flex}.bed-breakdown>span{color:#555c54;align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.bed-breakdown .material-symbols-rounded{color:var(--forest);font-size:1.25rem}.apartment-highlight{background:var(--forest);color:#fff;border-radius:18px;align-items:flex-start;gap:1rem;max-width:780px;margin-top:1rem;padding:1.35rem 1.5rem;display:flex}.apartment-highlight>.material-symbols-rounded{background:var(--cream);width:48px;height:48px;color:var(--forest);border-radius:50%;flex:none;place-items:center;font-size:1.55rem;display:grid}.apartment-highlight strong{font-family:var(--serif);margin-bottom:.25rem;font-size:1.45rem;font-weight:500;line-height:1.1;display:block}.apartment-highlight p{color:#ffffffc7;margin:0;font-size:.9rem}.amenity-groups{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.amenity-group{background:var(--cream);border-radius:18px;padding:1.7rem}.amenity-group h3{margin:0 0 1rem}.amenity-group ul{margin:0;padding:0;list-style:none}.amenity-group li{color:#4e554e;grid-template-columns:28px 1fr;align-items:start;gap:.75rem;display:grid}.amenity-group li+li{margin-top:.85rem}.amenity-icon{color:var(--forest);padding-top:.12rem;font-size:1.35rem}.amenity-group.shared-amenities{background:#e1e6dc}.location-card{grid-template-columns:1fr 1fr;align-items:center;gap:2rem;display:grid}.location-card--text-only{grid-template-columns:minmax(0,720px)}.location-map-wrap{border:1px solid var(--line);background:#f4f2e9;border-radius:22px;min-width:0;overflow:hidden}.location-map{z-index:0;background:#dce2d8;width:100%;min-height:360px}.location-map-footer{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;font-size:.78rem;display:flex}.location-map-note,.location-map-link{align-items:center;gap:.4rem;display:flex}.location-map-note{color:#626961}.location-map-link{color:var(--forest);font-weight:700;text-decoration:none}.location-map-link b{font-size:1rem;font-weight:500}.leaflet-control-attribution{font-family:var(--sans);font-size:10px}.map-placeholder{border:1px dashed var(--olive);text-align:center;color:#647061;background:radial-gradient(circle at 60% 40%,#d5dbcd,#0000 35%),#e9e7dd;border-radius:24px;justify-content:center;align-items:center;min-height:260px;font-weight:700;display:flex}.request-column{position:sticky;top:100px}.request-card{background:var(--white);border-radius:24px;padding:2rem;box-shadow:0 18px 55px #1d2b201a}.request-card h2{margin-bottom:1rem;font-size:2.55rem}.request-card>p{color:#596057}.request-card label{flex-direction:column;gap:.4rem;margin-top:1rem;font-size:.85rem;font-weight:700;display:flex}.request-card input{border:1px solid var(--line);background:var(--paper);width:100%;min-height:48px;color:var(--ink);border-radius:12px;padding:.7rem .8rem}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.request-card small{color:#6b716b;font-weight:400;line-height:1.35}.button-whatsapp{width:100%;margin-top:1.5rem}.text-link{text-align:center;margin-top:1rem;font-size:.85rem;display:block}.form-error{margin:.75rem 0 0;font-size:.86rem;color:#a33a2d!important}.calendar-card{border:1px solid var(--line);background:var(--white);border-radius:24px;padding:2rem clamp(1.35rem,3vw,2.25rem);position:relative}.apartment-main>.calendar-card{padding:2rem clamp(1.35rem,3vw,2.25rem)}.demo-badge{color:#67471e;letter-spacing:.08em;text-transform:uppercase;background:#f3d8ad;border-radius:999px;margin-bottom:1.5rem;padding:.4rem .7rem;font-size:.72rem;font-weight:800;display:inline-block}.calendar-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.calendar-heading h2{margin-bottom:0;font-size:clamp(2.2rem,4vw,4rem)}.month-controls{gap:.5rem;display:flex}.month-controls button{border:1px solid var(--line);background:0 0;border-radius:50%;width:44px;height:44px}.month-controls button:disabled{opacity:.3}.calendar-month{font-family:var(--serif);text-transform:capitalize;margin:2rem 0 1rem;font-size:1.7rem}.calendar-swipe-zone{touch-action:pan-y}.calendar-week,.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;padding-inline:.25rem;display:grid}.calendar-week span{color:#6a716a;padding:.3rem;font-size:.72rem;font-weight:800}.calendar-grid>span,.calendar-grid>button{aspect-ratio:1;box-sizing:border-box;border-radius:10px;place-items:center;width:100%;min-width:0;font-size:.9rem;display:grid}.calendar-grid .is-open{background:#eff1ea}.calendar-grid .is-blocked{color:#6d6c67;background:repeating-linear-gradient(135deg,#d7d1c4,#d7d1c4 5px,#ebe7dd 5px 10px);text-decoration:line-through}.calendar-legend{flex-wrap:wrap;gap:1.5rem;margin-top:1.2rem;font-size:.8rem;line-height:1.45;display:flex;position:relative}.calendar-legend span{align-items:center;gap:.45rem;display:flex}.calendar-legend i{background:#eff1ea;border-radius:4px;width:14px;height:14px}.calendar-legend .legend-blocked{background:#d7d1c4}.calendar-disclaimer{border-top:1px solid var(--line);padding-top:1.2rem;margin:1.2rem 0 0!important;font-size:.82rem!important}.contact-page{padding:clamp(2.5rem,5vw,5rem) var(--page-gutter) clamp(5rem,8vw,8rem)}.contact-intro{max-width:790px;margin-bottom:clamp(2.5rem,5vw,5rem)}.contact-intro .breadcrumb{margin-bottom:3rem}.contact-intro h1{margin-bottom:1.5rem}.contact-intro>p{color:#555d55;max-width:640px;font-size:1.12rem}.contact-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.contact-option{border:1px solid var(--line);background:var(--white);border-radius:24px;flex-direction:column;min-width:0;min-height:300px;padding:clamp(1.5rem,3vw,2.5rem);text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex}.contact-option:hover{transform:translateY(-4px);box-shadow:0 16px 40px #1d2b201a}.contact-option h2{margin:1.6rem 0 .65rem;font-size:clamp(2.5rem,4vw,4rem)}.contact-option strong{overflow-wrap:anywhere;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:500}.contact-option-action{color:var(--forest);margin-top:auto;padding-top:2rem;font-size:.88rem;font-weight:750}.contact-whatsapp{background:var(--forest);color:#fff;border-radius:24px;justify-content:space-between;align-items:end;gap:2rem;margin-top:1rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.contact-whatsapp h2{margin-bottom:.75rem;font-size:clamp(2.3rem,4vw,4rem)}.contact-whatsapp p{color:#fffc;max-width:620px;margin:0}.footer-privacy{color:#475348;margin-top:.9rem;font-size:.85rem}.footer-privacy:hover{text-decoration:underline}.privacy-page{max-width:900px;padding:clamp(2.5rem,5vw,5rem) var(--page-gutter) clamp(5rem,8vw,8rem);margin:auto}.privacy-page .breadcrumb{margin-bottom:2.5rem;display:inline-block}.privacy-page h1{margin-bottom:1.5rem;font-size:clamp(3rem,8vw,5.8rem)}.privacy-lead{max-width:680px;font-size:1.15rem}.privacy-updated{color:var(--olive);margin:1.75rem 0 3rem;font-size:.85rem}.privacy-page section{border-top:1px solid var(--line);padding:1.75rem 0}.privacy-page h2{margin-bottom:1rem;font-size:clamp(1.8rem,4vw,2.5rem)}.privacy-page section p{max-width:740px;margin:0;line-height:1.75}.privacy-page section a{text-decoration-color:var(--olive);text-underline-offset:.2em;overflow-wrap:anywhere}.mobile-sticky-cta{display:none}[data-reveal]{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}[data-reveal].is-visible{opacity:1;transform:none}@media (width<=1100px){.contact-options{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-option--email{grid-column:1/-1}.desktop-nav{display:none}.menu-toggle{display:inline-grid}.desktop-contact{display:none}.welcome-strip{grid-template-columns:auto 1fr 1fr}.welcome-strip .button{grid-column:2/4;justify-self:start}.destination-card a{grid-template-columns:1fr}.destination-card .photo-placeholder,.destination-image{aspect-ratio:16/9;min-height:0}.destination-image img{min-height:0}.apartment-grid,.home-destinations .destinations-grid{grid-template-columns:1fr 1fr}.home-destinations .destination-card>a{aspect-ratio:16/9}.restaurant-grid,.visit-grid{grid-template-columns:1fr 1fr}.delivery-panel,.producer-card{grid-template-columns:1fr}}@media (width<=760px){.contact-page{padding-top:2rem}.contact-intro .breadcrumb{margin-bottom:2rem}.contact-options{grid-template-columns:1fr}.contact-option--email{grid-column:auto}.contact-option{min-height:220px}.contact-whatsapp{flex-direction:column;align-items:start}body{padding-top:66px;padding-bottom:76px}.site-header{min-height:66px}.brand span{font-size:1.15rem}h1{font-size:clamp(3.2rem,16vw,5.2rem)}.home-hero{min-height:calc(100svh - 142px);padding-top:3rem;padding-bottom:3rem}.hero-copy{order:1}.destinations-section,.apartments-section{padding-top:6rem}.split-heading{grid-template-columns:1fr;align-items:start}.destinations-grid,.destination-card a{grid-template-columns:1fr}.destination-card .photo-placeholder,.destination-image{aspect-ratio:16/9;min-height:0}.destination-image img{min-height:0}.destination-copy{min-height:290px}.home-destinations{padding-top:2.25rem}.home-destinations .section-heading h1{font-size:clamp(3rem,15vw,4.8rem)}.home-destinations .destinations-grid{grid-template-columns:1fr}.home-destinations .destination-copy{min-height:0}.home-destinations .destination-copy p{display:none}.home-destinations .card-link{padding-top:.55rem}.guide-hero{padding-top:3rem;padding-bottom:3rem}.guide-hero .breadcrumb{margin-bottom:2rem}.guide-hero h1{font-size:clamp(3.2rem,15vw,5rem)}.guide-section-heading{grid-template-columns:1fr;align-items:start}.guide-toggle-summary{grid-template-columns:28px minmax(0,1fr) 42px;gap:.65rem;min-height:116px;padding:1.65rem 0}.guide-toggle-summary h2{font-size:clamp(2rem,10vw,3rem)}.guide-toggle-mark{width:42px;height:42px}.guide-toggle-inner{padding-bottom:4rem}.restaurant-grid,.visit-grid,.activity-grid,.producer-grid{grid-template-columns:1fr}.restaurant-copy>p{min-height:0}.visit-copy{min-height:270px}.delivery-grid{grid-template-columns:1fr}.delivery-card{padding:1rem}.activity-card{grid-template-columns:1fr;min-height:0}.activity-photo{aspect-ratio:16/10;min-height:0}.activity-card h3{margin-top:.75rem}.producer-card{grid-template-columns:auto 1fr}.producer-icon{width:52px;height:52px;font-size:1.65rem}.welcome-strip{grid-template-columns:1fr;margin-bottom:1rem}.welcome-strip .button{grid-column:auto}.welcome-strip>img{width:80px}.site-footer{grid-template-columns:1fr;padding-bottom:3rem}.destination-hero{grid-template-columns:1fr}.destination-intro{order:1;padding:3rem 1rem}.destination-visual{order:2;padding:0 1rem 1rem}.destination-visual .photo-placeholder,.destination-visual img{height:58vh;min-height:420px}.destination-intro .breadcrumb{margin-bottom:2rem}.resort-features{grid-template-columns:1fr}.resort-features>div{border-right:0;border-bottom:1px solid var(--line)}.apartment-grid{grid-template-columns:1fr}.property-gallery--hero{padding:0}.property-gallery--hero .property-gallery-grid,.property-gallery--hero.property-gallery--single .property-gallery-grid{border-radius:0;height:auto;min-height:0;display:block}.property-gallery--hero .property-gallery-item{display:none}.property-gallery--hero .property-gallery-item:first-child{aspect-ratio:4/3;width:100%;display:block}.property-gallery-main{grid-row:auto}.gallery-mobile-counter{color:#fff;background:#141b16bf;border-radius:999px;padding:.45rem .7rem;font-size:.72rem;font-weight:750;display:block;position:absolute;bottom:2rem;right:1rem}.gallery-show-all{display:none}.apartment-title{padding-top:2.25rem}.apartment-title .breadcrumb{margin-bottom:1rem}.apartment-title h1{font-size:clamp(3.4rem,16vw,5.2rem)}.apartment-title .intro{margin-top:1.25rem}.apartment-highlight{padding:1.1rem}.apartment-highlight>.material-symbols-rounded{width:42px;height:42px}.apartment-sheet{z-index:2;background:var(--paper);border-radius:26px 26px 0 0;margin-top:-24px;position:relative}.property-lightbox[open]{grid-template-columns:1fr}.property-lightbox .lightbox-prev,.property-lightbox .lightbox-next{z-index:3;backdrop-filter:blur(8px);background:#1419155c;border-color:#ffffff40;width:38px;height:38px;margin:0;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.property-lightbox .lightbox-prev{left:.5rem}.property-lightbox .lightbox-next{right:.5rem}.property-lightbox .lightbox-prev .material-symbols-rounded,.property-lightbox .lightbox-next .material-symbols-rounded{font-size:1.4rem}.lightbox-stage{touch-action:pan-y;cursor:pointer;padding:72px .5rem 64px}.lightbox-common-pill{top:.5rem}.apartment-content{flex-direction:column;gap:0;display:flex}.apartment-main{display:contents}.apartment-main>.calendar-card{order:1}.request-column{order:2;margin:2rem 0 1rem;position:static}.apartment-main>.amenities{order:3}.apartment-main>.nearby-note{order:4}.apartment-main>.location-card{order:5}.pending-facts,.amenity-groups,.location-card{grid-template-columns:1fr}.location-map{min-height:300px}.location-map-footer{flex-direction:column;align-items:flex-start}.request-card{scroll-margin-top:90px}.apartment-main>.calendar-card{padding:1.5rem 1rem}.calendar-week,.calendar-grid{padding-inline:.35rem}.month-controls button{width:42px;height:42px}.mobile-sticky-cta{z-index:28;background:var(--forest);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:52px;font-weight:800;text-decoration:none;display:flex;position:fixed;bottom:.75rem;left:1rem;right:1rem;box-shadow:0 12px 30px #12281c40}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
