.ms-section{position:relative}.ms-filters{flex-wrap:wrap;gap:1.6rem;margin-bottom:1.6rem;display:flex}.ms-filters button{cursor:pointer;font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);background:0 0;border:none;padding:.35rem 0;font-size:.64rem;font-weight:500;transition:color .3s;position:relative}.ms-filters button:after{content:"";background:var(--gold);width:0;height:.0625rem;transition:width .45s;position:absolute;bottom:0;left:0}.ms-filters button:hover{color:var(--ink)}.ms-filters button.is-active{color:var(--gold)}.ms-filters button.is-active:after{width:100%}.ms-masonry{gap:.875rem;display:flex;overflow:hidden}.ms-column{flex:1 1 0;overflow:hidden}.ms-track{will-change:transform;flex-direction:column;gap:.875rem;display:flex}.ms-item{cursor:pointer;margin:0;position:relative;overflow:hidden}.ms-item img{object-fit:cover;filter:grayscale();width:100%;transition:transform 1.2s cubic-bezier(.19,1,.22,1),filter .7s;display:block}.ms-item:hover img{filter:grayscale(0);transform:scale(1.04)}.ms-caption{color:var(--paper);font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;opacity:0;background:linear-gradient(#0000,#14110da8);padding:1.6rem 1rem .8rem;font-size:.6rem;font-weight:500;transition:opacity .45s;position:absolute;bottom:0;left:0;right:0}.ms-item:hover .ms-caption{opacity:1}.ms-lightbox{background:0 0;border:none;width:min(65rem,88vw);height:fit-content;margin:auto;padding:0;position:fixed;inset:0;overflow:visible}.ms-lightbox::backdrop{background:#14110de0}.ms-lightbox img{object-fit:cover;width:100%;height:min(64vh,35rem);display:block}.ms-lightbox p{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#ffffffd9;justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem .2rem;font-size:.66rem;display:flex}.ms-count{font-family:var(--serif);letter-spacing:.1em;text-transform:none;color:var(--gold-soft);font-size:.9rem;font-style:italic}.ms-nav{cursor:pointer;color:#ffffffbf;background:0 0;border:none;padding:.6rem .9rem;font-size:1.7rem;font-weight:300;line-height:1;transition:color .3s,transform .3s;position:absolute;top:50%;transform:translateY(-50%)}.ms-nav:hover{color:var(--gold-soft)}.ms-prev{left:-3.2rem}.ms-next{right:-3.2rem}.ms-prev:hover{transform:translateY(-50%)translate(-3px)}.ms-next:hover{transform:translateY(-50%)translate(3px)}@media (width<=760px){.ms-prev{left:.4rem}.ms-next{right:.4rem}.ms-nav{color:#ffffffe6}}.ms-close{color:var(--paper);cursor:pointer;background:0 0;border:none;font-size:1.6rem;font-weight:300;line-height:1;position:absolute;top:-2.6rem;right:0}.xshow{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:stretch;gap:clamp(1.5rem,3.5vw,3.5rem);display:grid}.xshow__list{flex-direction:column;justify-content:center;margin:0;padding:0;list-style:none;display:flex}.xshow__row{border:none;border-top:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:auto 1fr;align-items:baseline;gap:1rem;width:100%;padding:clamp(.7rem,1.9vh,1.2rem) 0;display:grid;position:relative}.xshow__list li:last-child .xshow__row{border-bottom:1px solid var(--line)}.xshow__no{font-family:var(--serif);color:var(--gold);opacity:.55;font-size:.95rem;font-style:italic;transition:opacity .4s}.xshow__name{font-family:var(--serif);color:var(--ink);font-size:clamp(1.15rem,1.8vw,1.6rem);line-height:1.1;transition:transform .55s cubic-bezier(.22,1,.36,1),color .4s}.xshow__bar{background:var(--gold);width:0;height:.0625rem;transition:width .6s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-.0625rem;left:0}.xshow__row:hover .xshow__name,.xshow__row:focus-visible .xshow__name{color:var(--gold)}.xshow__row[data-on] .xshow__no{opacity:1}.xshow__row[data-on] .xshow__name{transform:translate(12px)}.xshow__row[data-on] .xshow__bar{width:100%}.xshow__stage{background:var(--paper-warm);border-radius:.125rem;min-height:min(46vh,27.5rem);position:relative;overflow:hidden}.xshow__slide{opacity:0;will-change:opacity;margin:0;transition:opacity .9s;position:absolute;inset:0}.xshow__slide[data-on]{opacity:1}.xshow__slide img{object-fit:cover;width:100%;height:100%}.xshow__slide[data-on] img{animation:7s ease-out both xshow-kenburns}@keyframes xshow-kenburns{0%{transform:scale(1.005)}to{transform:scale(1.075)}}.xshow__veil{pointer-events:none;background:linear-gradient(#14110d00 50%,#14110dbd 100%);position:absolute;inset:0}.xshow__caption{color:var(--paper);padding:clamp(1.2rem,3.2vh,2.1rem) clamp(1.3rem,2.2vw,2.1rem);animation:.6s cubic-bezier(.22,1,.36,1) both xshow-cap;position:absolute;bottom:0;left:0;right:0}.xshow__kicker{color:var(--gold-soft);margin-bottom:.6rem;display:block}.xshow__caption p{color:#ffffffeb;max-width:52ch;font-size:clamp(.95rem,1.1vw,1.1rem);line-height:1.55}@keyframes xshow-cap{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.xshow{grid-template-columns:1fr;gap:1.2rem}.xshow__stage{order:-1;min-height:48vh}}@media (prefers-reduced-motion:reduce){.xshow__slide,.xshow__slide[data-on] img,.xshow__caption{transition:none;animation:none}}.villa-grid{--card-h:clamp(32.5rem, 66vh, 37.5rem);--panel-h:50%;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem);display:grid}@media (width<=1024px){.villa-grid{grid-template-columns:1fr 1fr}}@media (width<=680px){.villa-grid{grid-template-columns:1fr}}.villa-head{margin-bottom:1rem}.villa-head .no{font-family:var(--sans);letter-spacing:.28em;color:var(--gold);margin-bottom:.25rem;font-size:.6875rem;font-weight:500;display:block}.villa-head h3{font-family:var(--serif);color:var(--ink);font-size:clamp(1.5rem,2vw,1.875rem);font-weight:500;line-height:1.12}.villa-card{height:var(--card-h);perspective:1600px;cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;position:relative}.villa-card .photo{position:absolute;inset:0;overflow:hidden}.villa-card .photo img{object-fit:cover;width:100%;height:100%;transition:transform 1.1s cubic-bezier(.22,.8,.26,1)}.villa-card:hover .photo img,.villa-card.open .photo img{transform:scale(1.05)}.flap{height:var(--panel-h);transform-origin:bottom;opacity:0;backface-visibility:hidden;will-change:transform, opacity;transition:transform 1.15s cubic-bezier(.23,.88,.27,1),opacity .35s .45s;position:absolute;bottom:0;left:0;right:0;transform:rotateX(91deg)}.villa-card:hover .flap,.villa-card.open .flap{opacity:1;transition:transform 1.15s cubic-bezier(.23,.88,.27,1),opacity .2s;transform:rotateX(0)}.flap-inner{background:var(--paper);border-top:1px solid var(--line);flex-direction:column;height:100%;padding:1.375rem 1.625rem 1.25rem;transition:box-shadow 1.15s;display:flex;position:relative;box-shadow:0 0 #1c1a1600}.villa-card:hover .flap-inner,.villa-card.open .flap-inner{box-shadow:0 -14px 36px #1c1a1629}.flap-inner:after{content:"";opacity:1;pointer-events:none;background:linear-gradient(#1c1a1600 45%,#1c1a1633);transition:opacity .9s;position:absolute;inset:0}.villa-card:hover .flap-inner:after,.villa-card.open .flap-inner:after{opacity:0}.flap .meta{letter-spacing:.28em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin-bottom:.875rem;font-size:.6875rem;display:flex}.flap .meta .beds{color:var(--muted)}.flap .meta .no{font-family:var(--serif);text-transform:none;letter-spacing:.18em;color:var(--gold);font-size:.9375rem;font-style:italic}.flap p{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;flex-shrink:0;font-size:.9375rem;font-weight:300;line-height:1.7;display:-webkit-box;overflow:hidden}.flap .specs{color:var(--gold);margin-top:auto;margin-bottom:1.125rem;font-size:.90625rem;font-weight:300}.flap .specs span+span:before{content:"· ";margin:0 .25rem}.flap .enquire{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line);align-self:flex-start;padding-bottom:.5rem;font-size:.75rem;text-decoration:none;transition:border-color .3s,color .3s}.villa-card:hover .enquire{border-color:var(--gold);color:var(--gold)}.flap .meta,.flap p,.flap .specs,.flap .enquire{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(10px)}.villa-card:hover :is(.meta,p,.specs,.enquire),.villa-card.open :is(.meta,p,.specs,.enquire){opacity:1;transform:translateY(0)}.villa-card:hover .meta,.villa-card.open .meta{transition-delay:.3s}.villa-card:hover p,.villa-card.open p{transition-delay:.4s}.villa-card:hover .specs,.villa-card.open .specs{transition-delay:.55s}.villa-card:hover .enquire,.villa-card.open .enquire{transition-delay:.65s}@media (prefers-reduced-motion:reduce){.flap,.photo img,.flap *{transition:none!important}.flap{opacity:1;transform:rotateX(0)}}
