.RoomGallery-module__Wgm4Ga__grid{aspect-ratio:3/2;border-radius:16px;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-top:20px;display:grid;position:relative;overflow:hidden}.RoomGallery-module__Wgm4Ga__tile{background:radial-gradient(120% 120% at 80% 0%, #1db5ae66 0%, #1db5ae00 55%), linear-gradient(135deg, var(--navy) 0%, var(--blue) 120%);cursor:pointer;border:none;padding:0;position:relative;overflow:hidden}.RoomGallery-module__Wgm4Ga__tileMain{grid-area:1/1/3}.RoomGallery-module__Wgm4Ga__img{object-fit:cover;transition:transform .25s,opacity .15s}.RoomGallery-module__Wgm4Ga__tile:hover .RoomGallery-module__Wgm4Ga__img{transform:scale(1.03)}.RoomGallery-module__Wgm4Ga__tile:focus-visible{outline:2px solid var(--color-accent-teal);outline-offset:-3px}.RoomGallery-module__Wgm4Ga__moreOverlay{color:var(--color-text-on-inverse);font-family:var(--font-display);font-size:var(--font-size-heading);font-weight:var(--font-weight-extrabold);background:#08233b80;place-items:center;display:grid;position:absolute;inset:0}.RoomGallery-module__Wgm4Ga__allButton{z-index:2;border:var(--border-hairline) solid var(--color-text-brand);border-radius:var(--radius-full);background:var(--color-bg-primary);color:var(--color-text-brand);font-family:var(--font-text);font-size:var(--font-size-body-strong);font-weight:var(--font-weight-bold);cursor:pointer;padding:9px 16px;transition:background-color .15s;position:absolute;bottom:14px;right:14px;box-shadow:0 2px 10px #08233b2e}.RoomGallery-module__Wgm4Ga__allButton:hover{background:var(--color-bg-surface)}.RoomGallery-module__Wgm4Ga__allButton:focus-visible{outline:2px solid var(--color-accent-teal);outline-offset:2px}.RoomGallery-module__Wgm4Ga__mobile{display:none}.RoomGallery-module__Wgm4Ga__mobileCarousel{aspect-ratio:4/3;border-radius:16px}.RoomGallery-module__Wgm4Ga__lightbox{z-index:70;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.RoomGallery-module__Wgm4Ga__lbBackdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08233bd1;animation:.18s RoomGallery-module__Wgm4Ga__lb-in;position:absolute;inset:0}@keyframes RoomGallery-module__Wgm4Ga__lb-in{0%{opacity:0}to{opacity:1}}.RoomGallery-module__Wgm4Ga__lbClose{z-index:2;border-radius:var(--radius-full);background:var(--color-bg-primary);width:44px;height:44px;color:var(--color-text-brand);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:16px;right:16px;box-shadow:0 2px 12px #0006}.RoomGallery-module__Wgm4Ga__lbClose:focus-visible{outline:2px solid var(--color-accent-teal);outline-offset:2px}.RoomGallery-module__Wgm4Ga__lbBox{width:min(1100px,100%);max-height:100%;position:relative}.RoomGallery-module__Wgm4Ga__lbCarousel{aspect-ratio:3/2;background:0 0;border-radius:16px;max-height:calc(100dvh - 48px)}@media (prefers-reduced-motion:reduce){.RoomGallery-module__Wgm4Ga__img,.RoomGallery-module__Wgm4Ga__lbBackdrop{transition:none;animation:none}}@media (max-width:760px){.RoomGallery-module__Wgm4Ga__grid{display:none}.RoomGallery-module__Wgm4Ga__mobile{margin-top:16px;display:block}.RoomGallery-module__Wgm4Ga__lightbox{padding:0}.RoomGallery-module__Wgm4Ga__lbBox{align-items:center;width:100%;height:100%;display:flex}.RoomGallery-module__Wgm4Ga__lbCarousel{aspect-ratio:auto;border-radius:0;width:100%;height:70dvh;max-height:70dvh}.RoomGallery-module__Wgm4Ga__lbClose{top:calc(12px + env(safe-area-inset-top))}}
.RoomBookingCard-module__2kn4Xq__card{background:var(--color-bg-primary);border:var(--border-hairline) solid var(--color-border-default);box-shadow:var(--shadow-booking);border-radius:16px;padding:24px;scroll-margin-top:96px;position:sticky;top:96px}.RoomBookingCard-module__2kn4Xq__priceRow{color:var(--color-text-primary);font-size:var(--font-size-body-strong);margin:0 0 16px}.RoomBookingCard-module__2kn4Xq__priceValue{font-family:var(--font-display);font-size:var(--font-size-heading);font-weight:var(--font-weight-extrabold);color:var(--color-text-brand);white-space:nowrap}.RoomBookingCard-module__2kn4Xq__priceHint{color:var(--color-text-secondary)}.RoomBookingCard-module__2kn4Xq__fields{border:var(--border-hairline) solid var(--muted);border-radius:12px;overflow:hidden}.RoomBookingCard-module__2kn4Xq__datesField,.RoomBookingCard-module__2kn4Xq__guestsField{background:var(--color-bg-primary);text-align:left;border:none;width:100%;padding:0;transition:background-color .15s;display:flex}.RoomBookingCard-module__2kn4Xq__datesField{border-bottom:var(--border-hairline) solid var(--muted)}.RoomBookingCard-module__2kn4Xq__datesField:hover,.RoomBookingCard-module__2kn4Xq__guestsField:hover{background:var(--color-bg-surface)}.RoomBookingCard-module__2kn4Xq__datesField:focus-visible,.RoomBookingCard-module__2kn4Xq__guestsField:focus-visible{outline:2px solid var(--color-accent-teal);outline-offset:-2px}.RoomBookingCard-module__2kn4Xq__fieldCell{flex-direction:column;flex:1 1 0;gap:2px;min-width:0;padding:10px 12px;display:flex}.RoomBookingCard-module__2kn4Xq__fieldCellEnd{border-left:var(--border-hairline) solid var(--muted)}.RoomBookingCard-module__2kn4Xq__guestsField{align-items:center}.RoomBookingCard-module__2kn4Xq__guestsField .RoomBookingCard-module__2kn4Xq__fieldCell{flex:1}.RoomBookingCard-module__2kn4Xq__caret{color:var(--color-text-brand);flex:none;margin-right:12px}.RoomBookingCard-module__2kn4Xq__fieldLabel{font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-caption);color:var(--color-text-brand)}.RoomBookingCard-module__2kn4Xq__fieldValue{font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.RoomBookingCard-module__2kn4Xq__fieldPlaceholder{font-size:var(--font-size-body-strong);color:var(--color-text-secondary)}.RoomBookingCard-module__2kn4Xq__panel{border-bottom:var(--border-hairline) solid var(--muted);background:var(--color-bg-primary);padding:16px 12px}.RoomBookingCard-module__2kn4Xq__availabilityNote{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);margin:10px 0 0}.RoomBookingCard-module__2kn4Xq__panelFoot{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.RoomBookingCard-module__2kn4Xq__clear,.RoomBookingCard-module__2kn4Xq__close{font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold);background:0 0;border:none;padding:8px 4px}.RoomBookingCard-module__2kn4Xq__clear{color:var(--color-text-primary);text-decoration:underline}.RoomBookingCard-module__2kn4Xq__clear:disabled{cursor:default;opacity:.35}.RoomBookingCard-module__2kn4Xq__close{color:var(--color-text-brand);font-weight:var(--font-weight-bold)}.RoomBookingCard-module__2kn4Xq__clear:focus-visible,.RoomBookingCard-module__2kn4Xq__close:focus-visible{outline:2px solid var(--color-accent-teal);outline-offset:2px}.RoomBookingCard-module__2kn4Xq__cta{background:var(--color-accent-coral);min-height:48px;color:var(--color-text-on-inverse);font-family:var(--font-text);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-coral-cta);border-radius:12px;justify-content:center;align-items:center;margin-top:16px;text-decoration:none;transition:background-color .18s;display:flex}.RoomBookingCard-module__2kn4Xq__cta:hover{background:var(--color-accent-coral-hover);color:var(--color-text-on-inverse)}.RoomBookingCard-module__2kn4Xq__cta:focus-visible{outline:2px solid var(--color-accent-teal);outline-offset:2px}.RoomBookingCard-module__2kn4Xq__reassure{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);margin:10px 0 0}.RoomBookingCard-module__2kn4Xq__bar{display:none}@media (max-width:960px){.RoomBookingCard-module__2kn4Xq__card{position:static;top:auto}.RoomBookingCard-module__2kn4Xq__bar{z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--color-bg-primary);border-top:var(--border-hairline) solid var(--color-border-default);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #08233b1f}.RoomBookingCard-module__2kn4Xq__barInfo{min-width:0}.RoomBookingCard-module__2kn4Xq__barPrice{font-size:var(--font-size-body-strong);color:var(--color-text-primary);margin:0}.RoomBookingCard-module__2kn4Xq__barPrice strong{font-family:var(--font-display);font-size:var(--font-size-h3);font-weight:var(--font-weight-extrabold);color:var(--color-text-brand);white-space:nowrap}.RoomBookingCard-module__2kn4Xq__barDates{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;max-width:52vw;padding:0;text-decoration:underline;overflow:hidden}.RoomBookingCard-module__2kn4Xq__barCta{background:var(--color-accent-coral);min-height:48px;color:var(--color-text-on-inverse);font-family:var(--font-text);font-size:var(--font-size-body-strong);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-coral-cta);border-radius:12px;flex:none;justify-content:center;align-items:center;padding:0 20px;text-decoration:none;display:inline-flex}.RoomBookingCard-module__2kn4Xq__barCta:hover{background:var(--color-accent-coral-hover);color:var(--color-text-on-inverse)}}
.CardGrid-module__nvjS_q__grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0 0;padding:0;list-style:none;display:grid}@media (max-width:960px){.CardGrid-module__nvjS_q__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.CardGrid-module__nvjS_q__grid{grid-template-columns:1fr;gap:12px}}
.IconBadge-module__itxwia__badge{border-radius:var(--radius-full);width:48px;height:48px;color:var(--color-accent-teal);background:var(--color-accent-sky);justify-content:center;align-items:center;display:inline-flex}.IconBadge-module__itxwia__icon{flex-shrink:0}
.Section-module__OG1pvW__section{padding-block:72px;scroll-margin-top:96px}.Section-module__OG1pvW__inner{width:min(100% - 48px,1200px);margin-inline:auto}.Section-module__OG1pvW__default{background:var(--color-bg-primary);color:var(--color-text-primary)}.Section-module__OG1pvW__surface{background:var(--color-bg-surface);color:var(--color-text-primary)}.Section-module__OG1pvW__inverse{background:var(--color-bg-inverse);color:var(--color-text-on-inverse)}@media (max-width:640px){.Section-module__OG1pvW__section{padding-block:48px}.Section-module__OG1pvW__inner{width:min(100% - 32px,1200px)}}
