html { scrollbar-gutter:stable; }
main > section[id] { scroll-margin-top:92px; }
main > section[tabindex="-1"]:focus { outline:none; }
.modal-panel,.filter-dialog { transform-origin:center; }
.detail-hero img { -webkit-user-drag:none; user-select:none; }
.gallery-message { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); max-width:85%; padding:10px 16px; border-radius:6px; background:#171511d9; color:#fff; font-size:12px; text-align:center; pointer-events:none; z-index:3; }
.gallery-message[hidden] { display:none; }
.listing-card:hover,.listing-card:focus-visible,.listing-card:focus-within { transform:none; }
.listing-card:hover .listing-media img,.editorial-property:hover img { transform:none; }
.button:hover,.footer-actions a:hover { transform:none; }
.sticky-contact { transition:opacity 160ms ease,transform 160ms ease,visibility 160ms; }
body.browsing-listings .sticky-contact { display:flex; flex-direction:column; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(6px); }
#faq details[data-expanded="false"] .faq-toggle { background:#f6f2ea; border-color:#e4dccd; color:var(--accent-dark); }
#faq details[data-expanded="false"] .faq-toggle::after { transform:rotate(90deg); }
@media(hover:hover) and (pointer:fine) {
    .listing-card:hover { transform:translateY(-3px); }
    .listing-card:hover .listing-media img { transform:scale(1.025); }
    .editorial-property:hover img { transform:scale(1.025); }
    .button:hover,.footer-actions a:hover { transform:translateY(-1px); }
}
@media(max-width:840px) {
    main > section[id] { scroll-margin-top:84px; }
    .site-nav { overscroll-behavior:contain; }
    .menu-button[aria-expanded="false"] span:nth-child(1) { transform:translateY(-7px); }
    .menu-button[aria-expanded="false"] span:nth-child(2) { opacity:1; }
    .menu-button[aria-expanded="false"] span:nth-child(3) { transform:translateY(7px); }
}
@media(max-width:620px) {
    body.browsing-listings .sticky-contact { flex-direction:row; }
}
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .listing-card:hover,.button:hover,.footer-actions a:hover,.listing-card:hover .listing-media img,.editorial-property:hover img { transform:none; }
    .sticky-contact { transition:none; }
}
