:root{--forest:#102e24;--deep:#0b211a;--cream:#f5f3ea;--lime:#c6dc83;--ink:#1b3028;--muted:#69786d;--line:#d5dcd0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{outline-offset:4px}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #a4c05c}.skip{position:absolute;top:-100px;left:1rem;z-index:20;background:white;padding:1rem}.skip:focus{top:1rem}.header{height:90px;position:absolute;top:0;left:0;width:100%;z-index:5;display:flex;align-items:center;padding:0 5%;gap:3rem;color:white;border-bottom:1px solid #ffffff35}.brand{display:flex;flex-direction:column;line-height:.9;letter-spacing:.19em;min-width:160px}.brand span{font-size:.63rem;font-weight:700}.brand strong{font-family:'Playfair Display',serif;font-size:1.8rem;letter-spacing:.13em;font-weight:500;margin-top:5px}.header nav{display:flex;gap:2rem;margin:auto;font-size:.82rem}.header nav a:hover,.text-link:hover{color:var(--lime)}.header-actions{display:flex;align-items:center;gap:1rem}.language,.menu{background:none;border:1px solid #ffffff80;border-radius:50%;color:white;width:42px;height:42px;cursor:pointer;font-size:.75rem}.menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;background:var(--lime);color:#142c20;border-radius:100px;padding:1rem 1.5rem;font-size:.85rem;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#e0edae;transform:translateY(-2px)}.button.small{font-size:.75rem;padding:.85rem 1.2rem}.hero{min-height:760px;height:93vh;max-height:1000px;position:relative;display:flex;align-items:center;color:white;background:var(--deep)}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,17,.88) 0%,rgba(4,24,17,.62) 50%,rgba(4,24,17,.18) 100%),url('/assets/playa.jpg') center/cover}.hero-content{position:relative;width:min(850px,90%);margin:5rem 0 0 8%}.eyebrow{font-size:.7rem;letter-spacing:.2em;font-weight:700;color:#657b42;margin:0 0 1.6rem}.eyebrow.light{color:#d6e8a6}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.07}h1{font-size:clamp(3.3rem,6vw,6.5rem);margin-bottom:1.6rem}h1 em,h2 em{font-weight:400;color:var(--lime)}.hero-copy{max-width:570px;font-size:1.05rem;line-height:1.75;color:#e0e8df}.actions{display:flex;align-items:center;gap:2rem;margin-top:2rem}.text-link{font-size:.86rem;font-weight:700}.hero-note{position:absolute;bottom:2rem;left:8%;right:5%;display:flex;justify-content:space-between;font-size:.6rem;letter-spacing:.18em;color:#e1ebd5}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:1rem;background:#d2e29d;color:#27402b;min-height:65px;padding:1rem 4%;font-size:.65rem;letter-spacing:.15em;font-weight:700}.ribbon i{font-style:normal;font-size:1rem}.section{padding:110px 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3.5rem}.section-heading h2,.how h2,.about h2,.contact h2{font-size:clamp(2.6rem,4.4vw,4.6rem);margin-bottom:0}.section-heading h2 em,.about h2 em{color:#70875d}.section-heading>p{max-width:390px;line-height:1.8;color:#637269;margin:0}.destination-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.destination{position:relative;min-height:510px;display:flex;align-items:end;color:white;padding:2.4rem;background-position:center;background-size:cover;overflow:hidden}.destination:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,22,15,.8),transparent 70%);transition:background .2s}.destination:hover:before{background:linear-gradient(0deg,rgba(4,22,15,.9),transparent 90%)}.destination>div{position:relative}.destination small{letter-spacing:.18em;font-size:.65rem}.destination h3{font:400 2.6rem 'Playfair Display',serif;margin:1rem 0}.destination h3 em{font-weight:400}.destination span{font-size:.8rem;font-weight:700}.card-one{background-image:url('/assets/playa.jpg')}.card-two{background-image:url('/assets/playa.jpg')}.services{background:#e9ede2}.filters{display:flex;gap:1rem;border-top:1px solid #c7d0c2;padding-top:1.5rem}.filters label{display:flex;flex-direction:column;gap:.5rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;flex:1}.filters select{width:100%;border:1px solid #bac9b8;background:#f8f9f4;padding:1rem;color:var(--ink);border-radius:0}.empty{text-align:center;padding:5rem 1rem 2rem;max-width:600px;margin:auto}.empty-mark{font-size:2rem;color:#819962}.empty h3{font:400 1.7rem 'Playfair Display',serif;margin:1rem 0}.empty p,.about p{line-height:1.8;color:#637269}.underlink{display:inline-block;border-bottom:1px solid #536f46;padding-bottom:.35rem;font-size:.82rem;font-weight:700;margin-top:1rem}.how{background:var(--forest);color:white}.how-top{display:flex;justify-content:space-between;align-items:end;gap:3rem}.how-top>p{max-width:310px;line-height:1.8;color:#c5d1c5}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:5rem}.steps article{border-top:1px solid #7a9483;padding-top:1.5rem}.steps span{color:var(--lime);font:1rem 'Playfair Display',serif}.steps h3{font:400 1.45rem 'Playfair Display',serif;margin:2rem 0 1rem}.steps p,.disclaimer{color:#c5d1c5;line-height:1.7;font-size:.9rem}.disclaimer{border-top:1px solid #4a6956;margin:3rem 0 0;padding-top:1.5rem;font-size:.75rem}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-image{min-height:550px;background:url('/assets/playa.jpg') center/cover}.about-content{max-width:560px}.about h2{margin-bottom:2rem}.contact{text-align:center;background:#779067;color:white}.contact h2{margin-bottom:1.5rem}.contact h2 em{color:#e3eec6}.contact>p:not(.eyebrow){max-width:530px;margin:0 auto;line-height:1.8}.contact-line{display:flex;justify-content:space-between;border-top:1px solid #ffffff70;margin-top:5rem;padding-top:1.3rem;font-size:.7rem;letter-spacing:.12em}footer{background:#0a2119;color:#e7eee3;padding:5rem 8% 2rem}.footer-main{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem}.footer-main p{max-width:260px;line-height:1.7;color:#acbdb0;font-size:.85rem;margin-top:2rem}.footer-main h3{font-size:.65rem;letter-spacing:.15em;color:#adc29f;margin-bottom:1.5rem}.footer-main>div:not(:first-child) a{display:block;font-size:.83rem;margin:.9rem 0}.footer-bottom{border-top:1px solid #395346;margin-top:4rem;padding-top:1.5rem;display:flex;justify-content:space-between;color:#a4b7a8;font-size:.65rem;letter-spacing:.1em}.legal{max-width:800px;margin:0 auto;padding:140px 8%;min-height:70vh}.legal h1{font-size:3.5rem}.legal p{line-height:1.8}.legal-header{position:relative;background:var(--forest)}@media(max-width:850px){.header{height:76px;gap:1rem}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--forest);padding:1.5rem 5%;flex-direction:column;gap:1.3rem}.header nav.open{display:flex}.menu{display:block;margin-left:auto}.header-actions .button{display:none}.hero{min-height:700px;height:90vh}.hero-content{margin-left:6%}.hero-note{left:6%}.section{padding:75px 6%}.section-heading,.how-top{display:block}.section-heading>p,.how-top>p{margin-top:1.5rem}.destination{min-height:390px}.steps{gap:1.5rem}.about{gap:5%}.about-image{min-height:450px}.footer-main{grid-template-columns:1fr 1fr}.ribbon{overflow:hidden;justify-content:flex-start;white-space:nowrap}}@media(max-width:550px){h1{font-size:3.15rem}.hero{min-height:690px}.hero-content{width:88%}.hero-copy{font-size:.95rem}.hero-note span:last-child{display:none}.actions{gap:1.2rem;flex-wrap:wrap}.destination-grid,.about,.steps{grid-template-columns:1fr}.destination{min-height:360px}.destination h3{font-size:2.2rem}.filters{flex-direction:column}.steps{margin-top:3rem;gap:2rem}.steps h3{margin:1rem 0}.about-image{min-height:360px}.about-content{padding-top:2rem}.footer-main{gap:2rem}.footer-main>div:first-child{grid-column:1/-1}.contact-line{font-size:.6rem}.header .brand{min-width:130px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Tropical palette and interaction tokens */
:root{--forest:#123c32;--primary:#236b50;--deep:#123c32;--cream:#faf9f4;--sand:#efe8d8;--sea:#168c91;--gold:#d5ad60;--ink:#24352f;--muted:#50645a;--line:#c8d3c8;--ease-out:cubic-bezier(.23,1,.32,1)}
body{background:var(--cream);color:var(--ink)}::selection{background:#c9e4d5;color:#123c32}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #08757a;outline-offset:4px}.button{background:var(--primary);color:#fff;transition:background-color 200ms ease,box-shadow 200ms ease,transform 160ms var(--ease-out)}.button:hover{background:#174e3b;color:#fff;box-shadow:0 6px 18px #123c322e;transform:translateY(-2px)}.button:active{transform:scale(.97)}.button:disabled,button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.ribbon{background:var(--sand);color:var(--forest)}.services{background:var(--sand)}.how,footer,.legal-header{background:var(--forest)}.contact{background:var(--forest)}.eyebrow{color:#346043}.eyebrow.light{color:#d5e5c1}.section-heading h2 em,.about h2 em{color:#315c49}.hero h1 em,.how h2 em,.contact h2 em{color:#d4e6c7}.contact>p:not(.eyebrow),.how-top>p,.steps p,.disclaimer{color:#e0ebe3}.section-heading>p,.empty p,.about p{color:var(--muted)}.underlink{text-underline-offset:.25em;border-color:var(--primary);transition:color 180ms ease,border-color 180ms ease}.underlink:hover{color:#08757a;border-color:#08757a}.destination{border-radius:12px;transition:transform 200ms var(--ease-out),box-shadow 200ms ease}.destination:hover{transform:translateY(-3px);box-shadow:0 10px 24px #123c3225}.destination:focus-visible{outline-color:#08757a}.service-card{transition:transform 200ms var(--ease-out)}.service-card:hover{transform:translateY(-3px)}
.nature{background:var(--cream)}.nature-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem}.nature-item{margin:0;min-width:0}.nature-feature{grid-column:span 2;grid-row:span 2}.nature-image{overflow:hidden;border-radius:12px;background:#dfe8dd;aspect-ratio:4/3}.nature-feature .nature-image{aspect-ratio:4/3}.nature-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 250ms var(--ease-out)}.nature-item figcaption{display:flex;flex-direction:column;gap:.3rem;padding:.8rem 0 1.1rem}.nature-item strong{font-family:'Playfair Display',Georgia,serif;font-size:1.08rem;font-weight:500}.nature-feature strong{font-size:1.5rem}.nature-item span{font-size:.8rem;line-height:1.5;color:#50645a}.nature-item figcaption a{font-size:.67rem;line-height:1.4;text-decoration:underline;text-underline-offset:.2em;color:#315c49}.nature-note{font-size:.78rem;color:#50645a;margin:1rem 0 0;line-height:1.6}.filters select{border-color:#8b9e8f;transition:border-color 180ms ease,box-shadow 180ms ease}.filters select:hover{border-color:var(--primary)}
@media(hover:hover){.nature-item:hover img{transform:scale(1.025)}}@media(max-width:850px){.nature-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.nature-feature{grid-column:span 2;grid-row:auto}.header nav{display:flex;visibility:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out),visibility 200ms}.header nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}}@media(max-width:550px){.nature-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.nature-feature{grid-column:1/-1}.nature-item span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
[hidden]{display:none!important}
/* Owner photographs: restrained crops, readable copy and a compact gallery. */
.hero-image{background-image:linear-gradient(90deg,rgba(5,26,21,.83),rgba(5,26,21,.38) 65%,rgba(5,26,21,.12)),url('/assets/playa.jpg');background-position:center}
.hero{min-height:680px;height:85vh;max-height:900px}
.hero-content{max-width:760px}
.about-image{background-image:url('/assets/palmeras.jpg');background-position:38% center;min-height:470px}
.nature-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.nature-feature{grid-column:span 2;grid-row:auto}
.nature-image,.nature-feature .nature-image{aspect-ratio:auto;height:310px;border-radius:0}
.nature-item strong,.nature-feature strong{font-size:1.25rem}
.nature-item figcaption{padding:.8rem 0}
.section{padding-top:80px;padding-bottom:80px}
@media(max-width:850px){.nature-image,.nature-feature .nature-image{height:250px}.section{padding-top:60px;padding-bottom:60px}}
@media(max-width:550px){.hero{height:auto;min-height:710px}.hero-image{background-position:60% center}.nature-gallery{grid-template-columns:1fr 1fr;gap:1rem}.nature-feature{grid-column:1/-1}.nature-image,.nature-feature .nature-image{height:245px}.nature-item strong{font-size:1.08rem}.about-image{min-height:340px;background-position:38% center}.contact a{overflow-wrap:anywhere}}

/* Logo supplied by the owner */
.brand{display:inline-flex;align-items:center;justify-content:center;min-width:0;flex:none}.brand img{display:block;width:78px;height:78px;object-fit:contain;background:#fff;border-radius:12px;padding:3px}.footer-brand img{width:124px;height:124px}@media(max-width:850px){.header .brand img,.inside-header .brand img{width:64px;height:64px}}

