.footer{color:rgba(242,239,233,.72);background:var(--color-forest-900);border-top:1px solid rgba(255,255,255,.08)}.footer__inner{gap:2.5rem;padding-top:3.5rem;padding-bottom:3.5rem;display:grid}@media (min-width:768px){.footer__inner{grid-template-columns:1.4fr 1fr 1fr;gap:3rem;padding-top:4.5rem;padding-bottom:4.5rem}}.footer__brand{color:var(--color-cream);align-content:start;gap:1.25rem;display:grid}.footer__tagline{max-width:22rem;font-size:var(--text-sm);color:rgba(242,239,233,.6);line-height:1.7}.footer__column{align-content:start;gap:1rem;display:grid}.footer__title{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--color-gold-400);font-size:.6875rem;font-weight:600}.footer__list{gap:.625rem;display:grid}.footer__link{font-size:var(--text-sm);transition:color var(--duration)}@media (hover:hover) and (pointer:fine){.footer__link:hover{color:var(--color-white)}}.footer__link--icon{align-items:center;gap:.625rem;display:inline-flex}.footer__link--icon svg{flex-shrink:0;width:1rem;height:1rem}.footer__bottom{font-size:var(--text-xs);color:rgba(242,239,233,.62);border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;padding-bottom:6rem}@media (min-width:768px){.footer__bottom{padding-bottom:1.5rem}}
.logo{color:inherit;flex-direction:column;align-items:flex-start;line-height:1;display:inline-flex}.logo__name{font-family:var(--font-serif);letter-spacing:max(.14em,min(.1em + .3vw,.22em));white-space:nowrap;text-transform:uppercase;font-size:max(1.0625rem,min(.95rem + .5vw,1.5rem));font-weight:400}.logo__kind{letter-spacing:.4em;text-transform:uppercase;opacity:.75;margin-top:.35rem;font-size:.5625rem;font-weight:400}
.header{z-index:var(--z-header);color:var(--color-cream);transition:background-color .4s var(--ease-out),color .4s var(--ease-out),box-shadow .4s var(--ease-out);position:fixed;top:0;bottom:auto;left:0;right:0}.header__bar{z-index:2;height:var(--header-height);transition:height .4s var(--ease-out);align-items:center;gap:2rem;display:flex;position:relative}@media (min-width:1280px){.header__bar{height:calc(var(--header-height) + 1.5rem)}}.header__logo{margin-right:auto}.header__nav{display:none}@media (min-width:1280px){.header__nav{display:block}}.header__list{gap:max(1.25rem,min(2vw,2.25rem));display:flex}.header__link{letter-spacing:.04em;white-space:nowrap;opacity:.85;transition:opacity var(--duration);padding-top:.5rem;padding-bottom:.5rem;font-size:.8125rem;position:relative}.header__link:after{content:"";transform-origin:100%;height:1px;transition:transform .4s var(--ease-out);background:currentColor;position:absolute;top:auto;bottom:0;left:0;right:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.header__link:hover{opacity:1}.header__link:hover:after{transform-origin:0;transform:scaleX(1)}}.header__cta{display:none}@media (min-width:768px){.header__cta{display:block}}.header__cta .button{min-height:2.5rem;padding:.625rem 1.25rem}.header__toggle{place-content:center;gap:7px;width:2.75rem;height:2.75rem;margin-right:-.5rem;display:grid;position:relative}@media (min-width:1280px){.header__toggle{display:none}}.header__toggle-line{width:1.5rem;height:1.5px;transition:transform .3s var(--ease-out);background:currentColor;display:block}.header__menu{z-index:1;padding-top:var(--header-height);background:var(--color-forest-900);opacity:0;visibility:hidden;transition:opacity .4s var(--ease-out),visibility 0s linear .4s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@media (min-width:1280px){.header__menu{display:none}}.header__menu-nav{padding-block:2rem max(2rem,env(safe-area-inset-bottom));flex-direction:column;justify-content:space-between;gap:2.5rem;display:flex;overflow-y:auto}.header__menu-list{gap:.25rem;display:grid}.header__menu-item{opacity:0;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transform:translateY(.75rem)}.header__menu-link{font-family:var(--font-serif);color:var(--color-cream);padding-top:.5rem;padding-bottom:.5rem;font-size:max(2rem,min(8vw,2.75rem));line-height:1.15;display:block}.header__menu-actions{gap:.75rem;display:grid}.header--solid{color:var(--color-ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(244,240,235,.94);box-shadow:0 1px rgba(0,0,0,.06)}@media (min-width:1280px){.header--solid .header__bar{height:var(--header-height)}}.header--menu-open{color:var(--color-cream);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.header--menu-open .header__menu{opacity:1;visibility:visible;transition:opacity .4s var(--ease-out)}.header--menu-open .header__menu-item{opacity:1;transform:none}.header--menu-open .header__toggle-line:first-child{transform:translateY(4.25px)rotate(45deg)}.header--menu-open .header__toggle-line:last-child{transform:translateY(-4.25px)rotate(-45deg)}
.button{min-height:3rem;font-family:var(--font-sans);letter-spacing:.04em;text-align:center;border-radius:var(--radius-sm);transition:background-color var(--duration)var(--ease-out),border-color var(--duration)var(--ease-out),color var(--duration)var(--ease-out),transform var(--duration)var(--ease-out);border:1px solid transparent;justify-content:center;align-items:center;gap:.625rem;padding:.875rem 1.75rem;font-size:.8125rem;font-weight:500;line-height:1.2;display:inline-flex}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.5}.button__icon{display:inline-flex}.button__icon svg{width:1.125rem;height:1.125rem}.button--light{color:var(--color-ink);background:var(--color-cream)}@media (hover:hover) and (pointer:fine){.button--light:hover{background:var(--color-white)}}.button--glass{color:var(--color-cream);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(30,48,44,.55);border-color:rgba(255,255,255,.3)}@media (hover:hover) and (pointer:fine){.button--glass:hover{background:rgba(30,48,44,.8);border-color:rgba(255,255,255,.55)}}.button--forest{color:var(--color-cream);background:var(--color-forest-800)}@media (hover:hover) and (pointer:fine){.button--forest:hover{background:var(--color-forest-700)}}.button--outline{color:currentColor;border-color:currentColor}@media (hover:hover) and (pointer:fine){.button--outline:hover{background:rgba(0,0,0,.05)}}.button--block{width:100%}
.whatsapp-float{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:var(--z-float);width:3.5rem;height:3.5rem;color:var(--color-white);background:var(--color-whatsapp);opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:fixed;transform:translateY(1rem)scale(.9);box-shadow:0 10px 24px -8px rgba(0,0,0,.35)}@media (min-width:768px){.whatsapp-float{bottom:2rem;right:2rem}}@media (hover:hover) and (pointer:fine){.whatsapp-float:hover{transform:scale(1.06)}}.whatsapp-float--visible{opacity:1;pointer-events:auto;transform:none}.whatsapp-float__icon{width:1.75rem;height:1.75rem}
.about{align-items:center;gap:2.5rem;display:grid}@media (min-width:1024px){.about{grid-template-columns:1fr 1fr;gap:4rem}}.about__media{aspect-ratio:4/3;background:var(--color-sand-400);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.about__media:hover .about__image{transform:scale(1.03)}}.about__image{object-fit:cover;transition:transform .8s var(--ease-out)}.stats{border-top:1px solid var(--section-line);grid-template-columns:repeat(2,1fr);margin-top:max(3.5rem,min(2rem + 5vw,6rem));display:grid}@media (min-width:768px){.stats{grid-template-columns:repeat(4,1fr)}}.stats__item{text-align:center;flex-direction:column-reverse;align-items:center;gap:.5rem;padding:2rem 1rem 0;display:flex}.stats__item:nth-child(odd){border-right:1px solid var(--section-line)}.stats__item:nth-child(n+3){border-top:1px solid var(--section-line);margin-top:2rem}@media (min-width:768px){.stats__item:nth-child(n){border-top:0;border-right:1px solid var(--section-line);margin-top:0}.stats__item:last-child{border-right:0}}.stats__value{font-family:var(--font-serif);color:var(--section-title);font-size:max(2.5rem,min(2rem + 2vw,3.25rem));font-weight:300;line-height:1}.stats__label{letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-600);font-size:.625rem;font-weight:500}@media (min-width:640px){.stats__label{font-size:.6875rem}}
@media (scripting:enabled){.reveal{transition:opacity .8s var(--ease-out)var(--reveal-delay,0s),transform .8s var(--ease-out)var(--reveal-delay,0s)}.reveal:not(.reveal--visible){opacity:0;transform:translateY(1.5rem)}}@media (scripting:enabled) and (prefers-reduced-motion:reduce){.reveal:not(.reveal--visible){transform:none}}
.section{--section-bg:var(--color-sand-300);--section-text:var(--color-ink-700);--section-title:var(--color-ink);--section-eyebrow:var(--color-brown-600);--section-line:var(--color-sand-line);padding-block:var(--section-space);color:var(--section-text);background-color:var(--section-bg)}.section--cream{--section-bg:var(--color-sand-100);--section-line:#d4cfc7}.section--linen{--section-bg:var(--color-sand-50);--section-line:#ddd8cf}.section--forest{--section-bg:var(--color-forest-800);--section-text:rgba(242,239,233,.78);--section-title:var(--color-cream);--section-eyebrow:var(--color-gold-400);--section-line:rgba(255,255,255,.1)}.section+.section{border-top:1px solid var(--section-line)}
.section-header{flex-direction:column;gap:1rem;max-width:36rem;display:flex}.section-header__eyebrow{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--section-eyebrow);font-size:.6875rem;font-weight:600}.section-header__title{font-family:var(--font-serif);font-size:var(--text-display-md);letter-spacing:-.01em;color:var(--section-title);font-weight:400;line-height:1.1}.section-header__description{gap:1.25rem;max-width:32rem;margin-top:.75rem;line-height:1.75;display:grid}.section-header--center{text-align:center;align-items:center;max-width:44rem;margin-left:auto;margin-right:auto}
.amenities{background:var(--section-line);border-block:1px solid var(--section-line);grid-template-columns:repeat(2,1fr);gap:1px;margin-top:max(2.5rem,min(2rem + 2vw,4rem));display:grid}@media (min-width:768px){.amenities{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.amenities{grid-template-columns:repeat(6,1fr)}}.amenities__item{text-align:center;background:var(--section-bg);transition:background-color .4s var(--ease-out);flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}@media (min-width:768px){.amenities__item{padding:2.75rem 1.5rem}}@media (hover:hover) and (pointer:fine){.amenities__item:hover{background:var(--color-forest-700)}}.amenities__icon{width:1.75rem;height:1.75rem;color:var(--color-cream)}.amenities__title{font-size:var(--text-sm);color:var(--section-title);font-weight:500}@media (min-width:768px){.amenities__title{font-size:.9375rem}}
.booking{align-items:start;gap:3rem;display:grid}@media (min-width:1024px){.booking{grid-template-columns:1fr minmax(0,30rem);gap:5rem}}.booking__steps{gap:1rem;margin-top:2.5rem;display:grid}.booking__step{font-size:var(--text-sm);align-items:center;gap:1rem;display:flex}.booking__step-number{width:2rem;height:2rem;font-family:var(--font-serif);color:var(--color-gold-400);border:1px solid rgba(184,153,95,.5);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.125rem;display:grid}.booking__direct{border-top:1px solid var(--section-line);justify-items:start;gap:.75rem;margin-top:2.5rem;padding-top:2rem;display:grid}.booking__direct-label{font-size:var(--text-sm)}.booking-form{color:var(--color-ink);background:var(--color-sand-50);border-radius:var(--radius-md);gap:1.25rem;padding:1.75rem 1.25rem;display:grid;box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}@media (min-width:640px){.booking-form{padding:2.5rem 2.25rem}}.booking-form__title{font-family:var(--font-serif);font-size:var(--text-display-sm);font-weight:400;line-height:1.2}.booking-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .75rem;display:grid}.booking-form__field{gap:.375rem;display:grid}.booking-form__field--full{grid-column:1/-1}.booking-form__label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-600);font-size:.6875rem;font-weight:600}.booking-form__optional{letter-spacing:.04em;text-transform:none;font-weight:400}.booking-form__input{width:100%;min-height:3rem;color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-sand-line);border-radius:var(--radius-sm);transition:border-color var(--duration),box-shadow var(--duration);padding:.75rem .875rem;font-size:1rem}.booking-form__input:focus{border-color:var(--color-brown-500);outline:none;box-shadow:0 0 0 3px rgba(140,110,78,.18)}.booking-form__input:user-invalid{border-color:#b4452f}.booking-form__input--textarea{resize:vertical}.booking-form__error{font-size:var(--text-sm);color:#b4452f}.booking-form__note{font-size:var(--text-xs);color:var(--color-ink-600);text-align:center;line-height:1.6}
.breakfast{align-items:center;gap:2.5rem;display:grid}@media (min-width:1024px){.breakfast{grid-template-columns:5fr 7fr;gap:4rem}}.breakfast__media{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (min-width:640px){.breakfast__media{gap:1.5rem}}.breakfast__frame{aspect-ratio:4/5;background:var(--color-sand-400);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.breakfast__frame:nth-child(2){margin-top:2.5rem}@media (min-width:768px){.breakfast__frame:nth-child(2){margin-top:4rem}}@media (hover:hover) and (pointer:fine){.breakfast__frame:hover .breakfast__image{transform:scale(1.05)}}.breakfast__image{object-fit:cover;transition:transform .8s var(--ease-out)}
.gallery{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:max(2.5rem,min(2rem + 2vw,3.5rem));display:grid}@media (min-width:768px){.gallery{gap:1rem}}@media (min-width:1024px){.gallery{grid-template-columns:repeat(4,1fr);gap:1.25rem}}.gallery__item{aspect-ratio:1;background:var(--color-sand-400);position:relative;overflow:hidden}.gallery__item:first-child{aspect-ratio:4/3;grid-column:span 2}@media (min-width:1024px){.gallery__item:first-child{aspect-ratio:auto;grid-row:span 2}}.gallery__button{cursor:zoom-in;width:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.gallery__button:focus-visible{outline-offset:-3px}@media (hover:hover) and (pointer:fine){.gallery__button:hover .gallery__image{transform:scale(1.05)}.gallery__button:hover .gallery__zoom{opacity:1;transform:none}}.gallery__image{object-fit:cover;transition:transform .8s var(--ease-out)}.gallery__zoom{width:2.25rem;height:2.25rem;color:var(--color-ink);opacity:0;transition:opacity var(--duration),transform var(--duration)var(--ease-out);background:rgba(255,255,255,.9);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:.75rem;right:.75rem;transform:translateY(.25rem)}.gallery__zoom svg{width:1rem;height:1rem}
.carousel{flex-direction:column;width:100%;height:100%;display:flex}.carousel__viewport{background:var(--color-sand-400);flex:1;min-height:0;position:relative;overflow:hidden}.carousel__track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;height:100%;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.carousel__track::-webkit-scrollbar{display:none}.carousel__track:focus-visible{outline-offset:-3px}.carousel__slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;height:100%;position:relative;overflow:hidden}.carousel__slide--portrait{background-position:50%;background-size:cover}.carousel__slide--portrait .carousel__image{object-fit:contain}.carousel__image{object-fit:cover}.carousel--contain .carousel__viewport{background:0 0}.carousel--contain .carousel__image{object-fit:contain}.carousel__arrow{width:2.75rem;height:2.75rem;color:var(--color-ink);box-shadow:var(--shadow-sm);transition:opacity var(--duration),background-color var(--duration);background:rgba(255,255,255,.88);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.carousel__arrow:hover{background:var(--color-white)}}.carousel__arrow:disabled{opacity:0;pointer-events:none}@media (hover:none){.carousel__arrow{display:none}}.carousel__arrow svg{width:1.25rem;height:1.25rem}.carousel__arrow--prev{left:1rem}.carousel__arrow--next{right:1rem}.carousel__counter{font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--color-white);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.45);border-radius:999px;padding:.25rem .75rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.carousel__thumbs{background:var(--color-sand-100);scrollbar-width:none;flex-shrink:0;gap:.5rem;margin:0;padding:.75rem;list-style:none;display:flex;overflow-x:auto}.carousel__thumbs::-webkit-scrollbar{display:none}.carousel__thumb{aspect-ratio:4/3;background:var(--color-sand-400);border-radius:var(--radius-sm);opacity:.55;width:4.5rem;transition:opacity var(--duration);display:block;position:relative;overflow:hidden}@media (min-width:768px){.carousel__thumb{width:5.25rem}}@media (hover:hover) and (pointer:fine){.carousel__thumb:hover{opacity:.85}}.carousel__thumb:after{content:"";border-radius:inherit;transition:border-color var(--duration);border:2px solid transparent;position:absolute;top:0;bottom:0;left:0;right:0}.carousel__thumb--active{opacity:1}.carousel__thumb--active:after{border-color:var(--color-brown-500)}.carousel__thumb-image{object-fit:cover}
.modal{width:100%;max-width:none;height:100%;max-height:none;color:var(--color-ink);background:0 0;border:0;margin:0;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(18,32,25,.72)}.modal[open]{animation:modal-fade .3s var(--ease-out);justify-content:center;align-items:flex-end;display:flex}@media (min-width:768px){.modal[open]{align-items:center;padding:2rem}}.modal__content{width:100%;position:relative}.modal__close{z-index:2;width:2.5rem;height:2.5rem;color:var(--color-ink);box-shadow:var(--shadow-sm);transition:background-color var(--duration);background:rgba(255,255,255,.9);border-radius:50%;place-items:center;display:grid;position:absolute;top:.75rem;right:.75rem}@media (hover:hover) and (pointer:fine){.modal__close:hover{background:var(--color-white)}}.modal__close svg{width:1.25rem;height:1.25rem}.modal--panel .modal__content{background:var(--color-sand-50);max-width:60rem;max-height:92svh;animation:modal-slide-up .4s var(--ease-out);border-radius:12px 12px 0 0;overflow-y:auto}@media (min-width:768px){.modal--panel .modal__content{border-radius:var(--radius-md);max-height:calc(100svh - 4rem)}}.modal--lightbox[open]{align-items:center;padding:0}@media (min-width:768px){.modal--lightbox[open]{padding:2rem 4rem}}.modal--lightbox .modal__content{max-width:80rem;height:100%;max-height:100%}.modal--lightbox .modal__close{top:1rem;right:1rem}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(2rem)}}
.hero{min-height:100svh;color:var(--color-white);background:var(--color-forest-900);align-items:flex-end;display:flex;position:relative;overflow:hidden}@media (min-width:768px){.hero{align-items:center;min-height:max(100svh,40rem)}}.hero__media{position:absolute;top:0;bottom:0;left:0;right:0}.hero__slide{opacity:0;transition:opacity 1.4s var(--ease-out);position:absolute;top:0;bottom:0;left:0;right:0}.hero__slide--active{opacity:1}.hero__slide--active .hero__image{transform:scale(1)}.hero__image{object-fit:cover;filter:brightness(.8)contrast(1.04);transition:transform 7s linear;transform:scale(1.06)}.hero__overlay{background:linear-gradient(rgba(0,0,0,.55),transparent 30%),linear-gradient(transparent 40%,rgba(0,0,0,.7));position:absolute;top:0;bottom:0;left:0;right:0}@media (min-width:768px){.hero__overlay{background:linear-gradient(rgba(0,0,0,.55),transparent 30%),linear-gradient(90deg,rgba(0,0,0,.5),transparent 65%),linear-gradient(transparent 60%,rgba(0,0,0,.45))}}.hero__content{z-index:1;padding-top:calc(var(--header-height) + 3rem);padding-bottom:6rem;position:relative}@media (min-width:768px){.hero__content{padding-bottom:4rem}}.hero__text{max-width:36rem}.hero__text>:nth-child(3),.hero__text>:nth-child(4){animation:hero-rise 1s var(--ease-out)both}.hero__text>:nth-child(4){animation-delay:.15s}.hero__kicker{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;letter-spacing:.25em;color:rgba(255,255,255,.8);margin-bottom:1.25rem;font-size:.6875rem;font-weight:600}.hero__title{font-family:var(--font-serif);font-size:var(--text-display-lg);letter-spacing:-.01em;margin-bottom:1.5rem;font-weight:400;line-height:1.04}.hero__title-line{display:block}.hero__description{max-width:28rem;font-size:var(--text-base);color:rgba(255,255,255,.88);margin-bottom:2.25rem;font-weight:300;line-height:1.7}.hero__actions{gap:.75rem;display:grid}@media (min-width:640px){.hero__actions{flex-wrap:wrap;display:flex}}.hero__indicators{z-index:2;pointer-events:none;padding-bottom:2rem;position:absolute;top:auto;bottom:0;left:0;right:0}@media (min-width:768px){.hero__indicators{padding-bottom:2.5rem}}.hero__dots{pointer-events:auto;gap:.5rem;display:flex}.hero__dot{width:2.25rem;height:1.5rem;position:relative}.hero__dot:before{content:"";background:rgba(255,255,255,.35);height:2px;position:absolute;top:50%;bottom:auto;left:0;right:0}.hero__dot--active .hero__dot-fill{animation:linear forwards hero-progress}.hero__dot-fill{background:var(--color-white);transform-origin:0;height:2px;position:absolute;top:50%;bottom:auto;left:0;right:0;transform:scaleX(0)}@keyframes hero-rise{0%{opacity:0;transform:translateY(1.25rem)}}@keyframes hero-progress{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.hero__dot--active .hero__dot-fill{transform:scaleX(1)}}
.region{margin:clamp(2.5rem,2rem + 2vw,3.5rem)calc(var(--gutter)*-1)0;padding:0 var(--gutter).5rem;scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;grid-auto-columns:78%;grid-auto-flow:column;gap:.75rem;display:grid;overflow-x:auto}.region::-webkit-scrollbar{display:none}@media (min-width:640px){.region{grid-auto-columns:45%}}@media (min-width:1024px){.region{grid-template-columns:repeat(4,1fr);grid-auto-rows:max(12rem,min(17vw,16.5rem));grid-auto-flow:row;gap:1rem;margin-left:0;margin-right:0;padding:0;overflow:visible}}.region__item{aspect-ratio:4/5;scroll-snap-align:start}@media (min-width:1024px){.region__item{aspect-ratio:auto}.region__item:first-child{grid-area:span 2/span 2}.region__item:nth-last-child(-n+2){grid-column:span 2}}.region__figure{background:var(--color-sand-400);height:100%;position:relative;overflow:hidden}.region__figure:after{content:"";pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.55));position:absolute;top:50%;bottom:0;left:0;right:0}@media (hover:hover) and (pointer:fine){.region__figure:hover .region__image{transform:scale(1.05)}}.region__image{object-fit:cover;transition:transform .8s var(--ease-out)}.region__caption{z-index:1;font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-white);line-height:1.2;position:absolute;bottom:1rem;left:1rem;right:1rem}
.reviews{margin:clamp(2.5rem,2rem + 2vw,4rem)calc(var(--gutter)*-1)0;padding:0 var(--gutter).5rem;scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:86%;grid-auto-flow:column;gap:1rem;display:grid;overflow-x:auto}.reviews::-webkit-scrollbar{display:none}@media (min-width:768px){.reviews{grid-template-columns:repeat(3,1fr);grid-auto-flow:row;gap:1.5rem;margin-left:0;margin-right:0;padding:0;overflow:visible}}@media (min-width:1024px){.reviews{gap:2rem}}.reviews__item{scroll-snap-align:start;display:flex}.reviews__reveal{width:100%;display:flex}.review{background:var(--color-white);width:100%;box-shadow:var(--shadow-sm);border:1px solid #e4ded5;flex-direction:column;padding:2rem 1.75rem;display:flex}@media (min-width:768px){.review{padding:2.25rem}}.review__mark{height:2.5rem;font-family:var(--font-serif);color:var(--color-brown-400);opacity:.5;font-size:4.5rem;line-height:1}.review__quote{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-ink);flex:1;margin-bottom:2rem;line-height:1.6}.review__author{letter-spacing:.22em;text-transform:uppercase;color:var(--color-brown-600);font-size:.6875rem;font-weight:600}
.rooms{--rooms-gap:1rem;margin-top:max(2.5rem,min(2rem + 2vw,3.5rem))}@media (min-width:768px){.rooms{--rooms-gap:1.5rem}}.rooms__toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.rooms__hint{font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-ink-600);align-items:center;gap:.5rem;display:flex}.rooms__hint-dot{background:var(--color-brown-500);border-radius:50%;width:.5rem;height:.5rem}.rooms__arrows{gap:.5rem;display:none}@media (min-width:768px){.rooms__arrows{display:flex}}.rooms__arrow{width:2.75rem;height:2.75rem;color:var(--color-ink-700);background:var(--color-sand-50);border:1px solid var(--section-line);transition:background-color var(--duration),opacity var(--duration);border-radius:50%;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.rooms__arrow:hover{background:var(--color-white)}}.rooms__arrow:disabled{cursor:default;opacity:.4}.rooms__arrow svg{width:1.125rem;height:1.125rem}.rooms__track{gap:var(--rooms-gap);margin:0 calc(var(--gutter)*-1);padding:.25rem var(--gutter)1.5rem;scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;grid-auto-columns:84%;grid-auto-flow:column;list-style:none;display:grid;overflow-x:auto}.rooms__track::-webkit-scrollbar{display:none}@media (min-width:640px){.rooms__track{grid-auto-columns:60%}}@media (min-width:768px){.rooms__track{grid-auto-columns:calc((100% - var(--rooms-gap))/2.15)}}@media (min-width:1024px){.rooms__track{grid-auto-columns:calc((100% - var(--rooms-gap)*2)/3)}}.rooms__item{scroll-snap-align:start;display:flex}.rooms__progress{background:var(--section-line);height:2px;position:relative;overflow:hidden}.rooms__progress:after{content:"";background:var(--color-brown-500);transform:scaleX(calc(.15 + var(--progress,0)*.85));transform-origin:0;transition:transform .15s linear;position:absolute;top:0;bottom:0;left:0;right:0}.room-card{background:var(--color-sand-200);width:100%;box-shadow:var(--shadow-sm);transition:box-shadow .4s var(--ease-out);border:1px solid #d2cdc3;flex-direction:column;display:flex;position:relative;overflow:hidden}.room-card:has(:focus-visible){outline:2px solid var(--color-brown-500);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.room-card:hover{box-shadow:var(--shadow-md)}.room-card:hover .room-card__title{color:var(--color-brown-500)}.room-card:hover .room-card__more{background:var(--color-white)}}.room-card__media{aspect-ratio:4/3;background:var(--color-sand-400);position:relative;overflow:hidden}.room-card__image{object-fit:cover}.room-card__badge{letter-spacing:.1em;text-transform:uppercase;color:var(--color-white);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.42);padding:.2rem .5rem;font-size:.625rem;font-weight:600;position:absolute;top:.75rem;left:.75rem}.room-card__more{color:var(--color-ink);border-radius:var(--radius-sm);transition:background-color var(--duration);background:rgba(255,255,255,.9);align-items:center;gap:.375rem;padding:.3rem .625rem;font-size:.6875rem;font-weight:500;display:inline-flex;position:absolute;bottom:.75rem;right:.75rem}.room-card__more svg{width:.875rem;height:.875rem}.room-card__body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.room-card__index{font-family:var(--font-serif);font-size:var(--text-sm);color:var(--color-brown-600);margin-bottom:.25rem;font-style:italic}.room-card__title{font-family:var(--font-serif);font-size:var(--text-display-sm);color:var(--color-ink);transition:color var(--duration);font-weight:400;line-height:1.15}.room-card__button{text-align:left}.room-card__button:after{content:"";z-index:1;position:absolute;top:0;bottom:0;left:0;right:0}.room-card__button:focus-visible{outline:none}.room-card__summary{font-size:var(--text-xs);letter-spacing:.03em;color:var(--color-brown-600);margin:.375rem 0 1.25rem;font-weight:500}.room-card__tags{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.room-card__tag{color:var(--color-ink-700);background:var(--color-sand-400);border-radius:3px;padding:.25rem .625rem;font-size:.6875rem}.room-details{display:grid}@media (min-width:768px){.room-details{grid-template-columns:1.2fr 1fr;height:min(42rem,100svh - 4rem)}}.room-details__gallery{min-width:0}.room-details__gallery .carousel__viewport{aspect-ratio:4/3;flex:none}@media (min-width:768px){.room-details__gallery{height:100%}.room-details__gallery .carousel__viewport{aspect-ratio:auto;flex:1}}.room-details__info{padding:1.75rem 1.5rem max(1.75rem,env(safe-area-inset-bottom));flex-direction:column;display:flex}@media (min-width:768px){.room-details__info{padding:3rem 2.5rem 2.5rem;overflow-y:auto}}.room-details__badge{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--color-brown-600);font-size:.6875rem;font-weight:600}.room-details__title{font-family:var(--font-serif);font-size:var(--text-display-md);letter-spacing:-.01em;color:var(--color-ink);margin-top:.75rem;font-weight:400;line-height:1.1}.room-details__summary{font-size:var(--text-sm);color:var(--color-brown-600);margin-top:.5rem;font-weight:500}.room-details__description{color:var(--color-ink-700);margin-top:1.25rem;line-height:1.75}.room-details__list{border-top:1px solid var(--color-sand-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem 1rem;margin:1.5rem 0 2rem;padding-top:1.5rem;display:grid}.room-details__list-item{font-size:var(--text-sm);color:var(--color-ink-700);align-items:flex-start;gap:.5rem;display:flex}.room-details__list-item svg{width:1rem;height:1rem;color:var(--color-brown-500);flex-shrink:0;margin-top:.2rem}.room-details__actions{gap:.75rem;margin-top:auto;display:grid}
