/* Main real estate homepage polish, 2026-11-09. Additive; existing listing data and forms are unchanged. */
#contact .info dd { min-width:0 }
#contact a[href^="mailto:"] { overflow-wrap:anywhere; word-break:normal }
.jr-contact-actions { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 }
.jr-contact-actions a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border:1px solid currentColor; font-size:12px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none }
.jr-featured { background:#0b0a09; color:#f7f1e6; padding:56px 0 32px; border-top:1px solid #4c3c1e }
.jr-featured h3 { font-family:var(--serif,Georgia,serif); font-size:clamp(28px,3vw,40px); font-weight:400; margin:0 0 24px }
.jr-featured .mx-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px }
.jr-featured .mx-card { min-width:0 }
.jr-featured .mx-ph { aspect-ratio:4/3; overflow:hidden }
.jr-featured .mx-ph img { width:100%; height:100%; object-fit:cover }
.jr-featured .jr-featured-more { display:inline-block; margin-top:24px; color:#e2be6a; padding:12px 0; text-underline-offset:6px }
.jr-disclosure { position:relative; z-index:3; margin:26px auto; width:min(100% - 40px,1240px) }
.jr-disclosure > summary { list-style:none; cursor:pointer; min-height:48px; padding:16px 20px; border:1px solid #a8875a; font-size:12px; letter-spacing:.1em; text-transform:uppercase; text-align:center }
.jr-disclosure > summary::-webkit-details-marker { display:none }
.jr-disclosure > summary::after { content:' +'; margin-left:12px }
.jr-disclosure[open] > summary::after { content:' −' }
.jr-disclosure > summary:focus-visible { outline:2px solid #c9a24a; outline-offset:4px }
#jrTownDetails { width:100%; margin-top:24px }
#jrTownDetails > summary { margin-bottom:28px }
#jrReviewDetails { width:100%; margin-bottom:0 }
#jrReviewDetails > summary { max-width:500px; margin:0 auto 26px; color:#e9cf8c }
#jrReviewDetails .rv-bar { width:min(100% - 40px,1240px); margin-inline:auto }
#reviews { padding-bottom:70px }
#ai-studio { padding-top:60px; padding-bottom:48px }
body.menu-open elevenlabs-convai { visibility:hidden; pointer-events:none }
@media(max-width:700px) {
 .jr-featured { padding-top:38px }
 .jr-featured .mx-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:14px; gap:16px }
 .jr-featured .mx-card { flex:0 0 86%; scroll-snap-align:start }
 #contact a[href^="mailto:"] { font-size:clamp(17px,5vw,22px) }
 #contact,footer { padding-bottom:100px }
 .hero3-ctas { flex-wrap:wrap }
 .hero3-ctas .jr-text-link { min-height:44px; text-align:center }
 .jr-contact-actions a { flex:1 }
 #reviews { padding-bottom:48px }
 #ai-studio { padding-top:42px; padding-bottom:36px }
 html { scroll-padding-bottom:90px }
}
.jr-assistant-launcher { display:none }
@media(max-width:700px) {
 body:not(.jr-assistant-open) elevenlabs-convai { visibility:hidden; pointer-events:none }
 .jr-assistant-launcher { display:grid; place-items:center; position:fixed; z-index:999999; bottom:calc(20px + env(safe-area-inset-bottom,0px)); right:20px; width:56px; height:56px; border-radius:50%; border:1px solid #dbc17b; color:#e9cf8c; background:#17120c; box-shadow:0 4px 20px #0005; font:22px Georgia,serif; cursor:pointer }
 .jr-assistant-open .jr-assistant-launcher { bottom:calc(100px + env(safe-area-inset-bottom,0px)); width:36px; height:36px; font:24px Arial,sans-serif }
 body.menu-open .jr-assistant-launcher { display:none }
 .jr-assistant-launcher:focus-visible { outline:3px solid #c9a24a; outline-offset:3px }
}
