.hotel-hero{position:relative;isolation:isolate}.hotel-hero__media{display:grid;grid-template-columns:1fr;gap:var(--space-2);aspect-ratio:4 / 3;overflow:hidden}@media (max-width:767px){.hotel-hero__media{max-height:56dvh}.hotel-hero__media-item--thumb{display:none}}@media (min-width:768px){.hotel-hero__media{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:2 / 1;max-height:620px;padding-inline:var(--container-px);padding-block:var(--space-8)}.hotel-hero__media-item--main{grid-row:span 2;border-radius:var(--radius-xl)}.hotel-hero__media-item{border-radius:var(--radius-lg)}}.hotel-hero__media-item{overflow:hidden;background:var(--color-bg-alt)}.hotel-hero__media-item img{width:100%;height:100%;object-fit:cover}.hotel-hero__open-gallery{position:absolute;right:var(--space-5);bottom:var(--space-5);z-index:2;font-size:var(--text-body-s)}@media (max-width:767px){.hotel-hero__open-gallery{left:50%;right:auto;bottom:var(--space-4);transform:translateX(-50%);min-width:220px;justify-content:center}}.hotel-quickbar{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-surface);border-block:1px solid var(--color-border);padding-block:var(--space-3);transition:box-shadow var(--duration-base) var(--ease-out)}.hotel-quickbar.is-pinned{box-shadow:var(--shadow-sm)}@media (min-width:1024px){.hotel-quickbar{top:var(--nav-height-lg)}}.hotel-quickbar__inner{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.hotel-quickbar__identity{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;min-width:0;flex:1 1 auto}.hotel-quickbar__title{font-family:var(--font-display);font-size:var(--text-heading-m);font-weight:var(--weight-regular);margin:0;color:var(--color-text);line-height:1.2}.hotel-quickbar__meta{display:flex;gap:var(--space-3);font-size:var(--text-caption);color:var(--color-text-secondary);flex-wrap:wrap}.hotel-quickbar__score{font-weight:var(--weight-semibold);color:var(--color-text-brand)}.hotel-quickbar__actions{margin-left:auto;display:inline-flex;gap:var(--space-2);flex-shrink:0}.hotel-quickbar__actions .btn{padding:10px 20px;min-height:40px;font-size:var(--text-body-s)}@media (max-width:767px){.hotel-quickbar__stars,.hotel-quickbar__dot,.hotel-quickbar__score,.hotel-quickbar__call{display:none}.hotel-quickbar__title{font-size:var(--text-body-l);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.hotel-quickbar__meta{font-size:var(--text-overline)}}.hotel-intro{display:flex;flex-direction:column;gap:var(--space-4);max-width:var(--container-narrow)}.hotel-intro__heading{font-family:var(--font-display);font-size:var(--text-display-l);font-weight:var(--weight-regular);line-height:var(--lh-tight);color:var(--color-text);margin:0;letter-spacing:var(--tracking-snug)}.hotel-intro__heading--compact{font-size:var(--text-display-s);letter-spacing:var(--tracking-snug)}.hotel-intro__lead p,.hotel-intro__lead{line-height:1.7}.hotel-intro__location{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-body-m);color:var(--color-text-secondary)}.hotel-intro__location svg{width:18px;height:18px;color:var(--color-brand);flex-shrink:0}.hotel-intro__lead{font-size:var(--text-body-l);color:var(--color-text-secondary);line-height:var(--lh-body);max-width:65ch}.hotel-intro__lead>*+*{margin-top:1em}.hotel-intro__lead h2,.hotel-intro__lead h3,.hotel-intro__lead h4{color:var(--color-text);font-family:var(--font-display);font-weight:var(--weight-regular);line-height:var(--lh-tight);letter-spacing:var(--tracking-snug);max-width:30ch}.hotel-intro__lead h2{font-size:clamp(1.5rem, 2.4vw, 2rem);margin-top:1.6em}.hotel-intro__lead h3{font-size:clamp(1.25rem, 2vw, 1.625rem);margin-top:1.4em}.hotel-intro__lead h4{font-size:var(--text-heading-m);margin-top:1.2em}.hotel-intro__lead h2+p,.hotel-intro__lead h3+p,.hotel-intro__lead h4+p{margin-top:.5em}.hotel-intro__lead>:first-child{margin-top:0}.hotel-intro__lead ul,.hotel-intro__lead ol{margin-top:1em;padding-inline-start:1.5em}.hotel-intro__lead ul li+li,.hotel-intro__lead ol li+li{margin-top:.35em}.hotel-intro__lead a{color:var(--color-text-brand);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.hotel-overview{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}@media (min-width:1024px){.hotel-overview{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:var(--space-12)}}.hotel-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media (min-width:768px){.hotel-facts{grid-template-columns:repeat(4,1fr)}}@media (min-width:1024px){.hotel-overview .hotel-facts{grid-template-columns:1fr;position:sticky;top:calc(var(--nav-height-lg) + var(--space-16));padding:var(--space-5);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.hotel-overview .hotel-fact{padding:var(--space-3) 0;background:#fff0;border:0;border-bottom:1px solid var(--color-border);border-radius:0}.hotel-overview .hotel-fact:last-of-type{border-bottom:0}}@media (min-width:1024px){.hotel-overview .hotel-intro{max-width:none}}.hotel-fact{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.hotel-fact--rating .hotel-fact__value{color:var(--color-text-brand)}.hotel-fact__label{font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-text-secondary)}.hotel-fact__value{font-size:var(--text-body-m);font-weight:var(--weight-semibold);color:var(--color-text)}.hotel-fact__qualifier{display:inline-block;margin-left:4px;font-size:var(--text-caption);color:var(--color-text-secondary);font-weight:var(--weight-regular);letter-spacing:var(--tracking-normal);text-transform:none}.hotel-fact__cta{margin-top:var(--space-3);width:100%;justify-content:center}@media (max-width:1023px){.hotel-fact__cta{grid-column:1 / -1}}.rooms-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width:768px){.rooms-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.rooms-grid{grid-template-columns:repeat(3,1fr)}}.reviews-section{display:grid;grid-template-columns:1fr;gap:var(--space-10)}@media (min-width:1024px){.reviews-section{grid-template-columns:minmax(280px,360px) 1fr;gap:var(--space-12);align-items:start}}.reviews-section:not(:has(.review-grid)){grid-template-columns:1fr}.fine-print{display:grid;grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-8);background:var(--color-bg-alt);border-radius:var(--radius-xl)}@media (min-width:768px){.fine-print{grid-template-columns:repeat(2,1fr);column-gap:var(--space-10)}}.fine-print__item{display:flex;flex-direction:column;gap:2px;padding-block:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-body-s);line-height:1.65}@media (min-width:768px){.fine-print__item{flex-direction:row;justify-content:space-between;gap:var(--space-4)}}.fine-print__item:last-child{border-bottom:0}.fine-print__label{color:var(--color-text-secondary);font-size:var(--text-overline);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:var(--weight-semibold)}@media (min-width:768px){.fine-print__label{font-size:var(--text-body-s);text-transform:none;letter-spacing:0;font-weight:var(--weight-regular)}}.fine-print__value{color:var(--color-text);font-weight:var(--weight-medium)}.amenities-details{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-10)}@media (min-width:768px){.amenities-details{grid-template-columns:repeat(2,1fr);column-gap:var(--space-8)}}.amenities-details__group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.amenities-details__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);font-weight:var(--weight-semibold);cursor:pointer;list-style:none;transition:background var(--duration-fast) var(--ease-out)}.amenities-details__header::-webkit-details-marker{display:none}.amenities-details__header:hover{background:var(--color-bg-alt)}.amenities-details__name{flex:1;color:var(--color-text);font-size:var(--text-body-m)}.amenities-details__count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding-inline:8px;font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--color-text-secondary);background:var(--color-bg-alt);border-radius:var(--radius-pill)}.amenities-details__chevron{width:18px;height:18px;flex-shrink:0;color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-out)}.amenities-details__group[open] .amenities-details__chevron{transform:rotate(180deg)}.amenities-details__list{display:grid;grid-template-columns:1fr;row-gap:4px;column-gap:var(--space-6);padding:var(--space-4) var(--space-5) var(--space-5);margin:0;border-top:1px solid var(--color-border);list-style:none}@media (min-width:576px){.amenities-details__list{grid-template-columns:repeat(2,1fr)}}.amenities-details__list li{display:flex;align-items:flex-start;gap:var(--space-2);padding-block:2px;font-size:var(--text-body-s);color:var(--color-text-secondary);line-height:var(--lh-subhead)}.amenities-details__list li::before{content:"";width:5px;height:5px;margin-top:9px;border-radius:var(--radius-full);background:var(--color-brand);flex-shrink:0}.contact-split{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}@media (min-width:1024px){.contact-split{grid-template-columns:7fr 5fr;gap:var(--space-12)}}.contact-split__form{padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.contact-split__info{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-8);background:var(--color-bg-alt);border-radius:var(--radius-xl)}.contact-split__heading{font-family:var(--font-body);font-size:var(--text-heading-m);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.contact-split__item{display:flex;align-items:flex-start;gap:var(--space-3)}.contact-split__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-brand-subtle);color:var(--color-brand-hover)}.contact-split__icon svg{width:18px;height:18px}.contact-split__text{display:flex;flex-direction:column;gap:2px;min-width:0}.contact-split__label{font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-text-secondary)}.contact-split__value{font-size:var(--text-body-m);color:var(--color-text);word-break:break-word}a.contact-split__value{color:var(--color-text-brand);font-weight:var(--weight-semibold)}a.contact-split__value:hover{color:var(--color-brand-hover);text-decoration:underline;text-underline-offset:3px}.review-dialog{max-width:560px;width:92vw;padding:0;border:0;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:var(--color-text)}.review-dialog::backdrop{background:rgb(28 27 25 / .65);backdrop-filter:blur(4px)}.review-dialog__inner{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8)}.review-dialog__title{font-family:var(--font-display);font-size:var(--text-display-s);font-weight:var(--weight-regular);margin:0;color:var(--color-text)}.review-dialog__meta{display:block;font-size:var(--text-body-s);color:var(--color-text-secondary);font-family:var(--font-body);margin-top:var(--space-1)}.review-dialog__score{align-self:flex-start;padding:6px 14px;background:var(--color-brand-subtle);color:var(--color-brand-hover);font-weight:var(--weight-semibold);font-size:var(--text-body-m);border-radius:var(--radius-pill)}.review-dialog__body{font-size:var(--text-body-m);color:var(--color-text-secondary);line-height:var(--lh-body);max-height:60dvh;overflow-y:auto}.review-dialog__body p{margin:0;max-width:none}.review-dialog__body p+p{margin-top:var(--space-3)}.review-dialog__close{align-self:flex-end;margin-top:var(--space-2)}.hotel-quickbar__stars{color:var(--color-brand)}.review-card__read{align-self:flex-start}.search-iframe-container{margin-top:var(--space-10);padding:var(--space-6);background:var(--color-bg-alt);border-radius:var(--radius-xl)}.hotel-search-tool{width:100%;height:480px;border:0}.gallery-lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.gallery-lightbox.active{display:flex;opacity:1}.gallery-overlay{position:absolute;inset:0;background:rgb(28 27 25 / .92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.gallery-close{position:absolute;top:var(--space-4);right:var(--space-5);background:rgb(255 255 255 / .1);border:0;color:var(--color-text-inverse);font-size:2rem;line-height:1;width:44px;height:44px;border-radius:var(--radius-full);cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out)}.gallery-close:hover,.gallery-close:focus-visible{background:rgb(255 255 255 / .22)}.gallery-counter{position:absolute;top:var(--space-5);left:var(--space-5);color:rgb(255 255 255 / .7);font-size:var(--text-body-s);z-index:2}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgb(255 255 255 / .12);border:0;color:var(--color-text-inverse);font-size:1.5rem;width:48px;height:48px;border-radius:var(--radius-full);cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);opacity:.75}.gallery-nav:hover,.gallery-nav:focus-visible{opacity:1;background:rgb(255 255 255 / .24)}.gallery-prev{left:var(--space-4)}.gallery-next{right:var(--space-4)}.gallery-main{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;max-width:92vw;max-height:72dvh;user-select:none}.gallery-main img{max-width:100%;max-height:72dvh;object-fit:contain;border-radius:var(--radius-md);transition:opacity var(--duration-fast) var(--ease-out)}.gallery-thumbs{position:relative;z-index:1;display:flex;gap:var(--space-2);margin-top:var(--space-4);padding:6px 12px;overflow-x:auto;scroll-behavior:smooth;max-width:92vw}.gallery-thumbs::-webkit-scrollbar{height:4px}.gallery-thumbs::-webkit-scrollbar-thumb{background:rgb(255 255 255 / .3);border-radius:var(--radius-sm)}.gallery-thumbs img{width:72px;height:50px;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;border:2px solid #fff0;opacity:.55;flex-shrink:0;transition:opacity var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.gallery-thumbs img:hover{opacity:.85}.gallery-thumbs img.active{border-color:var(--color-brand);opacity:1}@media (max-width:767px){.gallery-nav{width:40px;height:40px;font-size:1.25rem}.gallery-main,.gallery-main img{max-height:60dvh}.gallery-thumbs img{width:56px;height:40px}}#lastcta{display:none}@media (max-width:767px){#lastcta{display:block;position:fixed;inset:auto 0 0 0;padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom, 0px));z-index:var(--z-sticky);background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:var(--shadow-md)}body:has(#mobile-menu.is-open) #lastcta,body:has(#search-overlay.is-open) #lastcta{display:none}#lastcta .cta-buttons{display:flex;gap:var(--space-3)}#lastcta .cta-phone{display:none}#lastcta .btn-book,#lastcta .cta-link{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3);background:var(--color-brand);color:var(--color-dark);border-radius:var(--radius-pill);font-weight:var(--weight-semibold);text-decoration:none}}