/* Cinematic revision: finished architecture, quiet type, generous touch targets. */
.cinematic-site .cv-monogram{height:48px;width:56px}
.cinematic-site .brand{min-height:44px}
.cinematic-site .property-card h3 a{display:inline-flex;align-items:center;min-height:44px}
.cinematic-site .hero-stage{background:#173a40}
.cinematic-site .flight-poster img{object-position:50% 50%}
.cinematic-site .film-shade{background:linear-gradient(90deg,rgba(3,24,29,.58),rgba(3,24,29,.04) 76%),linear-gradient(0deg,rgba(3,24,29,.7),transparent 28%,transparent 76%,rgba(3,24,29,.35))}
.cinematic-site .opening{align-items:center}
.cinematic-site .opening-copy{padding-top:35px}
.cinematic-site .opening h1{font-size:clamp(120px,15vw,220px);text-shadow:0 4px 35px #0c24272b}
.cinematic-site .discover-label{letter-spacing:2.3px;font-size:9px;line-height:1.8}
.cinematic-site .opening-actions{padding-top:220px;align-items:flex-start}
.cinematic-site .film-button{font-size:14px;min-height:52px;background:#1733326b;padding:14px 25px}
.cinematic-site .opening-copy>p{font-size:17px;line-height:1.55}
.cinematic-site .film-credit{font-size:9px;letter-spacing:1.3px}
.cinematic-site .film-chapters{font-size:9px;gap:26px}
.cinematic-site .film-skip{font-size:9px;letter-spacing:1.6px}
.cinematic-site .arrival-copy,.cinematic-site .interior-copy{padding-bottom:130px}
.cinematic-site .film-overlay>p{font-size:16px}
.cinematic-site .film-note{font-size:12px}
.cinematic-site .aerial>img{height:100%;object-position:50% 48%}
.cinematic-site .aerial-shade{background:linear-gradient(90deg,#072b25c9,transparent 90%)}
.cinematic-site .aerial-copy p{font-size:18px}
.cinematic-site .property-card h3{font-family:Cormorant,Georgia,serif;font-size:38px;line-height:1.08}
.cinematic-site .property-price>span:first-child{font-size:18px}
.cinematic-site .property-image{border-radius:2px}
.cinematic-site .property-card{scroll-snap-stop:normal}
.film-dialog{background:#101e1c;color:#f6f3eb;max-width:1200px;width:94vw;padding:18px}
.film-dialog video{display:block;width:100%;max-height:75svh;object-fit:contain;background:#101e1c}
.film-dialog p{font-size:13px;line-height:1.6;padding:0 12px}
.film-dialog .close{color:white}
@media(max-width:700px){
 html{scroll-padding-top:76px}
 .cinematic-site header{padding:0 20px;height:78px}
 .cinematic-site header .brand{font-size:10px;letter-spacing:1.3px;gap:11px}
 .cinematic-site .cv-monogram{width:41px;height:41px}
 .cinematic-site .header-cta{display:none}
 .cinematic-site .opening{padding:110px 24px 150px;justify-content:flex-end}
 .cinematic-site .opening-copy{padding-top:0}
 .cinematic-site .opening h1{font-size:clamp(96px,29vw,136px);line-height:1}
 .cinematic-site .opening-copy .eyebrow{font-size:8px;letter-spacing:1.25px}
 .cinematic-site .discover-label{font-size:8px;letter-spacing:1.3px;margin:20px 0 4px;max-width:285px}
 .cinematic-site .island-label{font-size:8px;margin:16px 0 22px;letter-spacing:1.6px}
 .cinematic-site .opening-copy>p{font-size:16px}
 .cinematic-site .opening-actions{padding-top:22px;gap:10px;flex-direction:row;align-items:flex-start}
 .cinematic-site .film-button{font-size:12px;gap:8px;padding:12px 18px;min-height:48px}
 .cinematic-site .film-bottom{left:24px;right:24px;bottom:22px;display:block}
 .cinematic-site .film-chapters{font-size:8px;letter-spacing:.6px;gap:18px;margin-bottom:8px}
 .cinematic-site .film-credit{font-size:7px;letter-spacing:.9px;bottom:85px;max-width:95%}
 .cinematic-site .film-skip{font-size:8px;letter-spacing:1.1px;min-height:44px;margin-left:0;width:max-content}
 .cinematic-site .film-progress{bottom:-22px}
 .cinematic-site .film-overlay h2{font-size:54px}
 .cinematic-site .arrival-copy,.cinematic-site .interior-copy{padding-bottom:160px}
 .cinematic-site .film-overlay>p{font-size:16px;line-height:1.55}
 .cinematic-site .film-note{font-size:12px;line-height:1.5;max-width:300px}
 .cinematic-site .film-shade{background:linear-gradient(0deg,#071e26e8,rgba(6,25,30,.33) 60%,rgba(6,25,30,.08) 78%,rgba(6,25,30,.45))}
 .cinematic-site .collection-heading{margin-top:36px}
 .cinematic-site .collection-heading>p,.cinematic-site .intro-grid p,.cinematic-site .personal-intro p,.cinematic-site .service-list details p,.cinematic-site .paths p,.cinematic-site .quest-note p{font-size:16px}
 .cinematic-site .property-card h3{font-size:34px}
 .cinematic-site .property-price>span:last-child{font-size:11px}
 .cinematic-site .collection-credit,.cinematic-site .fine{font-size:16px}
 .cinematic-site .aerial{height:88svh;min-height:680px}
 .cinematic-site .aerial-copy{top:auto;bottom:120px;left:24px}
 .cinematic-site .aerial h2{font-size:62px}
 .cinematic-site .aerial-copy p{font-size:16px}
 .cinematic-site .aerial-shade{background:linear-gradient(0deg,#102923ee,rgba(16,41,35,.05) 100%)}
 .cinematic-site .aerial>img{object-position:50% 45%}
 .cinematic-site .text-link,.cinematic-site .tour-footer a{min-height:44px}
 .cinematic-site footer{padding:30px 24px;gap:15px 22px}
 .film-dialog{padding:12px;width:calc(100vw - 24px)}
 .film-dialog video{max-height:70svh}
 .film-dialog .dialog-bar{font-size:9px;padding-left:3px}
}
@media(max-width:700px) and (max-height:720px){
 .cinematic-site .opening{padding-top:95px;padding-bottom:135px}
 .cinematic-site .opening h1{font-size:92px}
 .cinematic-site .discover-label{margin-top:12px}
 .cinematic-site .island-label{margin:10px 0 14px}
 .cinematic-site .opening-actions{padding-top:16px}
}
@media(prefers-reduced-motion:reduce){
 .cinematic-site .film-overlay{transform:none!important}
}

/* Phone overlays stay reachable when captions wrap or the keyboard opens. */
@media(max-width:700px){
 .cinematic-site dialog{
  max-height:min(94svh,calc(100dvh - 24px));
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
 }
 .cinematic-site .gallery-dialog .dialog-bar,
 .cinematic-site .film-dialog .dialog-bar{
  position:sticky;
  top:0;
  z-index:3;
  background:#111d1c;
 }
 .cinematic-site .film-dialog .dialog-bar{background:#101e1c}
 .cinematic-site .gallery-dialog>img{
  height:auto;
  aspect-ratio:16 / 10;
  max-height:62svh;
  object-fit:contain;
 }
 .cinematic-site .gallery-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px 16px;
  padding-top:12px;
 }
 .cinematic-site .gallery-bottom p{
  grid-column:1 / -1;
  grid-row:1;
  min-width:0;
  margin:0;
  text-align:center;
  overflow-wrap:anywhere;
  font-size:14px;
  line-height:1.5;
 }
 .cinematic-site .gallery-bottom button{
  grid-row:2;
  width:100%!important;
  min-height:48px;
  border-radius:24px;
 }
 .cinematic-site #mobile-nav:not([hidden]){
  top:78px;
  max-height:calc(100dvh - 78px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-bottom:max(25px,env(safe-area-inset-bottom));
 }
}
@media(hover:none){
 .cinematic-site .property-image:hover img{transform:none}
}

/* Show the actual residence before its price, with reserved mobile image space. */
.residence-feature{margin:36px 0 0;overflow:hidden}
.residence-feature img{width:100%;height:auto;display:block}
@media(min-width:701px){.residence-feature img{aspect-ratio:16/9;object-fit:cover}}
