/* Small-screen table safety only (headings must never break mid-word) */
@media (max-width: 600px) {.hero-content {min-width:0;max-width:100%}table {max-width:100%;table-layout:fixed}th,td {overflow-wrap:anywhere}}
/* Mobile typography + agent card fixes (old-syntax media query for older WebKit) */
@media screen and (max-width: 620px) {
  h1,h2,h3 {overflow-wrap:normal;word-break:keep-all}
  .page-hero h1,.contact-page h1,.east-side-hero h1 {font-size:clamp(1.8rem,8.6vw,2.6rem)!important;line-height:1.02!important}
  .hero h1 {font-size:clamp(2rem,9vw,3rem)!important}
  .story-grid h2,.service-intro h2,.page-cta h2,.markets h2,.east-side-paths h2,.proof h2,.pathway h2,.contact h2 {font-size:clamp(1.5rem,7vw,2.2rem)!important}
  .agent-grid article {grid-template-columns:1fr}
  .agent-grid img {height:auto!important;aspect-ratio:4/5;min-height:0!important;max-height:none!important}
}
@media screen and (max-width: 420px) {h1 {font-size:clamp(30px,8.2vw,34px)!important;line-height:1.04!important} h2 {font-size:clamp(28px,7.7vw,32px)!important;line-height:1.08!important}h1,h2,h3 {word-break:normal;overflow-wrap:normal}h1 em,h2 em {white-space:normal!important}}
/* Contact page cleanup */
.contact-brokerage {margin-top:1.5rem;color:#555;line-height:1.75}
.contact-card .contact-phone {display:block;text-decoration:none;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.18)}
.contact-card .contact-phone span {display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;opacity:.65;margin-bottom:.25rem}
@media screen and (max-width: 620px) {.contact-page h1 {font-size:clamp(2rem,9.5vw,2.75rem)!important}}

/* FAQ page accordion (draft) */
.faq-list h1 {margin-bottom:.5rem}
.faq-group {margin:2.5rem 0 0}
.faq-group h2 {font-size:1.05rem;text-transform:uppercase;letter-spacing:.12em;color:#666;margin:0 0 .75rem;padding-top:1.75rem;border-top:1px solid #d9d9d9}
.faq-list .faq-group:first-of-type h2 {border-top:0;padding-top:0}
.faq-group details {border-bottom:1px solid #e2e2e2;margin:0}
.faq-group summary {list-style:none;cursor:pointer;padding:1.05rem 2.25rem 1.05rem 0;font-weight:600;font-size:1.05rem;line-height:1.35;position:relative;color:#111}
.faq-group summary::-webkit-details-marker {display:none}
.faq-group summary::after {content:"+";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:1.35rem;font-weight:400;color:#888;transition:transform .18s ease}
.faq-group details[open] summary::after {transform:translateY(-50%) rotate(45deg)}
.faq-group details[open] summary {color:#000}
.faq-group details p {margin:0 0 1rem;max-width:640px;line-height:1.65;color:#444;padding-right:2.25rem}
.faq-group .answer-source {display:inline-block;font-size:.85rem;font-weight:600;color:#555;text-decoration:underline;text-underline-offset:.2em;margin:0 1rem 1.1rem 0}
.faq-group .answer-source:hover {color:#000}
@media screen and (max-width: 620px) {
  .faq-group summary {font-size:1rem;padding:.95rem 2rem .95rem 0}
  .faq-group h2 {font-size:.95rem}
}

/* FAQ page container (production parity with preview; .faq-list is /faq/ only) */
.faq-list{max-width:980px;margin:0 auto;padding:70px 28px 90px;color:#171717;background:#f7f6f2;line-height:1.7}
.faq-list h1{font:500 clamp(32px,5vw,55px)/1.1 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 12px}
.faq-list>section>p,.faq-list>p{margin:12px 0}
.faq-list .related-guides h2{font:500 28px/1.25 Arial,sans-serif;margin:42px 0 18px}
.faq-list .related-guides ul{margin:0;padding-left:1.25rem;line-height:2}
@media screen and (max-width: 620px) {.faq-list{padding:44px 20px 60px}}

/* Blog post sources line */
.blog-sources{font-size:.8125rem;line-height:1.6;color:#5b5b57;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(0,0,0,.08)}
