/* Responsive layout and optional, accessible motion. */
@media(min-width:1100px) and (min-height:650px){
 html,body{height:100%;overflow:hidden}.header{position:fixed;top:0;left:0;right:0}.screen-deck{position:fixed;top:var(--header-height);bottom:46px;left:0;right:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.screen-deck::-webkit-scrollbar{display:none}.screen-deck>.screen{flex:0 0 100%;width:100%;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scroll-snap-stop:always;scrollbar-width:thin;scrollbar-color:#b88b6a55 transparent}.screen-navigation{position:fixed;bottom:0;left:0;right:0;z-index:50;height:46px;display:flex;align-items:center;justify-content:center;gap:35px;background:var(--ivory);border-top:1px solid var(--line)}.screen-navigation button{background:none;border:0;padding:8px 15px;min-height:44px;font-size:11px}.screen-navigation button:disabled{opacity:.3}.screen-navigation output{font-size:10px;letter-spacing:.08em;min-width:135px;text-align:center}.whatsapp-float{bottom:63px}.cookie-banner{bottom:64px}.hero{height:calc(100svh - var(--header-height) - 46px);min-height:565px}
}
@media(min-width:1500px){.hero-content{padding-bottom:65px}.header .nav{min-height:110px}.brand{width:180px;flex-basis:180px}.hero h1{font-size:120px}}
@media(max-width:1200px){.wrap,.chapter-disclosure{width:calc(100% - 64px)}.header .nav{gap:15px}.links{gap:15px}.links a{font-size:10px}.brand{width:142px;flex-basis:142px}.local-info{right:32px}.intro{gap:45px}.room-layout,.experience-layout,.reserve-layout,.corporate-layout{gap:40px}.service-grid{gap:25px}.hero h1{font-size:90px}}
@media(max-width:1099px){
 .header .links{display:none}.header .menu{display:block}.header .nav-action{display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border:1px solid var(--line);border-radius:4px;font-size:11px}.header .nav{min-height:92px;padding-bottom:16px}.header.open .links{display:grid;grid-template-columns:1fr 1fr;position:absolute;top:100%;left:0;width:100%;padding:22px 32px;gap:6px 30px;background:#fff;border-bottom:1px solid var(--line);max-height:calc(100svh - var(--header-height));overflow:auto;box-shadow:0 16px 25px #29252218}.header.open .links a{min-height:48px;font:26px var(--serif);padding:12px 0}.local-info{font-size:9px;bottom:4px}.hero{height:calc(90svh - var(--header-height));min-height:670px}.hero h1{font-size:clamp(65px,10vw,100px)}.hero-content{padding-bottom:55px}.essence{gap:14px 45px}.section-head{gap:35px}.intro{gap:35px}.villa-photo img{min-height:450px}.amenities{gap:20px;grid-template-columns:1fr 1fr}.amenity{padding-top:0!important}.amenity .amenity-image{height:240px!important;aspect-ratio:4/3}.amenity:nth-child(even){padding-top:35px!important}.room-layout{grid-template-columns:1fr 1fr;gap:35px}.room-image img{height:560px}.room-collection{gap:40px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(3){grid-column:1/-1;max-width:650px}.service-grid article:nth-child(2){padding-top:20px}.service-grid article:nth-child(3) .service-photo img{height:300px}.couples .service-grid{grid-template-columns:1.2fr 1fr}.couples .service-grid article:nth-child(3){grid-column:1/-1;padding:28px;border:1px solid #f6f1e846;border-radius:5px;max-width:none}.experience-layout{gap:35px}.experience-photo img{height:480px}.tab strong{font-size:29px}.corporate-facts{grid-template-columns:1fr}.corporate-facts>div{display:flex;align-items:baseline;gap:20px}.corporate-facts dd{margin:0}.destination-grid{gap:40px 30px}.destination-photo img{height:270px}.destination:nth-child(even) .destination-photo img{height:340px}.reserve-layout{grid-template-columns:1fr;gap:36px}.reserve-copy{display:grid;grid-template-columns:1fr 1fr;gap:18px 45px}.reserve-copy>.kicker,.reserve-copy>h2{grid-column:1}.reserve-copy h2{margin:0;grid-row:2/4}.reserve-copy>p,.reserve-copy>ol{grid-column:2;margin:0!important}.reserve-copy>.kicker{align-self:end}.reserve-copy .note{padding-top:20px}.stay-steps{grid-column:1/-1!important;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.contact-layout{gap:35px}.contact-copy .button{font-size:11px}.footer-links{margin-left:0}.mobile-stay{display:inline-flex;position:fixed;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:70;align-items:center;justify-content:center;padding:12px 23px;background:var(--agave);color:var(--ivory);border:1px solid #f6f1e8a6;border-radius:25px;min-height:48px;font-size:12px;box-shadow:0 4px 15px #0002}.mobile-stay.is-near-form{visibility:hidden;pointer-events:none}.whatsapp-float{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.footer{padding-bottom:100px}.cookie-banner{bottom:84px}
}
@media(max-width:700px){
 body{font-size:14px}.wrap,.chapter-disclosure{width:calc(100% - 36px)}h1{font-size:64px}h2{font-size:46px}h3{font-size:32px}.section{padding:44px 0}.section-count{margin-bottom:22px;font-size:9px}.section-head{grid-template-columns:1fr;gap:23px;margin-bottom:30px}.section-head .kicker{margin-bottom:14px}.section-head>p{max-width:45ch;font-size:13px}.header .nav{width:calc(100% - 28px);min-height:90px;gap:10px;padding:8px 0 13px}.brand{width:136px;flex:0 1 136px;padding:3px;min-width:112px}.header .nav-action{display:none}.language-switch button{min-width:38px;min-height:44px}.menu{min-width:50px;font-size:11px;padding:6px}.local-info{right:16px;bottom:4px;font-size:8px;gap:12px}.header.open .links{padding:16px 20px}.header.open .links a{font-size:25px}.hero{min-height:655px;height:calc(100svh - var(--header-height));max-height:850px}.hero-image{object-position:58% top}.hero:after{background:linear-gradient(180deg,#202c2220 15%,#202c2260 43%,#202c22e0 77%,#202c22f2 100%)}.hero-content{width:calc(100% - 40px);padding:210px 0 30px;justify-content:end}.hero-location{font-size:9px;max-width:33ch;margin-bottom:15px;letter-spacing:.02em}.hero h1{font-size:clamp(57px,14.2vw,82px);max-width:8.8ch;line-height:.98}.hero-content>p{font-size:12px;max-width:34ch;margin-top:17px}.hero-actions{gap:16px;align-items:start;flex-direction:column;margin-top:22px}.hero-actions .button{padding:13px 18px;min-height:47px;font-size:11px}.hero-actions .text-link{min-height:35px;font-size:11px}.hero-map{margin-top:14px;font-size:10px}.hero-playback{bottom:22px;right:17px;width:44px;height:44px}.hero-scroll{display:none}.essence{grid-template-columns:1fr;padding:45px 0;gap:17px}.essence .kicker,.essence h2,.essence p{grid-column:1;grid-row:auto}.essence h2{font-size:45px;max-width:14ch;margin-bottom:8px}.essence p{font-size:13px;max-width:52ch}.essence:before{width:380px;height:380px;right:-170px;top:35px}.intro{grid-template-columns:1fr;gap:32px}.intro h2 br:nth-of-type(2){display:none}.intro p{font-size:13px;margin:20px 0}.villa-photo{width:86%;justify-self:end}.villa-photo img{min-height:0;height:430px;border-radius:42% 42% 7px 7px}.arrival-strip{margin-bottom:26px}.strip-inner{display:block;padding:16px 0}.strip-inner p{font-size:23px}.strip-inner span{font-size:10px;display:block;margin-top:7px}.amenities{gap:25px 18px;margin-top:38px}.amenity .amenity-image{height:170px!important}.amenity:nth-child(even){padding-top:30px!important}.amenity:nth-child(2) .amenity-image{height:200px!important}.amenity strong{font-size:25px}.amenity span{font-size:11px}.integrated-gallery-intro{padding:42px 0 8px}.gallery-heading h2{font-size:42px}.gallery-heading p{margin-top:0}.photo-story{margin-top:20px;margin-bottom:35px}.photo-story>summary{font-size:28px}.real-photo-grid{gap:17px;margin-right:-18px;padding-right:18px;align-items:start}.real-photo{flex-basis:82%!important}.real-photo:nth-child(2){padding-top:30px;flex-basis:70%!important}.gallery-card img{height:345px}.real-photo:nth-child(2) .gallery-card img{height:375px}.real-photo figcaption{font-size:10px}.photo-unavailable{min-height:360px}.service-section{padding:38px 0 32px;margin-top:38px}.service-grid{display:flex;gap:23px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;overscroll-behavior-x:contain;margin-right:-18px;padding-right:18px;padding-bottom:16px}.service-grid>article{flex:0 0 85%;scroll-snap-align:start;max-width:none!important;padding-top:18px!important}.service-grid>article:nth-child(2){padding-top:50px!important}.service-grid .service-photo img{height:255px!important}.service-grid .service-photo.transfer-real-photo img{object-fit:contain}.service-grid h3{font-size:31px}.service-grid p{font-size:12px}.service-section .rail-controls{display:flex}.room-layout{grid-template-columns:1fr;gap:30px}.room-image{position:relative;top:0}.room-image img{height:400px;border-radius:6px 6px 75px 6px}.room-image .photo-caption{left:14px;right:14px;bottom:18px;font-size:10px;padding:9px 12px}.room-copy h3{font-size:36px}.room-copy>p{font-size:13px}.room-bathroom-note{padding:18px}.room-features li{font-size:12px}.room-collection{grid-template-columns:1fr;gap:25px;margin-top:42px;padding-top:30px}.collection-heading h3{font-size:36px;margin:14px 0}.room-option summary{font-size:28px;min-height:72px}.room-summary-note{font-size:9px}.collection-heading p{font-size:12px;max-width:46ch}#experiencias{padding-top:42px}.experience-layout{grid-template-columns:1fr;gap:30px}.experience-photo{width:87%}.experience-photo img{height:390px;border-radius:100px 100px 7px 7px}.tab{padding:20px 0}.tab strong{font-size:30px}.experience-detail p{font-size:13px}.couples{padding:50px 0 20px}.couples .section-head{grid-template-columns:1fr;gap:22px}.couples .service-grid{display:flex}.couples .service-grid article:nth-child(3){border:0;border-top:1px solid #f6f1e846;border-radius:0;padding-left:0;padding-right:0;flex-basis:75%;align-self:start}.special-dinner p{font-size:12px}.reference-archive{font-size:11px}.corporate-layout{grid-template-columns:1fr;gap:30px}.corporate-photo img{height:340px}.corporate-facts{grid-template-columns:1fr 1fr}.corporate-facts>div{display:block}.corporate-facts dt{font-size:24px}.corporate-facts dd{margin-top:8px}.corporate-copy h3{font-size:34px}.chapter-disclosure>summary{font-size:28px}.destination-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;margin-right:-18px;padding-right:18px;padding-bottom:20px}.destination{flex:0 0 88%;scroll-snap-align:start}.destination:nth-child(even){padding-top:48px}.destination-photo img{height:265px}.destination:nth-child(even) .destination-photo img{height:310px}.destination h3{font-size:33px}.destination p{font-size:12px}.destination-links{gap:12px 18px}.destination-links .text-link{font-size:11px}#destinos .rail-controls{display:flex}#destinos{padding:42px 0}#reservar{padding:42px 0}.reserve-layout{gap:30px}.reserve-copy{display:block}.reserve-copy h2{font-size:50px;margin:18px 0 25px}.reserve-copy p{font-size:13px;margin:18px 0!important}.reserve-copy .note{margin-top:24px!important;font-size:12px}.stay-steps{display:block;margin-top:26px!important}.stay-steps li{padding:14px 0}.stay-steps p{font-size:12px;margin:6px 0 0!important}.form{padding:20px 17px;gap:19px 14px}.field label{font-size:11px}.field input,.field select,.field textarea{font-size:16px;padding:11px;min-height:49px}.form-heading p{font-size:11px}.form .button{font-size:12px}.policy-consent{font-size:10px}.form-result{padding:16px}.query-details>div{grid-template-columns:80px minmax(0,1fr);gap:12px}.stay-faq{padding-top:28px}.stay-faq h3{font-size:35px}.stay-faq summary{font-size:13px;padding:19px 15px 19px 0}.stay-faq details p{font-size:12px}.policies>p{font-size:12px}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-copy h3{font-size:43px}.contact-copy .button{font-size:12px}.contact-copy{gap:16px}.contact-form{padding:22px}.location-map iframe{height:310px}.map-consent{padding:24px;gap:17px;min-height:270px}.map-consent p{font-size:12px}.map-consent .text-link{font-size:12px}.footer{margin-top:35px;padding-top:30px}.footer>.wrap{width:calc(100% - 36px)}.footer-top{gap:26px}.footer-identity{max-width:165px}.footer-links{grid-template-columns:1fr 1fr;gap:14px 20px;flex-basis:100%}.footer-bottom{align-items:start;flex-direction:column;gap:10px}.cookie-banner{left:12px;right:12px;width:auto;bottom:80px;padding:18px;max-height:60svh;overflow:auto}.cookie-banner p{font-size:11px}.cookie-actions{gap:8px}.cookie-actions .privacy-button{font-size:11px;flex:1;padding:10px}.lightbox{width:96vw}.lightbox-bottom{padding:14px;gap:10px}.lightbox-bottom p{font-size:11px}.lightbox img{max-height:72svh}.lightbox-bottom .close{padding:8px 12px}.button:hover{transform:none}
}
@media(max-width:380px){.header .nav{gap:5px}.brand{flex-basis:125px;min-width:110px}.language-switch button{min-width:34px}.hero{min-height:655px}.hero h1{font-size:55px}.hero-content{width:calc(100% - 34px)}.form{grid-template-columns:minmax(0,1fr)}.full{grid-column:1}.amenity .amenity-image{height:155px!important}.amenity strong{font-size:23px}.hero-content>p{font-size:12px}.room-summary-note{display:none}}
@media(max-height:649px) and (orientation:landscape){.header .nav{min-height:74px;padding:7px 0}.brand{width:120px;flex-basis:120px}.local-info{display:none}.hero{min-height:560px;height:auto}.hero-content{padding-top:170px}.hero h1{font-size:66px}.links{gap:16px}.hero-image{object-position:center}.room-image{position:static}.mobile-stay{display:none}}
@media(prefers-reduced-motion:no-preference){.hero-content>h1,.hero-content>p,.hero-actions{animation:rise-in .8s both}.hero-content>p{animation-delay:.1s}.hero-actions{animation-delay:.2s}.editorial-reveal{transition:transform .6s}.editorial-reveal.in-view{transform:none}}@keyframes rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Tours can be enquired about independently of accommodation. */
.tour-enquiry{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:50px;margin-top:70px;padding-top:45px;border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-height) + 20px)}
.tour-enquiry-copy{min-width:0}.tour-enquiry-copy h3{margin:16px 0 24px;color:var(--agave);font-size:clamp(34px,3.4vw,48px)}.tour-enquiry-copy>p{font-size:14px;margin:18px 0;max-width:48ch}.tour-enquiry-copy .tour-conditions{font-size:12px;border-top:1px solid var(--line);padding-top:20px}
.tour-form{background:var(--agave);color:var(--ivory);border-color:var(--agave)}.tour-form .kicker{color:var(--sand)}.tour-form-note{font-size:11px;line-height:1.7}.tour-form .form-result[hidden]{display:none}
@media(max-width:900px){.tour-enquiry{grid-template-columns:1fr;gap:28px;margin-top:45px}.tour-enquiry-copy>p{max-width:65ch}}
@media(max-width:600px){.tour-enquiry{padding-top:30px}.tour-form{grid-template-columns:minmax(0,1fr)}.tour-enquiry-copy>p{font-size:13px}.tour-form .policy-consent{font-size:11px}}
