/* Own property film and editorial photography. */
.ml-own-film video{object-position:center center}.ml-own-film .video-pause{width:36px;height:36px;display:grid;place-items:center;border:1px solid #F5F1E866;border-radius:50%;font:400 15px Arial;color:#F5F1E8;opacity:.85}
.ml-photo-feature{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:6vw;padding-block:90px;align-items:center}
.ml-residence-photograph{margin:0;position:relative;min-width:0;aspect-ratio:4/5;overflow:hidden;background:#DDD4C0}
.ml-residence-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none;user-select:none;animation:ml-residence-first 16s ease-in-out infinite}
.ml-residence-second{opacity:0;animation-name:ml-residence-second}
@keyframes ml-residence-first{0%,42%,100%{opacity:1;transform:scale(1.025)}50%,92%{opacity:0;transform:scale(1.065)}}
@keyframes ml-residence-second{0%,42%,100%{opacity:0;transform:scale(1.065)}50%,92%{opacity:1;transform:scale(1.025)}}
@media(min-width:1200px){.ml-residence-photograph{aspect-ratio:1/1;max-height:700px}}
@media(max-width:640px){.ml-own-film{height:100svh;min-height:580px}.ml-own-film .video-pause{left:22px;bottom:24px}.ml-photo-feature{display:flex;flex-direction:column;gap:32px;padding:54px 6vw;align-items:stretch}.ml-residence-photograph{width:100%;aspect-ratio:4/5;margin:0}.ml-residence-image{object-position:52% 50%}.ml-photo-feature .button{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.ml-residence-image{animation:none;transform:none}.ml-residence-first{opacity:1}.ml-residence-second{display:none}}

/* A light cinematic tint, without flattening the footage. */
.ml-own-film .hero-shade{background:linear-gradient(180deg,rgba(18,22,15,.20),rgba(18,22,15,.14) 48%,rgba(18,22,15,.22));pointer-events:none}
/* 1.5x image cadence, with touch and keyboard controls. */
.ml-residence-photograph{touch-action:pan-y pinch-zoom}
.ml-residence-image{animation:none;opacity:0;transform:scale(1.035);transition:opacity .67s ease,transform 5.33s ease;display:block}
.ml-residence-image.is-active{opacity:1;transform:scale(1)}
.ml-photo-controls{position:absolute;z-index:3;right:20px;bottom:20px;display:flex;align-items:center;gap:9px}
.ml-photo-controls button{display:grid;place-items:center;width:44px;height:44px;padding:12px;border-radius:50%;background:rgba(238,232,218,.94);border:1px solid rgba(53,56,32,.18);color:#353820;transition:background .2s,transform .2s}
.ml-photo-controls button:hover{background:#EEE8DA;transform:translateY(-2px)}.ml-photo-controls svg{width:20px;height:20px}
.ml-photo-count{padding:8px 10px;background:rgba(238,232,218,.94);font:500 10px var(--body);letter-spacing:.08em;color:#353820;margin-right:4px}
.ml-phone-slide .ml-phone-price{font-size:10px;line-height:1.5}.ml-phone-slide strong{font-size:23px;line-height:1.08}.ml-phone-slide img{object-position:50% 50%}.ml-phone-slide:first-child img{object-position:50% 38%}
@media(max-width:640px){.ml-photo-controls{right:14px;bottom:14px}.ml-photo-controls button{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.ml-residence-image{animation:none;transition:none;transform:none;display:block}.ml-residence-image:not(.is-active){opacity:0}.ml-residence-image.is-active{opacity:1}}

/* Keep the outgoing phone image visible while the next image fades in. */
.ml-phone-slide{visibility:visible!important;transition:opacity .6s ease;pointer-events:none}.ml-phone-slide.active{pointer-events:auto;z-index:1}
