/* Keep photo positioning independent of captions and give mobile copy its own space. */
.property-card-magazine .property-photo-note {
  position:absolute; top:58px; bottom:auto; left:24px;
  max-width:calc(100% - 48px); padding:5px 9px;
  background:rgba(20,28,25,.88)!important; color:#fff;
  font-size:11px; line-height:1.6; overflow-wrap:anywhere;
}
.property-card-magazine .property-info { min-width:0; }
.property-card-magazine .property-info strong { white-space:nowrap; }
@media (max-width:800px) {
  /* Match the hero to the visible viewport and the actual fixed menu height. */
  body[data-page="home"] { --mobile-consult-height:calc(56px + env(safe-area-inset-bottom, 0px)); }
  body[data-page="home"] .mobile-consult>a {
    display:flex; align-items:center; justify-content:center;
    box-sizing:border-box; height:56px; padding:0 5px;
  }
  body[data-page="home"] .home-hero {
    height:calc(100svh - var(--mobile-consult-height));
    height:calc(100dvh - var(--mobile-consult-height));
    min-height:580px; max-height:none; margin-bottom:0;
  }
  .property-grid { gap:28px; }
  .property-card-magazine>a {
    display:block; aspect-ratio:auto; min-height:0; height:auto;
    background:#20312b; color:#fff;
  }
  .property-card-magazine>a::before { display:none; }
  .property-card-magazine .card-photo {
    position:relative; inset:auto; z-index:auto;
    width:100%; height:auto; aspect-ratio:4/3;
  }
  .property-card-magazine .card-photo img {
    display:block; width:100%; height:100%; object-fit:cover; object-position:center;
  }
  .property-card-magazine .property-photo-note {
    top:auto; bottom:10px; left:12px; max-width:calc(100% - 24px);
  }
  .property-card-magazine .property-meta {
    position:static; inset:auto; margin:0; padding:20px 22px 0;
    display:flex; align-items:center; justify-content:space-between; gap:12px;
  }
  .property-card-magazine .property-kind,
  .property-card-magazine .property-location { text-shadow:none; }
  .property-card-magazine .property-kind { font-size:12px; }
  .property-card-magazine .property-location { font-size:10px; flex-shrink:0; }
  .property-card-magazine .property-info { width:100%; padding:12px 22px 22px; }
  .property-card-magazine .property-info h3 {
    font-size:20px; line-height:1.6; letter-spacing:.025em;
    margin:0 0 10px; overflow-wrap:anywhere;
  }
  .property-card-magazine .property-info>p:not(.meta) {
    font-size:13px; line-height:1.85; margin:0; color:#f2f5f3;
    overflow-wrap:anywhere;
  }
  .property-card-magazine .property-info strong {
    display:flex; align-items:baseline; gap:8px;
    font-size:32px; line-height:1.3; margin-top:16px;
  }
  .property-card-magazine .property-info strong small { font-size:13px; margin:0; }
  .property-card-magazine .card-link {
    margin-top:16px; padding-top:14px; font-size:13px; line-height:1.6;
  }
}
