.villa-page{--villa-accent-sand: var(--color-footer-bg);--villa-primary-sand: var(--color-primary-sand);--villa-grey-text: var(--villa-meta-color);--villa-midnight: var(--color-midnight);--villa-muted: var(--color-muted-alt);--villa-discount-bg: var(--color-badge-discount-bg);--villa-discount-text: var(--color-badge-discount-text);--villa-page-gutter: 3.125rem;--villa-section-gap: 2.1875rem;--villa-hero-radius: .625rem;--villa-hero-column-gap: 2.5rem;--villa-hero-max-height: 36rem;--villa-hero-min-height: 35.5rem;--villa-page-column-gap: 8.5rem;--villa-aside-track: minmax(0, calc((100% - var(--villa-hero-column-gap)) / 3));--villa-layout-columns: minmax(0, 1fr) var(--villa-aside-track);--villa-booking-padding: var(--space-row-lg);--villa-booking-sidebar-sticky-top: calc(var(--header-height) - 3.65rem);--villa-chip-radius: .3125rem;--villa-photo-mosaic-gap: 2rem;padding-bottom:var(--space-xl);max-width:100%;overflow-x:clip}@media(min-width:960px){.villa-page:has(.villa-page__similar){padding-bottom:0}}.villa-page__divider{width:100vw;max-width:none;height:.3125rem;margin-inline:calc(50% - 50vw);background:var(--villa-accent-sand);box-sizing:border-box}.villa-page__content{padding-top:0;min-width:0;max-width:100%}.villa-page__page-grid{display:grid;gap:var(--villa-section-gap);min-width:0;max-width:100%}.villa-page__page-grid-main{display:grid;gap:var(--villa-section-gap);padding-top:1.5625rem;min-width:0}.villa-page__page-grid-aside{display:block;min-width:0}.villa-page__section{padding-bottom:2.5rem;border-bottom:.3125rem solid var(--villa-accent-sand);min-width:0;max-width:100%}.villa-page__section:last-child{border-bottom:0;padding-bottom:0}.villa-page__hero{padding-bottom:.625rem;min-width:0;max-width:100%}.villa-page__hero-grid{display:grid;grid-template-columns:var(--villa-layout-columns);column-gap:var(--villa-hero-column-gap);row-gap:var(--villa-hero-column-gap);align-items:stretch;box-sizing:border-box;min-height:var(--villa-hero-min-height);max-height:var(--villa-hero-max-height);height:var(--villa-hero-max-height);min-width:0;max-width:100%;overflow:hidden}.villa-page__hero-main{position:relative;width:100%;min-height:0;max-height:100%;height:100%;border-radius:var(--villa-hero-radius);overflow:hidden}.villa-page__hero-main-hit{position:relative;display:block;width:100%;height:100%;min-height:0;max-height:100%;padding:0;border:0;background:var(--villa-accent-sand);cursor:pointer;overflow:hidden;border-radius:var(--villa-hero-radius)}.villa-page__hero-side-image,.villa-page__hero-video{position:relative;display:block;width:100%;height:100%;min-height:0;max-height:100%;padding:0;border:0;background:var(--color-auto-24);overflow:hidden;border-radius:var(--villa-hero-radius)}.villa-page__hero-side-image{cursor:pointer}.villa-page__hero-main-hit img,.villa-page__hero-side-image img{width:100%;height:100%;object-fit:cover}.villa-page__hero-video-player,.villa-page__hero-video-embed{display:block;width:100%;height:100%;min-height:0;max-height:100%;border:0;object-fit:cover;background:var(--color-auto-24)}.villa-page__hero-side{position:relative;min-height:0;max-height:100%;height:100%;min-width:0;overflow:hidden}.villa-page__hero-iconic-tag{position:absolute;top:1.375rem;left:1.25rem;z-index:1;pointer-events:none}.villa-page__hero-gallery-btn{position:absolute;left:1.25rem;bottom:1.5rem;z-index:2}.villa-page__hero-gallery-btn.btn-secondary img{width:.875rem;height:auto}.villa-page__intro-head{display:grid;gap:var(--space-15);margin-bottom:1.25rem}.villa-page__intro-lead{display:grid;gap:calc(var(--space-15) / 2)}.villa-page__location-label{margin:0;color:var(--villa-muted);font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}.villa-page__title{margin:0;font-family:var(--font-serif);font-size:var(--type-size-32);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__intro-price{margin:0;font-family:var(--font-sans);font-size:var(--type-size-18);font-style:italic;font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}@media(min-width:960px){.villa-page__intro-price{display:none}}.villa-page__property-specs{display:flex;flex-wrap:nowrap;align-items:center;gap:1.5625rem;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.villa-page__property-specs::-webkit-scrollbar{display:none}.villa-page__property-spec{display:inline-flex;flex-shrink:0;align-items:center;gap:.625rem;min-height:1rem}.villa-page__property-spec-icon{display:block;flex-shrink:0;width:auto;height:1rem;object-fit:contain}.villa-page__property-spec-label{font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);color:var(--color-text);white-space:nowrap}.villa-page__specs{margin:0;color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-size-16);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}.villa-page__description{margin:0 0 1.25rem;max-width:48.125rem;font-family:var(--font-sans);font-size:var(--type-size-16);line-height:var(--type-line-height-15)}.villa-page__description:last-of-type{margin-bottom:0}.villa-page__featured-amenities{display:flex;flex-direction:column;gap:2.5rem;margin-top:2.5rem}.villa-page__amenities-grid{display:grid;row-gap:1.25rem;column-gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}.villa-page__amenity{display:flex;align-items:flex-start;gap:var(--space-15);min-width:0;max-width:100%;min-height:2.75rem}.villa-page__amenity-icon-wrap{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--villa-chip-radius);background:var(--villa-accent-sand)}.villa-page__amenity-icon{display:block;width:1.75rem;height:1.75rem;object-fit:contain}.villa-page__amenity-icon--empty{display:block}.villa-page__amenity-label{flex:1;min-width:0;max-width:100%;overflow-wrap:break-word;font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-page__see-all-amenities-btn{align-self:flex-start;width:auto;min-width:0}body.villa-amenities-modal-open{overflow:hidden}.villa-amenities-modal:not([open]){display:none}.villa-amenities-modal{--villa-amenities-modal-max-height: calc(100dvh - 2rem) ;width:min(100vw - 2rem,40rem);max-width:none;max-height:var(--villa-amenities-modal-max-height);margin:auto;padding:0;border:none;border-radius:.75rem;background:var(--color-auto-8);color:var(--color-text);box-shadow:0 24px 48px var(--color-border-22);overflow:hidden}.villa-amenities-modal[open]{display:flex;flex-direction:column}.villa-amenities-modal::backdrop{background:var(--color-overlay-backdrop)}.villa-amenities-modal__panel{display:flex;flex-direction:column;flex:1;min-height:0;max-height:var(--villa-amenities-modal-max-height);overflow:hidden}.villa-amenities-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--color-shadow-md)}.villa-amenities-modal__title{margin:0;font-family:var(--font-serif);font-size:var(--type-size-22);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-amenities-modal__close{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:var(--villa-chip-radius);background:transparent;color:inherit;font-size:var(--type-size-22);line-height:1;cursor:pointer}.villa-amenities-modal__close:hover{background:var(--color-alpha-20)}.villa-amenities-modal__body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1.25rem}.villa-amenities-modal__group{display:grid;gap:.75rem}.villa-amenities-modal__group:not(:first-child){margin-top:1.5rem}.villa-amenities-modal__group-head{margin:0;padding:0}.villa-amenities-modal__group-title{margin:0;font-family:var(--font-sans);font-size:var(--type-size-13);font-weight:600;letter-spacing:.05em;line-height:var(--type-line-height-15);text-transform:uppercase;color:var(--color-text)}.villa-amenities-modal__list{display:grid;gap:1rem 1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none}.villa-amenities-modal__item{min-width:0;max-width:100%;overflow-wrap:break-word;font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:400;line-height:var(--type-line-height-15);color:var(--color-text)}@media(max-width:959px){.villa-page__see-all-amenities-btn{display:flex;align-self:stretch;width:100%;max-width:none;box-sizing:border-box}.villa-amenities-modal[open]{--villa-amenities-modal-max-height: min(92dvh, 100%);position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:var(--villa-amenities-modal-max-height);margin:0;border-radius:1.5625rem 1.5625rem 0 0;box-shadow:0 -8px 32px var(--color-shadow-md)}.villa-amenities-modal__body{padding-bottom:max(1.25rem,env(safe-area-inset-bottom,0px))}.villa-amenities-modal__list{grid-template-columns:minmax(0,1fr)}}.villa-page__iconic{display:grid;gap:2.1875rem}.villa-page__iconic-card{display:grid;gap:var(--space-row-lg);padding:2.5rem 2.1875rem;border-radius:1.25rem;background:var(--color-midnight);color:#fff}.villa-page__iconic-title strong,.villa-page__iconic-title em,.villa-page__iconic-perks-lead,.villa-page__iconic-perks-list,.villa-page__iconic-perks-list li{color:#fff}.villa-page__iconic-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.villa-page__iconic-title{margin:0;font-family:var(--font-display);line-height:var(--type-line-height-15)}.villa-page__iconic-title strong{display:block;font-size:2rem;font-weight:var(--type-weight-medium)}.villa-page__iconic-title em{display:block;font-size:var(--type-size-20);font-style:italic;font-weight:var(--type-weight-medium);white-space:nowrap}.villa-page__iconic-logo{flex-shrink:0;width:3.75rem;height:auto;filter:brightness(0) invert(1)}.villa-page__iconic-perks{display:grid;gap:1.5625rem}.villa-page__iconic-perks-lead,.villa-page__iconic-perks-list{margin:0;font-family:var(--font-sans);font-size:var(--type-size-16);line-height:var(--type-line-height-15)}.villa-page__iconic-perks-list{display:grid;gap:1.5rem;padding:0;list-style:none}.villa-page__iconic-perks-list li{display:flex;align-items:center;gap:.625rem}.villa-page__iconic-check{flex-shrink:0;display:block;width:1.75rem;height:1.75rem}.villa-page__iconic-included{display:grid;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;max-width:100%}.villa-page__included-card{overflow:hidden;border-radius:var(--villa-hero-radius);background:var(--color-on-accent)}.villa-page__included-card-head{display:grid;gap:.1875rem;padding:.3125rem 0 .5625rem;text-align:center}.villa-page__included-label{color:var(--color-auto-29);font-family:var(--font-sans);font-size:var(--type-size-12);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__included-card-head strong{font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__included-image{display:block;width:100%;height:12rem;object-fit:cover}.villa-page__photo-grid{display:grid;gap:var(--villa-photo-mosaic-gap);min-width:0;max-width:100%}.villa-page__photo-grid-mosaic{display:grid;gap:var(--villa-photo-mosaic-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:18.125rem 18.125rem 28.75rem;min-width:0;max-width:100%}.villa-page__photo-grid-gallery-btn{justify-self:start;width:auto;max-width:none}.villa-page__hero-gallery-btn.btn-secondary,.villa-page__photo-grid-gallery-btn.btn-secondary{background:var(--btn-secondary-bg);font-weight:var(--type-weight-medium)}.villa-page__photo-grid-gallery-btn.btn-secondary img{width:.875rem;height:auto}.villa-page__photo-grid-item{display:block;width:100%;min-width:0;min-height:0;height:100%;padding:0;border:0;background:var(--color-auto-24);cursor:pointer;overflow:hidden;border-radius:var(--villa-chip-radius)}.villa-page__photo-grid-item--1{grid-column:1;grid-row:1}.villa-page__photo-grid-item--2{grid-column:1;grid-row:2}.villa-page__photo-grid-item--3{grid-column:2;grid-row:1 / 3}.villa-page__photo-grid-item--4{grid-column:1 / -1;grid-row:3;height:28.75rem}.villa-page__photo-grid-mosaic:not(:has(.villa-page__photo-grid-item--4)){grid-template-rows:18.125rem 18.125rem}.villa-page__photo-grid-item img{width:100%;height:100%;object-fit:cover}.villa-page__bedrooms-head{display:grid;gap:.75rem;margin-bottom:1.5625rem}.villa-page__bedrooms .villa-page__section-title{font-size:var(--type-size-19)}.villa-page__section-title{margin:0;font-family:var(--font-sans);font-size:var(--type-size-19);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__section-lead{margin:0;max-width:39.25rem;color:var(--villa-muted);font-family:var(--font-sans);font-size:var(--type-size-15);line-height:var(--type-line-height-15)}.villa-page__bedrooms .villa-page__section-lead{max-width:none;color:var(--color-text);font-size:var(--type-size-16);line-height:var(--type-line-height-15)}.villa-page__bedroom-track{display:flex;flex-flow:row nowrap;align-items:flex-start;gap:var(--space-15);width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;--villa-bedroom-card-width: min(22rem, calc(100% - 4.5rem) );--villa-bedroom-card-peek: 4.5rem;--villa-bedroom-image-height: 15rem}.villa-page__bedroom-track::-webkit-scrollbar{display:none}.villa-page__bedroom-card{display:grid;gap:.625rem;align-self:flex-start;flex:0 0 var(--villa-bedroom-card-width);width:var(--villa-bedroom-card-width);min-width:var(--villa-bedroom-card-width);scroll-snap-align:start}.villa-page__bedroom-card:last-child{flex-basis:min(22rem,100%);width:min(22rem,100%);min-width:min(22rem,100%)}.villa-page__bedroom-card img{display:block;width:100%;height:var(--villa-bedroom-image-height);object-fit:cover;border-radius:10px}.villa-page__bedroom-card-copy{display:grid;gap:.375rem}.villa-page__bedroom-card-copy strong{font-family:var(--font-sans);font-size:var(--type-size-16);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__bedroom-card-details-wrap{display:grid;gap:.375rem}.villa-page__bedroom-card-details-toggle{justify-self:start;margin:0;padding:0;border:0;background:transparent;color:var(--color-grey-text);font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15);text-align:left;text-decoration:none;cursor:pointer}.villa-page__bedroom-card-details-toggle:hover{color:var(--villa-muted)}.villa-page__bedroom-card-details[hidden]{display:none}.villa-page__bedroom-card-details{display:grid;gap:.25rem;margin:0;padding:0;list-style:none}.villa-page__bedroom-card-details li{position:relative;padding-left:.875rem;color:var(--villa-grey-text);font-family:var(--font-sans);font-size:var(--type-size-14);line-height:var(--type-line-height-15)}.villa-page__bedroom-card-details li:before{content:"•";position:absolute;left:0}.villa-page__bedroom-card-copy span{color:var(--villa-grey-text);font-family:var(--font-sans);font-size:var(--type-size-14);line-height:var(--type-line-height-15)}.villa-page__guest-filters{display:grid;gap:var(--space-xs);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--space-15)}.villa-page__guest-filters[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.villa-page__guest-filter{display:grid;gap:var(--space-xs);min-width:0}.villa-page__guest-filter-control{position:relative;display:flex;align-items:center;justify-content:center;min-height:3.375rem;padding:.75rem 2.25rem;border-radius:var(--villa-hero-radius);background:var(--color-surface);box-shadow:1px 2px 2px var(--color-shadow-xs)}.villa-page__guest-filter-value{position:relative;z-index:0;font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);text-align:center;pointer-events:none;user-select:none}.villa-page__guest-filter-btn{position:absolute;top:50%;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:1px solid var(--color-auto-30);border-radius:50%;background:var(--color-on-accent);color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-size-18);font-weight:var(--type-weight-regular);line-height:1;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-50%);transition:background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.villa-page__guest-filter-btn--minus{left:.625rem}.villa-page__guest-filter-btn--plus{right:.625rem}.villa-page__guest-filter-control:hover .villa-page__guest-filter-btn{opacity:1;pointer-events:auto}.villa-page__guest-filter-control:has(.villa-page__guest-filter-btn:focus-visible) .villa-page__guest-filter-btn{opacity:1;pointer-events:auto}.villa-page__guest-filter-btn:hover:not(:disabled),.villa-page__guest-filter-btn:focus-visible:not(:disabled){background:var(--villa-midnight);border-color:var(--villa-midnight);color:var(--color-on-accent)}.villa-page__guest-filter-btn:disabled{opacity:0;cursor:not-allowed;pointer-events:none}.villa-page__guest-filter-control:hover .villa-page__guest-filter-btn:disabled,.villa-page__guest-filter-control:has(.villa-page__guest-filter-btn:focus-visible) .villa-page__guest-filter-btn:disabled{opacity:.35;pointer-events:none}@media(hover:none){.villa-page__guest-filter-btn{opacity:1;pointer-events:auto}.villa-page__guest-filter-btn:disabled{opacity:.35;pointer-events:none}}.villa-page__guest-filter-hint{color:var(--villa-muted);font-family:var(--font-sans);font-size:var(--type-size-12);line-height:var(--type-line-height-15);text-align:center}.villa-page__calendar-shell{margin-bottom:calc(var(--villa-section-gap) - 1rem);min-width:0;max-width:100%}.villa-page__calendar-shell .villa-page__calendar{width:100%;max-width:100%;padding:0;border:none;border-radius:0;box-shadow:none;background:transparent}.villa-page__calendar .date-picker__header,.villa-page__booking-date-modal .date-picker__header{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;align-items:center;column-gap:.5rem;margin-bottom:.875rem;padding-inline:0}.villa-page__calendar .date-picker__nav--prev,.villa-page__booking-date-modal .date-picker__nav--prev,.villa-page__calendar .date-picker__nav--next,.villa-page__booking-date-modal .date-picker__nav--next{position:static}.villa-page__calendar .date-picker__months,.villa-page__booking-date-modal .date-picker__months{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--date-picker-month-gap)}.villa-page__calendar .date-picker__month-title,.villa-page__booking-date-modal .date-picker__month-title{margin:0;font-size:var(--type-size-17);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);text-align:center}.villa-page__calendar .date-picker__weekday,.villa-page__booking-date-modal .date-picker__weekday{font-size:var(--type-size-14);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-page__calendar .date-picker__month,.villa-page__booking-date-modal .date-picker__month{min-width:0}.villa-page__calendar-shell .date-picker__footer{justify-content:center;margin-top:var(--date-picker-modal-padding-block);padding-bottom:var(--space-sm)}.villa-page__calendar .date-picker__clear,.villa-page__booking-date-modal .date-picker__clear{font-size:var(--type-size-15);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__calendar-placeholder{display:grid;place-items:center;min-height:18rem;border:1px dashed var(--color-border);border-radius:var(--villa-hero-radius);background:var(--color-on-accent);color:var(--villa-muted);text-align:center}.villa-page__calendar-placeholder p{margin:0;font-family:var(--font-serif);font-size:var(--type-size-20);color:var(--color-text)}.villa-page__policies{padding:var(--villa-booking-padding);border:0;border-radius:.625rem;background:var(--villa-accent-sand)}.villa-page__policies h3{margin:0 0 var(--space-row-lg);font-family:var(--font-sans);font-size:var(--type-size-19);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__policies ul{display:grid;gap:var(--space-row-lg);margin:0;padding:0;list-style:none}.villa-page__policy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;align-items:start}.villa-page__policy-icon{flex-shrink:0;display:block;width:auto;height:auto;max-width:2.125rem}.villa-page__policy-copy strong{display:block;font-family:var(--font-sans);font-size:var(--type-size-16);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__policy-copy span{display:block;margin-top:.3125rem;color:var(--villa-muted);font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}.villa-page__policy-guests--mobile{display:none}@media(max-width:959px){.villa-page__policy-guests--desktop{display:none}.villa-page__policy-guests--mobile{display:block}}.villa-page__policy--checkin-out{align-items:center}.villa-page__policy-times{display:flex;flex-wrap:wrap;gap:1.25rem}.villa-page__policy-time{display:grid;gap:.3125rem}.villa-page__policy-time strong{font-family:var(--font-sans);font-size:var(--type-size-16);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__policy-time span{color:var(--villa-muted);font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}.villa-page__booking-main{display:grid;gap:1.75rem;min-width:0;padding-bottom:3.75rem}.villa-page__booking-main .villa-page__policies astro-island{display:inline;width:auto;min-width:0}.villa-page__booking-sidebar-stack{position:sticky;top:var(--villa-booking-sidebar-sticky-top);display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:100%;min-width:0;padding-bottom:3.75rem;z-index:2}.villa-page__booking-sidebar-stack>.villa-page__promo-banner{flex-shrink:0}.villa-page__booking-sidebar-stack astro-island,.villa-page__booking-pricing astro-island,.villa-page__payment-lead astro-island{display:block;width:100%;min-width:0}.villa-page__payment-lead astro-island{display:inline-block;width:auto}.villa-page__booking-sidebar{display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:100%;min-width:0}.villa-page__booking-card{--villa-booking-control-height: 3.25rem;--villa-muted: var(--color-muted-alt);border:1px solid var(--color-text);border-radius:var(--villa-hero-radius);background:var(--color-surface);box-shadow:3px 4px 4px var(--color-shadow-xs);overflow:visible}.villa-page__payment-card{--villa-muted: var(--color-muted-alt)}.villa-page__booking-card .villa-page__price-note,.villa-page__booking-inquiry-lead,.villa-page__booking-inquiry-label,.villa-page__payment-note{color:var(--villa-muted)}.villa-page__booking-card-body{display:grid;gap:var(--space-15);align-items:stretch;padding:1.25rem}.villa-page__booking-card-body>astro-island{display:block;width:100%;min-width:0}.villa-page__booking-summary{display:grid;gap:.85rem;width:100%}.villa-page__booking-pricing,.villa-page__booking-quote{display:flex;flex-direction:column;gap:var(--space-15);width:100%}.villa-page__booking-pricing-head{display:grid;gap:.125rem;justify-items:center;width:100%}.villa-page__price{margin:0;font-family:var(--font-sans);font-size:var(--type-size-17);font-style:italic;font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);text-align:center}.villa-page__price-note{margin:0;color:var(--villa-muted);font-family:var(--font-sans);font-size:var(--type-size-16);font-style:normal;font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15);text-align:center}.villa-page__booking-pay-deposit{margin:0;font-family:var(--font-sans);font-size:var(--type-size-13);font-weight:var(--type-weight-regular);line-height:1.3846;text-align:center;color:var(--color-text)}.villa-page__booking-pay-deposit-amount{font-weight:600}.villa-page__booking-fields-anchor{position:relative;width:100%}.villa-page__booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;width:100%}.villa-page__booking-field{display:flex;align-items:center;justify-content:center;height:var(--btn-height);min-height:var(--btn-height);padding:var(--btn-secondary-padding);border:1px solid var(--btn-secondary-border-color);border-radius:var(--btn-radius);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);font-family:var(--font-sans);font-size:var(--type-size-15);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);cursor:pointer;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .2s ease}.villa-page__booking-field:hover,.villa-page__booking-field:focus-visible{transform:translate3d(0,-2px,0)}.villa-page__booking-date-modal.date-picker{position:fixed;z-index:var(--header-global-overlay-z);width:var(--date-picker-width);max-width:calc(100vw - 2 * var(--layout-gutter));border:2px solid var(--color-text);border-radius:var(--villa-calendar-radius, .625rem);overflow:hidden;background:var(--color-bg);box-shadow:0 24px 48px var(--color-shadow-lg);padding-bottom:1.75rem}.villa-page__booking-date-modal .date-picker__footer{justify-content:center;padding-bottom:.75rem}.btn-primary:hover,.btn-primary:focus-visible,.btn-secondary:hover,.btn-secondary:focus-visible,.btn-action:hover,.btn-action:focus-visible,.btn-outline:hover,.btn-outline:focus-visible,.btn-chip:hover,.btn-chip:focus-visible,.villa-page__booking-field:hover,.villa-page__booking-field:focus-visible{transform:none}.villa-sign-in-modal-open{overflow:hidden}.villa-sign-in-modal-layer{position:fixed;inset:0;z-index:calc(var(--header-modal-z) + 40);display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.villa-sign-in-modal__backdrop{position:absolute;inset:0;margin:0;padding:0;border:0;background:var(--color-alpha-18);cursor:pointer}.villa-sign-in-modal{position:relative;z-index:1;width:min(100%,23.75rem);padding:1.25rem;border-radius:.625rem;background:var(--color-primary-sand, var(--btn-primary-bg));box-shadow:0 24px 48px var(--color-shadow-lg)}.villa-sign-in-modal__card{display:flex;flex-direction:column;gap:.625rem}.villa-sign-in-modal__body{display:flex;flex-direction:column;gap:var(--space-row-lg)}.villa-sign-in-modal__title{margin:0;font-family:var(--font-sans);font-size:var(--type-size-17);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-sign-in-modal__email-section{display:flex;flex-direction:column;gap:.5rem}.villa-sign-in-modal__email-lead{margin:0;font-family:var(--font-sans);font-size:var(--type-size-16);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-sign-in-modal__field input{width:100%;height:2.8125rem;padding:.625rem var(--space-15);border:1px solid var(--color-auto-11);border-radius:.3125rem;background:var(--color-on-accent);color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-size-14);line-height:var(--type-line-height-15)}.villa-sign-in-modal__field input::placeholder{color:var(--color-muted-alt)}.villa-sign-in-modal__field input:focus{outline:none;border-color:var(--color-text)}.villa-sign-in-modal__error{margin:0;font-family:var(--font-sans);font-size:var(--type-size-13);line-height:var(--type-line-height-15);color:var(--color-auto-12)}.villa-sign-in-modal__submit{width:100%}.villa-booking-inquiry-modal-open{overflow:hidden}.villa-booking-inquiry-modal-layer{position:fixed;inset:0;z-index:calc(var(--header-modal-z) + 30);display:flex;align-items:flex-end;justify-content:center}.villa-booking-inquiry-modal__backdrop{position:absolute;inset:0;margin:0;padding:0;border:0;background:var(--color-alpha-18);cursor:pointer}.villa-booking-inquiry-modal{position:relative;z-index:1;box-sizing:border-box;width:100%;max-height:min(92vh,42rem);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.5625rem var(--space-15) max(2.1875rem,env(safe-area-inset-bottom,0px));border-radius:1.5625rem 1.5625rem 0 0;background:var(--color-primary-sand, var(--btn-primary-bg));box-shadow:0 -8px 24px var(--color-shadow-md)}.villa-booking-inquiry-modal .villa-page__booking-inquiry,.villa-page__booking-actions-row .btn-primary,.villa-page__booking-actions-row .btn-action,.villa-page__booking-actions-row .btn-secondary,.villa-page__booking-actions-row .btn-outline{width:100%}.villa-page__booking-actions{display:grid;gap:.625rem;width:100%}.villa-page__booking-actions-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;align-items:stretch;width:100%}.villa-page__booking-inquiry{display:grid;gap:1.25rem;width:100%}.villa-page__booking-inquiry--success{gap:1.25rem}.villa-page__booking-inquiry-back{display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:0;border:0;background:transparent;color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-size-15);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);text-align:left;cursor:pointer}.villa-page__booking-inquiry-intro,.villa-page__booking-inquiry-success-body{display:grid;gap:.3125rem}.villa-page__booking-inquiry-title{margin:0;font-family:var(--font-sans);font-size:var(--type-size-15);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-page__booking-inquiry-lead{margin:0;font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}.villa-page__booking-inquiry-form{display:grid;gap:var(--space-15);width:100%}.villa-page__booking-inquiry-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.villa-page__booking-inquiry-field{display:grid;gap:.1875rem;min-width:0}.villa-page__booking-inquiry-field--full{grid-column:1 / -1}.villa-page__booking-inquiry-label{font-family:var(--font-sans);font-size:var(--type-size-12);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}.villa-page__booking-inquiry-field input:not(.PhoneInputInput),.villa-page__booking-inquiry-field select{box-sizing:border-box;width:100%;height:2.625rem;padding:.625rem var(--space-15);border:1px solid var(--color-auto-11);border-radius:.3125rem;background:var(--color-on-accent);color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}.villa-page__booking-inquiry-select-wrap{position:relative;display:block}.villa-page__booking-inquiry-select-wrap select{appearance:none;padding-right:2rem}.villa-page__booking-inquiry-select-chevron{position:absolute;top:50%;right:var(--space-15);width:.4375rem;height:.4375rem;margin-top:-.1875rem;border-right:1.5px solid var(--color-text);border-bottom:1.5px solid var(--color-text);transform:rotate(45deg) translateY(-50%);pointer-events:none}.villa-page__booking-inquiry-terms{cursor:pointer}.villa-page__booking-inquiry-terms .pvm-checkbox__text a{font-weight:var(--type-weight-medium);text-decoration:underline;color:var(--color-text)}.villa-page__booking-inquiry-error{margin:0;font-family:var(--font-sans);font-size:var(--type-size-12);line-height:var(--type-line-height-15);color:var(--color-auto-12)}.villa-page__booking-inquiry-heart{display:inline-flex;width:3.026875rem;height:3.026875rem}.villa-page__booking-inquiry-heart img{display:block;width:100%;height:100%}.villa-page__booking-inquiry-contact-links{display:grid;gap:0;font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__booking-inquiry-contact-links a{color:var(--color-text);text-decoration:none}.villa-page__booking-inquiry-contact-links a:hover{text-decoration:underline}.villa-page__calendar .date-picker__day-label,.villa-page__booking-date-modal .date-picker__day-label{font-size:var(--type-size-15);font-weight:var(--type-weight-medium);color:var(--villa-calendar-day-available)}.villa-page__calendar .date-picker__day--min-stay:disabled .date-picker__day-label,.villa-page__booking-date-modal .date-picker__day--min-stay:disabled .date-picker__day-label{color:var(--villa-calendar-day-min-stay, var(--villa-calendar-day-min-stay))}.villa-page__calendar .date-picker__day--range-start-only .date-picker__day-label,.villa-page__calendar .date-picker__day--range-start .date-picker__day-label,.villa-page__calendar .date-picker__day--range-end .date-picker__day-label,.villa-page__booking-date-modal .date-picker__day--range-start-only .date-picker__day-label,.villa-page__booking-date-modal .date-picker__day--range-start .date-picker__day-label,.villa-page__booking-date-modal .date-picker__day--range-end .date-picker__day-label{background:var(--btn-primary-bg);color:var(--color-on-accent);font-weight:var(--type-weight-medium)}.villa-hero-image{width:100%;max-height:28rem;object-fit:cover;border-radius:var(--radius);margin-bottom:var(--space-md)}.layout main:has(.villa-page){overflow:visible}.villa-page__payment-card{display:grid;gap:var(--space-xs);padding:var(--date-picker-modal-padding-block);border-radius:var(--villa-chip-radius);background:var(--villa-accent-sand);box-shadow:3px 4px 4px var(--color-shadow-xs)}.villa-page__payment-icons{display:block;width:auto;max-width:100%;height:1.6875rem}.villa-page__payment-lead,.villa-page__payment-note,.villa-page__payment-secure{margin:0;font-family:var(--font-sans);line-height:var(--type-line-height-15);text-align:left}.villa-page__payment-lead{font-size:var(--type-size-14);font-weight:var(--type-weight-medium)}.villa-page__payment-note{font-size:var(--type-size-14);font-weight:var(--type-weight-regular)}.villa-page__payment-secure{display:flex;align-items:center;gap:.625rem;font-size:var(--type-size-12);font-weight:var(--type-weight-regular)}.villa-page__payment-currency{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-decoration:underline;cursor:pointer}.villa-page__payment-currency:hover{opacity:.75}.villa-page__promo-banner{overflow:hidden;border-radius:var(--villa-hero-radius);box-shadow:3px 4px 4px var(--color-shadow-xs)}.villa-page__promo-banner-title{margin:0;padding:.4375rem var(--space-15);background:var(--villa-discount-bg);color:var(--villa-discount-text);font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);text-align:center}.villa-page__promo-banner-copy{margin:0;padding:.625rem var(--space-15);background:var(--villa-accent-sand);font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}.villa-page__promo-banner--intro{max-width:48.125rem}.villa-page__promo-banner--intro .villa-page__promo-banner-title{text-align:left}.villa-page__promo-banner--sidebar{width:100%}.villa-page__promo-banner--sidebar .villa-page__promo-banner-title{text-align:left}.villa-page__near-site{display:flex;align-items:flex-start;gap:var(--space-15);min-width:0}.villa-page__near-site-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;padding:.625rem;border-radius:100px;background:var(--villa-accent-sand)}.villa-page__near-site-icon img{display:block;width:1.25rem;height:1.25rem;object-fit:contain}.villa-page__near-site-copy{display:flex;flex-direction:column;gap:.1875rem;min-width:0}.villa-page__near-site-name{margin:0;font-family:var(--font-sans);font-size:var(--type-size-15);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-page__near-site-meta{margin:0;font-family:var(--font-sans);font-size:var(--type-size-15);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15);color:var(--villa-muted)}.villa-page__similar{width:100%;max-width:calc(var(--max-width-wide) + 2 * var(--layout-gutter));margin-inline:auto;padding-top:2.5rem;padding-bottom:1.25rem;box-sizing:border-box}.villa-page__similar-header{display:flex;align-items:center;gap:1.5625rem;width:100%;max-width:100%;margin-bottom:1.25rem;padding-inline:0;box-sizing:border-box}.villa-page__similar-track{display:flex;flex-wrap:nowrap;gap:3.125rem;width:100%;max-width:100%;min-width:0;padding-inline:0;scroll-padding-inline:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x pan-y}.villa-page__similar-track::-webkit-scrollbar{display:none}.villa-page__similar-logo{flex-shrink:0;width:3.125rem;height:auto}.villa-page__similar-copy{display:flex;flex-direction:column;gap:.1875rem;flex:1;min-width:0}.villa-page__similar-header .villa-page__section-lead{max-width:none;font-size:var(--type-size-16);line-height:var(--type-line-height-15)}.villa-page__similar-header .villa-page__section-title{font-size:var(--type-size-22);line-height:var(--type-line-height-15)}.villa-page__similar-card{flex:0 0 16.5rem;width:16.5rem;min-width:16.5rem;color:inherit;text-decoration:none;scroll-snap-align:start}.villa-page__similar-card img{display:block;width:100%;height:20.375rem;object-fit:cover;border-radius:var(--villa-chip-radius)}.villa-page__similar-card strong{display:block;margin-top:.625rem;font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__similar-card span{display:block;margin-top:.125rem;color:var(--villa-grey-text);font-family:var(--font-sans);font-size:var(--type-size-14);line-height:var(--type-line-height-15)}.villa-page__similar--iconic .villa-page__similar-header .villa-page__section-title{font-size:var(--type-size-19);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__similar--iconic .villa-page__similar-header .villa-page__section-lead{font-size:var(--type-size-15);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}.villa-page__similar--iconic .villa-page__similar-card strong{font-size:var(--type-size-18);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__similar--iconic .villa-page__similar-card span{font-size:var(--type-size-16);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15)}@media(min-width:960px){.villa-page__similar--iconic .villa-page__similar-track{overflow-x:visible;gap:var(--space-lg)}.villa-page__similar--iconic .villa-page__similar-card{flex:1 1 0;width:auto;min-width:0}}@media(min-width:960px){.villa-page__hero-grid{column-gap:var(--villa-hero-column-gap)}.villa-page__bedroom-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:var(--space-lg);row-gap:var(--space-row-lg);overflow:visible;width:auto;max-width:none;margin-left:0;margin-right:0;padding-inline:0;scroll-padding-inline:0;--villa-bedroom-image-height: 16.25rem}.villa-page__bedroom-track:after{display:none}.villa-page__bedroom-card{flex:unset;align-self:start;width:auto;min-width:0;scroll-snap-align:unset}.villa-page__bedroom-card:last-child{flex-basis:auto;width:auto;min-width:0}.villa-page__page-grid{grid-template-columns:var(--villa-layout-columns);column-gap:var(--villa-page-column-gap);align-items:stretch}.villa-page__page-grid-aside{padding-top:1.5625rem;min-width:0}.villa-page__page-grid-aside .villa-page__booking-sidebar-stack,.villa-page__page-grid-aside .villa-page__booking-sidebar{width:100%;max-width:100%}}@media(max-width:959px){.villa-page{--villa-booking-control-height: 3.125rem;--villa-bedroom-card-peek: 4.5rem;--villa-photo-mosaic-gap: .75rem;--layout-gutter: 1.25rem;--villa-page-gutter: 1.25rem}.villa-page__bedrooms,.villa-page__page-grid-main{overflow-x:visible}.villa-page__page-grid-aside{display:none}.villa-page__booking-fields{grid-template-columns:1fr;gap:.625rem}.villa-page__booking-field{height:var(--villa-booking-control-height);min-height:var(--villa-booking-control-height);padding:var(--space-15) .75rem;border-radius:.625rem;font-size:var(--type-size-15);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page[data-mobile-booking-bar=true]{--villa-mobile-sticky-clearance: calc(6.5rem + env(safe-area-inset-bottom, 0px)) }.villa-page[data-mobile-reservation-summary=true]{--villa-mobile-sticky-clearance: calc(min(85vh, 40rem) + env(safe-area-inset-bottom, 0px)) }.villa-page[data-mobile-reservation-summary=true][data-mobile-reservation-summary-collapsed=true]{--villa-mobile-sticky-clearance: calc(8.75rem + env(safe-area-inset-bottom, 0px)) }.villa-page[data-mobile-booking-bar=true] .villa-page__similar,.villa-page[data-mobile-reservation-summary=true] .villa-page__similar,.villa-page[data-mobile-booking-bar=true] .villa-page:not(:has(.villa-page__similar)) .villa-page__reviews,.villa-page[data-mobile-reservation-summary=true] .villa-page:not(:has(.villa-page__similar)) .villa-page__reviews{padding-bottom:calc(1.25rem + var(--villa-mobile-sticky-clearance, 0px))}.villa-page__mobile-booking-bar{position:fixed;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;gap:.625rem;box-sizing:border-box;padding:.75rem var(--space-15) max(2.1875rem,env(safe-area-inset-bottom,0px));background:var(--color-primary-sand)}.villa-page__mobile-reservation-summary{position:fixed;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;gap:var(--space-15);box-sizing:border-box;max-height:min(85vh,40rem);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.5625rem var(--space-15) max(2.1875rem,env(safe-area-inset-bottom,0px));border-radius:1.5625rem 1.5625rem 0 0;background:var(--color-primary-sand, var(--btn-primary-bg))}.villa-page__mobile-reservation-summary--collapsed{gap:.625rem;max-height:none;overflow:visible;padding:.75rem var(--space-15) max(2.1875rem,env(safe-area-inset-bottom,0px));border-radius:0}.villa-page__mobile-reservation-summary-dates-group{display:flex;flex-direction:column;gap:.625rem;width:100%}.villa-page__mobile-reservation-summary-details{display:flex;flex-direction:column;gap:var(--space-15);width:100%}.villa-page__mobile-reservation-summary-collapsed-actions{width:100%}.villa-page__mobile-reservation-summary--collapsed .villa-page__booking-actions-row{gap:.625rem}.villa-page__mobile-reservation-summary-head{width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.villa-page__mobile-reservation-summary-title{margin:0;font-family:var(--font-sans);font-size:calc(1.1875rem - 1px);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-page__mobile-reservation-summary-chevron{flex-shrink:0;display:block;width:1.75rem;height:1.25rem;color:var(--color-text);transition:transform .15s ease}.villa-page__mobile-reservation-summary-chevron[data-expanded=true]{transform:rotate(90deg)}.villa-page__mobile-reservation-summary-chevron[data-expanded=false]{transform:rotate(-90deg)}.villa-page__mobile-reservation-summary-body{display:flex;flex-direction:column;width:100%}.villa-page__mobile-reservation-summary-fields-stack{display:flex;flex-direction:column;gap:.625rem;width:100%}.villa-page__mobile-reservation-summary .villa-page__mobile-reservation-summary-field{height:3.125rem;min-height:3.125rem;padding:var(--space-15) .75rem;border:1px solid var(--color-border-input);border-radius:.625rem;background:var(--color-on-accent);box-shadow:none;font-size:var(--type-size-16);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);text-align:center}.villa-page__mobile-reservation-summary .villa-page__booking-field--dates-entered{border-style:dashed}.villa-page__mobile-dates-field{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:0;overflow:hidden;cursor:pointer}.villa-page__mobile-dates-field-part{flex:0 0 auto;min-width:0;padding:0;pointer-events:none;font-size:var(--type-size-16);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);text-align:center;white-space:nowrap}.villa-page__mobile-dates-field-part--placeholder{color:var(--color-muted-alt)}.villa-page__mobile-dates-field-sep{flex-shrink:0;color:var(--color-muted-alt);font-size:var(--type-size-16);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);user-select:none;pointer-events:none}.villa-page__mobile-reservation-quote,.villa-page__mobile-reservation-quote .villa-page__booking-quote-breakdown{display:grid;gap:.375rem;width:100%}.villa-page__mobile-reservation-summary .villa-page__mobile-reservation-quote .villa-page__booking-quote-row{font-size:var(--type-size-12);font-weight:400;line-height:var(--type-line-height-15);color:var(--color-muted-alt)}.villa-page__mobile-reservation-summary .villa-page__mobile-reservation-quote .villa-page__booking-quote-breakdown>.villa-page__booking-quote-row--strike{font-size:var(--type-size-14);font-weight:400;color:var(--color-muted-alt)}.villa-page__mobile-reservation-summary .villa-page__mobile-reservation-quote .villa-page__booking-quote-breakdown>.villa-page__booking-quote-row--emphasis,.villa-page__mobile-reservation-summary .villa-page__mobile-reservation-quote .villa-page__booking-quote-breakdown>.villa-page__booking-quote-row--total{font-size:var(--type-size-14);font-weight:600;color:var(--color-text)}.villa-page__mobile-reservation-summary .villa-page__mobile-reservation-quote .villa-page__booking-quote-fees-head{font-size:var(--type-size-14);font-weight:400;line-height:var(--type-line-height-15);color:var(--color-muted-alt)}.villa-page__mobile-reservation-summary .villa-page__mobile-reservation-quote .villa-page__booking-quote-fees-detail-row{font-size:var(--type-size-13);font-weight:400;line-height:var(--type-line-height-15);color:var(--color-muted-alt)}.villa-page__mobile-reservation-summary .villa-page__mobile-reservation-quote .villa-page__booking-quote-amount{flex-shrink:0;min-width:5rem;text-align:right}.villa-page__mobile-reservation-summary-actions.villa-page__booking-actions{gap:.375rem;width:100%}.villa-page__mobile-reservation-summary-actions .villa-page__booking-actions-row,.villa-page__mobile-reservation-summary--collapsed .villa-page__booking-actions-row{gap:.625rem}.villa-page__mobile-reservation-summary .villa-page__booking-pay-deposit{font-size:var(--type-size-12);line-height:1.125rem;text-align:center}.villa-page__mobile-reservation-summary-loading{display:grid;gap:.5rem;width:100%}.villa-page__mobile-reservation-summary-loading-note,.villa-page__mobile-reservation-summary-error{margin:0;font-family:var(--font-sans);font-size:var(--type-size-14);line-height:var(--type-line-height-15);color:var(--villa-muted);text-align:center}.villa-page__mobile-reservation-summary-error{color:var(--color-auto-12)}.villa-page{--villa-hero-max-height: 30rem;--villa-hero-min-height: 30rem}.layout:has(.villa-page){position:relative}.layout:has(.villa-page) .site-header--villa-detail{position:absolute;top:0;left:0;right:0;z-index:100;background:transparent}.layout:has(.villa-page) .site-header--villa-detail .site-header__inner{padding-top:calc(.75rem + env(safe-area-inset-top,0px));padding-bottom:.625rem}.site-header--villa-detail .site-logo__mark--default,.site-header--villa-detail .site-header__menu-icon--default{display:none}.site-header--villa-detail .site-logo__mark--overlay,.site-header--villa-detail .site-header__menu-icon--overlay{display:block}.site-header--villa-detail .site-logo__mark--overlay{width:3.125rem;height:3.125rem}.villa-page__hero.container--wide{max-width:none;padding-inline:0;padding-bottom:0}.villa-page__hero-main,.villa-page__hero-main-hit{border-radius:0}.villa-page__hero-grid{grid-template-columns:1fr;row-gap:0;height:auto;max-height:none;min-height:0;overflow:visible}.villa-page__hero-side{display:none}.villa-page__hero-main,.villa-page__hero-side{height:auto;max-height:var(--villa-hero-max-height);min-height:var(--villa-hero-min-height)}.villa-page__hero-main-hit,.villa-page__hero-side-image,.villa-page__hero-video,.villa-page__hero-video-player,.villa-page__hero-video-embed{min-height:var(--villa-hero-min-height);max-height:var(--villa-hero-max-height);height:100%}.villa-page__hero-gallery-btn{left:1rem;bottom:.75rem}.villa-page__hero-iconic-tag{top:auto;left:auto;right:1rem;bottom:.75rem}.villa-page__amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.villa-page__iconic-included{grid-template-columns:1fr}.villa-page__photo-grid{--villa-photo-mosaic-row-sm: clamp(5rem, 26vw, 6.5rem);--villa-photo-mosaic-row-lg: clamp(8.5rem, 40vw, 11.25rem);gap:var(--villa-photo-mosaic-gap)}.villa-page__photo-grid-mosaic{gap:var(--villa-photo-mosaic-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:var(--villa-photo-mosaic-row-sm) var(--villa-photo-mosaic-row-sm) var(--villa-photo-mosaic-row-lg)}.villa-page__photo-grid-item{border-radius:.5rem}.villa-page__photo-grid-item--4{height:var(--villa-photo-mosaic-row-lg)}.villa-page__photo-grid-mosaic:not(:has(.villa-page__photo-grid-item--4)){grid-template-rows:var(--villa-photo-mosaic-row-sm) var(--villa-photo-mosaic-row-sm)}.villa-page__photo-grid-gallery-btn{width:100%;max-width:none;justify-self:stretch}.villa-page__bedrooms-head{gap:.5rem;margin-bottom:.625rem;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-inline:var(--layout-gutter);box-sizing:border-box}.villa-page__bedroom-track{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-inline:var(--layout-gutter) 0;scroll-padding-inline:var(--layout-gutter);box-sizing:border-box;--villa-bedroom-card-width: min( 22rem, calc( 100vw - var(--layout-gutter) - var(--villa-bedroom-card-peek) - var(--space-15) ) )}.villa-page__bedroom-track:after{content:"";flex:0 0 var(--layout-gutter);width:var(--layout-gutter);height:1px}.villa-page__bedroom-card:last-child{flex-basis:min(22rem,calc(100vw - (2 * var(--layout-gutter))));width:min(22rem,calc(100vw - (2 * var(--layout-gutter))));min-width:min(22rem,calc(100vw - (2 * var(--layout-gutter))))}.villa-page__hero-gallery-btn{width:auto;max-width:75%}.villa-page__page-grid-aside{padding-top:0}.villa-page__booking-sidebar-stack{position:static}.villa-page__property-specs{flex-wrap:nowrap;justify-content:space-between;gap:.5rem;overflow-x:visible}.villa-page__property-spec{flex:1 1 0;flex-direction:column;align-items:center;justify-content:flex-start;gap:.375rem;min-width:0;min-height:0;text-align:center}.villa-page__property-spec-label{font-size:var(--type-size-12);line-height:var(--type-line-height-15);white-space:normal}}@media(max-width:768px){.villa-page{--layout-gutter: 1.25rem;--villa-page-gutter: 1.25rem;--villa-section-gap: 1.75rem;--villa-photo-mosaic-gap: 1.125rem;--villa-booking-padding: 1.5rem;padding-bottom:2.5rem}.villa-page__page-grid-main{padding-top:1.25rem}.villa-page__property-specs{gap:.375rem}.villa-page__property-spec{gap:.3125rem}.villa-page__property-spec-icon{height:.875rem}.villa-page__property-spec-label{font-size:var(--type-size-12)}.villa-page__section{padding-bottom:2rem}.villa-page__iconic{gap:1.75rem}.villa-page__iconic-card{padding:2rem 1.5rem;gap:1.5rem}.villa-page__iconic-title strong{font-size:var(--type-size-22)}.villa-page__iconic-title em{font-size:var(--type-size-16)}.villa-page__booking-main{gap:0;padding-bottom:2.5rem}.villa-page__booking-main .villa-page__guest-filters,.villa-page__booking-main .villa-page__calendar-shell{display:none}.villa-page__location{padding-block:2.5rem}.villa-page__location-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "map" "copy"}.villa-page__location-grid:not(:has(.villa-page__map)){grid-template-areas:"title" "copy"}.villa-page__map{min-height:18.75rem}.villa-page__reviews{gap:1.5rem;padding-block:2rem}.villa-page__reviews-header{padding-inline:0}.villa-page__reviews-carousel{width:100%;margin-inline:0;grid-template-columns:minmax(0,1fr);gap:0}.villa-page__reviews-viewport{display:grid;grid-auto-flow:column;grid-auto-columns:100%;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.villa-page__review-track{display:contents;gap:0}.villa-page__reviews-viewport--align-start .villa-page__review-track,.villa-page__reviews-viewport--align-end .villa-page__review-track{margin-inline:0}.villa-page__review-card{flex:none;width:auto;min-width:0;max-width:none;scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;padding:1.5rem;gap:1.25rem}.villa-page__similar{padding-top:2rem;padding-bottom:1.25rem}.villa-page__similar-header{flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.villa-page__similar-logo{width:3.125rem}.villa-page__similar-copy{flex:none;width:100%;align-items:center;gap:.25rem;min-width:0}.villa-page__similar-header .villa-page__section-title{font-size:var(--type-size-18);line-height:var(--type-line-height-15);font-weight:var(--type-weight-medium);text-align:center;white-space:normal}.villa-page__similar-header .villa-page__section-lead{font-size:var(--type-size-15);line-height:var(--type-line-height-15);text-align:center;white-space:normal}.villa-page__booking-inquiry-row,.villa-page__booking-inquiry-form .reserve-field--row{grid-template-columns:1fr}.villa-page__calendar-shell .date-picker__months,.villa-page__near-sites-columns{grid-template-columns:minmax(0,1fr)}.villa-page__review-byline{font-size:var(--type-size-17)}.villa-page__review-quote{font-size:3rem}.villa-page__review-stay-type,.villa-page__review-body{font-size:var(--type-size-15)}.villa-page__amenities-grid{grid-template-columns:1fr}.villa-page__similar-track{gap:1.25rem}.villa-page__similar-card{flex:0 0 min(16.5rem,calc(100vw - 2 * var(--layout-gutter)));width:min(16.5rem,calc(100vw - 2 * var(--layout-gutter)));min-width:min(16.5rem,calc(100vw - 2 * var(--layout-gutter)))}.villa-page__similar--iconic .villa-page__similar-track{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-inline:var(--layout-gutter) 0;scroll-padding-inline:var(--layout-gutter);box-sizing:border-box}.villa-page__similar--iconic .villa-page__similar-track:after{content:"";flex:0 0 var(--layout-gutter);width:var(--layout-gutter);height:1px}.villa-page__similar--iconic .villa-page__similar-card{flex:0 0 calc(100vw - 2 * var(--layout-gutter));width:calc(100vw - 2 * var(--layout-gutter));min-width:calc(100vw - 2 * var(--layout-gutter))}.villa-page__similar-card img{height:13.625rem}}.villa-page__lightbox{width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;border:0;border-radius:0;padding:0;background:var(--villa-primary-sand);color:var(--villa-midnight)}.villa-page__lightbox::backdrop{background:var(--color-alpha-26)}.villa-page__lightbox-inner{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:100%;padding-block:var(--space-md);padding-inline:var(--layout-gutter);background:var(--villa-primary-sand);box-sizing:border-box}.villa-page__lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-shrink:0;margin-bottom:var(--space-sm)}.villa-page__lightbox-toolbar-actions{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto}.villa-page__lightbox-back{border:0;background:transparent;color:inherit;font:inherit;font-weight:var(--type-weight-medium);cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.villa-page__lightbox-mosaic-scroll{flex:1;min-height:0;overflow:auto}.villa-page__lightbox-mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.25rem;width:min(100%,65.625rem);margin:0 auto;padding-bottom:var(--space-md)}.villa-page__lightbox-mosaic-item{display:block;width:100%;min-height:10rem;padding:0;border:0;border-radius:.3125rem;background:var(--color-auto-24);cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.villa-page__lightbox-mosaic-item:hover{box-shadow:inset 0 0 0 999px var(--color-alpha-21)}.villa-page__lightbox-mosaic-item img{display:block;width:100%;height:100%;min-height:10rem;object-fit:cover}.villa-page__lightbox-mosaic-item--slot-6{min-height:14rem}@media(max-width:959px){.villa-page__lightbox-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;width:100%}.villa-page__lightbox-mosaic-item,.villa-page__lightbox-mosaic-item--slot-6{grid-column:span 1!important;min-height:9.5rem}.villa-page__lightbox-mosaic-item:nth-child(6n+1){grid-column:span 2!important;min-height:12rem}}.villa-page__lightbox-counter{margin:0;font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-medium);color:var(--villa-midnight)}.villa-page__lightbox-close{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.villa-page__lightbox-swiper{flex:1;width:100%;min-height:0}.villa-page__lightbox-slide{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.villa-page__lightbox-image{display:block;width:100%;height:100%;max-height:calc(100vh - 5rem);object-fit:contain;border-radius:calc(var(--radius) / 2)}.villa-page__lightbox .date-picker__nav{position:absolute;top:50%;z-index:2;transform:translateY(-50%)}.villa-page__lightbox .date-picker__nav--prev{left:var(--space-md)}.villa-page__lightbox .date-picker__nav--next{right:var(--space-md)}.villa-page__lightbox .date-picker__nav.swiper-button-disabled{opacity:.35;cursor:default}@media(max-width:959px){.villa-page__lightbox .date-picker__nav{display:none}}.villa-page__lightbox .swiper-button-prev,.villa-page__lightbox .swiper-button-next{display:none}.villa-page__location{padding-block:3.75rem;min-width:0;max-width:100%}.villa-page__location-grid{display:grid;row-gap:var(--space-25);column-gap:clamp(1.5rem,4vw,6.25rem);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"title map" "copy map";align-items:stretch}.villa-page__location-grid:not(:has(.villa-page__map)){grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "copy"}.villa-page__location-title{grid-area:title;margin:0;font-family:var(--font-serif);font-size:var(--type-size-32);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15)}.villa-page__location-copy{display:flex;flex-direction:column;gap:var(--space-row-lg);grid-area:copy;min-width:0}.villa-page__near-sites{display:flex;flex-direction:column;align-items:stretch;gap:1.25rem;width:100%;max-width:42rem}.villa-page__near-sites-title{margin:0;font-family:var(--font-sans);font-size:var(--type-size-19);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-page__near-sites-columns{display:grid;grid-template-columns:repeat(2,minmax(16.5rem,1fr));gap:1.125rem clamp(1.25rem,3vw,2.5rem);align-items:start;width:100%}.villa-page__near-sites-column{display:flex;flex-direction:column;gap:1.125rem;margin:0;padding:0;list-style:none;min-width:0}.villa-page__location-description p{margin:0 0 1rem;font-family:var(--font-sans);font-size:var(--type-size-16);line-height:var(--type-line-height-15)}.villa-page__map{grid-area:map;min-width:0;min-height:33rem;height:100%}.villa-page__map,.villa-page__map-inner,.villa-page__map-canvas,.villa-page__map-fallback{border-radius:10px;overflow:hidden}.villa-page__map-inner{position:relative;width:100%;height:100%;min-height:33rem}.villa-page__map-canvas,.villa-page__map-fallback{width:100%;height:100%;min-height:33rem}.villa-map-zoom{position:absolute;right:.75rem;bottom:.75rem;z-index:2;display:flex;flex-direction:column;gap:.3125rem;box-sizing:border-box;width:1.875rem;padding:.3125rem;border:1px solid var(--color-muted-alt);border-radius:5px;background:var(--color-on-accent)}.villa-map-zoom__btn{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text);cursor:pointer}.villa-map-zoom__btn:hover{color:var(--btn-primary-bg)}.villa-map-zoom__btn:focus-visible{outline:2px solid var(--btn-primary-bg);outline-offset:1px}.villa-map-zoom__icon{display:block;flex-shrink:0}.villa-page__hero.container--wide,.villa-page__content.container--wide,.villa-page__location.container--wide,.villa-page__reviews.container--wide,.villa-page__similar.container--wide{max-width:calc(var(--max-width-wide) + 2 * var(--layout-gutter));margin-inline:auto}.villa-page__mobile-booking-bar{display:none}.villa-page__reviews{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-row-lg);padding-block:2.5rem;min-width:0;max-width:100%}.villa-page__reviews-header{display:flex;flex-direction:column;align-items:center;align-self:stretch;gap:.625rem;padding-inline:2.5rem;text-align:center}.villa-page__reviews-stars{display:flex;gap:.625rem}.villa-page__reviews-stars span{width:1.25rem;height:1.191875rem;background:var(--villa-midnight);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.villa-page__reviews-title{margin:0;width:100%;font-family:var(--font-serif);font-size:var(--type-size-22);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);text-align:center;color:var(--color-text)}.villa-page__reviews-lead{margin:0;width:100%;max-width:none;font-family:var(--font-sans);font-size:var(--type-size-18);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15);text-align:center;color:var(--color-text)}.villa-page__reviews-carousel{display:grid;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;gap:1.25rem;align-items:center;min-width:0;max-width:100%}.villa-page__reviews-carousel--single{grid-template-columns:minmax(0,1fr)}.villa-page__reviews-nav-slot{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;min-height:2.75rem}.villa-page__reviews-viewport{flex:1;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;container-type:inline-size;scrollbar-width:none;-ms-overflow-style:none}.villa-page__reviews-viewport::-webkit-scrollbar{display:none}.villa-page__review-track{--villa-review-column-gap: 20px;display:flex;gap:var(--villa-review-column-gap);width:max-content;min-width:100%}.villa-page__reviews-viewport--align-start .villa-page__review-track{margin-inline-end:auto}.villa-page__reviews-viewport--align-end .villa-page__review-track{margin-inline-start:auto}.villa-page__reviews-nav{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:2px solid var(--color-text);border-radius:var(--villa-hero-radius);background:var(--color-on-accent);color:var(--color-text);font-size:var(--type-size-22);line-height:1;cursor:pointer}.villa-page__review-card{display:flex;flex-direction:column;gap:var(--space-row-lg);flex:0 0 min(37rem,calc((100cqw - (2 * var(--villa-review-column-gap, 20px))) / 3));padding:2.5rem;border:2px solid var(--color-text);border-radius:.625rem;background:var(--villa-accent-sand);min-width:0}.villa-page__review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:0}.villa-page__review-card-meta{display:flex;flex:1;flex-direction:column;justify-content:center;gap:.4375rem;min-width:0}.villa-page__review-byline{margin:0;font-family:var(--font-sans);font-size:var(--type-size-19);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-page__review-stay-type{margin:0;font-family:var(--font-sans);font-size:var(--type-size-16);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15);color:var(--color-muted-alt)}.villa-page__review-quote{flex-shrink:0;font-family:var(--font-serif);font-size:3.75rem;font-weight:var(--type-weight-medium);line-height:.85;color:var(--color-text)}.villa-page__review-body{margin:0;font-family:var(--font-sans);font-size:var(--type-size-16);font-weight:var(--type-weight-regular);line-height:var(--type-line-height-15);color:var(--color-text)}.villa-trip-toast{--villa-trip-toast-offset-y: .75rem;position:fixed;right:var(--layout-gutter, 1rem);bottom:calc(1rem + env(safe-area-inset-bottom,0px));left:var(--layout-gutter, 1rem);z-index:45;display:flex;justify-content:center;pointer-events:none;opacity:0;transform:translate3d(0,var(--villa-trip-toast-offset-y),0);transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1)}.villa-trip-toast--visible{opacity:1;transform:translateZ(0)}.villa-page[data-mobile-booking-bar=true] .villa-trip-toast{bottom:calc(5.75rem + env(safe-area-inset-bottom,0px))}.villa-trip-toast__message{margin:0;padding:.875rem 1.125rem;border:1px solid var(--color-text);border-radius:.625rem;background:var(--color-bg);box-shadow:3px 4px 4px var(--color-shadow-xs);color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-size-14);font-weight:var(--type-weight-medium);line-height:var(--type-line-height-15);text-align:center}@media(min-width:960px){.villa-trip-toast{right:auto;left:50%;max-width:28rem;transform:translate3d(-50%,var(--villa-trip-toast-offset-y),0)}.villa-trip-toast--visible{transform:translate3d(-50%,0,0)}}@media(prefers-reduced-motion:reduce){.villa-trip-toast{transition:opacity .15s ease;transform:none}.villa-trip-toast--visible{transform:none}@media(min-width:960px){.villa-trip-toast,.villa-trip-toast--visible{transform:translate(-50%)}}}@media(prefers-reduced-motion:reduce){.villa-page__booking-field{transition:none}}@media(max-width:959px){.villa-page__booking-field,.villa-page__mobile-reservation-summary-field,.villa-page__mobile-dates-field-part,.villa-page__booking-inquiry-field input,.villa-page__booking-inquiry-field select,.villa-page__booking-inquiry-field .PhoneInputInput{font-size:16px!important}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-slide,.swiper-cube-shadow{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top,.swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible{.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color));&.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}&.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto;::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal{.swiper-button-prev,.swiper-button-next,~.swiper-button-prev,~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-button-prev,~.swiper-button-prev,&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-next,~.swiper-button-next,&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-button-prev,~.swiper-button-prev,&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next{::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(0)}}}.swiper-vertical{.swiper-button-prev,.swiper-button-next,~.swiper-button-prev,~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-button-prev,~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto;::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto;::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(90deg)}}}
