:root{--color-cream:#faf5ec;--color-sand:#f0e6d6;--color-sand-dark:#e2d3ba;--color-ink:#2b2621;--color-taupe:#6f6355;--color-white:#fff;--color-terracotta:#c1633d;--color-terracotta-dark:#a34f2f;--color-lemon:#d9a62e;--color-olive:#5c6b47;--color-olive-dark:#46512f;--font-display:"Cormorant Garamond", "Georgia", serif;--font-body:"Jost", "Helvetica Neue", Arial, sans-serif;--container-width:1180px;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:7rem;--radius:2px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-cream);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600;line-height:1.15}.eyebrow{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--color-terracotta-dark);font-size:.78rem;font-weight:500}.container{width:100%;max-width:var(--container-width);padding:0 var(--space-md);margin:0 auto}.section{padding:var(--space-xl) 0}.section--tight{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.section--sand{background:var(--color-sand)}.btn{border:1px solid var(--color-ink);border-radius:var(--radius);letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:.9rem 2rem;font-size:.85rem;font-weight:500;transition:background .25s,color .25s,border-color .25s;display:inline-block}.btn:hover{background:var(--color-ink);color:var(--color-white)}.btn-primary{background:var(--color-terracotta);border-color:var(--color-terracotta);color:var(--color-white)}.btn-primary:hover{background:var(--color-terracotta-dark);border-color:var(--color-terracotta-dark)}.link-underline{border-bottom:1px solid var(--color-ink);letter-spacing:.14em;text-transform:uppercase;padding-bottom:.35rem;font-size:.82rem;font-weight:500;transition:opacity .2s;display:inline-block}.link-underline:hover{opacity:.6}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:780px){:root{--space-xl:4.5rem;--space-lg:3rem}}.site-header{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-sand-dark);background:#faf5eceb;width:100%;transition:background .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:sticky;top:0}.site-header--fixed{position:fixed;top:0;left:0}.site-header--transparent{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#00000073,#0000);border-bottom-color:#0000}.site-header--transparent .site-header__nav a{color:var(--color-white)}.site-header--transparent .site-header__nav a.is-active,.site-header--transparent .site-header__nav a:hover{border-color:var(--color-white)}.site-header--transparent .site-header__langs a{color:var(--color-white)}.site-header--transparent .mobile-menu__toggle--light span{background:var(--color-white)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:.85rem;padding-bottom:.85rem;display:flex}.site-header__brand{align-items:center;min-width:0;display:flex}.site-header__logo{flex-shrink:0;width:auto;height:4.2rem}.site-header__nav{gap:var(--space-md);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-weight:500;display:flex}.site-header__nav a{border-bottom:1px solid #0000;padding-bottom:.2rem}.site-header__nav a.is-active,.site-header__nav a:hover{border-color:var(--color-terracotta)}.site-header__actions{align-items:center;gap:var(--space-md);display:flex}.site-header__langs{letter-spacing:.05em;font-size:.8rem}.site-header__langs a{opacity:.55}.site-header__langs a.is-active{opacity:1;font-weight:600}.site-header__lang-sep{opacity:.4;margin:0 .3rem}.btn--small{padding:.6rem 1.3rem;font-size:.75rem}.mobile-menu{display:none}@media (max-width:900px){.site-header__nav{display:none}.mobile-menu{display:block;position:relative}}.mobile-menu__toggle{background:0 0;border:none;flex-direction:column;justify-content:center;gap:6px;width:34px;height:34px;padding:0;display:flex}.mobile-menu__toggle span{background:var(--color-ink);width:100%;height:2px;display:block}.mobile-menu__close{top:1.3rem;right:var(--space-md);z-index:110;background:0 0;border:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex;position:fixed}.mobile-menu__close span{background:var(--color-ink);width:22px;height:2px;position:absolute}.mobile-menu__close span:first-child{transform:rotate(45deg)}.mobile-menu__close span:last-child{transform:rotate(-45deg)}.mobile-menu__overlay{z-index:100;justify-content:center;gap:var(--space-lg);padding:var(--space-xl) var(--space-md) var(--space-lg);background:var(--color-cream);flex-direction:column;animation:.3s mobileMenuIn;display:flex;position:fixed;inset:0}@keyframes mobileMenuIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.mobile-menu__links{flex-direction:column;gap:1.4rem;display:flex}.mobile-menu__links a{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);font-size:clamp(1.6rem,7vw,2.4rem);font-weight:500}.mobile-menu__links a.is-active{color:var(--color-terracotta-dark)}.mobile-menu__footer{justify-content:center;display:flex}.mobile-menu__langs{letter-spacing:.08em;font-size:.85rem}.mobile-menu__langs a{opacity:.55}.mobile-menu__langs a.is-active{opacity:1;font-weight:600}@media (max-width:480px){.site-header__inner{gap:.75rem}.site-header__logo{height:3.1rem}.site-header__actions{gap:.6rem}.site-header__langs{font-size:.72rem}.btn--small{padding:.55rem .9rem;font-size:.68rem}}.site-footer{background:var(--color-ink);color:var(--color-cream);padding:var(--space-lg) 0 var(--space-md)}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid #faf5ec26;flex-wrap:wrap;display:flex}.site-footer__brand{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.site-footer__logo{width:auto;height:3.4rem}.site-footer__location{opacity:.65;font-size:.85rem}.site-footer__nav{gap:var(--space-md);opacity:.85;font-size:.85rem;display:flex}.site-footer__rights{width:100%;padding-top:var(--space-md);opacity:.5;font-size:.78rem}.hero{min-height:92vh;color:var(--color-white);align-items:flex-end;display:flex;position:relative;overflow:hidden}@media (max-width:600px){.hero{min-height:78vh}}.hero__media{background:var(--color-taupe);position:absolute;inset:0}.hero__media img{object-fit:cover;width:100%;height:100%}.hero__media:after{content:"";pointer-events:none;background:linear-gradient(#2b26211a 0%,#2b2621d9 100%);position:absolute;inset:0}.hero__content{padding-top:var(--space-xl);padding-bottom:var(--space-lg);position:relative}.hero__eyebrow{color:var(--color-cream);opacity:.85}.hero__title{margin:.6rem 0 1rem;font-size:clamp(2.6rem,6vw,4.5rem)}.hero__subtitle{opacity:.92;max-width:42ch;font-size:clamp(1.15rem,2.2vw,1.4rem);font-weight:300}.hero__ctas{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.hero__ctas .btn{border-color:var(--color-white);color:var(--color-white)}.hero__ctas .btn:hover{background:var(--color-white);color:var(--color-ink)}.split{gap:var(--space-lg);grid-template-columns:1fr 1fr;align-items:center;display:grid}.split--reverse .split__media{order:2}.split__media img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);width:100%}.split__media--landscape img{aspect-ratio:1400/1128}.split__content h2{margin:.6rem 0 1.2rem;font-size:clamp(1.8rem,3vw,2.6rem)}.split__content p+p{margin-top:1rem}@media (max-width:860px){.split{grid-template-columns:1fr}.split--reverse .split__media{order:0}}.facts{padding:var(--space-md) 0;background:var(--color-sand)}.facts__grid{justify-content:center;align-items:center;gap:1rem var(--space-lg);flex-wrap:wrap;display:flex}.facts__item{align-items:center;gap:.65rem;font-size:.92rem;display:flex}.facts__icon{color:var(--color-terracotta-dark);justify-content:center;align-items:center;display:flex}.facts__icon svg{width:22px;height:22px}@media (max-width:700px){.facts__grid{gap:.9rem var(--space-md);grid-template-columns:1fr 1fr;display:grid}}.section-heading{max-width:60ch;margin-bottom:var(--space-lg)}.section-heading h2{margin-top:.6rem;font-size:clamp(1.8rem,3vw,2.6rem)}.section-heading p{color:var(--color-taupe);margin-top:1rem}.section-heading--center{text-align:center;margin-left:auto;margin-right:auto}.gallery-grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}.gallery-grid__item{background:var(--color-white);border:1px solid var(--color-sand-dark);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.gallery-grid__media{overflow:hidden}.gallery-grid__item img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .5s}.gallery-grid__item:hover img{transform:scale(1.04)}.gallery-grid__body{padding:var(--space-sm)}.gallery-grid__body h3{margin-bottom:.5rem;font-size:1.25rem}.gallery-grid__body p{color:var(--color-taupe);font-size:.92rem}@media (max-width:780px){.gallery-grid{grid-template-columns:1fr}}.amenities-list{grid-template-columns:repeat(2,1fr);gap:.9rem 2rem;max-width:720px;list-style:none;display:grid}.amenities-list li{padding-left:1.4rem;font-size:1rem;position:relative}.amenities-list li:before{content:"";background:var(--color-terracotta);border-radius:50%;width:7px;height:7px;position:absolute;top:.55em;left:0}@media (max-width:600px){.amenities-list{grid-template-columns:1fr}}.booking-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.booking-card{background:var(--color-white);border:1px solid var(--color-sand-dark);border-radius:var(--radius);padding:var(--space-md)}.booking-card h3{margin-bottom:.8rem;font-size:1.4rem}.booking-card p{color:var(--color-taupe);margin-bottom:1.4rem}.form__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form__field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form__field label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-taupe);font-size:.78rem}.form__field input,.form__field textarea{font-family:var(--font-body);border:1px solid var(--color-sand-dark);border-radius:var(--radius);background:var(--color-cream);padding:.75rem .9rem;font-size:.95rem}.form__field input:focus,.form__field textarea:focus{border-color:var(--color-terracotta);outline:none}.form__note{color:var(--color-taupe);margin-top:.8rem;font-size:.78rem}.form__alert{border-radius:var(--radius);border:1px solid #0000;margin-top:1rem;padding:.9rem 1.1rem;font-size:.9rem;line-height:1.5}.form__alert--success{border-color:var(--color-olive);color:var(--color-olive-dark);background:#eef1e7}.form__alert--error{border-color:var(--color-terracotta);color:var(--color-terracotta-dark);background:#f8e9e3}.form__honeypot{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:860px){.booking-grid,.form__row{grid-template-columns:1fr}}.poi-hero{padding-top:var(--space-lg);padding-bottom:var(--space-md);text-align:center}.poi-hero .eyebrow{display:block}.poi-hero h1{margin:.6rem 0 1rem;font-size:clamp(2.2rem,4vw,3.2rem)}.poi-hero p{max-width:60ch;color:var(--color-taupe);margin:0 auto}.poi-filters{margin:var(--space-md) 0 var(--space-lg);flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.poi-filter-btn{border:1px solid var(--color-sand-dark);letter-spacing:.03em;background:var(--color-white);border-radius:999px;padding:.55rem 1.2rem;font-size:.82rem;transition:background .2s,color .2s,border-color .2s}.poi-filter-btn:hover{border-color:var(--color-terracotta)}.poi-filter-btn.is-active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-white)}.poi-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.poi-card{background:var(--color-white);border:1px solid var(--color-sand-dark);border-radius:var(--radius);overflow:hidden}.poi-card--placeholder{opacity:.85;border-style:dashed}.poi-card__image{position:relative}.poi-card__image img{aspect-ratio:4/3;object-fit:cover;width:100%}.poi-card__badge{background:var(--color-terracotta);color:var(--color-white);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.3rem .6rem;font-size:.68rem;position:absolute;top:.8rem;right:.8rem}.poi-card__body{padding:var(--space-sm)}.poi-card__category{letter-spacing:.08em;text-transform:uppercase;color:var(--color-terracotta-dark);font-size:.72rem}.poi-card__name{font-family:var(--font-display);margin:.4rem 0 .5rem;font-size:1.25rem}.poi-card__distance{color:var(--color-taupe);margin-bottom:.6rem;font-size:.78rem}.poi-card__description{color:var(--color-ink);opacity:.85;font-size:.92rem}@media (max-width:900px){.poi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.poi-grid{grid-template-columns:1fr}}.whatsapp-float{right:var(--space-md);bottom:var(--space-md);z-index:90;width:56px;height:56px;color:var(--color-white);background:#25d366;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;position:fixed;box-shadow:0 8px 20px #2b262140}.whatsapp-float:hover{transform:scale(1.06)}.whatsapp-float svg{width:28px;height:28px}@media (max-width:600px){.whatsapp-float{width:50px;height:50px;right:var(--space-sm);bottom:var(--space-sm)}.whatsapp-float svg{width:25px;height:25px}}.social-links{gap:.9rem;display:flex}.social-links a{opacity:.85;border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:opacity .2s;display:flex}.social-links a:hover{opacity:1}.social-links svg{width:17px;height:17px}.site-footer__social{color:var(--color-cream)}.contact-details__list{flex-direction:column;gap:.9rem;margin:1.2rem 0 1.6rem;list-style:none;display:flex}.contact-details__list li{align-items:center;gap:.7rem;font-size:.95rem;display:flex}.contact-details__list svg{width:20px;height:20px;color:var(--color-terracotta-dark);flex-shrink:0}.contact-details__divider{border:none;border-top:1px solid var(--color-sand-dark);margin:1.6rem 0}.perfect-for{gap:var(--space-md);grid-template-columns:repeat(3,1fr);max-width:780px;margin:0 auto;display:grid}.perfect-for__item{text-align:center;flex-direction:column;align-items:center;gap:.8rem;font-size:.95rem;display:flex}.perfect-for__icon{background:var(--color-white);width:56px;height:56px;color:var(--color-terracotta-dark);border:1px solid var(--color-sand-dark);border-radius:50%;justify-content:center;align-items:center;display:flex}.perfect-for__icon svg{width:26px;height:26px}@media (max-width:600px){.perfect-for{gap:var(--space-md);grid-template-columns:1fr}}.social-proof{text-align:center;max-width:560px}.social-proof__stars{color:var(--color-lemon);justify-content:center;gap:.3rem;margin-bottom:1rem;display:flex}.social-proof__stars svg{width:22px;height:22px}.social-proof h2{margin:.6rem 0 1rem;font-size:clamp(1.6rem,2.6vw,2.1rem)}.social-proof p{color:var(--color-taupe);margin-bottom:1.4rem}.testimonials-grid{gap:var(--space-sm);margin-top:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.testimonial-card{background:var(--color-white);border:1px solid var(--color-sand-dark);border-radius:var(--radius);padding:var(--space-md);flex-direction:column;margin:0;display:flex}.testimonial-card blockquote{font-family:var(--font-display);color:var(--color-ink);margin:0 0 1.2rem;padding-left:1.4rem;font-size:1.05rem;font-style:italic;line-height:1.55;position:relative}.testimonial-card blockquote:before{content:"“";color:var(--color-terracotta);font-size:1.8rem;font-style:normal;line-height:1;position:absolute;top:-.3rem;left:0}.testimonial-card figcaption{flex-direction:column;gap:.15rem;margin-top:auto;display:flex}.testimonial-card__author{font-family:var(--font-body);letter-spacing:.03em;color:var(--color-ink);font-size:.8rem;font-weight:600}.testimonial-card__date{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--color-taupe);font-size:.72rem}@media (max-width:860px){.testimonials-grid{grid-template-columns:1fr}}.guide-header{background:var(--color-cream);border-bottom:1px solid var(--color-sand-dark)}.guide-header__inner{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:1.1rem;padding-bottom:1.1rem;display:flex}.guide-header__brand{align-items:center;display:flex}.guide-info-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);align-items:stretch;display:grid}.guide-wifi-card p{font-size:.95rem}.guide-wifi-qr{border:1px solid var(--color-sand-dark);border-radius:var(--radius);width:140px;height:140px;margin:1rem 0 .6rem}.guide-wifi-note{color:var(--color-taupe);font-size:.8rem}@media (max-width:900px){.guide-info-grid{grid-template-columns:1fr}}.guide-footer{padding:var(--space-lg) 0;text-align:center}.gallery-tabs{justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.gallery-tab{font-family:var(--font-body);letter-spacing:.05em;color:var(--color-taupe);background:0 0;border:none;border-bottom:1px solid #0000;padding:.3rem 0;font-size:.95rem;transition:color .2s,border-color .2s}.gallery-tab:hover{color:var(--color-ink)}.gallery-tab.is-active{color:var(--color-ink);border-bottom-color:var(--color-terracotta)}.gallery-category-header{max-width:640px;margin:0 auto var(--space-lg);text-align:center}.gallery-script{font-family:var(--font-display);color:var(--color-terracotta-dark);margin:.4rem 0 1.2rem;font-size:clamp(1.9rem,3.6vw,2.6rem);font-style:italic;font-weight:400;line-height:1.25}.gallery-category-header p{color:var(--color-taupe);margin-bottom:1.2rem}.gallery-masonry{column-count:2;column-gap:var(--space-sm)}.gallery-masonry img{width:100%;margin-bottom:var(--space-sm);border-radius:var(--radius);break-inside:avoid;display:block}@media (max-width:700px){.gallery-tabs{gap:var(--space-md)}.gallery-masonry{column-count:1}}
