/* v39: rotating Google reviews above the footer, and Zillow buttons on About. */
.tw-reviews { padding: 3rem 0 3.25rem; background: #14211b; color: #f4efe4; border-top: 1px solid rgba(228,200,124,.22); }
.tw-reviews .container { max-width: 52rem; }
.tw-rv-h { margin: 0 0 .35rem; text-align: center; font-size: clamp(1.4rem, 3vw, 1.9rem); }
.tw-rv-sub { margin: 0 auto 1.25rem; max-width: 36rem; text-align: center; color: #d4cfc4; font-size: .92rem; line-height: 1.5; }
.tw-rv-head { display: flex; justify-content: center; margin: 0 auto 1rem; max-width: 500px; }
.tw-rv-head gmp-place-details-compact { width: 100%; max-width: 500px; min-width: 0; }
.tw-rv-stage { position: relative; background: #fff; color: #202124; border-radius: 10px; border: 1px solid rgba(228,200,124,.35); padding: 1.4rem 1.4rem 1.1rem; min-height: 9rem; }
.tw-rv-stage:focus-visible { outline: 3px solid #e4c87c; outline-offset: 3px; }
.tw-rv-track { display: grid; }
.tw-rv-slide { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s linear .45s; min-width: 0; }
.tw-rv-slide.is-active { opacity: 1; visibility: visible; transition: opacity .45s ease; }
.tw-rv-text { margin: 0 0 1rem; font-size: 1rem; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; }
.tw-rv-tr { color: #5f6368; font-size: .8rem; }
.tw-rv-who { display: flex; align-items: center; gap: .7rem; font-family: Roboto, Arial, sans-serif; }
.tw-rv-photo { width: 40px; height: 40px; border-radius: 50%; flex: none; }
.tw-rv-meta { display: flex; flex-direction: column; min-width: 0; }
.tw-reviews .tw-rv-author, .tw-reviews a.tw-rv-author { color: #1a0dab; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.tw-reviews a.tw-rv-author:hover { text-decoration: underline; }
.tw-rv-line { display: flex; gap: .55rem; align-items: center; font-size: .85rem; color: #5f6368; }
.tw-rv-stars { color: #f9ab00; letter-spacing: .05em; }
.tw-rv-status:empty { display: none; }
.tw-rv-status { margin: 0; color: #5f6368; font-size: .95rem; }
.tw-rv-controls { display: none; justify-content: center; align-items: center; gap: .6rem; margin: 1rem 0 0; flex-wrap: wrap; }
.tw-rv-ready .tw-rv-controls { display: flex; }
.tw-rv-controls button { min-width: 44px; min-height: 44px; padding: .4rem .9rem; border-radius: 999px; border: 1px solid #e4c87c; background: transparent; color: #f4efe4; font: inherit; font-size: .9rem; cursor: pointer; }
.tw-rv-controls button:hover, .tw-rv-controls button:focus-visible { background: #e4c87c; color: #14211b; outline: none; }
.tw-rv-count { font-size: .85rem; color: #d4cfc4; min-width: 4.5rem; text-align: center; }
.tw-rv-gm { margin: .9rem 0 0; text-align: center; font-family: Roboto, Arial, sans-serif; font-size: .85rem; color: #d4cfc4; }
.tw-rv-all { margin: .5rem 0 0; text-align: center; }
.tw-rv-all a { color: #e4c87c; text-decoration: underline; text-underline-offset: .18em; }
.tw-rv-unavailable .tw-rv-stage { min-height: 0; }
@media (max-width: 600px) { .tw-reviews { padding: 2.25rem 0 2.5rem; } .tw-rv-stage { padding: 1.1rem 1rem .9rem; } .tw-rv-text { font-size: .95rem; } }
@media (prefers-reduced-motion: reduce) { .tw-rv-slide, .tw-rv-slide.is-active { transition: none; } }
.agent-zillow { margin: .7rem 0 0; }
.agent-zillow a.btn-zillow { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: .45rem 1rem; border-radius: 999px; background: #006aff; color: #fff; font-size: .8rem; font-weight: 600; letter-spacing: .02em; text-decoration: none; text-transform: none; }
.agent-zillow a.btn-zillow:hover, .agent-zillow a.btn-zillow:focus-visible { background: #0053c7; color: #fff; outline: 2px solid #e4c87c; outline-offset: 2px; }
