.apartment-detail-page{background:var(--color-background);color:var(--color-text);padding-bottom:0}.apartment-hero{padding:calc(var(--header-height) + 2.5rem) var(--space-page) 2.5rem}.apartment-hero__gallery{width:min(100%, var(--max-width));grid-template-columns:minmax(0,49.5rem) minmax(18rem,24rem);gap:1.5rem;margin-inline:auto;display:grid}.apartment-hero__gallery--single{grid-template-columns:minmax(0,1fr)}.apartment-hero__main,.apartment-hero__empty{background:var(--color-primary-50);border-radius:.25rem;height:31.25rem;margin:0;overflow:hidden}.apartment-detail-page:not(.is-site-content-ready) .apartment-hero__main,.apartment-detail-page:not(.is-site-content-ready) .apartment-hero__side{background:linear-gradient(110deg,#eee9e2 25%,#f7f3ee 45%,#eee9e2 65%) 0 0/220% 100%;animation:1.4s ease-in-out infinite apartment-gallery-loading}.apartment-detail-page:not(.is-site-content-ready) .apartment-hero__side>*{visibility:hidden}@keyframes apartment-gallery-loading{to{background-position-x:-220%}}@media (prefers-reduced-motion:reduce){.apartment-detail-page:not(.is-site-content-ready) .apartment-hero__main,.apartment-detail-page:not(.is-site-content-ready) .apartment-hero__side{animation:none}}.apartment-hero__main img,.apartment-hero__thumb img{object-fit:cover;object-position:center;width:100%;height:100%}.apartment-hero__empty{color:var(--color-muted);place-items:center;font-size:1.25rem;display:grid}.apartment-hero__side{grid-template-rows:1fr auto;gap:1.5rem;min-height:0;display:grid}.apartment-hero__gallery--single .apartment-hero__side{justify-self:center;width:min(24rem,100%)}.apartment-hero__thumbs{gap:1.5rem;display:grid}.apartment-hero__thumb{cursor:pointer;background:0 0;border:0;border-radius:.25rem;height:12.5rem;padding:0;overflow:hidden}.apartment-hero__all-photos,.apartment-services__action button,.apartment-dialog__button,.apartment-booking__cta{border:1px solid var(--color-secondary-500);background:var(--color-background);min-height:3.125rem;box-shadow:var(--shadow-soft);color:var(--color-primary-900);font-family:var(--font-body);text-align:center;cursor:pointer;justify-content:center;align-items:center;font-size:1.5rem;line-height:1.1;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.apartment-hero__all-photos:hover,.apartment-services__action button:hover,.apartment-dialog__button:hover,.apartment-booking__cta:not([disabled]):hover{background:var(--color-button-hover)}.apartment-hero__all-photos:active,.apartment-services__action button:active,.apartment-dialog__button:active,.apartment-booking__cta:not([disabled]):active{background:var(--color-button-active);border-color:var(--color-button-active);color:var(--color-button-active-text);transform:translateY(1px)}.apartment-hero__all-photos{width:100%}.apartment-content{padding:4rem var(--space-page) 5rem;background:#f1f0ef}.apartment-content__inner{width:min(100%, var(--max-width));grid-template-columns:minmax(0,43.125rem) minmax(20rem,24rem);justify-content:space-between;align-items:start;gap:5rem;margin-inline:auto;display:grid}.apartment-content__main{min-width:0}.apartment-details__header{flex-direction:column;gap:1rem;display:flex}.apartment-details h1,.apartment-payments h2{color:var(--color-primary-800);font-family:var(--font-display);letter-spacing:0;font-size:4rem;font-weight:400;line-height:1}.apartment-services h2{color:var(--color-primary-800);font-family:var(--font-serif-display);letter-spacing:1px;font-size:4rem;font-weight:400;line-height:1}.apartment-details__badges{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.apartment-details__badges li{border:1px solid var(--color-primary-200);background:var(--color-primary-50);color:var(--color-primary-800);border-radius:.25rem;padding:.375rem .5rem;font-size:1rem;line-height:1.1}.apartment-details__description{color:#191919;gap:1rem;margin-top:1.25rem;font-size:1.25rem;line-height:1.2;display:grid}.apartment-details__legal{border:1px solid var(--color-primary-200);background:var(--color-primary-50);width:fit-content;max-width:100%;color:var(--color-primary-800);border-radius:.25rem;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;padding:.5rem .75rem;font-size:1rem;line-height:1.2;display:inline-flex}.apartment-details__legal span{letter-spacing:0;font-weight:700}.apartment-details__legal strong{overflow-wrap:anywhere;font-weight:500}.apartment-details__location{gap:.75rem;margin-top:4rem;display:grid}.apartment-details__address{color:var(--color-primary-800);align-items:center;gap:1rem;font-size:1.25rem;line-height:1.2;display:flex}.apartment-details__address .apartment-icon{flex:none;width:1.75rem;height:1.75rem}.apartment-details__address a{text-decoration:none}.apartment-details__map{border:1px solid var(--color-primary-400);border-radius:.25rem;height:12.5rem;display:block;overflow:hidden}.apartment-services{margin-top:4rem}.apartment-services__grid,.apartment-services-modal__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 2.5rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.apartment-service-item{grid-template-columns:2.75rem minmax(0,1fr);align-items:start;gap:1rem;min-width:0;display:grid}.apartment-service-item>div{min-width:0}.apartment-service-item .apartment-icon{color:#000;width:2.75rem;height:2.75rem}.apartment-service-item .apartment-service-icon{object-fit:contain;object-position:center}.apartment-service-item h3{color:var(--color-primary-800);font-family:var(--font-serif-display);letter-spacing:1px;overflow-wrap:break-word;font-size:1.5rem;font-weight:400;line-height:1}.apartment-service-item p{color:var(--color-muted);margin-top:.25rem;font-size:1rem;line-height:1.1}.apartment-services__action{align-items:end;display:flex}.apartment-services__action button{width:100%;min-height:3rem;padding-inline:1.5rem}.apartment-services__parking{color:var(--color-muted);grid-template-columns:3rem minmax(0,1fr);align-items:start;gap:1.25rem;margin-top:3.75rem;font-size:1.25rem;line-height:1.2;display:grid}.apartment-services__parking .apartment-icon{color:#2f4493;width:3rem;height:3rem}.apartment-rules{border-left:3px solid var(--color-primary-400);background:var(--color-background);border-radius:.5rem;margin-top:4rem;padding:2rem 3.125rem}.apartment-rules h2{color:var(--color-primary-800);font-family:var(--font-serif-display);letter-spacing:1px;font-size:2rem;font-weight:400;line-height:1.1}.apartment-rules>p{color:var(--color-muted);margin-top:1.25rem;font-size:1.25rem;line-height:1.25}.apartment-rules__list,.apartment-payments__list{gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.apartment-rules__list li,.apartment-payments__list li{color:var(--color-muted);grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:1rem;font-size:1rem;line-height:1.2;display:grid}.apartment-rules__list .apartment-icon,.apartment-payments__list .apartment-icon{color:#b88718;width:1.25rem;height:1.25rem}.apartment-payments{margin-top:4.5rem}.apartment-payments>p{color:var(--color-primary-800);margin-top:.75rem;font-size:1.25rem;line-height:1.2}.apartment-payments__list{gap:1.75rem;margin-top:1.5rem}.apartment-payments__list h3{color:var(--color-primary-800);font-family:var(--font-display);font-size:1.5rem;font-weight:400;line-height:1}.apartment-payments__list p{color:var(--color-muted);margin-top:.5rem;font-size:1rem;line-height:1.2}.apartment-booking{background:var(--color-background);border-radius:.5rem}.apartment-booking--desktop{top:calc(var(--header-height) + 2rem);padding:4rem 2rem 2rem;position:sticky}.apartment-booking__intro{color:#000;gap:.75rem;display:grid}.apartment-booking__intro strong{color:var(--color-primary-800);font-family:var(--font-serif-display);letter-spacing:1px;font-size:2.75rem;font-weight:400;line-height:1}.apartment-booking__intro span{color:var(--color-muted);font-size:1.25rem;line-height:1.1}.apartment-booking__fields{border:1px solid var(--color-primary-200);border-radius:.25rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem;display:grid;overflow:hidden}.apartment-booking__fields button{border:0;border-right:1px solid var(--color-primary-200);background:var(--color-background);color:#000;text-align:left;cursor:pointer;gap:.5rem;min-height:4.5rem;padding:.75rem 1rem;transition:background-color .14s,color .14s;display:grid}.apartment-booking__fields button:not(:disabled):hover{background:var(--color-primary-50)}.apartment-booking__fields button:not(:disabled):active{background:#ebe8e7}.apartment-booking__fields button:disabled{cursor:not-allowed;background:#f4f2f1}.apartment-booking__fields button:disabled span,.apartment-booking__fields button:disabled strong{opacity:.55}.apartment-booking__fields button:nth-child(2n),.apartment-booking__fields button:last-child{border-right:0}.apartment-booking__field-wide{grid-column:1/-1;border-top:1px solid var(--color-primary-200)!important}.apartment-booking__fields span{color:#7b7b7b;font-family:var(--font-body);font-size:1rem;line-height:1}.apartment-booking__fields strong{color:#000;font-family:var(--font-body);justify-content:space-between;align-items:center;gap:1rem;font-size:1rem;font-weight:400;line-height:1;display:inline-flex;position:relative}.apartment-booking__fields strong:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.625rem;height:.625rem;transform:rotate(45deg)translateY(-.125rem)}.apartment-booking__field-guests{gap:.5rem}.apartment-booking__guest-options{color:#000;font-family:var(--font-body);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.apartment-booking__guest-options strong{min-width:0}.apartment-booking__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.apartment-booking__cta{background:var(--color-secondary-500);border-color:#0000;width:100%;margin-top:1.5rem;padding:.75rem 1.5rem}.apartment-booking__cta[disabled]{opacity:.65;cursor:not-allowed}.apartment-booking__note{color:var(--color-muted);text-align:center;margin-top:.75rem;font-size:1rem;line-height:1.2}.apartment-booking__feedback{color:var(--color-primary-800);text-align:center;margin-top:.75rem;font-size:1rem;line-height:1.2}.apartment-booking__feedback:empty,.apartment-booking__feedback[hidden]{display:none}.apartment-booking__summary{border-top:1px solid var(--color-primary-200);color:var(--color-muted);margin-top:2rem;padding-top:1.5rem;font-size:1.125rem;line-height:1.25}.apartment-booking__monthly-copy{color:var(--color-muted);gap:1.25rem;margin-top:2rem;font-size:1.125rem;line-height:1.25;display:grid}.apartment-booking__monthly-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.apartment-booking__monthly-list li{color:var(--color-primary-800);padding-left:1.5rem;font-size:1rem;line-height:1.2;position:relative}.apartment-booking__monthly-list li:before{border:1px solid var(--color-secondary-500);background:var(--color-secondary-500);content:"";border-radius:50%;width:.75rem;height:.75rem;position:absolute;top:.15rem;left:0}.apartment-booking-sheet{display:none}.apartment-reviews{background:var(--color-primary-50);padding:4rem var(--space-page) 5rem}.apartment-reviews h2{color:var(--color-primary-800);font-family:var(--font-display);text-align:center;font-size:3rem;font-weight:400;line-height:1}.apartment-reviews__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 2.5rem;width:min(100%,62.5rem);margin:2.5rem auto 0;display:grid}.apartment-review-card{border:1px solid var(--color-primary-200);background:var(--color-background);border-radius:.25rem;grid-template-columns:3.25rem minmax(0,1fr);align-items:start;gap:1rem;min-height:8rem;padding:1.5rem;display:grid}.apartment-review-card__avatar{width:3.25rem;height:3.25rem;color:var(--color-background);font-family:var(--font-display);background:#87a6d3;border-radius:50%;place-items:center;font-size:1.5rem;line-height:1;display:grid;overflow:hidden}.apartment-review-card h3{color:#000;font-family:var(--font-display);font-size:1.5rem;font-weight:400;line-height:1}.apartment-review-card p{color:#000;margin-top:1rem;font-size:1rem;line-height:1.2}.apartment-dialog{--apartment-dialog-padding-inline:clamp(1rem, 3vw, 2rem);--apartment-dialog-padding-block-start:clamp(1rem, 9vh, 6rem);--apartment-dialog-padding-block-end:max(1rem, env(safe-area-inset-bottom));width:100%;max-width:none;height:100dvh;max-height:100dvh;color:var(--color-text);background:0 0;border:0;margin:0;padding:0;overflow:hidden}.apartment-dialog[open]{overscroll-behavior:contain;padding:var(--apartment-dialog-padding-block-start) var(--apartment-dialog-padding-inline) var(--apartment-dialog-padding-block-end);-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;display:flex;overflow-y:auto}.apartment-dialog::backdrop{background:#19191952}.apartment-services-modal{overflow:hidden}.apartment-dialog__header{justify-content:center;align-items:center;display:flex;position:relative}.apartment-dialog__header h2,.apartment-services-modal h2,.apartment-gallery-modal h2{color:var(--color-primary-800);font-family:var(--font-display);text-align:center;font-size:3rem;font-weight:400;line-height:1}.apartment-dialog__close{color:#000;cursor:pointer;background:0 0;border:0;width:3rem;height:3rem;padding:0;transition:background-color .14s,color .14s;position:absolute;top:50%;right:0;transform:translateY(-50%)}.apartment-dialog__close:hover{background:var(--color-primary-50)}.apartment-dialog__close:active{background:var(--color-button-active);color:var(--color-button-active-text)}.apartment-dialog__close span,.apartment-dialog__close span:after{content:"";background:currentColor;width:2.25rem;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.apartment-dialog__close span:after{transform:translate(-50%,-50%)rotate(90deg)}.apartment-dialog__actions{justify-content:center;gap:2rem;margin-top:2rem;display:flex}.apartment-dialog__button{background:var(--color-secondary-500);border-color:#0000;min-width:9.5rem;padding:.75rem 1.5rem}.apartment-dialog__button--secondary{border-color:var(--color-secondary-500);background:var(--color-background)}.apartment-services-modal__panel,.apartment-gallery-modal__panel{max-height:calc(100vh - var(--apartment-dialog-padding-block-start) - var(--apartment-dialog-padding-block-end));max-height:calc(100dvh - var(--apartment-dialog-padding-block-start) - var(--apartment-dialog-padding-block-end));background:var(--color-background);border-radius:.5rem;margin:0;overflow:hidden;box-shadow:0 1rem 3rem #00000024}.apartment-services-modal__panel{width:min(100%,60rem);height:min(33.75rem, calc(100vh - var(--apartment-dialog-padding-block-start) - var(--apartment-dialog-padding-block-end)));height:min(33.75rem, calc(100dvh - var(--apartment-dialog-padding-block-start) - var(--apartment-dialog-padding-block-end)));flex-direction:column;padding:2.5rem 2.25rem 2rem;display:flex}.apartment-services-modal__grid{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;align-content:start;gap:2.75rem 2.25rem;min-height:0;margin-top:2.5rem;padding-right:.5rem;overflow:hidden auto}.apartment-services-modal__grid:focus-visible{outline:2px solid var(--color-secondary-500);outline-offset:.25rem}.apartment-gallery-modal__panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;width:min(100%,61.875rem);padding:2.5rem 2rem 2rem;display:flex;overflow-y:auto}.apartment-gallery-modal__stage{grid-template-columns:clamp(2.5rem,5vw,4rem) minmax(0,41.875rem) clamp(2.5rem,5vw,4rem);justify-content:center;align-items:center;gap:clamp(1rem,2vw,2rem);min-height:0;margin-top:clamp(1rem,2.5dvh,2rem);display:grid;position:relative}.apartment-gallery-modal__image{object-fit:cover;object-position:center;width:100%;height:clamp(16rem,48dvh,31.25rem)}.apartment-gallery-modal__arrow{width:3rem;height:3rem;color:var(--color-primary-800);cursor:pointer;background:0 0;border:0;padding:0;transition:background-color .14s,color .14s}.apartment-gallery-modal__arrow:hover{background:var(--color-primary-50)}.apartment-gallery-modal__arrow:active{background:var(--color-button-active);color:var(--color-button-active-text)}.apartment-gallery-modal__arrow span{border-bottom:4px solid;border-left:4px solid;width:1.5rem;height:1.5rem;display:block}.apartment-gallery-modal__arrow--previous span{transform:rotate(45deg)}.apartment-gallery-modal__arrow--next span{transform:rotate(225deg)}.apartment-gallery-modal__thumbs{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;gap:1rem .75rem;margin-top:clamp(1rem,2dvh,1.5rem);padding-bottom:.25rem;display:flex;overflow:auto hidden}.apartment-gallery-modal__thumb{aspect-ratio:1;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.25rem;flex:0 0 clamp(3rem,5vw,4rem);padding:0;transition:border-color .14s,transform .14s;overflow:hidden}.apartment-hero__thumb:hover,.apartment-gallery-modal__thumb:hover{border-color:var(--color-primary-400)}.apartment-hero__thumb:active,.apartment-gallery-modal__thumb:active{transform:translateY(1px)}.apartment-gallery-modal__thumb.is-active{border-color:#000}.apartment-gallery-modal__thumb img{object-fit:cover;width:100%;height:100%;display:block}.apartment-hero__all-photos:focus-visible,.apartment-hero__thumb:focus-visible,.apartment-services__action button:focus-visible,.apartment-booking__fields button:focus-visible,.apartment-booking__cta:focus-visible,.apartment-booking-sheet__handle:focus-visible,.apartment-dialog__button:focus-visible,.apartment-dialog__close:focus-visible,.apartment-gallery-modal__arrow:focus-visible,.apartment-gallery-modal__thumb:focus-visible{outline:2px solid var(--color-secondary-500);outline-offset:4px}@media (width<=1023px){.apartment-detail-page{padding-bottom:9.5rem}.apartment-hero{padding-top:calc(var(--header-height-tablet) + 1.5rem)}.apartment-hero__gallery{width:min(100%, var(--max-width-tablet));display:block}.apartment-hero__main,.apartment-hero__empty{aspect-ratio:674/365;height:auto}.apartment-hero__side{align-items:center;gap:1.25rem;margin-top:.875rem;display:flex}.apartment-hero__thumbs{gap:1.25rem;display:flex}.apartment-hero__thumb{flex:none;width:4.125rem;height:3.75rem}.apartment-hero__all-photos{width:13.375rem;min-height:3.625rem}.apartment-content{padding-top:3.25rem}.apartment-content__inner{width:min(100%, var(--max-width-tablet));display:block}.apartment-details h1,.apartment-services h2,.apartment-payments h2{font-size:3.25rem}.apartment-details__description{font-size:1.25rem}.apartment-details__location{display:none}.apartment-services{margin-top:2rem}.apartment-services__grid{gap:1.75rem 2rem}.apartment-services__action{grid-column:3}.apartment-services__parking{margin-top:2rem}.apartment-rules{margin-top:2rem;padding:1.75rem 2.5rem}.apartment-payments{margin-top:3rem}.apartment-booking--desktop{display:none}.apartment-booking-sheet{--booking-sheet-top-gap:clamp(.75rem, 8vh, var(--header-height-tablet));--booking-sheet-padding-top:2rem;--booking-sheet-padding-bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:80;max-height:calc(100vh - var(--booking-sheet-top-gap));max-height:calc(100dvh - var(--booking-sheet-top-gap));border:0;border-top:1px solid var(--color-primary-400);background:var(--color-background);padding:var(--booking-sheet-padding-top) max(1.25rem, calc((100vw - var(--max-width-tablet)) / 2)) var(--booking-sheet-padding-bottom);border-bottom:0;border-radius:0;display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -.5rem 1.25rem #00000014}.apartment-booking-sheet.is-open{overflow:visible}.apartment-booking-sheet__handle{z-index:2;width:9.5rem;height:2rem;color:var(--color-primary-400);cursor:pointer;background:0 0;border:0;transition:color .14s;position:absolute;top:-2rem;left:50%;overflow:visible;transform:translate(-50%)}.apartment-booking-sheet__handle:hover{color:var(--color-primary-800)}.apartment-booking-sheet__handle:active{color:var(--color-button-active)}.apartment-booking-sheet__tab{pointer-events:none;width:100%;height:calc(100% + 3px);position:absolute;inset:0;overflow:visible}.apartment-booking-sheet__tab-fill{fill:var(--color-background)}.apartment-booking-sheet__tab-stroke{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1px;vector-effect:non-scaling-stroke}.apartment-booking-sheet__handle span{z-index:1;border-bottom:3px solid #000;border-right:3px solid #000;width:.875rem;height:.875rem;position:absolute;top:1.0625rem;left:50%;transform:translate(-50%)rotate(225deg)}.apartment-booking-sheet.is-open .apartment-booking-sheet__handle span{top:.875rem;transform:translate(-50%)rotate(45deg)}.apartment-booking-sheet__closed{justify-items:center;gap:.75rem;display:grid}.apartment-booking-sheet__closed p{color:var(--color-muted);text-align:center;font-size:1.25rem;line-height:1.1}.apartment-booking-sheet__closed .apartment-booking__cta{width:min(100%,19.5rem);margin-top:0}.apartment-booking-sheet__open,.apartment-booking-sheet.is-open .apartment-booking-sheet__closed{display:none}.apartment-booking-sheet.is-open .apartment-booking-sheet__open{max-height:calc(100vh - var(--booking-sheet-top-gap) - var(--booking-sheet-padding-top) - var(--booking-sheet-padding-bottom));max-height:calc(100dvh - var(--booking-sheet-top-gap) - var(--booking-sheet-padding-top) - var(--booking-sheet-padding-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:block;overflow-y:auto}.apartment-booking-sheet .apartment-booking__intro{text-align:center}.apartment-booking-sheet .apartment-booking__intro strong{font-size:2.25rem}.apartment-booking-sheet .apartment-booking__intro span{font-size:1.125rem}.apartment-booking-sheet .apartment-booking__fields{width:min(100%,20rem);margin-top:1rem}.apartment-booking-sheet .apartment-booking__monthly-copy{text-align:left;margin-top:1.25rem;font-size:1rem}.apartment-booking-sheet .apartment-booking__cta{width:min(100%,17.25rem)}main:has(.apartment-booking-sheet)+.site-footer{padding-bottom:calc(13rem + env(safe-area-inset-bottom))}.apartment-reviews__grid{width:min(100%, var(--max-width-tablet));grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3.875rem}.apartment-services-modal__panel{width:min(100%,47.75rem);height:min(32.9375rem, calc(100vh - var(--apartment-dialog-padding-block-start) - var(--apartment-dialog-padding-block-end)));height:min(32.9375rem, calc(100dvh - var(--apartment-dialog-padding-block-start) - var(--apartment-dialog-padding-block-end)));padding:2rem 2rem 1.75rem}.apartment-gallery-modal__panel{width:min(100%,42.375rem);padding:2rem 1.75rem 1.75rem}.apartment-gallery-modal__stage{grid-template-columns:2.5rem minmax(0,31.25rem) 2.5rem;gap:1rem;margin-top:clamp(1rem,2dvh,1.5rem)}.apartment-gallery-modal__image{height:clamp(15rem,42dvh,23.4375rem)}.apartment-gallery-modal__thumbs{margin-top:clamp(.875rem,2dvh,1.25rem)}}@media (width<=767px){.apartment-dialog{--apartment-dialog-padding-inline:0;--apartment-dialog-padding-block-start:clamp(.75rem, 8vh, var(--header-height-mobile));--apartment-dialog-padding-block-end:0}.apartment-dialog[open]{align-items:flex-end}.apartment-detail-page{padding-bottom:8.25rem}.apartment-hero{padding:calc(var(--header-height-mobile) + .75rem) 1.25rem 3.25rem}.apartment-hero__gallery{width:min(100%,22.625rem)}.apartment-hero__main,.apartment-hero__empty{aspect-ratio:362/195}.apartment-hero__side{gap:1.25rem;margin-top:.75rem}.apartment-hero__thumbs{gap:1.25rem}.apartment-hero__thumb{width:3.5625rem;height:3rem}.apartment-hero__all-photos{flex:1;min-width:0;min-height:3rem;font-size:1.25rem}.apartment-content{padding:1.75rem 1.25rem 3rem}.apartment-content__inner{width:min(100%,22.625rem)}.apartment-details h1{font-size:2.5rem}.apartment-services h2,.apartment-payments h2{text-align:center;font-size:2.75rem}.apartment-details__badges{gap:.5rem}.apartment-details__badges li{padding:.25rem .375rem;font-size:.75rem}.apartment-details__description{margin-top:1rem;font-size:1.125rem;line-height:1.28}.apartment-services{margin-top:2rem}.apartment-services__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;margin-top:1.5rem}.apartment-service-item{grid-template-columns:2.5rem minmax(0,1fr);gap:.75rem}.apartment-service-item .apartment-icon{width:2.5rem;height:2.5rem}.apartment-service-item h3{font-size:1.125rem}.apartment-service-item p{font-size:.875rem}.apartment-services__action{grid-column:1/-1}.apartment-services__action button{min-height:2.75rem;font-size:1.25rem}.apartment-services__parking{grid-template-columns:2.75rem minmax(0,1fr);gap:1rem;margin-top:2rem;font-size:1rem;line-height:1.25}.apartment-services__parking .apartment-icon{width:2.75rem;height:2.75rem}.apartment-rules{margin-top:2rem;padding:1.25rem 1.25rem 1rem}.apartment-rules h2{font-size:1.75rem}.apartment-rules>p{font-size:1rem}.apartment-rules__list li,.apartment-payments__list li{font-size:.875rem}.apartment-payments h2{text-align:left}.apartment-payments>p{text-align:center;font-size:1rem}.apartment-payments__list h3{font-size:1.25rem}.apartment-booking-sheet{--booking-sheet-top-gap:clamp(.75rem, 8vh, var(--header-height-mobile));--booking-sheet-padding-top:1.75rem;--booking-sheet-padding-bottom:max(1rem, env(safe-area-inset-bottom));padding:var(--booking-sheet-padding-top) 1.25rem var(--booking-sheet-padding-bottom);border-left:0;border-right:0;border-radius:0}.apartment-booking-sheet__closed .apartment-booking__cta,.apartment-booking-sheet .apartment-booking__cta,.apartment-booking-sheet .apartment-booking__fields{width:100%}.apartment-booking-sheet .apartment-booking__intro strong{font-size:2rem}.apartment-booking-sheet .apartment-booking__intro span{font-size:1rem}.apartment-booking-sheet .apartment-booking__fields{margin-top:1rem}.apartment-booking-sheet .apartment-booking__monthly-copy{gap:1rem;margin-top:1rem;font-size:.9375rem}.apartment-booking-sheet .apartment-booking__fields button{min-height:4.5rem;padding:.625rem .5rem}.apartment-booking-sheet .apartment-booking__fields span{font-size:1rem}.apartment-booking-sheet .apartment-booking__field-guests{gap:.35rem;min-height:4.375rem}.apartment-booking-sheet .apartment-booking__guest-options{gap:1.5rem;width:100%;font-size:1rem}.apartment-booking-sheet .apartment-booking__guest-options strong{font-size:1rem}.apartment-booking-sheet .apartment-booking__cta{min-height:3.125rem;margin-top:1.25rem;font-size:1.5rem}.apartment-booking-sheet .apartment-booking__note{margin-top:.75rem;font-size:1rem;line-height:1.1}main:has(.apartment-booking-sheet)+.site-footer{padding-bottom:calc(14rem + env(safe-area-inset-bottom))}.apartment-reviews{padding:3.25rem 1.25rem 4rem}.apartment-reviews h2{font-size:2.5rem}.apartment-reviews__grid{grid-template-columns:1fr;gap:1rem;width:min(100%,22.625rem);margin-top:1.5rem}.apartment-review-card{min-height:8rem;padding:1.25rem}.apartment-services-modal__panel,.apartment-gallery-modal__panel{border-radius:.5rem .5rem 0 0;width:100%;min-width:0}.apartment-services-modal__panel{height:min(37.5rem,100dvh - 1.5rem);max-height:calc(100dvh - 1.5rem);margin:0;padding:1.75rem 1.5rem}.apartment-gallery-modal__panel{margin:0}.apartment-dialog__header h2,.apartment-services-modal h2,.apartment-gallery-modal h2{font-size:2.25rem}.apartment-services-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;margin-top:2rem}.apartment-gallery-modal__panel{padding:1.75rem 1.375rem}.apartment-gallery-modal__stage{grid-template-columns:2rem minmax(0,1fr) 2rem;gap:.625rem;margin-top:clamp(1rem,2.5dvh,1.25rem)}.apartment-gallery-modal__image{height:clamp(12rem,36dvh,18rem)}.apartment-gallery-modal__thumbs{gap:1rem .5rem;margin-top:clamp(.875rem,2dvh,1.125rem)}.apartment-gallery-modal__arrow span{width:1.25rem;height:1.25rem}.apartment-dialog__actions{justify-content:space-between;gap:1rem}.apartment-dialog__button{flex:1;min-width:0;font-size:1.25rem}}@supports (height:100dvh){.apartment-dialog{--apartment-dialog-padding-block-start:clamp(1rem, 9dvh, 6rem)}@media (width<=1023px){.apartment-booking-sheet{--booking-sheet-top-gap:clamp(.75rem, 8dvh, var(--header-height-tablet))}}@media (width<=767px){.apartment-dialog{--apartment-dialog-padding-block-start:clamp(.75rem, 8dvh, var(--header-height-mobile))}.apartment-booking-sheet{--booking-sheet-top-gap:clamp(.75rem, 8dvh, var(--header-height-mobile))}}}@media (width>=1024px){.apartment-services-modal[open]{align-items:center;padding-block:0}.apartment-services-modal__panel{height:70dvh;max-height:calc(100dvh - 4rem)}}
