.hotel-ensueno-page{background:var(--hotel-color-paper);min-width:0;color:var(--hotel-color-ink);font-family:var(--hotel-font-body);font-size:var(--hotel-text-body);font-variant-numeric:oldstyle-nums;line-height:1.6;overflow-x:clip}.hotel-ensueno-page *,.hotel-ensueno-page :before,.hotel-ensueno-page :after{box-sizing:border-box}.hotel-ensueno-page ::selection{background:var(--hotel-color-sun);color:var(--hotel-color-ink)}.hotel-ensueno-page :is(#disponibilidad,#habitaciones,#servicios,#excursiones,#reservar,#compra-inteligente){scroll-margin-top:calc(var(--hotel-banner-height) + var(--hotel-space-md))}.hotel-ensueno-page h1,.hotel-ensueno-page h2,.hotel-ensueno-page h3,.hotel-ensueno-page p{margin:0}.hotel-ensueno-page h1,.hotel-ensueno-page h2,.hotel-ensueno-page h3{overflow-wrap:anywhere;min-width:0;color:inherit;font-family:var(--hotel-font-display);letter-spacing:-.035em;font-style:normal;font-weight:500}.hotel-ensueno-page h2{max-width:18ch;font-size:var(--hotel-text-display-s);line-height:.98}.hotel-ensueno-page h3{font-size:var(--hotel-text-xl);line-height:1.08}.hotel-ensueno-page a,.hotel-ensueno-page button,.hotel-ensueno-page input,.hotel-ensueno-page select,.hotel-ensueno-page summary{font:inherit}.hotel-ensueno-page a:focus-visible,.hotel-ensueno-page button:focus-visible,.hotel-ensueno-page input:focus-visible,.hotel-ensueno-page select:focus-visible,.hotel-ensueno-page summary:focus-visible{outline:var(--hotel-rule-strong) solid var(--hotel-color-focus);outline-offset:var(--hotel-space-3xs)}.hotel-ensueno-page a:active,.hotel-ensueno-page summary:active{opacity:.78}.hotel-ensueno-page button:disabled,.hotel-ensueno-page input:disabled,.hotel-ensueno-page select:disabled{cursor:not-allowed;opacity:.5}.hotel-nav{z-index:var(--hotel-z-sticky-nav);width:100%;height:var(--hotel-banner-height);align-items:center;gap:clamp(var(--hotel-space-md),3vw,var(--hotel-space-xl));padding-inline:var(--hotel-page-gutter);border-bottom:var(--hotel-rule-strong) solid var(--hotel-color-lagoon);background:color-mix(in oklch,var(--hotel-color-paper) 97%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--hotel-color-ink);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:sticky;top:0}.hotel-nav__brand{align-items:center;width:fit-content;min-height:2.75rem;display:inline-flex}.hotel-nav__logo{width:clamp(10.25rem,14vw,12.5rem);height:auto}.hotel-nav__links{justify-content:center;align-items:stretch;gap:clamp(var(--hotel-space-sm),2.2vw,var(--hotel-space-lg));min-width:0;display:flex}.hotel-nav__links a{min-height:2.75rem;color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs);letter-spacing:.025em;white-space:nowrap;align-items:center;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.hotel-nav__links a:after{height:var(--hotel-rule-strong);background:var(--hotel-color-accent);content:"";transform-origin:100%;transition:transform var(--hotel-dur-medium) var(--hotel-ease-out);position:absolute;bottom:.3rem;left:0;right:0;transform:scaleX(0)}.hotel-nav__links a:hover{color:var(--hotel-color-ink)}.hotel-nav__links a:hover:after,.hotel-nav__links a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.hotel-nav__actions{justify-self:end;align-items:center;gap:var(--hotel-space-2xs);display:flex}.hotel-nav__cta{justify-content:center;align-items:center;gap:var(--hotel-space-2xs);min-height:2.75rem;padding-inline:var(--hotel-space-md);background:var(--hotel-color-midnight);color:var(--hotel-color-on-dark);font-size:var(--hotel-text-sm);white-space:nowrap;transition:background var(--hotel-dur-short) var(--hotel-ease-out),color var(--hotel-dur-short) var(--hotel-ease-out),transform var(--hotel-dur-short) var(--hotel-ease-out);font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.hotel-nav__cta:hover{background:var(--hotel-color-accent);color:var(--hotel-color-accent-ink)}.hotel-nav__cta:active{transform:translateY(1px)}.hotel-nav__cta-arrow{border-left:var(--hotel-rule-hair) solid currentColor;width:1.4rem;height:1.4rem;padding-left:var(--hotel-space-2xs);place-items:center;display:inline-grid}.hotel-nav__menu-button{border:var(--hotel-rule-hair) solid var(--hotel-color-rule);background:var(--hotel-color-paper);width:2.75rem;height:2.75rem;color:var(--hotel-color-ink);cursor:pointer;place-items:center;display:none}.hotel-nav__menu-button:hover{border-color:var(--hotel-color-accent);background:var(--hotel-color-paper-2)}.hotel-nav__menu-button:active{transform:translateY(1px)}.hotel-nav__menu-button svg,.hotel-offcanvas button svg{width:1.25rem;height:1.25rem}.hotel-offcanvas{z-index:calc(var(--hotel-z-sticky-nav) + 40);animation:hotel-offcanvas-enter var(--hotel-dur-medium) var(--hotel-ease-out) both;grid-template-columns:minmax(0,1fr) minmax(19rem,26rem);display:grid;position:fixed;inset:0}.hotel-offcanvas__scrim{background:color-mix(in oklch,var(--hotel-color-midnight) 72%,transparent);cursor:pointer;border:0;width:100%;height:100%}.hotel-offcanvas__panel{min-width:0;height:100dvh;padding:var(--hotel-space-lg);border-left:var(--hotel-space-3xs) solid var(--hotel-color-lagoon);background:var(--hotel-color-paper);color:var(--hotel-color-ink);flex-direction:column;display:flex;overflow-y:auto}.hotel-offcanvas__head{justify-content:space-between;align-items:center;gap:var(--hotel-space-md);padding-bottom:var(--hotel-space-lg);border-bottom:var(--hotel-rule-hair) solid var(--hotel-color-rule);display:flex}.hotel-offcanvas__head img{width:min(11rem,64%);height:auto}.hotel-offcanvas__head button{border:var(--hotel-rule-hair) solid var(--hotel-color-rule);background:var(--hotel-color-paper);width:2.75rem;height:2.75rem;color:var(--hotel-color-ink);cursor:pointer;flex:none;place-items:center;display:grid}.hotel-offcanvas__head button:hover{border-color:var(--hotel-color-accent);background:var(--hotel-color-paper-2)}.hotel-offcanvas__eyebrow{margin:var(--hotel-space-xl) 0 var(--hotel-space-sm);color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.hotel-offcanvas nav{display:grid}.hotel-offcanvas nav a{align-items:center;gap:var(--hotel-space-sm);border-bottom:var(--hotel-rule-hair) solid var(--hotel-color-rule-2);min-height:4.6rem;color:var(--hotel-color-ink);font-family:var(--hotel-font-display);font-size:var(--hotel-text-xl);letter-spacing:-.025em;white-space:nowrap;grid-template-columns:auto minmax(0,1fr) auto;font-style:normal;font-weight:500;line-height:1;text-decoration:none;display:grid}.hotel-offcanvas nav a>span:first-child{color:var(--hotel-color-accent);font-family:var(--hotel-font-body);font-size:var(--hotel-text-xs);letter-spacing:.08em;font-weight:700}.hotel-offcanvas nav a>span:last-child{font-family:var(--hotel-font-body);font-size:var(--hotel-text-sm)}.hotel-offcanvas nav a:hover{padding-inline:var(--hotel-space-2xs);background:var(--hotel-color-paper-2)}.hotel-offcanvas__reserve{justify-content:space-between;align-items:center;gap:var(--hotel-space-md);min-height:3.25rem;padding-inline:var(--hotel-space-md);background:var(--hotel-color-accent);color:var(--hotel-color-accent-ink);font-size:var(--hotel-text-sm);white-space:nowrap;margin-top:auto;font-weight:700;text-decoration:none;display:inline-flex}.hotel-offcanvas__reserve:hover{background:var(--hotel-color-midnight);color:var(--hotel-color-on-dark)}.hotel-offcanvas__place{margin:var(--hotel-space-md) 0 0;color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs)}@keyframes hotel-offcanvas-enter{0%{opacity:0}to{opacity:1}}.hotel-hero{isolation:isolate;min-height:clamp(38rem,calc(100dvh - var(--hotel-banner-height)),56rem);background:var(--hotel-color-midnight);display:grid;position:relative;overflow:hidden}.hotel-hero__image,.hotel-hero__wash{width:100%;height:100%;position:absolute;inset:0}.hotel-hero__image{z-index:-2;object-fit:cover;object-position:50% 48%}.hotel-hero__wash{z-index:-1;background:linear-gradient(to top,color-mix(in oklch,var(--hotel-color-midnight) 90%,transparent),color-mix(in oklch,var(--hotel-color-midnight) 48%,transparent) 43%,color-mix(in oklch,var(--hotel-color-midnight) 6%,transparent) 76%),linear-gradient(to right,color-mix(in oklch,var(--hotel-color-midnight) 42%,transparent),transparent 72%)}.hotel-hero__coastline{top:var(--hotel-space-lg);left:var(--hotel-page-gutter);padding:var(--hotel-space-2xs) var(--hotel-space-xs);background:var(--hotel-color-paper);color:var(--hotel-color-ink);font-size:var(--hotel-text-xs);letter-spacing:.11em;text-transform:uppercase;font-weight:700;line-height:1;position:absolute}.hotel-hero__content{width:min(100%,var(--hotel-content-max));align-self:end;align-items:end;gap:var(--hotel-space-xl);padding:var(--hotel-space-xl) var(--hotel-page-gutter) var(--hotel-space-2xl);color:var(--hotel-color-on-dark);grid-template-columns:minmax(0,1.6fr) minmax(17rem,.7fr);margin-inline:auto;display:grid}.hotel-hero h1{max-width:12ch;font-size:var(--hotel-text-display);text-wrap:balance;line-height:.95}.hotel-hero__caption{gap:var(--hotel-space-md);justify-self:end;max-width:32rem;display:grid}.hotel-hero__caption p{max-width:48ch;color:color-mix(in oklch,var(--hotel-color-on-dark) 84%,transparent);font-size:var(--hotel-text-md);line-height:1.5}.hotel-hero__caption a,.hotel-text-link{align-items:center;gap:var(--hotel-space-2xs);border-bottom:var(--hotel-rule-hair) solid currentColor;width:fit-content;min-width:2.75rem;min-height:2.75rem;font-size:var(--hotel-text-sm);white-space:nowrap;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.hotel-hero__caption a{color:var(--hotel-color-on-dark)}.hotel-hero__caption a:hover,.hotel-text-link:hover{color:var(--hotel-color-accent)}.hotel-booking-dock,.hotel-intro,.hotel-rooms,.hotel-gallery,.hotel-tours,.hotel-concierge{width:min(100%,var(--hotel-content-max));padding-inline:var(--hotel-page-gutter);margin-inline:auto}.hotel-booking-dock{align-items:end;gap:var(--hotel-space-2xl);padding-block:var(--hotel-space-xl);border-bottom:var(--hotel-rule-hair) solid var(--hotel-color-rule);grid-template-columns:minmax(13rem,.72fr) minmax(0,2fr);display:grid}.hotel-caribe-band{isolation:isolate;width:min(calc(100% - (var(--hotel-page-gutter) * 2)),var(--hotel-content-max));min-height:18rem;margin:var(--hotel-space-2xl) auto 0;background:var(--hotel-color-paper-2);position:relative;overflow:hidden}.hotel-caribe-band>img{z-index:-1;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.hotel-caribe-band__message{align-content:center;gap:var(--hotel-space-sm);width:min(100%,29rem);min-height:18rem;padding:var(--hotel-space-xl);background:color-mix(in oklch,var(--hotel-color-midnight) 94%,transparent);color:var(--hotel-color-on-dark);margin-left:auto;display:grid}.hotel-caribe-band__message span{color:var(--hotel-color-sun);font-size:var(--hotel-text-xs);letter-spacing:.11em;text-transform:uppercase;font-weight:700}.hotel-caribe-band__message p{max-width:16ch;font-family:var(--hotel-font-display);font-size:var(--hotel-text-2xl);font-weight:500;line-height:1.08}.hotel-booking-dock__intro h2{max-width:13ch;font-size:var(--hotel-text-2xl);line-height:1}.hotel-booking-dock__intro p{max-width:45ch;margin-top:var(--hotel-space-xs);color:var(--hotel-color-ink-2);font-size:var(--hotel-text-sm)}.hotel-availability{align-items:end;gap:var(--hotel-space-md);grid-template-columns:repeat(3,minmax(0,1fr)) auto;min-width:0;display:grid}.hotel-availability__field{gap:var(--hotel-space-2xs);min-width:0;display:grid}.hotel-availability__field>span{color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs);letter-spacing:.11em;text-transform:uppercase;font-weight:600}.hotel-availability input,.hotel-availability select{width:100%;min-width:0;height:3.25rem;padding-inline:var(--hotel-space-xs);border:0;border-bottom:var(--hotel-rule-hair) solid var(--hotel-color-rule);border-radius:var(--hotel-radius-input);color:var(--hotel-color-ink);font-size:var(--hotel-text-sm);transition:border-color var(--hotel-dur-short) var(--hotel-ease-out),background-color var(--hotel-dur-short) var(--hotel-ease-out);background:0 0}.hotel-availability input:hover,.hotel-availability select:hover{border-color:var(--hotel-color-ink-2)}.hotel-availability input:focus-visible,.hotel-availability select:focus-visible{border-color:var(--hotel-color-focus);background:var(--hotel-color-paper-2)}:is(.hotel-availability input:user-invalid,.hotel-availability select:user-invalid){border-color:var(--hotel-color-error)}.hotel-availability input:disabled,.hotel-availability select:disabled{cursor:not-allowed;opacity:.5}.hotel-availability input:user-valid:not(:placeholder-shown){border-color:var(--hotel-color-ink-2)}.hotel-availability select:user-valid{border-color:var(--hotel-color-ink-2)}.hotel-button{justify-content:center;align-items:center;gap:var(--hotel-space-2xs);min-height:3.25rem;padding-inline:var(--hotel-space-md);border:var(--hotel-rule-hair) solid transparent;border-radius:var(--hotel-radius-button);font-size:var(--hotel-text-sm);white-space:nowrap;transition:background-color var(--hotel-dur-short) var(--hotel-ease-out),border-color var(--hotel-dur-short) var(--hotel-ease-out),color var(--hotel-dur-short) var(--hotel-ease-out),transform var(--hotel-dur-short) var(--hotel-ease-out);font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.hotel-button svg{width:1rem;height:1rem}.hotel-button--accent{background:var(--hotel-color-accent);color:var(--hotel-color-accent-ink)}.hotel-button--accent:hover{background:color-mix(in oklch,var(--hotel-color-accent) 88%,var(--hotel-color-paper))}.hotel-button--light{border-color:var(--hotel-color-on-dark);color:var(--hotel-color-on-dark)}.hotel-button--light:hover{background:var(--hotel-color-on-dark);color:var(--hotel-color-midnight)}.hotel-button:active,.hotel-button.is-active{transform:translateY(1px)}.hotel-button:disabled,.hotel-button[aria-disabled=true]{cursor:not-allowed;opacity:.45}.hotel-button[aria-busy=true],.hotel-button[data-state=loading]{cursor:wait;opacity:.72}.hotel-button[data-state=error]{border-color:var(--hotel-color-error)}.hotel-button[data-state=success]{border-color:var(--hotel-color-success)}.hotel-intro{gap:var(--hotel-space-xl);padding-block:var(--hotel-space-3xl);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.hotel-intro__title{grid-column:1/span 5}.hotel-intro__copy{gap:var(--hotel-space-md);color:var(--hotel-color-ink-2);grid-column:6/span 4;align-content:start;display:grid}.hotel-intro__copy .hotel-lede{color:var(--hotel-color-ink);font-family:var(--hotel-font-display);font-size:var(--hotel-text-xl);line-height:1.25}.hotel-intro__nearby{border-top:var(--hotel-space-3xs) solid var(--hotel-color-lagoon);grid-column:10/span 3;align-self:start}.hotel-intro__nearby>p{padding-block:var(--hotel-space-sm);color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs);letter-spacing:.11em;text-transform:uppercase;font-weight:600}.hotel-intro__nearby ul{margin:0;padding:0;list-style:none}.hotel-intro__nearby li{gap:var(--hotel-space-xs);padding-block:var(--hotel-space-sm);border-top:var(--hotel-rule-hair) solid var(--hotel-color-rule-2);font-size:var(--hotel-text-sm);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.hotel-intro__nearby svg{width:1rem;height:1rem;margin-top:var(--hotel-space-3xs);color:var(--hotel-color-accent)}.hotel-rooms{padding-block:var(--hotel-space-2xl) var(--hotel-space-3xl);border-top:var(--hotel-rule-hair) solid var(--hotel-color-rule)}.hotel-section-head{min-width:0}.hotel-section-head--split{align-items:end;gap:var(--hotel-space-xl);grid-template-columns:minmax(0,1.5fr) minmax(13rem,.5fr);display:grid}.hotel-section-head--split>div>p,.hotel-section-head--gallery>p{max-width:50ch;margin-top:var(--hotel-space-md);color:var(--hotel-color-ink-2)}.hotel-section-head--split .hotel-text-link{justify-self:end}.hotel-text-link{color:var(--hotel-color-ink)}.hotel-text-link svg{width:1rem;height:1rem}.hotel-room-grid{gap:var(--hotel-space-lg);margin-top:var(--hotel-space-2xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hotel-room{gap:var(--hotel-space-md);align-content:start;min-width:0;display:grid}.hotel-room__media{aspect-ratio:4/5;background:var(--hotel-color-paper-2);display:block;position:relative;overflow:hidden}.hotel-room__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--hotel-dur-long) var(--hotel-ease-out)}.hotel-room__media>span{right:var(--hotel-space-sm);bottom:var(--hotel-space-sm);min-height:2.75rem;padding-inline:var(--hotel-space-sm);background:var(--hotel-color-paper);color:var(--hotel-color-ink);font-size:var(--hotel-text-xs);opacity:0;white-space:nowrap;transition:opacity var(--hotel-dur-short) var(--hotel-ease-out);align-items:center;font-weight:600;display:inline-flex;position:absolute}.hotel-room__media:hover img,.hotel-room__media:focus-visible img{transform:scale(1.02)}.hotel-room__media:hover>span,.hotel-room__media:focus-visible>span{opacity:1}.hotel-room__body{gap:var(--hotel-space-sm);padding-top:var(--hotel-space-sm);border-top:var(--hotel-space-3xs) solid var(--hotel-color-lagoon);grid-template-columns:minmax(0,1fr) auto;display:grid}.hotel-room__body h3{font-size:var(--hotel-text-xl)}.hotel-room__body p{margin-top:var(--hotel-space-3xs);color:var(--hotel-color-ink-2);font-size:var(--hotel-text-sm)}.hotel-room__price{text-align:right;font-variant-numeric:tabular-nums;align-content:start;justify-items:end;display:grid}.hotel-room__price span,.hotel-room__price small{color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs)}.hotel-room__price strong{font-family:var(--hotel-font-display);font-size:var(--hotel-text-lg);font-weight:600}.hotel-gallery{padding-block:var(--hotel-space-3xl);border-top:var(--hotel-rule-hair) solid var(--hotel-color-rule)}.hotel-section-head--gallery{align-items:end;gap:var(--hotel-space-xl);margin-bottom:var(--hotel-space-2xl);grid-template-columns:minmax(0,1fr) minmax(15rem,.45fr);display:grid}.hotel-section-head--gallery>p{justify-self:end}.hotel-gallery__grid{gap:var(--hotel-space-sm);grid-template-rows:repeat(7,minmax(4rem,7.5vw));grid-template-columns:repeat(12,minmax(0,1fr));min-width:0;display:grid}.hotel-gallery__item{background:var(--hotel-color-paper-2);min-width:0;position:relative;overflow:hidden}.hotel-gallery__item img{object-fit:cover;width:100%;height:100%}.hotel-gallery__item figcaption{right:var(--hotel-space-md);bottom:var(--hotel-space-md);max-width:30ch;padding:var(--hotel-space-xs) var(--hotel-space-sm);background:var(--hotel-color-paper);color:var(--hotel-color-ink);font-size:var(--hotel-text-sm);position:absolute}.hotel-gallery__item--1{grid-area:1/1/span 4/span 8}.hotel-gallery__item--2{grid-area:1/9/span 2/span 4}.hotel-gallery__item--3{grid-area:3/9/span 2/span 4}.hotel-gallery__item--4{grid-area:5/1/span 3/span 4}.hotel-gallery__item--5{grid-area:5/5/span 3/span 4}.hotel-gallery__item--6{grid-area:5/9/span 3/span 4}.hotel-services{background:color-mix(in oklch,var(--hotel-color-lagoon) 14%,var(--hotel-color-paper));grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);width:100%;min-width:0;display:grid}.hotel-services__photo{min-width:0;min-height:48rem}.hotel-services__photo img{object-fit:cover;width:100%;height:100%}.hotel-services__content{padding:var(--hotel-space-3xl) var(--hotel-page-gutter);align-content:center;display:grid}.hotel-services__content header>p{max-width:46ch;margin-top:var(--hotel-space-md);color:var(--hotel-color-ink-2)}.hotel-services__content ul{margin:var(--hotel-space-2xl) 0 0;border-top:var(--hotel-rule-hair) solid var(--hotel-color-rule);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.hotel-services__content li{align-items:center;gap:var(--hotel-space-xs);min-width:0;padding-block:var(--hotel-space-sm);border-bottom:var(--hotel-rule-hair) solid var(--hotel-color-rule);color:var(--hotel-color-ink);font-size:var(--hotel-text-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.hotel-services__content li:nth-child(odd){padding-right:var(--hotel-space-sm)}.hotel-services__content li:nth-child(2n){padding-left:var(--hotel-space-sm)}.hotel-services__content li svg{width:1rem;height:1rem;color:var(--hotel-color-lagoon)}.hotel-excursions{padding:var(--hotel-space-3xl) var(--hotel-page-gutter);background:var(--hotel-color-midnight);color:var(--hotel-color-on-dark)}.hotel-excursions__head,.hotel-inclusions,.hotel-reserve>*{width:min(100%,var(--hotel-content-max));margin-inline:auto}.hotel-excursions__head{align-items:end;gap:var(--hotel-space-2xl);grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);display:grid}.hotel-excursions__head h2{max-width:13ch}.hotel-excursions__head>div>p{max-width:48ch;margin-top:var(--hotel-space-md);color:color-mix(in oklch,var(--hotel-color-on-dark) 74%,transparent)}.hotel-excursions__cta{justify-items:start;gap:var(--hotel-space-xs);padding-left:var(--hotel-space-lg);border-left:var(--hotel-rule-hair) solid var(--hotel-color-midnight-2);display:grid}.hotel-excursions__cta>span{color:var(--hotel-color-sun);font-size:var(--hotel-text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.hotel-excursions__cta p{max-width:45ch;color:color-mix(in oklch,var(--hotel-color-on-dark) 78%,transparent);font-size:var(--hotel-text-sm)}.hotel-excursions__cta .hotel-button{margin-top:var(--hotel-space-xs)}.hotel-inclusions{align-items:center;gap:var(--hotel-space-xl);margin-top:var(--hotel-space-2xl);padding-block:var(--hotel-space-md);border-block:var(--hotel-rule-hair) solid var(--hotel-color-midnight-2);grid-template-columns:auto minmax(0,1fr);display:grid}.hotel-inclusions h3{font-family:var(--hotel-font-body);font-size:var(--hotel-text-sm);letter-spacing:0;font-weight:600}.hotel-inclusions ul{justify-content:flex-end;gap:var(--hotel-space-sm) var(--hotel-space-lg);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.hotel-inclusions li{align-items:center;gap:var(--hotel-space-2xs);color:color-mix(in oklch,var(--hotel-color-on-dark) 78%,transparent);font-size:var(--hotel-text-sm);display:inline-flex}.hotel-inclusions svg{width:1rem;height:1rem;color:var(--hotel-color-accent)}.hotel-tours{padding-block:var(--hotel-space-3xl)}.hotel-tour-grid{gap:var(--hotel-space-2xl) var(--hotel-space-lg);margin-top:var(--hotel-space-2xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hotel-tour-grid article{min-width:0;padding-top:var(--hotel-space-md);border-top:var(--hotel-space-3xs) solid var(--hotel-color-lagoon)}.hotel-tour-grid article>svg{width:1.25rem;height:1.25rem;margin-bottom:var(--hotel-space-lg);color:var(--hotel-color-accent)}.hotel-tour-grid h3{font-size:var(--hotel-text-xl)}.hotel-tour-grid p{margin-top:var(--hotel-space-xs);color:var(--hotel-color-ink-2);font-size:var(--hotel-text-sm)}.hotel-reserve{padding:var(--hotel-space-3xl) var(--hotel-page-gutter);background:var(--hotel-color-midnight-2);color:var(--hotel-color-on-dark)}.hotel-reserve__intro{align-items:end;gap:var(--hotel-space-2xl);grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);display:grid}.hotel-reserve__intro p{max-width:48ch;color:color-mix(in oklch,var(--hotel-color-on-dark) 76%,transparent)}.hotel-reserve__intro+.hotel-button{margin-top:var(--hotel-space-2xl)}.hotel-reserve__details{gap:var(--hotel-space-3xl);margin-top:var(--hotel-space-2xl);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.hotel-reserve__details h3{font-size:var(--hotel-text-2xl)}.hotel-reserve__contact{align-content:start;justify-items:start;gap:var(--hotel-space-sm);display:grid}.hotel-reserve__contact>a,.hotel-reserve__contact>p{align-items:center;gap:var(--hotel-space-xs);min-height:2.75rem;color:color-mix(in oklch,var(--hotel-color-on-dark) 82%,transparent);font-size:var(--hotel-text-sm);grid-template-columns:auto minmax(0,1fr);text-decoration:none;display:grid}.hotel-reserve__contact>a{white-space:nowrap}.hotel-reserve__contact svg{width:1rem;height:1rem;color:var(--hotel-color-accent)}.hotel-reserve__contact>a:hover,.hotel-reserve__social a:hover,.hotel-reserve__agency a:hover{color:var(--hotel-color-accent)}.hotel-reserve__social{gap:var(--hotel-space-sm);margin-top:var(--hotel-space-sm);flex-wrap:wrap;display:flex}.hotel-reserve__social a{align-items:center;gap:var(--hotel-space-2xs);border-bottom:var(--hotel-rule-hair) solid currentColor;min-height:2.75rem;color:var(--hotel-color-on-dark);font-size:var(--hotel-text-sm);white-space:nowrap;text-decoration:none;display:inline-flex}.hotel-reserve__form>p{max-width:52ch;margin-top:var(--hotel-space-sm);color:color-mix(in oklch,var(--hotel-color-on-dark) 72%,transparent)}.hotel-reserve__form details{margin-top:var(--hotel-space-lg)}.hotel-reserve__form summary{cursor:pointer;align-items:center;gap:var(--hotel-space-2xs);border-bottom:var(--hotel-rule-hair) solid currentColor;min-height:2.75rem;font-size:var(--hotel-text-sm);white-space:nowrap;font-weight:600;list-style:none;display:inline-flex}.hotel-reserve__form summary::-webkit-details-marker{display:none}.hotel-reserve__form summary svg{width:1rem;height:1rem;transition:transform var(--hotel-dur-short) var(--hotel-ease-out)}.hotel-reserve__form details[open] summary svg{transform:rotate(90deg)}.hotel-booking-form-shell{margin-top:var(--hotel-space-lg);padding:var(--hotel-space-2xs);background:var(--hotel-color-paper);color:var(--hotel-color-ink)}.hotel-reserve__form .hotel-reserve__agency{margin-top:var(--hotel-space-lg);font-size:var(--hotel-text-xs)}.hotel-reserve__agency a{min-height:2.75rem;color:var(--hotel-color-on-dark);text-underline-offset:var(--hotel-space-3xs);white-space:nowrap;align-items:center;text-decoration:underline;display:inline-flex}.hotel-concierge{gap:var(--hotel-space-3xl);min-width:0;padding-block:var(--hotel-space-3xl);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;display:grid}.hotel-concierge__intro{z-index:var(--hotel-z-sticky);top:calc(var(--hotel-banner-height) + var(--hotel-space-md));position:sticky}.hotel-concierge__intro p{max-width:46ch;margin-top:var(--hotel-space-md);color:var(--hotel-color-ink-2)}.hotel-concierge__tool{min-width:0}.hotel-smart-purchase{--smart-surface:var(--hotel-color-midnight);--smart-surface-soft:var(--hotel-color-midnight-2);--smart-text:var(--hotel-color-on-dark);--smart-muted:color-mix(in oklch, var(--hotel-color-on-dark) 68%, transparent);--smart-rule:color-mix(in oklch, var(--hotel-color-lagoon) 44%, transparent);padding:clamp(var(--hotel-space-lg),4vw,var(--hotel-space-xl));border:0;border-top:var(--hotel-space-2xs) solid var(--hotel-color-accent);background:var(--hotel-color-midnight);box-shadow:none;color:var(--hotel-color-on-dark);font-family:var(--hotel-font-body);border-radius:0;position:relative;overflow:hidden}.hotel-smart-purchase:after{border:var(--hotel-rule-hair) solid color-mix(in oklch,var(--hotel-color-lagoon) 32%,transparent);content:"";pointer-events:none;border-radius:50%;width:14rem;height:14rem;position:absolute;top:-7rem;right:-5rem}.hotel-smart-purchase h3{color:inherit;font-family:var(--hotel-font-display);font-size:clamp(var(--hotel-text-xl),4vw,var(--hotel-text-2xl));letter-spacing:-.035em;font-style:normal;font-weight:500;line-height:1}.hotel-smart-purchase .smart-purchase__header{z-index:1;padding-bottom:var(--hotel-space-md);border-bottom:var(--hotel-rule-hair) solid color-mix(in oklch,var(--hotel-color-on-dark) 20%,transparent);position:relative}.hotel-smart-purchase .smart-purchase__mark{background:var(--hotel-color-sun);width:3rem;height:3rem;color:var(--hotel-color-ink);border-radius:0}.hotel-smart-purchase .smart-purchase__eyebrow,.hotel-smart-purchase .smart-purchase__edition{color:color-mix(in oklch,var(--hotel-color-on-dark) 65%,transparent);font-size:var(--hotel-text-xs)}.hotel-smart-purchase .smart-purchase__progress{z-index:1;margin-top:var(--hotel-space-md);position:relative}.hotel-smart-purchase .smart-purchase__progress-labels{color:color-mix(in oklch,var(--hotel-color-on-dark) 64%,transparent);font-size:var(--hotel-text-xs)}.hotel-smart-purchase .smart-purchase__progress-track{height:var(--hotel-space-3xs);background:var(--hotel-color-midnight-2);border-radius:0}.hotel-smart-purchase .smart-purchase__progress-track>span{background:var(--hotel-color-lagoon);transition-timing-function:var(--hotel-ease-out);transition-duration:var(--hotel-dur-medium)}.hotel-smart-purchase .smart-purchase__guide{z-index:1;gap:var(--hotel-space-sm);margin-top:var(--hotel-space-md);padding:var(--hotel-space-md);border:0;border-left:var(--hotel-space-3xs) solid var(--hotel-color-sun);background:var(--hotel-color-paper);color:var(--hotel-color-ink);border-radius:0;position:relative}.hotel-smart-purchase .smart-purchase__guide[data-state=loading]{border-left-color:var(--hotel-color-lagoon)}.hotel-smart-purchase .smart-purchase__guide[data-state=error]{border-left-color:var(--hotel-color-error)}.hotel-smart-purchase .smart-purchase__guide-mark{background:var(--hotel-color-midnight);color:var(--hotel-color-on-dark);border-radius:0}.hotel-smart-purchase .smart-purchase__guide-copy>span{color:var(--hotel-color-accent-ink);font-size:var(--hotel-text-xs)}.hotel-smart-purchase .smart-purchase__guide-copy :where(p,ul){color:var(--hotel-color-ink);font-size:var(--hotel-text-sm)}.hotel-smart-purchase .smart-purchase__options{z-index:1;gap:var(--hotel-space-2xs);margin-top:var(--hotel-space-sm);position:relative}.hotel-smart-purchase .smart-purchase__option{gap:var(--hotel-space-xs);min-height:5rem;padding:var(--hotel-space-sm);border-color:color-mix(in oklch,var(--hotel-color-on-dark) 18%,transparent);background:var(--hotel-color-midnight-2);color:var(--hotel-color-on-dark);transition:border-color var(--hotel-dur-short) var(--hotel-ease-out),background var(--hotel-dur-short) var(--hotel-ease-out),color var(--hotel-dur-short) var(--hotel-ease-out),transform var(--hotel-dur-short) var(--hotel-ease-out);border-radius:0}.hotel-smart-purchase .smart-purchase__option:hover,.hotel-smart-purchase .smart-purchase__option[data-selected]{border-color:var(--hotel-color-accent);background:var(--hotel-color-paper);color:var(--hotel-color-ink);transform:translate(var(--hotel-space-3xs))}.hotel-smart-purchase .smart-purchase__option-number{color:var(--hotel-color-sun);font-size:var(--hotel-text-xs);letter-spacing:.08em}.hotel-smart-purchase .smart-purchase__option:hover .smart-purchase__option-number,.hotel-smart-purchase .smart-purchase__option[data-selected] .smart-purchase__option-number{color:var(--hotel-color-accent)}.hotel-smart-purchase .smart-purchase__option-copy strong{font-size:var(--hotel-text-sm)}.hotel-smart-purchase .smart-purchase__option-copy small{color:color-mix(in oklch,currentColor 68%,transparent);font-size:var(--hotel-text-xs)}.hotel-smart-purchase .smart-purchase__option>svg{color:var(--hotel-color-accent)}.hotel-smart-purchase .smart-purchase__people,.hotel-smart-purchase .smart-purchase__form{z-index:1;position:relative}.hotel-smart-purchase .smart-purchase__counter button{border-color:color-mix(in oklch,var(--hotel-color-on-dark) 30%,transparent);background:var(--hotel-color-midnight-2);color:var(--hotel-color-on-dark);border-radius:0}.hotel-smart-purchase .smart-purchase__counter button:hover{border-color:var(--hotel-color-accent);background:var(--hotel-color-paper);color:var(--hotel-color-ink)}.hotel-smart-purchase .smart-purchase__counter strong{color:var(--hotel-color-sun);font-family:var(--hotel-font-display);font-weight:500}.hotel-smart-purchase .smart-purchase__counter span{color:color-mix(in oklch,var(--hotel-color-on-dark) 65%,transparent)}.hotel-smart-purchase .smart-purchase__primary-action{background:var(--hotel-color-accent);min-height:3rem;color:var(--hotel-color-accent-ink);border-radius:0}.hotel-smart-purchase .smart-purchase__primary-action:hover{background:var(--hotel-color-sun);opacity:1}.hotel-smart-purchase .smart-purchase__primary-action:disabled{background:color-mix(in oklch,var(--hotel-color-on-dark) 18%,transparent);color:color-mix(in oklch,var(--hotel-color-on-dark) 55%,transparent)}.hotel-smart-purchase .smart-purchase__form label>span{color:color-mix(in oklch,var(--hotel-color-on-dark) 72%,transparent);font-size:var(--hotel-text-xs)}.hotel-smart-purchase .smart-purchase__form input{border-color:color-mix(in oklch,var(--hotel-color-lagoon) 52%,transparent);background:var(--hotel-color-paper);min-height:3rem;color:var(--hotel-color-ink);border-radius:0}.hotel-smart-purchase .smart-purchase__privacy{color:color-mix(in oklch,var(--hotel-color-on-dark) 62%,transparent)}.hotel-smart-purchase .smart-purchase__error{border-color:var(--hotel-color-error);color:var(--hotel-color-on-dark)}.hotel-smart-purchase .smart-purchase__back{color:color-mix(in oklch,var(--hotel-color-on-dark) 68%,transparent)}.hotel-smart-purchase .smart-purchase__back:hover{color:var(--hotel-color-sun)}.hotel-smart-purchase.smart-purchase--success{border-top-color:var(--hotel-color-success)}.hotel-smart-purchase .smart-purchase__success>svg{color:var(--hotel-color-sun)}.hotel-smart-purchase .smart-purchase__success>p:not(.smart-purchase__eyebrow){color:color-mix(in oklch,var(--hotel-color-on-dark) 72%,transparent)}.hotel-smart-purchase .smart-purchase__secondary-action{border-color:var(--hotel-color-lagoon);color:var(--hotel-color-on-dark);background:0 0;border-radius:0}.hotel-smart-purchase .smart-purchase__secondary-action:hover{background:var(--hotel-color-paper);color:var(--hotel-color-ink)}.hotel-footer{padding:var(--hotel-space-3xl) var(--hotel-page-gutter) var(--hotel-space-xl);background:var(--hotel-color-midnight);color:var(--hotel-color-on-dark)}.hotel-footer__inner{width:min(100%,var(--hotel-content-max));margin-inline:auto}.hotel-footer__statement{max-width:22ch;font-family:var(--hotel-font-display);letter-spacing:-.035em;font-size:clamp(2.75rem,5.5vw,5rem);font-weight:500;line-height:.96}.hotel-footer__meta{gap:var(--hotel-space-2xl);margin-top:var(--hotel-space-3xl);padding-top:var(--hotel-space-lg);border-top:var(--hotel-rule-hair) solid var(--hotel-color-midnight-2);grid-template-columns:minmax(10rem,.7fr) minmax(14rem,1fr) minmax(16rem,1fr);align-items:start;display:grid}.hotel-footer__logo{filter:brightness(0)invert();opacity:.92;width:clamp(9rem,16vw,12rem);height:auto}.hotel-footer__links,.hotel-footer__contact{gap:var(--hotel-space-xs);display:grid}.hotel-footer__links a,.hotel-footer__contact a,.hotel-footer__legal a{width:fit-content;min-width:2.75rem;min-height:2.75rem;color:color-mix(in oklch,var(--hotel-color-on-dark) 74%,transparent);font-size:var(--hotel-text-sm);white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}.hotel-footer__links a:hover,.hotel-footer__contact a:hover,.hotel-footer__legal a:hover{color:var(--hotel-color-accent)}.hotel-footer__contact span{color:color-mix(in oklch,var(--hotel-color-on-dark) 72%,transparent);font-size:var(--hotel-text-sm)}.hotel-footer__legal{justify-content:space-between;gap:var(--hotel-space-sm) var(--hotel-space-lg);margin-top:var(--hotel-space-2xl);color:color-mix(in oklch,var(--hotel-color-on-dark) 72%,transparent);font-size:var(--hotel-text-xs);flex-wrap:wrap;display:flex}.hotel-footer__legal a{font-size:var(--hotel-text-xs)}.hotel-footer__meta>a{align-items:center;width:fit-content;min-height:2.75rem;display:inline-flex}@media(pointer:coarse){.hotel-room__media>span{opacity:1}}@media(max-width:60rem){.hotel-nav{grid-template-columns:minmax(0,1fr) auto}.hotel-nav__links{display:none}.hotel-nav__menu-button{display:grid}.hotel-hero__content,.hotel-booking-dock,.hotel-intro,.hotel-section-head--split,.hotel-section-head--gallery,.hotel-excursions__head,.hotel-reserve__intro,.hotel-reserve__details,.hotel-concierge{grid-template-columns:minmax(0,1fr)}.hotel-hero__caption,.hotel-section-head--split .hotel-text-link,.hotel-section-head--gallery>p{justify-self:start}.hotel-booking-dock{gap:var(--hotel-space-lg)}.hotel-intro__title,.hotel-intro__copy,.hotel-intro__nearby{grid-column:1}.hotel-intro__copy,.hotel-intro__nearby{max-width:42rem}.hotel-services{grid-template-columns:minmax(0,1fr)}.hotel-services__photo{min-height:34rem}.hotel-inclusions{grid-template-columns:minmax(0,1fr)}.hotel-inclusions ul{justify-content:flex-start}.hotel-excursions__cta{padding:var(--hotel-space-lg) 0 0;border-top:var(--hotel-rule-hair) solid var(--hotel-color-midnight-2);border-left:0}.hotel-concierge__intro{position:static}.hotel-footer__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-footer__contact{grid-column:1/-1}}@media(max-width:48rem){.hotel-hero{min-height:calc(100svh - var(--hotel-banner-height))}.hotel-hero__content{gap:var(--hotel-space-md);padding-block:var(--hotel-space-xl) var(--hotel-space-2xl);grid-template-columns:minmax(0,1fr)}.hotel-hero__coastline{left:var(--hotel-space-sm)}.hotel-availability{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-availability .hotel-button{grid-column:2}.hotel-room-grid,.hotel-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-gallery__grid{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-gallery__item{aspect-ratio:4/3;grid-area:auto}.hotel-gallery__item--1{aspect-ratio:16/10;grid-column:1/-1}.hotel-gallery__item figcaption{position:static}.hotel-footer__meta{grid-template-columns:minmax(0,1fr)}.hotel-footer__contact{grid-column:1}}@media(max-width:40rem){.hotel-ensueno-page h2{font-size:clamp(2.5rem,13vw,3.75rem)}.hotel-nav{padding-inline:var(--hotel-space-sm)}.hotel-nav__logo{width:8.25rem}.hotel-nav__actions{gap:var(--hotel-space-3xs)}.hotel-nav__cta{padding-inline:var(--hotel-space-xs);font-size:var(--hotel-text-xs)}.hotel-offcanvas{grid-template-columns:minmax(0,1fr)}.hotel-offcanvas__scrim{display:none}.hotel-offcanvas__panel{justify-self:end;width:min(100%,26rem)}.hotel-hero h1{font-size:clamp(3rem,15vw,4.75rem)}.hotel-caribe-band{width:calc(100% - (var(--hotel-space-sm) * 2));min-height:0;margin-top:var(--hotel-space-xl);display:grid}.hotel-caribe-band>img{z-index:auto;object-position:42% center;height:12rem;position:relative}.hotel-caribe-band__message{width:100%;min-height:0;padding:var(--hotel-space-lg)}.hotel-caribe-band__message p{font-size:var(--hotel-text-xl)}.hotel-booking-dock,.hotel-intro,.hotel-rooms,.hotel-gallery,.hotel-tours,.hotel-concierge{padding-inline:var(--hotel-space-sm)}.hotel-booking-dock,.hotel-rooms{padding-block:var(--hotel-space-xl)}.hotel-intro,.hotel-gallery,.hotel-tours,.hotel-concierge{padding-block:var(--hotel-space-2xl)}.hotel-availability{grid-template-columns:minmax(0,1fr)}.hotel-availability .hotel-button{grid-column:1;width:100%}.hotel-room-grid,.hotel-tour-grid,.hotel-gallery__grid,.hotel-services__content ul{grid-template-columns:minmax(0,1fr)}.hotel-room__media{aspect-ratio:4/3}.hotel-room__body{grid-template-columns:minmax(0,1fr)}.hotel-room__price{text-align:left;justify-items:start}.hotel-services__photo{min-height:26rem}.hotel-services__content,.hotel-excursions,.hotel-reserve,.hotel-footer{padding:var(--hotel-space-2xl) var(--hotel-space-sm)}.hotel-services__content li:nth-child(odd),.hotel-services__content li:nth-child(2n){padding-inline:0}.hotel-inclusions ul{gap:var(--hotel-space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hotel-reserve__contact>a{text-overflow:ellipsis;max-width:100%;overflow:hidden}.hotel-footer__statement{font-size:clamp(2.75rem,14vw,4rem)}.hotel-footer__links a,.hotel-footer__contact a{text-overflow:ellipsis;max-width:100%;overflow:hidden}.hotel-footer__legal{flex-direction:column}}@media(max-width:25.875rem){.hotel-nav__cta-arrow{display:none}.hotel-hero__content{padding-inline:var(--hotel-space-sm)}.hotel-hero__caption p{font-size:var(--hotel-text-body)}.hotel-section-head--split{gap:var(--hotel-space-md)}.hotel-inclusions ul{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.hotel-ensueno-page *,.hotel-ensueno-page :before,.hotel-ensueno-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hotel-booking-page,.hotel-room-page{background:radial-gradient(circle at 6% 12%,color-mix(in oklch,var(--hotel-color-sun) 20%,transparent) 0 9rem,transparent 9.1rem),var(--hotel-color-paper);min-width:0;color:var(--hotel-color-ink);font-family:var(--hotel-font-body);line-height:1.6;overflow-x:clip}.hotel-booking-page *,.hotel-booking-page :before,.hotel-booking-page :after,.hotel-room-page *,.hotel-room-page :before,.hotel-room-page :after{box-sizing:border-box}.hotel-booking-page ::selection,.hotel-room-page ::selection{background:var(--hotel-color-sun);color:var(--hotel-color-ink)}.hotel-booking-page h1,.hotel-booking-page h2,.hotel-booking-page h3,.hotel-booking-page p,.hotel-room-page h1,.hotel-room-page h2,.hotel-room-page h3,.hotel-room-page p{margin:0}.hotel-booking-page h1,.hotel-booking-page h2,.hotel-booking-page h3,.hotel-room-page h1,.hotel-room-page h2,.hotel-room-page h3{color:inherit;font-family:var(--hotel-font-display);letter-spacing:-.035em;overflow-wrap:anywhere;font-style:normal;font-weight:500}.hotel-booking-page a,.hotel-booking-page button,.hotel-booking-page input,.hotel-booking-page select,.hotel-booking-page textarea,.hotel-room-page a,.hotel-room-page button,.hotel-room-page input,.hotel-room-page select,.hotel-room-page textarea{font:inherit}.hotel-booking-page a:focus-visible,.hotel-booking-page button:focus-visible,.hotel-booking-page input:focus-visible,.hotel-booking-page select:focus-visible,.hotel-booking-page textarea:focus-visible,.hotel-room-page a:focus-visible,.hotel-room-page button:focus-visible,.hotel-room-page input:focus-visible,.hotel-room-page select:focus-visible,.hotel-room-page textarea:focus-visible{outline:var(--hotel-rule-strong) solid var(--hotel-color-focus);outline-offset:var(--hotel-space-3xs)}.booking-back-link{align-items:center;gap:var(--hotel-space-2xs);width:fit-content;min-height:2.75rem;color:var(--hotel-color-ink-2);font-size:var(--hotel-text-sm);margin-bottom:auto;font-weight:700;text-decoration:none;display:inline-flex}.booking-back-link svg{width:1rem;height:1rem;transition:transform var(--hotel-dur-short) var(--hotel-ease-out)}.booking-back-link:hover svg{transform:translate(-.2rem)}.booking-kicker{color:var(--hotel-color-accent);font-size:var(--hotel-text-xs);letter-spacing:.13em;text-transform:uppercase;font-weight:700;line-height:1.25}.booking-search-shell{z-index:2;width:min(calc(100% - (var(--hotel-page-gutter) * 2)),calc(var(--hotel-content-max) - (var(--hotel-page-gutter) * 2)));background:var(--hotel-color-midnight);color:var(--hotel-color-on-dark);margin:0 auto;position:relative}.booking-search{align-items:end;column-gap:clamp(.75rem,1.2vw,1.1rem);row-gap:var(--hotel-space-md);padding:var(--hotel-space-lg);border-bottom:var(--hotel-rule-hair) solid color-mix(in oklch,var(--hotel-color-on-dark) 20%,transparent);grid-template-columns:minmax(9rem,.8fr) minmax(9rem,.8fr) minmax(10.5rem,1.1fr) minmax(11.5rem,1.2fr) auto;display:grid}.booking-search h2{grid-column:1/-1;align-self:center;font-size:1.65rem;font-weight:600;line-height:1.05}.booking-field{gap:var(--hotel-space-2xs);min-width:0;display:grid}.booking-field>span{color:inherit;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.booking-field input,.booking-field select,.booking-field textarea{border:var(--hotel-rule-hair) solid var(--hotel-color-rule);background:var(--hotel-color-paper);width:100%;min-width:0;color:var(--hotel-color-ink);transition:border-color var(--hotel-dur-short) var(--hotel-ease-out),background var(--hotel-dur-short) var(--hotel-ease-out);border-radius:0;font-weight:500;font-size:1rem!important}.booking-field input,.booking-field select{height:3.25rem;padding-inline:var(--hotel-space-xs)}.hotel-booking-page .booking-search .booking-field input,.hotel-booking-page .booking-search .booking-field select,.hotel-booking-page .booking-search .guest-selector__trigger{border-radius:12px;height:3.5rem;line-height:1.2;font-size:clamp(.9rem,.9vw,1rem)!important}.hotel-booking-page .booking-search .booking-field input,.hotel-booking-page .booking-search .booking-field select{padding-inline:1rem}.hotel-booking-page .booking-search .booking-field select{padding-right:2.75rem}.hotel-booking-page .booking-search .guest-selector__trigger{gap:.625rem;padding-inline:1rem}.hotel-booking-page .booking-search>.booking-primary-button{min-height:3.5rem}.booking-field textarea{min-height:6.75rem;padding:var(--hotel-space-xs);resize:vertical}.booking-field input:hover,.booking-field select:hover,.booking-field textarea:hover{border-color:var(--hotel-color-lagoon)}.booking-primary-button{justify-content:center;align-items:center;gap:var(--hotel-space-2xs);width:fit-content;min-height:3.25rem;padding-inline:var(--hotel-space-md);border:var(--hotel-rule-hair) solid var(--hotel-color-accent);background:var(--hotel-color-accent);color:var(--hotel-color-accent-ink);cursor:pointer;white-space:nowrap;transition:background var(--hotel-dur-short) var(--hotel-ease-out),color var(--hotel-dur-short) var(--hotel-ease-out),transform var(--hotel-dur-short) var(--hotel-ease-out);border-radius:0;font-size:.95rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.booking-primary-button svg{width:1rem;height:1rem}.booking-primary-button:hover{background:var(--hotel-color-sun);color:var(--hotel-color-ink);transform:translateY(-.1rem)}.booking-primary-button:active{transform:translateY(.08rem)}.booking-primary-button:disabled{cursor:wait;opacity:.54;transform:none}.booking-search-summary{justify-content:space-between;align-items:center;gap:var(--hotel-space-md);min-height:3.25rem;padding:var(--hotel-space-xs) var(--hotel-space-lg);color:color-mix(in oklch,var(--hotel-color-on-dark) 84%,transparent);font-size:var(--hotel-text-xs);display:flex}.booking-search-summary>span{align-items:center;gap:var(--hotel-space-2xs);min-height:1.75rem;display:inline-flex}.booking-search-summary svg{width:1rem;height:1rem;color:var(--hotel-color-lagoon)}.booking-search-summary__dates{font-weight:600}.booking-search-summary__note{padding-left:var(--hotel-space-md);border-left:var(--hotel-rule-hair) solid color-mix(in oklch,var(--hotel-color-on-dark) 24%,transparent);color:color-mix(in oklch,var(--hotel-color-on-dark) 62%,transparent);letter-spacing:.04em;white-space:nowrap}.booking-season{width:fit-content;padding:.15rem var(--hotel-space-2xs);border:var(--hotel-rule-hair) solid currentColor;color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs);align-items:center;font-weight:700;display:inline-flex}.booking-search-summary .booking-season--baja,.booking-season--baja{color:var(--hotel-color-lagoon)}.booking-search-summary .booking-season--media,.booking-season--media{color:var(--hotel-color-palm)}.booking-search-summary .booking-season--alta,.booking-season--alta{color:var(--hotel-color-accent)}.booking-steps{width:min(100%,var(--hotel-content-max));padding:var(--hotel-space-lg) var(--hotel-page-gutter);margin-inline:auto}.booking-steps ol{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.booking-steps li{align-items:center;gap:var(--hotel-space-2xs);border-bottom:var(--hotel-rule-hair) solid var(--hotel-color-rule-2);min-width:0;min-height:2.75rem;color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs);letter-spacing:.07em;text-transform:uppercase;font-weight:700;display:flex}.booking-steps li>span{border:var(--hotel-rule-hair) solid currentColor;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}.booking-steps li>span svg{width:.9rem;height:.9rem}.booking-steps li[data-active]{border-bottom-color:var(--hotel-color-accent);color:var(--hotel-color-ink)}.booking-steps li[data-active]>span{border-color:var(--hotel-color-accent);background:var(--hotel-color-accent);color:var(--hotel-color-accent-ink)}.booking-steps li[data-done]{border-bottom-color:var(--hotel-color-lagoon);color:var(--hotel-color-lagoon)}.booking-main{width:min(100%,var(--hotel-content-max));min-height:30rem;padding:var(--hotel-space-lg) var(--hotel-page-gutter) var(--hotel-space-3xl);margin-inline:auto}.booking-notice{margin-bottom:var(--hotel-space-lg);padding:var(--hotel-space-sm) var(--hotel-space-md);border-inline-start:var(--hotel-space-3xs) solid var(--hotel-color-accent);background:var(--hotel-color-paper-2);font-size:var(--hotel-text-sm)}.booking-notice--error{border-color:var(--hotel-color-error)}.booking-notice--lagoon{border-color:var(--hotel-color-lagoon)}.booking-skeletons{gap:var(--hotel-space-md);display:grid}.booking-skeleton{background:linear-gradient(100deg,var(--hotel-color-paper-2) 20%,var(--hotel-color-paper-3) 40%,var(--hotel-color-paper-2) 60%);background-size:220% 100%;min-height:21rem;animation:1.4s linear infinite booking-shimmer}@keyframes booking-shimmer{to{background-position-x:-220%}}.booking-empty{align-content:center;place-items:center;gap:var(--hotel-space-sm);min-height:28rem;padding:var(--hotel-space-xl);border:var(--hotel-rule-hair) solid var(--hotel-color-rule);background:var(--hotel-color-paper-2);text-align:center;display:grid}.booking-empty h2{max-width:18ch;font-size:var(--hotel-text-display-s);line-height:.98}.booking-results-head{justify-content:space-between;align-items:end;gap:var(--hotel-space-lg);margin-bottom:var(--hotel-space-xl);display:flex}.booking-results-head h2{max-width:28ch;margin-top:var(--hotel-space-2xs);font-size:clamp(2.25rem,3vw,2.75rem);font-weight:650;line-height:1.05}.booking-results-head>p{max-width:22rem;color:var(--hotel-color-ink-2);font-size:var(--hotel-text-sm);text-align:right}.booking-results-head>p strong{color:var(--hotel-color-ink);font-family:var(--hotel-font-display);font-size:1.75rem;font-weight:750;display:block}.booking-offers{gap:var(--hotel-space-xl);display:grid}.booking-offer{border-block:var(--hotel-rule-hair) solid var(--hotel-color-rule);border-inline-end:var(--hotel-rule-hair) solid var(--hotel-color-rule);border-inline-start:var(--hotel-space-3xs) solid var(--hotel-color-lagoon);background:var(--hotel-color-paper);grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr);min-width:0;display:grid}.booking-offer:nth-child(3n+2){border-inline-start-color:var(--hotel-color-accent)}.booking-offer:nth-child(3n){border-inline-start-color:var(--hotel-color-palm)}.booking-offer__image{background:var(--hotel-color-paper-2);min-height:20rem;position:relative;overflow:hidden}.booking-offer__image img{object-fit:cover;width:100%;height:100%;transition:transform var(--hotel-dur-long) var(--hotel-ease-out)}.booking-offer:hover .booking-offer__image img{transform:scale(1.02)}.booking-offer__availability{top:var(--hotel-space-xs);left:var(--hotel-space-xs);border:var(--hotel-rule-hair) solid color-mix(in oklch,var(--hotel-color-ink) 14%,transparent);background:color-mix(in oklch,var(--hotel-color-paper) 90%,transparent);box-shadow:0 .4rem 1.2rem color-mix(in oklch,var(--hotel-color-midnight) 12%,transparent);color:var(--hotel-color-ink);font-size:var(--hotel-text-xs);letter-spacing:.02em;-webkit-backdrop-filter:blur(.45rem);backdrop-filter:blur(.45rem);border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .7rem;font-weight:800;line-height:1;display:inline-flex;position:absolute}.booking-offer__availability:before{background:var(--hotel-color-accent);content:"";border-radius:50%;width:.45rem;height:.45rem}.booking-offer__image>small{right:var(--hotel-space-sm);bottom:var(--hotel-space-sm);padding:var(--hotel-space-2xs) var(--hotel-space-xs);background:color-mix(in oklch,var(--hotel-color-midnight) 92%,transparent);color:var(--hotel-color-on-dark);font-size:var(--hotel-text-xs);font-weight:700;line-height:1;position:absolute}.booking-offer__body{align-content:start;min-width:0;padding:clamp(1.35rem,2.4vw,2.25rem);display:grid}.booking-offer__heading{justify-content:space-between;align-items:start;gap:var(--hotel-space-lg);min-width:0;display:flex}.booking-offer__heading h3{margin-top:var(--hotel-space-2xs);font-size:clamp(2rem,3vw,3rem);font-weight:650;line-height:1}.booking-detail-link{align-items:center;gap:var(--hotel-space-2xs);border-bottom:var(--hotel-rule-hair) solid currentColor;min-height:2.75rem;color:var(--hotel-color-ink);white-space:nowrap;flex:none;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.booking-detail-link svg{width:1rem;height:1rem;transition:transform var(--hotel-dur-short) var(--hotel-ease-out)}.booking-detail-link:hover svg{transform:translate(.15rem,-.15rem)}.booking-offer__facts{gap:var(--hotel-space-sm);margin-top:var(--hotel-space-lg);padding-block:var(--hotel-space-md);border-block:var(--hotel-rule-hair) solid var(--hotel-color-rule-2);color:var(--hotel-color-ink-2);grid-template-columns:repeat(2,minmax(0,1fr));font-size:.95rem;font-weight:500;display:grid}.booking-offer__facts span{align-items:center;gap:var(--hotel-space-2xs);min-width:0;display:flex}.booking-offer__facts svg{width:1.1rem;height:1.1rem;color:var(--hotel-color-lagoon);flex:none}.booking-offer__price{align-items:end;gap:var(--hotel-space-md);margin-top:var(--hotel-space-lg);grid-template-columns:repeat(2,minmax(0,1fr)) auto;display:grid}.booking-offer__price>div{gap:var(--hotel-space-3xs);display:grid}.booking-offer__price span{color:var(--hotel-color-ink-2);font-size:.9rem;font-weight:500}.booking-offer__price strong{font-family:var(--hotel-font-display);font-size:1.75rem;font-weight:750;line-height:1}.booking-conditions-trigger{border:0;border-top:var(--hotel-rule-hair) solid var(--hotel-color-rule-2);width:100%;min-height:2rem;color:var(--hotel-color-ink-2);cursor:pointer;letter-spacing:.02em;text-transform:none;background:0 0;justify-content:space-between;align-items:center;margin-top:.5rem;padding:0;font-size:.6875rem;font-weight:600;display:flex}.booking-conditions-trigger svg{width:.875rem;height:.875rem;transition:transform var(--hotel-dur-short) var(--hotel-ease-out)}.booking-conditions-trigger:hover svg{transform:translate(.15rem,-.15rem)}.booking-conditions-dialog{width:min(100vw - 2rem,40rem);max-width:none;max-height:min(86dvh,44rem);color:var(--hotel-color-ink);background:0 0;border:0;margin:auto;padding:0;position:fixed;inset:0;overflow:visible}.booking-conditions-dialog::backdrop{background:color-mix(in oklch,var(--hotel-color-midnight) 74%,transparent);-webkit-backdrop-filter:blur(.3rem);backdrop-filter:blur(.3rem)}.booking-conditions-dialog__panel{overscroll-behavior:contain;border-top:var(--hotel-space-3xs) solid var(--hotel-color-accent);background:var(--hotel-color-paper);max-height:min(86dvh,44rem);box-shadow:0 1.5rem 5rem color-mix(in oklch,var(--hotel-color-midnight) 28%,transparent),0 0 0 var(--hotel-rule-hair) #fff3;padding:1.5rem;overflow-y:auto}@supports (color:lab(0% 0 0)){.booking-conditions-dialog__panel{box-shadow:0 1.5rem 5rem color-mix(in oklch,var(--hotel-color-midnight) 28%,transparent),0 0 0 var(--hotel-rule-hair) #fff3}}.booking-conditions-dialog__header{justify-content:space-between;align-items:start;gap:var(--hotel-space-md);display:flex}.booking-conditions-dialog .booking-kicker{letter-spacing:.08em;font-size:.75rem}.booking-conditions-dialog__header h2{text-wrap:balance;margin-top:.25rem;font-size:clamp(2rem,3vw,2.75rem);line-height:1}.booking-conditions-dialog__close{justify-content:center;align-items:center;gap:var(--hotel-space-2xs);border:var(--hotel-rule-hair) solid var(--hotel-color-rule);min-width:4.75rem;min-height:2.25rem;color:var(--hotel-color-ink);cursor:pointer;font:inherit;transition:transform var(--hotel-dur-short) var(--hotel-ease-out);background:0 0;padding-inline:.75rem;font-size:.75rem;font-weight:700;display:inline-flex}.booking-conditions-dialog__close:active{transform:scale(.96)}.booking-conditions-dialog__close svg{width:1rem;height:1rem}.booking-conditions-dialog__summary{border-block:var(--hotel-rule-hair) solid var(--hotel-color-rule-2);color:var(--hotel-color-ink-2);grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:1rem;margin-top:1.25rem;padding-block:.75rem;font-size:.875rem;display:grid}.booking-conditions-dialog__summary strong{color:var(--hotel-color-ink);font-family:var(--hotel-font-display);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600;line-height:1}.booking-conditions{border-inline-start:var(--hotel-space-3xs) solid var(--hotel-color-sun);background:var(--hotel-color-paper-2);color:var(--hotel-color-ink-2);margin-top:1rem;padding:1rem;font-size:.8125rem}.booking-conditions ul{gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.booking-conditions li{grid-template-columns:minmax(0,1fr) minmax(7rem,auto) minmax(5rem,auto);align-items:center;gap:.75rem;display:grid}.booking-conditions li>strong{color:var(--hotel-color-ink);font-variant-numeric:tabular-nums;text-align:right}.booking-conditions-dialog__footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1rem;display:grid}.booking-conditions-dialog__footer p{color:var(--hotel-color-ink-2);text-wrap:pretty;font-size:.8125rem;line-height:1.5}.booking-conditions-dialog__footer .booking-primary-button{min-height:2.75rem;padding-inline:1.25rem;font-size:.875rem}.booking-conditions-dialog__footer p strong{color:var(--hotel-color-ink)}.booking-legal-note{max-width:72ch;color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs);text-align:center;margin:var(--hotel-space-xl) auto 0!important}.booking-guest-layout{align-items:start;gap:var(--hotel-space-xl);grid-template-columns:minmax(0,1fr) minmax(19rem,25rem);display:grid}.booking-guest-card{padding:var(--hotel-space-xl);border-inline-start:var(--hotel-space-3xs) solid var(--hotel-color-accent);background:var(--hotel-color-paper-2)}.booking-guest-card h2{margin-top:var(--hotel-space-xs);font-size:clamp(1.75rem,2.6vw,2.25rem);line-height:1.05}.booking-guest-card>p:not(.booking-kicker){margin-top:var(--hotel-space-sm);color:var(--hotel-color-ink-2)}.booking-guest-form{gap:var(--hotel-space-md);margin-top:var(--hotel-space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.booking-guest-form .booking-field>span{color:var(--hotel-color-ink-2)}.booking-field--full,.booking-form-error{grid-column:1/-1}.booking-guest-form>.booking-primary-button{width:100%}.booking-form-error{padding:var(--hotel-space-xs);border-inline-start:var(--hotel-space-3xs) solid var(--hotel-color-error);background:color-mix(in oklch,var(--hotel-color-error) 8%,var(--hotel-color-paper));color:var(--hotel-color-error);font-size:var(--hotel-text-sm)}.booking-summary-card{top:calc(var(--hotel-banner-height) + var(--hotel-space-lg));padding:var(--hotel-space-md);background:var(--hotel-color-midnight);color:var(--hotel-color-on-dark);position:sticky}.booking-summary-card>img{aspect-ratio:4/3;width:100%;margin-bottom:var(--hotel-space-md);object-fit:cover}.booking-summary-card .booking-kicker{color:var(--hotel-color-sun)}.booking-summary-card h3{margin-top:var(--hotel-space-2xs);font-size:var(--hotel-text-2xl)}.booking-summary-card>p:not(.booking-kicker){color:color-mix(in oklch,var(--hotel-color-on-dark) 76%,transparent);font-size:var(--hotel-text-sm)}.booking-summary-card dl{gap:var(--hotel-space-xs);margin:var(--hotel-space-md) 0;padding-block:var(--hotel-space-md);border-block:var(--hotel-rule-hair) solid color-mix(in oklch,var(--hotel-color-on-dark) 22%,transparent);font-size:var(--hotel-text-sm);display:grid}.booking-summary-card dl>div{justify-content:space-between;gap:var(--hotel-space-sm);display:flex}.booking-summary-card dt{color:color-mix(in oklch,var(--hotel-color-on-dark) 72%,transparent)}.booking-summary-card dd{text-align:right;margin:0;font-weight:700}.booking-summary-card>a{min-height:2.75rem;color:var(--hotel-color-sun);font-size:var(--hotel-text-sm);align-items:center;display:inline-flex}.booking-spin{animation:.8s linear infinite booking-spin}@keyframes booking-spin{to{transform:rotate(360deg)}}.guest-selector{min-width:0;position:relative}.guest-selector__trigger{align-items:center;gap:var(--hotel-space-2xs);width:100%;min-width:0;height:3.25rem;padding-inline:var(--hotel-space-xs);border:var(--hotel-rule-hair) solid var(--hotel-color-rule);background:var(--hotel-color-paper);color:var(--hotel-color-ink);cursor:pointer;text-align:left;transition:border-color var(--hotel-dur-short) var(--hotel-ease-out);border-radius:0;font-size:1rem;font-weight:500;display:flex}.guest-selector__trigger:hover{border-color:var(--hotel-color-lagoon)}.guest-selector__trigger svg{width:1.1rem;height:1.1rem;color:var(--hotel-color-lagoon);flex:none}.guest-selector__trigger-summary{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.guest-selector__dialog{width:min(100vw - 2rem,28rem);max-width:none;max-height:min(88dvh,40rem);color:var(--hotel-color-ink);background:0 0;border:0;margin:auto;padding:0;position:fixed;inset:0;overflow:visible}.guest-selector__dialog::backdrop{background:color-mix(in oklch,var(--hotel-color-midnight) 74%,transparent);-webkit-backdrop-filter:blur(.3rem);backdrop-filter:blur(.3rem)}.guest-selector__panel{max-height:min(88dvh,40rem);padding:var(--hotel-space-lg);overscroll-behavior:contain;border-top:var(--hotel-space-3xs) solid var(--hotel-color-accent);background:var(--hotel-color-paper);box-shadow:0 1.5rem 5rem color-mix(in oklch,var(--hotel-color-midnight) 28%,transparent),0 0 0 var(--hotel-rule-hair) #fff3;overflow-y:auto}@supports (color:lab(0% 0 0)){.guest-selector__panel{box-shadow:0 1.5rem 5rem color-mix(in oklch,var(--hotel-color-midnight) 28%,transparent),0 0 0 var(--hotel-rule-hair) #fff3}}.guest-selector__header{justify-content:space-between;align-items:start;gap:var(--hotel-space-md);display:flex}.guest-selector__header h2{font-size:var(--hotel-text-xl);line-height:1.05}.guest-selector__close{border:var(--hotel-rule-hair) solid var(--hotel-color-rule);width:2.75rem;height:2.75rem;color:var(--hotel-color-ink);cursor:pointer;transition:transform var(--hotel-dur-short) var(--hotel-ease-out);background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.guest-selector__close:active{transform:scale(.96)}.guest-selector__close svg{width:1rem;height:1rem}.guest-selector__group{padding-block:var(--hotel-space-sm);border-bottom:var(--hotel-rule-hair) solid var(--hotel-color-rule-2)}.guest-selector__group:first-of-type{margin-top:var(--hotel-space-md)}.guest-selector__group-row{justify-content:space-between;align-items:center;gap:var(--hotel-space-md);display:flex}.guest-selector__group-info{gap:.15rem;min-width:0;display:grid}.guest-selector__group-title{font-weight:700}.guest-selector__group-hint{color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs)}.guest-selector__stepper{align-items:center;gap:var(--hotel-space-xs);flex:none;display:flex}.guest-selector__stepper-button{border:var(--hotel-rule-hair) solid var(--hotel-color-rule);background:var(--hotel-color-paper);width:2.25rem;height:2.25rem;color:var(--hotel-color-ink);cursor:pointer;transition:border-color var(--hotel-dur-short) var(--hotel-ease-out),opacity var(--hotel-dur-short) var(--hotel-ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.guest-selector__stepper-button:hover:not(:disabled){border-color:var(--hotel-color-lagoon)}.guest-selector__stepper-button:disabled{cursor:not-allowed;opacity:.4}.guest-selector__stepper-button svg{width:.9rem;height:.9rem}.guest-selector__stepper-value{font-variant-numeric:tabular-nums;text-align:center;min-width:1.5rem;font-weight:700}.guest-selector__hint{margin-top:var(--hotel-space-md);color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs)}.guest-selector__footer{margin-top:var(--hotel-space-lg)}.guest-selector__footer .booking-primary-button{width:100%}@media(max-width:40rem){.guest-selector__dialog{width:100%;max-height:92dvh;margin:0;inset:auto 0 0}.guest-selector__panel{max-height:92dvh;padding:var(--hotel-space-md)}}.room-detail{width:min(100%,var(--hotel-content-max));padding:var(--hotel-space-md) var(--hotel-page-gutter) var(--hotel-space-3xl);margin-inline:auto}.room-detail__breadcrumbs{align-items:center;gap:var(--hotel-space-2xs);margin-bottom:var(--hotel-space-md);color:var(--hotel-color-ink-2);font-size:var(--hotel-text-sm);flex-wrap:wrap;display:flex}.room-detail__breadcrumbs a{min-height:2.75rem;color:inherit;align-items:center;display:inline-flex}.room-detail__hero{background:var(--hotel-color-paper-2);min-height:33rem;box-shadow:0 1.5rem 4rem color-mix(in oklch,var(--hotel-color-midnight) 16%,transparent);color:var(--hotel-color-ink);border-radius:1.75rem;display:block;position:relative;overflow:hidden}.room-detail__hero-image{min-width:0;position:absolute;inset:0;overflow:hidden}.room-detail__hero-image img{object-fit:cover;width:100%;height:100%}.room-detail__hero-image:after{content:"";background:linear-gradient(#0000 52%,#041a5447);position:absolute;inset:0}.room-detail__hero-image>span{z-index:2;bottom:var(--hotel-space-md);left:var(--hotel-space-md);padding:var(--hotel-space-2xs) var(--hotel-space-xs);background:var(--hotel-color-paper);color:var(--hotel-color-ink);font-size:var(--hotel-text-xs);letter-spacing:.05em;text-transform:uppercase;font-weight:700;position:absolute}.room-detail__hero-copy{z-index:3;border:var(--hotel-rule-hair) solid #ffffffc2;background:color-mix(in oklch,var(--hotel-color-paper) 94%,transparent);width:min(33rem,100% - 4rem);min-width:0;box-shadow:0 1rem 3rem color-mix(in oklch,var(--hotel-color-midnight) 22%,transparent);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);border-radius:1.5rem;padding:clamp(1.5rem,2.5vw,2.25rem);display:block;position:absolute;top:clamp(1.5rem,3vw,2.75rem);left:clamp(1.5rem,3vw,2.75rem)}@supports (color:lab(0% 0 0)){.room-detail__hero-copy{border:var(--hotel-rule-hair) solid lab(100% 0 0/.76)}}.room-detail__hero-copy .booking-kicker{color:var(--hotel-color-accent)}.room-detail__hero-copy h1{margin-top:var(--hotel-space-sm);color:var(--hotel-color-ink);font-size:clamp(2.75rem,4vw,4rem);font-weight:700;line-height:.96}.room-detail__hero-copy>p:not(.booking-kicker){max-width:48ch;margin-top:var(--hotel-space-md);color:var(--hotel-color-ink-2)}.room-detail__facts{gap:var(--hotel-space-xs);margin-top:var(--hotel-space-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.room-detail__fact{min-width:0;padding:var(--hotel-space-md);border:var(--hotel-rule-hair) solid var(--hotel-color-rule);background:var(--hotel-color-paper);border-radius:1.25rem}.room-detail__fact:last-child{border-inline-end:var(--hotel-rule-hair) solid var(--hotel-color-rule)}.room-detail__fact svg{width:1.25rem;height:1.25rem;margin-bottom:var(--hotel-space-xs);color:var(--hotel-color-lagoon)}.room-detail__fact span{color:var(--hotel-color-ink-2);font-size:var(--hotel-text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:block}.room-detail__fact strong{margin-top:var(--hotel-space-3xs);font-family:var(--hotel-font-display);font-size:1.2rem;font-weight:700;line-height:1.15;display:block}.room-detail__content{grid-template-columns:minmax(0,1fr) minmax(19rem,25rem);align-items:start;gap:clamp(2rem,4vw,4.5rem);padding-top:clamp(3rem,6vw,5rem);display:grid}.room-detail__story h2,.room-detail__services h2{max-width:21ch;font-size:clamp(2.25rem,3.4vw,3.25rem);font-weight:650;line-height:1.02}.room-detail__story>p{max-width:65ch;margin-top:var(--hotel-space-md);color:var(--hotel-color-ink-2)}.room-detail__services{margin-top:clamp(2.75rem,5vw,4.5rem)}.room-detail__services-list{gap:var(--hotel-space-sm);margin:var(--hotel-space-lg) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.room-detail__services-list li{align-items:center;gap:var(--hotel-space-xs);min-height:3.25rem;padding:var(--hotel-space-sm);border:var(--hotel-rule-hair) solid var(--hotel-color-rule);background:var(--hotel-color-paper-2);color:var(--hotel-color-ink-2);border-radius:1rem;font-size:.95rem;font-weight:600;display:flex}.room-detail__services-list svg{width:1.2rem;height:1.2rem;color:var(--hotel-color-lagoon);flex:none}.room-detail__gallery{gap:var(--hotel-space-sm);grid-template-rows:repeat(2,minmax(12rem,1fr));grid-template-columns:minmax(0,1.3fr) minmax(13rem,.7fr);margin-top:clamp(2.75rem,5vw,4.5rem);display:grid}.room-detail__gallery figure{background:var(--hotel-color-paper-2);border-radius:1.25rem;min-width:0;margin:0;position:relative;overflow:hidden}.room-detail__gallery figure:first-child{grid-row:1/3}.room-detail__gallery img{object-fit:cover;width:100%;height:100%;min-height:100%}.room-detail__gallery figcaption{padding:2.5rem var(--hotel-space-sm) var(--hotel-space-sm);background:linear-gradient(transparent,color-mix(in oklch,var(--hotel-color-midnight) 84%,transparent));color:var(--hotel-color-on-dark);font-size:var(--hotel-text-xs);position:absolute;bottom:0;left:0;right:0}.room-reserve-card{top:calc(var(--hotel-banner-height) + var(--hotel-space-lg));border:var(--hotel-rule-hair) solid var(--hotel-color-rule);border-top:var(--hotel-space-3xs) solid var(--hotel-color-accent);background:var(--hotel-color-paper-2);box-shadow:0 1.25rem 3.5rem color-mix(in oklch,var(--hotel-color-midnight) 12%,transparent);border-radius:1.5rem;padding:clamp(1.5rem,2.5vw,2.25rem);position:sticky;overflow:hidden}.room-reserve-card h2{font-size:2rem;font-weight:700;line-height:1.05}.room-reserve-card>p{margin-top:var(--hotel-space-xs);color:var(--hotel-color-ink-2);font-size:var(--hotel-text-sm)}.room-reserve-form{gap:var(--hotel-space-md);margin-top:var(--hotel-space-lg);display:grid}.room-reserve-form .booking-field>span{color:var(--hotel-color-ink-2)}.room-reserve-form .booking-primary-button{width:100%}.room-reserve-card__note{padding-top:var(--hotel-space-sm);border-top:var(--hotel-rule-hair) solid var(--hotel-color-rule-2);font-size:var(--hotel-text-xs)!important}.room-detail-state{align-content:center;place-items:center;gap:var(--hotel-space-sm);min-height:60vh;padding:var(--hotel-space-xl) var(--hotel-page-gutter);text-align:center;display:grid}.room-detail-state h1{max-width:16ch;font-size:var(--hotel-text-display-s);line-height:.98}@media(max-width:68rem){.booking-search{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-search h2{grid-column:1/-1}.booking-search>.booking-primary-button{grid-column:1/-1;width:100%}.booking-offer{grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr)}.booking-offer__price{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-offer__price .booking-primary-button{grid-column:1/-1;width:100%}.room-detail__hero{grid-template-columns:minmax(0,1fr)}.room-detail__hero-image,.room-detail__hero-copy{min-height:0}}@media(max-width:56rem){.booking-search{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-search .booking-primary-button{width:100%}.booking-offer{grid-template-columns:minmax(0,1fr)}.booking-offer__image{min-height:28rem}.booking-guest-layout,.room-detail__content{grid-template-columns:minmax(0,1fr)}.booking-summary-card,.room-reserve-card{position:static}.room-detail__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.room-detail__fact:nth-child(2){border-inline-end:var(--hotel-rule-hair) solid var(--hotel-color-rule)}.room-detail__fact:nth-child(-n+2){border-bottom:var(--hotel-rule-hair) solid var(--hotel-color-rule)}}@media(max-width:40rem){.room-detail__hero-copy h1{font-size:clamp(2.75rem,13vw,3.5rem)}.booking-search-shell{width:100%}.booking-search{padding:var(--hotel-space-md) var(--hotel-page-gutter);grid-template-columns:minmax(0,1fr)}.booking-search-summary{align-items:start;gap:var(--hotel-space-2xs);padding-inline:var(--hotel-page-gutter);flex-direction:column}.booking-search-summary__note{min-height:auto;padding-left:calc(1rem + var(--hotel-space-2xs));border-left:0}.booking-steps{padding-block:var(--hotel-space-md)}.booking-steps li{justify-content:center;font-size:0}.booking-steps li>span{font-size:var(--hotel-text-xs)}.booking-main{padding-top:var(--hotel-space-sm)}.booking-results-head,.booking-offer__heading{flex-direction:column;align-items:start}.booking-results-head>p{text-align:left}.booking-offer__image{min-height:20rem}.booking-offer__body,.booking-guest-card{padding:var(--hotel-space-md)}.booking-conditions-dialog{width:100%;max-height:92dvh;margin:0;inset:auto 0 0}.booking-conditions-dialog__panel{max-height:92dvh;padding:var(--hotel-space-md)}.booking-conditions-dialog__header{display:block;position:relative}.booking-conditions-dialog__header h2{font-size:clamp(1.75rem,9vw,2.25rem)}.booking-conditions-dialog__close{width:2.75rem;min-width:2.75rem;padding-inline:0;position:absolute;top:0;right:0}.booking-conditions-dialog__close span{display:none}.booking-conditions-dialog__summary{grid-template-columns:minmax(0,1fr) auto}.booking-conditions-dialog__summary strong{grid-column:1/-1}.booking-conditions-dialog__footer{grid-template-columns:minmax(0,1fr)}.booking-conditions-dialog__footer .booking-primary-button{width:100%}.booking-offer__facts,.booking-offer__price,.booking-guest-form,.room-detail__services-list,.room-detail__gallery{grid-template-columns:minmax(0,1fr)}.booking-offer__price .booking-primary-button{grid-column:auto}.booking-conditions li{grid-template-columns:minmax(0,1fr) auto}.booking-conditions li .booking-season{display:none}.room-detail{padding-inline:0}.room-detail__breadcrumbs,.room-detail__content{margin-inline:var(--hotel-page-gutter)}.room-detail__hero-image{min-height:20rem;position:relative;inset:auto}.room-detail__hero-copy{width:calc(100% - 2rem);min-height:0;padding:var(--hotel-space-lg);margin:-2.5rem auto 1rem;position:relative;inset:auto}.room-detail__facts{margin-inline:var(--hotel-page-gutter)}.room-detail__fact{padding:var(--hotel-space-sm)}.room-detail__gallery figure:first-child{grid-row:auto}.room-detail__gallery{grid-template-rows:auto}.room-detail__gallery img{aspect-ratio:4/3}}.rate-category-breakdown{border-top:1px solid color-mix(in srgb,var(--hotel-ink,#0f172a) 12%,transparent);gap:.45rem;margin-top:1rem;padding-top:1rem;font-size:.92rem;display:grid}.rate-category-breakdown__row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.rate-category-breakdown__row dt{color:color-mix(in srgb,var(--hotel-ink,#0f172a) 72%,transparent);font-weight:500}.rate-category-breakdown__row dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.rate-category-breakdown__row--total{border-top:1px dashed color-mix(in srgb,var(--hotel-ink,#0f172a) 16%,transparent);margin-top:.35rem;padding-top:.45rem}.rate-category-breakdown__row--total dt,.rate-category-breakdown__row--total dd{color:var(--hotel-ink,#0f172a);font-weight:800}@media(prefers-reduced-motion:reduce){.booking-back-link svg,.booking-detail-link svg,.booking-primary-button,.booking-offer__image img,.booking-conditions-trigger svg{transition:none}.booking-skeleton,.booking-spin{animation:none}}.dream-page{--dream-blue:#0a2d83;--dream-blue-2:#08236a;--dream-pink:#ec2d82;--dream-coral:#f45a3d;--dream-sky:#eaf7fc;--dream-ink:#102657;--dream-muted:#68738d;--dream-line:#dfe5ee;--dream-shadow:0 .8rem 2.8rem #0e265c17;min-width:0;color:var(--dream-ink);scroll-behavior:smooth;background:#fff;font-family:Montserrat,Avenir Next,sans-serif;font-size:18px;line-height:1.6;overflow-x:clip}.dream-page *,.dream-page :before,.dream-page :after{box-sizing:border-box}.dream-page :where(h1,h2,h3,p){margin:0}.dream-page :where(button,input,select){font:inherit}.dream-page :where(a,button,input,select):focus-visible{outline:3px solid color-mix(in srgb,var(--dream-pink) 70%,white);outline-offset:3px}.dream-page :where(#somos-ensueno,#unidades,#reservar,#mas-vendido,#ensueno-social,#contacto){scroll-margin-top:6rem}.dream-shell{width:min(100% - 2.5rem,86rem);margin-inline:auto}.dream-header{z-index:40;background:#fffffff5;position:relative}.dream-header__inner{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1rem,2.3vw,2.8rem);min-height:5.7rem;display:grid}.dream-header__brand{width:clamp(11.5rem,18vw,15rem);display:block}.dream-header__brand img{width:100%;height:auto;display:block}.dream-header__nav{justify-content:center;align-items:stretch;gap:clamp(.65rem,1.4vw,1.6rem);min-width:0;display:flex}.dream-header__nav-link{min-height:3.1rem;color:var(--dream-blue-2);letter-spacing:-.015em;white-space:nowrap;align-items:center;font-size:clamp(.8125rem,.82vw,.9375rem);font-weight:600;text-decoration:none;display:inline-flex;position:relative}.dream-header__nav-link:after{background:var(--dream-pink);content:"";height:2px;transition:right .18s,left .18s;position:absolute;bottom:0;left:50%;right:50%}.dream-header__nav-link:hover:after,.dream-header__nav-link.is-active:after{left:20%;right:20%}.dream-header__phone{background:var(--dream-blue);color:#fff;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.7rem;min-height:3.05rem;padding-inline:1.45rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:background .18s,transform .18s;display:inline-flex;box-shadow:0 .55rem 1.35rem #0a2d832e}.dream-header__phone:hover{background:var(--dream-pink);transform:translateY(-2px)}.dream-header__phone svg{width:1rem}.dream-header__menu,.dream-header__mobile-nav{display:none}.dream-main{padding-bottom:1.2rem}.dream-hero{isolation:isolate;border-radius:1.65rem;min-height:clamp(21.5rem,35vw,29.5rem);position:relative;overflow:hidden}.dream-hero>img{z-index:-3;object-fit:cover;object-position:center;width:100%;height:100%;animation:1.1s cubic-bezier(.16,1,.3,1) both dream-hero-in;position:absolute;inset:0}.dream-hero__veil{z-index:-2;background:linear-gradient(90deg,#ebf8fcf5,#ebf8fce0 27%,#ebf8fc70 49%,#0000 70%),linear-gradient(#0000 55%,#124e7b14);position:absolute;inset:0}.dream-hero__content{width:min(53%,42rem);min-height:inherit;flex-direction:column;justify-content:center;padding:clamp(2.4rem,6vw,5.8rem);animation:.76s cubic-bezier(.16,1,.3,1) .12s both dream-copy-in;display:flex}.dream-hero h1{color:var(--dream-blue);letter-spacing:-.045em;text-transform:uppercase;flex-direction:column;font-size:clamp(2rem,3.7vw,3.85rem);font-weight:500;line-height:.98;display:flex}.dream-hero h1>span{letter-spacing:-.02em;margin-bottom:.28rem;font-size:.58em;font-weight:500}.dream-hero h1>strong{white-space:nowrap;font-weight:800}.dream-hero h1>em{color:var(--dream-coral);letter-spacing:0;text-transform:none;align-items:center;gap:.65rem;margin-top:.32rem;font-family:Parisienne,cursive;font-size:.85em;font-style:normal;font-weight:400;line-height:1.16;display:inline-flex}.dream-hero h1>em svg{fill:none;width:.8em;height:.8em;stroke:var(--dream-pink);stroke-width:1.7px}.dream-hero__rule{background:linear-gradient(90deg,var(--dream-pink),var(--dream-blue));width:7.4rem;height:2px;margin-block:clamp(1.25rem,2.4vw,2rem);display:block}.dream-hero__content>p{color:#1b355f;max-width:31rem;font-size:clamp(1.125rem,1.3vw,1.25rem);line-height:1.65}.dream-hero__content>p strong{color:var(--dream-blue);font-weight:800}.dream-units{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.95rem;display:grid}.dream-unit{border:1px solid var(--dream-line);min-width:0;min-height:5.8rem;color:var(--dream-blue);background:#fff;border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.15rem;padding:.85rem 1.45rem;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 .5rem 1.8rem #0e265c12}.dream-unit:before{background:var(--dream-pink);content:"";height:3px;transition:transform .2s;position:absolute;inset:auto 0 0;transform:scaleX(0)}.dream-unit:hover{border-color:color-mix(in srgb,var(--dream-blue) 25%,white);box-shadow:var(--dream-shadow);transform:translateY(-3px)}.dream-unit:hover:before{transform:scaleX(1)}.dream-unit[data-active]{border-color:var(--dream-blue);background:var(--dream-blue);color:#fff}.dream-unit>svg:first-child{stroke-width:1.5px;width:clamp(2.2rem,3vw,2.8rem);height:clamp(2.2rem,3vw,2.8rem)}.dream-unit>span{flex-direction:column;min-width:0;display:flex}.dream-unit strong{text-transform:uppercase;max-width:15ch;font-size:clamp(1rem,1.3vw,1.3rem);font-weight:800;line-height:1.12}.dream-unit small{color:currentColor;opacity:.78;margin-top:.38rem;font-size:.9375rem}.dream-unit__arrow{opacity:0;width:1rem;transition:opacity .18s,transform .18s;transform:translate(-.5rem)}.dream-unit:hover .dream-unit__arrow{opacity:1;transform:translate(0)}.dream-booking{box-shadow:var(--dream-shadow);background:#fff;border:1px solid #e6eaf1;border-radius:1.4rem;margin-top:1.25rem;padding:clamp(1.25rem,2vw,1.8rem) clamp(1.2rem,2.5vw,2.1rem)}.dream-booking h2,.dream-best>h2{color:var(--dream-blue);letter-spacing:-.045em;text-transform:uppercase;font-size:clamp(1.7rem,2.1vw,2.2rem);font-weight:800;line-height:1}.dream-booking h2{border-bottom:1px solid var(--dream-line);padding-bottom:.75rem}.dream-booking h2 span,.dream-best>h2 span{color:var(--dream-pink)}.dream-booking__grid{gap:.9rem 1.7rem;display:grid}.dream-booking__grid--top{grid-template-columns:1.2fr 1fr 1fr;margin-top:1rem}.dream-booking__grid--bottom{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.7rem}.dream-field{gap:.45rem;min-width:0;display:grid}.dream-field>span:first-child{color:var(--dream-blue-2);letter-spacing:.02em;text-transform:uppercase;font-size:.75rem;font-weight:800}.dream-field__control{display:block;position:relative}.dream-field__control>svg{z-index:2;width:1.1rem;height:1.1rem;color:var(--dream-blue);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.dream-field :where(input,select){color:#5a6478;background:#fff;border:1px solid #dce2eb;border-radius:.65rem;outline:none;width:100%;min-width:0;height:2.7rem;padding:0 .8rem 0 2.65rem;font-weight:500;transition:border-color .18s,box-shadow .18s;font-size:1rem!important}.dream-field :where(input,select):hover{border-color:color-mix(in srgb,var(--dream-blue) 35%,white)}.dream-field :where(input,select):focus{border-color:var(--dream-blue);box-shadow:0 0 0 4px #0a2d8314}.dream-field .guest-selector__trigger{color:#5a6478;background:#fff;border:1px solid #dce2eb;border-radius:.65rem;height:2.7rem;padding-inline:1rem}.dream-field .guest-selector__trigger:hover{border-color:color-mix(in srgb,var(--dream-blue) 35%,white)}.dream-field input::placeholder{color:#8b93a2}.dream-booking__submit{background:var(--dream-blue);color:#fff;cursor:pointer;letter-spacing:.01em;text-transform:uppercase;border:0;border-radius:999px;justify-content:center;align-items:center;gap:1rem;width:min(100%,22rem);min-height:2.75rem;margin:.8rem auto -.2rem;font-size:.875rem;font-weight:800;transition:background .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 .7rem 1.5rem #0a2d832e}.dream-booking__submit:hover{background:var(--dream-pink);transform:translateY(-2px);box-shadow:0 .8rem 1.7rem #ec2d822e}.dream-booking__submit svg{width:1.1rem}.dream-hotel-story{background:radial-gradient(circle at 96% 0,#6fd2e63d,#0000 30%),#f6f9fd;border-radius:1.4rem;margin-top:clamp(1.4rem,3vw,2.6rem);padding:clamp(1.4rem,3vw,2.6rem)}.dream-hotel-story__heading{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);align-items:end;gap:clamp(1.5rem,4vw,4rem);display:grid}.dream-hotel-story__heading>div:first-child>p{color:var(--dream-pink);letter-spacing:.13em;text-transform:uppercase;font-size:.875rem;font-weight:800}.dream-hotel-story__heading h2{max-width:15ch;color:var(--dream-blue);letter-spacing:-.045em;margin-top:.45rem;font-size:clamp(2.1rem,3.2vw,3.3rem);font-weight:800;line-height:1}.dream-hotel-story__heading h2 span{color:var(--dream-pink)}.dream-hotel-story__heading>div:last-child>p{color:var(--dream-muted);font-size:1.125rem;line-height:1.65}.dream-hotel-story__heading a{color:var(--dream-blue);align-items:center;gap:.55rem;margin-top:1rem;font-size:1rem;font-weight:800;text-decoration:none;display:inline-flex}.dream-hotel-story__heading a:hover{color:var(--dream-pink)}.dream-hotel-story__heading a svg{width:1rem}.dream-hotel-story__cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(1.5rem,3vw,2.4rem);display:grid}.dream-hotel-story__cards article{border:1px solid var(--dream-line);background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 .55rem 1.8rem #0e265c12}.dream-hotel-story__cards img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.dream-hotel-story__cards article>div{padding:1.15rem}.dream-hotel-story__cards h3{color:var(--dream-blue);font-size:clamp(1.2rem,1.5vw,1.5rem);font-weight:800}.dream-hotel-story__cards p{color:var(--dream-muted);margin-top:.45rem;font-size:1rem;line-height:1.55}.dream-hotel-story--commons{margin-top:1rem}.dream-hotel-story--commons .dream-hotel-story__heading h2{max-width:18ch}.dream-hotel-story--commons img{aspect-ratio:3/4;object-position:center 42%}.dream-hotel-story__services{background:var(--dream-blue);color:#fff;border-radius:1rem;grid-template-columns:minmax(13rem,.7fr) minmax(0,2fr);align-items:center;gap:1.2rem;margin-top:1rem;padding:1.1rem 1.2rem;display:grid}.dream-hotel-story__services>div{align-items:center;gap:.75rem;display:flex}.dream-hotel-story__services>div svg{width:1.8rem;color:var(--dream-sky);flex:none}.dream-hotel-story__services strong{font-size:1rem;line-height:1.35}.dream-hotel-story__services ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem 1rem;margin:0;padding:0;list-style:none;display:grid}.dream-hotel-story__services li{align-items:center;gap:.45rem;font-size:.9375rem;display:flex}.dream-hotel-story__services li svg{width:1rem;color:var(--dream-cyan,#6fd2e6);flex:none}.dream-best{padding-top:clamp(1.35rem,2vw,2rem)}.dream-best>h2{text-align:center;margin-bottom:.75rem}.dream-best>h2:after{background:var(--dream-pink);content:"";width:2.3rem;height:2px;margin:.6rem auto 0;display:block}.dream-best__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.dream-promo{background:var(--dream-blue);isolation:isolate;border-radius:.9rem;min-height:clamp(11rem,17vw,14.5rem);position:relative;overflow:hidden}.dream-promo>img{z-index:-2;object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.dream-promo:hover>img{transform:scale(1.045)}.dream-promo__veil{z-index:-1;background:linear-gradient(90deg,#051f5beb,#051f5bb8 36%,#051f5b2e 75%,#0000);position:absolute;inset:0}.dream-promo__content{color:#fff;flex-direction:column;justify-content:center;align-items:flex-start;width:min(62%,17rem);height:100%;padding:clamp(1.2rem,2vw,2rem);display:flex}.dream-promo h3{letter-spacing:-.035em;text-transform:uppercase;font-size:clamp(1.35rem,2vw,2.05rem);font-weight:500;line-height:.98}.dream-promo p{margin-top:.65rem;font-size:clamp(1rem,1.05vw,1.125rem);line-height:1.55}.dream-promo a,.dream-coral-button{background:linear-gradient(90deg,var(--dream-coral),var(--dream-pink));color:#fff;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;margin-top:1rem;padding:.55rem 1.05rem;font-size:.875rem;font-weight:800;text-decoration:none;display:inline-flex}.dream-promo a svg{width:.8rem;transition:transform .18s}.dream-promo a:hover svg{transform:translate(.2rem)}.dream-best__dots{justify-content:center;align-items:center;gap:.5rem;min-height:1.7rem;display:flex}.dream-best__dots span{background:#dde2ea;border-radius:999px;width:1rem;height:.22rem}.dream-best__dots span.is-active{background:var(--dream-blue);width:1.8rem}.dream-club{background:linear-gradient(115deg,#f7f9fc,#fff);border:1px solid #edf0f5;border-radius:1.2rem;grid-template-columns:auto minmax(15rem,.9fr) minmax(22rem,1.5fr);align-items:center;gap:clamp(1rem,2.2vw,2rem);min-height:6.3rem;padding:1rem clamp(8.5rem,14vw,11.5rem) 1rem clamp(1.2rem,2.4vw,2rem);display:grid;position:relative;overflow:hidden;box-shadow:0 .6rem 2rem #0e265c0d}.dream-club__icon{background:var(--dream-blue);color:#fff;border-radius:50%;place-items:center;width:3.8rem;height:3.8rem;display:grid}.dream-club__icon svg{stroke-width:1.5px;width:1.8rem;height:1.8rem}.dream-club__copy h2{max-width:24rem;color:var(--dream-blue);text-transform:uppercase;font-size:clamp(1.375rem,1.65vw,1.75rem);font-weight:800;line-height:1.16}.dream-club__copy p{max-width:32rem;color:var(--dream-muted);margin-top:.35rem;font-size:1rem}.dream-club__form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.dream-club__form input{width:100%;height:2.7rem;color:var(--dream-ink);background:#fff;border:1px solid #e6eaf0;border-radius:999px;padding-inline:1.1rem;font-size:1.125rem}.dream-club__form button{background:var(--dream-blue);color:#fff;cursor:pointer;text-transform:uppercase;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;min-height:2.6rem;padding-inline:1.45rem;font-size:.875rem;font-weight:800;display:inline-flex}.dream-club__form button:hover{background:var(--dream-pink)}.dream-club__form button svg{width:.9rem}.dream-club__hummingbird{mix-blend-mode:multiply;object-fit:contain;width:clamp(8rem,12vw,10.5rem);height:auto;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)rotate(6deg)}.dream-social-impact{background:#fff;border:1px solid #edf0f5;border-radius:1.2rem;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.95fr) minmax(9rem,.45fr);align-items:center;gap:clamp(1.4rem,2.4vw,2.7rem);margin-top:.85rem;padding:clamp(1.2rem,2vw,1.8rem);display:grid;box-shadow:0 .7rem 2.3rem #0e265c0d}.dream-social-impact__intro{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1.1rem,2vw,2rem);display:grid}.dream-social-seal{background:linear-gradient(#fff,#fff) padding-box,conic-gradient(var(--dream-coral),var(--dream-pink),var(--dream-blue),var(--dream-coral)) border-box;width:clamp(7rem,12vw,10rem);height:clamp(7rem,12vw,10rem);color:var(--dream-blue);border:.33rem solid #0000;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:relative;transform:rotate(-3deg)}.dream-social-seal span{font-size:clamp(.9375rem,1.2vw,1.15rem);font-weight:800}.dream-social-seal strong{color:var(--dream-pink);font-size:clamp(.875rem,1vw,1rem)}.dream-social-seal img{mix-blend-mode:multiply;object-fit:contain;width:54%;height:auto;margin-top:.3rem}.dream-social-impact__intro h2{color:var(--dream-blue);letter-spacing:-.035em;text-transform:uppercase;font-size:clamp(1.75rem,2.2vw,2.35rem);font-weight:800}.dream-social-impact__intro h2 span{color:var(--dream-pink)}.dream-social-impact__script{color:var(--dream-blue);font-family:Parisienne,cursive;font-size:clamp(1.8rem,2.4vw,2.35rem);margin-top:.1rem!important}.dream-social-impact__intro div>p:last-of-type{max-width:31rem;color:var(--dream-muted);margin-top:.55rem;font-size:1.125rem;line-height:1.65}.dream-coral-button{width:fit-content}.dream-social-impact__steps h3{color:var(--dream-blue);text-transform:uppercase;margin-bottom:.75rem;font-size:1.125rem;font-weight:800}.dream-social-impact__steps ul{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.dream-social-impact__steps li{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.72rem;display:grid}.dream-social-impact__steps li>span{width:2.2rem;height:2.2rem;color:var(--dream-blue);border:1px solid #d6deec;border-radius:50%;place-items:center;display:grid}.dream-social-impact__steps li svg{width:1rem}.dream-social-impact__steps strong{color:var(--dream-blue);font-size:1rem;display:block}.dream-social-impact__steps p{color:var(--dream-muted);margin-top:.12rem;font-size:.9375rem;line-height:1.55}.dream-ambassador{color:var(--dream-blue);text-align:center;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;display:flex;transform:rotate(-3deg)}.dream-ambassador img{border:3px solid var(--dream-blue);object-fit:contain;background:#fff;border-radius:50%;width:clamp(6rem,10vw,8rem);height:clamp(6rem,10vw,8rem);margin-block:-.1rem;padding:.35rem}.dream-ambassador :where(p,strong){letter-spacing:.08em;font-size:clamp(.875rem,.9vw,1rem);font-weight:800}.dream-ambassador strong{background:var(--dream-pink);color:#fff;margin-top:-.35rem;padding:.3rem .55rem;transform:rotate(-3deg)}.dream-footer{background:var(--dream-blue);color:#fff;margin-top:1.25rem;padding:2.3rem 0 .9rem;position:relative;overflow:hidden}.dream-footer:before{display:none}.dream-footer__grid{grid-template-columns:1.35fr .7fr 1.1fr 1fr .48fr;align-items:start;gap:clamp(1.4rem,2.3vw,2.8rem);display:grid;position:relative}.dream-footer h2{color:#fff;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.7rem;font-size:1rem;font-weight:800}.dream-footer__brand img{filter:brightness(0)invert();width:min(100%,14rem);height:auto}.dream-footer__brand p{opacity:.75;margin-top:.25rem;font-size:.9375rem}.dream-footer__socials>div{flex-wrap:wrap;gap:.55rem;display:flex}.dream-footer__socials a{color:#fff;border:1px solid #ffffff61;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;display:grid}.dream-footer__socials a:hover{color:var(--dream-blue);background:#fff;border-color:#fff}.dream-footer__socials svg{width:.85rem}.dream-footer__contact,.dream-footer__links{flex-direction:column;display:flex}.dream-footer__contact :where(a,p),.dream-footer__links a{color:#ffffffd1;align-items:flex-start;gap:.42rem;margin-bottom:.42rem;font-size:.9375rem;line-height:1.45;text-decoration:none;display:inline-flex}.dream-footer__contact a:hover,.dream-footer__links a:hover{color:#fff;text-decoration:underline}.dream-footer__contact svg{flex:none;width:.72rem;margin-top:.1rem}.dream-footer__moncho{text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex}.dream-footer__moncho img{object-fit:cover;object-position:50% 38%;border:2px solid #fff;border-radius:50%;width:4.8rem;height:4.8rem}.dream-footer__moncho span{letter-spacing:.04em;text-transform:uppercase;font-size:.8125rem;font-weight:800}.dream-footer__legal{color:#ffffff9e;border-top:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;padding-top:.7rem;font-size:.875rem;display:flex;position:relative}@keyframes dream-hero-in{0%{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes dream-copy-in{0%{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:74rem){.dream-header__inner{gap:1rem}.dream-header__nav{gap:.8rem}.dream-header__phone{padding-inline:1rem}.dream-unit{padding-inline:1.2rem}.dream-club{grid-template-columns:auto minmax(13rem,.8fr) minmax(19rem,1.2fr)}}@media(max-width:62rem){.dream-header__inner{grid-template-columns:auto 1fr auto;min-height:5.35rem}.dream-header__nav,.dream-header__phone{display:none}.dream-header__menu{border:1px solid var(--dream-line);width:2.85rem;height:2.85rem;color:var(--dream-blue);cursor:pointer;background:#fff;border-radius:50%;justify-self:end;place-items:center;display:grid}.dream-header__menu svg{width:1.2rem}.dream-header__mobile-nav{border:1px solid var(--dream-line);box-shadow:var(--dream-shadow);background:#fff;border-radius:1rem;padding:.75rem;display:none;position:absolute;top:100%;left:1.25rem;right:1.25rem}.dream-header__mobile-nav[data-open]{animation:.22s both dream-copy-in;display:grid}.dream-header__mobile-nav a{min-height:2.8rem;color:var(--dream-blue);border-radius:.55rem;justify-content:space-between;align-items:center;padding-inline:.8rem;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.dream-header__mobile-nav a:hover{background:#f4f7fb}.dream-header__mobile-nav svg{width:.95rem}.dream-hero__content{width:58%;padding:3rem}.dream-booking__grid--bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.dream-hotel-story__heading,.dream-hotel-story__services{grid-template-columns:1fr;align-items:start}.dream-club{grid-template-columns:auto minmax(0,1fr)}.dream-hotel-story--commons .dream-hotel-story__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dream-club__form{grid-column:1/-1}.dream-social-impact{grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr)}.dream-ambassador{flex-direction:row;grid-column:1/-1;gap:.8rem}.dream-footer__grid{grid-template-columns:1.2fr .7fr 1fr 1fr}.dream-footer__moncho{display:none}}@media(max-width:48rem){.dream-shell{width:min(100% - 1.25rem,86rem)}.dream-header__brand{width:11.5rem}.dream-main{padding-bottom:0}.dream-hero{border-radius:1.15rem;min-height:34rem}.dream-hero>img{object-position:64% center}.dream-hero__veil{background:linear-gradient(#0000 18%,#eaf7fc1f 34%,#eaf7fcd6 62%,#eaf7fcf5),linear-gradient(90deg,#eaf7fc70,#0000 70%)}.dream-hero__content{justify-content:flex-end;width:100%;min-height:34rem;padding:2rem 1.45rem 2.3rem}.dream-hero h1{font-size:clamp(2.1rem,10vw,3.2rem)}.dream-hero__content>p{max-width:27rem}.dream-units{scroll-snap-type:x mandatory;margin-inline:-.62rem;padding:.1rem .62rem .75rem;display:flex;overflow-x:auto}.dream-unit{scroll-snap-align:start;flex:0 0 82%;min-width:16.5rem;min-height:6.4rem}.dream-booking{border-radius:1rem;margin-top:.65rem;padding:1.35rem 1rem}.dream-booking__grid--top,.dream-booking__grid--bottom{grid-template-columns:1fr;gap:.85rem}.dream-best__grid{grid-template-columns:1fr}.dream-hotel-story{padding:1.4rem 1rem}.dream-hotel-story__cards,.dream-hotel-story--commons .dream-hotel-story__cards{grid-template-columns:1fr}.dream-hotel-story__services ul{grid-template-columns:repeat(2,minmax(0,1fr))}.dream-promo{min-height:14rem}.dream-promo__content{width:min(66%,18rem)}.dream-club{grid-template-columns:auto 1fr;padding:1.25rem 1rem}.dream-club__icon{width:3.7rem;height:3.7rem}.dream-club__form{grid-template-columns:1fr}.dream-club__hummingbird{grid-column:2;justify-self:end;width:6.5rem;margin-top:.75rem;position:static;transform:rotate(6deg)}.dream-social-impact{grid-template-columns:1fr;padding:1.4rem 1rem}.dream-social-impact__intro{grid-template-columns:auto minmax(0,1fr)}.dream-social-impact__steps{border-top:1px solid var(--dream-line);padding-top:1.2rem}.dream-ambassador{grid-column:auto}.dream-footer{padding-top:3.8rem}.dream-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dream-footer__brand{grid-column:1/-1}}@media(max-width:30rem){.dream-hotel-story__services ul,.dream-social-impact__intro{grid-template-columns:1fr}.dream-social-seal{margin-inline:auto}.dream-footer__grid{grid-template-columns:1fr}.dream-footer__brand{grid-column:auto}.dream-footer__legal{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.dream-page *,.dream-page :before,.dream-page :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
