/* October 2026 media refresh: retain the established identity and improve the story. */
.slow-grid{align-items:center}
.slow-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.slow-copy .day-tabs{gap:20px}
.villa-film{background:#eae7dc}
.film-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:10%;align-items:center;max-width:1110px}
.film-frame{position:relative;background:#26382e;aspect-ratio:9/16;max-height:720px;overflow:hidden}
.film-frame video{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:9/16}
.film-frame video[hidden],.film-frame .film-poster[hidden]{display:none}
.film-frame .film-poster{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.analytics-consent p{line-height:1.6}
.scene-choices button{white-space:nowrap}
@media(max-width:480px){.hero-bottom{gap:18px}.scroll-note{max-width:130px;text-align:right}.analytics-consent{padding:16px!important}.analytics-consent strong{font-size:16px}}
.film-play{position:absolute;inset:0;width:100%;border:0;padding:30px;background:linear-gradient(transparent 45%,#0b1d16c9);color:white;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:16px;letter-spacing:.13em;text-transform:uppercase;font-size:14px}
.film-play[hidden]{display:none}
.film-play-circle{width:68px;height:68px;border:1px solid #ffffffbd;border-radius:50%;display:grid;place-items:center;font-size:20px;padding-left:4px;background:#18241e2b;backdrop-filter:blur(3px)}
.film-play small{display:block;font-size:13px;letter-spacing:.08em;margin-top:4px;text-transform:none;opacity:.85}
.film-copy h2{margin:23px 0 27px;font-size:clamp(48px,5.2vw,76px)}
.film-copy>p:not(.eyebrow){color:var(--muted);max-width:430px}
.film-copy .text-link{margin-top:27px;font-size:14px;letter-spacing:.1em;gap:16px}
.film-detail{margin:40px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,.7fr);gap:23px;align-items:end;max-width:430px}
.film-detail img{aspect-ratio:4/3;object-fit:cover;width:100%;object-position:50% 55%}
.film-detail figcaption{font-size:14px;line-height:1.7;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:12px}
.film-error{position:absolute;inset:auto 0 0;background:var(--paper);padding:15px;font-size:14px}
.film-error[hidden]{display:none}
.instagram-photo img[src*="life-reading"]{object-position:68% 50%}
.instagram-photo img[src*="pool-from-above"]{object-position:50% 63%}
.gallery-tease img[src*="artful-arrival"]{object-position:68% 50%}
@media(max-width:800px){
 .film-grid{gap:7%;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .film-copy h2{font-size:52px}
 .film-detail{display:none}
 .film-copy .text-link{font-size:14px}
 .slow-image img{aspect-ratio:3/2}
}
@media(max-width:560px){
 .film-grid{display:flex;flex-direction:column-reverse;gap:32px}
 .film-copy{width:100%}
 .film-copy h2{font-size:55px}
 .film-frame{width:min(100%,360px);max-height:640px}
 .film-copy>p{max-width:100%}
 .film-copy>p+p{margin-top:15px}
 .slow-copy .day-tabs{gap:12px}
 .gallery-filters{position:relative;top:auto}
}
@media(min-width:801px) and (max-width:960px){
 .main-nav{display:none}
 .menu-toggle{display:block}
 .header-end .icon-link{display:none}
 .mobile-menu{display:flex;position:fixed;inset:0;z-index:100;background:var(--paper);color:var(--ink);padding:22px 6%;flex-direction:column;visibility:hidden;opacity:0}
 .mobile-menu.is-open{visibility:visible;opacity:1}
 .mobile-menu-top{display:flex;justify-content:space-between;align-items:center}
 .mobile-menu-top img{filter:brightness(0);width:135px;height:75px;object-fit:contain}
 .mobile-close{background:none;border:1px solid #a8b09a;border-radius:50%;font-size:25px;width:44px;height:44px}
 .mobile-menu nav{display:flex;flex:1;min-height:0;overflow-y:auto;flex-direction:column;gap:5px;margin:15px 0}
 .mobile-menu nav a{font-family:var(--serif);font-size:30px;line-height:1.35;flex-shrink:0}
 .mobile-meta{font-size:14px;padding-bottom:10px}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:960px){.hero-caption{display:none}.site-header{height:92px}.brand img{height:72px}}

/* Calm, always-visible content and a deliberate phone hero crop. */
.js .reveal{opacity:1;transform:none;transition:none}
@media(max-width:560px){.hero-photo img{object-position:80% 55%}}
