.catalogue-page{padding-top:20px;padding-bottom:56px}.catalogue-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.catalogue-heading h1{letter-spacing:-.025em;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;line-height:1.2}.catalogue-heading p{color:var(--site-muted);margin-top:8px;font-size:.8rem}.catalogue-heading .catalogue-count{white-space:nowrap;justify-items:end;gap:6px;padding-bottom:3px;font-size:.75rem;display:grid}.catalogue-search{z-index:20;margin-bottom:20px;position:relative}.catalogue-search .home-search-bar{box-shadow:none}.catalogue-search .home-search-field{padding-block:12px}.catalogue-search .home-search-submit{padding:10px}.catalogue-search .home-search-submit>button{min-height:56px}.catalogue-filters{align-items:end;gap:16px;padding-top:12px;display:flex}.catalogue-filters>div{min-width:0}.catalogue-filters label{color:var(--site-muted);margin-bottom:4px;font-size:.68rem;display:block}.catalogue-filters select{border:1px solid var(--aqua-silver);min-width:180px;max-width:100%;min-height:40px;color:var(--aqua-ocean);background-color:#fff;border-radius:2px;padding:8px 32px 8px 10px;font-size:.8rem}.catalogue-view{gap:4px;margin-left:auto;display:flex}.catalogue-view label{cursor:pointer;margin:0;position:relative}.catalogue-view input{opacity:0;width:1px;height:1px;position:absolute}.catalogue-view label>span{border:1px solid var(--aqua-silver);width:40px;height:40px;color:var(--site-muted);place-items:center;display:grid}.catalogue-view input:checked+span{color:#fff;background:var(--aqua-ocean);border-color:var(--aqua-ocean)}.catalogue-view input:focus-visible+span{outline:2px solid var(--aqua-gold-dark);outline-offset:3px}.catalogue-reset{text-underline-offset:4px;min-height:24px;color:var(--site-muted);align-items:center;font-size:.75rem;text-decoration:underline;display:inline-flex}.catalogue-availability-note{color:var(--site-muted);margin-top:10px;font-size:.73rem}.catalogue-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;display:grid}.apartment-result{border:1px solid var(--aqua-silver);background:#fff;border-radius:4px;min-width:0;overflow:hidden}.apartment-result__photo{aspect-ratio:16/10;background:var(--site-surface);display:block;position:relative;overflow:hidden}.apartment-result__photo>picture,.apartment-photos .gallery-image>picture,.apartment-content .gallery-image>picture{width:100%;height:100%;display:block;position:absolute;inset:0}.apartment-result__photo img,.apartment-photos img,.apartment-content .gallery-image img{object-fit:cover;width:100%;height:100%;display:block}.apartment-result__photo img{transition:transform .2s}.apartment-result__photo:hover img{transform:scale(1.025)}.apartment-result__placeholder{color:#8ca0aa;place-items:center;width:100%;height:100%;min-height:180px;font-size:2rem;display:grid}.apartment-result__copy{flex-direction:column;padding:20px;display:flex}.apartment-result h2{font:400 1rem/1.5 Poppins,sans-serif}.apartment-result h2 a:hover{text-underline-offset:4px;text-decoration:underline}.apartment-result__facts{color:var(--site-muted);flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:.75rem;display:flex}.apartment-result__description{-webkit-line-clamp:2;color:var(--site-muted);-webkit-box-orient:vertical;margin-top:12px;font-size:.8rem;line-height:1.7;display:-webkit-box;overflow:hidden}.catalogue-results[data-view=grid] .apartment-result__description{display:none}.apartment-result__bottom{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 16px;margin-top:auto;padding-top:16px;display:flex}.apartment-result__price{color:var(--site-muted);font-size:.7rem}.apartment-result__price>span:first-child{margin-bottom:4px;display:block}.apartment-result__price strong{color:var(--aqua-ocean);font-size:1rem;font-weight:500}.apartment-result__bottom .text-link{font-size:.75rem}.catalogue-results[data-view=list]{grid-template-columns:1fr;gap:20px}.catalogue-results[data-view=list] .apartment-result{grid-template-columns:320px minmax(0,1fr);display:grid}.catalogue-results[data-view=list] .apartment-result__photo{aspect-ratio:auto;min-height:228px}.catalogue-results[data-view=list] .apartment-result h2{font-size:1.15rem}.catalogue-empty{text-align:center;background:var(--site-surface);grid-column:1/-1;padding:40px 24px}.catalogue-empty h2{font-size:1.2rem}.catalogue-empty p{color:var(--site-muted);margin-top:12px;font-size:.85rem}.catalogue-empty .booking-link{margin-top:24px}.catalogue-context{border-top:1px solid var(--aqua-silver);grid-template-columns:1.5fr 1fr;gap:64px;margin-top:56px;padding-top:40px;display:grid}.catalogue-context h2{margin-bottom:20px;font-size:1.5rem;font-weight:400;line-height:1.4}.catalogue-context p{color:var(--site-muted);margin-top:16px;font-size:.9rem;line-height:1.8}.catalogue-context nav{align-content:start;gap:4px;display:grid}.catalogue-context nav a{justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding-block:12px;font-size:.85rem;display:flex}.catalogue-context nav a:hover{text-underline-offset:4px;text-decoration:underline}.apartment-page{padding-top:20px;padding-bottom:40px}.apartment-heading{margin-bottom:22px}.apartment-back{min-height:28px;color:var(--site-muted);align-items:center;gap:10px;font-size:.75rem;display:inline-flex}.apartment-back i{font-size:.65rem}.apartment-back:hover{text-decoration:underline}.apartment-heading h1{letter-spacing:-.025em;margin-top:10px;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:400;line-height:1.3}.apartment-heading__meta{color:var(--site-muted);flex-wrap:wrap;gap:8px 20px;margin-top:12px;font-size:.78rem;display:flex}.apartment-heading__meta a{text-underline-offset:3px;text-decoration:underline}.apartment-layout{grid-template-columns:minmax(0,1fr) 352px;align-items:start;gap:28px 32px;display:grid}.apartment-photos{height:344px;scroll-margin-top:calc(var(--navbar-height) + 24px);border-radius:4px;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;gap:8px;display:grid;overflow:hidden}.apartment-photos .gallery-image{display:block;position:relative;overflow:hidden}.apartment-photos__main{grid-row:1/span 2}.apartment-photos--single{grid-template-columns:1fr}.apartment-photos--two .apartment-photos__thumb{grid-row:1/span 2}.apartment-photos__count{min-height:40px;color:var(--aqua-ocean);background:#fff;align-items:center;gap:10px;padding:10px 14px;font-size:.75rem;display:inline-flex;position:absolute;bottom:16px;left:16px;box-shadow:0 3px 10px #2a373c1f}.apartment-reservation{grid-area:1/2/span 2;align-self:stretch}.apartment-reservation .booking-widget{top:calc(var(--navbar-height) + 20px)}.apartment-content{grid-column:1;min-width:0}.apartment-content #aptSectionNav{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;margin-bottom:28px}.apartment-content #aptSectionNav .container-custom{padding-inline:0}.apartment-content .apt-section-link{padding-inline:12px;font-size:.65rem}.apartment-content h2{margin-bottom:20px;padding-bottom:12px;font-size:1.4rem;font-weight:400;line-height:1.4}.apartment-mobile-booking{display:none}@media (width<=1023px){.catalogue-results{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-context{gap:32px}.apartment-layout{grid-template-columns:1fr}.apartment-reservation,.apartment-content{grid-area:auto/1}.apartment-reservation .booking-widget{position:static}.apartment-photos{height:360px}.apartment-mobile-booking{z-index:35;min-height:76px;padding:12px max(20px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));border-top:1px solid var(--aqua-silver);background:#fff;justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -4px 20px #2a373c0f}.apartment-mobile-booking p{color:var(--site-muted);flex-wrap:wrap;align-items:baseline;gap:3px 6px;font-size:.65rem;display:flex}.apartment-mobile-booking p>span{flex-basis:100%}.apartment-mobile-booking strong{color:var(--aqua-ocean);font-size:.9rem;font-weight:500}.apartment-mobile-booking .booking-link{gap:10px;min-height:44px;padding:10px 14px;font-size:.75rem}body:has(.apartment-mobile-booking){padding-bottom:calc(82px + env(safe-area-inset-bottom))}}@media (width<=767px){.catalogue-page{padding-top:18px}.catalogue-heading{align-items:start;gap:12px;margin-bottom:16px}.catalogue-heading h1{font-size:1.35rem}.catalogue-heading p{font-size:.72rem}.catalogue-heading .catalogue-count{white-space:normal;text-align:right;font-size:.68rem}.catalogue-search{margin-bottom:18px}.catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:12px;display:grid}.catalogue-filters select{width:100%;min-width:0;min-height:44px;font-size:.75rem}.catalogue-view{display:none}.catalogue-reset{grid-column:1/-1;justify-self:end;min-height:24px}.catalogue-results,.catalogue-results[data-view=list]{grid-template-columns:1fr;gap:20px}.catalogue-results[data-view=list] .apartment-result{display:block}.catalogue-results[data-view=list] .apartment-result__photo{aspect-ratio:16/10;min-height:0}.apartment-result__copy{padding:16px}.apartment-result__description{display:none}.catalogue-context{grid-template-columns:1fr;gap:24px;margin-top:40px;padding-top:28px}.apartment-page{padding-top:14px}.apartment-heading{margin-bottom:16px}.apartment-heading h1{font-size:1.25rem}.apartment-heading__meta{gap:7px 14px;font-size:.7rem}.apartment-heading__meta a{flex-basis:100%}.apartment-layout{gap:20px}.apartment-photos{aspect-ratio:16/10;height:auto;display:block}.apartment-photos__main{height:100%;display:block}.apartment-photos .apartment-photos__thumb{display:none}.apartment-photos__count{min-height:36px;padding:8px 10px;font-size:.7rem;bottom:12px;left:12px}.apartment-reservation .booking-widget{padding:20px}}.catalogue-results [hidden],.catalogue-results[data-view] .apartment-result[hidden],[data-availability-retry][hidden]{display:none}
