.hero{position:relative;height:100dvh;overflow:hidden}.hero__img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;opacity:0;transition:opacity var(--duration-long) ease-in}.hero__img--active{opacity:1;animation:slowZoom var(--duration-hero-img) ease-out forwards}@keyframes slowZoom{0%{transform:scale(1.015)}to{transform:scale(1)}}.hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,hsla(30,29%,20%,.7) 20%,hsla(30,29%,20%,.5) 75%,transparent 100%)}.hero__content{height:100%;position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 100px}.hero__content-header{grid-column:1 / -1;align-self:center;text-align:center;font-family:var(--font-serif);color:var(--c-font-light);font-weight:var(--weight-normal);text-shadow:1px 2px 1px var(--c-font-primary);font-size:var(--font-size-xxl);font-style:italic}.hero__content-header em{color:var(--c-font-accent)}.hero__content-location{width:fit-content;align-self:self-end;display:inline-flex;align-items:center;gap:var(--space-s);text-transform:uppercase;color:var(--c-font-light);animation:pulseLocation 3s ease-in infinite}.hero__content-location:hover{animation:none}@keyframes pulseLocation{0%,to{opacity:.5}50%{opacity:1}}.phone-banner{background-color:var(--c-bg-dark);color:var(--c-font-light)}.phone-banner__content{padding-block:32px;display:flex;flex-direction:column;gap:var(--space-m);justify-content:center;align-items:center}.phone-banner__title{font-family:var(--font-serif);font-weight:var(--weight-normal);font-size:var(--font-size-l);text-align:center}.phone-banner__lead{font-weight:var(--weight-light);color:var(--c-font-secondary);text-transform:uppercase;text-align:center}.phone-banner__numbers{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-m)}.phone-banner__numbers .button-outline{padding:8px 16px;font-size:var(--font-size-l);font-weight:var(--weight-light)}.phone-banner__numbers .button-outline:hover{background:hsl(from var(--c-font-light) h s l / .2)}@media(min-width:780px){.phone-banner__numbers{flex-direction:row}}.rooms__content{display:grid;grid-template-rows:1fr auto;background-color:var(--c-bg-secondary)}.rooms-slider{position:relative;aspect-ratio:4 / 3;overflow:hidden}.rooms-slider__img{display:none}.rooms-slider__img--active,.rooms-slider__img--fading{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .15s ease}.rooms-slider__img--active{opacity:1;cursor:zoom-in}.rooms-slider__img--fading{opacity:0}.rooms-slider__buttons-wrapper{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px}.rooms-slider button{background:hsl(from var(--c-font-light) h s l / .8)!important;padding:12px;background-color:transparent;border:1px solid var(--c-font-primary);color:var(--c-font-primary)}@media(hover:hover){.rooms-slider button:hover{background:hsl(from var(--c-font-light) h s l / 1)!important}}.rooms__info{display:grid;grid-template-rows:min-content 1fr min-content;gap:var(--space-xl);padding:64px 16px}.rooms__info-title{font-size:var(--font-size-l);font-weight:var(--weight-bold);font-family:var(--font-serif)}.rooms__info-price{display:flex;flex-direction:column;text-align:right;font-size:var(--font-size-xl);font-weight:var(--weight-bold);font-family:var(--font-sans-serif);font-style:italic;color:var(--c-font-accent)}.rooms__info-price small{color:var(--c-font-primary);font-size:var(--font-size-m);font-weight:var(--weight-medium)}@media(min-width:780px){.rooms__content{grid-template-columns:1fr 1fr}.rooms-slider{aspect-ratio:unset;height:100%}.rooms__info{padding:32px}}.facilities{background-color:var(--c-bg-secondary)}.facilities__list{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;justify-self:center;gap:var(--space-l)}.facilities__card{border:1px solid var(--c-border-light);text-align:center;display:flex;flex-direction:column;gap:var(--space-s);justify-content:space-around;align-items:center;padding:20px 10px}.facilities__card-icon{padding:16px;background-color:var(--c-bg-secondary);margin-bottom:var(--space-m);box-shadow:0 2px 3px 1px var(--c-font-light)}.facilities__card svg{color:var(--c-bg-dark);width:2rem}.facilities__card h4{font-size:1.1rem;font-family:var(--font-serif);font-weight:var(--weight-bold)}.facilities__card p{font-weight:var(--weight-light);font-size:var(--font-size-s)}@media(min-width:780px){.facilities__list{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;justify-self:center;gap:var(--space-l)}}.gallery__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gallery__grid img{width:100%;aspect-ratio:4 / 3;object-fit:cover;cursor:pointer;transition:opacity,transform .2s;display:block;cursor:zoom-in}.gallery__grid img:hover{opacity:.92;transform:scale(.99)}.gallery__grid-main{aspect-ratio:unset;height:100%;grid-row:span 2}@media(min-width:780px){.gallery__grid{grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:240px 240px}.gallery__grid img{aspect-ratio:unset;height:100%}}.gallery__open-btn{margin-block-start:16px;background:var(--c-bg-secondary);border:1px solid var(--c-font-accent);color:var(--c-font-accent);padding:8px 16px}.gallery-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s}.gallery-modal.open{opacity:1;pointer-events:all}.gallery-modal__backdrop{position:absolute;inset:0;background:#f7f2ed8c}body>*:not(#gallery-modal){transition:filter .3s ease}body.gallery-open>*:not(#gallery-modal){filter:blur(4px)}.gallery-modal__inner{position:relative;display:flex;flex-direction:column;gap:var(--space-l);align-items:center;justify-content:center;width:100%;height:100%}.gallery-modal__caption{font-family:var(--font-serif);font-size:var(--font-size-m);font-weight:var(--weight-medium);color:#1e1a15;text-align:center;max-width:min(80vw,480px);position:relative;z-index:1;clip-path:inset(0 0% 0 0);opacity:1;transition:opacity .2s ease}.gallery-modal__caption a{text-decoration:underline}.gallery-modal__caption--fading{opacity:0}@keyframes caption-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}.gallery-modal__img-shadow{position:absolute;pointer-events:none;box-shadow:0 8px 30px 4px #0000008c;transition:opacity .25s ease;z-index:0}.gallery-modal__img{width:80vw;height:calc(100svh - 300px);object-fit:contain;position:relative;-webkit-user-select:none;user-select:none;opacity:1;transition:opacity .25s ease;z-index:1}.gallery-modal__img--fading,.gallery-modal__img-shadow--fading{opacity:0}.gallery-modal__nav{position:absolute;bottom:var(--space-xl);right:16px;width:64px;height:64px;display:flex;justify-content:center;align-items:center;color:var(--c-font-primary);border:1px solid var(--c-font-primary)}@media(min-width:780px){.gallery-modal__nav{position:absolute;top:50%;right:16px}.gallery-modal__nav:active{transform:scale(.96)}}@media(hover:hover){.gallery-modal__nav:hover,.gallery-modal__close:hover{background:hsl(from var(--c-font-light) h s l / .2)}}.gallery-modal__nav:active{transform:scale(.96)}.gallery-modal__prev{left:16px}.gallery-modal__next{right:16px}.gallery-modal__close{position:absolute;top:16px;right:16px;width:64px;height:64px;display:flex;justify-content:center;align-items:center;color:var(--c-font-primary);border:1px solid var(--c-font-primary)}.gallery-modal__counter{position:absolute;bottom:var(--space-xl);left:50%;transform:translate(-50%);color:var(--c-font-primary);font-size:var(--font-size-m);-webkit-user-select:none;user-select:none}.reviews{background-color:var(--c-bg-secondary)}.reviews .section-header{display:flex;flex-direction:column}.reviews__score{margin-top:var(--space-l);display:flex;flex-direction:column;width:100%;border:1px solid var(--c-border-light);gap:var(--space-s);justify-content:space-between;align-items:center;padding:24px}.reviews__score h2{color:var(--c-font-primary);font-size:4rem;font-family:var(--font-serif);font-weight:var(--weight-medium);text-box-trim:trim-both;margin-bottom:24px}.reviews__score small{color:var(--c-font-secondary);font-size:var(--font-size-s);text-decoration:underline}.reviews__grid{display:flex;flex-direction:column;gap:var(--space-l)}@media(min-width:780px){.reviews__grid{display:grid;grid-auto-flow:row dense;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr))}.reviews__score{width:auto}.reviews .section-header{display:flex;flex-direction:row;justify-content:space-between}}.review-card{border:1px solid var(--c-font-accent);padding:32px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:var(--space-l);transition:opacity .2s ease}.review-card.hidden{display:none}.review-card.is-fading{display:flex;opacity:0}.review-card__source{display:flex;width:100%;justify-content:space-between;align-items:start;font-size:var(--font-size-s);color:var(--c-font-secondary)}.review-card__source-logo-wrap{display:flex;flex-direction:row;gap:8px;justify-content:center;align-items:center}.review-card__stars{display:flex;gap:2px}.star{width:18px;height:18px;background:var(--c-star-empty);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.star--filled{background:var(--c-star)}.star--half{background:linear-gradient(to right,var(--c-star) 50%,var(--c-star-empty) 50%)}.review-card__quote{font-family:var(--font-serif);font-weight:var(--weight-light)}.review-card.long-quote{grid-column-end:span 2}.review-card.long-quote .review-card__quote{overflow:hidden;max-height:6.5rem;transition:max-height .25s ease-out}.review-card.long-quote .expanded{max-height:1000px}.review-card:not(.long-quote) .review-toggle{display:none}.review-card.long-quote .review-toggle{align-self:flex-end;background:none;border:1px solid var(--c-font-accent);color:var(--c-font-accent);padding:8px 16px;cursor:pointer}.review-card__author{font-size:var(--font-size-s);width:100%;padding-top:16px;border-top:1px solid var(--c-font-accent);display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:16px}.review-card__name{font-weight:var(--weight-bold);text-transform:capitalize}.review-card__date{font-weight:var(--weight-light);font-size:var(--font-size-s)}.review-card__avatar{background-color:#ccbba8;color:var(--c-font-light);font-weight:var(--weight-medium);font-family:var(--font-serif);font-size:var(--font-size-m);display:flex;align-items:center;justify-content:center;flex-shrink:0;height:4ch;aspect-ratio:1/1;border-radius:50%;text-transform:uppercase}.reviews-bottom{margin-top:32px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.reviews__navigation{margin:0;display:flex;flex-direction:row;justify-content:right;align-items:center;gap:16px}.reviews-bottom button{padding:12px;background-color:transparent;border:1px solid var(--c-font-accent);color:var(--c-font-primary)}.add-review-button{display:flex;flex-direction:row;gap:var(--space-m);justify-content:center;align-items:center}.location__title-wrapper{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center}.location .section-title{text-box-trim:trim-both}.location-content{display:flex;flex-direction:column;justify-content:center;align-items:start;gap:16px}.location-button{display:flex;flex-direction:row;gap:6px;padding:12px;border:1px solid var(--c-font-accent);justify-content:center;background-color:var(--c-bg-secondary);transition:transform .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent;width:fit-content;justify-content:space-between}@media(min-width:780px){.location__title-wrapper{display:flex;flex-direction:row;width:100%;justify-content:space-between}.location-button{gap:8px;padding:16px}}.location-button svg{filter:saturate(.6)}.location-button:hover{box-shadow:inset 0 1px 3px #0003}.location__map-image{width:100%}.location__map-image.desktop{display:none}@media(min-width:780px){.location__map-image.desktop{display:block}.location__map-image.mobile{display:none}}.map-legend{list-style:none;margin:0;padding:var(--space-l);border:1px solid var(--c-border-light);background-color:var(--c-bg-secondary);width:100%;display:grid;grid-template-columns:1fr;row-gap:var(--space-l)}@media(min-width:780px){.map-legend{grid-template-columns:1fr 1fr;column-gap:var(--space-xl);row-gap:var(--space-xl)}.map-legend__item{border-bottom:1px solid var(--c-border-light);padding-bottom:var(--space-m)}}.map-legend__item{display:flex;align-items:center;gap:var(--space-s);font-family:var(--font-serif);color:var(--c-font-primary);min-width:0}.map-legend__item:not(.map-legend__item:last-child){border-bottom:1px solid var(--c-border-light);padding-bottom:var(--space-m)}.map-legend__item svg{flex-shrink:0;max-height:24px}.map-legend__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-legend__label a{text-decoration:underline}.map-legend__time{flex-shrink:0;font-family:var(--font-sans-serif);font-style:italic;color:var(--c-font-accent);font-size:var(--font-size-s)}.booking{background-color:var(--c-bg-secondary);border-top:1px solid var(--c-border-light)}.booking .section-header{align-items:center;text-align:center}.booking__form{display:flex;flex-direction:column;gap:var(--space-l);max-width:560px;margin-inline:auto}.booking__field{display:flex;flex-direction:column;gap:var(--space-s);min-width:0}.booking__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-l)}@media(max-width:480px){.booking__row{grid-template-columns:1fr}}.booking__label{font-size:var(--font-size-s);text-transform:uppercase;color:var(--c-font-secondary);font-weight:var(--weight-semi);letter-spacing:.05em}.booking__required{color:var(--c-font-accent)}.booking__optional{text-transform:none;font-weight:var(--weight-normal);color:var(--c-font-secondary);opacity:.7}.booking__form input[type=text],.booking__form input[type=email],.booking__form input[type=tel],.booking__form input[type=date],.booking__form input[type=number]{padding:12px 16px;line-height:1.6;min-height:50px;border:1px solid var(--c-font-primary);background-color:var(--c-bg-primary);width:100%;min-width:0;font-family:var(--font-sans-serif);font-size:var(--font-size-m);color:var(--c-font-primary)}.booking__form input[type=date]{-webkit-appearance:none;appearance:none}.booking__form input:focus{outline-color:var(--c-font-accent)}.booking__honeypot{display:none}.booking__submit{align-self:flex-end;background-color:var(--c-bg-dark);border:1px solid var(--c-font-primary);color:var(--c-font-light);padding:12px 28px;font-size:var(--font-size-m);font-family:var(--font-sans-serif)}@media(max-width:480px){.booking__submit{width:100%}}.booking__submit:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.booking__error{color:#b82e2e;font-size:var(--font-size-s);min-height:1.2em}.booking__success{display:none}.booking__success.visible{display:flex;flex-direction:column;gap:var(--space-m);padding-block:var(--space-xl)}.booking__success-title{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--weight-light)}.booking__success-lead{color:var(--c-font-secondary)}
