/* ==========================================================================
   Home page — front-page.php. Prefix: .hm-
   Tiles/cards reuse .mre-* from building-explorer.css.
   ========================================================================== */

.hm { overflow-x: clip; color: var(--bx-ink, #1d2433); }
.hm a { text-decoration: none; }
.hm-eyebrow { font-size: .74rem; font-weight: 900; letter-spacing: .24em; text-transform: uppercase; color: #e9cf7a; text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }

/* ---------------- slideshow (shortcode, untouched) + search band ---------------- */
.hm .jmc-hero-slideshow .btn-primary { background: var(--bx-gold, #d4af37); border-color: var(--bx-gold, #d4af37); color: #141414; font-weight: 900; border-radius: 999px; }
.hm-search-band { position: relative; background: linear-gradient(180deg, #0b1630, #12213f); color: #fff; padding: 2.4rem 0 2.2rem; }
.hm-h1 { font-size: clamp(1.7rem, 3.2vw, 2.6rem); margin: 0 0 1.2rem; color: #fff; }
.hm-h1 small { display: block; font-family: 'Lato', sans-serif; font-weight: 300; font-size: clamp(1rem, 1.6vw, 1.2rem); letter-spacing: .03em; margin-top: .4rem; color: rgba(255, 255, 255, .8); }
/* The [search-bar] shortcode, re-skinned as a floating card. */
.hm-search { max-width: 100%; }
.hm-search .jmc-search-wrap { background: rgba(255, 255, 255, .97); border-radius: 22px; padding: 1.1rem 1.2rem 1.2rem; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); margin: 0; max-width: none; }
.hm-search .jmc-sh { display: none; }
.hm-search .jmc-tabs { justify-content: flex-start; margin-bottom: .8rem; }
.hm-search .jmc-pill { margin-bottom: 0; }

.hm-trust { list-style: none; padding: 0; margin: 1.2rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem 2rem; font-size: .95rem; color: rgba(255, 255, 255, .85); }
.hm-trust b { color: #fff; font-weight: 900; }
.hm-trust .bi { color: #e9cf7a; }

/* ---------------- sections ---------------- */
.hm-cats { grid-template-columns: repeat(4, 1fr); }
.hm-listings { padding: 0 0 3rem; }
.hm-listings > .container-xxl > :first-child { margin-top: 0 !important; padding-top: 0 !important; }
.hm .mre-sec:has(+ .hm-listings) { padding-bottom: 2.5rem; }
.hm-block { padding: 4.5rem 0; }
.hm-reviews { background: var(--bx-bg, #f6f7fa); }

/* Existing shortcodes print their own H2s — hide the duplicates we replaced. */
.hm-videos .container-xxl > h2:not(.mre-h),
.hm-reviews .container-xxl > h2:not(.mre-h) { display: none; }

/* ---------------- market report band ---------------- */
.hm-report { padding: 1rem 0 4.5rem; }
.hm-report-in { border-radius: 24px; padding: 2.6rem; display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: center; color: #fff;
    background: radial-gradient(700px 300px at 90% 0%, rgba(212, 175, 55, .22), transparent 60%), linear-gradient(135deg, #0b1630, #1c3160); box-shadow: 0 30px 60px rgba(18, 33, 63, .25); }
.hm-report h2 { color: #fff; font-size: clamp(1.5rem, 2.6vw, 2.2rem); margin: .5rem 0; }
.hm-report p { color: rgba(255, 255, 255, .75); margin: 0; }
.hm-report-form { display: flex; gap: .6rem; background: #fff; border-radius: 999px; padding: .35rem; }
.hm-report-form .form-select { border: 0; border-radius: 999px; padding-left: 1.2rem; box-shadow: none; }
.hm-report-form button { border: 0; white-space: nowrap; background: var(--bx-gold, #d4af37); color: #141414; font-weight: 900; border-radius: 999px; padding: .75rem 1.4rem; }

@media (max-width: 991.98px) {
    .hm-cats { grid-template-columns: repeat(2, 1fr); }
    .hm-report-in { grid-template-columns: 1fr; padding: 1.6rem; }
    .hm-report-form { flex-direction: column; border-radius: 18px; }
    .hm-block { padding: 3.2rem 0; }
}

/* ---------------- founder ([jmc-broker-profile]) ---------------- */
.hm-people { padding: 4.5rem 0; }
.hm-team { margin-top: 3rem; }
.jmc-broker { display: grid; grid-template-columns: 300px 1fr; gap: 3rem; align-items: center; margin-top: 1.5rem; }
.jmc-broker-photo { position: relative; width: 300px; aspect-ratio: 4 / 5; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 60px rgba(18, 33, 63, .22); }
.jmc-broker-photo::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(212, 175, 55, .55); border-radius: 14px; z-index: 2; pointer-events: none; }
.jmc-broker-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.jmc-broker-badge { position: absolute; left: 1.5rem; bottom: 1.5rem; z-index: 3; background: #fff; color: #12213f; font-weight: 900; font-size: .8rem; border-radius: 999px; padding: .4rem .9rem; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }
.jmc-broker-badge .bi { color: #d4af37; }
.jmc-broker-eyebrow { font-size: .74rem; font-weight: 900; letter-spacing: .24em; text-transform: uppercase; color: #d4af37; }
.jmc-broker-body h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); margin: .4rem 0 .2rem; color: #12213f; }
.jmc-broker-role { color: #667085; margin-bottom: 1.4rem; }
.jmc-broker-quote { font-family: 'Trajan Pro', 'Cinzel', serif; font-size: clamp(1.25rem, 2vw, 1.7rem); color: #12213f; border-left: 3px solid #d4af37; padding-left: 1.1rem; margin: 0 0 1.4rem; }
.jmc-broker-body p { font-size: 1.05rem; line-height: 1.8; color: #3b4252; }
.jmc-broker-facts { display: flex; flex-wrap: wrap; gap: 0; margin: 1.6rem 0; border-top: 1px solid #e6e8ee; border-bottom: 1px solid #e6e8ee; }
.jmc-broker-facts > div { flex: 1 1 0; padding: 1rem 1.2rem; border-left: 1px solid #e6e8ee; }
.jmc-broker-facts > div:first-child { border-left: 0; padding-left: 0; }
.jmc-broker-facts dt { font-size: 1.7rem; font-weight: 900; color: #12213f; line-height: 1.1; }
.jmc-broker-facts dt .bi { color: #d4af37; font-size: .8em; }
.jmc-broker-facts dd { margin: .2rem 0 0; font-size: .82rem; color: #667085; text-transform: uppercase; letter-spacing: .1em; }
.jmc-broker-ctas { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.jmc-btn-gold { background: #d4af37; color: #141414; font-weight: 900; border-radius: 999px; padding: .85rem 1.5rem; display: inline-flex; gap: .5rem; align-items: center; }
.jmc-btn-gold:hover { color: #141414; transform: translateY(-2px); box-shadow: 0 10px 25px rgba(212, 175, 55, .35); }
.jmc-btn-line { color: #12213f; font-weight: 900; display: inline-flex; gap: .4rem; align-items: center; padding: .85rem .6rem; }
@media (max-width: 991.98px) {
    .jmc-broker { grid-template-columns: 1fr; gap: 1.6rem; }
    .jmc-broker-photo { width: 240px; }
    .jmc-broker-facts > div { padding: .8rem .6rem; }
    .jmc-broker-facts dt { font-size: 1.3rem; }
}
/* founder spotlight: designations (SRS, ABR) - the whole cell is the link */
.jmc-broker-accr { position: relative; transition: background .15s; }
.jmc-broker-accr dt a { color: inherit; text-decoration: none; }
.jmc-broker-accr dt a::after { content: ""; position: absolute; inset: 0; }
.jmc-broker-accr dt sup { font-size: .45em; top: -1em; }
.jmc-broker-accr dd { line-height: 1.35; }
.jmc-broker-accr:hover { background: #faf6e6; }
.jmc-broker-accr:hover dt a { color: #9a7b14; }
.jmc-broker-accr:hover dd { color: #12213f; text-decoration: underline; }
.jmc-broker-accr dt a:focus-visible { outline: none; }
.jmc-broker-accr:focus-within { outline: 3px solid #d4af37; outline-offset: -3px; }
@media (max-width: 575.98px) {
    .jmc-broker-facts > div { flex: 1 1 50%; border-left: 0; padding-left: 0; }
    .jmc-broker-facts > div:nth-child(n+3) { border-top: 1px solid #e6e8ee; }
}
