/* Shared legibility improvements for Spanish and Portuguese. */
:root{--muted:#4b5545;--ink:#2c3826}
.header-actions{justify-self:end;display:flex;align-items:center;gap:22px}.language-switch{display:flex;align-items:center;gap:4px}.language-switch a{display:grid;place-items:center;min-width:36px;min-height:44px;font:600 13px var(--sans);color:#fff;text-decoration:none;border-bottom:2px solid transparent}.language-switch a[aria-current]{border-color:#e4c39e}.header .button{font-size:14px}.menu-label{font-size:14px}
.hero-shade{background:linear-gradient(180deg,#1420128c,#14201254 35%,#14201274 65%,#142012cf)}
.hero-description p{font-size:17px;line-height:1.7;color:#fff;text-shadow:0 2px 12px #0008}.hero-topline,.hero-aside,.hero-bottom,.pool-label{color:#fff}.hero-topline{font-size:12px}.hero-slides{gap:24px}.hero-slides button{font-size:13px;min-height:44px}.scroll-cue,.motion-toggle{font-size:13px}.eyebrow{font-size:12px!important;line-height:1.6;letter-spacing:.13em}.booking-note,.small-note,.room-foot p,.room-info p,.room-price small,.room-tag,.catalog-title>span,.footer-bottom,.essence-images figcaption{font-size:13px!important;line-height:1.65}.room-info p,.room-foot p,.small-note,.booking-note{color:#4b5545}.booking-bar label{font-size:14px}.room-price small{letter-spacing:.025em}.amenities p,.footer-top>p{font-size:14px}.pool-overlay{background:linear-gradient(90deg,#122015d9 0%,#1220158c 40%,#12201518 76%)}.pool-copy>p:not(.eyebrow){font-size:17px;color:#fff}.pool-copy{text-shadow:0 2px 14px #0007}.pool-copy .button{text-shadow:none}.dates-note{font-size:13px!important;color:#4b5545}.visit-image img{object-position:center}.language-switch a:focus-visible{outline:2px solid white;outline-offset:2px}
@media(max-width:700px){.header{padding:0 16px;grid-template-columns:40px 1fr auto;gap:10px}.header .brand{width:118px}.header-actions{gap:8px}.language-switch{gap:0}.language-switch a{min-width:28px;font-size:12px}.header .header-book{font-size:12px;padding:9px 12px;min-height:42px}.header .menu-label{display:none}.hero-copy h1{font-size:clamp(56px,15.4vw,82px)}.hero-description p{font-size:15px}.hero-topline{font-size:11px}.hero-slides{gap:18px}.hero-slides button{font-size:12px}.hero-slides .scene-name{display:none!important}.hero-bottom{font-size:12px}.pool-copy{top:auto;bottom:55px;transform:none}.pool-copy h2{font-size:clamp(54px,15vw,78px)}.pool-copy>p:not(.eyebrow){font-size:16px}.pool-overlay{background:linear-gradient(180deg,#12201508 20%,#1220156e 45%,#122015ed 100%)}.pool-story>img{object-position:70% center}.section-heading>p,.visit-copy>p:not(.eyebrow),.dining-copy>p:not(.eyebrow){font-size:16px}.amenities p{font-size:14px}.hours,address,summary,details p{font-size:15px}.footer-bottom{gap:14px}.menu-contact{flex-wrap:wrap}.dates-month-nav>span{font-size:13px}.room-price{font-size:21px}.hero-bottom .scroll-cue{font-size:12px}}
@media(max-width:360px){.header .brand{width:100px}.header{padding:0 10px;gap:5px}.header-actions{gap:4px}.language-switch a{min-width:25px}.header .header-book{padding:8px 10px}.hero-slides{gap:14px}}

@media(max-width:700px){.pool-story{height:auto;min-height:0;display:flex;flex-direction:column;background:#233323;padding:0 0 40px}.pool-story>img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transform:none!important}.pool-overlay{display:none}.pool-copy{position:relative;inset:auto;transform:none;padding:32px 7% 20px;width:auto}.pool-outline{display:none}.pool-label{position:relative;inset:auto;display:block;padding:0 7%;font-size:11px}}

@media(min-width:701px){.brand-pause{background:#eae6d8;height:740px;min-height:0}.brand-pause>img{left:auto;right:0;width:56%;height:100%;object-position:55% center;transform:none!important}.brand-pause .pool-overlay,.brand-pause .pool-outline{display:none}.brand-pause .pool-copy{left:6%;width:34%;color:#2c3826;text-shadow:none}.brand-pause .pool-copy h2{font-size:clamp(54px,5.4vw,88px)}.brand-pause .pool-copy>p{color:#46513e}.brand-pause .button{color:#2c3826;border-color:#64735b}.brand-pause .pool-label{left:6%;color:#46513e;font-size:11px}}

.visit-actions{flex-wrap:wrap;gap:18px}.visit-actions .button{font-size:14px}.visit-actions .text-link{white-space:nowrap}

/* Prominent date enquiry with an explicit next step. */
#reservar.booking-bar{display:grid;grid-template-columns:1fr 1.6fr;gap:36px 48px;margin:0;padding:64px 7%;background:#e8cbaa;color:#253222;border-top:5px solid #f7eddd;scroll-margin-top:85px}
#reservar .booking-heading{min-width:0}#reservar .eyebrow{color:#34462d;margin:0 0 16px}#reservar h2{font-size:clamp(38px,3.5vw,58px);line-height:1.04;margin:0}#reservar .booking-intro{font-size:16px;line-height:1.65;max-width:390px;margin:20px 0 0;color:#34412e}
#reservar #booking-form{width:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-self:center;background:#faf7ef;border:1px solid #bdac92;padding:28px;box-sizing:border-box;border-radius:8px;box-shadow:0 12px 28px #43331c12}
#reservar label{font-size:14px;font-weight:600;color:#35432e;min-width:0;letter-spacing:.02em}#reservar .date-trigger,#reservar select{box-sizing:border-box;display:flex;width:100%;height:58px;min-height:58px;margin-top:10px;padding:12px 14px;border:1px solid #9ca68f;border-radius:4px;background:#fff;color:#263721;font-size:16px;cursor:pointer}#reservar .date-trigger:hover,#reservar select:hover{border-color:#263721;background:#f1f3eb}#reservar .date-trigger:focus-visible,#reservar select:focus-visible{outline:3px solid #947345;outline-offset:3px}#reservar .button[type=submit]{grid-column:1/-1;width:100%;min-height:60px;background:#2e4027;color:#fff;border:1px solid #2e4027;border-radius:4px;font-size:17px;justify-content:center;gap:16px;margin:0}#reservar .button[type=submit]:hover{background:#1d2e18}#reservar .booking-note{grid-column:1/-1;text-align:center;color:#46513e!important;margin:0;font-size:14px!important;line-height:1.6}
.booking-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:28px 0 0;border-top:1px solid #a88e6c;gap:28px}.booking-steps li{display:flex;gap:14px}.booking-steps li>span{font-size:13px;display:grid;place-items:center;border:1px solid #847051;border-radius:50%;width:34px;height:34px;flex-shrink:0}.booking-steps strong{font-size:16px;font-weight:600}.booking-steps p{font-size:14px;line-height:1.6;margin:6px 0 0;color:#34412e}
@media(max-width:1000px){#reservar.booking-bar{grid-template-columns:1fr;gap:28px}#reservar .booking-intro{max-width:600px}.booking-steps{gap:20px}}
@media(max-width:600px){#reservar.booking-bar{padding:40px 6%;gap:25px}#reservar h2{font-size:43px}#reservar #booking-form{padding:20px 16px;grid-template-columns:1fr 1fr;gap:18px 12px}#reservar #booking-form>label:nth-of-type(3){grid-column:1/-1}#reservar .date-trigger{padding:10px;font-size:14px;gap:8px}#reservar .date-trigger svg{width:18px}#reservar .button[type=submit]{font-size:16px}.booking-steps{grid-template-columns:1fr;gap:22px;padding-top:25px}.booking-steps p{margin-top:3px}}
#reservar h2,#reservar h2 em{color:var(--ivory)}
/* Restore the established green and ivory reservation palette. */
#reservar.booking-bar{background:#303c29;color:var(--ivory);border-top:1px solid #f5f2e933}
#reservar .eyebrow,#reservar .booking-intro,.booking-steps p{color:#e0e4d8}
#reservar #booking-form{background:transparent;border:1px solid #f5f2e945;box-shadow:none}
#reservar label{color:var(--ivory)}
#reservar .date-trigger,#reservar select{background:#f5f2e9;border-color:#f5f2e9;color:#293526}
#reservar .button[type=submit]{background:#eeeadf;color:#293526;border-color:#eeeadf}
#reservar .button[type=submit]:hover{background:#fff}
#reservar .booking-note{color:#e0e4d8!important}
#reservar .booking-steps{border-color:#f5f2e945}
#reservar .booking-steps li>span{border-color:#f5f2e96b}


/* Precise, readable calendar and centered navigation controls. */
#dates-dialog .dates-head h2{font:500 clamp(26px,4vw,32px)/1.2 var(--sans);letter-spacing:-.035em}
#dates-dialog .date-month h3{font:600 18px/1.4 var(--sans);letter-spacing:-.015em;text-transform:none;margin:18px 0}
#dates-dialog .date-month h3::first-letter{text-transform:uppercase}
#dates-dialog button{font-family:var(--sans)}
.dates-month-nav button,.round-button,.dates-close,.dialog-close{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0}
.dates-month-nav button,.round-button{font-size:0!important}
.dates-month-nav button::after,.round-button::after{content:"";display:block;width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg) translate(-1px,-1px)}
#month-prev::after,#rooms-prev::after,#feature-prev::after{transform:rotate(135deg) translate(-1px,-1px)}
#dates-dialog .date-grid button{font:500 14px/1 var(--sans);display:grid;place-items:center}
#dates-dialog .dates-selection span{font:500 15px/1.4 var(--sans)}
#dates-dialog .dates-close{font-size:24px}

/* Keep the room count clear of its caption. */
.essence-center .large-number{display:flex;flex-direction:column;align-items:stretch;gap:20px;line-height:1.1}
.essence-center .large-number small{margin:0;max-width:none;font-size:11px;line-height:1.8}
